Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Nach Schaltung von Aktoren Bestätigung

    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

    Nach Schaltung von Aktoren Bestätigung

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

      Hallo zusammen,

      ich habe zwei Aktoren von Homematic die sich am Rande ihrer Reichweite befinden.

      Wie kann ich nach ausgeführter Schaltung sicher gehen, dass diese auch wirklich ein- bzw ausgeschaltet sind?

      Bisher ist es leider so, dass ich erst zu spät merke (wenn ich nach Hause komme), dass das Aussenlicht noch oder nicht an/aus ist... Stromkosten und so ☺️

      Vielleicht auch zu einfach.

      Danke vorab.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @nukleuz last edited by paul53

        @nukleuz sagte:

        wirklich ein- bzw ausgeschaltet sind?

        Meine Lösung: Falls der Sollzustand nicht innerhalb von 1 s bzw. 5 s erreicht ist (Trigger: anerkannt ist Update), wird das Senden wiederholt.

        Blockly_Aktor_mWiederholung.JPG

        <xml xmlns="http://www.w3.org/1999/xhtml">
         <variables>
           <variable type="" id="*T*tDs.XR6.G4_9|f@77">soll</variable>
           <variable type="" id="X!4FU:{$OhN8ek/Zx`k0">ist</variable>
           <variable type="undefined" id="timeout1">timeout1</variable>
           <variable type="undefined" id="timeout5">timeout5</variable>
         </variables>
         <block type="variables_set" id="MoJ)NgYfj]7NsrQOaOK=" x="63" y="38">
           <field name="VAR" id="*T*tDs.XR6.G4_9|f@77" variabletype="">soll</field>
           <value name="VALUE">
             <block type="get_value" id="u4dx=QYB`KCQN+V+6o4D">
               <field name="ATTR">val</field>
               <field name="OID">ID auswählen</field>
             </block>
           </value>
           <next>
             <block type="comment" id="Kw3(}6~,o+{7K|27Y05c">
               <field name="COMMENT">Aktor</field>
               <next>
                 <block type="variables_set" id="RJx)J1bsJ5%sNxIlgs=w">
                   <field name="VAR" id="X!4FU:{$OhN8ek/Zx`k0" variabletype="">ist</field>
                   <value name="VALUE">
                     <block type="get_value" id="pSvi4cUWpm|vp@N?LJoS">
                       <field name="ATTR">val</field>
                       <field name="OID">ID auswählen</field>
                     </block>
                   </value>
                   <next>
                     <block type="procedures_callnoreturn" id="$oY.#C`bI0c**sT=S9T+">
                       <mutation name="Schalten"></mutation>
                       <next>
                         <block type="comment" id="NwTvyNhdNAi[E`KOr$;#">
                           <field name="COMMENT">Sollzustand Aktor</field>
                           <next>
                             <block type="on_ext" id="jY;D)U!vI_{qT@D_SEsC">
                               <mutation items="1"></mutation>
                               <field name="CONDITION">ne</field>
                               <field name="ACK_CONDITION"></field>
                               <value name="OID0">
                                 <shadow type="field_oid" id="GR=xnxV1eH,n[(P;)|sA">
                                   <field name="oid">default</field>
                                 </shadow>
                               </value>
                               <statement name="STATEMENT">
                                 <block type="variables_set" id=":aVS7$p=J1@21*4Dj|K!">
                                   <field name="VAR" id="*T*tDs.XR6.G4_9|f@77" variabletype="">soll</field>
                                   <value name="VALUE">
                                     <block type="on_source" id=".LH+o=wytOKG}={WjUOR">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="procedures_callnoreturn" id="]D}-gjH[2hJ(](S@`OUT">
                                       <mutation name="Schalten"></mutation>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                               <next>
                                 <block type="comment" id=")2+TXFE3+}:f]R5i:)WD">
                                   <field name="COMMENT">Aktor</field>
                                   <next>
                                     <block type="on_ext" id="xn{6s-zN63q2YM_-JHD6">
                                       <mutation items="1"></mutation>
                                       <field name="CONDITION">any</field>
                                       <field name="ACK_CONDITION">true</field>
                                       <value name="OID0">
                                         <shadow type="field_oid" id=")xL$K)(huHmhZZ^g|Pt1">
                                           <field name="oid">default</field>
                                         </shadow>
                                       </value>
                                       <statement name="STATEMENT">
                                         <block type="variables_set" id="*Lz4xY}?LrSi`_G3icte">
                                           <field name="VAR" id="X!4FU:{$OhN8ek/Zx`k0" variabletype="">ist</field>
                                           <value name="VALUE">
                                             <block type="on_source" id="zF(Vo%BsBIGlAU6J?zlj">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="controls_if" id="rbElE)[YD$2M3?{7Bo1#">
                                               <value name="IF0">
                                                 <block type="logic_compare" id="K.T@T_Dz=z:S{ZXBdrM]">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="variables_get" id="]C]e(HQCC}7dE#?wc.6I">
                                                       <field name="VAR" id="X!4FU:{$OhN8ek/Zx`k0" variabletype="">ist</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="variables_get" id="yR.e~T+=WMoY,A~ut]#n">
                                                       <field name="VAR" id="*T*tDs.XR6.G4_9|f@77" variabletype="">soll</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="timeouts_cleartimeout" id="?6mF6T)K=^YGY=dMrw4v">
                                                   <field name="NAME">timeout1</field>
                                                   <next>
                                                     <block type="timeouts_cleartimeout" id="}]dE[{@,l*c%)BnA`xvq">
                                                       <field name="NAME">timeout5</field>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
         <block type="procedures_defnoreturn" id="On5Q@D5=L:x?A:WF3zeT" x="413" y="163">
           <field name="NAME">Schalten</field>
           <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
           <statement name="STACK">
             <block type="controls_if" id="y$]4.L2%V%mjQf{abO*n">
               <value name="IF0">
                 <block type="logic_compare" id="E6^w@!=}`Pk+4(5;G^98">
                   <field name="OP">NEQ</field>
                   <value name="A">
                     <block type="variables_get" id="V.20YMlLhKb)ICSFc::S">
                       <field name="VAR" id="X!4FU:{$OhN8ek/Zx`k0" variabletype="">ist</field>
                     </block>
                   </value>
                   <value name="B">
                     <block type="variables_get" id="UTsJl06.k*;$WiqZ^6n|">
                       <field name="VAR" id="*T*tDs.XR6.G4_9|f@77" variabletype="">soll</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="control" id="fwwSB!-7,,!s$Y.b*0jp">
                   <mutation delay_input="false"></mutation>
                   <field name="OID">Object ID</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="variables_get" id="3dDlzXGextu/tEo%k}s/">
                       <field name="VAR" id="*T*tDs.XR6.G4_9|f@77" variabletype="">soll</field>
                     </block>
                   </value>
                   <next>
                     <block type="timeouts_settimeout" id="w0NK0h+F_OR8b%V7h6Th">
                       <field name="NAME">timeout1</field>
                       <field name="DELAY">1</field>
                       <field name="UNIT">sec</field>
                       <statement name="STATEMENT">
                         <block type="control" id="Y^E;20]PMHIzGbQE;y43">
                           <mutation delay_input="false"></mutation>
                           <field name="OID">Object ID</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="variables_get" id=".w`@@c%*=7=6_yUwbmJ.">
                               <field name="VAR" id="*T*tDs.XR6.G4_9|f@77" variabletype="">soll</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                       <next>
                         <block type="timeouts_settimeout" id="t=W~A[fikN`}7u^(T/$,">
                           <field name="NAME">timeout5</field>
                           <field name="DELAY">5</field>
                           <field name="UNIT">sec</field>
                           <statement name="STATEMENT">
                             <block type="control" id="UIbLoh)}oN:!,$r{i]jp">
                               <mutation delay_input="false"></mutation>
                               <field name="OID">Object ID</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="variables_get" id="QX6DI1yxB;=0B8h{]O7~">
                                   <field name="VAR" id="*T*tDs.XR6.G4_9|f@77" variabletype="">soll</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

        D 1 Reply Last reply Reply Quote 0
        • nukleuz
          nukleuz last edited by

          Das werde ich gleich mal ausprobieren.

          Vielen Dank für dein Beispiel Skript.

          1 Reply Last reply Reply Quote 0
          • nukleuz
            nukleuz last edited by

            @paul53

            Ich habe das Gefühl, dass es jetzt an meiner Logik scheitert...

            Das habe ich mal umgesetzt:

            7bffb8ac-10ef-4495-9bf1-59b7261c383a-image.png

            Was muss der soll-Wert sein? True oder false oder wirklich eine Objekt-ID?

            Danke 🙂

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @nukleuz last edited by

              @nukleuz sagte:

              Was muss der soll-Wert sein?

              Wert ist eine Eigenschaft des Trigger-Datenpunktes. (Blöcke Trigger).
              Soll- und Ist-Datenpunkt dürfen nicht gleich sein (Soll ist i.d.R. ein virtueller Datenpunkt). Den steuere-Blöcken muss die ID des Aktor-Datenpunktes zugewiesen werden.

              nukleuz 1 Reply Last reply Reply Quote 0
              • nukleuz
                nukleuz @paul53 last edited by

                @paul53 Sag mal, muss ich die Blöcke in meine vorhandene Logik einbauen, oder kann die neben der Logik (BWM wird auf true getriggert - Licht ein - nach 3 Minuten wieder aus) auch standalone laufen?

                Danke vorab!

                3267f70b-805e-46ba-b645-e5df6bac2d82-image.png

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @nukleuz last edited by

                  @nukleuz sagte: muss ich die Blöcke in meine vorhandene Logik einbauen, oder kann die neben der Logik (BWM wird auf true getriggert - Licht ein - nach 3 Minuten wieder aus) auch standalone laufen?

                  Der obere Trigger-Block kann auch separat laufen, da er keine Variablen zum Austausch mit anderen Blöcken verwendet.

                  nukleuz T 2 Replies Last reply Reply Quote 0
                  • nukleuz
                    nukleuz @paul53 last edited by

                    @paul53 Super und danke für Feedback 👍

                    1 Reply Last reply Reply Quote 0
                    • T
                      Timmss @paul53 last edited by Timmss

                      @paul53 Hey, durch die Suche konnte ich mein Problem hier finden. Der Trigger "anerkannt ist Update" ist genau was ich brauche. Die Logik kann ich 1 zu 1 übernehmen. ☺

                      Wie würdest du diese Sache lösen, wenn es zwei Objekte geben würde, die beide mit dem Trigger abgedeckt werden müssen?

                      1 Reply Last reply Reply Quote 0
                      • D
                        drapo @paul53 last edited by

                        @paul53 obwohl Dein Beitrag etwas älter ist kann er mir ebenfalls helfen Aktoren auf den richtigen Status bringen sollte der Funkbefehl mal nicht angekommen sein.
                        Da die Blöcke etwas älter sind bin ich mir bei einem nicht sicher.

                        Anerkannt ist Update

                        gibt es so nicht mehr. Wäre mein Block mit

                        Auslösung durch bestätigte Änderung korrekt?

                        0dcbb73e-ecde-44eb-8aa5-5df8c02596f2-grafik.png

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @drapo last edited by

                          @drapo sagte: Auslösung durch bestätigte Änderung korrekt?

                          Ja.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          847
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          blockly monitoring
                          4
                          11
                          792
                          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