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.
    • 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
          • TH G
            TH G @fastfoot last edited by

            @fastfoot

            Geht leider auch nicht:

            Bildschirmfoto 2021-01-18 um 18.32.34.png

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

              @th-g war einen Versuch wert, ich verstehe das nicht, bei mir läuft die Funktion. Welche Javascriptversion hast du denn installiert? Mach doch mal einen Export deines aktuellen Blockly und stelle es hier rein, benutze bitte Code-Tags( icon </> ) dafür

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

                @th-g Ich denke ich habs, die aktuelle Stable unterstützt noch kein async. Probiere so

                <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">DQppZighZXhpc3RzU3RhdGUoaWQpKSB7DQogICAgc3RhdCA9ICBmYWxzZTsNCn0gZWxzZSB7DQogICAgc3RhdCA9IGdldFN0YXRlKGlkKS52YWw7DQp9DQpyZXR1cm4gc3RhdDs=</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

                  @fastfoot

                  Funktioniert!!!!

                  DANKE

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

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

                    @fastfoot

                    Funktioniert!!!!

                    DANKE

                    war ne schwere Geburt, schön dass es jetzt funktioniert!

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

                      @fastfoot

                      Kann ich das Blockly auch für Warmwasser und Kühlen nutzen? Muss ich dann dafür etwas ändern außer den DP?

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

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

                        @fastfoot

                        Kann ich das Blockly auch für Warmwasser und Kühlen nutzen? Muss ich dann dafür etwas ändern außer den DP?

                        nein, ändern sollte nicht nötig sein, ausser der zu überwachende DP. bei Problemen aber einfach melden

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

                          @fastfoot

                          Mus sich den Name ID und statusHeizung nicht anders nennen? Stören die sich sonst nicht?

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

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

                            @fastfoot

                            Mus sich den Name ID und statusHeizung nicht anders nennen? Stören die sich sonst nicht?

                            In einem neuen Script kann die Variable weiterhin id heissen, der Inhalt ändert sich natürlich, da du ja einen anderen DP abfrägst

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

                              @fastfoot

                              Ok aber was ist wenn sich dann beide Skripte überschneiden? Das kann für einige Sekunden durchaus sein.

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

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

                                @fastfoot

                                Ok aber was ist wenn sich dann beide Skripte überschneiden? Das kann für einige Sekunden durchaus sein.

                                Was meinst du mit überschneiden? Es handelt sich doch um verschiedene Datenpunkte

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

                                  @fastfoot

                                  Ich meine deine virtuellen Werte ID und statusHeizung oder verstehe ich da etwas nicht? Wenn ich mehrere Skripte nutze, die ID und statusHeizung nutzen, dann überschreibt doch jedes Skript die Werte.

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

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

                                    @fastfoot

                                    Ich meine deine virtuellen Werte ID und statusHeizung oder verstehe ich da etwas nicht? Wenn ich mehrere Skripte nutze, die ID und statusHeizung nutzen, dann überschreibt doch jedes Skript die Werte.

                                    id heisst die Variable. In dieser ist der Pfad zu deinem Datenpiunkt gespeichert, dessen Wertänderung du prüfen möchtest. In einem anderen Skript kann die Variable genauso heissen, aber ihr Inhalt ist natürlich ein anderer. Gleiches gilt natürlich für Status_WP, den du dann anschliessend ansteuerst, der wird wohl auch ein anderer sein als für die Heizung. Du denkst zu kompliziert, probiere doch einfach mehr 🙂

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

                                      @fastfoot

                                      Habe nun die Skripte auch für Kühlen und Warmwasser umgestellt aber nun läuft es nicht mehr und der Status wird nicht mehr geändert.

                                      Bildschirmfoto 2021-01-22 um 08.39.31.png Bildschirmfoto 2021-01-22 um 08.39.56.png
                                      Bildschirmfoto 2021-01-22 um 08.41.54.png

                                      Ich habe für jedes Skript die Variable in StatusHeizen, StatusKühlen und StatusWW geändert.

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

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

                                        Habe nun die Skripte auch für Kühlen und Warmwasser umgestellt aber nun läuft es nicht mehr und der Status wird nicht mehr geändert.

                                        In jedem Skript (d.h. = Datei) sind die Variablen in einem eigenen Raum geschützt und gelten nur in diesem Skript. Daher kann es in mehreren Skripten Variablen mit bleichem Nahmen aber unterschiedlichem Wert geben.
                                        Datenpunkte gelten global. Wenn also der Datenpunkt "Status_WP" (der ja nicht mit seinem kompletten Namen "0_userdate-0-..Status_WP" dargestellt ist) immer der gleiche ist, wird er jede Sekunde 3 mal, nämlich in jedem Skript beschrieben und erhält einen neuen Wert. Je nach Zeitpunkt der Betrachtung sieht man dann unterschiedliche werte, mit 66% Wahrscheinlichkeit den Wert "nicht aktiv".

                                        Das lässt sich lösen, in dem alles in einem Skript bearbeitet wird.
                                        fa26d31a-f5a1-48bb-baa9-249765f4f568-image.png

                                        Das Weglassen der Variablen ID und StatusXXX ist nur eine Verkürzung zur Übersichtlichkeit.
                                        Ich verwende Zwischenvariable nur, wenn ihre Werte mehrfach verwendet werden und sonst jedes mal neu berechnet oder gelesen werden müssten.

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

                                          @tobi19

                                          Danke und ist absolut einleuchten aber irgendwie bin ich zu doof für Blockly und Co. 🙂

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

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

                                            @tobi19

                                            Danke und ist absolut einleuchten aber irgendwie bin ich zu doof für Blockly und Co. 🙂

                                            Die Abfrage kannst du so erstellen: Auf das Zahnrad Klicken und den Block "sonst falls" von der linken Hälfte nach rechts ziehen. Was fehlt noch?
                                            ab9a3540-1aa9-4f71-b367-39d9881ee9a9-image.png

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

                                            847
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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