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.
    • S
      Spidermike last edited by

      Hallo,

      Meine Situation:

      Habe eine 10kwp Anlage ohne Batteriespeicher

      Kostal Penticore Wechselrichter

      Kostal Smart Energy Meter

      Raspi 4 mit iobroker

      Ich kann über den Kostal Adapter im iobroker die Werte für Bezug, Eigenverbrauch und Einspeisung auslesen.

      Ich habe ich ein Warmwasserboiler mit einen 1500W

      Ich bräuchte ein Script was mir ab 1500W Stromeinspeisung den Heizstab per Wlan Steckdose (HS100) ein und ausschaltet.

      kann mir bitte jemand helfen denn ich kenne mich noch nicht damit aus ?

      Gruß Maik

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

        @spidermike sagte: Werte für Bezug, Eigenverbrauch und Einspeisung

        Bezug und Einspeisung sind jeweils positiv? Wenn ja, Vorschlag:

        Bild_2022-07-11_181642735.png

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

          @paul53 danke für deine Antwort:

          also ich kann im Iobroker Adapter Penticore

          die Werte für Hausverbrauch, Erzeugung + Einspeisung im sekundentakt abrufen und alle im positiven.

          könnte wenn es hilft ein screenshot von den Werten mal senden.

          Gruß Maik

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

            @spidermike sagte: alle im positiven.

            Dann sollte mein Vorschlag funktionieren.

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

              @paul53 !

              schaue mal bitte,

              wie schaltet das Script jetzt genau?

              kannst mir das genauer erklären?

              Unbenannt.png

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

                @spidermike
                Das kann ich nicht entziffern.

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

                wie schaltet das Script jetzt genau?

                Wenn die Einspeisung in das öffentliche Netz > 1500 W beträgt, schaltet es den Heizstab ein. In dem Moment sinkt die Einspeisung um 1500 W (Heizstableistung).
                Wenn nun der Bezug aus dem öffentlichen Netz über 200 W geht, schaltet der Heizstab wieder aus. Eine Schwankungsreserve von mind. 200 W benötigt man, damit der Heizstab nicht ständig hin- und herschaltet.

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

                  @paul53

                  kannst du mir dein Script mal exportieren und senden damit ich es bei mir importieren kann?

                  paul53 1 Reply Last reply Reply Quote 0
                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            863
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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