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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    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 dslraser

      @liv-in-sky

      damit kommen die LAN Geräte (auskommentiert), aber ohne true und false in den Objekten
      true und false kommen beim zweiten Start.

      Bildschirmfoto 2019-09-29 um 15.22.14.png

      die müßten dann aber einen eigenen Ordner für die DP haben, unter LAN und nicht Wifi_Client_States

      Bildschirmfoto 2019-09-29 um 15.25.38.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            405
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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