Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

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

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    106

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    150

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    865

Adapter: ioBroker.unifi

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
unifi
1.0k Beiträge 172 Kommentatoren 424.6k Aufrufe 93 Beobachtet
  • Ä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 Hast das mit setwifi ersetzen probiert?
    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({
               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' }
           }).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() {
       await logout();
       console.log("starting test");
       await setWifi(true).catch((e) => console.log("reject1"));
       console.log("getting status");
       let wlan = await getStatus().catch((e) => console.log("reject2"));
       console.log("fin")
       console.log(wlan);
    }
    
    test()
    

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

    @thewhobox

    mit dem ganzen script von eben

    javascript.2	2019-08-27 17:16:56.397	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: undefined
    javascript.2	2019-08-27 17:16:56.397	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: fin
    javascript.2	2019-08-27 17:16:56.397	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject2
    javascript.2	2019-08-27 17:16:56.393	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
    javascript.2	2019-08-27 17:16:56.393	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
    javascript.2	2019-08-27 17:16:56.393	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
    javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
    javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
    javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
    javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
    javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
    javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: "{\"meta\":{\"rc\":\"ok\"},\"data\":[]}"
    javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
    javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
    javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
    javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
    javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
    javascript.2	2019-08-27 17:16:56.069	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
    javascript.2	2019-08-27 17:16:56.069	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
    javascript.2	2019-08-27 17:16:56.047	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
    js2fs.0	2019-08-27 17:16:56.024	info	Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
    javascript.2	2019-08-27 17:16:54.357	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: undefined
    javascript.2	2019-08-27 17:16:54.357	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: fin
    javascript.2	2019-08-27 17:16:54.357	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject2
    javascript.2	2019-08-27 17:16:54.350	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
    javascript.2	2019-08-27 17:16:54.350	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
    javascript.2	2019-08-27 17:16:54.350	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
    javascript.2	2019-08-27 17:16:54.342	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
    javascript.2	2019-08-27 17:16:54.342	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
    javascript.2	2019-08-27 17:16:54.342	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
    javascript.2	2019-08-27 17:16:54.341	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
    javascript.2	2019-08-27 17:16:54.341	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
    javascript.2	2019-08-27 17:16:54.341	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: "{\"meta\":{\"rc\":\"ok\"},\"data\":[]}"
    javascript.2	2019-08-27 17:16:54.057	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
    javascript.2	2019-08-27 17:16:54.057	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
    javascript.2	2019-08-27 17:16:54.057	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
    javascript.2	2019-08-27 17:16:54.056	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
    javascript.2	2019-08-27 17:16:54.056	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
    javascript.2	2019-08-27 17:16:54.037	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
    javascript.2	2019-08-27 17:16:54.037	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
    javascript.2	2019-08-27 17:16:54.025	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
    javascript.1	2019-08-27 17:16:54.021	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
    javascript.0	2019-08-27 17:16:54.015	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
    

    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

      mit dem ganzen script von eben

      javascript.2	2019-08-27 17:16:56.397	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: undefined
      javascript.2	2019-08-27 17:16:56.397	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: fin
      javascript.2	2019-08-27 17:16:56.397	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject2
      javascript.2	2019-08-27 17:16:56.393	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
      javascript.2	2019-08-27 17:16:56.393	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
      javascript.2	2019-08-27 17:16:56.393	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
      javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
      javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
      javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
      javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
      javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
      javascript.2	2019-08-27 17:16:56.387	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: "{\"meta\":{\"rc\":\"ok\"},\"data\":[]}"
      javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
      javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
      javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
      javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
      javascript.2	2019-08-27 17:16:56.089	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
      javascript.2	2019-08-27 17:16:56.069	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
      javascript.2	2019-08-27 17:16:56.069	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
      javascript.2	2019-08-27 17:16:56.047	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
      js2fs.0	2019-08-27 17:16:56.024	info	Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
      javascript.2	2019-08-27 17:16:54.357	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: undefined
      javascript.2	2019-08-27 17:16:54.357	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: fin
      javascript.2	2019-08-27 17:16:54.357	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject2
      javascript.2	2019-08-27 17:16:54.350	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
      javascript.2	2019-08-27 17:16:54.350	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
      javascript.2	2019-08-27 17:16:54.350	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
      javascript.2	2019-08-27 17:16:54.342	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
      javascript.2	2019-08-27 17:16:54.342	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
      javascript.2	2019-08-27 17:16:54.342	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
      javascript.2	2019-08-27 17:16:54.341	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
      javascript.2	2019-08-27 17:16:54.341	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
      javascript.2	2019-08-27 17:16:54.341	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: "{\"meta\":{\"rc\":\"ok\"},\"data\":[]}"
      javascript.2	2019-08-27 17:16:54.057	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
      javascript.2	2019-08-27 17:16:54.057	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
      javascript.2	2019-08-27 17:16:54.057	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
      javascript.2	2019-08-27 17:16:54.056	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
      javascript.2	2019-08-27 17:16:54.056	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
      javascript.2	2019-08-27 17:16:54.037	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
      javascript.2	2019-08-27 17:16:54.037	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
      javascript.2	2019-08-27 17:16:54.025	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
      javascript.1	2019-08-27 17:16:54.021	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
      javascript.0	2019-08-27 17:16:54.015	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
      

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

      @liv-in-sky Okay danke fürs Ausprobieren. Ich weiß jetzt wo der Fehler liegt, muss aber erstmal schauen wie ich das Problem löse. Ich melde mich später nochmal

      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 Okay danke fürs Ausprobieren. Ich weiß jetzt wo der Fehler liegt, muss aber erstmal schauen wie ich das Problem löse. Ich melde mich später nochmal

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

        @thewhobox geht klar - bin eh beeindruckt, wie du das ohne testobject alles schreiben kannst

        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 geht klar - bin eh beeindruckt, wie du das ohne testobject alles schreiben kannst

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

          @liv-in-sky Ach das geht schon^^
          Noch ganz kurz, was wenn du das mal probierst?

          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' }
                 }).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() {
             await logout();
             console.log("starting test");
             await setWifi(true).catch((e) => console.log("reject1"));
             console.log("getting status");
             let wlan = await getStatus().catch((e) => console.log("reject2"));
             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

            @liv-in-sky Ach das geht schon^^
            Noch ganz kurz, was wenn du das mal probierst?

            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' }
                   }).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() {
               await logout();
               console.log("starting test");
               await setWifi(true).catch((e) => console.log("reject1"));
               console.log("getting status");
               let wlan = await getStatus().catch((e) => console.log("reject2"));
               console.log("fin")
               console.log(wlan);
            }
            
            test()
            

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

            @thewhobox

            frage : sollte der aufruf getStatus(); noch funktionieren oder müßte man auch einen anderen aufruf machen - das ging ja schon mal aber jetzt nicht mehr

            javascript.2	2019-08-27 17:27:36.644	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
            javascript.2	2019-08-27 17:27:36.644	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
            javascript.2	2019-08-27 17:27:36.644	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
            javascript.2	2019-08-27 17:27:36.639	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=7Eqk0YywPeNtHf5nKKMdWmNAqRhSyR8Q","csrf_token=HlhrzcVRNkyp4CpUYN2pRQAvYzwK6p6U"]
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
            javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true
            javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
            javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
            javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
            javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
            javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
            javascript.2	2019-08-27 17:27:36.356	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
            javascript.2	2019-08-27 17:27:36.355	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            javascript.2	2019-08-27 17:27:36.326	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            js2fs.0	2019-08-27 17:27:36.308	info	Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
            javascript.2	2019-08-27 17:27:34.580	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
            javascript.2	2019-08-27 17:27:34.580	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
            javascript.2	2019-08-27 17:27:34.580	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=3qzciQyP04QRdIr9SC4MbgTL5c1fukGH","csrf_token=YHgpqCYp6XK2hDHth01oMxtsWJQaHnnj"]
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
            javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
            javascript.2	2019-08-27 17:27:34.573	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true
            javascript.2	2019-08-27 17:27:34.333	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
            javascript.2	2019-08-27 17:27:34.333	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
            javascript.2	2019-08-27 17:27:34.333	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
            javascript.2	2019-08-27 17:27:34.332	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
            javascript.2	2019-08-27 17:27:34.332	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
            javascript.2	2019-08-27 17:27:34.313	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
            javascript.2	2019-08-27 17:27:34.313	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            javascript.0	2019-08-27 17:27:34.308	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            javascript.2	2019-08-27 17:27:34.300	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            javascript.1	2019-08-27 17:27:34.296	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
            js2fs.0	2019-08-27 17:27:34.291	info	Script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 modified in ioBroker, write to file
            

            das log ist mit deinem neuen file - ohne getStatus() - war nur eine frage

            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

              frage : sollte der aufruf getStatus(); noch funktionieren oder müßte man auch einen anderen aufruf machen - das ging ja schon mal aber jetzt nicht mehr

              javascript.2	2019-08-27 17:27:36.644	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
              javascript.2	2019-08-27 17:27:36.644	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
              javascript.2	2019-08-27 17:27:36.644	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
              javascript.2	2019-08-27 17:27:36.639	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=7Eqk0YywPeNtHf5nKKMdWmNAqRhSyR8Q","csrf_token=HlhrzcVRNkyp4CpUYN2pRQAvYzwK6p6U"]
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
              javascript.2	2019-08-27 17:27:36.638	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true
              javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
              javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
              javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
              javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
              javascript.2	2019-08-27 17:27:36.376	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
              javascript.2	2019-08-27 17:27:36.356	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
              javascript.2	2019-08-27 17:27:36.355	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
              javascript.2	2019-08-27 17:27:36.326	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
              js2fs.0	2019-08-27 17:27:36.308	info	Script file script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 changed, also update in ioBroker
              javascript.2	2019-08-27 17:27:34.580	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: getting status
              javascript.2	2019-08-27 17:27:34.580	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
              javascript.2	2019-08-27 17:27:34.580	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=3qzciQyP04QRdIr9SC4MbgTL5c1fukGH","csrf_token=YHgpqCYp6XK2hDHth01oMxtsWJQaHnnj"]
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
              javascript.2	2019-08-27 17:27:34.574	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
              javascript.2	2019-08-27 17:27:34.573	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: got response: {"statusCode":200,"body":"{\"meta\":{\"rc\":\"ok\"},\"data\":[]}","headers":{"vary":"Origin","access-control-allow-credentials":"true
              javascript.2	2019-08-27 17:27:34.333	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
              javascript.2	2019-08-27 17:27:34.333	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
              javascript.2	2019-08-27 17:27:34.333	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
              javascript.2	2019-08-27 17:27:34.332	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.g
              javascript.2	2019-08-27 17:27:34.332	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
              javascript.2	2019-08-27 17:27:34.313	info	script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
              javascript.2	2019-08-27 17:27:34.313	info	Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
              javascript.0	2019-08-27 17:27:34.308	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
              javascript.2	2019-08-27 17:27:34.300	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
              javascript.1	2019-08-27 17:27:34.296	info	Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
              js2fs.0	2019-08-27 17:27:34.291	info	Script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2 modified in ioBroker, write to file
              

              das log ist mit deinem neuen file - ohne getStatus() - war nur eine frage

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

              @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.

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

              liv-in-skyL 3 Antworten Letzte Antwort
              0
              • 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 liv-in-sky
                #375

                @thewhobox

                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=7Eqk0YywPeNtHf5nKKMdWmNAqRhSyR8Q; Path=/; Secure; HttpOnly","csrf_token=HlhrzcVRNkyp4CpUYN2pRQAvYzwK6p6U; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Tue, 27 Aug 2019 15:27:36 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}}}
                

                alles

                17:37:35.460	info	javascript.2 Stop script script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                17:37:36.896	info	javascript.2 Start javascript script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2
                17:37:36.896	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: registered 0 subscriptions and 0 schedules
                17:37:36.918	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: Du bist nun ausgeloggt.
                17:37:36.918	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: <!DOCTYPE html><html lang="en" ng-controller="ManageController as manageCtrl" ng-strict-di><head><meta charset="utf-8"><title ng-bind="manageCtrl.system.getName() || manageCtrl.system.getHostname() || 'UniFi Network'">UniFi Network</title><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" unifi-prevent-focus-zoom><meta name="apple-itunes-app" content="app-id=1057750338"><base href="/manage/"><link rel="apple-touch-icon-precomposed" href="images/favicons/favicon-152.png?v=2"><meta name="msapplication-TileColor" content="#0193d7"><meta name="msapplication-TileImage" content="images/favicons/favicon-144.png?v=2"><link rel="apple-touch-icon-precomposed" sizes="152x152" href="images/favicons/favicon-152.png?v=2"><link rel="apple-touch-icon-precomposed" sizes="144x144" href="images/favicons/favicon-144.png?v=2"><link rel="apple-touch-icon-precomposed" sizes="120x120" href="images/favicons/favicon-120.png?v=2"><link rel="apple-touch-icon-precomposed" sizes="72x72" href="images/favicons/favicon-72.png?v=2"><link rel="apple-touch-icon-precomposed" href="images/favicons/favicon-57.png?v=2"><link rel="icon" href="images/favicons/favicon-32.png?v=2" sizes="32x32"><script src="config/config.v5.11.39.0.js"></script><script type="text/javascript">window.unifiConfig.version = '5.11.39.0'; </script><script src="js/initial.v5.11.39.0.js"></script><script src="js/components.v5.11.39.0.js" defer></script><script src="js/base.v5.11.39.0.js" defer></script><script src="js/main.manage.v5.11.39.0.js" defer></script><style>.whiteout{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;justify-content:center;align-items:center}.type-word-break{word-break:break-all}[ng-cloak]{display:none}.app{visibility:hidden}*,*:before,*:after{-webkit-box-sizing:border-box;box-sizing:border-box}html,body{font-size:14px !important}body{font-family:"Lato", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;font-weight:400;height:100%;background:#ffffff;color:#000000;line-height:1}div{display:block}.mt-3{margin-top:12px !important}.mb-3{margin-bottom:12px !important}.stackCenter{display:flex;flex-direction:column;align-items:center}.ubntStatusBar{background-color:#d6d9e2;display:inline-block;height:2px;width:100%}.ubntStatusBar--success{--status-bar-color: #39cc64}.ubntStatusBar__status{background-color:#006fff;display:block;height:100%}.appSpinner.appSpinner--medium{background-size:cover;width:3.5714285714rem;height:3.5714285714rem} </style><link href="fonts/5.11.39.0/ubnt-icon/style.css" rel="stylesheet" media="none" onload="if(media!=='all') media='all'"><link href="css/styles.bundle.v5.11.39.0.css" rel="stylesheet" media="none" onload="if(media!=='all') media='all'"><link href="css/app.v5.11.39.0.css" rel="stylesheet" media="none" onload="if(media!=='all') media='all'"><link href="https://chrome.google.com/webstore/detail/hmpigflbjeapnknladcfphgkemopofig" rel="chrome-webstore-item"><link href="fonts/5.11.39.0/aura/fonts.css" rel="stylesheet" media="none" onload="if(media!=='all') media='all'"></head><body aura-theme><svg class="pos-absolute" height="0" width="0"><defs><linearGradient id="experienceGraphGradient" x1="0" y1="0" x2="0" y2="100%" patternUnits="userSpaceOnUse"><stop offset="0%" stop-color="#0046cc" stop-opacity="0.3"></stop><stop offset="100%" stop-color="#ffffff" stop-opacity="0"></stop></linearGradient></defs></svg><route-status route-status-fatal-state="manageCtrl.ENV.FATAL_STATE" route-status-immediate="manageCtrl.site.isSiteChanging"><unifi-connection-status></unifi-connection-status></route-status><div class="app" unifi-bowser ng-cloak><unifi-key-events></unifi-key-events><!--[if lte IE 9]><div class="appOutdatedBrowserWarning is-warning-visible ubntToastContainer"><![endif]--><!--[if gt IE 9]><!--><div class="appOutdatedBrowserWarning ubntToastContainer"><!--<![endif]--><div class="ubntToast"><div class="ubntToast__image"><div class="ubntIconContainer ubntIconContainer--round ubntIconContainer--danger"><div class="type-larger ubnt-icon--alert" style="margin-top: -4px;"></div></div></div><div class="ubntToast__body"><div class="ubntToast__title">Outdated Browser</div><div class="ubntToast__details">You are using an <strong>outdated</strong> browser. Please <a href='http://browsehappy.com/' class='ubntLink'>upgrade your browser</a> to improve your experience.</div></div></div></div><div class="ubntToastContainer" hey-toaster unifi-position-alerts><div class="ubntToast" ng-class="{'is-child-dropdown-expanded': dropdownVisible}"><div class="ubntToast__image appAlertIcon" style="display: flex;" ng-if="::toast.message.icon" ng-class="::[toast.message.icon, { 'primary': toast.level === 'primary' || toast.level === 'default', 'success': toast.level === 'success', 'warning': toast.level === 'warning', 'danger': toast.level === 'danger' }]"></div><div class="ubntToast__image" ng-if="::!toast.message.icon"><div class="ubntIconContainer ubntIconContainer--round" ng-class="::{ 'ubntIconContainer--primary': toast.level === 'primary' || toast.level === 'default', 'ubntIconContainer--success': toast.level === 'success', 'ubntIconContainer--warning': toast.level === 'warning', 'ubntIconContainer--danger': toast.level === 'danger' }" ng-init="icon = ((toast.level === 'primary' || toast.level === 'default') &amp;&amp; 'bell' || toast.level === 'danger' &amp;&amp; 'close' || toast.level)"><unifi-aura-icon unifi-aura-icon="::icon" unifi-aura-icon-class="['ubntIcon']"></unifi-aura-icon></div></div><div class="ubntToast__close"><div class="ubntIcon ubntIcon--actionable ubntIcon--transparent iconText__icon ubnt-icon--x-circle" ng-click="toast.close()"></div></div><div class="ubntToast__body"><div class="ubntToast__title" ng-if="::toast.message.title">{{::toast.message.title}}</div><div class="ubntToast__details">{{::toast.message.text || toast.message | decodeHtml}}</div><div class="ubntToast__actions ubntButtonGroup ubntButtonGroup--cozy" ng-if="::toast.message.primary || toast.message.secondary"><button class="ubntButton ubntButton--link" ng-if="toast.message.secondary" type="button" ng-click="toast.message.secondary.callback();toast.close()"><span class="button__icon icon" ng-class="::toast.message.secondary.icon"></span><span>{{::toast.message.secondary.label}}</span></button><button class="ubntButton ubntButton--link" ng-if="toast.message.primary &amp;&amp; !toast.message.primary.actions" type="button" ng-click="toast.message.primary.callback();toast.close()"><span class="button__icon icon" ng-class="::toast.message.primary.icon ? toast.message.primary.icon : 'ubnt-icon--check-2'"></span><span>{{::toast.message.primary.label}}</span></button><button class="ubntSelect ubntSelect--link" ng-if="toast.message.primary &amp;&amp; toast.message.primary.actions" type="button" ng-click="$parent.$parent.dropdownVisible = !$parent.$parent.dropdownVisible;"> {{::toast.message.primary.label}}</button></div><div class="ubntToast__dropdown" ng-if="::toast.message.primary &amp;&amp; toast.message.primary.actions"><div class="ubntDropdown"><a class="ubntDropdown__item" ng-repeat="item in ::toast.message.primary.actions" ng-click="item.callback(toast)">{{::item.label}}</a></div></div></div></div></div><ui-view></ui-view><unifi-debug-panel></unifi-debug-panel><div class="unifiModalLayoutContainer"><unifi-blackout-modal unifi-blackout-modal-layout="addClientLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="autoChannelsModalLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="addDpiCategoryGraphLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="addSiteLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="addSshKeyLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="cloudAccess2faTokenLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="cloudAccessUserLayout" unifi-blackout-modal-reject-on-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="cloudKeySdCardCheckLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="configureMapsLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="confirmLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="dashboardFormLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="deviceUlteSetupLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="discoveryToolChromeRequiredLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="discoveryToolInstallLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="discoveryToolPortAlreadyInUseLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="dpiRestrictionFormLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="dpiRestrictionGroupFormLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="dpiRestrictionNetworkAssignmentFormLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="editAccountLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="adminPasswordChangeSuggestionLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="editMapLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="exportSiteLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="eliteDeviceOfflineLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="firewallGroupsCreateLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="fallbackVlanLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="hotspot2NaiRealmListEntryLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="hotspotPackageLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="importSiteLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="ipsSuppressionFormLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="ipsWhitelistFormLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="instantRmaLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="ipsThreatDetailLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="ispThroughputLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="preferencesLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="radiusProfileLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="reportClientFingerprintLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="simpleTextEditorLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="sitesOverviewLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="speedTestLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="statisticsDpiFiltersLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="systemConfigLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="reportTermsOfServiceLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="trainingLoginLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="webrtcErrorLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="webrtcFailedLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="wirelessNetworkMacFilterAddBatchLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="wirelessNetworkMacFilterAddClientsLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="wirelessUplinkDfsWarningLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="workingLayout"></unifi-blackout-modal><unifi-blackout-modal unifi-blackout-modal-layout="webrtcReconnectingLayout" unifi-blackout-modal-disable-esc="true"></unifi-blackout-modal><unifi-app-takeover unifi-app-takeover-layout="whatsNewTakeoverLayout" unifi-app-takeover-show-header="true"></unifi-app-takeover></div></div><!-- Native app loading status--></body></html>
                17:37:36.918	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: starting test
                17:37:36.918	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: start set wifi
                17:37:36.918	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: need to login
                17:37:37.194	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=UxCIewm8sjQjyecfzvUm4dfDNbrsE2d5; Path=/; Secure; HttpOnly","csrf_token=uN8KhbamMmCoPo1GpgnK94JEBQQJRGZf; Path=/; Secure"],"x-frame-options":"DENY","content-type":"application/json;charset=UTF-8","content-length":"30","date":"Tue, 27 Aug 2019 15:37:36 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}}}
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Login war erfolgreich!
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: set_cookies:
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: Cookies: ["unifises=UxCIewm8sjQjyecfzvUm4dfDNbrsE2d5","csrf_token=uN8KhbamMmCoPo1GpgnK94JEBQQJRGZf"]
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: login: resolved
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: now setting wifi
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: got response
                17:37:37.194	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejetced
                17:37:37.195	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: resp: {}
                17:37:37.200	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
                17:37:37.200	info	javascript.2 script.js.Armin_Schalter.ALLERLEI.UnifiWLAN2: reject1
                17:37:37.200	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
                • 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
                  #376

                  @thewhobox auch auf die gefahr das dies lächerlich ist

                  ich habe mal das unifi.js file von nodered geholt - kannst du damit etwas anfangen - damit soll man auch wifi disablen und enablen können - zeile 1171 wird auch wlan ein-ausgeschalten
                  unifi.js.txt

                  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
                  • dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #377

                    @thewhobox
                    @liv-in-sky
                    so, jetzt bin ich zu Hause. Jetzt kann ich Euch kaum folgen. Soll ich was helfen/testen ?

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

                      @thewhobox
                      @liv-in-sky
                      so, jetzt bin ich zu Hause. Jetzt kann ich Euch kaum folgen. Soll ich was helfen/testen ?

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

                      @dslraser
                      ich glaub im moment ist pause

                      das ist das aktuelle script: achtung in der ersten zeile hat sich auch etwas verändert - vor dem user setting

                      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({
                                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' }
                            }).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() {
                        await logout();
                        console.log("starting test");
                        await setWifi(true).catch((e) => console.log("reject1"));
                        console.log("getting status");
                        let wlan = await getStatus().catch((e) => console.log("reject2"));
                        console.log("fin")
                        console.log(wlan);
                      }
                      
                      test()
                      

                      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 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

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          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

                                          524

                                          Online

                                          32.8k

                                          Benutzer

                                          82.7k

                                          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