NEWS
[gelöst] Waschmaschinen Skript "Timer Problem"
-
Hallo,
nun wende ich mich doch mal an die Skript Spezialisten und hoffe man kann mir helfen.Ich habe eine Samsung Waschmaschine (3 Jahre alt), bei der ich den Power Datenpunkt über eine Homematic Steckdose mit Verbrauchsmeldung logge.
ich habe die Daten in mein Blockly angepasst, aber ich bekomme immer eine Nachricht, dass die Waschmaschine fertig ist, obwohl Sie noch läuft.
Nun habe ich versucht einen Timer mit einzubauen.
Genau hier scheint mein Problem zu sein.Ich möchte, dass wenn die Waschmaschine unter einen Wert geht, ein Timer 3 Min. gestartet wird.
Wenn die Verbrauch in dieser Zeit wieder steigt, soll der Timer gestoppt werden.
Habe nun schon mit div. Timern gearbeitet und auch entsprechende Stoppbefehle eingebaut aber scheinbar setzte ich die Timer oder die Stoppbefehle falsch ein.Wenn die Waschmaschine fertig ist, soll einen Sprachausgabe auf Alexa Sonos Lautsprechern und eine Pushnachricht ausgegeben werden.
Aktuell ist es so, dass die Waschmaschine durchläuft, am ende aber dafür 3 Nachrichten (im Versatz 1min.) erhalte. Obwohl dies garnicht programmiert ist
Irgendwie scheine ich die Timer nicht richtig zu stoppen.Anbei mal ein Screenshot von meinem Blockly.
Jemand ne Idee / Tipp?Vielen Dank im Voraus.
-
@xanon sagte: Jemand ne Idee / Tipp?
Zu kompliziert. Prinzip:
-
@paul53
Vielen Dank
Auch für dein Beispiel.
Werde es testen -
Hallo paul53,
ich habe es nach deinem Vorschlag umgesetzt und muss sagen....
TOP!
Es funktioniert.Vielen Dank für deine Unterstützung und deinem Beispiel.
Gruß Marcus -
@xanon Hi, könnest DU hier Deinen Skript Export zu Verfügung stellen ?
Würde mich sehr freuen. Vielen Dank -
@sigimoe
Hi, na klar!
Ich habe nachdem es bei mir geklappt hat, das Skript wieder mit Pushover, VIS Variablen und Sprachausgabe über Sonos ausgestattet.
dementsprechend musst du die Pushover und die Speak Datenpunkte entweder löschen oder an dein System anpassen.
Anbei mein Export!<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id=":jL0V=TjN*DDrXSX:MkE">WaMa_Dauerzaehler</variable> <variable id="oL-WBkYz6=Qfh#G$Tj{M">WaMa_EinAus</variable> <variable id="8aIDH:h60!$[k$i[*|;=">gestartet</variable> <variable type="timeout" id="fertig">fertig</variable> <variable id="^o*u$2b5pG3Z`Tj1dU$d">fertig</variable> <variable type="interval" id="Dauerzähler">Dauerzähler</variable> <variable type="timeout" id="Sprachausgabe-Text2">Sprachausgabe-Text2</variable> <variable id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</variable> <variable type="timeout" id="Sprachausgabe">Sprachausgabe</variable> <variable type="timeout" id="Sprachausgabe-Lautsprecher2">Sprachausgabe-Lautsprecher2</variable> <variable type="timeout" id="Reset2">Reset2</variable> </variables> <block type="variables_set" id="v+FhU!z%s{t}_cLx]Kbq" x="-713" y="-337"> <field name="VAR" id=":jL0V=TjN*DDrXSX:MkE">WaMa_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id="X.fm_J^$-0uV%Jxiv15!"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="3ITpPpV%zfr,2JS#}ExV"> <field name="VAR" id="oL-WBkYz6=Qfh#G$Tj{M">WaMa_EinAus</field> <value name="VALUE"> <block type="logic_boolean" id="HJK5M1rwPbvgWt/01p+H"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="5}~M_9}R3:;}@)i*|xnk"> <field name="VAR" id="8aIDH:h60!$[k$i[*|;=">gestartet</field> <value name="VALUE"> <block type="logic_boolean" id="t4:?Z6NyLe(l#[xK!j*@"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="o;M4pdFz`E.LYu/e8fBZ"> <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="izr}VKsih8f?B~N_-3-+"> <field name="oid">hm-rpc.1.KEQ0970530.2.POWER</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="u5IE=Jq?)(l}wCryb=b:"> <field name="COMMENT">Grenzwert etwas höher als Standby-Leistung</field> <next> <block type="controls_if" id="5?~tv*RYZ}yp+=Q~]M(H"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="zO)lk1XoFOqKYgzzv;xC"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="HyUfSa=vB;Ypa(%)tP,="> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="U?JG=Q7]ya=$H?O-pc}x"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="^_u.8l[ctBzVEc-OevR9"> <field name="NAME">fertig</field> <next> <block type="controls_if" id="T0ivz;TMmsz7T[Q=O(HT"> <value name="IF0"> <block type="logic_negate" id="$a]+9r7HnHUX,sy]Nr,~"> <value name="BOOL"> <block type="variables_get" id="pdd%5]~t[Xf8,sY64j8N"> <field name="VAR" id="8aIDH:h60!$[k$i[*|;=">gestartet</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="*Bj{hjrmefdtsHqd.^LQ"> <field name="VAR" id="8aIDH:h60!$[k$i[*|;=">gestartet</field> <value name="VALUE"> <block type="logic_boolean" id="*6qW]o#k|f}vS-qz[hi_"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="comment" id="zA^|A(EZnKXein0)RBmk"> <field name="COMMENT">Meldung "gestartet"</field> <next> <block type="timeouts_setinterval" id="+GBRY#I_4Zk)N?p~(DV_"> <field name="NAME">Dauerzähler</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="math_change" id="+6ZY0g:n+N%K4T_V1QQ/"> <field name="VAR" id=":jL0V=TjN*DDrXSX:MkE">WaMa_Dauerzaehler</field> <value name="DELTA"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_number" id="Z.9p`*d`ot?.gEK]Or)N"> <field name="NUM">1</field> </block> </value> <next> <block type="control" id="VWR):Y:wW1alE?74Wz55"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.VIS_NEU.Status.Waschmaschine.Waschmaschine_läuft_seit</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="%0Z-`0/F@;sG,9+TDB@@"> <field name="VAR" id=":jL0V=TjN*DDrXSX:MkE">WaMa_Dauerzaehler</field> </block> </value> </block> </next> </block> </statement> <next> <block type="pushover" id="fNvsf1-zM/)B6=12Drq9" collapsed="true"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG">log</field> <value name="MESSAGE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="text_join" id="g6H9a7.RA2;}am,1{MGB"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id=")PCwl)Pm$T[:o|H)hv,y"> <field name="TEXT">Die Waschmaschine wurde gestartet.</field> </block> </value> </block> </value> <value name="TITLE"> <block type="text" id="62{w@5OY`eTbB}k@@^Y9"> <field name="TEXT">Waschmaschine</field> </block> </value> <next> <block type="variables_set" id="26IeRWL9HXHN3mvWkVKw"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> <value name="VALUE"> <block type="text_join" id="!SF}-b[A5%-f(JFH5**X"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="P[yLZj9%)qr:aS^STxw."> <field name="TEXT">Die Waschmaschine wurde gestartet, ich sage bescheid, wenn sie fertig ist.</field> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="]~cprSp!U@apm*XmoY~x"> <field name="NAME">Sprachausgabe</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="cq3)uF70vWeq.;o2m$CS"> <field name="COMMENT">Wohnzimmer Beam</field> <next> <block type="control" id="OB``A5F#SEz+.fPfH)qc"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.12557853bc1e478d8dee97be66e07298.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=";F~*g,*$fc#cfL@U07cR"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> </block> </value> <next> <block type="comment" id="^@_(?7lnCmZkGYd*5i`k"> <field name="COMMENT">Büro Sonos One</field> <next> <block type="control" id="Zn~CLDep%%FG_6m3*Y(Q"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.f5a9abc4e3ef4c878e32aaaffb1c7647.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="p!/j~|bSp3pH3G_.+fNR"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> </block> </value> <next> <block type="comment" id="m!7F(iEz?fTev(lCb!G%"> <field name="COMMENT">Esszimmer Sonos One</field> <next> <block type="control" id="g[T8%Bg-J_L#eorg=K=:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.b8b6e188a26a4703adddaa2ff54262ff..Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="@=.cbBOq.uD0;ZN|iH)z"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_negate" id="q~MuD1:t@7D^e8}yOcke"> <value name="BOOL"> <block type="variables_get" id=";X:Uv0(8qhLWdpO2*$G*"> <field name="VAR" id="^o*u$2b5pG3Z`Tj1dU$d">fertig</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="?(FDJfAH;b-4|Vy,*7(J"> <field name="NAME">fertig</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="hjJHI1WR}Rd-h;.%o2H5"> <field name="VAR" id="8aIDH:h60!$[k$i[*|;=">gestartet</field> <value name="VALUE"> <block type="logic_boolean" id="=JnZf{BMLv7rbngp=|?k"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="comment" id="X$4y-S*l|MZl+@fs4[C^"> <field name="COMMENT">Meldung "fertig"</field> <next> <block type="timeouts_clearinterval" id=",LUl[v}fwU!+{1rEQ4w*"> <field name="NAME">Dauerzähler</field> <next> <block type="timeouts_settimeout" id="4]R(EN!#c6~ImgdyJm^l"> <field name="NAME">Sprachausgabe-Text2</field> <field name="DELAY">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="pushover" id="fNvsf1-zM/)B6=12Drq9" collapsed="true"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG">log</field> <value name="MESSAGE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="text_join" id="2u=FE^9T3th6bZ/t}[[8"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id=",)D]rDFh-eJ2MO7pU,{4"> <field name="TEXT">Die Waschmaschine ist fertig.</field> </block> </value> <value name="ADD1"> <block type="text_newline" id="bH:bPl0=/26JHUYH5w^b"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="text" id="]-!Mg~?YZ#p%d$CHQ7FY"> <field name="TEXT">Sie lief: </field> </block> </value> <value name="ADD3"> <block type="variables_get" id="{`O.di7L$m1qL2(a1ni3"> <field name="VAR" id=":jL0V=TjN*DDrXSX:MkE">WaMa_Dauerzaehler</field> </block> </value> <value name="ADD4"> <block type="text" id="~Nh*?2L7+iassOjn;FK#"> <field name="TEXT">Minuten.</field> </block> </value> </block> </value> <value name="TITLE"> <block type="text" id="Pm@~rhs.fk)ebJRW2O.v"> <field name="TEXT">Waschmaschine</field> </block> </value> <next> <block type="variables_set" id="_S*-~XWIQM-v]6_!uwb^"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> <value name="VALUE"> <block type="text_join" id="Dlv]wr?8jPMM|QOo1i^W"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="@`[n=o5tWhK*Z~N/[IYb"> <field name="TEXT">Die Waschmaschine ist fertig. </field> </block> </value> <value name="ADD1"> <block type="text" id="/kI(;pABBj{lPUtFZ#N1"> <field name="TEXT">Sie lief: </field> </block> </value> <value name="ADD2"> <block type="get_value" id="57)_=`t*dRLDU/I}nOx/"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.VIS_NEU.Status.Waschmaschine.Waschmaschine_läuft_seit</field> </block> </value> <value name="ADD3"> <block type="text" id="E~z8vQeJ%K1@5yo4AJ:}"> <field name="TEXT">Minuten.</field> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="rNf0[7(|.Q{b`UXv$k-e"> <field name="NAME">Sprachausgabe-Lautsprecher2</field> <field name="DELAY">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="comment" id="-5Z6^dPV=vfn/:WU-rAn"> <field name="COMMENT">Wohnzimmer Beam</field> <next> <block type="control" id="Zd82_#l^Kg]y`q(r:8YJ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.12557853bc1e478d8dee97be66e07298.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="AZ?0QOl[YNrWWrgKVL:}"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> </block> </value> <next> <block type="comment" id=";M_u9E}uS`KuJ[^uNrh;"> <field name="COMMENT">Büro Sonos One</field> <next> <block type="control" id="w(wv#@XxnDowJLy$}PkC"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.f5a9abc4e3ef4c878e32aaaffb1c7647.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="!qF.8h,%$^;9),!I;8{~"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> </block> </value> <next> <block type="comment" id=";1+:y(LxO.^{Da3gEafO"> <field name="COMMENT">Esszimmer Sonos One</field> <next> <block type="control" id="JFG7/RY.zi1^Suce:=*I"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.b8b6e188a26a4703adddaa2ff54262ff.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=",Zg;=n{lWKK]ad81d!~i"> <field name="VAR" id="o!r|h]e2_aq+~u3UY){^">Ausgabetext</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="Yt~]j%7.q8ndL*MjVr6|"> <field name="NAME">Reset2</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="AYW[*~ce|w0mn%Q2[6ON"> <field name="VAR" id=":jL0V=TjN*DDrXSX:MkE">WaMa_Dauerzaehler</field> <value name="VALUE"> <block type="math_number" id="p/cZ$qzRg$3N|n(pnqE?"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@xanon super herzlichen Dank.
Ich konnte das Skript erfolgreich importieren und die Sprachausgabe und Pushover auf meine Geräte umswitchen. Natürlich die Messsteckdose auch
Allerdings stehe ich gerade noch etwas auf dem Schlauch.
Was muss ich hier anpassen ? :
/var/folders/wz/jd1j4lqs0zxf0stxl90dsjwh0000gn/T/2022-02-26_07-38-43.jpg
Ist dies ein Datenpunkt, den ich manuell anlegen muss ? Wenn ja welcher Typ etc.
Sorry für die dumme Frage, bin erst noch am Anfang mit Blockly
-
@sigimoe
ja dies ist ein eigner Datenpunkt (Zustandstyp = Number/Zahl)
Hier überträgt das Skript die Laufzeit, damit ich in der VIS sehen kann wie lange das Gerät bereits läuft bzw. lief. -
@xanon so ? :
{ "common": { "name": "WaschmaschineTwinDos", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": 0 }, "type": "state", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1645869622153, "_id": "0_userdata.0.MeineGeraete.Waschmaschine_TwinDos.WaschmaschineTwinDos", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-