Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Anwesenheitserkennung mit IFTTT

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anwesenheitserkennung mit IFTTT

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pandia last edited by

      Das Script wurde im Original mit Java Blockly geschrieben. Ich habe es zur Anonymisierung in Java Code umgewandelt. Hilft dir ein Blockly-Screen-Shot weiter? Wie kann ich den Code mit Tags darstellen?

      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by

        code markieren und auf den knopp drücken
        1518_unbenannt.png

        1 Reply Last reply Reply Quote 0
        • P
          Pandia last edited by

          on({id: 'cloud.0.services.ifttt', change: "ne"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            if (getState("cloud.0.services.ifttt").val == 'Handy1 enter home zone') {
              sendTo("email", "send", {
                 text: 'Handy1 ist zu Hause angekommen!',
                 to: 'email@online.de',
                 subject: 'ioBroker EventMessenger'
              });
              setState("javascript.0.Anwesenheit_Handy1"/*Anwesenheit_Handy1*/, true);
              if (getState("javascript.0.Anwesenheit_Handy2").val == false) {
                setState("javascript.0.Anwesenheit"/*Anwesenheit*/, true);
                setState("scene.0.Kommen"/*0.Kommen*/, true);
              }
            }
            if (getState("cloud.0.services.ifttt").val == 'Handy1 exit home zone') {
              sendTo("email", "send", {
                 text: 'Handy1 hat das Haus verlassen!',
                 to: 'email@online.de',
                 subject: 'ioBroker EventMessenger'
              });
              setState("javascript.0.Anwesenheit_Handy1"/*Anwesenheit_Handy1*/, false);
              if (getState("javascript.0.Anwesenheit_Handy2").val == false) {
                setState("javascript.0.Anwesenheit"/*Anwesenheit*/, false);
                setState("scene.0.Gehen"/*0.Gehen*/, true);
              }
            }
          });
          on({id: 'cloud.1.services.ifttt', change: "ne"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            if (getState("cloud.1.services.ifttt").val == 'Handy2 enter home zone') {
              sendTo("email", "send", {
                 text: 'Handy2 ist zu Hause angekommen!',
                 to: 'email@online.de',
                 subject: 'ioBroker EventMessenger'
              });
              setState("javascript.0.Anwesenheit_Handy2"/*Anwesenheit_Handy2*/, true);
              if (getState("javascript.0.Anwesenheit_Handy1").val == false) {
                setState("javascript.0.Anwesenheit"/*Anwesenheit*/, true);
                setState("scene.0.Kommen"/*0.Kommen*/, true);
              }
            }
            if (getState("cloud.1.services.ifttt").val == 'Handy2 exit home zone') {
              sendTo("email", "send", {
                 text: 'Handy2 hat das Haus verlassen!',
                 to: 'email@online.de',
                 subject: 'ioBroker EventMessenger'
              });
              setState("javascript.0.Anwesenheit_Handy2"/*Anwesenheit_Handy2*/, false);
              if (getState("javascript.0.Anwesenheit_Handy1").val == false) {
                setState("javascript.0.Anwesenheit"/*Anwesenheit*/, false);
                setState("scene.0.Gehen"/*0.Gehen*/, true);
              }
          
          1 Reply Last reply Reply Quote 0
          • R
            rnbprofi last edited by

            Danke für die Anleitung. Kannst Du mir bitte deine IFTTT App Einstellungen posten?

            @Pandia:

            Hallo Freunde des Licht,

            nach einer Odyssee habe ich jetzt endlich eine akzeptable Lösung für die Anwesenheitserkennung gefunden. Ich habe mehrere Adapter (z.B. tr-064, PING, EgiGeoZone, OwnTracks) getestet. Keiner brachte das gewünschte Ergebnis.

            Anforderung: Für die Steuerung des Datenpunktes Anwesenheit stehen 2 Android-Handys zur Verfügung. In Abhängigkeit des Anwesenheitsstatus sollen u.a. die Szenen „Gehen“ und „Kommen“ gestartet werden.

            Lösung: Für das Betreten oder Verlassen der Home Zone wird der Dienst IFTTT verwendet. Nach der kostlosen Anmeldung kann es auch gleich losgehen. Schritt 1: Definition der individuelle Home Zone oder eine beliebige andere Zone (Service Location). Im 2. Schritt wird festgelegt, was beim Betreten oder Verlassen der Zone passieren soll. In meinen Fall schicke ich über einen Web Request (Service Webhooks) eine bestimmte Zeichenkette: z.B. „Handy 1 hat Home Zone betreten“ an meinen ioBroker Cloud Adapter. Wenn die Verbindung steht – findet ihr die Zeichenkette unter: Objekte/cloud 1/services/ifttt. In Abhängigkeit des Inhalts der Zeichenkette setze ich den Anwesenheitsstatus von Handy 1 und/oder Handy 2. Verlässt das letzte Handy die Home Zone wird die Szene „Gehen“ gestartet. Betritt das erste Handy die Home Zone wird die Szene „Kommen“ gestartet. Die Verbindung zum IFTTT Dienst wird im Cloud Adapter hergestellt. In der Adapterkonfiguration unter dem Reiter „Service und IFTTT“ muss der IFTTT Key eingetragen werden. Im Gegenzug muss bei der Definition des Web-Request der IFTTT Link des jeweiligen Cloud Adapters angegeben werden. Beachtet bitte, dass pro Handy/Person eine separate Cloud Instanz sowie IFTTT Anmeldung erforderlich ist. Ich habe die Lösung sein einer Woche im Einsatz. Bisher gab es keine Fehler. Alle Zustände wurden bisher korrekt erkannt.

            Fazit: Am Ende der langen Reise habe ich endlich eine einfache sowie stabile Lösung für die Anwesenheitserkennung gefunden. Der kostenfreie Dienstanbieter IFTTT - in Kombination mit der gelungenen Cloud Adapter Integration - öffnet ein Tor zu schier unendlichen Anwendungsbeispielen (IFTTT Rezepte).

            Für die diejenigen, die es bis hierher geschafft haben - anbei das komplette Java Script (siehe unten). `

            1 Reply Last reply Reply Quote 0
            • P
              Pandia last edited by

              Nach der Installation und Anmeldung sind in der IFTTT App keine besonderen Einstellungen erforderlich (Standard). Oder geht es dir um die Konfiguration der beiden Applets, die für die Lösung notwendig sind?

              1 Reply Last reply Reply Quote 0
              • R
                rnbprofi last edited by

                Webhooks, sprich URL = die von iobroker, Method = post?, Content Type & Body.

                @Pandia:

                Nach der Installation und Anmeldung sind in der IFTTT App keine besonderen Einstellungen erforderlich (Standard). Oder geht es dir um die Konfiguration der beiden Applets, die für die Lösung notwendig sind? `

                1 Reply Last reply Reply Quote 0
                • R
                  rnbprofi last edited by Jey Cee

                  Habs gelöst mit Hilfe von Beitrag: viewtopic.php?f=35&t=6782&p=136662&hilit=ifttt#p136662

                  8-)

                  @rnbprofi:

                  Webhooks, sprich URL = die von iobroker, Method = post?, Content Type & Body.

                  @Pandia:

                  Nach der Installation und Anmeldung sind in der IFTTT App keine besonderen Einstellungen erforderlich (Standard). Oder geht es dir um die Konfiguration der beiden Applets, die für die Lösung notwendig sind?

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

                    @Pandia:

                    on({id: 'cloud.0.services.ifttt', change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("cloud.0.services.ifttt").val == 'Handy1 enter home zone') {
                        sendTo("email", "send", {
                           text: 'Handy1 ist zu Hause angekommen!',
                           to: 'email@online.de',
                           subject: 'ioBroker EventMessenger'
                        });
                        setState("javascript.0.Anwesenheit_Handy1"/*Anwesenheit_Handy1*/, true);
                        if (getState("javascript.0.Anwesenheit_Handy2").val == false) {
                          setState("javascript.0.Anwesenheit"/*Anwesenheit*/, true);
                          setState("scene.0.Kommen"/*0.Kommen*/, true);
                        }
                      }
                      if (getState("cloud.0.services.ifttt").val == 'Handy1 exit home zone') {
                        sendTo("email", "send", {
                           text: 'Handy1 hat das Haus verlassen!',
                           to: 'email@online.de',
                           subject: 'ioBroker EventMessenger'
                        });
                        setState("javascript.0.Anwesenheit_Handy1"/*Anwesenheit_Handy1*/, false);
                        if (getState("javascript.0.Anwesenheit_Handy2").val == false) {
                          setState("javascript.0.Anwesenheit"/*Anwesenheit*/, false);
                          setState("scene.0.Gehen"/*0.Gehen*/, true);
                        }
                      }
                    });
                    on({id: 'cloud.1.services.ifttt', change: "ne"}, function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("cloud.1.services.ifttt").val == 'Handy2 enter home zone') {
                        sendTo("email", "send", {
                           text: 'Handy2 ist zu Hause angekommen!',
                           to: 'email@online.de',
                           subject: 'ioBroker EventMessenger'
                        });
                        setState("javascript.0.Anwesenheit_Handy2"/*Anwesenheit_Handy2*/, true);
                        if (getState("javascript.0.Anwesenheit_Handy1").val == false) {
                          setState("javascript.0.Anwesenheit"/*Anwesenheit*/, true);
                          setState("scene.0.Kommen"/*0.Kommen*/, true);
                        }
                      }
                      if (getState("cloud.1.services.ifttt").val == 'Handy2 exit home zone') {
                        sendTo("email", "send", {
                           text: 'Handy2 hat das Haus verlassen!',
                           to: 'email@online.de',
                           subject: 'ioBroker EventMessenger'
                        });
                        setState("javascript.0.Anwesenheit_Handy2"/*Anwesenheit_Handy2*/, false);
                        if (getState("javascript.0.Anwesenheit_Handy1").val == false) {
                          setState("javascript.0.Anwesenheit"/*Anwesenheit*/, false);
                          setState("scene.0.Gehen"/*0.Gehen*/, true);
                        }
                    ```` `  
                    

                    Hallo, ich probiere das gerade aus, aber ich bekomme Fehler angezeigt ? Was ist hier falsch ?
                    3822_fehler.jpg

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

                      PS:

                      Habe es selbst gefunden, die letzten zwei Zeilen fehlen…

                      und bei .val == false wird val === false vorgeschlagen, dann ist das gelbe Dreieck weg...
                      3822_unbenannt.jpg

                      1 Reply Last reply Reply Quote 0
                      • E
                        exitus last edited by Jey Cee

                        Hallo

                        Habe folgendes Problem der Script läuft an sich aber es wird scense gehen oder kommen nicht ausgelöst .

                        javascript.0 2018-10-31 12:17:13.687 warn at Object. <anonymous>(script.js.Java.anwesenheit2Orginal:39:9)
                        
                        javascript.0 2018-10-31 12:17:13.685 warn getState "javascript.0.Anwesenheit_Handy1" not found (3)
                        
                        javascript.0 2018-10-31 12:17:13.685 warn at Object. <anonymous>(script.js.Java.anwesenheit2Orginal:38:5)
                        
                        javascript.0 2018-10-31 12:17:13.684 warn State "javascript.0.Anwesenheit_Handy2" not found
                        
                        javascript.0 2018-10-31 12:16:40.015 warn at Object. <anonymous>(script.js.Java.anwesenheit2Orginal:11:9)
                        
                        javascript.0 2018-10-31 12:16:40.013 warn getState "javascript.0.Anwesenheit_Handy2" not found (3)
                        
                        javascript.0 2018-10-31 12:16:40.013 warn at Object. <anonymous>(script.js.Java.anwesenheit2Orginal:10:5)
                        
                        javascript.0 2018-10-31 12:16:40.011 warn State "javascript.0.Anwesenheit_Handy1" not found</anonymous></anonymous></anonymous></anonymous>
                        

                        das steht unter log

                        muss ich noch javascript für anwesenheit Handy1 und anwesendheit handy2 javascript erstellen?

                        was muss ich den noch ergänzen damit es geht?

                        1 Reply Last reply Reply Quote 0
                        • Q
                          Quidepimine last edited by

                          Alle Zustände wurden bisher korrekt erkannt.

                          1 Reply Last reply Reply Quote 0
                          • E
                            exitus last edited by

                            ich bin ja neuling in der sache aber , es müsste doch irgendwo abgefragt werden ob habdy1 oder handy2 auf true oder false steht .

                            muss ich die beiden handys auch in iobroker intrigieren wenn ja wie

                            ich bedanke mich

                            mfg

                            1 Reply Last reply Reply Quote 0
                            • P
                              Pantoffelknilch last edited by

                              @dslraser:

                              PS:

                              Habe es selbst gefunden, die letzten zwei Zeilen fehlen…

                              und bei .val == false wird val === false vorgeschlagen, dann ist das gelbe Dreieck weg... `

                              Hast du es damit zum Laufen gebracht? Ich bin auch gerade am Basteln, aber es funktioniert noch nicht und ich versuche herauszufinden woran es liegt. Wenn ich es so anpasse wie du geschrieben hast, tauchen zumindest keine Fehlermeldungen mehr auf, aber es werden nur die Mails verschickt, sonst passiert nix. Wo sollten denn die Einträge "javascript.0.Anwesenheit_Handy1"/*Anwesenheit_Handy1" auftauchen?

                              @Pandia:

                              Das Script wurde im Original mit Java Blockly geschrieben. Ich habe es zur Anonymisierung in Java Code umgewandelt. Hilft dir ein Blockly-Screen-Shot weiter? `

                              Wäre es möglich, den Blockly-Code so zu exportieren, dass man ihn wieder als Blockly importieren kann? Oder zumindest den Screenshot von Blockly zu posten? Das würde mir viel helfen 🙂

                              Die ifttt-Integration hab ich schon hinbekommen (und auch endlich Webhooks verstanden) :D, nur das Script tut nicht das was ich mir vorstelle was es tun sollte. Muss ich zwingend den Szenen-Adapter einrichten? Muss man die Szenen vorher von Hand eintragen?

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

                                @Pantoffelknilch:

                                @dslraser:

                                PS:

                                Habe es selbst gefunden, die letzten zwei Zeilen fehlen…

                                und bei .val == false wird val === false vorgeschlagen, dann ist das gelbe Dreieck weg... `

                                Hast du es damit zum Laufen gebracht? Ich bin auch gerade am Basteln, aber es funktioniert noch nicht und ich versuche herauszufinden woran es liegt. Wenn ich es so anpasse wie du geschrieben hast, tauchen zumindest keine Fehlermeldungen mehr auf, aber es werden nur die Mails verschickt, sonst passiert nix. Wo sollten denn die Einträge "javascript.0.Anwesenheit_Handy1"/*Anwesenheit_Handy1" auftauchen?

                                @Pandia:

                                Das Script wurde im Original mit Java Blockly geschrieben. Ich habe es zur Anonymisierung in Java Code umgewandelt. Hilft dir ein Blockly-Screen-Shot weiter? `

                                Wäre es möglich, den Blockly-Code so zu exportieren, dass man ihn wieder als Blockly importieren kann? Oder zumindest den Screenshot von Blockly zu posten? Das würde mir viel helfen 🙂

                                Die ifttt-Integration hab ich schon hinbekommen (und auch endlich Webhooks verstanden) :D, nur das Script tut nicht das was ich mir vorstelle was es tun sollte. Muss ich zwingend den Szenen-Adapter einrichten? Muss man die Szenen vorher von Hand eintragen? ` ich nutze aktuell ifttt nicht mehr. Ich mache meine Anwesenheitserkennung mit dem Adapter google sharedlocations.

                                aber die Datenpunkte und das Blockly für die Anwesenheitserkennung sind so ähnlich…(kann ich später hochladen, habe gerade keinen Rechner an-ich bin am Handy)

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

                                  Ich habe gerade gesehen das ich das Script mit der IFTTT Geschichte nicht mehr habe.

                                  Aber vielleicht hilft Dir folgendes. Ich habe mir mehrere Datenpunkte erstellt, in meinem Fall nur für 2 Personen, also für meine Frau und für mich. (Diese Datenpunkte nur in ein leeres neues Javascript kopieren, Deine Namen anpassen und einmal ausführen, dann sind die Datenpunkte erstellt.)

                                  Bei noch mehr Personen kannst Du das ja beliebig erweitern. Den Datenpunkt mit "suchen" brauchst Du nicht unbedingt. Ich nutze den nur um mr die Adresse bzw. den Standort des Handys ansagen zu lassen. Über Alexa2 Adapter kann ich dann fragen: Alexa, wo ist Kerstin. Als Antwort bekomme ich dann die aktuelle Adresse angesagt, also die wo das Handy gerade ist.

                                  //Home
                                  //Datenpunkte An-Abwesenheitserkennung Heiko Home Zone
                                  createState("Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home", {
                                      name: 'Heiko Home Anwesenheit', 
                                      role: 'switch',
                                      type: 'boolean', 
                                      read:  true, 
                                      write: true, 
                                      def:   true,
                                  });
                                  //Datenpunkte An-Abwesenheitserkennung Kerstin Home Zone
                                  createState("Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home", {
                                      name: 'Kerstin Home Anwesenheit', 
                                      role: 'switch',
                                      type: 'boolean', 
                                      read:  true, 
                                      write: true, 
                                      def:   true,
                                  });
                                  //Alle An-Abwesend Home Zone
                                  //Datenpunkte An-Abwesenheitserkennung Alle Home Zone
                                  createState("Eigene_Datenpunkte.Anwesenheit.Alle.Home.Alle_Home", {
                                      name: 'Alle Home Anwesenheit', 
                                      role: 'switch',
                                      type: 'boolean', 
                                      read:  true, 
                                      write: true, 
                                      def:   true,
                                  });
                                  //Arbeit
                                  //Datenpunkte An-Abwesenheitserkennung Heiko Arbeit
                                  createState("Eigene_Datenpunkte.Anwesenheit.Heiko.Arbeit.Heiko_Arbeit", {
                                      name: 'Heiko Arbeit Anwesenheit', 
                                      role: 'switch',
                                      type: 'boolean', 
                                      read:  true, 
                                      write: true, 
                                      def:   true,
                                  });
                                  //Datenpunkte An-Abwesenheitserkennung Kerstin Arbeit
                                  createState("Eigene_Datenpunkte.Anwesenheit.Kerstin.Arbeit.Kerstin_Arbeit", {
                                      name: 'Kerstin Arbeit Anwesenheit', 
                                      role: 'switch',
                                      type: 'boolean', 
                                      read:  true, 
                                      write: true, 
                                      def:   true,
                                  });
                                  
                                  //Heiko suchen
                                  //Datenpunkt Heiko suchen
                                  createState("Eigene_Datenpunkte.Anwesenheit.Heiko.Heiko_suchen.Heiko_suchen", {
                                      name: 'Heiko suchen', 
                                      role: 'button',
                                      type: 'object', 
                                      read:  true, 
                                      write: true, 
                                      def:   true,
                                      "smartName": {
                                      "de": "Alexa Heiko suchen",
                                      "smartType": "SWITCH"
                                  }});
                                  
                                  //Kerstin suchen
                                  //Datenpunkt Kerstin suchen
                                  createState("Eigene_Datenpunkte.Anwesenheit.Kerstin.Kerstin_suchen.Kerstin_suchen", {
                                      name: 'Kerstin suchen', 
                                      role: 'button',
                                      type: 'object', 
                                      read:  true, 
                                      write: true, 
                                      def:   true,
                                      "smartName": {
                                      "de": "Alexa Kerstin suchen",
                                      "smartType": "SWITCH"
                                  }});
                                  

                                  Dann habe ich noch ein Blockly was die Datenpunkte Triggert (in Deinem Fall müssen die Datenpunkte dann durch den IFTTT String durch ein weiteres Blockly gesetzt werden. Ich weiß ja nicht wie Dein Text in IFTTT aussieht.

                                  Hier mal ein Ausschnitt vom Blockly: (passt nicht drauf)
                                  3822_bildschirmfoto_2018-11-18_um_20.43.35.png

                                  Hier der Blockly Export

                                   <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="oh~?)]A4IJb:,;hg5a(#" x="-1387" y="-1838"><mutation items="2"></mutation>
                                      <field name="CONDITION">ne</field>
                                  
                                      <value name="OID0"><shadow type="field_oid" id="6z{H0KHxPKSuk^pQjez-"><field name="oid">google-sharedlocations.0.fence.Heiko-Home</field></shadow></value> 
                                      <value name="OID1"><shadow type="field_oid" id="tbbY:x53/#`RIN%oA@.%"><field name="oid">google-sharedlocations.0.fence.Heiko-Arbeit</field></shadow></value> 
                                      <statement name="STATEMENT"><block type="comment" id="}@1N!Wb-:d|s(VE-c!Xr"><field name="COMMENT">Heiko Home</field>
                                          <next><block type="controls_if" id="?qeLWSmPy.kkU#8ij-:R"><mutation elseif="2"></mutation>
                                              <value name="IF0"><block type="logic_compare" id="K~kE5!9!/xH[]SKW|fQ#"><field name="OP">EQ</field>
                                                  <value name="A"><block type="get_value" id="y`q8{oDu7IR8~y;c|a*~"><field name="ATTR">val</field>
                                                      <field name="OID">google-sharedlocations.0.fence.Heiko-Home</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="nA29(Or/4d*8U}+7,51n"><field name="BOOL">TRUE</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="G*OoWc;EyoQ!W[HNm/yZ"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="=hT007@21CLG8/^6WGB5"><field name="BOOL">TRUE</field></block></value> 
                                                  <next><block type="telegram" id=";S{P{fhSoj6n^O21?0.1"><field name="SILENT">FALSE</field>
                                                      <field name="PARSEMODE">default</field>
                                                      <value name="MESSAGE"><shadow type="text" id="VV7lhzB(x@Q*CCr`{j-?"><field name="TEXT">Heiko ist in der Home Zone</field></shadow></value> 
                                                      <next><block type="control" id="YRUL!oRmkV8|pU;{qfd*"><mutation delay_input="false"></mutation>
                                                          <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE"><block type="text" id=",yyuRx8{7}e{~DO|VW.p"><field name="TEXT">Heiko ist in der Home Zone</field></block></value> 
                                                          <next><block type="comment" id="s%pl~E(U*!/n@OEZ[EcM"><field name="COMMENT">Heiko Arbeit</field>
                                                              <next><block type="control" id="#)TkDIk8S0(,Ik#iLgwX"><mutation delay_input="false"></mutation>
                                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Arbeit.Heiko_Arbeit</field>
                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                  <value name="VALUE"><block type="logic_boolean" id="budlIcXJAPr`Vre0:6]P"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></next></block></statement> 
                                              <value name="IF1"><block type="logic_compare" id="qC6f4tKxeBsN~kdrAx`P"><field name="OP">EQ</field>
                                                  <value name="A"><block type="get_value" id="4QXaoCI_GMgCe8+;6);b"><field name="ATTR">val</field>
                                                      <field name="OID">google-sharedlocations.0.fence.Heiko-Arbeit</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="xd}X?;cw/wwVA-Y#FQLI"><field name="BOOL">TRUE</field></block></value></block></value> 
                                              <statement name="DO1"><block type="control" id="QI4A!sXQpYXTd59YP#b1"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Arbeit.Heiko_Arbeit</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="Kaut_^@-VRXV,MU6/%:c"><field name="BOOL">TRUE</field></block></value> 
                                                  <next><block type="telegram" id="M4WzX1OP2yv/Q1MJ26R|"><field name="SILENT">FALSE</field>
                                                      <field name="PARSEMODE">default</field>
                                                      <value name="MESSAGE"><shadow type="text" id="ZrpS=ak|f!ia134l=3^Y"><field name="TEXT">Heiko ist auf der Arbeit !</field></shadow></value> 
                                                      <next><block type="control" id="XbCtpfh?K./#nX0UiVRO"><mutation delay_input="false"></mutation>
                                                          <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE"><block type="text" id="3ZWkXo=m+!-*0Y4RU91S"><field name="TEXT">Heiko ist im Büro angekommen</field></block></value> 
                                                          <next><block type="control" id="Dw2?{jgV(}UmaLqYp1O,"><mutation delay_input="false"></mutation>
                                                              <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE"><block type="logic_boolean" id="*S-~N[VGN+?vv2v(H%(,"><field name="BOOL">FALSE</field></block></value> 
                                                              <next><block type="comment" id="c[Z+Dx@Q#V,6{(qds3*P"><field name="COMMENT">Heiko unterwegs</field></block></next></block></next></block></next></block></next></block></statement> 
                                              <value name="IF2"><block type="logic_operation" id="G7:|UFaj+r[86nZO*u|)" inline="false"><field name="OP">AND</field>
                                                  <value name="A"><block type="logic_compare" id="X2`;*n`1+BH9;q!2e{@7"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="Z7gi%ZcjW5I9a^~QRxC|"><field name="ATTR">val</field>
                                                          <field name="OID">google-sharedlocations.0.fence.Heiko-Home</field></block></value> 
                                                      <value name="B"><block type="logic_boolean" id="2f+V_p5F[Xfi{m_6Wm6."><field name="BOOL">FALSE</field></block></value></block></value> 
                                                  <value name="B"><block type="logic_compare" id=",/Wtd4c@Bf`hOt_%i]PA"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="tR2+(N=wK(h0(JbhLg^]"><field name="ATTR">val</field>
                                                          <field name="OID">google-sharedlocations.0.fence.Heiko-Arbeit</field></block></value> 
                                                      <value name="B"><block type="logic_boolean" id="heIL)9#eZ5EIgQ1_gbG/"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                              <statement name="DO2"><block type="control" id="syJf2m-dm(h^k%1bbu{;"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="NSwH0hp:{KY2{xGic~28"><field name="BOOL">FALSE</field></block></value> 
                                                  <next><block type="control" id="3[7Qf]R]-()J@0CWIuoB"><mutation delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Arbeit.Heiko_Arbeit</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="logic_boolean" id="((Gyx?V~2h!Zl~FVTF5D"><field name="BOOL">FALSE</field></block></value> 
                                                      <next><block type="telegram" id="(WUNvwP{hhZKicqI*D3Q"><field name="SILENT">FALSE</field>
                                                          <field name="PARSEMODE">default</field>
                                                          <value name="MESSAGE"><shadow type="text" id="w@{Rndq,fD^GK/pf,Qdm"><field name="TEXT">Heiko ist unterwegs !</field></shadow></value> 
                                                          <next><block type="control" id="a5HsKX(kY4t67M8fJIU5"><mutation delay_input="false"></mutation>
                                                              <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE"><block type="text" id="3*~:M8M`#[Z,|}%KR|?E"><field name="TEXT">Heiko ist unterwegs</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></statement> 
                                      <next><block type="on_ext" id="}E1x3hZzxCKz*T@[N1u{"><mutation items="2"></mutation>
                                          <field name="CONDITION">ne</field>
                                  
                                          <value name="OID0"><shadow type="field_oid" id="cVK0oA14zqVou15bfgDA"><field name="oid">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field></shadow></value> 
                                          <value name="OID1"><shadow type="field_oid" id="PS1w555N*E2?Zpa:W*gf"><field name="oid">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field></shadow></value> 
                                          <statement name="STATEMENT"><block type="comment" id="#fV2x)oT^NRAs@Etz6h!"><field name="COMMENT">alle Anwesend ?</field>
                                              <next><block type="controls_if" id="%soY=yG3]xG067ehLdfR"><mutation elseif="1"></mutation>
                                                  <value name="IF0"><block type="logic_operation" id="rEQe4N?j?lObj52mR3EA" inline="false"><field name="OP">AND</field>
                                                      <value name="A"><block type="logic_compare" id="=YOw=UovKslz:zVtIB1["><field name="OP">EQ</field>
                                                          <value name="A"><block type="get_value" id="8zEBx#SIKb/xv26[AbR}"><field name="ATTR">val</field>
                                                              <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field></block></value> 
                                                          <value name="B"><block type="logic_boolean" id=",)5}UWurskL3a`vZVyvR"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                      <value name="B"><block type="logic_compare" id="9E:WdAc5u^tv5R-upW8e"><field name="OP">EQ</field>
                                                          <value name="A"><block type="get_value" id="7AGFiB}o95zM+c-^r}f,"><field name="ATTR">val</field>
                                                              <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field></block></value> 
                                                          <value name="B"><block type="logic_boolean" id="0{}J!9:6QVM%lfbzQkM+"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                                  <statement name="DO0"><block type="control" id="yR_}1?C^K?NVWKU4tXB~"><mutation delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Alle.Home.Alle_Home</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="logic_boolean" id="d^3FhXX5d`2b.?O^QUAu"><field name="BOOL">TRUE</field></block></value></block></statement> 
                                                  <value name="IF1"><block type="logic_operation" id="tqEtY3ZV;TK)AV;]RIe%" inline="false"><field name="OP">OR</field>
                                                      <value name="A"><block type="logic_compare" id="QMPjcQb_}ar1/e-j,mwH"><field name="OP">EQ</field>
                                                          <value name="A"><block type="get_value" id="Nli9P~Jtituc)z@lPw4k"><field name="ATTR">val</field>
                                                              <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field></block></value> 
                                                          <value name="B"><block type="logic_boolean" id="Bwor61Zm~#MY-2P?s|m{"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                      <value name="B"><block type="logic_compare" id="T9M=3HIHebtTOx0w*#N}"><field name="OP">EQ</field>
                                                          <value name="A"><block type="get_value" id="*,3cz.;pKIF|xHf?JQ`)"><field name="ATTR">val</field>
                                                              <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field></block></value> 
                                                          <value name="B"><block type="logic_boolean" id="23?IsG!7^yK4cW.Pkd;`"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                                  <statement name="DO1"><block type="control" id="@ZDD]ukyGmwT#]S0G0%6"><mutation delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Alle.Home.Alle_Home</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="logic_boolean" id="/NXX#h;?hozbBPVpQ`g+"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></statement> 
                                          <next><block type="on_ext" id="{#+XI9ftKc%Q]}EIG4`A"><mutation items="2"></mutation>
                                              <field name="CONDITION">ne</field>
                                  
                                              <value name="OID0"><shadow type="field_oid" id="(Ox}HW6bC^]1*o`ZtkM1"><field name="oid">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field></shadow></value> 
                                              <value name="OID1"><shadow type="field_oid" id="qKaPJ[~6NT*lJa:STQt!"><field name="oid">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field></shadow></value> 
                                              <statement name="STATEMENT"><block type="comment" id="XpLZ*S}~8Q%E6`9jD@%*"><field name="COMMENT">CCU Anwesenheit</field>
                                                  <next><block type="controls_if" id="6OGyd#-%b/e?,O?j8u2J"><mutation elseif="1"></mutation>
                                                      <value name="IF0"><block type="logic_operation" id="H/iiEsK8eu+e/k(CPo/v" inline="false"><field name="OP">OR</field>
                                                          <value name="A"><block type="logic_compare" id="](c{.sP6[pY;9LXx?Qxg"><field name="OP">EQ</field>
                                                              <value name="A"><block type="get_value" id="bj#57(j`G*B_rld5LYDG"><field name="ATTR">val</field>
                                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field></block></value> 
                                                              <value name="B"><block type="logic_boolean" id="Ts)#4|Bu@RER]pJ;_^^x"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                          <value name="B"><block type="logic_compare" id="FfJTx/9/6!r!=MP2=;rW"><field name="OP">EQ</field>
                                                              <value name="A"><block type="get_value" id="L)e*UZpw6kb|qJn7`h9}"><field name="ATTR">val</field>
                                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field></block></value> 
                                                              <value name="B"><block type="logic_boolean" id="Lt}Jb(^k0T/f5vVASqR;"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                                      <statement name="DO0"><block type="control" id="7*?E[:|iVka:pdYL%le+"><mutation delay_input="false"></mutation>
                                                          <field name="OID">hm-rega.0.950</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE"><block type="logic_boolean" id=")jGeNSvEEcK(ojd:-:GZ"><field name="BOOL">TRUE</field></block></value></block></statement> 
                                                      <value name="IF1"><block type="logic_operation" id=".{%sR%fax{[ES4{qg%3}" inline="false"><field name="OP">AND</field>
                                                          <value name="A"><block type="logic_compare" id="01ZU)_mF;YlEp3s.q9N`"><field name="OP">EQ</field>
                                                              <value name="A"><block type="get_value" id="43!ECsMAZ(=+8V[GtP6("><field name="ATTR">val</field>
                                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Heiko.Home.Heiko_Home</field></block></value> 
                                                              <value name="B"><block type="logic_boolean" id="sY,s*t+wdCq6KpJ8;w=,"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                          <value name="B"><block type="logic_compare" id="#T6Nw?IkU+VrSuPo7cIP"><field name="OP">EQ</field>
                                                              <value name="A"><block type="get_value" id="lT@F/|%sg;07DEE7N,cT"><field name="ATTR">val</field>
                                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field></block></value> 
                                                              <value name="B"><block type="logic_boolean" id="+,6OlNud`AfX,J]F:zg@"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                                      <statement name="DO1"><block type="control" id="q;Ird_*wYMVTSP}kR)l["><mutation delay_input="false"></mutation>
                                                          <field name="OID">hm-rega.0.950</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE"><block type="logic_boolean" id="kMPCO;a6(M7iy+AS9S4n"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></statement></block></next></block></next></block> 
                                    <block type="on_ext" id="oeZZ5{~YvtZ`/kbBny~)" x="-487" y="-1863"><mutation items="2"></mutation>
                                      <field name="CONDITION">ne</field>
                                  
                                      <value name="OID0"><shadow type="field_oid" id="5B/mZcU{b6B}{D6)X.A|"><field name="oid">google-sharedlocations.0.fence.Kerstin-Home</field></shadow></value> 
                                      <value name="OID1"><shadow type="field_oid" id="M`6smVyOQMJ#!J/PS8`9"><field name="oid">google-sharedlocations.0.fence.Kerstin-Arbeit</field></shadow></value> 
                                      <statement name="STATEMENT"><block type="comment" id="n^E{JcX./7Sk%E{0whx5"><field name="COMMENT">Kerstin Home</field>
                                          <next><block type="controls_if" id="[?zKd0nfM_P`Z[~55wPq"><mutation elseif="2"></mutation>
                                              <value name="IF0"><block type="logic_compare" id="Zz~12vt%~FDMu}6:lnKp"><field name="OP">EQ</field>
                                                  <value name="A"><block type="get_value" id="Ws99f]%W[-(B[Jd7RBRD"><field name="ATTR">val</field>
                                                      <field name="OID">google-sharedlocations.0.fence.Kerstin-Home</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="(yB:dS}{f1S:)[m_,741"><field name="BOOL">TRUE</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="WqGXwq_`A@^}.gHc-hT="><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="g;9BoCanQbP2kXWJD`,+"><field name="BOOL">TRUE</field></block></value> 
                                                  <next><block type="telegram" id="f/^uM7H~y83,%PRJ9pG("><field name="SILENT">FALSE</field>
                                                      <field name="PARSEMODE">default</field>
                                                      <value name="MESSAGE"><shadow type="text" id="]EjgK45ccVv#{lydGd?%"><field name="TEXT">Kerstin ist in der Home Zone</field></shadow></value> 
                                                      <next><block type="comment" id="+@-vku5%J:d%a+Y8KJL1"><field name="COMMENT">Alexa Wohnzimmer</field>
                                                          <next><block type="control" id="((64/AxwPf(7N243E_F0"><mutation delay_input="true"></mutation>
                                                              <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                              <field name="WITH_DELAY">TRUE</field>
                                                              <field name="DELAY_MS">1</field>
                                                              <field name="UNIT">sec</field>
                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                              <value name="VALUE"><block type="text" id=";nURe_UKOKGJU;FHJPJL"><field name="TEXT">Kerstin ist in der Home Zone</field></block></value> 
                                                              <next><block type="comment" id="%^suMW!@@XR?=-z0nRVH"><field name="COMMENT">Alexa Küche</field>
                                                                  <next><block type="control" id="3Geb0CXCqm,A/w~Sw+q|"><mutation delay_input="true"></mutation>
                                                                      <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                      <field name="WITH_DELAY">TRUE</field>
                                                                      <field name="DELAY_MS">5</field>
                                                                      <field name="UNIT">sec</field>
                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                      <value name="VALUE"><block type="text" id="S1A.v#!#i].#`i1g4Cf*"><field name="TEXT">Kerstin ist in der Home Zone</field></block></value> 
                                                                      <next><block type="comment" id="dn?3IC|-u^hS;g`R/2AF"><field name="COMMENT">Alexa Badezimmer</field>
                                                                          <next><block type="control" id="ls8{AzPk?:WQZDnN`UC-"><mutation delay_input="true"></mutation>
                                                                              <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                              <field name="WITH_DELAY">TRUE</field>
                                                                              <field name="DELAY_MS">9</field>
                                                                              <field name="UNIT">sec</field>
                                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                                              <value name="VALUE"><block type="text" id="Qlj8vG*ZzHb:mZf7LgM)"><field name="TEXT">Kerstin ist in der Home Zone</field></block></value> 
                                                                              <next><block type="comment" id="N/XLoJRW3CV1),aMrCTe"><field name="COMMENT">Alexa Flur</field>
                                                                                  <next><block type="control" id="kS,[IkE1IhnRf);B3!!o"><mutation delay_input="true"></mutation>
                                                                                      <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                      <field name="WITH_DELAY">TRUE</field>
                                                                                      <field name="DELAY_MS">14</field>
                                                                                      <field name="UNIT">sec</field>
                                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                                      <value name="VALUE"><block type="text" id="WArVMyn[%|MjwM)0X7:t"><field name="TEXT">Kerstin ist in der Home Zone</field></block></value> 
                                                                                      <next><block type="comment" id="xU-)a98HOJ/Mw%%,}neZ"><field name="COMMENT">Alexa Keller Flur</field>
                                                                                          <next><block type="control" id="Rf8w_ZQNwNOonk19)RE{"><mutation delay_input="true"></mutation>
                                                                                              <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                              <field name="WITH_DELAY">TRUE</field>
                                                                                              <field name="DELAY_MS">19</field>
                                                                                              <field name="UNIT">sec</field>
                                                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                                                              <value name="VALUE"><block type="text" id="@jVWfpV(?c]f`;?=/sY_"><field name="TEXT">Kerstin ist in der Home Zone</field></block></value> 
                                                                                              <next><block type="comment" id="k(PkckwplIQqlr%V8w0M"><field name="COMMENT">Alexa Werkstatt</field>
                                                                                                  <next><block type="control" id="C3Y|y),@c}dZM~d_QV+W"><mutation delay_input="true"></mutation>
                                                                                                      <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                                      <field name="WITH_DELAY">TRUE</field>
                                                                                                      <field name="DELAY_MS">24</field>
                                                                                                      <field name="UNIT">sec</field>
                                                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                      <value name="VALUE"><block type="text" id="]zc8n!#/6PK,XU^bW:.k"><field name="TEXT">Kerstin ist in der Home Zone</field></block></value> 
                                                                                                      <next><block type="comment" id="uwJt1r6z`eq=FDwql[?Y"><field name="COMMENT">Kerstin Arbeit</field>
                                                                                                          <next><block type="control" id="P0_CTdske1`LAhS7]SzX"><mutation delay_input="false"></mutation>
                                                                                                              <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Arbeit.Kerstin_Arbeit</field>
                                                                                                              <field name="WITH_DELAY">FALSE</field>
                                                                                                              <value name="VALUE"><block type="logic_boolean" id="#-CrWTZ68neMrGvttC]4"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement> 
                                              <value name="IF1"><block type="logic_compare" id="d%JztERtLIc1)wH(E+@m"><field name="OP">EQ</field>
                                                  <value name="A"><block type="get_value" id="B_,+mw}0:zsx/)0}tKe|"><field name="ATTR">val</field>
                                                      <field name="OID">google-sharedlocations.0.fence.Kerstin-Arbeit</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="9jR+d4MmbG?ji9F_UyX@"><field name="BOOL">TRUE</field></block></value></block></value> 
                                              <statement name="DO1"><block type="control" id="d?2R;AhXyP[5akUj`]^z"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Arbeit.Kerstin_Arbeit</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="?Rs?@M.c28/,)xHb-n;o"><field name="BOOL">TRUE</field></block></value> 
                                                  <next><block type="telegram" id="2*SxO]9kD%q)EokV=,+E"><field name="SILENT">FALSE</field>
                                                      <field name="PARSEMODE">default</field>
                                                      <value name="MESSAGE"><shadow type="text" id="f5thUl_:fLmYI};As[j:"><field name="TEXT">Kerstin ist auf der Arbeit !</field></shadow></value> 
                                                      <next><block type="comment" id="-b1f;c%q6H4fZw#IK:q*"><field name="COMMENT">Alexa Wohnzimmer</field>
                                                          <next><block type="control" id="}]}9@?3-GvR%q9|wGWS`"><mutation delay_input="true"></mutation>
                                                              <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                              <field name="WITH_DELAY">TRUE</field>
                                                              <field name="DELAY_MS">1</field>
                                                              <field name="UNIT">sec</field>
                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                              <value name="VALUE"><block type="text" id="A0clOtw5VKFcVesv^!Ri"><field name="TEXT">Kerstin ist im Hospizhaus angekommen</field></block></value> 
                                                              <next><block type="comment" id="?sNIAhFxTc9AD@(?WBPk"><field name="COMMENT">Alexa Küche</field>
                                                                  <next><block type="control" id="?laydH={-IWR1R|YgP0E"><mutation delay_input="true"></mutation>
                                                                      <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                      <field name="WITH_DELAY">TRUE</field>
                                                                      <field name="DELAY_MS">5</field>
                                                                      <field name="UNIT">sec</field>
                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                      <value name="VALUE"><block type="text" id="pjF`6.ACM%Ug=,`gWhge"><field name="TEXT">Kerstin ist im Hospizhaus angekommen</field></block></value> 
                                                                      <next><block type="comment" id="dgyqHAJmK~mZotTJX[uI"><field name="COMMENT">Alexa Badezimmer</field>
                                                                          <next><block type="control" id="WGO}U[QqBdjdy]},h(.j"><mutation delay_input="true"></mutation>
                                                                              <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                              <field name="WITH_DELAY">TRUE</field>
                                                                              <field name="DELAY_MS">9</field>
                                                                              <field name="UNIT">sec</field>
                                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                                              <value name="VALUE"><block type="text" id="SHld[@^@R64a2Ia3^s7S"><field name="TEXT">Kerstin ist im Hospizhaus angekommen</field></block></value> 
                                                                              <next><block type="comment" id="Q/;.*]`G`W[eMa@H!D*V"><field name="COMMENT">Alexa Flur</field>
                                                                                  <next><block type="control" id="NInZP;%#?^MCnm}y4;}O"><mutation delay_input="true"></mutation>
                                                                                      <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                      <field name="WITH_DELAY">TRUE</field>
                                                                                      <field name="DELAY_MS">14</field>
                                                                                      <field name="UNIT">sec</field>
                                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                                      <value name="VALUE"><block type="text" id="[MjUIQ)EFLXzGjg=tVbT"><field name="TEXT">Kerstin ist im Hospizhaus angekommen</field></block></value> 
                                                                                      <next><block type="comment" id="bTA##0|U:Auu)elNaa4k"><field name="COMMENT">Alexa Keller Flur</field>
                                                                                          <next><block type="control" id="YPgoCt(v:yQc^x%Hx~y."><mutation delay_input="true"></mutation>
                                                                                              <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                              <field name="WITH_DELAY">TRUE</field>
                                                                                              <field name="DELAY_MS">19</field>
                                                                                              <field name="UNIT">sec</field>
                                                                                              <field name="CLEAR_RUNNING">FALSE</field>
                                                                                              <value name="VALUE"><block type="text" id="hhC1fIHh}WY_d1,0/UFP"><field name="TEXT">Kerstin ist im Hospizhaus angekommen</field></block></value> 
                                                                                              <next><block type="comment" id="s?i^Cs+!ICwkF3}:Xe#Q"><field name="COMMENT">Alexa Werkstatt</field>
                                                                                                  <next><block type="control" id=".G`rL6lPB![mv|reTkRc"><mutation delay_input="true"></mutation>
                                                                                                      <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                                      <field name="WITH_DELAY">TRUE</field>
                                                                                                      <field name="DELAY_MS">24</field>
                                                                                                      <field name="UNIT">sec</field>
                                                                                                      <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                      <value name="VALUE"><block type="text" id="ZF9kdoopk2I)VL;qe^HZ"><field name="TEXT">Kerstin ist im Hospizhaus angekommen</field></block></value> 
                                                                                                      <next><block type="control" id="g6rc;3bWT|0PQbb?u^=!"><mutation delay_input="false"></mutation>
                                                                                                          <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field>
                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                          <value name="VALUE"><block type="logic_boolean" id="qJp]w4}8B9y;9R2lNeny"><field name="BOOL">FALSE</field></block></value> 
                                                                                                          <next><block type="comment" id="z?4}_idqbxEQdW;}Pwh3"><field name="COMMENT">Kerstin unterwegs</field></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement> 
                                              <value name="IF2"><block type="logic_operation" id="A)@Zl;%!#uVxbAoh_NFa" inline="false"><field name="OP">AND</field>
                                                  <value name="A"><block type="logic_compare" id="b-HcB~bSo0TO8k}Mmqd1"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="!?4-(Ca#-KSIgGJk,^,2"><field name="ATTR">val</field>
                                                          <field name="OID">google-sharedlocations.0.fence.Kerstin-Home</field></block></value> 
                                                      <value name="B"><block type="logic_boolean" id="Dz*=r{,nneZZL4l|qo{E"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                  <value name="B"><block type="logic_compare" id=":A9h*tQAu7V)q5b{=lwO"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="jty?ADDq;%]FihZr|RNa"><field name="ATTR">val</field>
                                                          <field name="OID">google-sharedlocations.0.fence.Kerstin-Arbeit</field></block></value> 
                                                      <value name="B"><block type="logic_boolean" id="KcJr:n2Vtutp%3RCoj{q"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                              <statement name="DO2"><block type="control" id="%l?B5:MZ?t00_Tn/o1P)"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Home.Kerstin_Home</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="-kA4e]Jv2[k?(toYp/*J"><field name="BOOL">FALSE</field></block></value> 
                                                  <next><block type="control" id="Xhe7-?z57AkHpWo;:eF~"><mutation delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.Eigene_Datenpunkte.Anwesenheit.Kerstin.Arbeit.Kerstin_Arbeit</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="logic_boolean" id="JXs5XBydU/!Kd8%{Tp/F"><field name="BOOL">FALSE</field></block></value> 
                                                      <next><block type="telegram" id="Xibfd(++0;.8nZ-,OUkT"><field name="SILENT">FALSE</field>
                                                          <field name="PARSEMODE">default</field>
                                                          <value name="MESSAGE"><shadow type="text" id="`C3S5p0.YpsmfeT~MKgA"><field name="TEXT">Kerstin ist unterwegs !</field></shadow></value> 
                                                          <next><block type="comment" id="FP{|jaoT|#[p[#}A9gzL"><field name="COMMENT">Alexa Wohnzimmer</field>
                                                              <next><block type="control" id="9ha9)d~dk#Om-ExdsyA("><mutation delay_input="true"></mutation>
                                                                  <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                  <field name="WITH_DELAY">TRUE</field>
                                                                  <field name="DELAY_MS">1</field>
                                                                  <field name="UNIT">sec</field>
                                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                                  <value name="VALUE"><block type="text" id="HnvK,-`Nv}ao[m}N_l=L"><field name="TEXT">Kerstin ist unterwegs</field></block></value> 
                                                                  <next><block type="comment" id=";@e7)e#5X^wP*`y%y`b|"><field name="COMMENT">Alexa Küche</field>
                                                                      <next><block type="control" id="yR5^N3b[-FP`5*L^[=_K"><mutation delay_input="true"></mutation>
                                                                          <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                          <field name="DELAY_MS">5</field>
                                                                          <field name="UNIT">sec</field>
                                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                                          <value name="VALUE"><block type="text" id="/I%!,YTX=V|(n*MnDVd;"><field name="TEXT">Kerstin ist unterwegs</field></block></value> 
                                                                          <next><block type="comment" id="-BGFt:nt+1t_8mV[T*xW"><field name="COMMENT">Alexa Badezimmer</field>
                                                                              <next><block type="control" id="%rJ_CZReXYBbrX2;J;3."><mutation delay_input="true"></mutation>
                                                                                  <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                  <field name="WITH_DELAY">TRUE</field>
                                                                                  <field name="DELAY_MS">9</field>
                                                                                  <field name="UNIT">sec</field>
                                                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                                                  <value name="VALUE"><block type="text" id="uC`6?3m1xhMfM2QT:D|)"><field name="TEXT">Kerstin ist unterwegs</field></block></value> 
                                                                                  <next><block type="comment" id="w#D*sGLaprO1q5i4{z,u"><field name="COMMENT">Alexa Flur</field>
                                                                                      <next><block type="control" id="`PFzn.:cr#!K6APbhtW1"><mutation delay_input="true"></mutation>
                                                                                          <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                                          <field name="DELAY_MS">14</field>
                                                                                          <field name="UNIT">sec</field>
                                                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                                                          <value name="VALUE"><block type="text" id="7qo:{A[b*Y2KNe#u`PX2"><field name="TEXT">Kerstin ist unterwegs</field></block></value> 
                                                                                          <next><block type="comment" id="vC508CSW@T6:xvuT~:08"><field name="COMMENT">Alexa Keller Flur</field>
                                                                                              <next><block type="control" id="M00DCOie+*Shv5t)q(K{"><mutation delay_input="true"></mutation>
                                                                                                  <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                                  <field name="WITH_DELAY">TRUE</field>
                                                                                                  <field name="DELAY_MS">19</field>
                                                                                                  <field name="UNIT">sec</field>
                                                                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                  <value name="VALUE"><block type="text" id="F.=6x.UCFBRGtD]G^*4{"><field name="TEXT">Kerstin ist unterwegs</field></block></value> 
                                                                                                  <next><block type="comment" id="jsdoph,j!Rgzfmk)F,R~"><field name="COMMENT">Alexa Werkstatt</field>
                                                                                                      <next><block type="control" id="4.!BK/fxsoa/loA?!c;9"><mutation delay_input="true"></mutation>
                                                                                                          <field name="OID">alexa2.0.Echo-Devices.xxx.Commands.speak</field>
                                                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                                                          <field name="DELAY_MS">24</field>
                                                                                                          <field name="UNIT">sec</field>
                                                                                                          <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                          <value name="VALUE"><block type="text" id="_cJ,JW~36+wJj?:H|MNf"><field name="TEXT">Kerstin ist unterwegs</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></xml> 
                                  

                                  Ob Du das Blockly importieren kannst weiß ich nicht, geht wahrscheinlich nur wenn auch der Adapter google shared location installiert ist.

                                  https://github.com/t4qjXH8N/ioBroker.go … dlocations

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Pantoffelknilch last edited by

                                    Super, vielen Dank! Das werde ich mir mal ansehen - ich bin jetzt auch nicht zwingend auf ifttt festgenagelt, ich brauche nur was, was nicht nur über WLAN funktioniert. TR64 hat bei mir zu viele Fehlalarme produziert. Den google sharedlocations Adapter kannte ich noch gar nicht.

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      Pantoffelknilch last edited by Jey Cee

                                      @dslraser:

                                      Aber vielleicht hilft Dir folgendes. Ich habe mir mehrere Datenpunkte erstellt, in meinem Fall nur für 2 Personen, also für meine Frau und für mich. (Diese Datenpunkte nur in ein leeres neues Javascript kopieren, Deine Namen anpassen und einmal ausführen, dann sind die Datenpunkte erstellt.) `

                                      So, kurzer Zwischenstand: Du hast mir sehr geholfen, Danke 🙂

                                      den Blockly-Code konnte ich (auch mit installiertem google shared location Adapter) zwar nicht importieren, aber die beiden Code-Schnipsel und der Screenshot haben mir geholfen, das ganze zu verstehen, sodass ich mir aus den Einzelteilen jetzt was funktionierendes gebaut habe. Bin aber jetzt mal bei ifttt geblieben, da in dem Thread über google shared location gerade von einigen Problemen berichtet wird.

                                      Vielleicht für alle anderen, die den Thread hier lesen und ähnliche Probleme haben (korrigiert mich, falls ich was falsch verstanden habe): eines meiner Probleme war, dass das ursprüngliche Script von Pandia Datenpunkte nutzt, die standardmäßig nicht existieren (javascript.0.Anwesenheit_Handy1, javascript.0.Anwesenheit_Handy2, javascript.0.Anwesenheit). Wenn man die z.B. mit Hilfe eines Scripts wie dem ersten von dslraser anlegt und außerdem die Einstellungen wie in https://forum.iobroker.net/viewtopic.php?p=138835#p138835 ändert, funktioniert es. Diese Infos fehlten mir im ursprünglichen Post und waren mir als Anfänger nicht klar. Damit konnte ich mir jetzt auch noch ein paar weitere Blocklys basteln und bin einen guten Schritt weiter gekommen 🙂

                                      Ich vermute, dass das von exitus beschriebene Problem auch damit zu tun hat, dass die entsprechenden Datenpunkte nicht existieren.

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

                                        ja, ist genau so wie Du schreibst. Im ersten Script wird wohl von existierenden/angelegten Datenpunkten ausgegangen.

                                        PS: wegen dem Import des Blockly. Hast Du den Telegram Adapter und Alexa2 Adapter installiert ?

                                        Import geht immer nur wenn auch die Adapter die im Blockly verwendet werden vorhanden sind, sonst endet es oft mit einem schwarzen Punkt in der Anzeige nach dem Import.

                                        Aber schön das Du weiter gekommen bist.

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          Pantoffelknilch last edited by

                                          Ah, OK. Telegram habe ich nicht, Alexa2 habe ich seit eben, aber zum Zeitpunkt des Imports noch nicht 😉

                                          Aber da ich jetzt erstmal bei ifttt geblieben bin, konnte ich ja jetzt, nachdem ich mit deinem ersten Script die Datenpunkte angelegt hatte, auch das ursprüngliche Script von Pandia verwenden. Ich habe mir jetzt auch mal am Beispiel deines zweiten Blockly-Scripts eine Sprachausgabe über Alexa angelegt und glaube ich habe das System von Blockly ein bisschen besser verstanden (bin leider ziemlicher Programmier-Anfänger).

                                          1 Reply Last reply Reply Quote 0
                                          • E
                                            el_malto last edited by Jey Cee

                                            @Pandia:

                                            In der Adapterkonfiguration unter dem Reiter „Service und IFTTT“ muss der IFTTT Key eingetragen werden. Im Gegenzug muss bei der Definition des Web-Request der IFTTT Link des jeweiligen Cloud Adapters angegeben werden. Beachtet bitte, dass pro Handy/Person eine separate Cloud Instanz sowie IFTTT Anmeldung erforderlich ist. `

                                            Sicher das pro Handy ein extra IFTTT Account sowie Cloud-Account und Adapter benötigt wird?

                                            Ich meine den IFTTT-Key benötigt man nur um Daten ZU IFTTT zu senden, weil der IFTTT-Key ja nur in der URL für den Webhook VON ioBroker ZU< IFTTT steht.

                                            Um Daten VON IFTTT zu bekommen hat man den APP-KEY vom Cloud Adapter, weil der APP-KEY vom Cloud Adapter steht ja nur in der URL in der man die Daten VON IFTTT ZU schickt.

                                            Hatte meinen IFTTT-Key mal probehalber raus genommen und konnte trotzdem Daten von IFTTT empfangen. Umgekehrt geht es ja nicht weil ohne Cloud-Adapter KEY ja der Cloud Adapter nicht online geht.

                                            Daten VON ioBroker ZU IFTTT:

                                            https://maker.ifttt.com/trigger/{event}/with/key/
                                            

                                            Daten VON IFTTT ZU ioBroker:

                                            https://iobroker.net/ifttt/<cloud-adapterkey></cloud-adapterkey>
                                            

                                            Wenn man also nur Daten ZU ioBroker senden will, kommt man mit einem Cloud Adapter aus. Auf mehren Handys einen IFTTT Account zu nutzen geht nicht. Es sind dann ja auf allen Handys die gleichen Applets drauf. Wenn dann also Person 1 das Haus verlässt, wird

                                            Location: Person 1, abwesend
                                            

                                            gesendet. Wenn dann später Person 2 das Haus verlässt, wird nochmal

                                            Location: Person 1, abwesend
                                            

                                            gesendet weil wie gesagt die Applets ja auf beiden Handys sind. Aber pro Handy einen IFTTT Account macht ja durchaus Sinn da man vielleicht verschiedene Orte (Arbeitsplatz, Bekannte usw.) hat und die andere Person die Applets nicht ändern kann.

                                            Man muss die Daten dann nur genau zuordnen. Evtl nach diesem Schema:

                                            <dienst>: <person>, <status>
                                            Location: Frau, anwesend</status></person></dienst>
                                            

                                            Wenn man aber Daten ZU IFTTT zu zwei verschiedenen Accounts senden will, kommt man um einen zweiten Cloud Adapter und Account nicht drum rum.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            758
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            36
                                            7419
                                            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