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 2 mit Anwesenheitskontrolle

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Unifi WLAN Script 2 mit Anwesenheitskontrolle

    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 dslraser

      @liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

      @dslraser @Frank579 die LAN clients werden überwacht und angezeigt - das sind aber switch sachen - du hast da schon recht - die WAN sachen interessieren nicht an diesem punkt

      hab mal einfach deaktiviert

      zum test

      nur-für-dslraser.txt

      DP geht nach dem WLAN ausschalten auf false
      Bildschirmfoto 2019-12-08 um 19.31.41.png

      AP bleibt stehen
      Bildschirmfoto 2019-12-08 um 19.31.50.png

      DP geht wieder auf true, obwohl im WLAN abgemeldet
      Bildschirmfoto 2019-12-08 um 19.34.09.png

      Edit:
      DP geht nun wieder auf false (und bleibt wahrscheinlich auch so...)
      Bildschirmfoto 2019-12-08 um 19.35.19.png

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

        also selbes problem wie vorher

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

          @liv-in-sky

          noch was ...(type falsch ?)

          javascript.0	2019-12-08 19:34:39.388	warn	(413) at Timer.processTimers (timers.js:223:10)
          javascript.0	2019-12-08 19:34:39.388	warn	(413) at listOnTimeout (timers.js:263:5)
          javascript.0	2019-12-08 19:34:39.388	warn	(413) at tryOnTimeout (timers.js:300:5)
          javascript.0	2019-12-08 19:34:39.388	warn	(413) at ontimeout (timers.js:438:13)
          javascript.0	2019-12-08 19:34:39.388	warn	(413) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
          javascript.0	2019-12-08 19:34:39.388	warn	(413) at Object.<anonymous> (script.js.09_Unifi.Unifi-Test:788:73)
          javascript.0	2019-12-08 19:34:39.387	warn	(413) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1404:20)
          javascript.0	2019-12-08 19:34:39.387	warn	(413) You are assigning a undefined to the state "javascript.0.WLANUnifi.Wifi_Client_Network.Heiko-Note10" which expects a string. Please fix your code to use a string or change the state type to und
          javascript.0	2019-12-08 19:34:09.490	warn	(413) at Timer.processTimers (timers.js:223:10)
          
          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @dslraser last edited by

            @dslraser

            ich muss jetzt aufhören - heute geht nix mehr - aber vielen dank für die hilfe - brauch ne pause

            auch an @Frank579

            F dslraser 2 Replies Last reply Reply Quote 1
            • F
              Frank579 @liv-in-sky last edited by

              @liv-in-sky

              sorry war gerade was essen 🙂 soll ich trotzdem nochmal testen ? oder reicht dir der Test von @dslraser ?

              Einen Schönen Sonntag Abend dir noch 👍

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

                @liv-in-sky
                Ich habe jetzt noch mal in so einigen Unifi Foren gelesen.
                Ich denke das Script macht alles richtig.

                Es scheint ein lange bekannter Unifi Bug zu sein, der einfach nicht behoben wird/wurde. Nicht alle User haben dieses Problem und ich konnte auch nicht wirklich herauslesen in welcher Konstellation es auftritt.

                Problem/Bug Unifi

                Wenn sich ein WLAN Client abmeldet, kann es sein, das es kurz darauf als LAN Client am USG gemeldet wird (konnte ich im Controller bei mir mit 2 Android Handys genau so feststellen) Manchmal verschwindet es dann ganz, manchmal halten sie sich auch hartnäckig mit diesem Zustand.

                Ich habe es vorhin einmal geschafft noConn angezeigt zu bekommen, aber das war nur ganz kurz und nur einmal mit dem speziellen Test Script. Ich habe dabei mit der Einstellung let CheckNetwork = true/false gespielt.

                EDIT: bei mir dauert es auch ca. 5-7 Minuten, bis das Handy ganz ohne AP oder USG angezeigt wird, also komplett abgemeldet ist...

                EDIT2: so sieht es aus, wenn es sich aus dem WLAN abgemeldet hat (unter Einblicke) und rechts ist es im WLAN (Unterschied ist ESSID und Port, vielleicht geht mit der Info etwas)

                Bildschirmfoto 2019-12-08 um 23.17.27.png Bildschirmfoto 2019-12-08 um 23.30.43.png

                und so, wenn es dann ganz raus geht

                Bildschirmfoto 2019-12-08 um 23.20.25.png

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

                  @dslraser vielen vielen dank, dass du dir die mühe machst, bei der suche zu helfen - so was in der art hatte ich mir schon gedacht - hoffte, ein datenbank clean könnte helfen, aber es scheint, dass dies auch nur für kurze zeit hilft

                  • eine lösung wäre, die lan clients ganz zu bannen - damit die anwesenheit wieder richtig funktioniert
                  • eine andere lösung wäre, die wlan clients zu markieren und durch das ganze scrpt durchzuschleifen - diese müßten dann extra in einem datenpunkt gespeichert werden - also eine art eigene datenbank für das script

                  hätte aber noch ein script zum testen ( @Frank579 )

                  bug-unifi-controller.txt

                  crunchip dslraser 2 Replies Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @liv-in-sky last edited by

                    @liv-in-sky bin zwar nicht auf dem laufenden, mit dem script, habe nach wie vor v.22102019-2.1 laufen
                    Was ich aber weiß, dass das Abmelden der clients zu beginn funktionierte, innerhalb 2min war das Handy off.
                    da war das Setup jedoch, AP hing direkt an der Fritzbox.
                    Erst seitdem ich auf USG und Switch umgestellt habe, funktioniert es nicht mehr, egal welche zyklus oder offset Zeiten ich einstelle.
                    Melde ich mein Handy im Wlan ab, springt die Verbindung laut Anzeige von Wlan auf Lan und dauert dann in der Regel 27min, bis ein noConnect erscheint.

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

                      hi @crunchip ist genau das selbe problem, mit dem wir gerade kämpfen - teste doch das script vom post darüber - vielleicht hilft es ja - gerne auch teamviewer

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

                        @liv-in-sky deswegen wollte ichs ja mitteilen, also auch mit einer alten script version.
                        und das Problem das Usg ist.
                        unter anderem werden mir auch meine Lan Verbindungen angezeigt als würden sie am AP hängen??
                        420efd1a-977f-4417-91c9-0dd5a8ee59cb-image.png

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

                          @crunchip ja das kenne ich - eigentlich wollte ich dieses problem lösen, bis wir auf den unifi bug gestossen sind - in dem script sollte dies auch gelöst sein

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

                            @crunchip falls du testen willst - mache eine kopie vom script und teste damit - damit du später wieder das ""funktionierende"" nehmen kannst

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

                              @liv-in-sky probiere ich mal
                              für teamviewer is leider keine Zeit, muss in ner Stunde los

                              edit: was ich noch habe, ein Wlan will er nicht erkennen, bringt er Fehler und die Info wird auch nicht befüllt
                              2d8056bf-6a69-4ca1-8641-c563f38550e8-image.png eb23baaa-6841-48f1-a2fe-f48f223bf87c-image.png

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

                                @liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                                @dslraser vielen vielen dank, dass du dir die mühe machst, bei der suche zu helfen - so was in der art hatte ich mir schon gedacht - hoffte, ein datenbank clean könnte helfen, aber es scheint, dass dies auch nur für kurze zeit hilft

                                • eine lösung wäre, die lan clients ganz zu bannen - damit die anwesenheit wieder richtig funktioniert
                                • eine andere lösung wäre, die wlan clients zu markieren und durch das ganze scrpt durchzuschleifen - diese müßten dann extra in einem datenpunkt gespeichert werden - also eine art eigene datenbank für das script

                                hätte aber noch ein script zum testen ( @Frank579 )

                                bug-unifi-controller.txt

                                Das Script habe ich eben probiert, verhält sich genauso.

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

                                  @dslraser wichtig ist, dass das handy beim script start im wifi registriert ist - sonst dauert es etwas bis es "wirkt"

                                  bekommst du diesen datenpunkt ? und steht das handy da drin ?Image 1.png

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

                                    @dslraser @crunchip

                                    probiert mal dieses - habe dummerweise einen zeile vergessen - sorry

                                    wenn ihr keine zeit mehr habt, dann testen wir wann anders

                                    bug-unifi-controller.txt

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

                                      @liv-in-sky hab jetzt das von oben probiert, da kommt gar nix mehr an5e488bd3-1536-4b06-a363-6803e98fedaf-image.png

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

                                        @crunchip vielleicht ist deine version zu alt

                                        hier das beispiel für die settings - ganz oben im script- da fehlt bei dir vielleicht was - übernehme deine daten bis nach standadrVouchers = ... und dann musst du kontrollieren was fehlt

                                        // Definition Login
                                        const unifi_username = "username";
                                        const unifi_password = "passwort";
                                        const unifi_controller = "https://192.168.xxx.xxx:8443";
                                        
                                        let siteName ="default";   //Site name 
                                        
                                        // DEFINITION der zu anzeigenden Netzwerke am besten bis auf id und smart alle gleich setzen
                                        const wifis = {
                                          "WLAN_Dragon1":     { name: "WLAN_Dragon1", id: "5cadcxxxxxxxxxxxe5381", desc: "WLAN_Dragon1", smart: "WLAN_Dragon1" } ,
                                          "WLAN_DragonGuest": { name: "WLAN_DragonGuest", id: "5d65xxxxxxxxx1edd761", desc: "WLAN_DragonGuest", smart: "WLAN_DragonGuest" }
                                        }
                                        // DEFINITION der Aliasnamen für die AP's - hat nichts mit den Aliasnamen im Controller zu tun - wird nur für das script gebraucht 
                                        const apName = {  "b4:xx:e4:xx:96:xx" : { aname: "AP-LongR"}, //mac adresse der ap's
                                                         "18:xx:29:xx:40:xx" : { aname: "AP-Light"}
                                        }
                                        
                                        //Vordefinierte Vouchers für  one-click-create - wird hier etwas geändert BITTE DATENPUNKT (Vouchers_StandardList) LÖSCHEN vor Scriptstart!!!!
                                        //BITTE alle Werte eingeben - für nichtbenutzte wie up-, download und nmb_begrenzung eine 0 eintragen
                                        // Pflichteinträge sind dauer, anzahl, multiuse und notiz !!!
                                        const standardVouchers = {"Vier Tage" : {dauer: 240, anzahl: 1, multiuse: 1, upload: 0, download:0, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 4 Tage"}, 
                                                                 "Sieben Tage" : {dauer: 10080, anzahl: 1, multiuse: 1, upload: 300, download:300, mb_begrenzung: 500, notiz:"MB Begrenzung 500 - 7 Tage"},
                                                                 "99 Minuten" : {dauer: 99, anzahl: 2, multiuse: 1, upload: 0, download:200, mb_begrenzung: 500, notiz:"Dauer 99 Minuten - Anzahl 2"}}
                                        
                                        const blackList = ["GalaxyTabS2" ] //Blacklist - diese clients werden nicht berücksichtigt - aber nur wenn ein alias im controller definiert ist
                                        const checkConnType=["Galaxy-S9","FireTablet7"];  // Datenpunkte (werden erstellt) für Überwachung von Connection (WLAN only) - aber nur wenn ein alias im controller definiert ist
                                                                                          // wenn leer - keine überwachung (const checkConnType=[])
                                        
                                        //Pause bei Umschalten der WLANnetze, damit Netzanmeldungen der clients wieder normal
                                        const clientPauseConst = 200000;    //1000 bedeutet 1 Sekunde -  das braucht Zeit !!!
                                        
                                        // Abfragezyklus definieren
                                        const abfragezyklus =20000; // es ist nicht zu empfehlen unter 20000 (20 sekunden) zu gehen
                                        const abfageoffset = 15000; // zu schnelle Abmeldungen können hier eingestellt weren - > erhöhen (15000 = 15 sek.)
                                        
                                        //HIER Einstellungen : EIN-AUSSCHALTEN Vouchers, iqontrol-Datei erstellen, anwesenheitskontrolle-clientpflege
                                        let iqontrol = true;
                                        let anwesenheit = true; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
                                        
                                        let vouchers = true;
                                        let apInfo = true;
                                        let problemWLAN=false; //bei problemen mit APs die über WLAN angebuden sind
                                        let countFalseSetting=2; //2 bedeutet : einmal einen abfragezyklus auslassen bevor auf false gesetzt wird: Formel:  n-1
                                        let aliasname=false; 
                                        let disConClientsFirst=true; //zeigt disconnected clients als erstes im table (vis) oder iqontrol an
                                        
                                        let ohneClientAbfrage=false; //schaltet das bearbeiten der clients vollständig ab - auch keine datenpunkte
                                        
                                        let sortedByIP =false; //client anzeige nach IP sortiert
                                        
                                        
                                        //FARBEN für IQontrol und VIS
                                        //die farbe für die tabellen in der vis wird im widget eingestellt
                                        //color_vis_text_client_in_table
                                        //color_vis_text_voucher_in_table
                                        let color_iqontrol_text__client_letzteAenderung_VIS="lightblue";
                                        let color_iqontrol_text__client_letzteAenderung_VIS_Text="#d0cdcd";
                                        let color_iqontrol_text_client_in_table= "black";  
                                        let color_iqontrol_text__client_disconnected="#01A9DB";
                                        
                                        let color_iqontrol_client_gradient1= "lightblue";   
                                        
                                        let color_iqontrol_text_voucher_in_table= "black"; 
                                        let color_iqontrol_voucher_gradient1= "lightblue"; 
                                        let color_iqontrol_text__client_letzteAenderung="#848484";
                                        let color_iqontrol_text__voucher_ueberschrift="lightblue";
                                        
                                        let schriftart="Helvetica";  //möglich: Helvetica,Serif
                                        

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

                                          @liv-in-sky ne da passt alles
                                          aber das skript will nicht, Zykluszähler läuft auch weiter als 3
                                          0f4598cf-062e-4ac3-b205-e0919376e3ad-image.png

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

                                            @liv-in-sky sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                                            @dslraser wichtig ist, dass das handy beim script start im wifi registriert ist - sonst dauert es etwas bis es "wirkt"

                                            bekommst du diesen datenpunkt ? und steht das handy da drin ?Image 1.png

                                            Ja, den DP habe ich und auch das LOG zeigt diese laufend an. Dort sind alle meine WLAN Geräte drinn. Das restliche Verhalten ist unverändert.
                                            Zusätzlich wird im Log der DP Wifi_Client_Network angemeckert (string/state)

                                            2019-12-09 11:32:11.652 - warn: javascript.0 (413) You are assigning a undefined to the state "javascript.0.WLANUnifi.Wifi_Client_Network.Heiko-Note10" which expects a string. Please fix your code to use a string or change the state type to undefined. This warning might become an error in future versions.
                                            
                                            liv-in-sky 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            437
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring
                                            46
                                            1358
                                            336763
                                            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