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

      @dslraser ja - da haben wir ein problem - meine überlegungen - neue hardware anzulegen, scheitert im moment an dem punkt, dass ich die fritzbox noch brauche, weil ich ein netzwerk über vpn mit einer anderen fritzbox und "myfritz" verwende - daher würde wohl das problem mit einem doppelten nat bei mir auftreten, weil ich den usg nur hinter die fritzbox setzen könnte - "was ich bis jetzt so gelesen habe"

      für eine solche einbindung brauche ich aber eine testumgebung - so nebenbei könnte ich das script nicht ändern - die essid ist auch ein teil bei der bearbeitung der clientanwesenheit

      wo kommen eigentlich die daten für das lan her - vom usg oder vom switch ? müßte ich beide hardware komponenten haben ? einen switch wollte ich eigentlich nicht kaufen

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

        @Nashra sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

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

        @Nashra sagte in Unifi WLAN Script 2 mit Anwesenheitskontrolle:

        @liv-in-sky unter Hostnamen steht nur ein Minus
        cam1.PNG
        In der Cam-Soft kann man auch nichts eintragen, den Punkt gibt es nicht nur IP, Gateway, DNS.
        Ist eine Foscam.

        wo bekommen deine geräte dhcp her ? - könnte man da noch was einstellen ? wie bei der fritzbox- da konnte man ja auch einen namen vergeben

        Wird alles vom Controller gesteuert

        ich habe es nur überflogen - aber darin steht wohl das problem mit den fehlenden namen !?

        https://community.ui.com/questions/Controller-lacks-client-hostnames-for-USG-or-USW-connected-devices/79362cc0-2249-4939-8860-293968827bfc

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

          @liv-in-sky
          jetzt weiß ich wieder so ungefähr was da war.
          hier sind die LAN Geräte dann auch nicht richtig, weil die natürlich auch keine essid haben.
          Screenshot_20190929-160950_Chrome.jpg

          1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            937
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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