Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. PV Überschuss zum betreiben von 1 Heizstab

    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

    PV Überschuss zum betreiben von 1 Heizstab

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

      @spidermike sagte: exportieren und senden damit ich es bei mir importieren kann?

      Alle Datenpunkt-IDs müssen neu zugewiesen werden.

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="K(+i.N5t3ef42%y1}4V5">heizstab</variable>
       </variables>
       <block type="variables_set" id="3rENTMbHg0U{nrcjvQ4R" x="63" y="37">
         <field name="VAR" id="K(+i.N5t3ef42%y1}4V5">heizstab</field>
         <value name="VALUE">
           <block type="get_value" id="+cb;AxKTdmDshv8e48#7">
             <field name="ATTR">val</field>
             <field name="OID">0_userdata.0.Blockly.Heizung</field>
           </block>
         </value>
         <next>
           <block type="on_ext" id="!Rq{7D;G~`WFuKW9w5)#">
             <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="4X6rj1PTfMIVlak8d=zt">
                 <field name="oid">0_userdata.0.Blockly.Meter.Einspeisung</field>
               </shadow>
             </value>
             <value name="OID1">
               <shadow type="field_oid" id="p?mh5^;G*5$.NvpjOKBS">
                 <field name="oid">0_userdata.0.Blockly.Meter.Bezug</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="_SWf:0$dUJ`Rxdf}=a~:">
                 <mutation elseif="1"></mutation>
                 <value name="IF0">
                   <block type="logic_compare" id="?AQR+~+%U*m,GD[](vMc">
                     <field name="OP">GT</field>
                     <value name="A">
                       <block type="get_value" id="0RTdIsUhTnGbst?Oo$}X">
                         <field name="ATTR">val</field>
                         <field name="OID">0_userdata.0.Blockly.Meter.Einspeisung</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="B3SUmja#nhP07`Ib2e]3">
                         <field name="NUM">1500</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="variables_set" id="FtO0s8CLtttuz;Pj_-@g">
                     <field name="VAR" id="K(+i.N5t3ef42%y1}4V5">heizstab</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="~3Ej,Y:V]vc.xo13T4FP">
                         <field name="BOOL">TRUE</field>
                       </block>
                     </value>
                   </block>
                 </statement>
                 <value name="IF1">
                   <block type="logic_compare" id=")6cR9,M@yI3O0iv45Eby">
                     <field name="OP">GT</field>
                     <value name="A">
                       <block type="get_value" id="bUkmfYu-w:CY/zhEUIM:">
                         <field name="ATTR">val</field>
                         <field name="OID">0_userdata.0.Blockly.Meter.Bezug</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="math_number" id="_;{nLGpv;B)9lig#KW$`">
                         <field name="NUM">200</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO1">
                   <block type="variables_set" id="zRf*^A/gIAE8exnh*Nei">
                     <field name="VAR" id="K(+i.N5t3ef42%y1}4V5">heizstab</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="Iu@~[H?T!`gi[a~?czm[">
                         <field name="BOOL">FALSE</field>
                       </block>
                     </value>
                   </block>
                 </statement>
                 <next>
                   <block type="controls_if" id="txT}M{,sA+NkAb@Mr5l2">
                     <value name="IF0">
                       <block type="logic_compare" id="?PIVtSDfjo=%SJL+*Qm+">
                         <field name="OP">NEQ</field>
                         <value name="A">
                           <block type="variables_get" id="%]kYs]{FI$9t~=w2I4jG">
                             <field name="VAR" id="K(+i.N5t3ef42%y1}4V5">heizstab</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="get_value" id="))um5q|[Eb|6C.zPhuLX">
                             <field name="ATTR">val</field>
                             <field name="OID">0_userdata.0.Blockly.Heizung</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="control" id="v*1c9`[9]8(ck!twBdTW">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.Blockly.Heizung</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="variables_get" id="tNl8n6AD5]o,VeqDGhd,">
                             <field name="VAR" id="K(+i.N5t3ef42%y1}4V5">heizstab</field>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      

      S 2 Replies Last reply Reply Quote 0
      • S
        Spidermike @paul53 last edited by

        @paul53 said in PV Überschuss zum betreiben von 1 Heizstab:

        <xml xmlns="https://developers.google.com/blockly/xml">

        danke Dir und melde mich wenn es funktioniert

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

          @paul53

          Ich habe das jetzt am laufen aber er schaltet leider den Heizstab nicht ein.

          Das bekomme ich unten geschrieben

          16:39:14.712 info javascript.0 (1471) Stop script script.js.Heizung_Warmwasser_
          16:39:16.786 info javascript.0 (1471) Start javascript script.js.Heizung_Warmwasser_
          16:39:16.819 info javascript.0 (1471) script.js.Heizung_Warmwasser_: registered 2 subscriptions and 0 schedules

          Gruß Maik

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

            @spidermike sagte: schaltet leider den Heizstab nicht ein.

            Dann bau Debug-Blöcke ein, um zu sehen, woran es liegt.

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

              @paul53
              kann ich da ein sendto reinsetzen damit ich sagen wir über Whatsapp oder telegram eine Nachricht bekomme wenn der Heizstab angeschaltet oder ausgeschaltet wurde?
              Wenn ja an welcher Stelle müsste das passieren?

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

                @spidermike sagte: kann ich da ein sendto reinsetzen

                Das geht auch. Debug ist aber weniger aufwändig und man sieht im Protokoll, was wann passiert ist.

                @spidermike sagte in PV Überschuss zum betreiben von 1 Heizstab:

                an welcher Stelle müsste das passieren?

                Im Trigger unten:

                Bild_2022-07-15_191912825.png

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

                  @paul53

                  ich danke Dir vielmals und ich werde sehen wie es funktioniert,

                  jetzt ist leider die Sonne weg und ich kann es nicht mehr testen.

                  Aber der Heizstab hat zumindest erstmal abgeschaltet. Morgen habe ich Zeit es zu testen.

                  um nochmal zu "sendto Whatsapp" zurückzukommen.

                  Wo müsste ich das in den Script einfügen?

                  gruß Maik

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

                    @spidermike sagte: um nochmal zu "sendto Whatsapp" zurückzukommen.
                    Wo müsste ich das in den Script einfügen?

                    Zusätzlich zu oder anstelle von Debug.
                    Du wirst sehr viele Nachrichten erhalten!

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

                      @paul53
                      Guten Morgen,

                      ich habe jetzt mal geschaut

                      es wird die Einspeisung und den Bezug erkannt aber der Heizstab wird leider nicht eingeschaltet.

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

                        @spidermike sagte: Heizstab wird leider nicht eingeschaltet.

                        Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

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

                          @paul53

                          java.jpg

                          ist das das was du möchtest

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

                            @spidermike sagte: ist das das was du möchtest

                            Nicht ganz: Per Copy & Paste in Code tags, denn das ist besser lesbar.
                            Aber ich sehe, dass bei "steuere Heizung Warmwasser mit" die Zuweisung der Variablen heizstab fehlt.

                            Bild_2022-07-16_155405303.png

                            Außerdem ist die Hysterese < 1500 W. Es schaltet so im Grenzbereich ständig hin und her. Die Hysterese muss > 1500 W sein (mind. 1700 W).

                            S 3 Replies Last reply Reply Quote 0
                            • S
                              Spidermike @paul53 last edited by

                              @paul53

                              var heizstab;
                              
                              
                              heizstab = getState("hs100.0.192_168_178_38.state").val;
                              on({id: [].concat(['plenticore.0.devices.local.ToGrid_P']).concat(['plenticore.0.devices.local.HomeGrid_P']), change: "ne"}, async function (obj) {
                                  if (getState("plenticore.0.devices.local.ToGrid_P").val > 1200) {
                                  heizstab = true;
                                } else if (getState("plenticore.0.devices.local.HomeGrid_P").val > 200) {
                                  heizstab = false;
                                }
                                if (heizstab != getState("hs100.0.192_168_178_38.state").val) {
                                  setState("hs100.0.192_168_178_38.state"/*Heizung Warmwasser*/, heizstab);
                                }
                                console.log((['Einspeisung:',getState("plenticore.0.devices.local.ToGrid_P").val,'W,Bezug:',getState("plenticore.0.devices.local.HomeGrid_P").val,'W,Heizstab:',heizstab,''].join('')));
                              });
                              
                              
                              

                              ist das so besser?

                              Ich kenne mich damit wirklich nicht so richtig aus

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

                                @paul53 Heizung.jpg

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

                                  @paul53

                                  wo muss ich jetzt noch etwas ändern?

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

                                    @spidermike sagte: wo muss ich jetzt noch etwas ändern?

                                    Ersetze wahr durch die Variable heizstab im Block "steuere". Sonst schaltet der Heizstab nie aus.
                                    Erhöhe den Vergleichswert für Einspeisung auf 1500 oder den Vergleichswert für Bezug auf 500.
                                    Korrekter Javascript-Code:

                                    var heizstab;
                                     
                                     
                                    heizstab = getState("hs100.0.192_168_178_38.state").val;
                                    on({id: [].concat(['plenticore.0.devices.local.ToGrid_P']).concat(['plenticore.0.devices.local.HomeGrid_P']), change: "ne"}, async function (obj) {
                                        if (getState("plenticore.0.devices.local.ToGrid_P").val > 1500) {
                                        heizstab = true;
                                      } else if (getState("plenticore.0.devices.local.HomeGrid_P").val > 200) {
                                        heizstab = false;
                                      }
                                      if (heizstab != getState("hs100.0.192_168_178_38.state").val) {
                                        setState("hs100.0.192_168_178_38.state"/*Heizung Warmwasser*/, heizstab);
                                      }
                                      console.log((['Einspeisung:',getState("plenticore.0.devices.local.ToGrid_P").val,'W,Bezug:',getState("plenticore.0.devices.local.HomeGrid_P").val,'W,Heizstab:',heizstab,''].join('')));
                                    });
                                    

                                    EDIT: Damit das Protokoll nicht alle 2 s zugemüllt wird, verschiebe den Debug-Block in die Abfrage:

                                    Blockly_temp.JPG

                                    S 3 Replies Last reply Reply Quote 0
                                    • S
                                      Spidermike @paul53 last edited by

                                      @paul53
                                      danke Dir vielmals, jetzt am Nachmittag hat alles sehr gut funktioniert.

                                      Ich habe noch ein Projekt, könntest Du mir dabei helfen?

                                      Gruß Maik

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

                                        @paul53
                                        habe auch ein Problem mit meinen iobroker,

                                        der hat sehr lange Ladezeiten,
                                        manchmal muss ich ihn rebooten damit er schneller wird

                                        habe eine SSD installiert

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

                                          @spidermike sagte: Ich habe noch ein Projekt, könntest Du mir dabei helfen?

                                          Vielleicht, wenn ich weiß, worum es geht?
                                          Bitte neues Thema erstellen.

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

                                            @spidermike sagte: sehr lange Ladezeiten,

                                            Auf welcher Hardware läuft ioBroker?
                                            Erstelle bitte ein neues Thema.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            630
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            144
                                            12674
                                            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