Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter: ioBroker.unifi

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Adapter: ioBroker.unifi

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky last edited by

      @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

      thewhobox 1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active last edited by

        @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 Reply Quote 0
        • thewhobox
          thewhobox @liv-in-sky last edited by

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

          dslraser 1 Reply Last reply Reply Quote 2
          • dslraser
            dslraser Forum Testing Most Active @thewhobox last edited by

            @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

            thewhobox liv-in-sky 2 Replies Last reply Reply Quote 0
            • thewhobox
              thewhobox @dslraser last edited by

              @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);
              });
              
              1 Reply Last reply Reply Quote 1
              • liv-in-sky
                liv-in-sky @dslraser last edited by

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

                1 Reply Last reply Reply Quote 1
                • dslraser
                  dslraser Forum Testing Most Active last edited by

                  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 Reply Quote 0
                  • A
                    aikonflo last edited by

                    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 Reply Quote 0
                    • I
                      ikkerus last edited by

                      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!

                      BBTown Sunshinemaker 2 Replies Last reply Reply Quote 0
                      • BBTown
                        BBTown @ikkerus last edited by BBTown

                        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

                        1 Reply Last reply Reply Quote 0
                        • I
                          ikkerus last edited by

                          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?

                          BBTown liv-in-sky 3 Replies Last reply Reply Quote 0
                          • BBTown
                            BBTown @ikkerus last edited by BBTown

                            @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

                            1 Reply Last reply Reply Quote 0
                            • BBTown
                              BBTown @ikkerus last edited by

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

                              curl -sL https://iobroker.net/fix.sh | bash -
                              
                              1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @ikkerus last edited by

                                @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

                                1 Reply Last reply Reply Quote 0
                                • I
                                  ikkerus last edited by

                                  @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
                                  
                                  BBTown 1 Reply Last reply Reply Quote 0
                                  • BBTown
                                    BBTown @ikkerus last edited by

                                    @ikkerus sagte in Adapter: ioBroker.unifi:

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

                                    Aber für was denn genau?

                                    1 Reply Last reply Reply Quote 0
                                    • I
                                      ikkerus last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        aleks-83 last edited by aleks-83

                                        Hi,
                                        kann man mit dem UniFi Adapter irgendwie die Verbindungsgeschwindigkeit der Clients anzeigen?
                                        Also mit wieviel MBit/s der jeweilige Client am Access Point aktuell angebunden ist?
                                        Ich habe nur die Qualität in dB gefunden. Oder kann man daraus die MBit/s errechnen?

                                        EDIT:
                                        Oh, sorry, das ist wohl die TxRate oder?

                                        Und wie zeige ich die aktuelle Durchsatzrate des Clienten an? Geht das?

                                        1 Reply Last reply Reply Quote 0
                                        • Sunshinemaker
                                          Sunshinemaker @ikkerus last edited by

                                          @ikkerus @jens-maus

                                          Ich häng mich hier mal dran, da ich genau das selbe Problem habe.

                                          unifi.0 2019-10-23 18:40:48.704 info ERROR: api.err.Invalid
                                          unifi.0 2019-10-23 18:40:46.792 info controller = 192.168.1.103:8443
                                          unifi.0 2019-10-23 18:40:46.792 info update_interval = 30
                                          unifi.0 2019-10-23 18:40:46.792 info Starting UniFi-Controller query
                                          unifi.0 2019-10-23 18:40:46.767 info starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.unifi, node: v8.16.2

                                          Iibroker läuft in einer Synology Docker Umgebung. Der Unifi Controller lief vorher auf der selben Synology Disk da gab es keinerlei Probleme. Inzwischen läuft der Unifi Controller auf dem Cloud Key Gen 1
                                          Firmware: 1.1.0

                                          Unifi Controller : 5.11.50-12745-1

                                          Vielleicht hat da ja doch jemand eine Idee.

                                          1 Reply Last reply Reply Quote 0
                                          • cvidal
                                            cvidal Forum Testing last edited by

                                            Funktioniert der Adapter auch mit dem Cloud Key Gen.2?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            852
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            unifi
                                            170
                                            998
                                            311923
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo