NEWS
Überschuss soll 5min da sein damit das Skript läuft
-
Mein Heizstab soll bei einem Überschuss von 2400Watt einschalten, wenn die Wassertemperatur unter 64Grad ist. Soweit ist auch alles gut und er macht was er soll. Allerdings hätte ich jetzt noch gerne das der Überschuss 5 Minuten lang gegeben sein soll, damit das Skript läuft, damit der Shelly nicht ständig geschalten wird.
Könnte mir da jemand helfen?code_text <xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="Wg=:3.0Y=a-@I-y*q9gO" x="-63" y="-362"> <field name="COMMENT">L1 + L2 Ein</field> <next> <block type="on_ext" id="?WQS{:)lA(vN1XBJ~WsE"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="v143=tLYm#L_GY8Of+~p"> <field name="oid">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="%vkE+a}4n_7o=]|U-$bz"> <value name="IF0"> <block type="logic_compare" id="Pg0)!w3}Wc)_`5Cf!bQ9"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Y0n|x~-{{.|A2Mz?U*P+"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9eb4d78#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="NDS4kSz|dSZ,{`~I0!$h"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="g(7KXK?vbtsDWXAFs*Xh"> <value name="IF0"> <block type="logic_operation" id="NUB^j1._s^G$,VSJ8.Bj"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="BJfFY8Xo5tt$Z^9SL(9%"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="!lzG4JN~nqZJgJ__RrJq"> <field name="ATTR">val</field> <field name="OID">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </block> </value> <value name="B"> <block type="math_number" id="p_=dr,;wf;ugnC0UTqN9"> <field name="NUM">-2400</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="a}S@-|i[somU}Wq:{G%h"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="F8kG){p:`]N$7n_Jx7eU"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9e86278#1.Ext.temperature100C</field> </block> </value> <value name="B"> <block type="math_number" id="pTXNGM+[-MVPemMs[T~n"> <field name="NUM">64</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="*!{KB(OE~y~!8a-J;FZ{"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="m~$e,[A^NUkaiO%WG{r]"> <field name="oid">shelly.0.shelly1pmg3#3030f9e830e0#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="R:^x@XIRFRz@OHE|4XXQ"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="#%J2QgI1,Res|o;h{jq}"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="Ta9=0B`0O8|P18a7C~u7"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="j:cf5Gy5+$_wcJ]HuQ|u"> <field name="oid">shelly.0.shelly1pmg3#3030f9eb4d78#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="JYUX[]NqhvPY.Z~(6bUZ"> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="{0bJ}R9Ju=)M9W[-_xg?"> <field name="NUM">0</field> </shadow> </value> <value name="EXPIRE"> <shadow type="math_number" id="Eu*d({Q9??=05|s0V7KI"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> <block type="comment" id="..l{$AtiG2i(_S,q)zeH" x="1813" y="-287"> <field name="COMMENT">L3 Ein</field> <next> <block type="on_ext" id="9uPR+q!G=MP{z!__)G^x"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Q!n865qs9).CNZpyrw7r"> <field name="oid">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="+C`Z|-@d[]rB0[byBaTF"> <value name="IF0"> <block type="logic_operation" id=".Op?_:6T/]o)Yy:-W-Wu"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="AB?My_)e![x8.@@d0PnA"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2NBZ.8V4-mdAy[eQV2k?"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9e86278#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="*B5~=(8aps=j0U*36a+0"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="_.[[M:Ag:p+Lq{b`0,5H"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?t-%2(IU38E!u1/VhbwC"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9eb4d78#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="ePkU3?Y9[H`ms0!4g__X"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="rcB1/i+v~P`LlY8?:{f."> <value name="IF0"> <block type="logic_operation" id="kTGu:YS5wRfgqs=.VY0e"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="Qgc!5_rFe25P:V36})yb"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="gzR;R;E%hTxKmOI,Mx|f"> <field name="ATTR">val</field> <field name="OID">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </block> </value> <value name="B"> <block type="math_number" id="]5I6shbwy7PvS#vFe0k^"> <field name="NUM">-2200</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="bU*u:fMRWG}5:AOoE@p!"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="L}x%4tU|IT*19KO40d!3"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9e86278#1.Ext.temperature100C</field> </block> </value> <value name="B"> <block type="math_number" id="[Bt%[l$US4@*,rD_4KZb"> <field name="NUM">64</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="TG:3iAOn;k0BX;gNnSv!"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="}]:V/L;NefWCuAk#fMDh"> <field name="oid">shelly.0.shelly1pmg3#3030f9e86278#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id=".~n-w)DJOBY_~aPO@^M["> <field name="BOOL">TRUE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="USN.Dj.Z/!(rSc$NMg./"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> <block type="comment" id="xi/21OHPg9`]h)PQF8ZV" x="-12" y="338"> <field name="COMMENT">L1+L2 Aus</field> <next> <block type="on_ext" id=",?#]7jy?He4*)7J*ig9L"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id=".*xW9k,eI#0c{zSV5fi_"> <field name="oid">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="{}`pKi`:w9f(?p167ln:"> <value name="IF0"> <block type="logic_operation" id="tJb.Z_XO}SsHax*FqRf?"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="dv7aMo,0Nsh`Y/$ngdHG"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id=",BL}tua#_Xd2EcYB$dKq"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9e86278#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Ucj68(t}p2e4Z%~3|B~J"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="O`e/,{0ekFErEmd082[v"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2`@^r}B(k3qwvm6}]=@n"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9eb4d78#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="owtm]XgC!qh!0.RI.-[h"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="K$m.|NnkT{BnZ6gPT#fN"> <value name="IF0"> <block type="logic_compare" id="N]h5-jA^$3nBAtz`MxFw"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="myWni%QclSHwD}|)YWSn"> <field name="ATTR">val</field> <field name="OID">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </block> </value> <value name="B"> <block type="math_number" id="b;zr#ii;GERA?z@xW1:~"> <field name="NUM">-100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="Nk.Cn-jr|`-4`RfaHiTZ"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="6Y=RpttP!A*!2:kp3yQi"> <field name="oid">shelly.0.shelly1pmg3#3030f9e830e0#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="U))stT.zShB1Jg]l}@G="> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="7.O)e|=TB/%T9|+G0[w,"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="@dx{t+5^EMm0t(bf!2)z"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="H3rF$b)Bq|^oOSb/}{*q"> <field name="oid">shelly.0.shelly1pmg3#3030f9eb4d78#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="[-c]W5^M{TwTMS$1uA!G"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="FWhhDNIDwm.TdQ@haJ4r"> <field name="NUM">0</field> </shadow> </value> <value name="EXPIRE"> <shadow type="math_number" id="99(N;IpQq,8s;m}Dg(=W"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> <block type="comment" id="3D/ZP]X^vL)Yhz!lt#R`" x="1813" y="288"> <field name="COMMENT">L3 Aus</field> <next> <block type="on_ext" id="_=-PhJ`6^p}lWKV/0w2["> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id=".e}wiVh#3:U/bSu.A`uD"> <field name="oid">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="CW?)0qbl@u}{([Od:Y]k"> <value name="IF0"> <block type="logic_compare" id="p.6-S6y$*}W4ZsVE]I,r"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="C?A?,RbRP1`RW(VSF$?#"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9e86278#1.Relay0.Switch</field> </block> </value> <value name="B"> <block type="logic_boolean" id="w6](I+%p0W%}Kzg_XQ?b"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="rz7F!?`LbtnSHI-]E`@1"> <value name="IF0"> <block type="logic_compare" id="i#Exeg3*/@me)P6T{^4W"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="0AnxPC,Y*nRGQNJFRJsG"> <field name="ATTR">val</field> <field name="OID">shelly.0.shellypro3em63#9454c5b8dd40#1.EM0.TotalActivePower</field> </block> </value> <value name="B"> <block type="math_number" id="mn,ba9|=VY/hBdWZb!1x"> <field name="NUM">-150</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="pLo]|i8~gxV?Pj2M[Bt:"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="+3C=0kS4?Lec)BEO2sOk"> <field name="oid">shelly.0.shelly1pmg3#3030f9e86278#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="Iu7,0iWs82$YPtUXs=CU"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="^mOP]M@J6f;ogu;F0Wuf"> <field name="NUM">0</field> </shadow> </value> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> <block type="comment" id="b9Yq*!5q7d=iAGC~tMFI" x="-13" y="1037"> <field name="COMMENT">Obertemperatur </field> <next> <block type="on_ext" id="5tLsX.c9FT=}A+_@~5-."> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="I8u@e,E{W13-q5hd+N+2"> <field name="oid">shelly.0.shelly1pmg3#3030f9e86278#1.Ext.temperature100C</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="|%75:uc,Th+Ao4Su8]X_"> <value name="IF0"> <block type="logic_compare" id="!NwXfFYBNoq)CL-3T$x@"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="*uOo9=fJxVDAX1lXMf5F"> <field name="ATTR">val</field> <field name="OID">shelly.0.shelly1pmg3#3030f9e86278#1.Ext.temperature100C</field> </block> </value> <value name="B"> <block type="math_number" id="7d(Zcv5:34J@OxN,zO}|"> <field name="NUM">65</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="W#Vew32LO!%q4l+@1v=."> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="I#*d(E:#Q{[*=wznKY[^"> <field name="oid">shelly.0.shelly1pmg3#3030f9e830e0#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="5IzDaH=OVpb^N;MMp4`{"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="25V4TKZ;75ZDR?,d=f6X"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id=",bX*;7;V{xNT7?zb~RA1"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="dv[$Rf3Bp6Xo-7nldF4~"> <field name="oid">shelly.0.shelly1pmg3#3030f9e86278#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="LMFy2ngG_f%p7-iohh`K"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="2.{8PD5)f,ysUH3ySRP`"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id=":Sw?vvZ;Xl7xd]2$z2oL"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="}tk:(^UU]$P`)CcD;YFS"> <field name="oid">shelly.0.shelly1pmg3#3030f9eb4d78#1.Relay0.Switch</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="YWjlAjmCy98Hpe[S{miI"> <field name="BOOL">FALSE</field> </shadow> </value> <value name="DELAY_MS"> <shadow type="math_number" id="pkv:?,EWYd@(r]aMGbmw"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
@dominik-2
Die Mikro-Screenshots sind an einem Mobilgerät nicht zu lesen. Es muss auch nicht das komplette Menü zu sehen sein. Das reine Blockly sollte reichen.
Das "Mammut" darunter bitte zur Lesbarkeit in Code-Tags (</>) packen. Ich habe dazu am Handy nicht den Nerv zu. -
@dominik-2 sagte: Überschuss 5 Minuten lang gegeben sein soll, damit das Skript läuft, damit der Shelly nicht ständig geschalten wird.
Prinzip:
-
@paul53
Ich wollte gerade das selbe Fragen wie @Dominik-2 und hab diesen und einen älteren Post von dir gesehen mit ähnlicher Antwort.
Darf ich dich jedoch kurz Bitten, dass du dir mein Blockly anschaust und eventuell feedback gibts. Diese ganzen "doppelten Verneinungen" bringen mein Hirn durcheinander.
@Dominik-2 Sorry, dass ich hier in deinen Thread poste, aber die Antwort könnte für dich auch relevant sein.
EDIT:
bei über 55% und über 1800W Einspeisung (Überschuss) soll eingeschalten werden.
Bei unter 45% oder unter 300W soll ausgeschalten werden. jeweils mit der 5min Verzögerung.
Vor allem dieses UND und ODER bei den ein/ausschalt Bedingungen möchte ich gerne bestätigt haben. -
@rtwl sagte: UND und ODER bei den ein/ausschalt Bedingungen möchte ich gerne bestätigt haben.
Sollte passen. Man kann mit "nicht" operieren oder einfach den Vergleich umdrehen.
-
Ich hänge mich mal hier dran mit erweiterter Fragestellung:
Mein Gerät soll nicht nur nach X Minuten Überschuss erst angehen, sondern dann auch mindestens Y Minuten laufen, bevor es wieder abgestellt wird.Ich möchte nicht, dass es nach X Minuten Sonnen schein sofort ausgeht, wenn dann zufällig nach 10 Sekunden eine Wolke vorbeizieht. Sondern es soll eben mindestens eine bestimmte Zeit laufen - nach dieser dann aber bei fehlendem Überschuss sofort ausgehen.
-
@bertderkleine Ich würde eher ein Solid State Relais nehmen, und auch kurzfristig an und ausschalten. Im Gegensatz zu Relais mit mechanischen Kontakten haben die unbegrenzt Schaltzyklen.
-
@bertderkleine sagte: mindestens eine bestimmte Zeit laufen
Das gezeigte Prinzip hat eine Ausschaltverzögerung.
-
@dominik-2
Soll der Heizstab in 3 Stufen (Phasen) geschaltet werden?
Das kann man so realisieren: -
@paul53 sagte in Überschuss soll 5min da sein damit das Skript läuft:
@dominik-2 sagte: Überschuss 5 Minuten lang gegeben sein soll, damit das Skript läuft, damit der Shelly nicht ständig geschalten wird.
Prinzip:
Fragen dazu:
-
Wenn mein Überschuss-DP tatsächlich immer positive Werte ausgibt, d.h. bei 500 W zuviel steht im DP auch "500", brauche ich das Umdrehen des Vorzeichens im Skript für irgendwas? Ich verstehe nicht so ganz warum Du die Variable Ueberschuss auf minus Wert setzt.
-
Ich verstehe auch noch nicht so ganz, was im zweiten Teil (den ich als 2minütige Ausschaltverzögerung deute), die Bedingung "Ueberschuss >= 200" bewirken soll. Er geht NUR aus nach 2 Minuten, wenn eine Unterdeckung von mind. 200 W gegeben ist?
-
-
@martinp sagte in Überschuss soll 5min da sein damit das Skript läuft:
@bertderkleine Ich würde eher ein Solid State Relais nehmen, und auch kurzfristig an und ausschalten. Im Gegensatz zu Relais mit mechanischen Kontakten haben die unbegrenzt Schaltzyklen.
Das klingt interessant. Kannst Du ein per WLAN oder LAN oder Zigbee steuerbares Produkt nennen, was man hier nutzen könnte, so dass ich mir das mal anschauen kann?
-
@bertderkleine Wären wahrscheinlich eher zwei Komponenten ...
z. B:
Shelly Uni https://www.shelly.com/de/products/shelly-uni
und
https://www.amazon.de/diymore-V-380-SSR-40DA-DC-AC-Relais-Modul/dp/B08FWWRK2Y
Kann aber nichts über die Qualität des SSR sagen, und womöglich braucht man auch noch einen Kühlkörper
-
@bertderkleine sagte: warum Du die Variable Ueberschuss auf minus Wert setzt.
Die meist eingesetzten Shelly liefern bei Netzbezug eine positive und bei Einspeisung eine negative Leistung. Deshalb wird zum besseren Verständnis der Wert negiert. @Dominik-2 operiert mit negativen Werten
Die Variableueberschuss
muss bei Netzbezug negativ werden, weil andernfalls nicht mehr getriggert wird, wenn der Wert auf 0 begrenzt ist und 0 bleibt. Das trifft insbesondere auf das mehrstufige Runterschalten zu.@bertderkleine sagte in Überschuss soll 5min da sein damit das Skript läuft:
Er geht NUR aus nach 2 Minuten, wenn eine Unterdeckung von mind. 200 W gegeben ist?
Ja, wenn der Überschuss 2 Minuten lang unter 200 W bleibt (große Wolke) oder die Temperatur 65 °C erreicht hat, wird ausgeschaltet.
-
@paul53 Danke!
Ich habe es jetzt so gemacht:
Das Umdrehen auf Negativ habe ich bei mir entfernt, weil ich einen Datenpunkt für Stromüberschuss habe, der bei Netzbezug negativ wird und bei Überschuss eben positiv.Ich habe tatsächlich zwei Geräte, wovon ich einen als wichtiger als den anderen ansehe.
Jetzt ist meine nächste Fragestellung, wie ich mit Priorität das Gerät "A" einschalten kann und danach (wenn also A schon Strom zieht) B letztlich dieselbe Logik verwendet, d.h. es auch nach Verzögerung anspringt.
Im zweifel soll halt immer A zuerst aktiv werden und nur falls dann noch Strom übrig ist, auch B.Gab's so eine Fragestellung auch schon mal?
-
@bertderkleine sagte: Ich habe es jetzt so gemacht:
Die Hysterese beträgt nur 200 W (400 - 200), also ist die Leistungsaufnahme des Trockners kleiner als 200 W?
@bertderkleine sagte in Überschuss soll 5min da sein damit das Skript läuft:
mit Priorität das Gerät "A" einschalten kann und danach (wenn also A schon Strom zieht) B
Ändere dieses Beispiel von 3 auf 2 Stufen (Switch1 = Gerät A; Switch2 = Gerät B). Haben beide Geräte die gleiche Leistungsaufnahme?
-
@bertderkleine sagte in Überschuss soll 5min da sein damit das Skript läuft:
Kannst Du ein per WLAN oder LAN oder Zigbee steuerbares Produkt nennen,
Bei mir steuern Shellys mit Leistungsmessung mehrere 230V Lader bei Überschuss, die nach dem Funktionsprinzip von @paul53 geschaltet werden. Die arbeiten zuverlässig, sind bei defekt nicht soooo teuer und ich erfasse gleichzeitig darüber noch die aufgenommene Energie.
-
@samson71 Interessant wäre ggfs eine "Wolken-Kamera", die die Wolken beobachtet, die sich am Firmament der Sonne nähern, und das Haus drohen abzuschatten:
- Wie groß sind die (wie lange dauert die Abschattung)?
- Ist die Wolkenlücke danach lang genug, um den Heizstab einzuschalten ...?
-
@martinp sagte: "Wolken-Kamera", die die Wolken beobachtet
... und eine KI berücksichtigt die Zugrichtung und -geschwindigkeit?
-
@paul53 Nunja, wenn ich sehe, was mein Frigate mit Google Coral so anstellt
Bin aber froh den Frigate-Kram unfallfrei in einem Docker-Container installiert bekommen zu haben ... Die KI-Einheit als "Wolkengucker" zu missbrauchen überfordert meine Kenntnisse ...
Ist auch die Frage, ob sich der Zeitaufwand für so etwas irgendwann auch nur annähernd in barer Münze zurückzahlt ....
EDIT: https://dk1teo.com/2024/03/22/skycam-mit-esp32/ (Das Bild ist aber in keinster Weise zufriedenstellend
)
-
@paul53 sagte in Überschuss soll 5min da sein damit das Skript läuft:
@bertderkleine sagte: Ich habe es jetzt so gemacht:
Die Hysterese beträgt nur 200 W (400 - 200), also ist die Leistungsaufnahme des Trockners kleiner als 200 W?
Nein, beide Geräte ziehen ziemlich genau 300W. Ich habe die Werte im Skript jetzt auf 400 und 100 angepasst.
@bertderkleine sagte in Überschuss soll 5min da sein damit das Skript läuft:
mit Priorität das Gerät "A" einschalten kann und danach (wenn also A schon Strom zieht) B
Ändere dieses Beispiel von 3 auf 2 Stufen (Switch1 = Gerät A; Switch2 = Gerät B). Haben beide Geräte die gleiche Leistungsaufnahme?
Sehr hilfreich!
Danke!
Ich hatte zuerst nur in der Skriptsammlung gesucht und nichts gefunden. Ich denke, es könnte auch anderen helfen, wenn Du Deine Musterskripte dort auch ablegen würdest.