Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter: ioBroker.unifi

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    229

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

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

Adapter: ioBroker.unifi

Adapter: ioBroker.unifi

Scheduled Pinned Locked Moved ioBroker Allgemein
unifi
1.0k Posts 172 Posters 392.4k Views 93 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • dslraserD dslraser

    @thewhobox

    javascript.0 script.js.Heiko.Unifi.unifi_wifi: WLAN ist: an
    
    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by
    #415

    @dslraser

    schalten sich bei dir auch alle netzwerke ab und an - nicht nur das gäste netzwerk - es scheint. als ob unifi einen restart macht nach dem setting

    schalte ich mit script gästenetzwerk ein - werden beide netze restartet und das gästenetzwerk ist an - hauptnetz ist an
    schalte ich mit script gästenetzwerk aus- werden beide netze restartet und das gästenetzwerk ist aus - hauptnetz ist an

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

    dslraserD 2 Replies Last reply
    0
    • liv-in-skyL liv-in-sky

      @dslraser

      schalten sich bei dir auch alle netzwerke ab und an - nicht nur das gäste netzwerk - es scheint. als ob unifi einen restart macht nach dem setting

      schalte ich mit script gästenetzwerk ein - werden beide netze restartet und das gästenetzwerk ist an - hauptnetz ist an
      schalte ich mit script gästenetzwerk aus- werden beide netze restartet und das gästenetzwerk ist aus - hauptnetz ist an

      dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      wrote on last edited by
      #416

      @liv-in-sky
      ja, das ist leider so, weil dann komplett neu Provisioniert wird.

      1 Reply Last reply
      0
      • liv-in-skyL liv-in-sky

        @dslraser

        schalten sich bei dir auch alle netzwerke ab und an - nicht nur das gäste netzwerk - es scheint. als ob unifi einen restart macht nach dem setting

        schalte ich mit script gästenetzwerk ein - werden beide netze restartet und das gästenetzwerk ist an - hauptnetz ist an
        schalte ich mit script gästenetzwerk aus- werden beide netze restartet und das gästenetzwerk ist aus - hauptnetz ist an

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        wrote on last edited by
        #417

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

        schalten sich bei dir auch alle netzwerke ab und an - nicht nur das gäste netzwerk - es scheint. als ob unifi einen restart macht nach dem setting

        achso, wenn ich ein WLAN, egal welches an oder ausschalte wird neu provisioniert, aber das nicht ausgeschaltete kommt dann nach dem provisionieren wieder. Nur verlieren alle Geräte kurz die Verbindung...zu mindestens der Rechner an dem ich gerade binn, dauert nur immer einen Moment

        1 Reply Last reply
        0
        • liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          wrote on last edited by
          #418

          @thewhobox

          vielen vielen dank für deine zeit, die du investiert hast - wenn es deine zeit und lust erlaubt wäre noch ein zusätzliche info hilfreich:

          wäre es möglich eine liste der angemeldeten geräte zu bekommen

          mehr info würde ich garnicht brauchen

          wenn das zu unverschämt ist, auch kein thema - bin froh, dass das was wir jetzt haben, funktioniert

          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 Reply Last reply
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            wrote on last edited by
            #419

            @thewhobox
            Ja, von mir auch ein herzlichen Dank für Deine Mühe.
            Dem Wunsch von @liv-in-sky würde ich mich anschließen. Das sind bei mir auch alle Daten die ich bräuchte.
            👍👍👍

            1 Reply Last reply
            0
            • liv-in-skyL liv-in-sky

              @thewhobox

              vielen vielen dank für deine zeit, die du investiert hast - wenn es deine zeit und lust erlaubt wäre noch ein zusätzliche info hilfreich:

              wäre es möglich eine liste der angemeldeten geräte zu bekommen

              mehr info würde ich garnicht brauchen

              wenn das zu unverschämt ist, auch kein thema - bin froh, dass das was wir jetzt haben, funktioniert

              thewhoboxT Offline
              thewhoboxT Offline
              thewhobox
              wrote on last edited by
              #420

              @liv-in-sky Gerne doch.
              Ich schau mir nachher mal das verlinkte Skript an ob die das haben. Wenn ja, dann kann ich das mit einbauen.

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

              dslraserD 1 Reply Last reply
              2
              • thewhoboxT thewhobox

                @liv-in-sky Gerne doch.
                Ich schau mir nachher mal das verlinkte Skript an ob die das haben. Wenn ja, dann kann ich das mit einbauen.

                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                wrote on last edited by
                #421

                @thewhobox
                @liv-in-sky

                ich habe noch eine Frage, für Euch wahrscheinlich simpel. Wie bekomme ich jetzt den Status des WLAN aus dem Log in einen eigenen Datenpunkt ?
                Ich habe mir drei Datenpunkte in das Script eingebaut. Schalten funktioniert.👍
                Aber wie mache ich das mit dem Status aus dem Log

                on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.02wifi_an'/*Unifi Wifi an*/, val: true, change: 'any'}, wifi_an);
                on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.03wifi_aus'/*Unifi Wifi aus*/, val: true, change: 'any'}, wifi_aus);
                //Datenpunkt für Wifi Status erstellen
                createState("Eigene_Datenpunkte.25Unifi_Wifi.01wifi_Status",'nicht bekannt', {
                    name: 'Unifi Wifi Status', 
                    role: 'string',
                    read:  true, 
                    write: true,
                });
                
                //Datenpunkt Button für Wifi an erstellen
                createState("Eigene_Datenpunkte.25Unifi_Wifi.02wifi_an", {
                    name: 'Unifi Wifi an', 
                    role: 'button',
                    read:  true, 
                    write: true,
                    type: "boolean",
                    "smartName": {
                    "de": "02Gäste Wlan an",
                    "smartType": "SWITCH"
                }
                });
                
                //Datenpunkt Button für Wifi aus erstellen
                createState("Eigene_Datenpunkte.25Unifi_Wifi.03wifi_aus", {
                    name: 'Unifi Wifi aus', 
                    role: 'button',
                    read:  true, 
                    write: true,
                    type: "boolean",
                    "smartName": {
                    "de": "03Gäste Wlan aus",
                    "smartType": "SWITCH"
                }
                });
                
                const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                const unifi_username = "xxx";
                const unifi_password = "xxx";
                const unifi_controller = "https://192.168.xxx.xxx:xxx";
                const wifi_id = "xxxxxxxxxxxx";
                let cookies = [];
                let loggedIn = false;
                let debug = true;
                 
                function dlog(message) {
                   if(debug)
                       console.log(message);
                }
                 
                async function login() {
                   return new Promise(async (resolve, reject) => {
                       let resp = await request.post({
                           resolveWithFullResponse: true,
                           url: unifi_controller + "/api/login",
                           body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                           headers: { 'Content-Type': 'application/json' }
                       }).catch((e) => { dlog("login: reject"), reject(e) });
                       
                       if(resp != null) {
                           dlog("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 {
                               dlog("login: no cookies to set!")
                           }
                           loggedIn = true;
                           resolve();
                       } else {
                           dlog("login: rejected")
                           reject("resp = null");
                       }
                   });
                }
                 
                async function getStatus() {
                    return new Promise(async (resolve, reject) => {
                        dlog("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) => { dlog("getStatus reject " + e); reject(e) });
                    
                        dlog("got response " + JSON.stringify(resp));
                        dlog(typeof resp);
                        resp = JSON.parse(resp);
                        dlog(resp.meta);
                        dlog(resp.meta.rc);
                        
                        let wlanOn = resp.data[0].enabled;
                        dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                        if(resp != null && resp.meta && resp.meta.rc == "ok") {
                            dlog("Status erfolgreich geholt!");
                            dlog(resp);
                            let wlanOn = resp.data[0].enabled;
                            dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                            resolve(wlanOn);
                        } else {
                            dlog("nicht ok...")
                            
                            reject(JSON.stringify(resp));
                        }
                    });
                }
                
                async function setWifi(enabled) {
                   return new Promise(async (resolve, reject) => {
                       dlog("setWifi: start set wifi");
                       if(!loggedIn) { dlog("need to login"); await login().catch((e) => reject(e)); }
                       dlog("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) => { dlog("setWifi: rejected: " + e); reject(e) });
                       dlog("setWifi: got response")
                       if(resp != null) {
                           dlog("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                           dlog(resp);
                           resolve();
                       } else {
                           dlog("setWifi: rejetced")
                           dlog("resp: " + JSON.stringify(resp));
                           reject("msg: " + JSON.parse(resp.body).meta.msg);
                       }
                   });
                }
                 
                async function wifi_an() {
                    dlog("starting wifi_an");
                    await setWifi(true).catch((e) => dlog("reject1: " + e));
                    dlog("getting status");
                    let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                    console.log("fin")
                    console.log(wlan);
                }
                async function wifi_aus() {
                    dlog("starting wifi_aus");
                    await setWifi(false).catch((e) => dlog("reject1: " + e));
                    dlog("getting status");
                    let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                    console.log("fin")
                    console.log(wlan);
                }
                 
                //wifi_an();
                //wifi_aus();
                getStatus();
                

                Hier die Datenpunkte, die Zahlen sind nur drinn, damit es zu meiner "Struktur" passt.

                Bildschirmfoto 2019-08-28 um 12.17.22.png

                thewhoboxT liv-in-skyL 2 Replies Last reply
                0
                • dslraserD dslraser

                  @thewhobox
                  @liv-in-sky

                  ich habe noch eine Frage, für Euch wahrscheinlich simpel. Wie bekomme ich jetzt den Status des WLAN aus dem Log in einen eigenen Datenpunkt ?
                  Ich habe mir drei Datenpunkte in das Script eingebaut. Schalten funktioniert.👍
                  Aber wie mache ich das mit dem Status aus dem Log

                  on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.02wifi_an'/*Unifi Wifi an*/, val: true, change: 'any'}, wifi_an);
                  on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.03wifi_aus'/*Unifi Wifi aus*/, val: true, change: 'any'}, wifi_aus);
                  //Datenpunkt für Wifi Status erstellen
                  createState("Eigene_Datenpunkte.25Unifi_Wifi.01wifi_Status",'nicht bekannt', {
                      name: 'Unifi Wifi Status', 
                      role: 'string',
                      read:  true, 
                      write: true,
                  });
                  
                  //Datenpunkt Button für Wifi an erstellen
                  createState("Eigene_Datenpunkte.25Unifi_Wifi.02wifi_an", {
                      name: 'Unifi Wifi an', 
                      role: 'button',
                      read:  true, 
                      write: true,
                      type: "boolean",
                      "smartName": {
                      "de": "02Gäste Wlan an",
                      "smartType": "SWITCH"
                  }
                  });
                  
                  //Datenpunkt Button für Wifi aus erstellen
                  createState("Eigene_Datenpunkte.25Unifi_Wifi.03wifi_aus", {
                      name: 'Unifi Wifi aus', 
                      role: 'button',
                      read:  true, 
                      write: true,
                      type: "boolean",
                      "smartName": {
                      "de": "03Gäste Wlan aus",
                      "smartType": "SWITCH"
                  }
                  });
                  
                  const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                  const unifi_username = "xxx";
                  const unifi_password = "xxx";
                  const unifi_controller = "https://192.168.xxx.xxx:xxx";
                  const wifi_id = "xxxxxxxxxxxx";
                  let cookies = [];
                  let loggedIn = false;
                  let debug = true;
                   
                  function dlog(message) {
                     if(debug)
                         console.log(message);
                  }
                   
                  async function login() {
                     return new Promise(async (resolve, reject) => {
                         let resp = await request.post({
                             resolveWithFullResponse: true,
                             url: unifi_controller + "/api/login",
                             body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                             headers: { 'Content-Type': 'application/json' }
                         }).catch((e) => { dlog("login: reject"), reject(e) });
                         
                         if(resp != null) {
                             dlog("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 {
                                 dlog("login: no cookies to set!")
                             }
                             loggedIn = true;
                             resolve();
                         } else {
                             dlog("login: rejected")
                             reject("resp = null");
                         }
                     });
                  }
                   
                  async function getStatus() {
                      return new Promise(async (resolve, reject) => {
                          dlog("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) => { dlog("getStatus reject " + e); reject(e) });
                      
                          dlog("got response " + JSON.stringify(resp));
                          dlog(typeof resp);
                          resp = JSON.parse(resp);
                          dlog(resp.meta);
                          dlog(resp.meta.rc);
                          
                          let wlanOn = resp.data[0].enabled;
                          dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                          if(resp != null && resp.meta && resp.meta.rc == "ok") {
                              dlog("Status erfolgreich geholt!");
                              dlog(resp);
                              let wlanOn = resp.data[0].enabled;
                              dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                              resolve(wlanOn);
                          } else {
                              dlog("nicht ok...")
                              
                              reject(JSON.stringify(resp));
                          }
                      });
                  }
                  
                  async function setWifi(enabled) {
                     return new Promise(async (resolve, reject) => {
                         dlog("setWifi: start set wifi");
                         if(!loggedIn) { dlog("need to login"); await login().catch((e) => reject(e)); }
                         dlog("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) => { dlog("setWifi: rejected: " + e); reject(e) });
                         dlog("setWifi: got response")
                         if(resp != null) {
                             dlog("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                             dlog(resp);
                             resolve();
                         } else {
                             dlog("setWifi: rejetced")
                             dlog("resp: " + JSON.stringify(resp));
                             reject("msg: " + JSON.parse(resp.body).meta.msg);
                         }
                     });
                  }
                   
                  async function wifi_an() {
                      dlog("starting wifi_an");
                      await setWifi(true).catch((e) => dlog("reject1: " + e));
                      dlog("getting status");
                      let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                      console.log("fin")
                      console.log(wlan);
                  }
                  async function wifi_aus() {
                      dlog("starting wifi_aus");
                      await setWifi(false).catch((e) => dlog("reject1: " + e));
                      dlog("getting status");
                      let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                      console.log("fin")
                      console.log(wlan);
                  }
                   
                  //wifi_an();
                  //wifi_aus();
                  getStatus();
                  

                  Hier die Datenpunkte, die Zahlen sind nur drinn, damit es zu meiner "Struktur" passt.

                  Bildschirmfoto 2019-08-28 um 12.17.22.png

                  thewhoboxT Offline
                  thewhoboxT Offline
                  thewhobox
                  wrote on last edited by
                  #422

                  @dslraser Für Status wäre ein Intervall gut:

                  setInterval(async () => {
                      let state = await getStatus();
                      setState("Eigene_Datenpunkte.25Unifi_Wifi.01wifi_Status", state, true);
                  }, 10000); // Aktualisiert alle 10 Sekunden.
                  

                  Und für die Buttons:

                  on("Eigene_Datenpunkte.25Unifi_Wifi.02wifi_an", (state) => {
                      setWifi(true);
                  });
                  on("Eigene_Datenpunkte.25Unifi_Wifi.02wifi_aus", (state) => {
                      setWifi(false);
                  });
                  

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

                  1 Reply Last reply
                  1
                  • dslraserD dslraser

                    @thewhobox
                    @liv-in-sky

                    ich habe noch eine Frage, für Euch wahrscheinlich simpel. Wie bekomme ich jetzt den Status des WLAN aus dem Log in einen eigenen Datenpunkt ?
                    Ich habe mir drei Datenpunkte in das Script eingebaut. Schalten funktioniert.👍
                    Aber wie mache ich das mit dem Status aus dem Log

                    on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.02wifi_an'/*Unifi Wifi an*/, val: true, change: 'any'}, wifi_an);
                    on({id:'javascript.0.Eigene_Datenpunkte.25Unifi_Wifi.03wifi_aus'/*Unifi Wifi aus*/, val: true, change: 'any'}, wifi_aus);
                    //Datenpunkt für Wifi Status erstellen
                    createState("Eigene_Datenpunkte.25Unifi_Wifi.01wifi_Status",'nicht bekannt', {
                        name: 'Unifi Wifi Status', 
                        role: 'string',
                        read:  true, 
                        write: true,
                    });
                    
                    //Datenpunkt Button für Wifi an erstellen
                    createState("Eigene_Datenpunkte.25Unifi_Wifi.02wifi_an", {
                        name: 'Unifi Wifi an', 
                        role: 'button',
                        read:  true, 
                        write: true,
                        type: "boolean",
                        "smartName": {
                        "de": "02Gäste Wlan an",
                        "smartType": "SWITCH"
                    }
                    });
                    
                    //Datenpunkt Button für Wifi aus erstellen
                    createState("Eigene_Datenpunkte.25Unifi_Wifi.03wifi_aus", {
                        name: 'Unifi Wifi aus', 
                        role: 'button',
                        read:  true, 
                        write: true,
                        type: "boolean",
                        "smartName": {
                        "de": "03Gäste Wlan aus",
                        "smartType": "SWITCH"
                    }
                    });
                    
                    const request = require('request-promise-native').defaults({ rejectUnauthorized: false });
                    const unifi_username = "xxx";
                    const unifi_password = "xxx";
                    const unifi_controller = "https://192.168.xxx.xxx:xxx";
                    const wifi_id = "xxxxxxxxxxxx";
                    let cookies = [];
                    let loggedIn = false;
                    let debug = true;
                     
                    function dlog(message) {
                       if(debug)
                           console.log(message);
                    }
                     
                    async function login() {
                       return new Promise(async (resolve, reject) => {
                           let resp = await request.post({
                               resolveWithFullResponse: true,
                               url: unifi_controller + "/api/login",
                               body: JSON.stringify({ username: unifi_username, password: unifi_password }),
                               headers: { 'Content-Type': 'application/json' }
                           }).catch((e) => { dlog("login: reject"), reject(e) });
                           
                           if(resp != null) {
                               dlog("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 {
                                   dlog("login: no cookies to set!")
                               }
                               loggedIn = true;
                               resolve();
                           } else {
                               dlog("login: rejected")
                               reject("resp = null");
                           }
                       });
                    }
                     
                    async function getStatus() {
                        return new Promise(async (resolve, reject) => {
                            dlog("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) => { dlog("getStatus reject " + e); reject(e) });
                        
                            dlog("got response " + JSON.stringify(resp));
                            dlog(typeof resp);
                            resp = JSON.parse(resp);
                            dlog(resp.meta);
                            dlog(resp.meta.rc);
                            
                            let wlanOn = resp.data[0].enabled;
                            dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                            if(resp != null && resp.meta && resp.meta.rc == "ok") {
                                dlog("Status erfolgreich geholt!");
                                dlog(resp);
                                let wlanOn = resp.data[0].enabled;
                                dlog("WLAN ist: " + (wlanOn ? "an" : "aus"));
                                resolve(wlanOn);
                            } else {
                                dlog("nicht ok...")
                                
                                reject(JSON.stringify(resp));
                            }
                        });
                    }
                    
                    async function setWifi(enabled) {
                       return new Promise(async (resolve, reject) => {
                           dlog("setWifi: start set wifi");
                           if(!loggedIn) { dlog("need to login"); await login().catch((e) => reject(e)); }
                           dlog("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) => { dlog("setWifi: rejected: " + e); reject(e) });
                           dlog("setWifi: got response")
                           if(resp != null) {
                               dlog("setWifi: Wifi wurde erfolgreich " + (enabled ? "eingeschaltet" : "ausgeschaltet"));
                               dlog(resp);
                               resolve();
                           } else {
                               dlog("setWifi: rejetced")
                               dlog("resp: " + JSON.stringify(resp));
                               reject("msg: " + JSON.parse(resp.body).meta.msg);
                           }
                       });
                    }
                     
                    async function wifi_an() {
                        dlog("starting wifi_an");
                        await setWifi(true).catch((e) => dlog("reject1: " + e));
                        dlog("getting status");
                        let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                        console.log("fin")
                        console.log(wlan);
                    }
                    async function wifi_aus() {
                        dlog("starting wifi_aus");
                        await setWifi(false).catch((e) => dlog("reject1: " + e));
                        dlog("getting status");
                        let wlan = await getStatus().catch((e) => dlog("reject2: " + e));
                        console.log("fin")
                        console.log(wlan);
                    }
                     
                    //wifi_an();
                    //wifi_aus();
                    getStatus();
                    

                    Hier die Datenpunkte, die Zahlen sind nur drinn, damit es zu meiner "Struktur" passt.

                    Bildschirmfoto 2019-08-28 um 12.17.22.png

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    wrote on last edited by
                    #423

                    @dslraser
                    mensch seit ihr schnell - wollte gerade beginnen ein eigenes script zu machen - werd wohl das von dir klauen 🙂

                    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 Reply Last reply
                    1
                    • dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      wrote on last edited by
                      #424

                      falls Jemand Interesse an dem Script hat, hier geht es damit weiter.

                      https://forum.iobroker.net/topic/24737/unifi-wlan-script

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        aikonflo
                        wrote on last edited by
                        #425

                        Hallo,
                        wie habt ihr das gemacht das der Adapter bei euch läuft ?
                        Oder liegt das wirklich nur am USG und das habt Ihr nicht ?

                        mfg Flo

                        1 Reply Last reply
                        0
                        • I Offline
                          I Offline
                          ikkerus
                          wrote on last edited by
                          #426

                          Moin zusammen,

                          Danke für dieses Tolle Projekt, diesen Adapter zu entwickeln. Bin gerade dabei, mir meinen ersten iobroker aufzusetzen und erstmal die Adapter zu verbinden. Beim UniFi Adapter scheitere ich damit.

                          Leider erhalte trotz Eingabe der korrekten Zugangsdaten eine Fehlermeldung:

                          unifi.0	2019-10-10 11:18:45.806	info	ERROR: api.err.Invalid
                          unifi.0	2019-10-10 11:18:44.062	info	controller = 10.7.1.25:8443
                          unifi.0	2019-10-10 11:18:44.062	info	update_interval = 60
                          unifi.0	2019-10-10 11:18:44.061	info	Starting UniFi-Controller query
                          unifi.0	2019-10-10 11:18:44.037	info	starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.unifi, node: v10.16.0
                          

                          CloudKey Gen1 Firmware: 1.1.0
                          Controller Software: 5.11.46-12723-1

                          Somit werden natürlich die UniFi-Devices nicht erkannt. Hat jemand eine Idee?

                          Danke!

                          BBTownB SunshinemakerS 2 Replies Last reply
                          0
                          • I ikkerus

                            Moin zusammen,

                            Danke für dieses Tolle Projekt, diesen Adapter zu entwickeln. Bin gerade dabei, mir meinen ersten iobroker aufzusetzen und erstmal die Adapter zu verbinden. Beim UniFi Adapter scheitere ich damit.

                            Leider erhalte trotz Eingabe der korrekten Zugangsdaten eine Fehlermeldung:

                            unifi.0	2019-10-10 11:18:45.806	info	ERROR: api.err.Invalid
                            unifi.0	2019-10-10 11:18:44.062	info	controller = 10.7.1.25:8443
                            unifi.0	2019-10-10 11:18:44.062	info	update_interval = 60
                            unifi.0	2019-10-10 11:18:44.061	info	Starting UniFi-Controller query
                            unifi.0	2019-10-10 11:18:44.037	info	starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.unifi, node: v10.16.0
                            

                            CloudKey Gen1 Firmware: 1.1.0
                            Controller Software: 5.11.46-12723-1

                            Somit werden natürlich die UniFi-Devices nicht erkannt. Hat jemand eine Idee?

                            Danke!

                            BBTownB Offline
                            BBTownB Offline
                            BBTown
                            wrote on last edited by BBTown
                            #427

                            Moin @ikkerus,
                            ich habe zwar keine direkte Hilfe für dein Problem, jedoch fand ich immer, dass der Adapter derartig viele Informationen liefert, dass ich diesen für mich als eher hinderlich und weniger nützlich empfand.

                            Ich würde dir daher alternativ empfehlen einmal in diesem Thread zur UniFi-Steuerung mitzulesen

                            ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                            1 Reply Last reply
                            0
                            • I Offline
                              I Offline
                              ikkerus
                              wrote on last edited by
                              #428

                              Moin @BBTown ,

                              Danke für deinen Tipp. Ich möchte ja auch nicht alle Informationen auf dem iPad, was ich an die Wand hänge Visualisieren. Mir würde es letztlich reichen, den max. Downstream/Upstream (der von UniFi regelmäßig getestet wird) anzugeben und anzuzeigen, ob ich online oder offline bin.

                              Ich habe nach der Image-Installation noch kein Betriebssystem-Update gemacht. Kann es daran liegen?

                              BBTownB liv-in-skyL 3 Replies Last reply
                              0
                              • I ikkerus

                                Moin @BBTown ,

                                Danke für deinen Tipp. Ich möchte ja auch nicht alle Informationen auf dem iPad, was ich an die Wand hänge Visualisieren. Mir würde es letztlich reichen, den max. Downstream/Upstream (der von UniFi regelmäßig getestet wird) anzugeben und anzuzeigen, ob ich online oder offline bin.

                                Ich habe nach der Image-Installation noch kein Betriebssystem-Update gemacht. Kann es daran liegen?

                                BBTownB Offline
                                BBTownB Offline
                                BBTown
                                wrote on last edited by BBTown
                                #429

                                @ikkerus
                                Mit dem Adapter würdest Du - je nach Umfang deiner UniFi Umgebung tausende Datenpunkte erhalten .... ob allerdings der Up/downstream dabei war, weiss ich nicht mehr.

                                Das System sollte natürlich aktuell sein.
                                was spucken denn diese Befehle auf der Konsole aus?

                                nodejs -v
                                npm -v
                                

                                node zeigt bei dir in deinem Post zumindest schon mal die aktuell empfohlene Version v10.16.0 an

                                ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                                1 Reply Last reply
                                0
                                • I ikkerus

                                  Moin @BBTown ,

                                  Danke für deinen Tipp. Ich möchte ja auch nicht alle Informationen auf dem iPad, was ich an die Wand hänge Visualisieren. Mir würde es letztlich reichen, den max. Downstream/Upstream (der von UniFi regelmäßig getestet wird) anzugeben und anzuzeigen, ob ich online oder offline bin.

                                  Ich habe nach der Image-Installation noch kein Betriebssystem-Update gemacht. Kann es daran liegen?

                                  BBTownB Offline
                                  BBTownB Offline
                                  BBTown
                                  wrote on last edited by
                                  #430

                                  @ikkerus und den "fixer" solltest Du auch einmal drüber laufen lassen

                                  curl -sL https://iobroker.net/fix.sh | bash -
                                  

                                  ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                                  1 Reply Last reply
                                  0
                                  • I ikkerus

                                    Moin @BBTown ,

                                    Danke für deinen Tipp. Ich möchte ja auch nicht alle Informationen auf dem iPad, was ich an die Wand hänge Visualisieren. Mir würde es letztlich reichen, den max. Downstream/Upstream (der von UniFi regelmäßig getestet wird) anzugeben und anzuzeigen, ob ich online oder offline bin.

                                    Ich habe nach der Image-Installation noch kein Betriebssystem-Update gemacht. Kann es daran liegen?

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    wrote on last edited by
                                    #431

                                    @ikkerus hi
                                    abgesehen vom unifi adapter problem:

                                    ich mache gerade das unifi script, welches @BBTown vorgeschlagen hat
                                    ich habe auch einstellungen im script, bei der so gut wie keine daten geholt werden - aber wenn du mir erklärst - im anderen thread bitte , was du genau brauchst, schaun wir mal was geht

                                    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 Reply Last reply
                                    0
                                    • I Offline
                                      I Offline
                                      ikkerus
                                      wrote on last edited by
                                      #432

                                      @BBTown

                                      Danke. Das mit dem Fix probiere ich auch mal. Bin gerade noch an einer anderen Sache dran.

                                      @liv-in-sky
                                      Danke und Hi. Das ist eine gute Idee. Für das meiste werde ich eh den UniFi-Controller benutzen. Aber ein paar Schlüsselinformationen zu visualisieren finde ich halt sinnvoll.
                                      Ich melde mich mal im anderen Thread.

                                      root@raspberrypi:/opt/iobroker# nodejs -v
                                      v10.16.0
                                      root@raspberrypi:/opt/iobroker# npm -v
                                      6.9.0
                                      
                                      BBTownB 1 Reply Last reply
                                      0
                                      • I ikkerus

                                        @BBTown

                                        Danke. Das mit dem Fix probiere ich auch mal. Bin gerade noch an einer anderen Sache dran.

                                        @liv-in-sky
                                        Danke und Hi. Das ist eine gute Idee. Für das meiste werde ich eh den UniFi-Controller benutzen. Aber ein paar Schlüsselinformationen zu visualisieren finde ich halt sinnvoll.
                                        Ich melde mich mal im anderen Thread.

                                        root@raspberrypi:/opt/iobroker# nodejs -v
                                        v10.16.0
                                        root@raspberrypi:/opt/iobroker# npm -v
                                        6.9.0
                                        
                                        BBTownB Offline
                                        BBTownB Offline
                                        BBTown
                                        wrote on last edited by
                                        #433

                                        @ikkerus sagte in Adapter: ioBroker.unifi:

                                        Für das meiste werde ich eh den UniFi-Controller

                                        Aber für was denn genau?

                                        ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                                        1 Reply Last reply
                                        0
                                        • I Offline
                                          I Offline
                                          ikkerus
                                          wrote on last edited by
                                          #434

                                          Ich habe das im anderen Thread wie besprochen mal näher beschrieben. Dake!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          53

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe