Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Fehler? Screenon/off Blockly

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fehler? Screenon/off Blockly

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

      Hallo,
      ich habe ein Tablet welches üper fhem Adapter mir:
      "microphone_detect" true/false
      oder auch "motion_detect" true/false gibt.
      Per ScreenOn/ScreenOff schalte ich dann Bildschirm AN/AUS.

      Nun überwache ich oben ja auf änderung der beiden Objekte.
      Screen OFF soll dann gesendet werden wenn micro oder kameramotion für "5 Minuten" beide false sind ...
      Sollte micro oder kameramotion in der Zeit auf true gehen soll der timer gestoppt werden und DIREKT screenON geschickt werden.

      Irgendwie funktioniert das sganze eher "schlecht". Ist da ein fehler drin ?
      screen1.png

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <variables>
          <variable type="undefined" id="timeout">timeout</variable>
        </variables>
        <block type="on_ext" id="f6_w*q@te8q$i*51z}2J" x="-88" y="-587">
          <mutation items="2"></mutation>
          <field name="CONDITION">any</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="9#z.u!^dhIjKbtU_D*yr">
              <field name="oid">fhem.0.Winconnect_TABLET.motion_detect</field>
            </shadow>
          </value>
          <value name="OID1">
            <shadow type="field_oid" id="`.CEgG0/$fKj?N!_wCc[">
              <field name="oid">fhem.0.Winconnect_TABLET.microphone_detect</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="controls_if" id=":VHx:]:BGzy(A:7]~I+w">
              <mutation else="1"></mutation>
              <value name="IF0">
                <block type="logic_operation" id="N6;]|H_jO(sDQQ?w52lZ" inline="false">
                  <field name="OP">OR</field>
                  <value name="A">
                    <block type="logic_compare" id="pj`/H5z68f;xM`?eDV3$">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="0.Xs)xQ6xl2G^6aBn]e/">
                          <field name="ATTR">val</field>
                          <field name="OID">fhem.0.Winconnect_TABLET.microphone_detect</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="7C*p(Qe9wod#4?7abHtr">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <value name="B">
                    <block type="logic_compare" id="3{-8!s{yg(*$S~_8AD{e">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="^8^A[#.X{_}[^Eia1`rU">
                          <field name="ATTR">val</field>
                          <field name="OID">fhem.0.Winconnect_TABLET.motion_detect</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="qTvxnI]aKwVF}7Zy]|wV">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="control" id="#iucy%Ky:=;TlEMoUHSr">
                  <mutation delay_input="false"></mutation>
                  <field name="OID">fhem.0.Winconnect_TABLET.screenOn</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="(y$QJ%}%%$vAdf5*ZLjj">
                      <field name="BOOL">TRUE</field>
                    </block>
                  </value>
                </block>
              </statement>
              <statement name="ELSE">
                <block type="timeouts_cleartimeout" id="7+j,l)s1JP1bl)R8,$xp">
                  <field name="NAME">timeout</field>
                  <next>
                    <block type="timeouts_settimeout" id="};aAZH_7zq#J)m;6=;Fw">
                      <field name="NAME">timeout</field>
                      <field name="DELAY">5</field>
                      <field name="UNIT">min</field>
                      <statement name="STATEMENT">
                        <block type="control" id="9Sk_zDud9We/@B^SxUiu">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">fhem.0.Winconnect_TABLET.screenOff</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="uZwvsea:q?ap;@j=yy[Q">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      
      1 Reply Last reply Reply Quote 0
      • v522533
        v522533 last edited by

        Bin zwar auch kein Blockly Profi, aber für mein Verständnis schaltet dein Script bei Bewegung oder Geräusch den Bildschirm an. Direkt danach wird ein 5-Min-Timer gestartet, der den Bildschirm dann wieder ausschaltet. Ich würde zum ausschalten erst nochmal auf "false" prüfen und das dann in den Timeout packen. Den "stop timeout" Block würde ich ganz oben hinsetzten, so dass bei erneuter Bewegung der Timer neu gestartet wird. Korrigiert mich wenn das falsch ist 😉

        1 Reply Last reply Reply Quote 0
        • C
          ChrisXY last edited by

          hmm aber ich will ja das ich diesen 5 Minuten Puffer habe wenn in den 5 Minuten kein true von mikro oder Kamera gekommen ist dann ScreenOff. Der timer soll ja sofort gestoppt werden wenn irgendwo true kommt.

          Es kommt ja oft vor das man noch im Raum ist aber eben nicht von der Kamera erfasst wird oder "laut" ist.

          1 Reply Last reply Reply Quote 0
          • R
            RappiRN Most Active last edited by

            Das stop muss unter den oberen Teil, damit der timeout auch bei Bewegung und so gestoppt wird.

            Enrico

            C 1 Reply Last reply Reply Quote 0
            • C
              ChrisXY @RappiRN last edited by

              @RappiRN Vielen Dank das klingt logisch

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

              Support us

              ioBroker
              Community Adapters
              Donate

              796
              Online

              31.9k
              Users

              80.3k
              Topics

              1.3m
              Posts

              blockly
              3
              5
              311
              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