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. Blockly
  5. Script nur ausführen wenn Bewegung erkannt.

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Script nur ausführen wenn Bewegung erkannt.

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 3 Kommentatoren 838 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.
  • O Offline
    O Offline
    oggy1
    schrieb am zuletzt editiert von oggy1
    #1

    Hallo,
    ich habe ein Script welches beim öffnen der Wohnungstür prüft ob noch Fenster/Türen geöffnet sind und gibt das Ergebnis per Alexa aus.
    Das funktioniert super, nur ein Problem, die Meldung kommt auch denn, wenn man wieder nach Hause kommt.

    Nun habe ich einen Bewegungsmelder und nun soll das Script nur dann ausgegeben werden, wenn dieser eine Bewegung, vor dem öffnen des Türkontakts, erkannt hat.

    Hier mal das Script für den Türkontakt, wie muss ich dieses am besten erweitern, dass dieses nur noch ausgeführt wird, wenn erst der Bewegungsmelder eine Bewegung erkannt hat?
    Also diese Reihenfolge...

    1. Bewegung erkannt
    2. Tür wird geöffnet
    3. Script wird ausgeführt, Alexa sagt das Ergebnis der Abfrage an

    Wenn man kommt

    1. Tür wird geöffnet
    2. Bewegung erkannt
    3. Script wird nicht ausgeführt, Alexa schweigt

    [0_1740913028838_skripte.Fenster_Türen.Schalter_W-Tür (1).xml](Uploading 100%)

    <xml xmlns="https://developers.google.com/blockly/xml">
      <block type="on" id="i={`iP[jI:sy_4gjW~~|" x="137" y="-112">
        <field name="OID">zigbee3mqtt.0.0xaxxxxxxxxx.opened</field>
        <field name="CONDITION">ne</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
          <block type="controls_if" id=",9_Nr-P-{%Fd+Tc0-=Nu">
            <mutation elseif="1"></mutation>
            <value name="IF0">
              <block type="logic_compare" id=";_i]cfZdrmL/qXWB6PuO">
                <field name="OP">EQ</field>
                <value name="A">
                  <block type="get_value" id="05hB:}da}@CQX_^vBlC@">
                    <field name="ATTR">val</field>
                    <field name="OID">zigbee2mqtt.0.0xaxxxxxxxxx.opened</field>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_boolean" id="ZT5]2tgD5CM]Of-|;}#F">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="control" id="}6;6~]L4/!BY.JwxYt#d">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">0_userdata.0.AlexaFensterstatusWohnungstuer.Abfrage_Fensterstatus_Wohnungstür</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="logic_boolean" id="PDGjw4AYy[^(T_9;v]R|">
                    <field name="BOOL">FALSE</field>
                  </block>
                </value>
              </block>
            </statement>
            <value name="IF1">
              <block type="logic_compare" id="3h%}EftA;@`]vU8=A?IV">
                <field name="OP">EQ</field>
                <value name="A">
                  <block type="get_value" id="FM=WF2Zog|[og,l}LKf:">
                    <field name="ATTR">val</field>
                    <field name="OID">zigbee2mqtt.0.0xaxxxxxxxxx.opened</field>
                  </block>
                </value>
                <value name="B">
                  <block type="logic_boolean" id="fh:rK}[wc]i=zx]M8dBQ">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO1">
              <block type="control" id="uH=y!(uzpe!@XAo-?a[!">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">0_userdata.0.AlexaFensterstatusWohnungstuer.Abfrage_Fensterstatus_Wohnungstür</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="logic_boolean" id="Cv3*g6JYM@.+K?u|6L^!">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
              </block>
            </statement>
          </block>
        </statement>
      </block>
    </xml>
    
    

    Danke

    paul53P 1 Antwort Letzte Antwort
    0
    • O oggy1

      Hallo,
      ich habe ein Script welches beim öffnen der Wohnungstür prüft ob noch Fenster/Türen geöffnet sind und gibt das Ergebnis per Alexa aus.
      Das funktioniert super, nur ein Problem, die Meldung kommt auch denn, wenn man wieder nach Hause kommt.

      Nun habe ich einen Bewegungsmelder und nun soll das Script nur dann ausgegeben werden, wenn dieser eine Bewegung, vor dem öffnen des Türkontakts, erkannt hat.

      Hier mal das Script für den Türkontakt, wie muss ich dieses am besten erweitern, dass dieses nur noch ausgeführt wird, wenn erst der Bewegungsmelder eine Bewegung erkannt hat?
      Also diese Reihenfolge...

      1. Bewegung erkannt
      2. Tür wird geöffnet
      3. Script wird ausgeführt, Alexa sagt das Ergebnis der Abfrage an

      Wenn man kommt

      1. Tür wird geöffnet
      2. Bewegung erkannt
      3. Script wird nicht ausgeführt, Alexa schweigt

      [0_1740913028838_skripte.Fenster_Türen.Schalter_W-Tür (1).xml](Uploading 100%)

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="on" id="i={`iP[jI:sy_4gjW~~|" x="137" y="-112">
          <field name="OID">zigbee3mqtt.0.0xaxxxxxxxxx.opened</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id=",9_Nr-P-{%Fd+Tc0-=Nu">
              <mutation elseif="1"></mutation>
              <value name="IF0">
                <block type="logic_compare" id=";_i]cfZdrmL/qXWB6PuO">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="get_value" id="05hB:}da}@CQX_^vBlC@">
                      <field name="ATTR">val</field>
                      <field name="OID">zigbee2mqtt.0.0xaxxxxxxxxx.opened</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="logic_boolean" id="ZT5]2tgD5CM]Of-|;}#F">
                      <field name="BOOL">TRUE</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="control" id="}6;6~]L4/!BY.JwxYt#d">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.AlexaFensterstatusWohnungstuer.Abfrage_Fensterstatus_Wohnungstür</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="PDGjw4AYy[^(T_9;v]R|">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                </block>
              </statement>
              <value name="IF1">
                <block type="logic_compare" id="3h%}EftA;@`]vU8=A?IV">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="get_value" id="FM=WF2Zog|[og,l}LKf:">
                      <field name="ATTR">val</field>
                      <field name="OID">zigbee2mqtt.0.0xaxxxxxxxxx.opened</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="logic_boolean" id="fh:rK}[wc]i=zx]M8dBQ">
                      <field name="BOOL">TRUE</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO1">
                <block type="control" id="uH=y!(uzpe!@XAo-?a[!">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.AlexaFensterstatusWohnungstuer.Abfrage_Fensterstatus_Wohnungstür</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="Cv3*g6JYM@.+K?u|6L^!">
                      <field name="BOOL">TRUE</field>
                    </block>
                  </value>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      
      

      Danke

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @oggy1 sagte: nur noch ausgeführt wird, wenn erst der Bewegungsmelder eine Bewegung erkannt hat?

      Prinzip:

      Blockly_temp.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      O 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @oggy1 sagte: nur noch ausgeführt wird, wenn erst der Bewegungsmelder eine Bewegung erkannt hat?

        Prinzip:

        Blockly_temp.JPG

        O Offline
        O Offline
        oggy1
        schrieb am zuletzt editiert von
        #3

        @paul53
        Besten Dank, funktioniert wie gewünscht. :blush:

        O 1 Antwort Letzte Antwort
        0
        • O oggy1

          @paul53
          Besten Dank, funktioniert wie gewünscht. :blush:

          O Offline
          O Offline
          oggy1
          schrieb am zuletzt editiert von
          #4

          Funktioniert leider doch nicht so ganz wie gewünscht.

          Das Problem, wähle ich "ist größer als letztes" dann wird der Status der Fenster fehlerhaft wiedergeben. Man benötigt immer zwei Versuche.
          Ist ein Fenster offen, dann wird das so angesagt. Schließt man das Fenster, dann ist es angeblich noch immer offen, man muss die Tür nochmal schließen und erst bei zweiten öffnen der Tür wird dann der richtige Status angesagt.

          Nun habe ich das Script so abgeändert...
          ca7c8498-2298-4c20-a32a-81181a329d6e-image.png

          Damit wird der Status der Fenster beim öffnen der Tür immer richtig angesagt, jedoch habe ich nun das nächste Problem. Wenn man wieder nach Hause kommt, schweigt Alexa erstmal, schließt man die Tür, dann sagt Alexa den Status der Fenster an.
          Das Problem, solange der Bewegungsmelder keine Bewegung registriert, beleibt Alexa stumm. Registriert der Bewegungsmelder eine Bewegung, dann bleibt Alexa auch stumm, bis man die Türe schließt, also der Türkontakt seinen Status ändert.

          Wie bekomme ich es hin, dass Alexa nur dann spricht, wenn nur die Tür geöffnet wird?

          Also...
          Man geht = Bewegungsmelder registriert eine Bewegung "true", die Tür wird geöffnet (Türkontakt) "true" und Alexa sagt ihren Text an.
          Man kommt = die Tür wird geöffnet (Türkontakt) "true", Bewegungsmelder registriert eine Bewegung "true", die Tür wird geschlossen (Türkontakt) "false" und Alexa schweigt.

          Hat jemand ein Tipp oder die Lösung wie ich das Script entsprechend erweitern muss?

          Danke.

          O CodierknechtC paul53P 3 Antworten Letzte Antwort
          0
          • O oggy1

            Funktioniert leider doch nicht so ganz wie gewünscht.

            Das Problem, wähle ich "ist größer als letztes" dann wird der Status der Fenster fehlerhaft wiedergeben. Man benötigt immer zwei Versuche.
            Ist ein Fenster offen, dann wird das so angesagt. Schließt man das Fenster, dann ist es angeblich noch immer offen, man muss die Tür nochmal schließen und erst bei zweiten öffnen der Tür wird dann der richtige Status angesagt.

            Nun habe ich das Script so abgeändert...
            ca7c8498-2298-4c20-a32a-81181a329d6e-image.png

            Damit wird der Status der Fenster beim öffnen der Tür immer richtig angesagt, jedoch habe ich nun das nächste Problem. Wenn man wieder nach Hause kommt, schweigt Alexa erstmal, schließt man die Tür, dann sagt Alexa den Status der Fenster an.
            Das Problem, solange der Bewegungsmelder keine Bewegung registriert, beleibt Alexa stumm. Registriert der Bewegungsmelder eine Bewegung, dann bleibt Alexa auch stumm, bis man die Türe schließt, also der Türkontakt seinen Status ändert.

            Wie bekomme ich es hin, dass Alexa nur dann spricht, wenn nur die Tür geöffnet wird?

            Also...
            Man geht = Bewegungsmelder registriert eine Bewegung "true", die Tür wird geöffnet (Türkontakt) "true" und Alexa sagt ihren Text an.
            Man kommt = die Tür wird geöffnet (Türkontakt) "true", Bewegungsmelder registriert eine Bewegung "true", die Tür wird geschlossen (Türkontakt) "false" und Alexa schweigt.

            Hat jemand ein Tipp oder die Lösung wie ich das Script entsprechend erweitern muss?

            Danke.

            O Offline
            O Offline
            oggy1
            schrieb am zuletzt editiert von
            #5

            Ich glaub so funktioniert es, mach es zumindest gerade, keine Ahnung ob das logisch ist...

            f80dcfd4-b983-4704-b513-d0ddbe5f2768-image.png

            Falls noch jemand eine Verbesserung sieht, kann er diese gerne vorschlagen.

            1 Antwort Letzte Antwort
            0
            • O oggy1

              Funktioniert leider doch nicht so ganz wie gewünscht.

              Das Problem, wähle ich "ist größer als letztes" dann wird der Status der Fenster fehlerhaft wiedergeben. Man benötigt immer zwei Versuche.
              Ist ein Fenster offen, dann wird das so angesagt. Schließt man das Fenster, dann ist es angeblich noch immer offen, man muss die Tür nochmal schließen und erst bei zweiten öffnen der Tür wird dann der richtige Status angesagt.

              Nun habe ich das Script so abgeändert...
              ca7c8498-2298-4c20-a32a-81181a329d6e-image.png

              Damit wird der Status der Fenster beim öffnen der Tür immer richtig angesagt, jedoch habe ich nun das nächste Problem. Wenn man wieder nach Hause kommt, schweigt Alexa erstmal, schließt man die Tür, dann sagt Alexa den Status der Fenster an.
              Das Problem, solange der Bewegungsmelder keine Bewegung registriert, beleibt Alexa stumm. Registriert der Bewegungsmelder eine Bewegung, dann bleibt Alexa auch stumm, bis man die Türe schließt, also der Türkontakt seinen Status ändert.

              Wie bekomme ich es hin, dass Alexa nur dann spricht, wenn nur die Tür geöffnet wird?

              Also...
              Man geht = Bewegungsmelder registriert eine Bewegung "true", die Tür wird geöffnet (Türkontakt) "true" und Alexa sagt ihren Text an.
              Man kommt = die Tür wird geöffnet (Türkontakt) "true", Bewegungsmelder registriert eine Bewegung "true", die Tür wird geschlossen (Türkontakt) "false" und Alexa schweigt.

              Hat jemand ein Tipp oder die Lösung wie ich das Script entsprechend erweitern muss?

              Danke.

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @oggy1 sagte in Script nur ausführen wenn Bewegung erkannt.:

              Hat jemand ein Tipp oder die Lösung wie ich das Script entsprechend erweitern muss?

              So wie @paul53 es gezeigt hat.

              1. Es reagiert bei der Tür auf "größer als letztes". Also nur dann, wenn der Wert von false (0) auf true (1) wechselt.
                Was also völlig richtig ist.
              2. Es prüft in dem unter 1) genannten Moment, ob eine Bewegung erkannt wurde.
                Wenn man geht, sollte eine Bewegung erkannt sein. Öffnet man dann die Tür, werden die folgenden Schritte ausgeführt.
                Kommt man, sollte nach aller Erfahrung im Moment der Türöffnung noch keine Bewegung erkannt sein. Die nächsten Schritte werden also nicht ausgeführt.

              Die Frage ist also: Wie prüfst Du, ob Fenster geöffnet sind?
              Und bitte: Blockly nicht als XML, sondern als Screenshot. Nur wenige hier haben Lust, ein Blockly erst importieren zu müssen um einen Blick darauf zu werfen.

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              O 1 Antwort Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @oggy1 sagte in Script nur ausführen wenn Bewegung erkannt.:

                Hat jemand ein Tipp oder die Lösung wie ich das Script entsprechend erweitern muss?

                So wie @paul53 es gezeigt hat.

                1. Es reagiert bei der Tür auf "größer als letztes". Also nur dann, wenn der Wert von false (0) auf true (1) wechselt.
                  Was also völlig richtig ist.
                2. Es prüft in dem unter 1) genannten Moment, ob eine Bewegung erkannt wurde.
                  Wenn man geht, sollte eine Bewegung erkannt sein. Öffnet man dann die Tür, werden die folgenden Schritte ausgeführt.
                  Kommt man, sollte nach aller Erfahrung im Moment der Türöffnung noch keine Bewegung erkannt sein. Die nächsten Schritte werden also nicht ausgeführt.

                Die Frage ist also: Wie prüfst Du, ob Fenster geöffnet sind?
                Und bitte: Blockly nicht als XML, sondern als Screenshot. Nur wenige hier haben Lust, ein Blockly erst importieren zu müssen um einen Blick darauf zu werfen.

                O Offline
                O Offline
                oggy1
                schrieb am zuletzt editiert von
                #7

                @codierknecht said in Script nur ausführen wenn Bewegung erkannt.:

                Die Frage ist also: Wie prüfst Du, ob Fenster geöffnet sind?

                Das mach ich mit einem abgeänderten Script vom YT EddyD's SmartHome
                74827ab5-a55b-4332-87d0-78200e72ac54-image.png

                Ohne Bewegungsmelder funktioniert das ohne Probleme.
                Mit Bewegungsmelder und so wie @paul53 es gezeigt hat, benötige ich für die richtige Ausgabe meist zwei Versuche (Tür auf (falsche Antwort), Tür zu, Tür auf (richtige Antwort).
                Aber so scheint es aktuell zu funktionieren, alle Test verliefen bis jetzt ohne Fehler.
                2a4e1d18-4093-4eb2-8f24-83cc19691566-image.png

                CodierknechtC 1 Antwort Letzte Antwort
                0
                • O oggy1

                  Funktioniert leider doch nicht so ganz wie gewünscht.

                  Das Problem, wähle ich "ist größer als letztes" dann wird der Status der Fenster fehlerhaft wiedergeben. Man benötigt immer zwei Versuche.
                  Ist ein Fenster offen, dann wird das so angesagt. Schließt man das Fenster, dann ist es angeblich noch immer offen, man muss die Tür nochmal schließen und erst bei zweiten öffnen der Tür wird dann der richtige Status angesagt.

                  Nun habe ich das Script so abgeändert...
                  ca7c8498-2298-4c20-a32a-81181a329d6e-image.png

                  Damit wird der Status der Fenster beim öffnen der Tür immer richtig angesagt, jedoch habe ich nun das nächste Problem. Wenn man wieder nach Hause kommt, schweigt Alexa erstmal, schließt man die Tür, dann sagt Alexa den Status der Fenster an.
                  Das Problem, solange der Bewegungsmelder keine Bewegung registriert, beleibt Alexa stumm. Registriert der Bewegungsmelder eine Bewegung, dann bleibt Alexa auch stumm, bis man die Türe schließt, also der Türkontakt seinen Status ändert.

                  Wie bekomme ich es hin, dass Alexa nur dann spricht, wenn nur die Tür geöffnet wird?

                  Also...
                  Man geht = Bewegungsmelder registriert eine Bewegung "true", die Tür wird geöffnet (Türkontakt) "true" und Alexa sagt ihren Text an.
                  Man kommt = die Tür wird geöffnet (Türkontakt) "true", Bewegungsmelder registriert eine Bewegung "true", die Tür wird geschlossen (Türkontakt) "false" und Alexa schweigt.

                  Hat jemand ein Tipp oder die Lösung wie ich das Script entsprechend erweitern muss?

                  Danke.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @oggy1 sagte: Schließt man das Fenster, dann ist es angeblich noch immer offen, man muss die Tür nochmal schließen und erst bei zweiten öffnen der Tür wird dann der richtige Status angesagt.

                  Ich bin nicht davon ausgegangen, dass du die Wohnungstür offen lässt, während du noch offene Fenster schließt.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  CodierknechtC O 2 Antworten Letzte Antwort
                  2
                  • O oggy1

                    @codierknecht said in Script nur ausführen wenn Bewegung erkannt.:

                    Die Frage ist also: Wie prüfst Du, ob Fenster geöffnet sind?

                    Das mach ich mit einem abgeänderten Script vom YT EddyD's SmartHome
                    74827ab5-a55b-4332-87d0-78200e72ac54-image.png

                    Ohne Bewegungsmelder funktioniert das ohne Probleme.
                    Mit Bewegungsmelder und so wie @paul53 es gezeigt hat, benötige ich für die richtige Ausgabe meist zwei Versuche (Tür auf (falsche Antwort), Tür zu, Tür auf (richtige Antwort).
                    Aber so scheint es aktuell zu funktionieren, alle Test verliefen bis jetzt ohne Fehler.
                    2a4e1d18-4093-4eb2-8f24-83cc19691566-image.png

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von Codierknecht
                    #9

                    @oggy1

                    1. Warum "steuerst" Du da?
                      Eigene DP werden mit "Aktualisiere" geändert.
                    2. Sind die "Wohnungstür" im Trigger und in den Steuer-Blöcken identisch? Dan hast Du Dir da eine feine Dauerschleife gebaut.

                    Schau Dir bitte nochmal @paul53's Vorschlag genau an. Da ist nirgends davon die Rede, dass da noch DP verändert werden.
                    Die Logik dahingter ist doch eigentlich simpel:
                    Triggern wenn Türe geöffnet wurde. Wenn zusätzlich Bewegung erkannt wurde: Fensterstatus ermitteln und Ansage.

                    Ersetze doch einfach mal in @paul53's Vorschlag den Kommentar durch einen Debug-Block. Ich bin mir ziemlich sicher, dass das einwandfrei funktioniert. Das Problem scheint mir eher in der Prüfung der Fenster zu stecken. Wobei ich noch nicht so genau weiß, an welcher Ecke.
                    Ich finde das auch reichlich "drüber". Die Prüfung der offenen Fenster zum Beispiel stoßen bei mir die Fenster selbst an. Ich weiß also jederzeit, wie viele Fenster offen sind.
                    385ebc82-c40f-41ba-b69c-6e3798321139-grafik.png
                    Das ließe sich auch ohne viel Aufwand um eine Liste der Fenster erweitern.
                    Das verlagert den "Rechenaufwand" auf einen anderen Zeitpunkt - das Öffnen oder Schließen der Fenster.

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    1 Antwort Letzte Antwort
                    1
                    • paul53P paul53

                      @oggy1 sagte: Schließt man das Fenster, dann ist es angeblich noch immer offen, man muss die Tür nochmal schließen und erst bei zweiten öffnen der Tür wird dann der richtige Status angesagt.

                      Ich bin nicht davon ausgegangen, dass du die Wohnungstür offen lässt, während du noch offene Fenster schließt.

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von Codierknecht
                      #10

                      @paul53 sagte in Script nur ausführen wenn Bewegung erkannt.:

                      Ich bin nicht davon ausgegangen, dass du die Wohnungstür offen lässt, während du noch offene Fenster schließt.

                      Auf die Idee dürften vermutlich die wenigsten kommen ;-)

                      Edit
                      @oggy1
                      Dass dann keine Meldung kommt, ist doch wohl klar, oder?
                      Der Trigger ist schließlich die Tür - nicht die Fenster.

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      O 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @oggy1 sagte: Schließt man das Fenster, dann ist es angeblich noch immer offen, man muss die Tür nochmal schließen und erst bei zweiten öffnen der Tür wird dann der richtige Status angesagt.

                        Ich bin nicht davon ausgegangen, dass du die Wohnungstür offen lässt, während du noch offene Fenster schließt.

                        O Offline
                        O Offline
                        oggy1
                        schrieb am zuletzt editiert von oggy1
                        #11

                        @paul53 said in Script nur ausführen wenn Bewegung erkannt.:

                        Ich bin nicht davon ausgegangen, dass du die Wohnungstür offen lässt, während du noch offene Fenster schließt.

                        Bleibt auch nicht offen.

                        Ich erkläre es so.

                        1. Person verlässt die Wohnung, es wird der letzte Status angesagt also zum Beispiel "Bis später", weil das die letzte Ansage war, unabhängig ob das stimmt oder nicht.
                          Nun sind aber noch Fenster offen, was Person 1 aber nicht weiß, weil diese eine falsche Ansage hatte.
                        2. Person verlässt die Wohnung und bekommt jetzt die richtige Meldung, dass noch Fenster offen sind. Also Tür wird wieder geschlossen, es werden die Fenster geschlossen und nun wird die Tür wieder geöffnet. Jetzt erfolgt erstmal eine eine falsche Ansage, dass angeblich diese Fenster noch immer offen sind. Nun macht man die Tür wieder zu und nochmal auf und erst jetzt erfolgt wieder die richtige Meldung "Bis später".
                        1 Antwort Letzte Antwort
                        0
                        • CodierknechtC Codierknecht

                          @paul53 sagte in Script nur ausführen wenn Bewegung erkannt.:

                          Ich bin nicht davon ausgegangen, dass du die Wohnungstür offen lässt, während du noch offene Fenster schließt.

                          Auf die Idee dürften vermutlich die wenigsten kommen ;-)

                          Edit
                          @oggy1
                          Dass dann keine Meldung kommt, ist doch wohl klar, oder?
                          Der Trigger ist schließlich die Tür - nicht die Fenster.

                          O Offline
                          O Offline
                          oggy1
                          schrieb am zuletzt editiert von
                          #12

                          @codierknecht said in Script nur ausführen wenn Bewegung erkannt.:

                          Auf die Idee dürften vermutlich die wenigsten kommen

                          Die Tür ist zu wenn die Fenster geschlossen werden, keine Ahnung, wie ihr auf die Idee kommt, dass diese offen ist.

                          Ja, der Trigger ist die Tür und dieser soll erst ausgeführt werden, wenn der Bewegungsmelder eine Bewegung erkennt.

                          Also beim verlassen der Wohnung
                          Bewegungsmelder --> Türkontakt auf --> Abfrage welche Fenster offen sind --> Ausgabe über Alexa --> Tür zu......

                          Beim betreten der Wohnung
                          Türkontakt auf --> Bewegungsmelder erkennt Bewegung --> Tür zu --> Alexa schweigt

                          So funktioniert es aktuell, wie ich es habe und das auch dann, wenn man bei geöffneter Wohnungstür fix die Fenster schließt, weil die Frau gerade an der geöffneten Wohnungstür wartet. Ja, sowas soll es geben...

                          Nun folgt erstmal ein längerer Test, mal schauen ob es reibungslos funktioniert.

                          CodierknechtC 1 Antwort Letzte Antwort
                          0
                          • O oggy1

                            @codierknecht said in Script nur ausführen wenn Bewegung erkannt.:

                            Auf die Idee dürften vermutlich die wenigsten kommen

                            Die Tür ist zu wenn die Fenster geschlossen werden, keine Ahnung, wie ihr auf die Idee kommt, dass diese offen ist.

                            Ja, der Trigger ist die Tür und dieser soll erst ausgeführt werden, wenn der Bewegungsmelder eine Bewegung erkennt.

                            Also beim verlassen der Wohnung
                            Bewegungsmelder --> Türkontakt auf --> Abfrage welche Fenster offen sind --> Ausgabe über Alexa --> Tür zu......

                            Beim betreten der Wohnung
                            Türkontakt auf --> Bewegungsmelder erkennt Bewegung --> Tür zu --> Alexa schweigt

                            So funktioniert es aktuell, wie ich es habe und das auch dann, wenn man bei geöffneter Wohnungstür fix die Fenster schließt, weil die Frau gerade an der geöffneten Wohnungstür wartet. Ja, sowas soll es geben...

                            Nun folgt erstmal ein längerer Test, mal schauen ob es reibungslos funktioniert.

                            CodierknechtC Offline
                            CodierknechtC Offline
                            Codierknecht
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @oggy1 sagte in Script nur ausführen wenn Bewegung erkannt.:

                            Ja, der Trigger ist die Tür und dieser soll erst ausgeführt werden, wenn der Bewegungsmelder eine Bewegung erkennt.

                            Falsche Denkweise.
                            Der "Trigger" ist der Auslöser. Und das ist nunmal die Tür.
                            Der Bewegungsmelder kommt nur als zusätzliche Bedingung ins Spiel.

                            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                            HmIP|ZigBee|Tasmota|Unifi
                            Zabbix Certified Specialist
                            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                            1 Antwort Letzte Antwort
                            0
                            • CodierknechtC Offline
                              CodierknechtC Offline
                              Codierknecht
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #14

                              @oggy1
                              Bei mir sähe das in etwa so aus:

                              75a62869-0af8-43b1-af94-2ee539fa11c9-grafik.png

                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi
                              Zabbix Certified Specialist
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              O 1 Antwort Letzte Antwort
                              0
                              • CodierknechtC Codierknecht

                                @oggy1
                                Bei mir sähe das in etwa so aus:

                                75a62869-0af8-43b1-af94-2ee539fa11c9-grafik.png

                                O Offline
                                O Offline
                                oggy1
                                schrieb am zuletzt editiert von
                                #15

                                Da mein oben aufgeführtes Script aktuell sehr gut funktioniert, würde ich jetzt noch einen Schritt weiter gehen.

                                Ich würde jetzt gern noch Licht und Geräte hinzufügen, aber so, dass erst die Fenster, dann das Licht und zum Schluss die Geräte abgefragt werden.

                                Die Kategorien habe ich schon angelegt, aber jetzt weiß ich im Script nicht wirklich weiter.

                                Aber wie kann ich das, verständlich für Anfänger, jetzt umsetzen? Die Ausgabe erfolgt immer auf dem selben Echo Dot im Flur.

                                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

                                578

                                Online

                                32.7k

                                Benutzer

                                82.4k

                                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