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.
    • Nashra
      Nashra Most Active Forum Testing @crunchip last edited by

      @crunchip sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

      @Nashra sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

      Probleme mit dem LR wo er bis auf 50% und weniger

      das hatte ich auch und permanent Verbindungsabbrüche. Habe mir daher den NanoHD besorgt und seitdem läuft das nahezu bei 95-100% auf allen Geräten

      Hi, bin auch am überlegen ob ich den LR gegen einen NanoHD tausche weil 4x4 MU-MIMO 😀
      Mal sehen wieviel Geld die Gattin springen lässt weil ein 24Port-Switch noch benötigt wird
      und dieser auch nicht gerade billig ist 😉

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

        @Icube bist du dir mit dem siteName ganz sicher ? das script überlebt das daten holen beim ersten mal nicht - und dort wird der sitename das erste mal genutzt

        nach dem holen sollte sofort ein log erscheinen - das die stufe 1 erreicht ist - kommt aber nicht - daher lieg es am daten holen - aber das login scheint zu funktionieren (ip, port, passwort und user müßten stimmen

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

          @liv-in-sky das mit den siteNamen passt
          UNIFI controller Site.gif

          der Anfang meines script

          
          // September 2019 @liv-in-sky durch viel vorarbeit von @thewhobox (api verbindung)
          
          // Definition Login
          const unifi_username = "xxxxxx";
          const unifi_password = "xxxxxxx";
          const unifi_controller = "https://xxx.xxx.xxx.xxx:8443";
          
          let siteName ="home";   //Site name 
          
          // DEFINITION der zu anzeigenden Netzwerke am besten bis auf id und smart alle gleich setzen
          const wifis = {
             "DieMachtSeiMitDir":     { name: "DieMachtSeiMitDir", id: "5d55df3ec37b7b000f1f512a", desc: "DieMachtSeiMitDir", smart: "DieMachtSeiMitDir11" },
             "GastNetz":     { name: "GastNetz", id: "5dc46e09a7134000100e34c9", desc: "GastNetz", smart: "GastNetz11"}
          }
          // 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 = {  "44:d9:e7:68:29:f8" : { aname: "APkleinerflur"}, //mac adresse der ap's
                            "18:e8:29:e9:44:1b" : { aname: "APWohnzimmer"}
          }
          
          //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"}}
          
                                  
          
          //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 = false; // beim setzen von true auf false die verzeichnisstruktur unter iobroker-objects "von hand" löschen
          let vouchers = false;
          let apInfo = false;
          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 ohneClientAbfrage=false; //schaltet das bearbeiten der clients vollständig ab - auch keine datenpunkte
          
          //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------------------------------------------------------
          
          
          
          Chaot liv-in-sky 2 Replies Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            867
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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