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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Unifi WLAN Script 2 mit Anwesenheitskontrolle

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
            • liv-in-sky
              liv-in-sky @dslraser last edited by

              @dslraser @crunchip

              ok - eines habe ich definitiv gelernt - erstelle keine scripte, die du nicht testen kannst 😞

              ich würde vorschlagen, für den moment zu stoppen - ich brauche definitiv eine umgebung, in der ich das testen kann

              ich schau mir mal da mit dem DP Wifi_Client_Network an

              @dslraser melde dich bitte, wenn du mich mal wieder für eine stunde oder so bei dir einwählen lassen kannst
              @crunchip verstehe im moment nicht, warum die scripte so unterschiedlich reagieren - wir machen auch mal eine session, wenn es bei dir paßt

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

                @liv-in-sky alle neueren varianten die ich probiert habe, funktionieren bei mir gar nicht mehr.
                bei mir funktioniert dieses
                22102019-2.1.txt

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

                  @liv-in-sky

                  wenn du jemanden für ne Team Viewer benötigst melde dich mal bin zwar zur zeit Beruflich ziemlich eingespannt, aber vill passt es ja mal ..

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

                    @dslraser hätte noch mal ein script für dich - das mit dem false/true des clients habe ich nicht angerührt - müßte also noch funktionieren - es geht eigentlich nur um das "noConn" wenn der client sich abmeldet aber als usg mitglied erscheint

                    bug-unifi-controller.txt

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

                      @Frank579 hab im chat geantwortet !

                      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 hätte noch mal ein script für dich - das mit dem false/true des clients habe ich nicht angerührt - müßte also noch funktionieren - es geht eigentlich nur um das "noConn" wenn der client sich abmeldet aber als usg mitglied erscheint

                        bug-unifi-controller.txt

                        Bin in einer halben Stunde (ca) zu Hause...

                        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 hätte noch mal ein script für dich - das mit dem false/true des clients habe ich nicht angerührt - müßte also noch funktionieren - es geht eigentlich nur um das "noConn" wenn der client sich abmeldet aber als usg mitglied erscheint

                          bug-unifi-controller.txt

                          Das true und false im DP funktioniert. Aber die noConn Geschichte kommt deutlich später, jedenfalls sollte noConn zeitgleich mit dem false kommen. Also der Ablauf passt noch nicht so ganz, jedenfalls noch nicht so wie heute Vormittag "angedacht".

                          Edit: da habe ich noch einen mixed draus gemacht, sonst kommen Fehler im LOG (und ich weiß nicht ob dann nicht geschrieben wurde. Mit mixed kommt kein Fehler)

                          {
                            "common": {
                              "name": "Heiko-Note10_Netwok",
                              "type": "mixed",
                              "role": "state",
                              "read": true,
                              "write": true
                            },
                          

                          Edit: ich habe jetzt mal zwei Handys in die Überwachung eingefügt. Jetzt kapiere ich gar nix mehr....nun kommt noConn schneller als false....und der AP Name kommt schneller als das true, also genau umgekehrt wie mit nur einem Gerät.

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

                            @dslraser habe nochmal testen können - mit der version hat es tatsächlich funktioniert

                            unifi-skipt-besser.txt

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

                              @dslraser hätte nochmal was zum testen

                              habe mal versucht einen extra case zu machen

                              unifi-skipt-mit-sondecase.txt

                              dslraser 2 Replies 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 hätte nochmal was zum testen

                                habe mal versucht einen extra case zu machen

                                unifi-skipt-mit-sondecase.txt

                                läuft nicht...

                                javascript.0	2019-12-10 15:02:09.567	error	(413) at Timer.processTimers (timers.js:223:10)
                                javascript.0	2019-12-10 15:02:09.567	error	(413) at listOnTimeout (timers.js:263:5)
                                javascript.0	2019-12-10 15:02:09.567	error	(413) at tryOnTimeout (timers.js:300:5)
                                javascript.0	2019-12-10 15:02:09.567	error	(413) at ontimeout (timers.js:438:13)
                                javascript.0	2019-12-10 15:02:09.567	error	(413) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2016:34)
                                javascript.0	2019-12-10 15:02:09.566	error	(413) at Object.<anonymous> (script.js.09_Unifi.Unifi-Test-4-Sondercase:660:98)
                                javascript.0	2019-12-10 15:02:09.565	error	(413) Error in callback: TypeError: Cannot read property 'name' of undefined
                                
                                10.12.2019, 15:03:05.863	[info ]: javascript.0 (413) Stop script script.js.09_Unifi.Unifi-Test-4-Sondercase
                                10.12.2019, 15:03:06.555	[warn ]: javascript.0 (413)     at workAP (script.js.09_Unifi.Unifi-Test-4-Sondercase:1466:44)
                                10.12.2019, 15:03:06.556	[warn ]: javascript.0 (413)     at Object.setInterval (script.js.09_Unifi.Unifi-Test-4-Sondercase:1900:38)
                                10.12.2019, 15:03:06.556	[warn ]: javascript.0 (413)     at workAP (script.js.09_Unifi.Unifi-Test-4-Sondercase:1467:50)
                                10.12.2019, 15:03:06.557	[warn ]: javascript.0 (413)     at Object.setInterval (script.js.09_Unifi.Unifi-Test-4-Sondercase:1900:38)
                                10.12.2019, 15:03:06.558	[warn ]: javascript.0 (413)     at workAP (script.js.09_Unifi.Unifi-Test-4-Sondercase:1482:44)
                                10.12.2019, 15:03:06.558	[warn ]: javascript.0 (413)     at Object.setInterval (script.js.09_Unifi.Unifi-Test-4-Sondercase:1900:38)
                                10.12.2019, 15:03:06.558	[warn ]: javascript.0 (413)     at workAP (script.js.09_Unifi.Unifi-Test-4-Sondercase:1483:50)
                                10.12.2019, 15:03:06.559	[warn ]: javascript.0 (413)     at Object.setInterval (script.js.09_Unifi.Unifi-Test-4-Sondercase:1900:38)
                                10.12.2019, 15:03:09.485	[error]: javascript.0 (413)     at Object.<anonymous> (script.js.09_Unifi.Unifi-Test-4-Sondercase:660:98)
                                
                                1 Reply Last reply Reply Quote 0
                                • dslraser
                                  dslraser Forum Testing Most Active @liv-in-sky last edited by

                                  @liv-in-sky

                                  1900:38

                                                                       workAP(apName[ap_name].aname); } 
                                  
                                  

                                  660:98

                                             if(!versuch[z].hasOwnProperty("_last_seen_by_uap") && wlanClientDB.includes(versuch[i][myname])) caseHelper=5;
                                  
                                  
                                  liv-in-sky 2 Replies Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @dslraser last edited by

                                    @dslraser bitte in zeile 660 - bitte das i in z ändern beim zweiten versuch[i]

                                    die andere zeile könnte dann verschwinden - an dieser stelle habe ich nichts verändert - unter zeile 1500 war ich schon lange nicht mehr - weiß garnicht, wie es da unten aussieht 🙂

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

                                      @dslraser habe übrigens gute erfahrung mit anydesk gemacht - ein gemeinsamer test wäre cool - wenn es zeitlich wieder mal paßt

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

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

                                        @dslraser bitte in zeile 660 - bitte das i in z ändern beim zweiten versuch[i]

                                        die andere zeile könnte dann verschwinden - an dieser stelle habe ich nichts verändert - unter zeile 1500 war ich schon lange nicht mehr - weiß garnicht, wie es da unten aussieht 🙂

                                        läuft "fast" !
                                        Einmal von drei Versuchen blieb der DP false, obwohl am WLAN angemeldet und der AP Name in Wifi_Client_Network von noConn auf den AP Namen gewechselt hat. Danach nochmal WLAN an/aus, dann funktionierte es.

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

                                          @dslraser es könnte sein, das am anfang das wifi gerät noch nicht als solches in meiner datenbank drinsteht - aber nur ein längerer test wird das zeigen - und auch ob nach jedem script start noch alles klappt

                                          der DP wird nur an einer stelle auf true gesetzt - und dies sollte immer geschehen, wenn der datenpunkt false ist und die daten einen last_seen_by_uap haben - was ja hoffentlich von unifi so kommt

                                          es müßten auch die html files (iqontrol und vis) kontrolliert werden - auch die sind im vergleich mit drin und sollten upgedatet werden

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

                                            @liv-in-sky
                                            okay, ich beobachte und werde berichten.

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            498
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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