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 goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    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
      ich hatte ja zu Anfang auch die FritzBox vor dem USG. NAT läßt sich im USG auch mit einer json Datei deaktivieren. VPN über die Fritzbox (mit myfritz) hatte ich mit einer Regel trotzdem. Es hat auch funktioniert. Im Moment habe ich VPN über Radius laufen.

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

        @liv-in-sky

        die json für das USG sah bei mir so aus, die Einstellung die Du dann brauchst läßt sich aber auslesen.

        {
        	"service": {
        		"nat": {                                       
        			"rule": {                   
        				"5999": {                        
        					"exclude": "''",        
        					"outbound-interface": "eth0",
        					"type": "masquerade"
        				}
        			}
        		}
        	}
        }
        
        liv-in-sky 2 Replies Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @dslraser last edited by

          @dslraser ist der usg überhaupt für die lanclients zustandig ? kommen die nicht vom switch ? oder kommen die vom/über dhcp vom usg ?

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

            @dslraser wenn du lust hast, sende mir doch mal die daten mit den lanclients - das d von dlog löschen

            Image 7.png

            das true setzten ist von dem last_seen_uap abhängig - evtl haben die lan clients diesen punkt nicht - da kein uap ?!

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

              @liv-in-sky
              schicke ich Dir gleich

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

                @dslraser sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                @liv-in-sky
                ich hatte ja zu Anfang auch die FritzBox vor dem USG. NAT läßt sich im USG auch mit einer json Datei deaktivieren. VPN über die Fritzbox (mit myfritz) hatte ich mit einer Regel trotzdem. Es hat auch funktioniert. Im Moment habe ich VPN über Radius laufen.

                @liv-in-sky nur als Info...
                Usg hängt bei mir direkt am Glasfaser, dann erst die 7490iger Fritte und auch nur noch wegen Telefon.
                Selbst ipv6 funktioniert. Ok VPN nutze ich nicht bzw. brauche ich nicht, aber sollte auch funktionieren.

                Übrigens habe ich hier den Cloud-Key am Switch hängen und der managed alles.

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

                  @Nashra

                  ich hab emal mit dslraser telefoniert - das script braucht eine größere änderung, weil die lan clients bestimmte datenpunkte, die ich abfrage, nicht liefern bzw. anders heißen

                  ich versuche diese woche trotzdem mal ein paar änderungen einzupflegen und mit euch zu testen - um die lan -client-daten zu bekommen, brauche ich einen switch - den werde ich mir jedoch nicht kaufen - aber vielleicht klappt es ja doch irgendwie - vielleicht kann ich mit teamviewer ein paar tests machen - oder so

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

                    Ok 👍
                    Was ich bis jetzt gefunden habe wegen fehlendem Hostnamen ist, das Unifi dies über die MAC-Adresse regelt.
                    Desweiteren wäre es toll wenn auch das mit den Aliasnamen funktionieren würde, wieso da eigentlich eine Filterung?

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

                      @dslraser

                      script zum test

                      <xml xmlns="http://www.w3.org/1999/xhtml">
                       <variables>
                         <variable type="" id="^HoH-k20pa^?@DB/xeM3">i</variable>
                       </variables>
                       <block type="on_ext" id="ce.n5V*r/z;dp^fkkvC2" x="-1137" y="-613">
                         <mutation items="1"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="!h,u;ltVdz78tG8oL7,U">
                             <field name="oid">default</field>
                           </shadow>
                           <block type="selector" id="SxVqA[czH|8s5L)q9/(]">
                             <field name="TEXT">state[id='javascript.2.WLANUnifi.Wifi_Client_States.*']</field>
                           </block>
                         </value>
                         <statement name="STATEMENT">
                           <block type="comment" id="Dwx%2Z_Q){[J?[h??tEg">
                             <field name="COMMENT">für umschalten von true auf false</field>
                             <next>
                               <block type="controls_forEach" id="([/#z6r;#I$$D_y,H9*D">
                                 <field name="VAR" id="^HoH-k20pa^?@DB/xeM3" variabletype="">i</field>
                                 <value name="LIST">
                                   <block type="selector" id="sR}f`bRg,(Zhx|uVrXyW">
                                     <field name="TEXT">state[id='javascript.2.WLANUnifi.Wifi_Client_States.*']</field>
                                   </block>
                                 </value>
                                 <statement name="DO">
                                   <block type="controls_if" id="V!OF]VApI$$z_#{njxZm">
                                     <value name="IF0">
                                       <block type="logic_operation" id="a{n+kypj2v4y+x-t6~v?" inline="false">
                                         <field name="OP">AND</field>
                                         <value name="A">
                                           <block type="logic_compare" id="h5r*Odo:0-**p_o72gIA">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="get_value_var" id="MchNhUyS%^ne]yXjdUk9">
                                                 <field name="ATTR">val</field>
                                                 <value name="OID">
                                                   <shadow type="text" id="$ZuV9.Z`zK=rA!Q/EU}U">
                                                     <field name="TEXT"></field>
                                                   </shadow>
                                                   <block type="variables_get" id="XZu1I6f=IL2xH3Q[ezAq">
                                                     <field name="VAR" id="^HoH-k20pa^?@DB/xeM3" variabletype="">i</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="logic_boolean" id="9rpzV0;=TJj?oyRi?V$W">
                                                 <field name="BOOL">FALSE</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_compare" id="e1(UaFO;@)-%m_zY(:C]">
                                             <field name="OP">LT</field>
                                             <value name="A">
                                               <block type="math_arithmetic" id="yet)l!*(=|$9p-k^C@bD">
                                                 <field name="OP">MINUS</field>
                                                 <value name="A">
                                                   <shadow type="math_number" id="L[+]Ru)025H_(1E)q([!">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="time_get" id="cHIcHsV^}y^SN{fQlj*C">
                                                     <mutation format="false" language="false"></mutation>
                                                     <field name="OPTION">object</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <shadow type="math_number" id="[q:ASesDitQ[Bw%yB-#:">
                                                     <field name="NUM">1</field>
                                                   </shadow>
                                                   <block type="get_value_var" id="3p6n[,y+-W,Dbrs-b{t0">
                                                     <field name="ATTR">lc</field>
                                                     <value name="OID">
                                                       <shadow type="text" id="$ZuV9.Z`zK=rA!Q/EU}U">
                                                         <field name="TEXT"></field>
                                                       </shadow>
                                                       <block type="variables_get" id="Y7`;FE#=J:SO$L;BHtC/">
                                                         <field name="VAR" id="^HoH-k20pa^?@DB/xeM3" variabletype="">i</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="math_number" id="3gxc(PJ5aM``I2C9Eh=D">
                                                 <field name="NUM">3000</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="debug" id="B$A}u)1wjXW%P!kzKkL`">
                                         <field name="Severity">warn</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="V4J^|!u%Y_g:#8p!Q5)*">
                                             <field name="TEXT">test</field>
                                           </shadow>
                                           <block type="text_join" id="nRs9ge34N=4lR|!=xs_(">
                                             <mutation items="4"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="`tD-nC,vQcJk@thaHH4p">
                                                 <field name="TEXT">Wert von  :  </field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="variables_get" id="^?]8I,v|W46Vdqm1e9.H">
                                                 <field name="VAR" id="^HoH-k20pa^?@DB/xeM3" variabletype="">i</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id="X.oX530/]eJ/%OX4p}2J">
                                                 <field name="TEXT"> ist :----------------------------------</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="get_value_var" id="*l%y+oTXoU,.0!ydd)CD">
                                                 <field name="ATTR">val</field>
                                                 <value name="OID">
                                                   <shadow type="text" id="$ZuV9.Z`zK=rA!Q/EU}U">
                                                     <field name="TEXT"></field>
                                                   </shadow>
                                                   <block type="variables_get" id="]%RvRcW(Fkpk}S?^/rA8">
                                                     <field name="VAR" id="^HoH-k20pa^?@DB/xeM3" variabletype="">i</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                      </xml>
                      

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

                        @Nashra sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                        Ok 👍
                        Was ich bis jetzt gefunden habe wegen fehlendem Hostnamen ist, das Unifi dies über die MAC-Adresse regelt.
                        Desweiteren wäre es toll wenn auch das mit den Aliasnamen funktionieren würde, wieso da eigentlich eine Filterung?

                        Hattest Du das Script gestart ohne Alias auf true zu setzten und dann mit true ?
                        (wenn Du diese Config änderst mußt Du einmal alle Objekte löschen und dann wieder das Script starten, hattest Du gelöscht ?)

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

                          @dslraser sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                          @Nashra sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                          Ok 👍
                          Was ich bis jetzt gefunden habe wegen fehlendem Hostnamen ist, das Unifi dies über die MAC-Adresse regelt.
                          Desweiteren wäre es toll wenn auch das mit den Aliasnamen funktionieren würde, wieso da eigentlich eine Filterung?

                          Hattest Du das Script gestart ohne Alias auf true zu setzten und dann mit true ?
                          (wenn Du diese Config änderst mußt Du einmal alle Objekte löschen und dann wieder das Script starten, hattest Du gelöscht ?)

                          Erster Start war mit Alias=true, dann alles gelöscht und mit alias=false wieder neu.

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

                            @Nashra
                            okay.
                            das mit den Aliasnamen hatten wir deswegen, weil bei manchen Geräten im Contoller kein Hostname angezeigt wird, das ergibt dann ein undefined und dann wurde im Script kein DP dafür angelegt bzw. ein undefined.
                            Aliasnamen kann man im Controller aber selbst setzten, dann wurden solche Geräte bei mir angezeigt und in den Objekten hat man dann auch den Namen den man selbst als Alias vergeben vergeben hat.

                            PS: das mit den Alias Namen finde ich schon gut, da man sonst die ganzen Amazon Geräte kaum unterscheiden kann.

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

                              @dslraser sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                              Aliasnamen kann man im Controller aber selbst setzten, dann wurden solche Geräte bei mir angezeigt und in den Objekten hat man dann auch den Namen den man selbst als Alias vergeben vergeben hat.

                              Aliase haben die bei mir alle im Controller

                              PS: das mit den Alias Namen finde ich schon gut, da man sonst die ganzen Amazon Geräte kaum unterscheiden kann.

                              Genau deswegen würde ich es gerne nutzen im Script aber dann zeigt er mir leider nicht alle Geräte an

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

                                @Nashra sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                                aber dafür wird mir aus dem zweiten WLan-Netz

                                Ja, bei mir werden die Alias Geräte alle angezeigt. Ich habe aber auch jetzt erst gelesen das Du mehrere WLAN hast. Hast Du alle WLAN mit der dazugehörigen ID im Script eingetragen ?

                                Hier an dieser Stelle

                                // DEFINITION der zu anzeigenden Netzwerke am besten bis auf id und smart alle gleich setzen
                                const wifis = {
                                   "HKHOME":     { name: "HKHOME", id: "xxxwlanidxxx", desc: "HKHOME", smart: "" } ,
                                   "GASTWLAN": { name: "GASTWLAN", id: "xxxwlanidxxx", desc: "GASTWLAN", smart: "Gastwifi,Gästewifi" }
                                }
                                
                                Nashra liv-in-sky 2 Replies Last reply Reply Quote 0
                                • Nashra
                                  Nashra Most Active Forum Testing @dslraser last edited by

                                  @dslraser sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                                  @Nashra sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

                                  aber dafür wird mir aus dem zweiten WLan-Netz

                                  Ja, bei mir werden die Alias Geräte alle angezeigt. Ich habe aber auch jetzt erst gelesen das Du mehrere WLAN hast. Hast Du alle WLAN mit der dazugehörigen ID im Script eingetragen ?

                                  Ja sind alle entsprechend eingetragen. Ohne Alias wird im Hauptnetz alles angezeigt, mit Alias nicht da Filterung.
                                  Die Cams im 2ten Netz nur nicht weil sie eben keinen Hostnamen haben, außer ich setze Alias.

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

                                    @dslraser @Nashra

                                    • habe hier mal eine erste test version für user mit unifi switch - es gehört nur der teil ab "-AB HIER NICHTS MEHR ÄNDERN" ersetzt

                                    test-fuer-switch-30-9.txt

                                    • der(die) switch('s) muss unter apname eingetragen sein z.b.
                                    const apName = {  "b4:xx:xx:xx:xx:63" : { aname: "AP-LongR"},
                                                      "18:xx:xx:xx:xx:e2" : { aname: "AP-Light"},
                                                      "18:e8:xx:xx:6f:xx" : {aname: "Switch1"}}
                                    
                                    • nur datenpunkte der clients löschen bevor scriptstart

                                    bin nicht sicher - aber es sollten die lan geräte angezeigt werden - also bitte testen und feedback

                                    Nashra dslraser 2 Replies 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:

                                      @dslraser @Nashra

                                      • habe hier mal eine erste test version für user mit unifi switch - es gehört nur der teil ab "-AB HIER NICHTS MEHR ÄNDERN" ersetzt

                                      test-fuer-switch-30-9.txt

                                      • der(die) switch('s) muss unter apname eingetragen sein z.b.
                                      const apName = {  "b4:xx:xx:xx:xx:63" : { aname: "AP-LongR"},
                                                        "18:xx:xx:xx:xx:e2" : { aname: "AP-Light"},
                                                        "18:e8:xx:xx:6f:xx" : {aname: "Switch1"}}
                                      
                                      • nur datenpunkte der clients löschen bevor scriptstart

                                      bin nicht sicher - aber es sollten die lan geräte angezeigt werden - also bitte testen und feedback

                                      LAN-Geräte werden, wenn Hostname vorhanden, als DP angelegt.
                                      Zurzeit sind 32 Geräte im Netz aber nur 23 werden angezeigt.
                                      liste.PNG

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

                                        @Nashra erstmal danke fürs testen

                                        • werden die datenpunkte auf true gesetzt und wenn du ein lan gerät abschaltest, wird es auf false gesetzt ?
                                        • kannst du irgendwie herausfinden, welche gemeinsamkeit die fehlenden geräte haben - sind die alle an einem switch oder ap oder an einem nicht-unifi-switch ? oder liegt es am aliasnamen ?
                                        Nashra 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Nashra last edited by liv-in-sky

                                          @Nashra würdest du mir mal deine daten zur verfügung stellen ? - dann könnt ich die mir mal ansehen

                                          falls ja, dannImage 9.png das d bei dlog entfernen und die daten aus den log unter dem script kopieren und in eine datei sichern

                                          ich würde dir dann eine mailadresse im chat geben, damit deine daten nicht im netz liegen

                                          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:

                                            bin nicht sicher - aber es sollten die lan geräte angezeigt werden - also bitte testen und feedback

                                            Feedback von mir:

                                            bei mir werden alle LAN und WLAN Geräte im Alias Modus angezeigt. Auch true und false der LAN Geräte funktioniert. Ich habe ein LAN Gerät testweise entfernt und es ging auf false, danach wieder das LAN Kabel rein und es geht auf true. Sehr schön.
                                            Auch die gestern telefonisch besprochene Gesamt Geräte Anzahl (inkl. LAN) bleibt jetzt stabil stehen.

                                            Noch einen Fehler, den ich schon länger gesehen habe, hier ist ein Umlautefehler drinn.

                                            Bildschirmfoto 2019-09-30 um 19.46.13.png

                                            Ich lasse das Sript jetzt mal etwas laufen.

                                            liv-in-sky 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            691
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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