Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter: ioBroker.unifi

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Adapter: ioBroker.unifi

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
unifi
1.0k Beiträge 172 Kommentatoren 393.9k Aufrufe 93 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • thewhoboxT thewhobox

    @liv-in-sky sagte in Adapter: ioBroker.unifi:

    login: got response: {"statusCode":200,"body":"{\

    Könntest du davon mir die komplette Zeile schicken?

    Also momentan funktioniert das speichern des Cookies nicht, deswegen geht getStatus und setWifi nicht.

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #379

    @thewhobox
    würd gern was sinnvolles beitragen, deshalb noch ein amateur versuch etwas beizusteuern

    hab mal die antworten des bash scriptes und deines scriptes verglichen - schaut irgendwie anders aus

    Image 16.png

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    thewhoboxT 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @thewhobox
      würd gern was sinnvolles beitragen, deshalb noch ein amateur versuch etwas beizusteuern

      hab mal die antworten des bash scriptes und deines scriptes verglichen - schaut irgendwie anders aus

      Image 16.png

      thewhoboxT Offline
      thewhoboxT Offline
      thewhobox
      schrieb am zuletzt editiert von
      #380

      @liv-in-sky ja das macht jede Bibliothek beim empfangen der Daten anders.

      Meine Adapter: emby | discovery
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • thewhoboxT Offline
        thewhoboxT Offline
        thewhobox
        schrieb am zuletzt editiert von
        #381

        Guten Morgen,

        hier nochmal das ganze Skript:

        const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
        const unifi_username = "user";
        const unifi_password = "pass";
        const unifi_controller = "https://192.168.x.xx:xxxx";
        const wifi_id = "dsa4fsda6g46fdsg984";
        let cookies = [];
        let loggedIn = false;
        
        async function login() {
           return new Promise(async (resolve, reject) => {
               let resp = await request.post({
                   resolveWithFullResponse: true,
                   url: unifi_controller + "/api/login",
                   body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                   headers: { 'Content-Type': 'application/json' }
               }).catch((e) => { console.log("login: reject"), reject(e) });
               console.log("login: got response: " + JSON.stringify(resp))
               if(resp != null) {
                   console.log("login: Login war erfolgreich!");
                   if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                       let set_cookies = resp.headers["set-cookie"];
                       console.log("set_cookies: ", typeof set_cookies);
                       console.log("set_cookies: ", set_cookies);
                       for(i = 0; i < set_cookies.length; i++) {
                           let cookie = set_cookies[i];
                           cookie = cookie.split(";")[0];
                           cookies.push(cookie);
                       }
                       console.log("login: Cookies: " + JSON.stringify(cookies));
                   } else {
                       console.log("login: no cookies to set!")
                   }
                   loggedIn = true;
                   console.log("login: resolved")
                   resolve();
               } else {
                   console.log("login: rejected")
                   reject("resp = null");
               }
           });
        }
        
        async function getStatus() {
           return new Promise(async (resolve, reject) => {
               if(!loggedIn) await login().catch((e) => reject(e));
               let resp = await request.get({
                   url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                   headers: { Cookie: cookies.join("; ") }
               }).catch((e) => reject(e));
           
               if(resp != null && resp.statusCode == 200) {
                   console.log("Status erfolgreich geholt!");
                   console.log(resp);
                   let status = JSON.parse(resp);
                   let wlanOn = status.data[0].enabled;
                   console.log("WLAN ist: " + (wlanOn ? "an" : "aus"));
                   resolve(wlanOn);
               } else {
                   reject(JSON.parse(resp.body).meta.msg);
               }
           });
        }
        
        async function logout() {
           return new Promise(async (resolve, reject) => {
               let resp = await request.get({
                   url: unifi_controller + "/logout",
                   headers: { Cookie: cookies.join("; ") }
               }).catch((e) => reject(e));
               if(resp != null) {
                   console.log("Du bist nun ausgeloggt.");
                   console.log(resp);
                   resolve();
               } else {
                   reject("resp = null");
               }
           });
        }
        
        async function setWifi(enabled) {
           return new Promise(async (resolve, reject) => {
               console.log("setWifi: start set wifi");
               if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
               console.log("setWifi: now setting wifi");
               let resp = request.post({
                   url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                   body: JSON.stringify({ _id: "", enabled }),
                   headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
               }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
               console.log("setWifi: got response")
               if(resp != null && resp.statusCode == 200) {
                   console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                   console.log(resp);
                   resolve();
               } else {
                   console.log("setWifi: rejetced")
                   console.log("resp: " + JSON.stringify(resp));
                   reject("msg: " + JSON.parse(resp.body).meta.msg);
               }
           });
        }
        
        async function test() {
           console.log("starting test");
           await setWifi(true).catch((e) => console.log("reject1: " + e));
           console.log("getting status");
           let wlan = await getStatus().catch((e) => console.log("reject2: " + e));
           console.log("fin")
           console.log(wlan);
        }
        
        test()
        

        Meine Adapter: emby | discovery
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • thewhoboxT thewhobox

          Guten Morgen,

          hier nochmal das ganze Skript:

          const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
          const unifi_username = "user";
          const unifi_password = "pass";
          const unifi_controller = "https://192.168.x.xx:xxxx";
          const wifi_id = "dsa4fsda6g46fdsg984";
          let cookies = [];
          let loggedIn = false;
          
          async function login() {
             return new Promise(async (resolve, reject) => {
                 let resp = await request.post({
                     resolveWithFullResponse: true,
                     url: unifi_controller + "/api/login",
                     body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                     headers: { 'Content-Type': 'application/json' }
                 }).catch((e) => { console.log("login: reject"), reject(e) });
                 console.log("login: got response: " + JSON.stringify(resp))
                 if(resp != null) {
                     console.log("login: Login war erfolgreich!");
                     if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                         let set_cookies = resp.headers["set-cookie"];
                         console.log("set_cookies: ", typeof set_cookies);
                         console.log("set_cookies: ", set_cookies);
                         for(i = 0; i < set_cookies.length; i++) {
                             let cookie = set_cookies[i];
                             cookie = cookie.split(";")[0];
                             cookies.push(cookie);
                         }
                         console.log("login: Cookies: " + JSON.stringify(cookies));
                     } else {
                         console.log("login: no cookies to set!")
                     }
                     loggedIn = true;
                     console.log("login: resolved")
                     resolve();
                 } else {
                     console.log("login: rejected")
                     reject("resp = null");
                 }
             });
          }
          
          async function getStatus() {
             return new Promise(async (resolve, reject) => {
                 if(!loggedIn) await login().catch((e) => reject(e));
                 let resp = await request.get({
                     url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                     headers: { Cookie: cookies.join("; ") }
                 }).catch((e) => reject(e));
             
                 if(resp != null && resp.statusCode == 200) {
                     console.log("Status erfolgreich geholt!");
                     console.log(resp);
                     let status = JSON.parse(resp);
                     let wlanOn = status.data[0].enabled;
                     console.log("WLAN ist: " + (wlanOn ? "an" : "aus"));
                     resolve(wlanOn);
                 } else {
                     reject(JSON.parse(resp.body).meta.msg);
                 }
             });
          }
          
          async function logout() {
             return new Promise(async (resolve, reject) => {
                 let resp = await request.get({
                     url: unifi_controller + "/logout",
                     headers: { Cookie: cookies.join("; ") }
                 }).catch((e) => reject(e));
                 if(resp != null) {
                     console.log("Du bist nun ausgeloggt.");
                     console.log(resp);
                     resolve();
                 } else {
                     reject("resp = null");
                 }
             });
          }
          
          async function setWifi(enabled) {
             return new Promise(async (resolve, reject) => {
                 console.log("setWifi: start set wifi");
                 if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
                 console.log("setWifi: now setting wifi");
                 let resp = request.post({
                     url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                     body: JSON.stringify({ _id: "", enabled }),
                     headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                 }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
                 console.log("setWifi: got response")
                 if(resp != null && resp.statusCode == 200) {
                     console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                     console.log(resp);
                     resolve();
                 } else {
                     console.log("setWifi: rejetced")
                     console.log("resp: " + JSON.stringify(resp));
                     reject("msg: " + JSON.parse(resp.body).meta.msg);
                 }
             });
          }
          
          async function test() {
             console.log("starting test");
             await setWifi(true).catch((e) => console.log("reject1: " + e));
             console.log("getting status");
             let wlan = await getStatus().catch((e) => console.log("reject2: " + e));
             console.log("fin")
             console.log(wlan);
          }
          
          test()
          

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #382

          @thewhobox auch einen guten morgen

          und hier das log:

          
          09:21:26.481	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
          09:21:34.242	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
          09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
          09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
          09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
          09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
          09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true","access-control-expose-headers":"Access-Control-Allow-Origin,Access-Control-Allow-Credentials","set-cookie":["unifises=rUTs0tMWpm4QcxFH1cvV5VuWIYCV4UhY; Path=/; Secure; HttpOnly","csrf_token=lE7GdlIBf0bhQS4qJcaowM1F4iGmc2lk; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Wed, 28 Aug 2019 07:21:34 GMT","connection":"close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"192.168.178.157:8443","port":"8443","hostname":"192.168.178.157","hash":null,"search":null,"query":null,"pathname":"/api/login","path":"/api/login","href":"https://192.168.178.157:8443/api/login"},"method":"POST","headers":{"Content-Type":"application/json","content-length":40}}}
          09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
          09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
          09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
          09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=rUTs0tMWpm4QcxFH1cvV5VuWIYCV4UhY","csrf_token=lE7GdlIBf0bhQS4qJcaowM1F4iGmc2lk"]
          09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
          09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
          09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
          09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
          09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
          09:21:34.549	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
          09:21:34.549	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
          09:21:34.549	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
          

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          thewhoboxT 1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @thewhobox auch einen guten morgen

            und hier das log:

            
            09:21:26.481	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            09:21:34.242	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
            09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
            09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
            09:21:34.242	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
            09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true","access-control-expose-headers":"Access-Control-Allow-Origin,Access-Control-Allow-Credentials","set-cookie":["unifises=rUTs0tMWpm4QcxFH1cvV5VuWIYCV4UhY; Path=/; Secure; HttpOnly","csrf_token=lE7GdlIBf0bhQS4qJcaowM1F4iGmc2lk; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Wed, 28 Aug 2019 07:21:34 GMT","connection":"close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"192.168.178.157:8443","port":"8443","hostname":"192.168.178.157","hash":null,"search":null,"query":null,"pathname":"/api/login","path":"/api/login","href":"https://192.168.178.157:8443/api/login"},"method":"POST","headers":{"Content-Type":"application/json","content-length":40}}}
            09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
            09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
            09:21:34.536	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
            09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=rUTs0tMWpm4QcxFH1cvV5VuWIYCV4UhY","csrf_token=lE7GdlIBf0bhQS4qJcaowM1F4iGmc2lk"]
            09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
            09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
            09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
            09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
            09:21:34.537	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
            09:21:34.549	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
            09:21:34.549	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
            09:21:34.549	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
            

            thewhoboxT Offline
            thewhoboxT Offline
            thewhobox
            schrieb am zuletzt editiert von
            #383

            @liv-in-sky sagte in Adapter: ioBroker.unifi:

            api.err.IdInvalid

            Da scheint die WLAN ID nicht zu stimmen. Hast du die richtig eingegeben?

            Meine Adapter: emby | discovery
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            liv-in-skyL 2 Antworten Letzte Antwort
            0
            • thewhoboxT thewhobox

              @liv-in-sky sagte in Adapter: ioBroker.unifi:

              api.err.IdInvalid

              Da scheint die WLAN ID nicht zu stimmen. Hast du die richtig eingegeben?

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #384

              @thewhobox oje - überprüfe ich gleich

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              thewhoboxT 1 Antwort Letzte Antwort
              0
              • liv-in-skyL liv-in-sky

                @thewhobox oje - überprüfe ich gleich

                thewhoboxT Offline
                thewhoboxT Offline
                thewhobox
                schrieb am zuletzt editiert von
                #385

                @liv-in-sky Könnte aber auch ein Fehler im setWifif gewesen sein.
                Zum testen kurz ersetzen.

                async function setWifi(enabled) {
                   return new Promise(async (resolve, reject) => {
                       console.log("setWifi: start set wifi");
                       if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
                       console.log("setWifi: now setting wifi");
                       let resp = request.post({
                           url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                           body: JSON.stringify({ _id: "default", enabled }),
                           headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                       }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
                       console.log("setWifi: got response")
                       if(resp != null && resp.statusCode == 200) {
                           console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                           console.log(resp);
                           resolve();
                       } else {
                           console.log("setWifi: rejetced")
                           console.log("resp: " + JSON.stringify(resp));
                           reject("msg: " + JSON.parse(resp.body).meta.msg);
                       }
                   });
                }
                

                Meine Adapter: emby | discovery
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                liv-in-skyL 2 Antworten Letzte Antwort
                0
                • thewhoboxT thewhobox

                  @liv-in-sky sagte in Adapter: ioBroker.unifi:

                  api.err.IdInvalid

                  Da scheint die WLAN ID nicht zu stimmen. Hast du die richtig eingegeben?

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #386

                  @thewhobox also mit dem linux script ist die id richtig und wird ein und ausgeschalten -- id im linuxscript ist die selbe wie in deinem

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  thewhoboxT 1 Antwort Letzte Antwort
                  0
                  • thewhoboxT thewhobox

                    @liv-in-sky Könnte aber auch ein Fehler im setWifif gewesen sein.
                    Zum testen kurz ersetzen.

                    async function setWifi(enabled) {
                       return new Promise(async (resolve, reject) => {
                           console.log("setWifi: start set wifi");
                           if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
                           console.log("setWifi: now setting wifi");
                           let resp = request.post({
                               url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                               body: JSON.stringify({ _id: "default", enabled }),
                               headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                           }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
                           console.log("setWifi: got response")
                           if(resp != null && resp.statusCode == 200) {
                               console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                               console.log(resp);
                               resolve();
                           } else {
                               console.log("setWifi: rejetced")
                               console.log("resp: " + JSON.stringify(resp));
                               reject("msg: " + JSON.parse(resp.body).meta.msg);
                           }
                       });
                    }
                    

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #387

                    @thewhobox

                    09:33:56.981	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                    09:33:57.965	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                    09:33:57.965	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                    09:33:57.965	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                    09:33:57.965	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                    09:33:57.965	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                    09:33:58.196	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true","access-control-expose-headers":"Access-Control-Allow-Origin,Access-Control-Allow-Credentials","set-cookie":["unifises=yrsA7DInl1z2N6wr4IpLjwaR4fuKq1yc; Path=/; Secure; HttpOnly","csrf_token=X1FfCKVPvRUrXuhNffnO4sf9IbtNq5PH; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Wed, 28 Aug 2019 07:33:58 GMT","connection":"close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"192.168.178.157:8443","port":"8443","hostname":"192.168.178.157","hash":null,"search":null,"query":null,"pathname":"/api/login","path":"/api/login","href":"https://192.168.178.157:8443/api/login"},"method":"POST","headers":{"Content-Type":"application/json","content-length":40}}}
                    09:33:58.196	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=yrsA7DInl1z2N6wr4IpLjwaR4fuKq1yc","csrf_token=X1FfCKVPvRUrXuhNffnO4sf9IbtNq5PH"]
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                    09:33:58.197	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                    09:33:58.210	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                    09:33:58.210	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                    09:33:58.210	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
                    

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    1 Antwort Letzte Antwort
                    0
                    • liv-in-skyL liv-in-sky

                      @thewhobox also mit dem linux script ist die id richtig und wird ein und ausgeschalten -- id im linuxscript ist die selbe wie in deinem

                      thewhoboxT Offline
                      thewhoboxT Offline
                      thewhobox
                      schrieb am zuletzt editiert von
                      #388

                      @liv-in-sky Okay. Dann ersetze mal bitte die Zeile in setWifi:

                      body: JSON.stringify({ enabled }),
                      

                      Meine Adapter: emby | discovery
                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      liv-in-skyL 1 Antwort Letzte Antwort
                      0
                      • thewhoboxT thewhobox

                        @liv-in-sky Könnte aber auch ein Fehler im setWifif gewesen sein.
                        Zum testen kurz ersetzen.

                        async function setWifi(enabled) {
                           return new Promise(async (resolve, reject) => {
                               console.log("setWifi: start set wifi");
                               if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
                               console.log("setWifi: now setting wifi");
                               let resp = request.post({
                                   url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                   body: JSON.stringify({ _id: "default", enabled }),
                                   headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                               }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
                               console.log("setWifi: got response")
                               if(resp != null && resp.statusCode == 200) {
                                   console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                   console.log(resp);
                                   resolve();
                               } else {
                                   console.log("setWifi: rejetced")
                                   console.log("resp: " + JSON.stringify(resp));
                                   reject("msg: " + JSON.parse(resp.body).meta.msg);
                               }
                           });
                        }
                        

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #389

                        @thewhobox

                        hier der test mit linux

                        unifi enable
                        {"meta":{"rc":"ok"},"data":[]}Enabling WiFi.
                        {"meta":{"rc":"ok"},"data":[{"_id":"5d6512a897578401d1edd761","enabled":true,"security":"open","wep_idx":1,"wpa_mode":"wpa2","wpa_enc":"ccmp","usergroup_id":"5cadc7f73b6a3967dd7e5376","dtim_mode":"default","dtim_ng":1,"dtim_na":1,"minrate_ng_enabled":false,"minrate_ng_advertising_rates":false,"minrate_ng_data_rate_kbps":1000,"minrate_ng_cck_rates_enabled":true,"minrate_na_enabled":false,"minrate_na_advertising_rates":false,"minrate_na_data_rate_kbps":6000,"mac_filter_enabled":false,"mac_filter_policy":"allow","mac_filter_list":[],"bc_filter_enabled":false,"bc_filter_list":[],"group_rekey":3600,"name":"DragonRootGuest","wlangroup_id":"5cadc7f73b6a3967dd7e5377","fast_roaming_enabled":false,"schedule":[],"minrate_ng_mgmt_rate_kbps":1000,"minrate_na_mgmt_rate_kbps":6000,"minrate_ng_beacon_rate_kbps":1000,"minrate_na_beacon_rate_kbps":6000,"site_id":"5cadc7f53b6a3967dd7e5369","x_iapp_key":"cf930ad9a6750bd1d7c2f8676f775668","name_combine_enabled":true}]}root@iobroker59 09:28:00  /usr/local/bin   >
                        unifi disable
                        {"meta":{"rc":"ok"},"data":[]}Disabling WiFi.
                        {"meta":{"rc":"ok"},"data":[{"_id":"5d6512a897578401d1edd761","enabled":false,"security":"open","wep_idx":1,"wpa_mode":"wpa2","wpa_enc":"ccmp","usergroup_id":"5cadc7f73b6a3967dd7e5376","dtim_mode":"default","dtim_ng":1,"dtim_na":1,"minrate_ng_enabled":false,"minrate_ng_advertising_rates":false,"minrate_ng_data_rate_kbps":1000,"minrate_ng_cck_rates_enabled":true,"minrate_na_enabled":false,"minrate_na_advertising_rates":false,"minrate_na_data_rate_kbps":6000,"mac_filter_enabled":false,"mac_filter_policy":"allow","mac_filter_list":[],"bc_filter_enabled":false,"bc_filter_list":[],"group_rekey":3600,"name":"DragonRootGuest","wlangroup_id":"5cadc7f73b6a3967dd7e5377","fast_roaming_enabled":false,"schedule":[],"minrate_ng_mgmt_rate_kbps":1000,"minrate_na_mgmt_rate_kbps":6000,"minrate_ng_beacon_rate_kbps":1000,"minrate_na_beacon_rate_kbps":6000,"site_id":"5cadc7f53b6a3967dd7e5369","x_iapp_key":"cf930ad9a6750bd1d7c2f8676f775668","name_combine_enabled":true}]}root@iobroker59 09:29:23  /usr/local/bin   >
                        
                        

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        1 Antwort Letzte Antwort
                        0
                        • thewhoboxT thewhobox

                          @liv-in-sky Okay. Dann ersetze mal bitte die Zeile in setWifi:

                          body: JSON.stringify({ enabled }),
                          
                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #390

                          @thewhobox sagte in Adapter: ioBroker.unifi:

                          body: JSON.stringify({ enabled }),

                          jetzt weiß ich wieder, warum ich mit json auf kriegsfuß stehe :-(

                          09:36:40.055	info	js2fs.0 Script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 modified in ioBroker, write to file
                          09:36:40.065	info	javascript.1 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                          09:36:40.065	info	javascript.0 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                          09:36:40.069	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                          09:36:40.080	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                          09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                          09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                          09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                          09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                          09:36:40.311	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true","access-control-expose-headers":"Access-Control-Allow-Origin,Access-Control-Allow-Credentials","set-cookie":["unifises=4lIovxEqmKXvAF8JehI733XXQ6fSh1Se; Path=/; Secure; HttpOnly","csrf_token=4D3RfUt1GtDD4k6JXdNUcunJw5O0jqvu; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Wed, 28 Aug 2019 07:36:40 GMT","connection":"close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"192.168.178.157:8443","port":"8443","hostname":"192.168.178.157","hash":null,"search":null,"query":null,"pathname":"/api/login","path":"/api/login","href":"https://192.168.178.157:8443/api/login"},"method":"POST","headers":{"Content-Type":"application/json","content-length":40}}}
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=4lIovxEqmKXvAF8JehI733XXQ6fSh1Se","csrf_token=4D3RfUt1GtDD4k6JXdNUcunJw5O0jqvu"]
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                          09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                          09:36:40.322	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                          09:36:40.322	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                          09:36:40.322	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
                          09:36:42.072	info	js2fs.0 Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
                          09:36:42.095	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                          09:36:42.117	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                          09:36:42.117	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                          09:36:42.118	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                          09:36:42.118	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                          09:36:42.118	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true","access-control-expose-headers":"Access-Control-Allow-Origin,Access-Control-Allow-Credentials","set-cookie":["unifises=EnoMzZ5FyglDTNPrZYGa2hvP16jewWiU; Path=/; Secure; HttpOnly","csrf_token=fAjfJm99u8hTqyKjEBfv7IRA4lZMILYO; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Wed, 28 Aug 2019 07:36:42 GMT","connection":"close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"192.168.178.157:8443","port":"8443","hostname":"192.168.178.157","hash":null,"search":null,"query":null,"pathname":"/api/login","path":"/api/login","href":"https://192.168.178.157:8443/api/login"},"method":"POST","headers":{"Content-Type":"application/json","content-length":40}}}
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=EnoMzZ5FyglDTNPrZYGa2hvP16jewWiU","csrf_token=fAjfJm99u8hTqyKjEBfv7IRA4lZMILYO"]
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                          09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                          09:36:42.429	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                          09:36:42.429	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                          09:36:42.429	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
                          

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          thewhoboxT 1 Antwort Letzte Antwort
                          0
                          • liv-in-skyL liv-in-sky

                            @thewhobox sagte in Adapter: ioBroker.unifi:

                            body: JSON.stringify({ enabled }),

                            jetzt weiß ich wieder, warum ich mit json auf kriegsfuß stehe :-(

                            09:36:40.055	info	js2fs.0 Script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 modified in ioBroker, write to file
                            09:36:40.065	info	javascript.1 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                            09:36:40.065	info	javascript.0 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                            09:36:40.069	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                            09:36:40.080	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                            09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                            09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                            09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                            09:36:40.081	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                            09:36:40.311	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true","access-control-expose-headers":"Access-Control-Allow-Origin,Access-Control-Allow-Credentials","set-cookie":["unifises=4lIovxEqmKXvAF8JehI733XXQ6fSh1Se; Path=/; Secure; HttpOnly","csrf_token=4D3RfUt1GtDD4k6JXdNUcunJw5O0jqvu; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Wed, 28 Aug 2019 07:36:40 GMT","connection":"close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"192.168.178.157:8443","port":"8443","hostname":"192.168.178.157","hash":null,"search":null,"query":null,"pathname":"/api/login","path":"/api/login","href":"https://192.168.178.157:8443/api/login"},"method":"POST","headers":{"Content-Type":"application/json","content-length":40}}}
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=4lIovxEqmKXvAF8JehI733XXQ6fSh1Se","csrf_token=4D3RfUt1GtDD4k6JXdNUcunJw5O0jqvu"]
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                            09:36:40.312	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                            09:36:40.322	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                            09:36:40.322	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                            09:36:40.322	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
                            09:36:42.072	info	js2fs.0 Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
                            09:36:42.095	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                            09:36:42.117	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                            09:36:42.117	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                            09:36:42.118	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                            09:36:42.118	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                            09:36:42.118	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true","access-control-expose-headers":"Access-Control-Allow-Origin,Access-Control-Allow-Credentials","set-cookie":["unifises=EnoMzZ5FyglDTNPrZYGa2hvP16jewWiU; Path=/; Secure; HttpOnly","csrf_token=fAjfJm99u8hTqyKjEBfv7IRA4lZMILYO; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Wed, 28 Aug 2019 07:36:42 GMT","connection":"close"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"192.168.178.157:8443","port":"8443","hostname":"192.168.178.157","hash":null,"search":null,"query":null,"pathname":"/api/login","path":"/api/login","href":"https://192.168.178.157:8443/api/login"},"method":"POST","headers":{"Content-Type":"application/json","content-length":40}}}
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=EnoMzZ5FyglDTNPrZYGa2hvP16jewWiU","csrf_token=fAjfJm99u8hTqyKjEBfv7IRA4lZMILYO"]
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                            09:36:42.421	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                            09:36:42.429	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                            09:36:42.429	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1: StatusCodeError: 400 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.IdInvalid\"},\"data\":[]}"
                            09:36:42.429	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
                            

                            thewhoboxT Offline
                            thewhoboxT Offline
                            thewhobox
                            schrieb am zuletzt editiert von
                            #391

                            @liv-in-sky Okay, zu dem Fehler finde ich leider auch nix im Netz. Hab es jetzt mal so angepasst wie in deinem verlinkten Skript.
                            Was mich wundert, dass nach "getting status" nix mehr kommt...

                            const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                            const unifi_username = "user";
                            const unifi_password = "pass";
                            const unifi_controller = "https://192.168.x.xx:xxxx";
                            const wifi_id = "dsa4fsda6g46fdsg984";
                            let cookies = [];
                            let loggedIn = false;
                            
                            async function login() {
                               return new Promise(async (resolve, reject) => {
                                   let resp = await request.post({
                                       resolveWithFullResponse: true,
                                       url: unifi_controller + "/api/login",
                                       body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                                       headers: { 'Content-Type': 'application/json' }
                                   }).catch((e) => { console.log("login: reject"), reject(e) });
                                   
                                   if(resp != null) {
                                       console.log("login: Login war erfolgreich! " + ((resp.headers && resp.headers.hasOwnProperty("set-cookie")) ? "Mit Cookies":"Ohne Cookies"));
                                       if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                                           let set_cookies = resp.headers["set-cookie"];
                                           for(i = 0; i < set_cookies.length; i++) {
                                               let cookie = set_cookies[i];
                                               cookie = cookie.split(";")[0];
                                               cookies.push(cookie);
                                           }
                                       } else {
                                           console.log("login: no cookies to set!")
                                       }
                                       loggedIn = true;
                                       resolve();
                                   } else {
                                       console.log("login: rejected")
                                       reject("resp = null");
                                   }
                               });
                            }
                            
                            async function getStatus() {
                               return new Promise(async (resolve, reject) => {
                                   console.log("nur mal so");
                                   if(!loggedIn) await login().catch((e) => reject(e));
                                   let resp = await request.get({
                                       url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                       headers: { Cookie: cookies.join("; ") }
                                   }).catch((e) => { console.log("getStatus reject " + e); reject(e) });
                               
                                   console.log("got response " + JSON.stringify(resp));
                                   if(resp != null && resp.statusCode == 200) {
                                       console.log("Status erfolgreich geholt!");
                                       console.log(resp);
                                       let status = JSON.parse(resp);
                                       let wlanOn = status.data[0].enabled;
                                       console.log("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                       resolve(wlanOn);
                                   } else {
                                       reject(JSON.parse(resp.body).meta.msg);
                                   }
                               });
                            }
                            
                            async function logout() {
                               return new Promise(async (resolve, reject) => {
                                   let resp = await request.get({
                                       url: unifi_controller + "/logout",
                                       headers: { Cookie: cookies.join("; ") }
                                   }).catch((e) => reject(e));
                                   if(resp != null) {
                                       console.log("Du bist nun ausgeloggt.");
                                       console.log(resp);
                                       resolve();
                                   } else {
                                       reject("resp = null");
                                   }
                               });
                            }
                            
                            async function setWifi(enabled) {
                               return new Promise(async (resolve, reject) => {
                                   console.log("setWifi: start set wifi");
                                   if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
                                   console.log("setWifi: now setting wifi");
                                   let resp = request.post({
                                       url: unifi_controller + "/api/s/default/upd/wlanconf/" + wifi_id,
                                       body: JSON.stringify({ enabled }),
                                       headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                                   }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
                                   console.log("setWifi: got response")
                                   if(resp != null && resp.statusCode == 200) {
                                       console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                       console.log(resp);
                                       resolve();
                                   } else {
                                       console.log("setWifi: rejetced")
                                       console.log("resp: " + JSON.stringify(resp));
                                       reject("msg: " + JSON.parse(resp.body).meta.msg);
                                   }
                               });
                            }
                            
                            async function test() {
                               console.log("starting test");
                               await setWifi(true).catch((e) => console.log("reject1: " + e));
                               console.log("getting status");
                               let wlan = await getStatus().catch((e) => console.log("reject2: " + e));
                               console.log("fin")
                               console.log(wlan);
                            }
                            
                            test()
                            

                            Meine Adapter: emby | discovery
                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            liv-in-skyL 2 Antworten Letzte Antwort
                            0
                            • thewhoboxT thewhobox

                              @liv-in-sky Okay, zu dem Fehler finde ich leider auch nix im Netz. Hab es jetzt mal so angepasst wie in deinem verlinkten Skript.
                              Was mich wundert, dass nach "getting status" nix mehr kommt...

                              const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                              const unifi_username = "user";
                              const unifi_password = "pass";
                              const unifi_controller = "https://192.168.x.xx:xxxx";
                              const wifi_id = "dsa4fsda6g46fdsg984";
                              let cookies = [];
                              let loggedIn = false;
                              
                              async function login() {
                                 return new Promise(async (resolve, reject) => {
                                     let resp = await request.post({
                                         resolveWithFullResponse: true,
                                         url: unifi_controller + "/api/login",
                                         body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                                         headers: { 'Content-Type': 'application/json' }
                                     }).catch((e) => { console.log("login: reject"), reject(e) });
                                     
                                     if(resp != null) {
                                         console.log("login: Login war erfolgreich! " + ((resp.headers && resp.headers.hasOwnProperty("set-cookie")) ? "Mit Cookies":"Ohne Cookies"));
                                         if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                                             let set_cookies = resp.headers["set-cookie"];
                                             for(i = 0; i < set_cookies.length; i++) {
                                                 let cookie = set_cookies[i];
                                                 cookie = cookie.split(";")[0];
                                                 cookies.push(cookie);
                                             }
                                         } else {
                                             console.log("login: no cookies to set!")
                                         }
                                         loggedIn = true;
                                         resolve();
                                     } else {
                                         console.log("login: rejected")
                                         reject("resp = null");
                                     }
                                 });
                              }
                              
                              async function getStatus() {
                                 return new Promise(async (resolve, reject) => {
                                     console.log("nur mal so");
                                     if(!loggedIn) await login().catch((e) => reject(e));
                                     let resp = await request.get({
                                         url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                         headers: { Cookie: cookies.join("; ") }
                                     }).catch((e) => { console.log("getStatus reject " + e); reject(e) });
                                 
                                     console.log("got response " + JSON.stringify(resp));
                                     if(resp != null && resp.statusCode == 200) {
                                         console.log("Status erfolgreich geholt!");
                                         console.log(resp);
                                         let status = JSON.parse(resp);
                                         let wlanOn = status.data[0].enabled;
                                         console.log("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                         resolve(wlanOn);
                                     } else {
                                         reject(JSON.parse(resp.body).meta.msg);
                                     }
                                 });
                              }
                              
                              async function logout() {
                                 return new Promise(async (resolve, reject) => {
                                     let resp = await request.get({
                                         url: unifi_controller + "/logout",
                                         headers: { Cookie: cookies.join("; ") }
                                     }).catch((e) => reject(e));
                                     if(resp != null) {
                                         console.log("Du bist nun ausgeloggt.");
                                         console.log(resp);
                                         resolve();
                                     } else {
                                         reject("resp = null");
                                     }
                                 });
                              }
                              
                              async function setWifi(enabled) {
                                 return new Promise(async (resolve, reject) => {
                                     console.log("setWifi: start set wifi");
                                     if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
                                     console.log("setWifi: now setting wifi");
                                     let resp = request.post({
                                         url: unifi_controller + "/api/s/default/upd/wlanconf/" + wifi_id,
                                         body: JSON.stringify({ enabled }),
                                         headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                                     }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
                                     console.log("setWifi: got response")
                                     if(resp != null && resp.statusCode == 200) {
                                         console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                         console.log(resp);
                                         resolve();
                                     } else {
                                         console.log("setWifi: rejetced")
                                         console.log("resp: " + JSON.stringify(resp));
                                         reject("msg: " + JSON.parse(resp.body).meta.msg);
                                     }
                                 });
                              }
                              
                              async function test() {
                                 console.log("starting test");
                                 await setWifi(true).catch((e) => console.log("reject1: " + e));
                                 console.log("getting status");
                                 let wlan = await getStatus().catch((e) => console.log("reject2: " + e));
                                 console.log("fin")
                                 console.log(wlan);
                              }
                              
                              test()
                              

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              schrieb am zuletzt editiert von
                              #392

                              @thewhobox moment noch - jetzt ist was passiert

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              1 Antwort Letzte Antwort
                              0
                              • thewhoboxT thewhobox

                                @liv-in-sky Okay, zu dem Fehler finde ich leider auch nix im Netz. Hab es jetzt mal so angepasst wie in deinem verlinkten Skript.
                                Was mich wundert, dass nach "getting status" nix mehr kommt...

                                const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                                const unifi_username = "user";
                                const unifi_password = "pass";
                                const unifi_controller = "https://192.168.x.xx:xxxx";
                                const wifi_id = "dsa4fsda6g46fdsg984";
                                let cookies = [];
                                let loggedIn = false;
                                
                                async function login() {
                                   return new Promise(async (resolve, reject) => {
                                       let resp = await request.post({
                                           resolveWithFullResponse: true,
                                           url: unifi_controller + "/api/login",
                                           body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                                           headers: { 'Content-Type': 'application/json' }
                                       }).catch((e) => { console.log("login: reject"), reject(e) });
                                       
                                       if(resp != null) {
                                           console.log("login: Login war erfolgreich! " + ((resp.headers && resp.headers.hasOwnProperty("set-cookie")) ? "Mit Cookies":"Ohne Cookies"));
                                           if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                                               let set_cookies = resp.headers["set-cookie"];
                                               for(i = 0; i < set_cookies.length; i++) {
                                                   let cookie = set_cookies[i];
                                                   cookie = cookie.split(";")[0];
                                                   cookies.push(cookie);
                                               }
                                           } else {
                                               console.log("login: no cookies to set!")
                                           }
                                           loggedIn = true;
                                           resolve();
                                       } else {
                                           console.log("login: rejected")
                                           reject("resp = null");
                                       }
                                   });
                                }
                                
                                async function getStatus() {
                                   return new Promise(async (resolve, reject) => {
                                       console.log("nur mal so");
                                       if(!loggedIn) await login().catch((e) => reject(e));
                                       let resp = await request.get({
                                           url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                           headers: { Cookie: cookies.join("; ") }
                                       }).catch((e) => { console.log("getStatus reject " + e); reject(e) });
                                   
                                       console.log("got response " + JSON.stringify(resp));
                                       if(resp != null && resp.statusCode == 200) {
                                           console.log("Status erfolgreich geholt!");
                                           console.log(resp);
                                           let status = JSON.parse(resp);
                                           let wlanOn = status.data[0].enabled;
                                           console.log("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                           resolve(wlanOn);
                                       } else {
                                           reject(JSON.parse(resp.body).meta.msg);
                                       }
                                   });
                                }
                                
                                async function logout() {
                                   return new Promise(async (resolve, reject) => {
                                       let resp = await request.get({
                                           url: unifi_controller + "/logout",
                                           headers: { Cookie: cookies.join("; ") }
                                       }).catch((e) => reject(e));
                                       if(resp != null) {
                                           console.log("Du bist nun ausgeloggt.");
                                           console.log(resp);
                                           resolve();
                                       } else {
                                           reject("resp = null");
                                       }
                                   });
                                }
                                
                                async function setWifi(enabled) {
                                   return new Promise(async (resolve, reject) => {
                                       console.log("setWifi: start set wifi");
                                       if(!loggedIn) { console.log("need to login"); await login().catch((e) => reject(e)); }
                                       console.log("setWifi: now setting wifi");
                                       let resp = request.post({
                                           url: unifi_controller + "/api/s/default/upd/wlanconf/" + wifi_id,
                                           body: JSON.stringify({ enabled }),
                                           headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                                       }).catch((e) => { console.log("setWifi: rejected: " + e); reject(e) });
                                       console.log("setWifi: got response")
                                       if(resp != null && resp.statusCode == 200) {
                                           console.log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                           console.log(resp);
                                           resolve();
                                       } else {
                                           console.log("setWifi: rejetced")
                                           console.log("resp: " + JSON.stringify(resp));
                                           reject("msg: " + JSON.parse(resp.body).meta.msg);
                                       }
                                   });
                                }
                                
                                async function test() {
                                   console.log("starting test");
                                   await setWifi(true).catch((e) => console.log("reject1: " + e));
                                   console.log("getting status");
                                   let wlan = await getStatus().catch((e) => console.log("reject2: " + e));
                                   console.log("fin")
                                   console.log(wlan);
                                }
                                
                                test()
                                

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von
                                #393

                                @thewhobox
                                1445small--robots-winziger.png
                                jeah -
                                scheint zu klappen - kann es ein und ausschalten

                                09:55:42.324	info	js2fs.0 Script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 modified in ioBroker, write to file
                                09:55:42.331	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                09:55:42.337	info	javascript.0 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                09:55:42.341	info	javascript.1 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                09:55:42.352	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                                09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                                09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                                09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                                09:55:42.672	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich! Mit Cookies
                                09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                                09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                                09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                                09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                                09:55:44.342	info	js2fs.0 Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
                                09:55:44.360	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                09:55:44.408	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                                09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                                09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                                09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                                09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich! Mit Cookies
                                09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                                09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                                09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                                09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                                

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                dslraserD 1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @thewhobox
                                  1445small--robots-winziger.png
                                  jeah -
                                  scheint zu klappen - kann es ein und ausschalten

                                  09:55:42.324	info	js2fs.0 Script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 modified in ioBroker, write to file
                                  09:55:42.331	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                  09:55:42.337	info	javascript.0 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                  09:55:42.341	info	javascript.1 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                  09:55:42.352	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                  09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                                  09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                                  09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                                  09:55:42.353	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                                  09:55:42.672	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich! Mit Cookies
                                  09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                                  09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                                  09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                                  09:55:42.673	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                                  09:55:44.342	info	js2fs.0 Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
                                  09:55:44.360	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                  09:55:44.408	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                                  09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                                  09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                                  09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                                  09:55:44.408	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                                  09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich! Mit Cookies
                                  09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                                  09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                                  09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                                  09:55:44.730	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                                  

                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #394

                                  @liv-in-sky
                                  @thewhobox
                                  moin, schon alle wieder fleißig...
                                  Welches ist jetzt das komplette Script ?

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • dslraserD dslraser

                                    @liv-in-sky
                                    @thewhobox
                                    moin, schon alle wieder fleißig...
                                    Welches ist jetzt das komplette Script ?

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von
                                    #395

                                    @dslraser 3 posts weiter oben

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    1 Antwort Letzte Antwort
                                    0
                                    • thewhoboxT Offline
                                      thewhoboxT Offline
                                      thewhobox
                                      schrieb am zuletzt editiert von
                                      #396

                                      So hier nochmal mit Console Ausgaben nur wenn debug true ist.
                                      @dslraser bringt er bei dir auch was nach "getting status"?

                                      const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                                      const unifi_username = "user";
                                      const unifi_password = "pass";
                                      const unifi_controller = "https://192.168.x.xx:xxxx";
                                      const wifi_id = "dsa4fsda6g46fdsg984";
                                      let cookies = [];
                                      let loggedIn = false;
                                      let debug = false;
                                      
                                      function log(message) {
                                         if(debug)
                                             console.log(message);
                                      }
                                      
                                      async function login() {
                                         return new Promise(async (resolve, reject) => {
                                             let resp = await request.post({
                                                 resolveWithFullResponse: true,
                                                 url: unifi_controller + "/api/login",
                                                 body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                                                 headers: { 'Content-Type': 'application/json' }
                                             }).catch((e) => { log("login: reject"), reject(e) });
                                             
                                             if(resp != null) {
                                                 log("login: Login war erfolgreich! " + ((resp.headers && resp.headers.hasOwnProperty("set-cookie")) ? "Mit Cookies":"Ohne Cookies"));
                                                 if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                                                     let set_cookies = resp.headers["set-cookie"];
                                                     for(i = 0; i < set_cookies.length; i++) {
                                                         let cookie = set_cookies[i];
                                                         cookie = cookie.split(";")[0];
                                                         cookies.push(cookie);
                                                     }
                                                 } else {
                                                     log("login: no cookies to set!")
                                                 }
                                                 loggedIn = true;
                                                 resolve();
                                             } else {
                                                 log("login: rejected")
                                                 reject("resp = null");
                                             }
                                         });
                                      }
                                      
                                      async function getStatus() {
                                         return new Promise(async (resolve, reject) => {
                                             log("nur mal so");
                                             if(!loggedIn) await login().catch((e) => reject(e));
                                             let resp = await request.get({
                                                 url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                                 headers: { Cookie: cookies.join("; ") }
                                             }).catch((e) => { log("getStatus reject " + e); reject(e) });
                                         
                                             log("got response " + JSON.stringify(resp));
                                             if(resp != null && resp.statusCode == 200) {
                                                 log("Status erfolgreich geholt!");
                                                 log(resp);
                                                 let status = JSON.parse(resp);
                                                 let wlanOn = status.data[0].enabled;
                                                 log("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                                 resolve(wlanOn);
                                             } else {
                                                 reject(JSON.parse(resp.body).meta.msg);
                                             }
                                         });
                                      }
                                      
                                      async function logout() {
                                         return new Promise(async (resolve, reject) => {
                                             let resp = await request.get({
                                                 url: unifi_controller + "/logout",
                                                 headers: { Cookie: cookies.join("; ") }
                                             }).catch((e) => reject(e));
                                             if(resp != null) {
                                                 log("Du bist nun ausgeloggt.");
                                                 log(resp);
                                                 resolve();
                                             } else {
                                                 reject("resp = null");
                                             }
                                         });
                                      }
                                      
                                      async function setWifi(enabled) {
                                         return new Promise(async (resolve, reject) => {
                                             log("setWifi: start set wifi");
                                             if(!loggedIn) { log("need to login"); await login().catch((e) => reject(e)); }
                                             log("setWifi: now setting wifi");
                                             let resp = request.post({
                                                 url: unifi_controller + "/api/s/default/upd/wlanconf/" + wifi_id,
                                                 body: JSON.stringify({ enabled }),
                                                 headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                                             }).catch((e) => { log("setWifi: rejected: " + e); reject(e) });
                                             log("setWifi: got response")
                                             if(resp != null) {
                                                 log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                                 log(resp);
                                                 resolve();
                                             } else {
                                                 log("setWifi: rejetced")
                                                 log("resp: " + JSON.stringify(resp));
                                                 reject("msg: " + JSON.parse(resp.body).meta.msg);
                                             }
                                         });
                                      }
                                      
                                      async function test() {
                                         log("starting test");
                                         await setWifi(true).catch((e) => log("reject1: " + e));
                                         log("getting status");
                                         let wlan = await getStatus().catch((e) => log("reject2: " + e));
                                         console.log("fin")
                                         console.log(wlan);
                                      }
                                      
                                      test()
                                      

                                      Meine Adapter: emby | discovery
                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      dslraserD liv-in-skyL 2 Antworten Letzte Antwort
                                      0
                                      • liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von
                                        #397

                                        was aber nervt - nicht script - es werden immer alle netzwerke aus und eingeschaltet - ist beim linux script auch - das scheint etwas mit unifi selbst zu tun zu haben

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        1 Antwort Letzte Antwort
                                        0
                                        • thewhoboxT thewhobox

                                          So hier nochmal mit Console Ausgaben nur wenn debug true ist.
                                          @dslraser bringt er bei dir auch was nach "getting status"?

                                          const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                                          const unifi_username = "user";
                                          const unifi_password = "pass";
                                          const unifi_controller = "https://192.168.x.xx:xxxx";
                                          const wifi_id = "dsa4fsda6g46fdsg984";
                                          let cookies = [];
                                          let loggedIn = false;
                                          let debug = false;
                                          
                                          function log(message) {
                                             if(debug)
                                                 console.log(message);
                                          }
                                          
                                          async function login() {
                                             return new Promise(async (resolve, reject) => {
                                                 let resp = await request.post({
                                                     resolveWithFullResponse: true,
                                                     url: unifi_controller + "/api/login",
                                                     body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                                                     headers: { 'Content-Type': 'application/json' }
                                                 }).catch((e) => { log("login: reject"), reject(e) });
                                                 
                                                 if(resp != null) {
                                                     log("login: Login war erfolgreich! " + ((resp.headers && resp.headers.hasOwnProperty("set-cookie")) ? "Mit Cookies":"Ohne Cookies"));
                                                     if(resp.headers && resp.headers.hasOwnProperty("set-cookie")) {
                                                         let set_cookies = resp.headers["set-cookie"];
                                                         for(i = 0; i < set_cookies.length; i++) {
                                                             let cookie = set_cookies[i];
                                                             cookie = cookie.split(";")[0];
                                                             cookies.push(cookie);
                                                         }
                                                     } else {
                                                         log("login: no cookies to set!")
                                                     }
                                                     loggedIn = true;
                                                     resolve();
                                                 } else {
                                                     log("login: rejected")
                                                     reject("resp = null");
                                                 }
                                             });
                                          }
                                          
                                          async function getStatus() {
                                             return new Promise(async (resolve, reject) => {
                                                 log("nur mal so");
                                                 if(!loggedIn) await login().catch((e) => reject(e));
                                                 let resp = await request.get({
                                                     url: unifi_controller + "/api/s/default/rest/wlanconf/" + wifi_id,
                                                     headers: { Cookie: cookies.join("; ") }
                                                 }).catch((e) => { log("getStatus reject " + e); reject(e) });
                                             
                                                 log("got response " + JSON.stringify(resp));
                                                 if(resp != null && resp.statusCode == 200) {
                                                     log("Status erfolgreich geholt!");
                                                     log(resp);
                                                     let status = JSON.parse(resp);
                                                     let wlanOn = status.data[0].enabled;
                                                     log("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                                     resolve(wlanOn);
                                                 } else {
                                                     reject(JSON.parse(resp.body).meta.msg);
                                                 }
                                             });
                                          }
                                          
                                          async function logout() {
                                             return new Promise(async (resolve, reject) => {
                                                 let resp = await request.get({
                                                     url: unifi_controller + "/logout",
                                                     headers: { Cookie: cookies.join("; ") }
                                                 }).catch((e) => reject(e));
                                                 if(resp != null) {
                                                     log("Du bist nun ausgeloggt.");
                                                     log(resp);
                                                     resolve();
                                                 } else {
                                                     reject("resp = null");
                                                 }
                                             });
                                          }
                                          
                                          async function setWifi(enabled) {
                                             return new Promise(async (resolve, reject) => {
                                                 log("setWifi: start set wifi");
                                                 if(!loggedIn) { log("need to login"); await login().catch((e) => reject(e)); }
                                                 log("setWifi: now setting wifi");
                                                 let resp = request.post({
                                                     url: unifi_controller + "/api/s/default/upd/wlanconf/" + wifi_id,
                                                     body: JSON.stringify({ enabled }),
                                                     headers: { 'Content-Type': 'application/json', Cookie: cookies.join("; ") }
                                                 }).catch((e) => { log("setWifi: rejected: " + e); reject(e) });
                                                 log("setWifi: got response")
                                                 if(resp != null) {
                                                     log("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                                                     log(resp);
                                                     resolve();
                                                 } else {
                                                     log("setWifi: rejetced")
                                                     log("resp: " + JSON.stringify(resp));
                                                     reject("msg: " + JSON.parse(resp.body).meta.msg);
                                                 }
                                             });
                                          }
                                          
                                          async function test() {
                                             log("starting test");
                                             await setWifi(true).catch((e) => log("reject1: " + e));
                                             log("getting status");
                                             let wlan = await getStatus().catch((e) => log("reject2: " + e));
                                             console.log("fin")
                                             console.log(wlan);
                                          }
                                          
                                          test()
                                          

                                          dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #398

                                          @thewhobox

                                          ich bin irgendwo nicht mit gekommen...?

                                          das passiert beim letzten Script

                                          javascript.0	2019-08-28 10:07:00.672	error	at ContextifyScript.Script.runInContext (vm.js:59:29)
                                          javascript.0	2019-08-28 10:07:00.672	error	at script.js.Heiko.Unifi.unifi_wifi:1:1
                                          javascript.0	2019-08-28 10:07:00.672	error	SyntaxError: Identifier 'log' has already been declared
                                          javascript.0	2019-08-28 10:07:00.672	error	^
                                          javascript.0	2019-08-28 10:07:00.672	error	const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                                          javascript.0	2019-08-28 10:07:00.672	error	script.js.Heiko.Unifi.unifi_wifi: script.js.Heiko.Unifi.unifi_wifi:1
                                          
                                          thewhoboxT 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          642

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe