NEWS
(gelöst) Waschmaschinen-Script
-
Hallo, kann man die Leistung, die die Blitzwolf misst, irgendwie über einen gewissen Zeitraum grafisch darstellen?
Hintergrund meiner Frage: Habe ein Waschmaschinenblockly, das irgendwie nicht so funktioniert wie ich das will Meldet mir am Ende in Dauerschleife, dass die Waschmaschine fertig ist. Ggf. hat das was mit dem Schwellenwert zu tun, der noch nicht stimmt? Oder hab ich sonst n Bug drin?
HIer der Export:<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="!df3q1hN*qnK_W)[d{{H">Waschmaschine an</variable> <variable type="undefined" id="fertigVerzoegerung">fertigVerzoegerung</variable> </variables> <block type="variables_set" id="ycG5HcVQN~xiJnuLxzP1" x="-1312" y="-312"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="I3Ht7LVg5R^=m?)Rly=x"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id=")rMR#JJ[F?c;ia5Boocb"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="fYF-yFnB|BImI^5{!C:]"> <field name="oid">sonoff.0.DVES_232BA0.ENERGY_Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="wI^iVI:pvsH{,+PoJ+hG"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="g@7ZDRh}Nur]oI5Egkc|"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="oe@9Q5W:ggN]rM5,v#zg"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="{kP_!eD9rNh9`r`s]Q3A"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="oMF]TV~olH+5hwpM?aB3"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="y};:JiCEKftvLzpi9udj"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="~FMTTT]~A~./S#CUIx`%"> <field name="NAME">fertigVerzoegerung</field> <next> <block type="telegram" id="wgC$r/tE($5.T;s_pOdT"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="*iX7R,1rM2F{HGn~8y+K"> <field name="TEXT">text</field> </shadow> <block type="text" id="FD~E6345ZO/m1i?!H+l;"> <field name="TEXT">Waschmaschine läuft</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id=",|1S-}C0Y!a~!QhkbLtB" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="Uvu#c}mt27h!c^nepsP_"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="l8@.?0=kc[2B43Mw1bmy"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="hbEd/lw-DDi35V]Ai!Pz"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="8|BVPh;IHw;Hyn$B6h?h"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="azgbGpM5m)%,a,J7X5xt"> <field name="NAME">fertigVerzoegerung</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="?+*.%~j=n=Er.=yuk|@Q"> <value name="IF0"> <block type="logic_compare" id="l/K/WT_=7yfc}!02@d,v"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="4w8Ey^YLHrU#N/;~HL6%"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="DPNl(#U[Pb*K]xA2b`u_"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="p4PHyE!5@~x3HJ]Q{Ur?"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="ByCs,;By^*N#{A)beq-3"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="telegram" id="0.J#bYFZAX7T88.xe`Km"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="*iX7R,1rM2F{HGn~8y+K"> <field name="TEXT">text</field> </shadow> <block type="text" id="Lfd?v:K2wJhL4,UiG.gP"> <field name="TEXT">Waschmaschine fertig</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </xml>
Danke Euch
-
@chrbo80 bei unten bei waschmaschine_an fehlt gleich wahr
-
-
@chrbo80
Ja ist noch ein "Bug" setzte vor dem Timeout und nach der Abfrage "Waschmaschine an" "Waschmaschine an" auf unwahr. Wenn du das im Timeout hast werden (10 / Leistungsänderung pro Minute) Meldungen an dich geschickt.EDIT und im ersten Teil hast du auch eine unendliche Flut an Meldungen.
Nicht perfekt, aber besser:
Mit der Version sollte es 6-9 Waschmaschine läuft Meldungen geben... und 1 Waschmaschine fertig.
-
@ticaki said in Blitzwolf SHP6 Leistungskurve / Waschmaschinen-Script:
@chrbo80
Ja ist noch ein "Bug" setzte vor dem Timeout und nach der Abfrage "Waschmaschine an" "Waschmaschine an" auf unwahr. Wenn du das im Timeout hast werden (10 / Leistungsänderung pro Minute) Meldungen an dich geschickt.EDIT und im ersten Teil hast du auch eine unendliche Flut an Meldungen.
Nicht perfekt, aber besser:
Mit der Version sollte es 6-9 Waschmaschine läuft Meldungen geben... und 1 Waschmaschine fertig.
Super - Vielen Dank! Wird gleich ausprobiert! Schönen Abend
-
@ticaki said in Blitzwolf SHP6 Leistungskurve / Waschmaschinen-Script:
@chrbo80
Ja ist noch ein "Bug" setzte vor dem Timeout und nach der Abfrage "Waschmaschine an" "Waschmaschine an" auf unwahr. Wenn du das im Timeout hast werden (10 / Leistungsänderung pro Minute) Meldungen an dich geschickt.EDIT und im ersten Teil hast du auch eine unendliche Flut an Meldungen.
Nicht perfekt, aber besser:
Mit der Version sollte es 6-9 Waschmaschine läuft Meldungen geben... und 1 Waschmaschine fertig.
Grad getestet und was soll ich sagen: läuft super! 5 mal „waschmaschine läuft“ und einmal „waschmaschine fertig“ TOP - DANKE!
-
Gerne
Will nur hinzufügen, dass dieses Skript nicht mit Programmen für z.B. Seide klar kommt, die drehen die Trommel alle paar Minuten, obwohl die Waschmaschine fertig ist (zumindest bei mir so)
-
@ticaki said in (gelöst) Waschmaschinen-Script:
Gerne
Will nur hinzufügen, dass dieses Skript nicht mit Programmen für z.B. Seide klar kommt, die drehen die Trommel alle paar Minuten, obwohl die Waschmaschine fertig ist (zumindest bei mir so)
Hi, die Erfahrung habe ich jetzt tatsächlich mit unserem Trockner gemacht. Der dreht auch noch nach, obwohl fertig. Gibts da n Trick?
-
@chrbo80
Ein Trockner müsste eigentlich einen recht hohen Unterschied im Stromverbrauch zwischen nur drehen und trocknen haben.
Ich hab bei mir 4 Stufen im Script. Meine Steckdose ist aber nur mittelmässig kalibriert, ist aber dafür wurscht.- Waschmaschine ist definitiv angeschaltet worden >20 Watt setzte Variablen
- Waschmaschine ist an > 10 Watt stoppe alle Timeouts
- >3 Watt könnte aus sein. Starte 20 Minuten Timeout.
- <= 3 Watt ist aus, starte 60 Sekunden Timeout.
-
@ticaki hast du da dein blockly zufällig für?
-
@chrbo80
Ich schreibe meine Scripte in Javascript, hab leider kein einziges funktionales Blockly -
@ticaki ok - dann versuche ich nachzubauen
-
Hast du dein Script mittlerweile "perfektioniert" und würdest es uns als Export zur Verfügung stellen?
-
Hi, mein Waschmaschienen-Script läuft mittlerweile durch die Hilfe von @ticaki super, hier der Export:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="!df3q1hN*qnK_W)[d{{H">Waschmaschine an</variable> <variable type="undefined" id="fertigVerzoegerung">fertigVerzoegerung</variable> </variables> <block type="variables_set" id="ycG5HcVQN~xiJnuLxzP1" x="-1162" y="-88"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="I3Ht7LVg5R^=m?)Rly=x"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="0OpgV#$XoAhyDLNC9]Z:"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="OG%.+#,mB.74-wT|)2[8"> <field name="oid">sonoff.0.DVES_232BA0.ENERGY_Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="wI^iVI:pvsH{,+PoJ+hG"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="g@7ZDRh}Nur]oI5Egkc|"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="oe@9Q5W:ggN]rM5,v#zg"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="{kP_!eD9rNh9`r`s]Q3A"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="~FMTTT]~A~./S#CUIx`%"> <field name="NAME">fertigVerzoegerung</field> <next> <block type="controls_if" id="cE|0+tREt|P)N-0=1T@V"> <value name="IF0"> <block type="logic_negate" id="E_5!jY*[@FD2Z^f!ShpB"> <value name="BOOL"> <block type="variables_get" id="0:5$lk6RYw~q;}cbzRPv"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="oMF]TV~olH+5hwpM?aB3"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="y};:JiCEKftvLzpi9udj"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id=",|1S-}C0Y!a~!QhkbLtB" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="Uvu#c}mt27h!c^nepsP_"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="l8@.?0=kc[2B43Mw1bmy"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="hbEd/lw-DDi35V]Ai!Pz"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="8|BVPh;IHw;Hyn$B6h?h"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="oz9+rqGSHKFBDf6Zso*F"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="_!HS/*Ye)Rm?oKCAYHa1"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_settimeout" id="azgbGpM5m)%,a,J7X5xt"> <field name="NAME">fertigVerzoegerung</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="?+*.%~j=n=Er.=yuk|@Q"> <value name="IF0"> <block type="logic_compare" id="l/K/WT_=7yfc}!02@d,v"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="4w8Ey^YLHrU#N/;~HL6%"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="DPNl(#U[Pb*K]xA2b`u_"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="0.J#bYFZAX7T88.xe`Km"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="*iX7R,1rM2F{HGn~8y+K"> <field name="TEXT">text</field> </shadow> <block type="text" id="Lfd?v:K2wJhL4,UiG.gP"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> <next> <block type="controls_if" id="OaEdTIE*lwD0_^}A=}z8"> <value name="IF0"> <block type="logic_compare" id="{pG2~y_0Mevq-M89X{Ig"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="l`YLU*=+cUftE~:9?2.d"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Nachtruhe</field> </block> </value> <value name="B"> <block type="logic_boolean" id="`Dfy!s:LFi2IPdPHsh6U"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="ZBuPS|cBIodglA`k8(i+"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0911M0894250MUG.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Vo+n~Pjd]+#WPI]AkD8s"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
Beim Trockner muss ich noch ran, habe ich bisher nicht geschafft. Bei meinem Trockner ist der Fall, dass dieser mehrfach am Ende noch die Trommel dreht, das klappt mit dem o.g. Script natürlich nicht. Sobalsd ich was habe, stelle ich das natürlich auch noch rein...