Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Unifi WLAN Script

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Unifi WLAN Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @liv-in-sky last edited by

      @liv-in-sky
      ist das Script weiter oben sonst okay ?

      da ist immer noch eins zuviel drinn

      let wifiDPs = [];
      
      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @dslraser last edited by

        @dslraser habe nochmal getestet - alle datenpunkte gelöscht- neue handys werden bei mir gefunden

        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @tempestas last edited by

          @tempestas sagte in Unifi WLAN Script:

          @dslraser

          ich bekomme beim import des skripts zig "missing semikolon" sowie " expected an identifier but instead saw ')' " in quasi jeder function.

          Die Semikolons sind kein Problem, das mit den Klammern verstehe ich nicht, da alles zu passen scheint. habs mir nochmal im editor angesehen, da passt m.E. alles

          falls du immer noch ein problem hast - ich lade morgen nochmal das orginal hoch -heute geht es nicht mehr

          ich habe mal nachträglich darin etwas geändert - nicht das ich da einen fehler gemacht habe - muss dich leider auf morgen vertrösten

          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @dslraser last edited by

            @dslraser sagte in Unifi WLAN Script:

            @liv-in-sky
            ist das Script weiter oben sonst okay ?

            da ist immer noch eins zuviel drinn

            let wifiDPs = [];
            

            wird in nächster version bereinigt sein - habe ich bei mir schon gemacht - kommt morgen

            1 Reply Last reply Reply Quote 0
            • T
              tempestas @liv-in-sky last edited by

              @liv-in-sky

              Hi,

              der Fehlier liegt irgendwie in der login function, da meckert er ja über die syntax...

              ich habe das Skript schon mehrfach von 0 neu reinkopiert, immer das gleiche

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

                @tempestas bitte warte bis morgen

                dann gibt es wieder nachschub - sorry

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

                  @tempestas
                  meinst Du das Script aus dem Beitrag hier ?

                  https://forum.iobroker.net/post/297012

                  da ist ein zuviel

                  let wifiDPs = [];
                  
                  

                  am Anfang eines davon auskommentieren.

                  Edit: ich glaube es ist korrigiert...?

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @dslraser last edited by liv-in-sky

                    @tempestas

                    ( @dslraser - ist kein update - selbe version wie letztes mal)

                    hier nochmal das script

                    • dpPrefix im script setting und javainstanz, in der das script läuft, müssen gleich sein !
                    • evtl zusatzmodule in der js-instanz hinzufügen
                      Image 2.png

                    hier das file, diesmal in textdatei

                    vorlage-unifi.txt

                    dslraser thewhobox T 4 Replies Last reply Reply Quote 1
                    • dslraser
                      dslraser Forum Testing Most Active @liv-in-sky last edited by

                      @liv-in-sky
                      Vorschlag:
                      Nimm mal bitte hier

                      const unifi_password = "xxxxxx!";
                      

                      zukünftig das Ausrufungszeichen hinter den x'en in der Vorlage weg. Wenn ich diese Stelle mit einem Doppelklick markiere und lösche, um dann meine Daten rein zu schreiben, bleibt das Ausrufungszeichen drinn stehen. Habe ich schon mehrfach übersehen und bin drauf rein gefallen. Dann konnte sich das Script natürlich nicht anmelden. Habe ich dann erst bei debug auf true gesehen.

                      1 Reply Last reply Reply Quote 1
                      • dslraser
                        dslraser Forum Testing Most Active @liv-in-sky last edited by dslraser

                        @liv-in-sky sagte in Unifi WLAN Script:

                        hier das file, diesmal in textdatei

                        ich muss später mal nachsehen, wenn ich wieder am Rechner bin. Beim Import/Download der Textdatei scheint es event. zu Umlaute Fehlern zu kommen ?

                        Screenshot_20190905-125255_Chrome.jpg

                        1 Reply Last reply Reply Quote 0
                        • thewhobox
                          thewhobox @liv-in-sky last edited by

                          @liv-in-sky Hey, ich hab mir das Skript mal angeschaut.

                          Zwei Sachen sind mit aufgefallen:

                          • Variablen die du nur einer Funktion brauchst bitte nicht als globale Variable machen^^ Ist auch zugunsten vom Arbeitsspeicher besser es dann nur in der Funktion zu machen.
                          • Funktionen nur als async deklarieren, wenn man es auch wirklich braucht. Ansonsten werden sie parallel zum restlichen Code ausgeführt und es kann zu Fehlern kommen.

                          unifi.txt

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

                            @thewhobox danke dir

                            ich schau mir das mal alles in ruhe an - heut ist ein "es klappt nix"- programmier tag 😞

                            das mit der fehlersache klappt irgendwie nicht - wenn das script die clientdatenpunkte nicht mehr setzt und ich die javascript instanz neustarte kommen immer die promise fehler ! - werd jetzt erstmal ein video dazu anschauen

                            1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @thewhobox last edited by liv-in-sky

                              @thewhobox

                              hab mal etwas getestet - login scheint zu funktionieren aber es hängt dann in der getStatus - zyklus 1 ist logeintrag vor getstatus - zyklus2 wäre logeintrag vor getvoucher() zyklus 3 logeintrag vor getclients()

                              ich habe dein login, getstatus und setwifis übernommen und die anfänge von (login und datenholen) in den anderen funktionen - hängt sich aber in getstatus() auf bzw - fehlendes resolve - got response sollte antwort von controller sein (resp)

                              Image 5.png

                              anschliessend instanz neustarten mit folgenden fehler

                              Image 3.png

                              so sieht getstatus aus

                              //Updatet status vom Wifi
                              //wifi: wifi object aus der konstanten wifis
                              async function getStatus(wifi) {
                                 dlog("BIN IN STATUS");
                                 return new Promise(async (resolve, reject) => {
                                     dlog("nur mal so");
                                     if (!loggedIn) await login().catch((e) => reject(e));
                                     let resp = await request.get(unifi_controller + "/api/s/default/rest/wlanconf/" + wifi.id)
                                         .catch((e) => { dlog("getStatus reject " + e); reject(e) });
                              
                                     log("got response " + JSON.stringify(resp));
                                     resp = JSON.parse(resp);
                              
                                     let wlanOn = resp.data[0].enabled;
                                     log("WLAN " + wifi.name + " 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"));
                                         setStateDelayed(dpPrefix + "WLANUnifi." + wifi.name, wlanOn, 200);
                              
                                         resolve(wlanOn);
                                     } else {
                                         dlog("nicht ok...")
                                         reject(JSON.stringify(resp));
                                     } dlog("BIN aus STATUS raus");
                                 });
                              
                              }
                              

                              1 Reply Last reply Reply Quote 0
                              • T
                                tempestas @liv-in-sky last edited by

                                @liv-in-sky

                                ich danke dir. Leider funktioniert es weiterhin nicht, ich habe 1:1 den gleichen Fehler wie vorher, obwohl das Skript komplett anders aussieht. Es ist immer die async login funktion, an der er sich aufhängt.

                                Habe alle diene Einstellungen nachgepflegt. Es bleibt bei den massiven Errors:

                                avascript.0	2019-09-05 20:02:56.673	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
                                javascript.0	2019-09-05 20:02:56.673	error	at WS.Transport.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:137:8)
                                javascript.0	2019-09-05 20:02:56.673	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8)
                                javascript.0	2019-09-05 20:02:56.673	error	at WS.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                javascript.0	2019-09-05 20:02:56.672	error	at WS.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:268:10)
                                javascript.0	2019-09-05 20:02:56.672	error	at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:451:14)
                                javascript.0	2019-09-05 20:02:56.672	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                javascript.0	2019-09-05 20:02:56.672	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                javascript.0	2019-09-05 20:02:56.672	error	at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:322:16)
                                javascript.0	2019-09-05 20:02:56.671	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
                                javascript.0	2019-09-05 20:02:56.671	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
                                javascript.0	2019-09-05 20:02:56.671	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                javascript.0	2019-09-05 20:02:56.671	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8)
                                javascript.0	2019-09-05 20:02:56.670	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
                                javascript.0	2019-09-05 20:02:56.669	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
                                javascript.0	2019-09-05 20:02:56.669	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)
                                javascript.0	2019-09-05 20:02:56.669	error	at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:312:9)
                                javascript.0	2019-09-05 20:02:56.669	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
                                javascript.0	2019-09-05 20:02:56.669	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
                                javascript.0	2019-09-05 20:02:56.668	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
                                javascript.0	2019-09-05 20:02:56.668	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
                                javascript.0	2019-09-05 20:02:56.668	error	at Object.createScript (vm.js:56:10)
                                javascript.0	2019-09-05 20:02:56.665	error	SyntaxError: Unexpected token function
                                javascript.0	2019-09-05 20:02:56.665	error	^^^^^^^^
                                javascript.0	2019-09-05 20:02:56.664	error	async function login() {
                                javascript.0	2019-09-05 20:02:56.664	error	at script.js.common.System.WLAN_Ein_aus:145
                                javascript.0	2019-09-05 20:02:56.664	error	script.js.common.System.WLAN_Ein_aus compile failed: 
                                
                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @tempestas last edited by

                                  @tempestas hast du die zusatzmodule in der instanz installiert?

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    tempestas @liv-in-sky last edited by tempestas

                                    @liv-in-sky

                                    Ja, habe ich.

                                    Js Adapter ist auf aktuellem stable.

                                    Edit: omg, mein node js war uralt... v 6.11 oder so. Async geht erst ab v 7.6
                                    habe jetzt aktualisiert, mal sehen

                                    edit 2: das war wohl nichts. rein gar keine änderung, leider

                                    edit 3: ok, ich komme wohl ans ende meiner linux unkenntnis.

                                    ich habe nodejs aktualisiert, hier steht auch

                                    d3fa5082-a971-4246-a280-cc1c42f406b7-grafik.png

                                    wie passt das zusammen? angeblich ist 10.16 installiert aber die v zeigt dan doch nur 6.11 an?

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @tempestas last edited by

                                      @tempestas bitte in dem node update thread posten

                                      z.b https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        tempestas @liv-in-sky last edited by tempestas

                                        @liv-in-sky

                                        Danke dir. terminal neu starten hat gereicht nun zeigt er die richtige nodejs version an.
                                        Bleibt die Frage, warum das Skript nicht mag

                                        edit:

                                        ha, irgendwas ist passiert, nur noch das hier als Fehler:

                                        javascript.0	2019-09-05 22:30:51.532	error	at Script.runInContext (vm.js:133:20)
                                        javascript.0	2019-09-05 22:30:51.531	error	at script.js.common.System.WLAN_Ein_aus:61:20
                                        javascript.0	2019-09-05 22:30:51.531	error	at ProtectFs.writeFileSync (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:31:37)
                                        javascript.0	2019-09-05 22:30:51.531	error	at writeFileSync (fs.js:1194:35)
                                        javascript.0	2019-09-05 22:30:51.531	error	at Object.openSync (fs.js:443:3)
                                        javascript.0	2019-09-05 22:30:51.531	error	Error: ENOENT: no such file or directory, open '/opt/iobroker/iobroker-data/files/iqontrol/htmlvoucher.html'
                                        javascript.0	2019-09-05 22:30:51.531	error	^
                                        javascript.0	2019-09-05 22:30:51.531	error	throw err;
                                        javascript.0	2019-09-05 22:30:51.531	error	script.js.common.System.WLAN_Ein_aus: fs.js:114
                                        

                                        schaue ich mir morgen an

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

                                          @tempestas welche fehlermeldung kommt jetzt

                                          1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @tempestas last edited by

                                            @tempestas

                                            schalte mal alle 3 dieser variablen auf false anstatt true

                                            let  iqontrol = true;
                                            let  anwesenheit = true; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
                                            let vouchers = true;
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            464
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            380
                                            36130
                                            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