Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Idee gesucht: Abwesenheitskontrolle mit Blocky

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
    893

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Idee gesucht: Abwesenheitskontrolle mit Blocky

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
30 Beiträge 13 Kommentatoren 2.7k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • G Offline
    G Offline
    Georgius
    schrieb am zuletzt editiert von
    #13

    Danke einmal.

    Der Teil mit dem Handy ist soweit kein Problem, was mir generell Probleme macht ist das Konzept von JavaSkript das immer durchläuft und nicht wartet. Mit dem Konzept hatte ich schon vor 30 Jahren in der Schule mit SPS Probleme.

    In "normalen" Programmiersprachen würde ich etwas so schreiben:

    Wenn Tür von Offen auf Geschlossen wechselt setzte Flag warte 10 Minuten Wenn Flag noch gesetzt ist setze Abwesenheit

    Wenn Ping positiv lösche Flag

    Mein Problem ist das "warte 10 Minuten"

    1 Antwort Letzte Antwort
    0
    • Werde45W Offline
      Werde45W Offline
      Werde45
      schrieb am zuletzt editiert von
      #14

      Ok. Ich wollte nicht das Thema "klauen".

      https://bulletproof-admin.de

      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        Georgius
        schrieb am zuletzt editiert von
        #15

        Kein Problem, hole es mir schon zurück. :lol:

        1 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          Jan1
          schrieb am zuletzt editiert von
          #16

          @Georgius:

          Danke einmal.

          Der Teil mit dem Handy ist soweit kein Problem, was mir generell Probleme macht ist das Konzept von JavaSkript das immer durchläuft und nicht wartet. Mit dem Konzept hatte ich schon vor 30 Jahren in der Schule mit SPS Probleme.

          In "normalen" Programmiersprachen würde ich etwas so schreiben:

          Wenn Tür von Offen auf Geschlossen wechselt setzte Flag warte 10 Minuten Wenn Flag noch gesetzt ist setze Abwesenheit

          Wenn Ping positiv lösche Flag

          Mein Problem ist das "warte 10 Minuten" `

          Das "warte 10 Minuten" machst ganz einfach in dem Du die Flagabfrage per falls Bedingung in ein timeout von 10 Minuten packst. Alls was da drin steht, wird erst nach 10 Minuten abgearbeitet und wenn dann das Flag noch gesetzt ist, hast auch Dein "setzte Abwesenheit" ;)

          1 Antwort Letzte Antwort
          0
          • Homer.J.H Offline
            Homer.J.H Offline
            Homer.J.
            schrieb am zuletzt editiert von
            #17

            @Georgius:

            Danke einmal.

            Der Teil mit dem Handy ist soweit kein Problem, was mir generell Probleme macht ist das Konzept von JavaSkript das immer durchläuft und nicht wartet. Mit dem Konzept hatte ich schon vor 30 Jahren in der Schule mit SPS Probleme.

            In "normalen" Programmiersprachen würde ich etwas so schreiben:

            Wenn Tür von Offen auf Geschlossen wechselt setzte Flag warte 10 Minuten Wenn Flag noch gesetzt ist setze Abwesenheit

            Wenn Ping positiv lösche Flag

            Mein Problem ist das "warte 10 Minuten" `
            Hi falls es dir etwas nützt ich habe es so gelöst.

            Grüße

            var tuerkontakt = "hm-rpc.1.LEQ1086061.1.STATE"/*Türschloss Eingang.STATE*/; /*Hier die ID des Türkontakts eintragen*/
            var anwesenheit = "javascript.0.Alarmanlage.in.auto"/*Alarmanlage.in.anwesenheit*/; /*Hier die ID der Anwesenheitsvariable eintragen*/
            var min = 15; /*Hier die Zeitspanne der aktiven Abwesenheitserkennung nach Türschließung*/
            var inrange = false; /*Falls kein Türkontakt vorhanden auf true setzen*/
            
            on(tuerkontakt, function(obj) {
               if (obj.newState.val === false) {
                    inrange = true;
                    setTimeout(function() {
                        inrange = false;
                    }, min * 60 * 1000);
                }
            });
            on("javascript.0.Anwesenheitssteuerung.Userlist.JemandDa"/*Anwesenheit alle User*/, function(obj) {
               if (obj.newState.val === false) {
                    if (inrange === true) {
                    setState(anwesenheit,false);
                    } else {
                        log("Anwesenheit Userliste 0 nach Zeit abgelaufen setze Anwesenheit auf 0", "warn");
                        }
                    }
                if (obj.newState.val === true) { setState(anwesenheit,true); }
            });
            
            
            1 Antwort Letzte Antwort
            0
            • smartboartS Offline
              smartboartS Offline
              smartboart
              schrieb am zuletzt editiert von
              #18

              Mache das auch ueber den tr64 Adapter… Löse das mit nem Javascript und nem timer der loslauft.. Wenn niemand da läuft Zeit... Wenn irgend ein handy wieder erreichbar wird der timer zurueckgesetzt... Wenn länger als 15 min der timer nicht zurueck gesetzt wird dann wird der state niemand zu hause erst gesetzt. Das verhindert fehlschaltungen zuverlässig. Wird irgend ein Handy erkannt wird der state wieder zurueck gesetzt.

              Das funktioniert fehlerfrei mit meinem p20pro dem iPhone 6 und Samsung s5mini... Keine Fehler bei der abwesenheitserkennung..

              Alarm deaktivieren tue ich damit aber nicht... Dauert mir zu lange bis die Handys wieder im netz sind... Und so lange verzoegere ich den alarm nicht...

              Mache das deaktivieren ueber handsender oder vis.. Anzeige ob Anlage scharf mach ich mit ner LED an der Sirene und rgbw am Briefkasten... Die Bewohner wissen also immer beim heim kommen wie der Status ist.

              Gesendet von meinem CLT-L09 mit Tapatalk

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mumurik
                schrieb am zuletzt editiert von
                #19

                > Mache das auch ueber den tr64 Adapter… Löse das mit nem Javascript und nem timer der loslauft.. Wenn niemand da läuft Zeit... Wenn irgend ein handy wieder erreichbar wird der timer zurueckgesetzt... Wenn länger als 15 min der timer nicht zurueck gesetzt wird dann wird der state niemand zu hause erst gesetzt. Das verhindert fehlschaltungen zuverlässig. Wird irgend ein Handy erkannt wird der state wieder zurueck gesetzt.
                @smartboart:

                genau dieses Szenario versuche ich gerade abzubilden. Könntest du bitte eventuell dieses Script zur Verfügung stellen?

                Danke!

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  mikiline
                  schrieb am zuletzt editiert von
                  #20

                  @Werde45:

                  Hi,

                  ich habe dem TR064 Adapter verwendet und frage unsere 4 Handys als Geräte abgefragt und dann weiter mit Blockly (bisher Proof-of-Concept);

                  Anwesenheit.png

                  Der Plan ist alle 15 Minuten alle 4 Handys mit Oder-Verknüpfung abzufragen. Wenn alle 4 Geräte nicht da sind kann ich davon ausgehen, es ist niemand zu hause. Später soll dann Anstatt dem Pushover eine Sprachnachricht erfolgen (als Warnung im Haus) und dann wird die Alarmanlage (über CCU2) aktivieren.

                  Ich sende mal den Code wenn ich damit fertig bin… `

                  wieso alle 15 min? Prüfe doch einfach wenn einer "active" wird bzw. "inaktiv"…..Dann brauch es den Zeitintervall nicht und es spart Ressourcen

                  1 Antwort Letzte Antwort
                  0
                  • 4 Offline
                    4 Offline
                    4-Real
                    schrieb am zuletzt editiert von
                    #21

                    Also meine Abwesenheitskontrolle mit dem TR64 Adapter funzt nicht sehr gut. Habe jetzt mehrere Wochen getestet und habe aus Testzwecken einfach nen kleines Blockly script erstellt was halt sagt ob mein Handy "aktiv" oder "inaktiv" ist bzw mit dem Router verbunden ist.

                    Tja pustekuchen, trotz das ich zuhause sitze kommt plötzlich eine Pushnachricht in Telegram ich bin Abwesend und je nach Aktualisierungsintervall kommt dann halt z.b. nach 120 Sekunden (Weil das der Aktualisierungsintervall ist, der im TR64 Adapter eingstellt ist) die Meldung ich bin doch wieder aktiv.

                    Und das Szenario spielt sich dann leider den ganzen Tag mal mehr und mal weniger ab. Habe jetzt mal den Intervall ein wenig höher gestellt auf 200 Sekunden.. ich weiß noch nicht ob ich damit spielen muss, und werde es nochmal ein paar Tage mit rumspielen der Werte testen.

                    1 Antwort Letzte Antwort
                    0
                    • R Offline
                      R Offline
                      radierer
                      schrieb am zuletzt editiert von
                      #22

                      Ich habs auch ne Weile mit dem anpingen der Smartphones probiert .. damit war ne ordentliche Anwesenheitserkennung bei uns nicht möglich. Seit einem guten Monat haben wir jetzt G-Tags mit dem Radar Adapter im Einsatz, was bisher ohne Probleme funktioniert. Das Ganze läuft aktuell noch auf einem RPi 3 b+ mit dem internen BT. Empfang ist so gut wie im ganzen Haus gegeben .. außer an zwei/drei abgelegenen Ecken, wo auch keine Schlüssel/Jacken abgelegt werden. Ich kann daher diese Lösung klar empfehlen, zumal die G-Tags weder übermäßig teuer noch störend am Schlüsselbund sind.

                      1 Antwort Letzte Antwort
                      0
                      • NashraN Offline
                        NashraN Offline
                        Nashra
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von
                        #23

                        @radierer:

                        Ich kann daher diese Lösung klar empfehlen, zumal die G-Tags weder übermäßig teuer noch störend am Schlüsselbund sind. `
                        Moin, welche G-Tags sind das denn wenn man mal fragen darf :)

                        Gruß Ralf
                        Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          radierer
                          schrieb am zuletzt editiert von
                          #24

                          @Nashra:

                          @radierer:

                          Ich kann daher diese Lösung klar empfehlen, zumal die G-Tags weder übermäßig teuer noch störend am Schlüsselbund sind. Moin, welche G-Tags sind das denn wenn man mal fragen darf :)

                          Moin,

                          also ich nutze diese hier:

                          https://www.amazon.de/Gigaset-G-tag-Sch … B00SJEBI1Y

                          Die Bewertungen bei A****on sind zwar schlecht, aber für die Anwesenheitserkennung funktionieren die bei mir wirklich erstklassig.

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            mikiline
                            schrieb am zuletzt editiert von
                            #25

                            @radierer:

                            @Nashra:

                            @radierer:

                            Ich kann daher diese Lösung klar empfehlen, zumal die G-Tags weder übermäßig teuer noch störend am Schlüsselbund sind. Moin, welche G-Tags sind das denn wenn man mal fragen darf :)

                            Moin,

                            also ich nutze diese hier:

                            https://www.amazon.de/Gigaset-G-tag-Sch … B00SJEBI1Y

                            Die Bewertungen bei A****on sind zwar schlecht, aber für die Anwesenheitserkennung funktionieren die bei mir wirklich erstklassig. `

                            Mit dem Bluetooth Adapter? Oder wie hast Du das in ioBroker integriert?

                            Edit: mit Radar Adapter…..(wer lesen kann ist im Vorteil ;))

                            1 Antwort Letzte Antwort
                            0
                            • NashraN Offline
                              NashraN Offline
                              Nashra
                              Most Active Forum Testing
                              schrieb am zuletzt editiert von
                              #26

                              @radierer:

                              @Nashra:

                              @radierer:

                              Ich kann daher diese Lösung klar empfehlen, zumal die G-Tags weder übermäßig teuer noch störend am Schlüsselbund sind. Moin, welche G-Tags sind das denn wenn man mal fragen darf :)

                              Moin,

                              also ich nutze diese hier:

                              https://www.amazon.de/Gigaset-G-tag-Sch … B00SJEBI1Y

                              Die Bewertungen bei A***on sind zwar schlecht, aber für die Anwesenheitserkennung funktionieren die bei mir wirklich erstklassig. `
                              Danke für die Info. Naja die Bewertungen bei A
                              und auch diversen anderen Shops sollte man eh nicht sonderlich beachten, wird

                              viel Müll geschrieben.

                              Gruß Ralf
                              Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              1 Antwort Letzte Antwort
                              0
                              • R Offline
                                R Offline
                                radierer
                                schrieb am zuletzt editiert von
                                #27

                                @mikiline Genau .. mit dem Radar Adapter. Einfach die MAC Adresse der G-Tags auslesen und beim Radar Adapter entsprechend eintragen. Ich hatte testweise bei mir aufm Tablet die App von den G-Tags (Keeper) installiert. Wenn die App aktiv ist, verlieren die G-Tags irgendwie die Verbindung zum Raspi/ioBroker .. keine Ahnung wieso.

                                Hier ne Anleitung, wie man die MAC der G-Tags auslesen kann: https://hausautomatisierung-koch.de/tag/g-tag/

                                @Nashra: Stimmt .. zumal ich in diesem Fall die G-Tags ja auch nicht für ihren ursprünglich gedachten Zweck benutze .. von daher sind die Bewertungen nicht relevant. :D

                                1 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  dondaik
                                  schrieb am zuletzt editiert von
                                  #28

                                  radar erkennt die G-Tags auch als unbekannt und dann schreibt man sie halt um :-) … und die aktuelle version scheint sich auch verbessert zu haben ... bis jetzt habe ich mit der neuen version keine probleme mit der erkennung ( ok, das update ist glaube ich drei tage alt ...) und das ist für mich genau der weg den ich wollte... die erkennungszeit anwesend ist ok und bei abwesend ist es mir egal ob das licht 1 minute früher oder später ausgeht...

                                  der aufstellungsort für den orange pi ( der nur radar machen wird ) wird zentral im flur sein also ist alles "gut" :-) - irgendwo da liegen die schlüssel immer .

                                  und da WLAN bei den handys (egentlich )immer an ist kommt das zweite anwesenheits-flag ggf von der fritzbox .....doch da überlege ich noch ob ich das brauche :-)

                                  nachtrag: klar das ein PI eigentlich zu schwach für iobroker ist .... :-)

                                  wer Schreibfehler findet darf sie behalten … :-(

                                  Ps: Anfänger im Bereich Tinkerboard + IOBROKER !

                                  1 Antwort Letzte Antwort
                                  0
                                  • smartboartS Offline
                                    smartboartS Offline
                                    smartboart
                                    schrieb am zuletzt editiert von
                                    #29

                                    @mumurik:

                                    > Mache das auch ueber den tr64 Adapter… Löse das mit nem Javascript und nem timer der loslauft.. Wenn niemand da läuft Zeit... Wenn irgend ein handy wieder erreichbar wird der timer zurueckgesetzt... Wenn länger als 15 min der timer nicht zurueck gesetzt wird dann wird der state niemand zu hause erst gesetzt. Das verhindert fehlschaltungen zuverlässig. Wird irgend ein Handy erkannt wird der state wieder zurueck gesetzt.
                                    @smartboart:

                                    genau dieses Szenario versuche ich gerade abzubilden. Könntest du bitte eventuell dieses Script zur Verfügung stellen?

                                    Danke! `

                                    Sorry den Beitrag nicht weiter verfolgt…Aber besser spät als nie...

                                    ich löse das so....funktioniert prima! ganz simpel.

                                    createState('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend', {def: 'true', type: 'boolean', name: 'Bewohner Anwesend - jemand Da'});
                                    
                                    const id1 = 'tr-064.0.devices.PC-192-168-xx-xx.active';//Mustermann
                                    const id2 = 'tr-064.0.devices.PC-192-168-xx-xx.active';//Musterfrau
                                    const id3 = 'tr-064.0.devices.PC-192-168-xx-xx.active';//Mustergast
                                    const id4 = 'javascript.0.Anwesenheitssteuerung.BewohnerAnwesend';
                                    
                                    function Anwesend() { 
                                    var Mustermann = getState(id1).val;
                                    var Musterfrau = getState(id2).val;
                                    var Mustergast = getState(id3).val; 
                                    var BWA = getState(id4).val;
                                        if(Mustermann===false&&Musterfrau===false&&Mustergast===false&&BWA===true) {
                                        setStateDelayed('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend', false, 180*1000);//3 min Zeit bis niemand zu Hause sicher erkannt
                                        log('Es ist niemand zu Hause');
                                        } else { 
                                            if(Musterfrau===true||Mustermann===true||Mustergast===true) {
                                            clearStateDelayed('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend');//wenn innerhalb 3 min wieder aktiv wird timer zurück gesetzt
                                            setState('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend', true);
                                            log('Es ist jemand zu Hause');
                                               }
                                            }   
                                        }
                                    
                                    on({id:"tr-064.0.devices.PC-192-168-xx-xx.active", change: 'ne'},function(obj){
                                    //on(id1, function(dp) {
                                      Anwesend();
                                    });   
                                    
                                    on({id:"tr-064.0.devices.PC-192-168-xx-xx.active", change: 'ne'},function(obj){
                                    //on(id2, function(dp) {
                                       Anwesend();
                                    }); 
                                    
                                    on({id:"tr-064.0.devices.PC-192-168-xx-xx.active", change: 'ne'},function(obj){
                                    //on(id3, function(dp) {
                                       Anwesend();
                                    });
                                    

                                    Weitere scripte die den state weiter verarbeiten trigger ich mit change ne

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      mumurik
                                      schrieb am zuletzt editiert von
                                      #30

                                      @smartboart:

                                      @mumurik:

                                      > Mache das auch ueber den tr64 Adapter… Löse das mit nem Javascript und nem timer der loslauft.. Wenn niemand da läuft Zeit... Wenn irgend ein handy wieder erreichbar wird der timer zurueckgesetzt... Wenn länger als 15 min der timer nicht zurueck gesetzt wird dann wird der state niemand zu hause erst gesetzt. Das verhindert fehlschaltungen zuverlässig. Wird irgend ein Handy erkannt wird der state wieder zurueck gesetzt.
                                      @smartboart:

                                      genau dieses Szenario versuche ich gerade abzubilden. Könntest du bitte eventuell dieses Script zur Verfügung stellen?

                                      Danke! `

                                      Sorry den Beitrag nicht weiter verfolgt…Aber besser spät als nie...

                                      ich löse das so....funktioniert prima! ganz simpel.

                                      createState('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend', {def: 'true', type: 'boolean', name: 'Bewohner Anwesend - jemand Da'});
                                      
                                      const id1 = 'tr-064.0.devices.PC-192-168-xx-xx.active';//Mustermann
                                      const id2 = 'tr-064.0.devices.PC-192-168-xx-xx.active';//Musterfrau
                                      const id3 = 'tr-064.0.devices.PC-192-168-xx-xx.active';//Mustergast
                                      const id4 = 'javascript.0.Anwesenheitssteuerung.BewohnerAnwesend';
                                      
                                      function Anwesend() { 
                                      var Mustermann = getState(id1).val;
                                      var Musterfrau = getState(id2).val;
                                      var Mustergast = getState(id3).val; 
                                      var BWA = getState(id4).val;
                                          if(Mustermann===false&&Musterfrau===false&&Mustergast===false&&BWA===true) {
                                          setStateDelayed('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend', false, 180*1000);//3 min Zeit bis niemand zu Hause sicher erkannt
                                          log('Es ist niemand zu Hause');
                                          } else { 
                                              if(Musterfrau===true||Mustermann===true||Mustergast===true) {
                                              clearStateDelayed('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend');//wenn innerhalb 3 min wieder aktiv wird timer zurück gesetzt
                                              setState('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend', true);
                                              log('Es ist jemand zu Hause');
                                                 }
                                              }   
                                          }
                                      
                                      on({id:"tr-064.0.devices.PC-192-168-xx-xx.active", change: 'ne'},function(obj){
                                      //on(id1, function(dp) {
                                        Anwesend();
                                      });   
                                      
                                      on({id:"tr-064.0.devices.PC-192-168-xx-xx.active", change: 'ne'},function(obj){
                                      //on(id2, function(dp) {
                                         Anwesend();
                                      }); 
                                      
                                      on({id:"tr-064.0.devices.PC-192-168-xx-xx.active", change: 'ne'},function(obj){
                                      //on(id3, function(dp) {
                                         Anwesend();
                                      });
                                      

                                      Weitere scripte die den state weiter verarbeiten trigger ich mit change ne `

                                      Danke!

                                      1 Antwort Letzte Antwort
                                      0
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      739

                                      Online

                                      32.6k

                                      Benutzer

                                      82.1k

                                      Themen

                                      1.3m

                                      Beiträge
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Anmelden

                                      • Du hast noch kein Konto? Registrieren

                                      • Anmelden oder registrieren, um zu suchen
                                      • Erster Beitrag
                                        Letzter Beitrag
                                      0
                                      • Home
                                      • Aktuell
                                      • Tags
                                      • Ungelesen 0
                                      • Kategorien
                                      • Unreplied
                                      • Beliebt
                                      • GitHub
                                      • Docu
                                      • Hilfe