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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Unifi WLAN Script 2 mit Anwesenheitskontrolle

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                        • P
                                          ple last edited by

                                          ich werde es mal testen und die anderen Geräte beobachten.

                                          Melde mich dann

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

                                            @ple es wäre sicher auch ganz gut, wenn du eine übersicht hättest, wie die einzelnen hardware komponenten miteinander verbunden sind - z.b. das schaubild vom controller unter maps

                                            evtl mal diesen teil ansehen https://forum.iobroker.net/post/301328

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            640
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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