Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Anwesenheitscontrol basierend auf TR64 Adapter - Script

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    895

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Anwesenheitscontrol basierend auf TR64 Adapter - Script

Scheduled Pinned Locked Moved Skripten / Logik
116 Posts 34 Posters 28.6k Views 37 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    looxer01
    wrote on last edited by
    #1

    Hi,

    ich habe ein kleines Programm geschrieben, dass die Anwesenheit aufgrund des TR64 adapters auswertet.

    Voraussetzung ist, dass der Adapter TR64 installiert ist und natürlich eine Fritzbox vorhanden ist.

    Die Anwesenheiten werden sehr zuverlässig gemessen mit IOS oder Android oder was auch immer. Natürlich dürfen die Telefone sich nicht vom WLAN abmelden was sowohl bei IOS nicht mehr passiert und auch nicht bei Android (es sei denn, dass sie so eingestellt sind)

    Meine Erfahrung ist, dass es 10 Minuten dauert bis eine Abwesenheit festgestellt wird und ca. 1 Minute bis die Anwesenheit festgestellt ist.

    Folgende Funktionen sind realisiert:

    • Anwesenheitsdarstellung im Bereich javascript ( ist aber quasi nur eine Dopplung vom TR64)

    • Anwesenheitsermittlung (ist irgendwer im Hause)

    • Liste der anwesenden Personen

    • Kommt Geht pro person

    • JSON Liste der Anwesenheiten mit den letzten Kommt/Geht Zeiten

    • auf Wunsch wird ein LOG geführt, dass die Geht/Kommt Zeiten historisch mitschreibt.

    • Anbindung der Anwesenheitssimulation. Wenn gewünscht wird die Anwesenheitssimulation eingeschaltet. Die Anwesenheitssimulation gibt es hier:

    http://forum.iobroker.net/viewtopic.php … simulation

    • 6 User sind einstellbar. Falls gewünscht können weitere User hinzugefügt werden (mit kleiner Programmerweiterung) - reduzierbar auf 6 user im Einstellbereich des Programmes

    vG Looxer

    Anwesenheitsliste als Json
    305_kommtgeht.jpg

    Programm:
    305_anwesenheitscontrol.txt

    P 1 Reply Last reply
    2
    • C Offline
      C Offline
      CyberMicha
      wrote on last edited by
      #2

      Hi, funktioniert ziemlich gut.

      Bekomme immer die Meldung "eval can be harmful" zwar nur eine Warnung aber hmmm :)

      Kannst du mir vielleicht auch einmal diesen Code erklären? Bzw was macht der?

      on({id: User1, valNe: 0 }, function(obj) {  if (obj.state.ack) { anwesenheit(User1Text,1); }   });
      

      Versuche gerade zu verstehen wie das Script triggert.

      1 Reply Last reply
      0
      • L Offline
        L Offline
        looxer01
        wrote on last edited by
        #3

        @CyberMicha:

        Bekomme immer die Meldung "eval can be harmful" zwar nur eine Warnung aber hmmm :) `

        das ist ok. Ist eher ein Hinweis als Warnung.

        on({id: User1, valNe: 0 }, function(obj) {  if (obj.state.ack) { anwesenheit(User1Text,1); }   });
        
        

        Wenn TR64 das User Device auf true oder false setzt und auch die Bestätigung der Aenderung (stat.ack) erfolgt ist dann wird die Funktion "Anwesenheit" mit den Parametern User1Text(das ist der auslösende User) und "1" (das ist der erste User) aufgerufen.

        vG Looxer

        1 Reply Last reply
        0
        • C Offline
          C Offline
          CyberMicha
          wrote on last edited by
          #4

          Okay danke =)

          Schaue gerade was ich damit feines anstellen kann.

          Den Status javascript.0.Anwesenheitssteuerung.Userlist.JemandDa müsste ich doch auch irgendwie in anderen Skripten abfragen können oder? Hab es mal versucht auch mit dem on dingens aber das wollte leider nicht :/

          on({id: "javascript.0.Anwesenheitssteuerung.Userlist.JemandDa", valNe: 0 }, function(obj) {  if (obj.state.ack) { setState("javascript.0.textProcessor", 'Wilkommen zu Hause', true); }}); // ende on
          
          1 Reply Last reply
          0
          • L Offline
            L Offline
            looxer01
            wrote on last edited by
            #5

            lass mal das ack weg. Das macht nur Sinn, wenn Bestätigungen erwartet werden.

            Dies ist aber bei Javascript objekten nicht der Fall

            1 Reply Last reply
            0
            • C Offline
              C Offline
              CyberMicha
              wrote on last edited by
              #6

              Ist halt doch etwas anderes als c# :) Danke werde ich mal testen.

              1 Reply Last reply
              0
              • C Offline
                C Offline
                Computerfreunde
                wrote on last edited by
                #7

                Sehr schön,

                eine Frage, wie kann ich diese Tabelle mit Kommt/Geht darstellen?

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  looxer01
                  wrote on last edited by
                  #8

                  Hi,

                  mit dem widget "basic table" und der object id der JSON Tabelle das vom Programm erzeugt wird.

                  vG Looxer

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    Computerfreunde
                    wrote on last edited by
                    #9

                    @looxer01:

                    Hi,

                    mit dem widget "basic table" und der object id der JSON Tabelle das vom Programm erzeugt wird.

                    vG Looxer `

                    Danke für die schnelle Antwort.

                    Und Guten Rutsch in 2018

                    1 Reply Last reply
                    0
                    • U Offline
                      U Offline
                      UweS
                      wrote on last edited by
                      #10

                      Hallo

                      Kann ich statt dem TR-064 Adapter auch einfach den radar Adapter verwenden?

                      Ich habe mal folgendes versucht:

                      ! var User1 = setState ("radar.0.XXX.here");
                      ! var User2 = setState ("radar.0.XXX.btHere");
                      ! var User3 = setState ("radar.0.XXX.btHere");

                      und hier weiß ich nicht was ich eintragen soll:

                      ! // Hier ist der State für den die Deviceermittlung der durch den TR064 ermittelt wird
                      ! //var StateTR064Device = "tr-064.0.devices.";

                      und wie bekomme ich das dann in das Heizungsskript?

                      Ich weiß viele Fragen, ich habs nicht so mit dem Programmieren mehr so copy paste und dann ausprobieren.

                      So wie es aussieht hab ich es doch hinbekommen mit try and Error

                      Nachdem ich beimRadar Adapter kein state gefunden habe habe ich mir für die :

                      var User__n__ = StateTR064Device + "Trick"; einfach var Uwe = "radar.0.Uwe.here";

                      reingeschrieben.

                      dann kam immer ein Fehler

                      ! createState(StateUserListeJason, CreationTime,{read: true, write: true, type: 'string', name: 'Anwesenheitsstatus Jason Liste', desc: 'UserListe als Jason'});

                      den habe ich dann auskommentiert

                      und den nächsten Fehler auch

                      ! setState(StateUserListeJason, JasonString);

                      dann im Heizungsskript verlinkt und

                      es funktioniert. JuHu

                      Danke

                      1 Reply Last reply
                      0
                      • L Offline
                        L Offline
                        looxer01
                        wrote on last edited by
                        #11

                        @UweS:

                        dann im Heizungsskript verlinkt und

                        es funktioniert. JuHu `
                        aaaah, du hast es also hinbekommen - sehr gut. :D

                        Ich habe auch eine Portierung für UNIFI vorgenommen. Das war schon etwas aufwendiger.

                        vG Looxer

                        1 Reply Last reply
                        0
                        • smartboartS Offline
                          smartboartS Offline
                          smartboart
                          wrote on last edited by
                          #12

                          6558_unbenannt.png
                          Hi, wie bekomme ich die Tabelle so schön zusammen geschrumpft, bzw. wie kann ich die Felderbreite an die Namen anpassen?

                          1 Reply Last reply
                          0
                          • C Offline
                            C Offline
                            commander
                            wrote on last edited by
                            #13

                            Hallo,

                            dieses script arbeitet zu meiner vollsten zufriedenheit, jedoch die tabelle macht mir sorgen.

                            name und status überdecken sich, und die zeiten werden leider nicht eingetragen. kann man das irgendwo einstellen?

                            gruß jörg

                            aXCellA 1 Reply Last reply
                            0
                            • Beliar_666B Offline
                              Beliar_666B Offline
                              Beliar_666
                              wrote on last edited by
                              #14

                              Bei mir updated er nicht mehr, obwohl im TR64 sofort erkannt wird wer eingeloggt ist und wer nicht.

                              1 Reply Last reply
                              0
                              • L Offline
                                L Offline
                                looxer01
                                wrote on last edited by
                                #15

                                @Beliar_666:

                                Bei mir updated er nicht mehr, obwohl im TR64 sofort erkannt wird wer eingeloggt ist und wer nicht. `
                                Hi,

                                Erste Frage wäre ob die Trigger ausgelöst werden.

                                Definition ist hier:

                                var StateTR064Device    =    "tr-064.0.devices.";
                                
                                // Hier ist der State für den die Anwesenheitssimulation. Bei True wird die AWS (separates Programm) gestartet
                                var IDAWSAktiv              = "javascript.0.Anwesenheitssteuerung.AWSAktiv";    // ID AWS flag
                                
                                // Falls die Anwesenheitssimulation verknüpft werden soll dann hier TRUE eintragen und dann die Zeit in Sekunden nach Abwesenheit, die vergehen soll bis die Simulation aktiviert wird
                                var AWSCheckAktiv  = false;                                                     // auf true setzen, wenn die Anwesenheitssimulation genutzt wird
                                var AWSZeit = 600;                                                               // nach diesen Sekunden verzoegerung wird die Simulation aktiviert
                                
                                // die Variable anzahluser muss mit den folgenden variablen zusammenpassen: user1-userN, User1Text - userNtext, StateUser1 - StateUserN
                                // vorgegeben ist 6, wenn mehr verwendet werden sollen, dann muss das coding leicht angepasst werden
                                var anzahluser          = 5;                                                    // Maximale Anzahl der User mit Anwesenheitsueberwachung
                                
                                //  die Deviceliste aus TR064, die ueberwacht werden soll muss hier eingetragen werden
                                var User1 = StateTR064Device + "Iphone-Daisy";
                                var User2 = StateTR064Device + "Micky-iPhone";
                                var User3 = StateTR064Device + "Tick";
                                var User4 = StateTR064Device + "Trick";
                                var User5 = StateTR064Device + "Track-Phone";   
                                var User6 = StateTR064Device + "initial";                                
                                
                                

                                Bekommst du diesen Logeintrag im Log angezeigt, wenn sich die Anwesenheit ändert ?

                                log ("Ausloeser: " +  Ausloeser,"info");
                                
                                

                                Wenn nein, dann stimmt was mit dem Trigger nicht.

                                wie oben aus dem Code zu sehen ist ist der Datenpunkt dazu

                                tr-064.0.devices. <name>in diesem Fall bitte genau überprüfen. Sag mal Bescheid.

                                vG Looxer</name>

                                1 Reply Last reply
                                0
                                • Beliar_666B Offline
                                  Beliar_666B Offline
                                  Beliar_666
                                  wrote on last edited by
                                  #16

                                  Danke für die schnelle Hilfe, auch hier war der Datenpunkt falsch übernommen. Jetzt funktioniert es!

                                  1 Reply Last reply
                                  0
                                  • N Offline
                                    N Offline
                                    NightWatcher
                                    wrote on last edited by
                                    #17

                                    Guten Abend,

                                    ich habe das Script mal ein wenig optimiert,entschlankt, so angepasst dass unlimitiert Anwesenheitssätze eingebaut werden können (das Array in Zeile 29 muss einfach erweitert werden) und eine HTML String Liste für das Material Design eingebaut.
                                    1534_anwesenheitscontrol.txt

                                    Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                    1 Reply Last reply
                                    1
                                    • Homer.J.H Offline
                                      Homer.J.H Offline
                                      Homer.J.
                                      wrote on last edited by
                                      #18

                                      @NightWatcher:

                                      Guten Abend,

                                      ich habe das Script mal ein wenig optimiert,entschlankt, so angepasst dass unlimitiert Anwesenheitssätze eingebaut werden können (das Array in Zeile 29 muss einfach erweitert werden) und eine HTML String Liste für das Material Design eingebaut. `

                                      Morgen,

                                      Script läuft sehr gut einzige was mir aufgefallen ist das die Anwesenheit Userliste auf Niemand sich nicht verändert, bleibt auf Niemand stehen.

                                      1 Reply Last reply
                                      0
                                      • N Offline
                                        N Offline
                                        NightWatcher
                                        wrote on last edited by
                                        #19

                                        Ups, ein kleines ! vergessen :shock:

                                        Habe mein Script oben aktualisiert.

                                        Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

                                        1 Reply Last reply
                                        0
                                        • Homer.J.H Offline
                                          Homer.J.H Offline
                                          Homer.J.
                                          wrote on last edited by
                                          #20

                                          @NightWatcher:

                                          Ups, ein kleines ! vergessen :shock:

                                          Habe mein Script oben aktualisiert. `

                                          Funktioniert. :D

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          308

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe