Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg

    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

    Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg

    This topic has been deleted. Only users with topic management privileges can see it.
    • TH G
      TH G @fastfoot last edited by TH G

      @fastfoot

      Wie kann denn das gehen, wenn es keine Frage mehr gibt, ob der Status true ist? Was bedeute das nun nur mit der Wert?

      Bildschirmfoto 2021-01-15 um 22.45.58.png

      Das das ein Problem vom Adapter ist ist bekannt aber laut Entwickler nicht zu ändern, da einfach kein Wert von der Anlage ausgegeben wird.

      F 1 Reply Last reply Reply Quote 0
      • F
        fastfoot @TH G last edited by

        @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

        @fastfoot

        Wie kann denn das gehen, wenn es keine Frage mehr gibt, ob der Status true ist? Was bedeute das nun nur mit der Wert?

        Bildschirmfoto 2021-01-15 um 22.45.58.png

        Das das ein Problem vom Adapter ist ist bekannt aber laut Entwickler nicht zu ändern, da einfach kein Wert von der Anlage ausgegeben wird.

        Der Wert (keine angelegte Variable!!!) ist der Wert zum Zeitpunkt des Triggerns, im Prinzip genau was du gemacht hast, jedoch halt der Originalwert. Ein danach gelesener Wert könnte bereits ein anderer sein. Falls prüft immer auf Wahr, weshalb es die verkürzte Version von Falls Wert = Wahr ist.

        Funktioniert es denn jetzt oder kommen die LOG Einträge immer noch?

        TH G 1 Reply Last reply Reply Quote 0
        • TH G
          TH G @fastfoot last edited by

          @fastfoot

          Ah aber das musst du doch auch erklären, jetzt verstehe ich das erst. Ich muss warten bis die Wärmepumpe wieder anspringt

          F 1 Reply Last reply Reply Quote 0
          • F
            fastfoot @TH G last edited by

            @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

            @fastfoot

            Ah aber das musst du doch auch erklären, jetzt verstehe ich das erst. Ich muss warten bis die Wärmepumpe wieder anspringt

            Du hättest es meiner Meinung nach auch umsetzen können, ohne es erstmal zu verstehen. 😀 Man(n) ist ja nicht immer in der Laune/Lage für explizite Erklärungen, wobei meine Auführungen, speziell für Anfänger, normalerweise recht ausführlich sind. Du hattest heute halt erstmal Pech damit 🙂

            TH G 1 Reply Last reply Reply Quote 0
            • TH G
              TH G @fastfoot last edited by

              @fastfoot

              Die Warnung im Log ist nicht mehr da ABER nach dem Heizen wird nun auch nicht mehr im DP Status_WP -nicht aktiv- gesetzt. Es steht nun immer Heizen im DP.

              T F 2 Replies Last reply Reply Quote 0
              • T
                tobi19 @TH G last edited by

                @th-g
                Da die Variable "Wert" nur einmalig beim Trigger eingelesen wird ändert sie sich innerhalb der durch "Ausführen Intervall alle 1 Sek" aufgespannten Schleife nie und somit kann der 'sonst' Fall der Abfrage nie eintreten.

                Habe die Erklärung von fastfoot so verstanden, dass der Trigger beim Ausschalten genau ein mal kommt und hier die Variable "Wert" richtig eingelesen wird . Somit sollte es ja gehen, wenn du in deinem letzten Blockly die Intervall-Schleife mit Stop Befehl weglässt. Der Trigger kommt ein mal, wenn Heizen eingeschaltet wird und ein mal beim Ausschalten. Der DP wird dann dementsprechende gesetzt .
                Dann auch probieren ob beim Trigger "wurde geändert" oder "wurde aktualisiert" funktioniert.

                TH G 1 Reply Last reply Reply Quote 0
                • TH G
                  TH G @tobi19 last edited by TH G

                  @tobi19

                  Auch wenn ich den Intervall rausnehmen geht es nicht.

                  Das Problem ist immer noch, dass ein leeres Feld kein Trigger ist.

                  @alcalzone said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                  @TH-G Du solltest zusätzlich vor dem Ausführen des Intervalls einen Stop erzwingen. Sonst kann es sein, dass Kopien des Intervalls laufen, die sich mit der Zeit anhäufen.

                  @AlCalzone Kannst du bitte helfen und deine Anmerkung vertiefen? Wie meintest du das mit dem Stop?

                  1 Reply Last reply Reply Quote 0
                  • F
                    fastfoot @TH G last edited by

                    @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                    @fastfoot

                    Die Warnung im Log ist nicht mehr da ABER nach dem Heizen wird nun auch nicht mehr im DP Status_WP -nicht aktiv- gesetzt. Es steht nun immer Heizen im DP.

                    Gestern war wohl nicht mein Tag 😞 Ich habe das Intervall total übersehen und bin deshalb davon ausgegangen, dass auch getriggert wird wenn von True auf Nichts geändert wird. Ich denke dass das ein Fehler im JS-Adapter ist. Es ist richtig, dass Wert sich innerhalb des Intervalls nicht ändert, da er an den Trigger gekoppelt ist.

                    Ich würde es jetzt so wie ursprünglich belassen und mit den Fehlern leben bis sie gefixt sind. Ich kann versuchen, später eine JS-Funktion zu schreiben, die du als Workaround verwenden könntest

                    TH G 1 Reply Last reply Reply Quote 0
                    • TH G
                      TH G @fastfoot last edited by

                      @fastfoot

                      Das wäre sehr gut und würde mich freuen, wenn du eine Übergangslösung hast.

                      F 1 Reply Last reply Reply Quote 0
                      • F
                        fastfoot @TH G last edited by

                        @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                        @fastfoot

                        Das wäre sehr gut und würde mich freuen, wenn du eine Übergangslösung hast.

                        So, neuer Versuch, die JS-Funktion prüft ob der Status existiert, falls nicht wird Falsch zurückgegeben, falls er existiert wird der tatsächliche Wert geliefert(der in diesem Fall eigentlich immer Wahr sein sollte), insofern ist die Funktion aufgebauscht.
                        HM.PNG
                        Die Datenpunkte und die Variable id im Skript musst du natürlich noch anpassen

                        <xml xmlns="https://developers.google.com/blockly/xml">
                          <variables>
                            <variable id="X%@`%Fwh:N!{3?wFePrX">id</variable>
                            <variable type="interval" id="Intervall">Intervall</variable>
                            <variable id="a_[i#?T$qE6pO]a+|;|t">statusHeizung</variable>
                          </variables>
                          <block type="procedures_defcustomreturn" id="en56nesdIDI1w2p3?g4o" x="-613" y="37">
                            <mutation statements="false">
                              <arg name="id" varid="X%@`%Fwh:N!{3?wFePrX"></arg>
                            </mutation>
                            <field name="NAME">status</field>
                            <field name="SCRIPT">bGV0IHN0YXQ7DQppZighZXhpc3RzU3RhdGUoaWQpKSB7DQogICAgc3RhdCA9ICBmYWxzZTsNCn0gZWxzZSB7DQogICAgc3RhdCA9IChhd2FpdCBnZXRTdGF0ZUFzeW5jKGlkKSkudmFsOw0KfQ0KcmV0dXJuIHN0YXQ7</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                          </block>
                          <block type="variables_set" id="*8.nqG@Jv]T}v.KRZ{@0" x="-613" y="62">
                            <field name="VAR" id="X%@`%Fwh:N!{3?wFePrX">id</field>
                            <value name="VALUE">
                              <block type="text" id="PLa$]*nn#aVr.5!bBn@?">
                                <field name="TEXT">0_userdata.0.Heizung.Heizen</field>
                              </block>
                            </value>
                            <next>
                              <block type="timeouts_clearinterval" id="-X.,*u/]42py`#]|-t:z">
                                <field name="NAME">Intervall</field>
                                <next>
                                  <block type="timeouts_setinterval" id="?aEn+kt6PmFGE[p~XA1e">
                                    <field name="NAME">Intervall</field>
                                    <field name="INTERVAL">1000</field>
                                    <field name="UNIT">ms</field>
                                    <statement name="STATEMENT">
                                      <block type="variables_set" id="w_dtgT{;Ok-WHNn^87$t">
                                        <field name="VAR" id="a_[i#?T$qE6pO]a+|;|t">statusHeizung</field>
                                        <value name="VALUE">
                                          <block type="procedures_callcustomreturn" id="v_lqnLU}7B#A0%/chCT0" inline="true">
                                            <mutation name="status">
                                              <arg name="id"></arg>
                                            </mutation>
                                            <value name="ARG0">
                                              <block type="variables_get" id="1B.vjc2JNw^M)p|t]5sv">
                                                <field name="VAR" id="X%@`%Fwh:N!{3?wFePrX">id</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="controls_if" id="~(bE[%vsILoN/Ek:_`m6">
                                            <mutation else="1"></mutation>
                                            <value name="IF0">
                                              <block type="variables_get" id="0uW@6:JiLwo,RCzY#esL">
                                                <field name="VAR" id="a_[i#?T$qE6pO]a+|;|t">statusHeizung</field>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="update" id="cZxPS)X@V0wnwD|mwVX1">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">0_userdata.0.Heizung.Status_WP</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="52oB)g/-a?+Z~O=so-9H">
                                                    <field name="TEXT">Heizung läuft</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <statement name="ELSE">
                                              <block type="update" id="~$Cc9,M^,0_60=+abb,`">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">0_userdata.0.Heizung.Status_WP</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="H=b1z!W@8M}UyedaAVPb">
                                                    <field name="TEXT">Heizung nicht aktiv</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </xml>
                        

                        TH G 1 Reply Last reply Reply Quote 0
                        • TH G
                          TH G @fastfoot last edited by TH G

                          @fastfoot

                          Danke aber wie bekomme ich das importiert?

                          F 1 Reply Last reply Reply Quote 0
                          • F
                            fastfoot @TH G last edited by

                            @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                            @fastfoot

                            Danke aber wie bekomme ich das importiert?

                            • Hier den Import anklicken und kopieren
                            • Blockly erzeugen
                            • oben rechts linkes Icon importieren mit CTRL-V
                            TH G 1 Reply Last reply Reply Quote 0
                            • TH G
                              TH G @fastfoot last edited by TH G

                              @fastfoot

                              Ja genau so habe ich es gemacht aber es will nicht rein mit der Meldung -Fehler beim Importieren-

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                fastfoot @TH G last edited by

                                @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                                @fastfoot

                                Ja genau so habe ich es gemacht aber es will nicht rein mit der Meldung -Fehler beim Importieren-

                                Dann musst du darauf achten, den kompletten Text zu kopieren, der ist in Ordnung, gerade probiert

                                TH G 1 Reply Last reply Reply Quote 0
                                • TH G
                                  TH G @fastfoot last edited by TH G

                                  @fastfoot

                                  Ja das ist mir bekannt. Ein anderer Import geht. Ich lösche jetzt und machen ein neues Blockly.

                                  Das wird als Wert angezeigt, wenn ich einen DP hinzufügen will.

                                  Bildschirmfoto 2021-01-17 um 22.43.31.png

                                  Mit einem neuen Blockly geht es nun warum auch immer.

                                  Nun musst du mir unbeholfene Anwender noch sagen, was ich wo eintragen muss. Der Falls Teil ist mir soweit klar.

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    fastfoot @TH G last edited by

                                    @th-g said in Triggern DP ohne Wert nicht möglich (true/leer)-stiebel-isg:

                                    @fastfoot

                                    Ja das ist mir bekannt. Ein anderer Import geht. Ich lösche jetzt und machen ein neues Blockly.

                                    Das wird als Wert angezeigt, wenn ich einen DP hinzufügen will.

                                    Bildschirmfoto 2021-01-17 um 22.43.31.png

                                    Mit einem neuen Blockly geht es nun warum auch immer.

                                    Nun musst du mir unbeholfene Anwender noch sagen, was ich wo eintragen muss. Der Falls Teil ist mir soweit klar.

                                    Da wo steuere Status_WP steht klickst du jeweils drauf und wählst deinen tatsächlichen Datenpunkt aus. Bei setze ID musst du den Pfad händisch eingeben oder aus dem Objektbaum kopieren(rechts neben der ID dort klicken)

                                    TH G 1 Reply Last reply Reply Quote 0
                                    • TH G
                                      TH G @fastfoot last edited by

                                      @fastfoot

                                      Meinst du das jetzt so:

                                      Bildschirmfoto 2021-01-18 um 11.07.01.png

                                      F 1 Reply Last reply Reply Quote 0
                                      • F
                                        fastfoot @TH G last edited by

                                        @th-g ja genau, und dann testen

                                        TH G 1 Reply Last reply Reply Quote 0
                                        • TH G
                                          TH G @fastfoot last edited by

                                          @fastfoot

                                          Bildschirmfoto 2021-01-18 um 14.02.18.png Bildschirmfoto 2021-01-18 um 14.02.53.png

                                          F 1 Reply Last reply Reply Quote 0
                                          • F
                                            fastfoot @TH G last edited by

                                            @th-g seltsam, bei mir läuft es in der Simulation. Probiere mal diesen Import,

                                            <xml xmlns="https://developers.google.com/blockly/xml">
                                             <variables>
                                               <variable id="X%@`%Fwh:N!{3?wFePrX">id</variable>
                                               <variable type="interval" id="Intervall">Intervall</variable>
                                               <variable id="a_[i#?T$qE6pO]a+|;|t">statusHeizung</variable>
                                             </variables>
                                             <block type="procedures_defcustomreturn" id="en56nesdIDI1w2p3?g4o" x="-613" y="37">
                                               <mutation statements="false">
                                                 <arg name="id" varid="X%@`%Fwh:N!{3?wFePrX"></arg>
                                               </mutation>
                                               <field name="NAME">status</field>
                                               <field name="SCRIPT">DQppZighZXhpc3RzU3RhdGUoaWQpKSB7DQogICAgc3RhdCA9ICBmYWxzZTsNCn0gZWxzZSB7DQogICAgc3RhdCA9IChhd2FpdCBnZXRTdGF0ZUFzeW5jKGlkKSkudmFsOw0KfQ0KcmV0dXJuIHN0YXQ7</field>
                                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                             </block>
                                             <block type="variables_set" id="*8.nqG@Jv]T}v.KRZ{@0" x="-613" y="62">
                                               <field name="VAR" id="X%@`%Fwh:N!{3?wFePrX">id</field>
                                               <value name="VALUE">
                                                 <block type="text" id="PLa$]*nn#aVr.5!bBn@?">
                                                   <field name="TEXT">0_userdata.0.Heizung.Heizen</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="timeouts_clearinterval" id="-X.,*u/]42py`#]|-t:z">
                                                   <field name="NAME">Intervall</field>
                                                   <next>
                                                     <block type="timeouts_setinterval" id="?aEn+kt6PmFGE[p~XA1e">
                                                       <field name="NAME">Intervall</field>
                                                       <field name="INTERVAL">1000</field>
                                                       <field name="UNIT">ms</field>
                                                       <statement name="STATEMENT">
                                                         <block type="variables_set" id="w_dtgT{;Ok-WHNn^87$t">
                                                           <field name="VAR" id="a_[i#?T$qE6pO]a+|;|t">statusHeizung</field>
                                                           <value name="VALUE">
                                                             <block type="procedures_callcustomreturn" id="v_lqnLU}7B#A0%/chCT0" inline="true">
                                                               <mutation name="status">
                                                                 <arg name="id"></arg>
                                                               </mutation>
                                                               <value name="ARG0">
                                                                 <block type="variables_get" id="1B.vjc2JNw^M)p|t]5sv">
                                                                   <field name="VAR" id="X%@`%Fwh:N!{3?wFePrX">id</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="controls_if" id="~(bE[%vsILoN/Ek:_`m6">
                                                               <mutation else="1"></mutation>
                                                               <value name="IF0">
                                                                 <block type="variables_get" id="0uW@6:JiLwo,RCzY#esL">
                                                                   <field name="VAR" id="a_[i#?T$qE6pO]a+|;|t">statusHeizung</field>
                                                                 </block>
                                                               </value>
                                                               <statement name="DO0">
                                                                 <block type="update" id="cZxPS)X@V0wnwD|mwVX1">
                                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                   <field name="OID">0_userdata.0.Heizung.Status_WP</field>
                                                                   <field name="WITH_DELAY">FALSE</field>
                                                                   <value name="VALUE">
                                                                     <block type="text" id="52oB)g/-a?+Z~O=so-9H">
                                                                       <field name="TEXT">Heizung läuft</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </statement>
                                                               <statement name="ELSE">
                                                                 <block type="update" id="~$Cc9,M^,0_60=+abb,`">
                                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                   <field name="OID">0_userdata.0.Heizung.Status_WP</field>
                                                                   <field name="WITH_DELAY">FALSE</field>
                                                                   <value name="VALUE">
                                                                     <block type="text" id="H=b1z!W@8M}UyedaAVPb">
                                                                       <field name="TEXT">Heizung nicht aktiv</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </statement>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                            </xml>
                                            

                                            TH G 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

                                            776
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            16
                                            119
                                            7620
                                            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