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.
    • liv-in-sky
      liv-in-sky last edited by liv-in-sky

      die sache mit fehlenden hostnamen oder alias (bei nutzung alias=true) hat sich geändert

      wenn bei aliasname=false kein hostname kommt, wird die ip-adresse genommen (und noname angehängt)
      wenn bei aliasname=true kein alias da ist, wird , die ip-adresse genommen (und noname angehängt)
      -> also in beiden fällen sollten alle existierenden clients angezeigt werden

      vorher war es so bei aliasname=false -> client wurde aussortiert -- bei aliasname=true - kein alias vorhanden, kein datenpunkt -> also in beiden fällen keine datenpunkte

      die ipadressen-punkte werden in beiden szenarios aber mit bindestrichen ersetzt - was nicht geprüft wird, ist ob im aliasnamen oder hostnamen selber punkte vorhanden sind - das sollte auf jeden fall vermieden werden
      normalerweise werden (glaube ich zumindest) in hostnamen keine punkte verwendet- falls da jemand andere erfahrung hat - bitte melden


      ich konnte auch feststellen, das manchmal in einem datenpunkt für einen client, eine falsche ip unter dem namen des clients steht - pfeil auf bild - dort steht dann eine ip mit ganz anderem netz

      Image 3.png

      ich konnte nicht genau herausfinden, wann bzw wie das passiert - kommt auch nur selten vor - dann einfach den datenpunkt löschen - der wird dann sofort neu und richtig angelegt - da der datenpunkt schon falsch angelegt wurde - beim ersten mal, wird er nicht wieder bei einem zyklus des scripts neu angelegt - daher einfach löschen - bischen warten und schwups ist er wieder da

      1 Reply Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @Adnim last edited by

        @Adnim
        wenn Du das Script auf Alias umstellst, dann einmal alle Datenpunkte löschen nicht vergessen.

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

          @liv-in-sky

          Ich weiß nicht warum die neuen Versionen von deinem Script bei mir nicht mehr funktionieren.
          Hatte es mal auf debug gestellt aber außer dem Eintrag im Log:

          javascript.0	2019-10-04 15:53:01.404	warn	script.js.Meine_Geräte.Unifi: setForeignState(id=javascript.0.WLANUnifi.AliasName, state={"val":false,"ack":false}) - was not executed, while debug mode is active
          

          und dem anlegen der Datenpunkte tut sich nichts mehr d.h. die DP werden nicht aktualisiert.
          Bei dem welches ich zurzeit nutze werden minütlich die Daten aktualisiert was man in den Objekten
          schön verfolgen kann. D.h. das neue Script ist zwar aktiviert, läuft aber nur einmal beim Start.

          Achja, nachdem ich im Controller nochmal alle Aliase überprüft und teilweise korrigiert habe,
          werden mir alle Geräte in der VIS angezeigt. Auch der Alarm funktioniert wenn 1 AP aus ist.

          Dies ist das Script von dir was noch bei mir funktioniert Nashra-Unifi-Script.txt

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

            @Nashra weil der debug mode aktiv ist - dann wird nichts geschrieben - glaub ich zumindest

            Image 4.png

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

              @Nashra - hab dich glaube falsch verstanden deshalb nochmal:

              debug bitte wieder ausschalten - sonst wird nix geschrieben - bei mir kommen extrem viele warnungen

              was mir auffällt - ist es dir möglich, das script file mal zu kopieren und in iobroker zu pasten - ohne dass du einen (wahrscheinlich mac) editor benutzt - ich kann dies zum beispiel - mit chrome - das script direkt öffnen und in einem neuen tab sehen - direkt aus dem forum heraus geöffnet

              mach ich das mit deinem script sieht das so aus: (ansicht im browser)
              Image 6.png

              ich weiß nicht, ob das was macht - aber irgendwie seltsam


              ich gebe hier mal eine version mit etwas mehr log ausgaben - sollte dann so aussehen

              Image 8.png

              script-mit-log-nashra.txt

              script ohne settings - datenpunkte löschen

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

                @liv-in-sky
                ups Datei im falschen Format hochgeladen, hatte ich dir aber auch per Mail geschickt 🙂

                Naja, so Script gestartet und Log zeigt an

                javascript.0	2019-10-04 18:00:29.103	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 14
                

                aber es kommen keine Daten
                log-unifi-ohne-daten.PNG

                Nachtrag: die Datenpunkte der Clients werden nicht angelegt!

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

                  @Nashra die werte in deinen datenpunkten lassen vermuten, das etwas mit dem scriptformat nicht stimmt

                  der scriptcounter darf auch nicht über 3 gehen - das script verennt sich !!

                  da stimmt etwas grundsätzliches nicht - bitte mach mal ein foto vom log , von neustart des scriptes bis scriptcounter= 4

                   
                  

                  ist ein zeichen, dass im script nicht vorkommt - da wird etwas übersetzt - ich nutze den ausdruck:

                   
                  
                  

                  der ein leerzeichen darstellt das "nbsp;" steht für - glaube ich - mehrere leerzeichen

                  Image 10.png

                  ich nutze das für die formatierung in den html-tables - diese zeichen sollten in den htmltables erscheinen - sonst nirgends

                  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 die werte in deinen datenpunkten lassen vermuten, das etwas mit dem scriptformat nicht stimmt

                    der scriptcounter darf auch nicht über 3 gehen - das script verennt sich !!

                    da stimmt etwas grundsätzliches nicht - bitte mach mal ein foto vom log , von neustart des scriptes bis scriptcounter= 4

                     
                    

                    ist ein zeichen, dass im script nicht vorkommt - da wird etwas übersetzt - ich nutze den ausdruck:

                     
                    
                    

                    der ein leerzeichen darstellt das "nbsp;" steht für - glaube ich - mehrere leerzeichen

                    Image 10.png

                    ich nutze das für die formatierung in den html-tables - diese zeichen sollten in den htmltables erscheinen - sonst nirgends

                    Nein nein, nach aktualisieren des Browsers sind die "nbsp" verschwunden.

                    javascript.0	2019-10-04 18:59:17.497	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 19
                    javascript.0	2019-10-04 18:58:57.497	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 18
                    javascript.0	2019-10-04 18:58:37.497	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 17
                    javascript.0	2019-10-04 18:58:17.496	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 16
                    javascript.0	2019-10-04 18:57:57.495	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 15
                    javascript.0	2019-10-04 18:57:37.496	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 14
                    javascript.0	2019-10-04 18:57:17.495	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 13
                    javascript.0	2019-10-04 18:56:57.495	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 12
                    javascript.0	2019-10-04 18:56:37.494	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 11
                    javascript.0	2019-10-04 18:56:17.493	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 10
                    javascript.0	2019-10-04 18:55:57.492	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 9
                    javascript.0	2019-10-04 18:55:37.493	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 8
                    javascript.0	2019-10-04 18:55:17.492	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 7
                    javascript.0	2019-10-04 18:54:57.479	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 6
                    javascript.0	2019-10-04 18:54:37.479	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 5
                    javascript.0	2019-10-04 18:54:17.479	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 4
                    javascript.0	2019-10-04 18:53:57.479	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 3
                    javascript.0	2019-10-04 18:53:37.479	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 2
                    javascript.0	2019-10-04 18:53:17.481	info	script.js.Meine_Geräte.Unifi: -----------------------SCRIPTCOUNTER------------------ ist : 1
                    javascript.0	2019-10-04 18:52:51.608	info	script.js.Meine_Geräte.Unifi: registered 10 subscriptions and 0 schedules
                    javascript.0	2019-10-04 18:52:51.536	info	Start javascript script.js.Meine_Geräte.Unifi
                    

                    Läuft immer weiter...

                    1 Reply Last reply Reply Quote 0
                    • coyote
                      coyote Most Active last edited by

                      @liv-in-sky ich habe heute auf js-controller 2.0.22 geupdatet und die Datenbank auf redis/redis umgestellt, jetzt wird in iqontrol die htmclients und htmlinfo nicht mehr dargestellt, iqontrol sagt "Datei existiert nicht"
                      Sie ist aber definitv vorhanden und wird in dem Pfad auch geändert.

                      Aussage von Apollon77:
                      Das Skript sollte das mit "writeFile" korrekt im ioBroker-Storage ablegen und nicht an allem vorbei 😉 Aber wie gesagt: Thema am besten im iqontrol Thread besprechen.

                      Hat von euch jemand den neuen Controller schon laufen mit redis?

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

                        @coyote
                        danke für den hinweis
                        ich glaube, ich weiß was da falsch ist - werd morgen mal testen und bescheid geben

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

                          Guten Morgen @liv-in-sky
                          da es mir keine Ruhe ließ warum mit deinem letzten Script keine Daten geholt wurden,
                          habe ich mein Script mit deinem in WinMerge verglichen und den klitzekleinen Fehler gefunden.
                          In Zeile 39 fehlt ein Semikolon hinter "let respal" 🙂

                          let respv; let respc; let respw; let resph; let respgv; let respa; let respal //geholte Daten
                          

                          Script läuft jetzt, alle Daten da 🙂

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

                            @Nashra super, dass du das gefunden hast - habe es ausgebessert - echt seltsam, dass bei mir kein fehler kommt

                            bin eh gerade am "tüffteln" - es gibt ab und zu daten - da haben clients keinen hostnamen und kein alias obwohl sie im controller sichtbar sind - oder einem gerät habe ich ein alias gegeben und später wieder gelöscht - seit dem hat es in den angeforderten daten keinen hostnamen mehr - echt strange

                            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 super, dass du das gefunden hast - habe es ausgebessert - echt seltsam, dass bei mir kein fehler kommt

                              bin eh gerade am "tüffteln" - es gibt ab und zu daten - da haben clients keinen hostnamen und kein alias obwohl sie im controller sichtbar sind - oder einem gerät habe ich ein alias gegeben und später wieder gelöscht - seit dem hat es in den angeforderten daten keinen hostnamen mehr - echt strange

                              Genau deswegen wurden bei mir ja auch div. Clients nicht angezeigt. Im Controller war zwar ein Aliasname aber den muß
                              man explizit nochmal in der Config eingeben und speichern. Dachte auch, es ist ja da, also alles ok aber weit gefehlt.
                              Die Controllersoft ist schon der Hammer 🙂

                              1 Reply Last reply Reply Quote 0
                              • coyote
                                coyote Most Active last edited by coyote

                                @liv-in-sky habe gerade auch die letzte Version des Scripts eingespielt und vorher alle DP's gelöscht, Script gestartet, alles da inkl. meinem USG 👍

                                Hast du schon mal geschaut wegen der html Listen und js-controller 2.0?

                                Und ein Feature-Request hab ich noch, dann könnte ich nämlich den Unifi Controller auch deinstallieren. Könntest du unter dem USG die WAN-IP als DP mit einfügen? Es kommt zwar recht selten vor, aber ich lasse mir ein Telegram schicken, wenn sich die WAN-IP geändert hat.
                                Wäre prima, wenn das noch drin wäre.

                                EDIT: Habe es im JSON gerade schon selbst gefunden, vllt schaffe ich es auch selbst einzubauen, wenn ich heute Abend noch Zeit habe. Mal schauen 🙂

                                EDIT2: Hab es schnell eingebaut, läuft 😉

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

                                  @coyote wollt gerade anfangen mit dem iqontrol thema

                                  kanns du mir bitte deine änderungen zusenden - dann baue ich das ein - sonst mußt du bei jedem update deinen code wieder einbauen

                                  1 Reply Last reply Reply Quote 0
                                  • lobomau
                                    lobomau last edited by lobomau

                                    kurze Zwischeninfo von mir:
                                    Script macht für mich alles was er soll (Version vom 03.10.19).
                                    Ich habe zwei UAP-AP-Pro und einen 24er switch von Unifi, sowohl einen FritzRepeater als AP im Garten im Einsatz. Vouchers nutze ich nicht.
                                    18 users wird angezeigt und beim Durchzählen sind es auch 18 im WLAN. Die drei Geräte, die sich über den FritzRepeater einwählen erscheinen natürlich als LAN Geräte.
                                    Ganz tolles Script!

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

                                      Suche tester:

                                      mußte das sortieren und benennen die clients nochmal überarbeiten (der controller macht "komische" sachen) und brauche tester mit usg und/oder usw - aber z.b auch: mein gerootetes tablet hat keinen hostnamen oder löscht man den aliasnamen belibt der im datensatz als leer enthalten, was wiederrum probleme erzeugt hat

                                      script-mit-neuer-sortierung.txt

                                      das neue "verfahren" macht jetzt folgendes

                                      wenn aliasname=false:

                                      • wenn kein hostname oder leerer hostname , dann aliasnamen verwenden -wenn der auch nicht existiert oder leer ist wird ein "name aus der ipadresse +repaired" gebildet

                                      • wenn aliasname=true
                                        wenn kein aliasname oder leerer -> direct "name aus der ipadresse +repaired"

                                      wie immer nur der teil unter "AB HIER NICHTS MEHR ÄNDERN" - -datenpunkte bitte löschen , diese könnten nun anders sein

                                      • interessant sind auch apple (iphone) user und wie erwähnt die usg und usw nutzer

                                      • bitte auch beobachten was mit clients passiert, die leerzeichen im namen oder alias haben (vorallen bei iphone nutzern)

                                      • zum rumspielen: es gibt auch einen datenpunkt mit dem man auf aliasname=true schalten kann ohne das script zu stoppen - in der vis sieht man dann sehr gut die veränderungen

                                      so sieht es bei mir aus - habe nur 2 mit aliasnamen bestückt - der rest wird dann mit "repaired" angezeigt- somit weiß man, wo noch ein alias hin muss

                                      Image 2.png

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

                                        @liv-in-sky

                                        das kam beim ersten Start

                                        javascript.0	2019-10-05 18:30:36.135	error	at Object.<anonymous> (script.js.Heiko.16Unifi.Unifi1:1284:82)
                                        javascript.0	2019-10-05 18:30:36.135	error	Error in callback: TypeError: Cannot read property 'length' of undefined
                                        

                                        das ist diese Zeile

                                                  setState(dpPrefix + "WLANUnifi.Wifi_Vouchers_ValueCodeList",listValue2.length+1)
                                        

                                        nach einem "Neustart" des Script kam dann erstmal das hier

                                        javascript.0	2019-10-05 18:31:37.279	warn	script.js.Heiko.16Unifi.Unifi: Unifi Script ist in Pause wegen WLAN Umschalteung- bis: 18:33:57
                                        

                                        Das Script scheint aber zu arbeiten, braucht wohl aber einen Moment bis alle Daten da sind.

                                        Weiter testen kann ich leider heute nicht, war eben auch nur kurz. (habe wieder Besuch im Hause---übrigens ein iPhone im Gäste Wifi--hat keinen Hostnamen)

                                        Aber
                                        jetzt läuft das Log damit voll

                                        javascript.0 script.js.Heiko.16Unifi.Unifi1: setWifi: rejected: StatusCodeError: 401 - "{\"meta\":{\"rc\":\"error\",\"msg\":\"api.err.LoginRequired\"},\"data\":[]}"
                                        

                                        mein Login stimmt aber...? (es werden auch Daten geholt

                                        EDIT: mein USG wir nicht angezeigt

                                        EDIT2: AP Infos werden nicht geschrieben.

                                        EDIT3: Die Client Anzahl schwankt wieder (war schon mal weg)

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

                                          @dslraser uuuppsss - schau ich mal - habe es nochmal (2mal) getestet und neu kopiert und draufgeladen - sollte alles in ordnung sein

                                          script-mit-neuer-sortierung.txt

                                          dann machen wir morgen weiter

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

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

                                            Suche tester:

                                            mußte das sortieren und benennen die clients nochmal überarbeiten (der controller macht "komische" sachen) und brauche tester mit usg und/oder usw - aber z.b auch: mein gerootetes tablet hat keinen hostnamen oder löscht man den aliasnamen belibt der im datensatz als leer enthalten, was wiederrum probleme erzeugt hat

                                            script-mit-neuer-sortierung.txt

                                            das neue "verfahren" macht jetzt folgendes

                                            wenn aliasname=false:

                                            • wenn kein hostname oder leerer hostname , dann aliasnamen verwenden -wenn der auch nicht existiert oder leer ist wird ein "name aus der ipadresse +repaired" gebildet

                                            OK ✔

                                            • wenn aliasname=true
                                              wenn kein aliasname oder leerer -> direct "name aus der ipadresse +repaired"

                                            OK ✔

                                            wie immer nur der teil unter "AB HIER NICHTS MEHR ÄNDERN" - -datenpunkte bitte löschen , diese könnten nun anders sein

                                            • interessant sind auch apple (iphone) user und wie erwähnt die usg und usw nutzer

                                            OK ✔

                                            • bitte auch beobachten was mit clients passiert, die leerzeichen im namen oder alias haben (vorallen bei iphone nutzern)

                                            OK ✔

                                            • zum rumspielen: es gibt auch einen datenpunkt mit dem man auf aliasname=true schalten kann ohne das script zu stoppen - in der vis sieht man dann sehr gut die veränderungen

                                            Nicht getestet 😁

                                            Im Log bis jetzt keine Meldungen ✔

                                            Super 👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            881
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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