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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Unifi WLAN Script 2 mit Anwesenheitskontrolle

    This topic has been deleted. Only users with topic management privileges can see it.
    • Chaot
      Chaot @Iccube last edited by Chaot

      @Icube Site Name ist falsch. Das kann definitiv nicht "home" sein.
      Der einzige Name im Klartext ist "default". Alle anderen Namen sind eine Zeichenkette

      Siehe:
      @Chaot sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

      Der Hinweis zum Eintragen der Site wenn nicht die Deafult verwendet wird:

      Der Name der Site kommt hier:

      https://192.168.xxxxxx:8443/manage/site/ka118xps/clients/list/1/50
      

      in meinem Fall ist das "ka118xps" bei default steht da nur "default"

      BBTown Iccube 2 Replies Last reply Reply Quote 1
      • BBTown
        BBTown @Chaot last edited by

        @Chaot sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

        Alle anderen Namen sind eine Zeichenkette

        jetzt verstehe ich weshalb ich nie eine Verbindung zu meiner UniFy Umgebung bekommen habe.
        Ich hatte verstanden, dass diese kryptische interne Bezeichnung bei den APs bzw, der WLan IDs vorkommen, aber bei der Site ist mir das nicht klar gewesen bzw. habe ich das Überlesen

        1 Reply Last reply Reply Quote 0
        • Iccube
          Iccube @Chaot last edited by

          @Chaot du hast recht gehabt jetzt funktioniert 👍 danke😊

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

            @Icube

            und zusätzlich :da passen die settings nicht mit der neusten version zusammen - so sollte das setting aussehen - das setting gehört so zu der version, die ich dir gepostet habe - kannst du das bitte angleichen - hauptsächlich fehlt es unter der const standardVouchers

            // September 2019 @liv-in-sky durch viel vorarbeit von @thewhobox (api verbindung)
            
            // 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 = false;
            let anwesenheit = true; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
            
            let vouchers = false;
            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
            
            
            //-----------------AB HIER NICHTS MEHR ÄNDERN------------------------------------------------------
            

            oder hole dir eine neue version vom ersten post

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

              @liv-in-sky Kannst du das mit der Site vielleicht in deiner Anleitung mit eintragen? Das hätte viel Zeit gespart und im Unifi Controler ist es wirklich nicht ersichtlich.

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

                @Chaot erstmal danke für deine hilfe

                bin gerade dabei, dass einzuarbeiten

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

                  Hey, was ist denn jetzt passiert?
                  down-up.PNG
                  die 463GB standen heute morgen noch bei letzter Monat 🤔

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

                    @Nashra das wäre wirklich seltsam, wenn das heute morgen noch so gewesen wäre - wenn es gestern noch so gewesen wäre - dann könnte ich nochmal nachsehen

                    das ganze umschichten findet wenn dann um '0 0 ***' stattImage 1.png

                    und von monat auf alten monat sollte ja auch erst am "01" des monats geschehen - heute ist ja tag 18

                    im moment fehlt mir dazu eine idee - bin aber im moment mit umpartionieren meines proxmox servers beschäftigt - größere platte - und debian updte und proxmox update - wenn das geklappt hat, schaue ich nochmal in den code

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

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

                      @Nashra das wäre wirklich seltsam, wenn das heute morgen noch so gewesen wäre - wenn es gestern noch so gewesen wäre - dann könnte ich nochmal nachsehen

                      Ähm, vlllt war es da doch schon nur habe ich es um 4 Uhr mit meinen verschlafenen Augen falsch gedeutet 😄

                      das ganze umschichten findet wenn dann um '0 0 ***' statt!

                      und von monat auf alten monat sollte ja auch erst am "01" des monats geschehen - heute ist ja tag 18

                      im moment fehlt mir dazu eine idee - bin aber im moment mit umpartionieren meines proxmox servers beschäftigt - größere platte - und debian updte und proxmox update - wenn das geklappt hat, schaue ich nochmal in den code

                      Vor allem das ein Minus davor steht, also -463GB. Mache erstmal deinen Server, ist nicht so wichtig, hauptsache der Rest läuft 🙂

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

                        Hi habe die neue Version aus dem ersten Post genommen und bekomme jetzt folgende Fehler.
                        Meine Daten habe ich natürlich vorher angepasst.

                        Was bedeutet der Fehler ?


                        17:05:41.059 warn javascript.0 (913) script.js.Allgemein.Unifi: Im Unifi Script stimmte etwas nicht - Alarm3 - getClient-Login
                        17:05:41.323 info javascript.0 (913) script.js.Allgemein.Unifi: getStatus reject StatusCodeError: 401 - "{"meta":{"rc":"error","msg":"api.err.NoSiteContext"},"data":[]}"
                        17:05:41.323 info javascript.0 (913) script.js.Allgemein.Unifi: reject weil resph ist 00
                        17:05:41.323 warn javascript.0 (913) script.js.Allgemein.Unifi: Im Unifi Script stimmte etwas nicht - Alarm7 - Health

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

                          @MyMeyer schaut nach falschen login aus - du bekommst keine daten

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

                            @liv-in-sky Richtig und warum Plötzlich. Hat sich im neue Script dort oben etwas geändert ?

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

                              @MyMeyer im neusten hat sich nichts geändert - also beim login - ganz oben - eigentlich noch nie - aber darunter könnten - unter "const apName" - neue sein - je nachdem, wie alt dein script war

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

                                @liv-in-sky Sorry für meine Ungeduld 🙂 , hatten eine falschen Site Name eingetragen. Läuft wieder 👍

                                1 Reply Last reply Reply Quote 0
                                • M
                                  martinschm last edited by

                                  Hi,

                                  danke für das coole Skript. Läuft bisher super (nutze grade nur die Anwesenheitserkennung) und ist wesentlich schneller als die Erkennung über den Adapter.

                                  Meine Geräte tauchen auch seltener ab. Leider verschwindet mein Honor 8 auch hier gelegentlich aus der Erkennung.

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

                                    @martinschm

                                    versuche doch mal den wert "const abfageoffset = 15000" ein wenig höher zu setzen - dann müßte es auch mit dem honor 8 klappen

                                    z.b 20000 oder 25000 - dabei wird nur die abmeldung etwas langsamer - anmelden bleibt gleich schnell

                                    M 1 Reply Last reply Reply Quote 0
                                    • P
                                      ple last edited by

                                      sorry Jungs, ich muss noch mal ran.
                                      Nachdem ich versucht habe es über die Fritzbox zu lösen bin ich nun doch wieder zurück auf den unifi.
                                      Bei mir springen ständig die Geräte auf false, selbst der Unifi Key selber.
                                      Mit den originalen Zeiten spring er ständig jede minute hin und her. Das macht die Anwesenheit natürlich nicht besser.
                                      Ich habe jetzt erst mal alles x10 genommen, ist wirklich sehr lang, aber im Moment weiß ich mir da nicht zu helfen.

                                      Meine Infrastruktur sieht eigentlich wie folgt aus.
                                      USG > 2 mal POE switch > 3 AC AP Pro.
                                      Die Einstellungen im Unifi habe ich nicht groß geändert. Kann das jemand nachstellen, der auch ein USG hat? Schön wäre es noch, wenn er Apple Geräte hat 🙂

                                      Gruß und Danke für das tolle Script

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

                                        @ple was hast du da stehen

                                        const abfageoffset

                                        oder meinst du damit "x 10" ?

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          ple last edited by

                                          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.)
                                          
                                          const abfragezyklus =200000; // es ist nicht zu empfehlen unter 20000 (20 sekunden) zu gehen
                                          const abfageoffset = 150000; // 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 = false;
                                          let anwesenheit = true; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
                                          
                                          let vouchers = false;
                                          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
                                          
                                          

                                          auf die schnelle, damit mein Telegram nicht die ganze zeit geht. 🙂

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

                                            @ple probier mal folgendes - du hast auch die neuste version des scriptes !

                                            abfragezyklus wieder etwas kleiner - z.b 30 000 - > alle 30 sek
                                            abfrageoffset - teste mal 45000 - >45 sekunden
                                            das bedeutet: es müssen 75 sek vergangen sein, bis ein datenpunkt auf false geht - (bezug : wert von last_seen_by_uap)

                                            problemWAN=true
                                            counterFalseSetting=2 - immer um eins erhöhen, wenn noch rumgesprungen wird

                                            evtl kann es ein bestimmtes unifi gerät sein - also bitte beobachte, ob bei den springenden clients eine gemeinsamkeit ist - z.b alle an einem access point

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            904
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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