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

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

Community Forum

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

NEWS

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

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

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

Adapter: ioBroker.unifi

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

    @liv-in-sky 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
                                  • thewhoboxT thewhobox

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

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

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

                                    @thewhobox

                                    hier der test mit linux

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

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • thewhoboxT thewhobox

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

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

                                      @thewhobox sagte in Adapter: ioBroker.unifi:

                                      body: JSON.stringify({ enabled }),

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

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

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

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

                                        @thewhobox sagte in Adapter: ioBroker.unifi:

                                        body: JSON.stringify({ enabled }),

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

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

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

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

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

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

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

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

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

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

                                          @thewhobox moment noch - jetzt ist was passiert

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

                                          1 Antwort Letzte Antwort
                                          0
                                          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

                                          814

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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