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.
    • dslraser
      dslraser Forum Testing Most Active @liv-in-sky last edited by

      @liv-in-sky
      heute morgen hat es funktioniert.(mit VPN und dem geänderten Script)
      Screenshot_20191217-090227_Chrome.jpg

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

        @dslraser danke - für die gute nachricht

        1 Reply Last reply Reply Quote 0
        • D
          dos1973 last edited by

          @liv-in-sky
          Kurze Frage zum Speedtest.

          Kannst du DP’s für Datum und Uhrzeit erzeugen ... wann der Speed Test gemacht/ geschrieben wurde...

          Danke

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

            @dos1973 hi

            dazu bräuchte ich die daten nochmal - ich weiß nicht, ob die uhrzeit der messung drinsteht

            am roten pfeil mylog in log ändern - dann müßten die daten unter dem script im log sehen

            Image 5.png

            D 1 Reply Last reply Reply Quote 0
            • M
              MyMeyer last edited by MyMeyer

              Hallo,
              wie lange braucht das Script um zu erkennen ob ein Gerät Online ist. Mein Handy Huawei ist seit 15 Min im Unifi Controller sichtbar , aber im IoBroker unter Objekt wird nichts angezeigt von dem Gerät. Ich habe jetzt die letzte Version vom Script aktiviert und vorher alle Objekte gelöscht. In Summe habe ich ca. 50 Geräte im Netzwerk.

              Hier meine Einstellungen:

              //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 = ["" ] //Blacklist - diese clients werden nicht berücksichtigt - aber nur wenn ein alias im controller definiert ist
              const checkConnType=["Huawei-Mate10","Samsung-Galaxy-A50","Samsung-Galaxy-S7"]; // 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=true;
              let disConClientsFirst=false; //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

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

                @liv-in-sky
                ok habe das log geändert...
                das Ergebnis ist dann im "logging" zu sehen...?

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

                  @dos1973 ja das ergebnis sollte unter dem script in dem log teil zu sehen sein und kommt alle 3 zyklen

                  Image 1.png

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

                    @MyMeyer die datenpunkte sollten nach 20 sekunden erscheinen

                    • bitte mmache die anführungszeichen aus der blacklist raus sollte so aussehen blacklist=[]
                    • setzte den wert abfageoffset=45000 - man kann später wieder weiter runtergehen
                    • die mac-adressen der aps in apName solten direkt vom controller rauskopiert werden - alle buchstaben müssen klein sein
                    • steht was im log ?
                    • steht der datenpunkt Zykluszaehler zwischen 1-3 oder ist er größer 3
                    • nutze das neuste skript - post 1 dieses threads
                    M 1 Reply Last reply Reply Quote 0
                    • D
                      dos1973 @liv-in-sky last edited by

                      @liv-in-sky
                      also mein log ist leer?
                      auch wenn ich das script stoppe und starte. sorry bin script noob 😉

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

                        @dos1973 manchml ist es bei mir auch so - ich schliesse dann meist alle offenen scripts - sind über dem script aufgelistet - und mache einen refresh der seite und starte das script neu - meist kommt dann was

                        manchmal mischen auch kopien des scripts mit und ich klicke dann diese an und es kommt dann das gewollte log beim anderen script - ist manchmal echt seltsam

                        Image 2.png

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

                          @liv-in-sky
                          ok, jetzt kommt was, ich habe im script den DEBUG mode ein und aus geschaltet... was brauchst du, ist ja eine ganze Menge

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

                            @dos1973 ales in ein txt file - ich schreibe dir meine mail nochmal ins chat

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

                              @liv-in-sky
                              ist soeben per mail raus... Danke

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

                                @dos1973 danke angekommen

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

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

                                  @MyMeyer die datenpunkte sollten nach 20 sekunden erscheinen

                                  • bitte mmache die anführungszeichen aus der blacklist raus sollte so aussehen blacklist=[]

                                  Habe ich gemacht.

                                  • setzte den wert abfageoffset=45000 - man kann später wieder weiter runtergehen

                                  Auch erledigt.

                                  • die mac-adressen der aps in apName solten direkt vom controller rauskopiert werden - alle buchstaben müssen klein sein

                                  Sind sie.

                                  • steht was im log ?

                                  Bisher nichts auffälliges für mich.

                                  • steht der datenpunkt Zykluszaehler zwischen 1-3 oder ist er größer 3

                                  liegt zwischen 1-3

                                  • nutze das neuste skript - post 1 dieses threads

                                  Habe das aktuelle Script am laufen "12122019-3.0".

                                  Ich habe die Anpassung wie geschrieben gemacht und werde die Sache beobachten. Letztlich machen mir die langen Zeiten bei meiner Abwesenheitserkennung immer wieder Probleme. Steuere damit meine Heizung und da sollte es schon passen sonst wird es kalt 🙂

                                  Danke Dir erstmal ich werde beobachten und gegebenenfalls noch mal dazu melden.

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

                                    @MyMeyer ja bitte feedback - ist wichtig - aber so wie es aussieht, funktioniert es jetzt ???

                                    was macht den genau probleme - das ein oder ausloggen - bzw das true oder false setzen der dp.

                                    hilfreich wäre es zum genauen testen, wenn du dir die zustände irgendwie (evtl telegram ( oder mir sagt alexa, wenn ich mich einlogge mit wifi ))) zusenden würdest

                                    • das auf true setzen der dp für die anwesenheit sollte nicht länger dauern als der eingestellte abfragezyklus - das funktioiert auch recht zuverlässig

                                    • das auf false setzen ist schon eher langsamer aber sollte nicht länger dauern als der abfragezyklus plus abfageoffset

                                    • richtig problematisch wird es erst , wenn ein oder mehrere datenpunkte springen, ohne das sich das handy ein oder ausloggt - dann muss man etwas debuggen

                                    • leider hat sich herausgestellt, dass der unifi seltsame daten liefert , wenn ein gateway (hardware (usg oder ugw) angeschlossen ist - ohne usg sollte es keine probleme geben - das script ist auch ziemlich groß und muss natürlich viel arbeiten beim auswerten der daten - da sollte die hardware nicht vergessen werden - ein raspi mit 15 adaptern und evtl 100 scripten, könnte da schon zu problemen führen

                                    M 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 hallo h.

                                      so wie es scheint, es ist tatsächlich wieder ein anderes verhalten - wenn mein handy aus dem netz verschwindet - wird bei mir im controller unter last activity "just now" angezeigt - anscheinend kommen da wieder andere werte- wie sich das mit usg auswirkt weiß ich im moment nicht

                                      würdest du das bitte mal testen und morgen, wenn du wieder im büro bist, kontrollieren

                                      unifi-skipt-ohne-abmelden-test.txt

                                      danke dir

                                      ps: ist garnicht so leicht darzustellen - das handy aus dem netz zu bekommen, obwohl alle ap'S online sind 😞

                                      Nochmal eine kurze Rückmeldung für Dich.
                                      Bei mir läuft diese Version jetzt 2 Tage durch und es funktioniert alles wie gewünscht.👍

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

                                        @dslraser ich feue mich immer über solche feedbacks - bringt ruhigen schlaf 🙂
                                        danke dir

                                        1 Reply Last reply Reply Quote 1
                                        • B
                                          bimmi last edited by

                                          Hi, erstmal vielen Dank für das Script. Ich habe es seit heute am laufen.

                                          Ich wollte das ganze wegen Anwesenheit umsetzen, was auch einwandfrei funktioniert bisher. Das einzige was nicht angezeigt werden, sind die AP Informationen. Das sieht dann im LOG so aus:

                                          javascript.0	2019-12-19 14:20:37.944	warn	(802) at process._tickCallback (internal/process/next_tick.js:68:7)
                                          javascript.0	2019-12-19 14:20:37.944	warn	(802) at Object.setInterval (script.js.Sonstiges.Unifi-Controller-Script:1961:38)
                                          javascript.0	2019-12-19 14:20:37.943	warn	(802) at workAP (script.js.Sonstiges.Unifi-Controller-Script:1523:6)
                                          javascript.0	2019-12-19 14:20:37.943	warn	(802) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20)
                                          javascript.0	2019-12-19 14:20:37.942	warn	(802) You are assigning a undefined to the state "javascript.0.WLANUnifi.APInfo.unifiAPWohnung.IP_Adresse" which expects a string. Please fix your code to use a string or change the state type to unde
                                          javascript.0	2019-12-19 14:19:37.676	warn	(802) at process._tickCallback (internal/process/next_tick.js:68:7)
                                          javascript.0	2019-12-19 14:19:37.676	warn	(802) at Object.setInterval (script.js.Sonstiges.Unifi-Controller-Script:1961:38)
                                          javascript.0	2019-12-19 14:19:37.675	warn	(802) at workAP (script.js.Sonstiges.Unifi-Controller-Script:1523:6)
                                          javascript.0	2019-12-19 14:19:37.675	warn	(802) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20)
                                          javascript.0	2019-12-19 14:19:37.674	warn	(802) You are assigning a undefined to the state "javascript.0.WLANUnifi.APInfo.unifiAPWohnung.IP_Adresse" which expects a string. Please fix your code to use a string or change the state type to unde
                                          javascript.0	2019-12-19 14:18:37.754	warn	(802) at process._tickCallback (internal/process/next_tick.js:68:7)
                                          javascript.0	2019-12-19 14:18:37.754	warn	(802) at Object.setInterval (script.js.Sonstiges.Unifi-Controller-Script:1961:38)
                                          javascript.0	2019-12-19 14:18:37.754	warn	(802) at workAP (script.js.Sonstiges.Unifi-Controller-Script:1523:6)
                                          javascript.0	2019-12-19 14:18:37.753	warn	(802) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20)
                                          javascript.0	2019-12-19 14:18:37.752	warn	(802) You are assigning a undefined to the state "javascript.0.WLANUnifi.APInfo.unifiAPWohnung.IP_Adresse" which expects a string. Please fix your code to use a string or change the state type to und
                                          javascript.0	2019-12-19 14:17:57.672	warn	(802) script.js.Sonstiges.Unifi-Controller-Script: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 14:17:58
                                          javascript.0	2019-12-19 14:17:37.549	warn	(802) at process._tickCallback (internal/process/next_tick.js:68:7)
                                          javascript.0	2019-12-19 14:17:37.549	warn	(802) at Object.setInterval (script.js.Sonstiges.Unifi-Controller-Script:1961:38)
                                          javascript.0	2019-12-19 14:17:37.549	warn	(802) at workAP (script.js.Sonstiges.Unifi-Controller-Script:1523:6)
                                          javascript.0	2019-12-19 14:17:37.548	warn	(802) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20)
                                          javascript.0	2019-12-19 14:17:37.547	warn	(802) You are assigning a undefined to the state "javascript.0.WLANUnifi.APInfo.unifiAPWohnung.IP_Adresse" which expects a string. Please fix your code to use a string or change the state type to und
                                          javascript.0	2019-12-19 14:17:17.619	warn	(802) script.js.Sonstiges.Unifi-Controller-Script: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 14:17:58
                                          javascript.0	2019-12-19 14:16:57.628	warn	(802) script.js.Sonstiges.Unifi-Controller-Script: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 14:17:58
                                          javascript.0	2019-12-19 14:16:37.627	warn	(802) at process._tickCallback (internal/process/next_tick.js:68:7)
                                          javascript.0	2019-12-19 14:16:37.626	warn	(802) at Object.setInterval (script.js.Sonstiges.Unifi-Controller-Script:1961:38)
                                          javascript.0	2019-12-19 14:16:37.626	warn	(802) at workAP (script.js.Sonstiges.Unifi-Controller-Script:1523:6)
                                          javascript.0	2019-12-19 14:16:37.626	warn	(802) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20)
                                          javascript.0	2019-12-19 14:16:37.625	warn	(802) You are assigning a undefined to the state "javascript.0.WLANUnifi.APInfo.unifiAPWohnung.IP_Adresse" which expects a string. Please fix your code to use a string or change the state type to und
                                          javascript.0	2019-12-19 14:16:17.530	warn	(802) script.js.Sonstiges.Unifi-Controller-Script: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 14:17:58
                                          javascript.0	2019-12-19 14:15:57.645	warn	(802) script.js.Sonstiges.Unifi-Controller-Script: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 14:17:58
                                          javascript.0	2019-12-19 14:15:37.609	warn	(802) at process._tickCallback (internal/process/next_tick.js:68:7)
                                          javascript.0	2019-12-19 14:15:37.609	warn	(802) at Object.setInterval (script.js.Sonstiges.Unifi-Controller-Script:1961:38)
                                          javascript.0	2019-12-19 14:15:37.609	warn	(802) at workAP (script.js.Sonstiges.Unifi-Controller-Script:1523:6)
                                          javascript.0	2019-12-19 14:15:37.609	warn	(802) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20)
                                          javascript.0	2019-12-19 14:15:37.607	warn	(802) You are assigning a undefined to the state "javascript.0.WLANUnifi.APInfo.unifiAPWohnung.IP_Adresse" which expects a string. Please fix your code to use a string or change the state type to und
                                          javascript.0	2019-12-19 14:15:17.635	warn	(802) script.js.Sonstiges.Unifi-Controller-Script: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 14:17:58
                                          javascript.0	2019-12-19 14:14:57.820	info	(802) script.js.Sonstiges.Unifi-Controller-Script: WLAN wird gerade umgeschaltet
                                          javascript.0	2019-12-19 14:14:57.792	info	(802) script.js.Sonstiges.Unifi-Controller-Script: WLAN wird gerade umgeschaltet
                                          javascript.0	2019-12-19 14:14:57.615	warn	(802) script.js.Sonstiges.Unifi-Controller-Script: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 14:17:58
                                          javascript.0	2019-12-19 14:14:38.139	info	(802) script.js.Sonstiges.Unifi-Controller-Script: resp: {}
                                          javascript.0	2019-12-19 14:14:38.138	info	(802) script.js.Sonstiges.Unifi-Controller-Script: ------------: [object Promise]
                                          javascript.0	2019-12-19 14:14:38.135	info	(802) script.js.Sonstiges.Unifi-Controller-Script: ALL SSID: got response
                                          javascript.0	2019-12-19 14:14:38.127	info	(802) script.js.Sonstiges.Unifi-Controller-Script: resp: {}
                                          javascript.0	2019-12-19 14:14:38.126	info	(802) script.js.Sonstiges.Unifi-Controller-Script: ------------: [object Promise]
                                          javascript.0	2019-12-19 14:14:38.126	info	(802) script.js.Sonstiges.Unifi-Controller-Script: ALL SSID: got response
                                          javascript.0	2019-12-19 14:14:37.562	info	(802) script.js.Sonstiges.Unifi-Controller-Script: ssid switch in aktion
                                          javascript.0	2019-12-19 14:14:37.561	info	(802) script.js.Sonstiges.Unifi-Controller-Script: false5dfa4af763c267031de2f692
                                          javascript.0	2019-12-19 14:14:37.561	info	(802) script.js.Sonstiges.Unifi-Controller-Script: falseb_gast
                                          javascript.0	2019-12-19 14:14:37.561	info	(802) script.js.Sonstiges.Unifi-Controller-Script: !11111111_________: javascript.0.WLANUnifi.WLANSSIDsHide.b,javascript.0.WLANUnifi.WLANSSIDsHide.b_gastjavascript.0.WLANUnifi.b,javascript.0.WLANUnif
                                          javascript.0	2019-12-19 14:14:37.556	info	(802) script.js.Sonstiges.Unifi-Controller-Script: ssid switch in aktion
                                          javascript.0	2019-12-19 14:14:37.555	info	(802) script.js.Sonstiges.Unifi-Controller-Script: false5dfa49d363c267031de2f685
                                          javascript.0	2019-12-19 14:14:37.554	info	(802) script.js.Sonstiges.Unifi-Controller-Script: falseb
                                          javascript.0	2019-12-19 14:14:37.553	info	(802) script.js.Sonstiges.Unifi-Controller-Script: !11111111_________: javascript.0.WLANUnifi.WLANSSIDsHide.b,javascript.0.WLANUnifi.WLANSSIDsHide.b_gastjavascript.0.WLANUnifi.b,javascript.0.WLANUnif
                                          javascript.0	2019-12-19 14:14:36.989	info	(802) script.js.Sonstiges.Unifi-Controller-Script: registered 11 subscriptions and 1 schedule
                                          javascript.0	2019-12-19 14:14:36.939	info	(802) Start javascript script.js.Sonstiges.Unifi-Controller-Script
                                          

                                          das wiederholt sich dann munter weiter.

                                          Vielleicht gibt es dafür eine Lösung?

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

                                            @bimmi - die sollte es definitiv geben

                                            bitte überprüfe nochmal die MAc adressen der aps, die du im script eingegen hast (in der apName constante) - format: die mac-adressen müssen mit doppelpunkten angegeben sein und die buchstaben in lower-case - also kleingeschrieben - hier ein beispiel "18:e8:29:56:40:e2"

                                            gilt natürlich auch für unifi switches oder dem unifi gateway, falls du diese auch eingegeben hast

                                            ps:

                                            • noch eine frage- hast du versucht, die ssid unsichtbar zu schalten - diese funktion wird nämlich aufgerufen - sie sollte nicht laufen, wenn du sie nicht ausgewählt hast - auswählen funktioniert über das schalten der folgenden datenpunkte : "javascript.2.WLANUnifi.WLANSSIDsHide.WLAN_SSID_normal" oder auch "javascript.2.WLANUnifi.WLANSSIDsHide.WLAN_SSID_Gast" (natürlich an deine settings (ssid-namen) angeglichen)

                                            • wurden eigentlich diese datenpunkte angelegt und stehen auf false ?

                                            Image 1.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            931
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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