Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. ShellyPlug bei negativem Bezug einschalten

    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

    ShellyPlug bei negativem Bezug einschalten

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

      @paul53
      Vielen Dank.
      Was passiert denn bei dem "falls Wert vom ID Swictch"?
      das danach " steuer Switch mit wahr/falsch" ist mir klar...

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

        @schnotzler sagte: Was passiert denn bei dem "falls Wert vom ID Swictch"?

        Es wird geprüft, ob eingeschaltet ist: Nur dann soll ausgeschaltet werden, um unnötigen Funkverkehr zu vermeiden ... und umgekehrt.

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

          @paul53 Danke.
          Screenshot 2023-12-17 113937.png
          Ich hab das für interresierte nochmals angehängt...

          <block xmlns="https://developers.google.com/blockly/xml" type="variables_set" id="Y},@#|Ad:x8SY%XWZf[6" x="83" y="123">
           <field name="VAR" id="?:?Sz22Dj|@!x[AFBH6B">aktuellerUeberschuss</field>
           <value name="VALUE">
             <block type="math_arithmetic" id="Fw:/1FEL{BJ.CWEQm;1V">
               <field name="OP">MINUS</field>
               <value name="A">
                 <shadow type="math_number" id="8S$7wzFC#e~@rYFv=N{c">
                   <field name="NUM">1</field>
                 </shadow>
                 <block type="math_number" id=";N%0I$p3B{F.*)8haueh">
                   <field name="NUM">0</field>
                 </block>
               </value>
               <value name="B">
                 <shadow type="math_number" id="rWTYxtHnTxa)MdABDm`6">
                   <field name="NUM">1</field>
                 </shadow>
                 <block type="on_source" id="T,y.{uyMW+2z9EgABQ~X">
                   <field name="ATTR">state.val</field>
                 </block>
               </value>
             </block>
           </value>
           <next>
             <block type="controls_if" id="+9A?v@x*j.fQA=~FY.@Q">
               <mutation elseif="1"></mutation>
               <value name="IF0">
                 <block type="logic_compare" id="gaHzP,xC|fWW[u}*dNB_">
                   <field name="OP">LTE</field>
                   <value name="A">
                     <block type="variables_get" id="hVw*@2imj6:=5=3vlr:Q">
                       <field name="VAR" id="?:?Sz22Dj|@!x[AFBH6B">aktuellerUeberschuss</field>
                     </block>
                   </value>
                   <value name="B">
                     <block type="variables_get" id="7RLO.T{z8?rd][B:})+j">
                       <field name="VAR" id="o?fO}X2?p~G8jlAVBYQ%">sollUeberschuss</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="timeouts_cleartimeout" id="7eT_*?XnHBdD-Il;1o`A">
                   <field name="NAME">delayAn</field>
                 </block>
               </statement>
               <value name="IF1">
                 <block type="logic_negate" id="coWHmqsBW8lC.RCQNOXu">
                   <value name="BOOL">
                     <block type="timeouts_gettimeout" id="sZ$=Qm9=oVH@*B2Lul-.">
                       <field name="NAME">delayAn</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO1">
                 <block type="timeouts_settimeout" id=",bYX[6n$NKUyqD=lBHy%">
                   <field name="NAME">delayAn</field>
                   <field name="DELAY">5</field>
                   <field name="UNIT">min</field>
                   <statement name="STATEMENT">
                     <block type="controls_if" id=",H[Ar6X%N;6bZ+hitTIm">
                       <value name="IF0">
                         <block type="logic_negate" id="soQMyLk.qp*:.of=I#PD">
                           <value name="BOOL">
                             <block type="get_value" id="Q=]RcGp%-.jNhp)|KOto">
                               <field name="ATTR">val</field>
                               <field name="OID">ID auswählen</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="control" id="XJ7DZKXs#Y;/wAw@,FIt">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">Object ID</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="logic_boolean" id="5*xBho2#Pc8QRRGK:8iJ">
                               <field name="BOOL">TRUE</field>
                             </block>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
               </statement>
               <next>
                 <block type="controls_if" id="yF4@a-u8/yeH[g7*Gl/a">
                   <mutation elseif="1"></mutation>
                   <value name="IF0">
                     <block type="logic_compare" id="9cKv+bm])pm[)@VX^@dx">
                       <field name="OP">GTE</field>
                       <value name="A">
                         <block type="variables_get" id="Qu/:!OyJLJ|5ukV5^d=Z">
                           <field name="VAR" id="?:?Sz22Dj|@!x[AFBH6B">aktuellerUeberschuss</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="/TeP:d|}J9_Goi?t=+GR">
                           <field name="NUM">0</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="timeouts_cleartimeout" id="ZO/Jm:Yw*6rWm2p3X9cU">
                       <field name="NAME">delayAus</field>
                     </block>
                   </statement>
                   <value name="IF1">
                     <block type="logic_negate" id="?T{eF?hz%6h2L?b[Z2)a">
                       <value name="BOOL">
                         <block type="timeouts_gettimeout" id="G^L6v.v|_D!t-`fIOucs">
                           <field name="NAME">delayAus</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO1">
                     <block type="timeouts_settimeout" id="tlQ(|Q#[C8an!3vleXB0">
                       <field name="NAME">delayAus</field>
                       <field name="DELAY">5</field>
                       <field name="UNIT">min</field>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="S[[N(:oCt.wG[t#mXgyo">
                           <value name="IF0">
                             <block type="get_value" id="6Nv_;%+D9ue`vjfG5s(q">
                               <field name="ATTR">val</field>
                               <field name="OID">ID auswählen</field>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control" id="!Qn94W(*8Ab$3l!KLU}*">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">Object ID</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="]N}bP6#DIXbIeQc0q3e+">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
               </next>
             </block>
           </next>
          </block>
          

          da_Woody 1 Reply Last reply Reply Quote 0
          • da_Woody
            da_Woody @Schnotzler last edited by

            @schnotzler schön das es klappt! nachdem ich auch eine flasche mit js und blockly bin, schon mal mit rules getestet?
            f85b801b-7df7-4d9d-9a75-7390fd3e6348-grafik.png

            1 Reply Last reply Reply Quote 0
            • M
              Meckii last edited by

              @paul53
              Ich habe mir dein Skript heute auch mal kopiert - es funktioniert auch super.
              Leider verstehe ich es nicht...

              Was macht denn das "sonst falls nicht Verzögerung delayAn"?

              Kannst du das irgendwie erklären wann da was durchlaufen wird? Und vor allem warum?

              Vielen lieben Dank

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

                @meckii sagte: Was macht denn das "sonst falls nicht Verzögerung delayAn"?

                Es ist eine Sperre, die einen mehrfachen Start des Timeouts verhindert. Ein mehrfach gestarteter Timeout lässt sich nicht mehr stoppen.

                1 Reply Last reply Reply Quote 0
                • B
                  berndsolar13 last edited by

                  das selbe Script, ich glaube es war damals auch paul53 😉 läuft bei mir perfekt seit gut einem Monat.

                  Heute wo gut die Sonne schien, hat es meine 2 Infraot Birnen eingeschaltet, und mir die Füße gewärmt 😉 Hängen unterm Büro Tisch 🙂

                  Ich hab die Hysterese aber mittlerweile auf 2 Min geändert, klappt trotzdem noch super.
                  Hab das Script mit 2x an.

                  Das war die günstigste Variante um den PV Überschuss in Wärme umzuwandeln fürs Balkonkraftwerkt. Infrarot Birne 5 Euro + 1 Tasmota Steckdose braucht man. Kann man beliebig erweitern. Aber im Winter kommt es selten vor, das ich mehr wie 250 W Überschuss habe. Aber die eine war recht oft an. Hab dafür meine Poolpumpen Tasmota Steckdose genommen, da die ja im Winter nicht genutzt wurde.

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    Gonzokalle @berndsolar13 last edited by

                    Zum Verständnis:
                    In dem Blockly wird nur der Strom von der PV/BKW berücksichtigt und von 100W Grundlast ausgegangen?
                    Der tatsächliche Bezug vom Versorger wird nicht berücksichtigt?

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      Meckii @Gonzokalle last edited by Meckii

                      @gonzokalle Ich habe es so gemacht
                      https://www.heise.de/tests/Ausprobiert-Guenstiger-IR-Lesekopf-fuer-Smart-Meter-mit-Tastmota-Firmware-7065559.html
                      Wird hier der Bezug negativ habe ich echten Überschuss der aktuell verschenkt wird.
                      Damit schalte ich dann eine zigbee Dose ein und verbrauche den Strom selbst z.B. um meinen Akku-Handstaubsauger nachzuladen.

                      Edit:
                      https://tasmota-sml-parser.dicp.net Hier kannst du dann noch für deinen Stromzähler die passende Definition für Tasmota zusammen basteln.

                      Edit2:
                      Die 100W (sollüberschuss) müssen sinnvoll eingestellt werden.

                      Wenn du nun einen Verbraucher mit 120W dran hängst wird folgendes passieren:

                      • Du hast 100W überschuss
                      • Steckdose schaltet ein
                      • Verbraucher mit 120W springt an
                      • Du hast einen Bezug von 20W
                      • Steckdose wird abgeschaltet
                      • Du hast einen Überschuss von 100W
                      • usw...
                        (Daher sollte dein soll Überschuss leicht höher als der tatsächliche Verbraucher eingestellt sein...)

                      Ich bin leider kein Blockly Profi. Aber aktuell überlege ich mir wie ich z.B. mit dem Messwert der zigbeesteckdose das Ein/Aus Pingpong verhindern kann.
                      Erste idee die ich versuchen möchte den Soll überschuss automatisch auf Messwert + 10W (als Reserve) zu setzen...

                      G 1 Reply Last reply Reply Quote 0
                      • G
                        Gonzokalle @Meckii last edited by

                        @meckii
                        Aus deiner Antwort schließe ich zwei mal ein "ja" auf meine Fragen.
                        Einen Shelly 3em habe ich schon im Schaltschrank. 😉

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          Meckii @Gonzokalle last edited by Meckii

                          @gonzokalle Nur um Missverständnisse vorzubeugen:

                          In dem Blockly wird nur der Strom von der PV/BKW berücksichtigt?
                          Nein - Bei mit wird der Stromzähler mit diesem Skript abgefragt.

                          und von 100W Grundlast ausgegangen?
                          Jein - Es wird von einer Last < 100W an der Schaltsteckdose ausgegangen

                          Der tatsächliche Bezug vom Versorger wird nicht berücksichtigt?
                          Doch siehe oben - es wird mittels so eines Tasmotadings der Stromzähler abgefragt.

                          1 Reply Last reply Reply Quote 0
                          • G
                            Gonzokalle last edited by

                            @meckii
                            Dankeschön, jetzt ist es klar.
                            War für nicht ersichtlich, ob zwischen PV und Netz gemessen wurde oder am Zähler.

                            1 Reply Last reply Reply Quote 0
                            • S
                              Speedy012 last edited by

                              Hallo, ich stehe etwas auf dem Schlauch, ich habe eine Powerstation die mit 200 Watt läd.
                              Die Steckdose wird über ein Shelly Plug S gesteuert.

                              In der Verteilung habe ich ein Shelly 3EM was mir den Verbrauch anzeigt.

                              Ich möchte wenn dieser -250 Watt anzeigt die Shelly Plug S Steckdose einschalten zum laden, und wenn weniger über ist soll wieder abgeschaltet werden.

                              Mit dem Delay hört sich gut an wegen der Wolken.

                              Jetzt verstehe ich nicht genau wie ich die Werte ändern soll und wo genau ich welche Objekt ID zuweisen muss.

                              Könnte mir jemand helfen?

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

                                @speedy012 sagte: wie ich die Werte ändern soll

                                Ersetze hier den Vergleichswert 600 durch 250.

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

                                  @paul53
                                  habe es jetzt so gemacht:

                                  solar.png

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

                                    @speedy012 sagte: habe es jetzt so gemacht:

                                    Falsche Variablen als Sperre und beim Stoppen!
                                    Oben: delayAn
                                    Unten: delayAus:

                                    Blockly_temp.JPG

                                    Weshalb ist das Bild nur so groß wie eine Briefmarke?

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

                                      @paul53

                                      geändert.

                                      Und hoffe das daß Bild jetzt größer ist. 🙂

                                      Screenshot_2.png

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

                                        @speedy012 sagte: geändert.

                                        So sollte es funktionieren.

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

                                          @paul53 ich danke schon mal!

                                          Hoffentlich scheint morgen die Sonne....

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            Meckii @Speedy012 last edited by

                                            @speedy012 Auf die Sonne warte ich schon seit tagen vergeblich... 🌥

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            638
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            26
                                            1970
                                            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