NEWS
Dumme Waschmaschine mit Shelly S überwachen?
-
so ich hab den shelly nun installiert
die Maschine hat wenn fertig gewaschen danach ca 2.8 watt
ich hätt dann gern ne push und auf der Vis würde ich gern anzeigen ob diese gerade läuft oder nicht
hat wer ein fertiges Block, und könnt mir helfen es anzupassen.
wär jetzt mal die Gelegenheit vor meiner Frau den Helden ruashängen zu lassen,
lg
tom -
ich hab jetzt schon ein paar Stunden rumgespielt, ich steh etwas im Wald.
Würde mir jemand mit Teamviewer da helfen?
Da steht natürlich a Paypal Spende - Essen und Bier
, haben wir beide was davon und nachher kenn ich mich etwas besser aus.
geht auch jederzeit Spontan einfach kurz per Whats App +436605298990 anklopfen
alle Codes die ich bis dato reinkopiert hab machen eigentlich nix
ist eigentlich die letzte gr. Baustelle grad der Rest ist fast fertig, obwohl ich befürchte mit dem Teufelszeug spielt man ewig rum
lg
tom -
Hier mal meine Lösung, als Schalter verwende ich eine HM-Schaltsteckdose mit Messfunktion. Ist aber
für die Logik irrelevant. Auf dem zweiten Bild ist eine Abfrage über Alexa. Wenn ich die Frage stelle:
"Alexa, was macht die Waschmaschine?" kommt als Antwort der Status wie "Aus" oder "Fertig. Wenn sie noch läuft wird die aktuelle Laufzeit angegeben. So kann man in etwas noch sehen wie lange sie noch laufen wird
-
ich verwende für unsere Waschmaschine und Trockner erfolgreich den Shelly Plug S.
Du solltest zunächst mal einen kompletten Waschzyklus aufzeichnen und dann den Verlauf analysieren.
- Du benötigst einen Triggerwert für Waschmaschine wurde eingeschalten, bei mir > 10 W
- Du benötigst einen Triggerwert für Waschmaschine ist fertig, bei mir ist das < 2 W
Jede Waschmaschine läuft etwas anders, darum ist eine Analyse für das eigene Gerät wichtig.
Nachfolgend mein Skript. Ich habe einen eigene Datenpunt angelegt "Trigger Waschmaschine Status".
Versuche mal selbst nachzuvollziehen wie es funktioniert, dann ist der Lerneffekt am größten.Bei Fragen, gerne melden...
-
super
das Probier ich nachmittag
hättest du auch den Code?
ich kapier das nachsetzen nicht ganz, gewisse Teile gibt es links nicht zur Auswahl wie zb "Wert" rechts neben dem ersten falls
dann muss ich es nicht händisch nachsetzen
also ich hab festgestellt wenn der Waschvorgang fertig ist, dann zeigt der shelly so 2.8 W an
danke
tom -
@K_o_bold said in Dumme Waschmaschine mit Shelly S überwachen?:
Triggerwert für Waschmaschin
wie lege ich wo den "Triggerwert für Waschmaschine" an ?
-
Ich empfehle dir, die Doku über Iobroker durchzulesen und es gibt einige nutzliche Tutorials auf Youtube. "Sven Topp" hat z.B. ein Einsteigervideo über Blockly auf seinem Youtube Kanal.
Auch kann dir Google bei einigen Fragen weiter helfen, bzw. wurde vieles im Forum hier schon mal geschrieben. Bitte die Suchfunktion nutzen.Du wirst nicht glücklich damit, wenn du immer auf andere angewiesen bist.
Ich selber habe vor einem Jahr bei 0 angefangen und es lohnt sich wenn man mal verstanden hat wie es funktioniert.Den Datenpunkt kannst du unter Objekte anlegen. Ich lege eigene Datenpunkte vorzugsweise im Javaskript Ordner ab. Ich habe mit einer kurzen suche auf Google direkt schon einen threat hier im Forum gefunden.
https://forum.iobroker.net/topic/11867/wie-eigene-datenpunkte-bzw-objekte-anlegen -
danke
ich hab nur noch 1 Problem
Ich würde gern den zustand FERTIG nicht unter 3Watt sonder unter zwischen 0,5 und 3 Watt definieren
damit ich auch abfragen kann ob diese abgeschalten wurde
kann mir da wer helfen, den Rest hab ich super hinbekommen
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="V|k~EK!ySEb|[D?Ba)6J" x="-162" y="-337"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="!-z^1+!i/,EC!$7|4n.+"> <field name="oid">shelly.0.SHSW-PM#00C9A5#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=":C!*?S=Ezf,=g^I_g@oC"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="!K;(-E1RbP{e^%aQ!uY-"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="[gCb%yTMU[)/eVEHpj%z"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C9A5#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="G7CpWAw0N!#N9JZ;G3#P"> <field name="TEXT">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="AFm`[ZlApq{.qSV=LM|z"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="?CFc`r2m@M;n3e4?PTW["> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="QBlxpbE?aoTl}::jspa$"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="x.nRMvYT!dYv!dK/kZZf"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C9A5#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="]p4%zyVC%mt]X[trF}Zy"> <field name="TEXT">3</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="Ax*0FiH8iZ.)0169X|H+"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="cl#IP;Mlr1{-#=l/c8WN"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="{Y!VmQdvrBruF8KG_Yll"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="x_C6`1K6/k,bno@t.9k,"> <field name="oid">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="D[%o_hR`c[Ng?-z;XOe3"> <value name="IF0"> <block type="logic_compare" id="5|sZ^h:G;w;|$q(%dZ]T"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="^OsF(ik1P7NUb_=rCxp2"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/si[+~!Q@Bg){dJm4/Ep"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="O;i_Of;3W;~`ut*XLErs"> <field name="INSTANCE">.0</field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="bb?GK(0u[jN(qPPjnox1"> <field name="TEXT">Der Trockner ist fertig</field> </shadow> </value> <next> <block type="controls_if" id="{YgN%Y7A7_EEDWVfrH-~"> <value name="IF0"> <block type="time_compare_ex" id=";Z9|mLh|XOy}l6q!/|)H"> <mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="1Mb7k9=om19kl(|^ls{B"> <field name="TEXT">07:00</field> </shadow> </value> <value name="END_TIME"> <shadow type="text" id="u|0,W8,^1sLZcDkByT9E"> <field name="TEXT">22:00</field> </shadow> </value> </block> </value> <statement name="DO0"> <block type="control" id="Q#Co*Fw?F|S1$qjg#/Pr"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G000WV0484541A9F.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="%o[+[,2P)W1gpBy8pY,H"> <field name="TEXT">Der Trockner ist fertig</field> </block> </value> <next> <block type="control" id="dEf[f=1wnG@+}UB=)iZ0"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G070RR0975070D18.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="-lTxI!_9p]4YRp8o1qG/"> <field name="TEXT">Der Trockner ist fertig</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
so müsst es klappen
-
danke habs hinbekommen
-
so gerade lüft der Erste testwaschgang und es kam gleich mehrfach ist fertig.
ich vermute die Waschmaschine kommt kurz mal bei einer Pause unter 3 Wattwie könnte ich es abfrage Ferig ist wenn unter 3 Watt aber für länger als 3 minuten?
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="V|k~EK!ySEb|[D?Ba)6J" x="113" y="-112"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="!-z^1+!i/,EC!$7|4n.+"> <field name="oid">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=":C!*?S=Ezf,=g^I_g@oC"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="!K;(-E1RbP{e^%aQ!uY-"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="[gCb%yTMU[)/eVEHpj%z"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="G7CpWAw0N!#N9JZ;G3#P"> <field name="TEXT">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="AFm`[ZlApq{.qSV=LM|z"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Waschmaschine.Trigger_Waschmaschine_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="?CFc`r2m@M;n3e4?PTW["> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="hnqnHU3HD7[^PEmFj2k*"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="f$B!};,*PTgv|E%,^jTQ"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="h-P:fjpjE+XrA3{5^yd0"> <field name="TEXT">3</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="Ax*0FiH8iZ.)0169X|H+"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Waschmaschine.Trigger_Waschmaschine_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="cl#IP;Mlr1{-#=l/c8WN"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="A0rTTA0[yJ2}?SMY?6#+"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="lR}*}c.,n}d)E~*-]#sA"> <field name="oid">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="4p.1N=6H{vT;%(2hwaQg"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="7kq~2]p{vE_-@WRj#eh_"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="7x7e.d5xz+9-xkcri.o!"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id=".;ZGVHXq!ym,YyC9nI:%"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="q$=Vq4cxe}.z,?WMbnlV"> <field name="TEXT">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=")g[2UQ=QlwmD,x4!BAxg"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="~1z5O#|XO4e},u@EplB="> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="^g6Cg!)bHH:lGm]Q0XYN"> <field name="TEXT">3</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="8w:{e5w[5[5PfV-]28%7"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Waschmaschine.Trigger_Standby</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="L.9SvZ/I)1ph`5vGn}gH"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="]#3;~8/KI@la49gb9~Pj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="9iHx!:|RoXd,xA6P]GZj"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="L2YSv4mfl=YOig141!y*"> <field name="TEXT">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="?#MD58TQ={(a|C7?EJ}N"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Waschmaschine.Trigger_Standby</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="}p~fXL.rn4xD{{fK~I~H"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="{Y!VmQdvrBruF8KG_Yll"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="x_C6`1K6/k,bno@t.9k,"> <field name="oid">javascript.0.scriptEnabled.Waschmaschine.Trigger_Waschmaschine_Status</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="D[%o_hR`c[Ng?-z;XOe3"> <value name="IF0"> <block type="logic_compare" id="5|sZ^h:G;w;|$q(%dZ]T"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="^OsF(ik1P7NUb_=rCxp2"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.Waschmaschine.Trigger_Waschmaschine_Status</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/si[+~!Q@Bg){dJm4/Ep"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="O;i_Of;3W;~`ut*XLErs"> <field name="INSTANCE">.0</field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="bb?GK(0u[jN(qPPjnox1"> <field name="TEXT">Die Waschmaschine ist fertig!</field> </shadow> </value> <next> <block type="controls_if" id="{YgN%Y7A7_EEDWVfrH-~"> <value name="IF0"> <block type="time_compare_ex" id=";Z9|mLh|XOy}l6q!/|)H"> <mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="1Mb7k9=om19kl(|^ls{B"> <field name="TEXT">07:00</field> </shadow> </value> <value name="END_TIME"> <shadow type="text" id="u|0,W8,^1sLZcDkByT9E"> <field name="TEXT">22:00</field> </shadow> </value> </block> </value> <statement name="DO0"> <block type="control" id="Q#Co*Fw?F|S1$qjg#/Pr"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G000WV0484541A9F.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="%o[+[,2P)W1gpBy8pY,H"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> <next> <block type="control" id="dEf[f=1wnG@+}UB=)iZ0"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G070RR0975070D18.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="-lTxI!_9p]4YRp8o1qG/"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
Du hast nach einem Waschmaschinen Skript gefragt.
Trockner haben einen ganz anderen Verlauf was die Leistung während dem trocknen angeht. Deine Vermutung ist schon mal richtig, dass es mehrere Zeitpunkte während des trocknend geben kann wo unter 3 Watt liegen.
Du solltest den Verbrauch aufzeichnen mit sql oder History Adapter und anschließend analysieren wie dein Trockner funktioniert. -
-
Probiers mit timeout.
Beispiel, wenn nach 5 min die Wattzahl kleiner 3 sende pushover. -
Oh sorry zu schnell drüber hinweg gelesen..
Dann Mit Timeout probieren, oder eben Verlauf aufzeichnen und schauen wieviel Watt am Ende des Waschgangs ist, also im Standby... -
Hallo
Leide klappt es so nicht
ich hab eingestellt 3 Minuten Verzögerung.
Doch die Meldung kommt auch wenn innerhalb der 3 Minuten der Verbrauch wieder steigt.
Ich teste gerade Maschine im standby und am 3.er Verteile eine Bürolampe 18 watt (was macht man sonst Sonntags
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="V|k~EK!ySEb|[D?Ba)6J" x="113" y="-112"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="!-z^1+!i/,EC!$7|4n.+"> <field name="oid">shelly.0.SHSW-PM#00C9A5#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=":C!*?S=Ezf,=g^I_g@oC"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="!K;(-E1RbP{e^%aQ!uY-"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="[gCb%yTMU[)/eVEHpj%z"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C9A5#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="G7CpWAw0N!#N9JZ;G3#P"> <field name="TEXT">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="AFm`[ZlApq{.qSV=LM|z"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="?CFc`r2m@M;n3e4?PTW["> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="hnqnHU3HD7[^PEmFj2k*"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="f$B!};,*PTgv|E%,^jTQ"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C9A5#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="text" id="h-P:fjpjE+XrA3{5^yd0"> <field name="TEXT">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="Ax*0FiH8iZ.)0169X|H+"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="cl#IP;Mlr1{-#=l/c8WN"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="{Y!VmQdvrBruF8KG_Yll"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="x_C6`1K6/k,bno@t.9k,"> <field name="oid">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="D[%o_hR`c[Ng?-z;XOe3"> <value name="IF0"> <block type="logic_compare" id="5|sZ^h:G;w;|$q(%dZ]T"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="^OsF(ik1P7NUb_=rCxp2"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.Trockner.Trigger_Trockner_laueft</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/si[+~!Q@Bg){dJm4/Ep"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="r~[r_U!oUtdnw0yW,kUZ"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="pushover" id="O;i_Of;3W;~`ut*XLErs"> <field name="INSTANCE">.0</field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="bb?GK(0u[jN(qPPjnox1"> <field name="TEXT">Der Trockner ist fertig!</field> </shadow> </value> <next> <block type="controls_if" id="{YgN%Y7A7_EEDWVfrH-~"> <value name="IF0"> <block type="time_compare_ex" id=";Z9|mLh|XOy}l6q!/|)H"> <mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="1Mb7k9=om19kl(|^ls{B"> <field name="TEXT">07:00</field> </shadow> </value> <value name="END_TIME"> <shadow type="text" id="u|0,W8,^1sLZcDkByT9E"> <field name="TEXT">22:00</field> </shadow> </value> </block> </value> <statement name="DO0"> <block type="control" id="Q#Co*Fw?F|S1$qjg#/Pr"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G000WV0484541A9F.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="%o[+[,2P)W1gpBy8pY,H"> <field name="TEXT">Der Trockner ist fertig</field> </block> </value> <next> <block type="control" id="dEf[f=1wnG@+}UB=)iZ0"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G070RR0975070D18.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="-lTxI!_9p]4YRp8o1qG/"> <field name="TEXT">Der Trockner ist fertig</field> </block> </value> <next> <block type="control" id="rC#G=fZg`lM8dC^2jK)D"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G0911B0592860HKN.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="@{kmkRTEyryf3kJwJBfs"> <field name="TEXT">Der Trockner ist fertig</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
Zeige mal das ganze Blockly.
Schau mal nach wie oft der Datenpunkt Trigger Trockner läuft aktuallisiert wird.
Jedesmal wenn getriggert wird löst du ein timeout aus stoppst aber nicht den vorherigen timeout.
Setze mal vor ausführen timeout stop timeout.
Im timeout ausführen setze mal ein debug output damit du im Log was siehst. -
so hab nun eins gefunden, angepasst und getestet
der Zähler 15
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="?3%%L.;KPa-d6Zkoj*6T">AUS Zaehler</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="create" id="!tN4!:gtM^}ek;|m=nHo" x="32" y="55"> <field name="NAME">Vis.Waschmaschine.Aktiv</field> <next> <block type="comment" id="hB%p_so=4`EGzX;10:wr"> <field name="COMMENT">Waschmaschine_Script</field> <next> <block type="control" id="Kb.uPdr~gS|=7Ng+:H?a"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Vis.Waschmaschine.Aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="vqBy?8.1fiDNDoLrT;G~"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="+A7wlutQO8gBfqosc.y3"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="L[i=p{|ii-ai*/YAZ@8s"> <field name="oid">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="bP`*)0;M+g9O:g?]Pd*f"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_operation" id="F:)qYHsI}dugF;;Tjm,A" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="H5%_/a!o;(cd2f~t!+^Q"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="a:y916W!S%H|pb5qQl:J"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="qFPWw{;UZY{D^a6HN4F4"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="+]^D[{zcOd~)d%8C%:S9"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="E4;q.WI):RF8,)P;4GaM"> <field name="ATTR">val</field> <field name="OID">javascript.0.Vis.Waschmaschine.Aktiv</field> </block> </value> <value name="B"> <block type="logic_boolean" id="BlP[`XK*dfV6{q],uSuN"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="XxjRG-wx{Gis|P}j%wi{"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Vis.Waschmaschine.Aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="8]j]NPy0pzg_@fy7#pu9"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="xQ~Axjp^x}xIc}?,~bd3" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="m:F[A,C]23{tVG.[9ogx"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="~9hm.bn7JuR`9T^57r|!"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="KK#)EKMNqV.YXg?PWltR"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="WZqeqrqbx=zB-@D)~l_!" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="2#,2{UzKUXKc-b;aXI]d"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="X|7IEq+#eQ6U]K@QZDL_"> <field name="ATTR">val</field> <field name="OID">javascript.0.Vis.Waschmaschine.Aktiv</field> </block> </value> <value name="B"> <block type="logic_boolean" id="88[x9TQtT`hkagX?ux;6"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=";5T2wjhgRkI4a=fP=txA"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="X|5;WK_6+b*X7dWThdYF"> <field name="VAR" id="?3%%L.;KPa-d6Zkoj*6T" variabletype="">AUS Zaehler</field> </block> </value> <value name="B"> <block type="math_number" id="JhvY#m2e){iZg*}U)U7="> <field name="NUM">0</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="qd2jcZSX.j`maks-0XGG"> <field name="VAR" id="?3%%L.;KPa-d6Zkoj*6T" variabletype="">AUS Zaehler</field> <value name="VALUE"> <block type="math_arithmetic" id="-Y}Zmf^#hm,WyL6)Kcd-"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^~p~#U!R+eaJjaW~6U)d"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="c/b;teh7B.tfavW#3Kx2"> <field name="VAR" id="?3%%L.;KPa-d6Zkoj*6T" variabletype="">AUS Zaehler</field> </block> </value> <value name="B"> <shadow type="math_number" id="/@dSwZ{HpbKk6y3_q?jz"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </statement> <value name="IF2"> <block type="logic_operation" id="iHpE~=uUiC0HYZE0ixfv" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="~=`AKkV)p.LRK|-)ym#0"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="{bMP3Rct]s~^OxB^KYJB"> <field name="ATTR">val</field> <field name="OID">shelly.0.SHSW-PM#00C5E2#1.Relay0.Power</field> </block> </value> <value name="B"> <block type="math_number" id="}n$r~.-0H0;Y`%V?r;zH"> <field name="NUM">4</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="!cAR@kagkdn/du!lg5?r"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="9TggDfqlTj?4OO=@`~eO"> <field name="ATTR">val</field> <field name="OID">javascript.0.Vis.Waschmaschine.Aktiv</field> </block> </value> <value name="B"> <block type="logic_boolean" id="S1R!kS9-?kQk+KS_5Qs#"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO2"> <block type="math_change" id="T.un5=.rdLl@woGn*4oJ"> <field name="VAR" id="?3%%L.;KPa-d6Zkoj*6T" variabletype="">AUS Zaehler</field> <value name="DELTA"> <shadow type="math_number" id="?c=pXLOc61v3AJP.(d:k"> <field name="NUM">1</field> </shadow> </value> </block> </statement> <next> <block type="controls_if" id="J!0cvTG#hm+.vpOmP+Dh"> <value name="IF0"> <block type="logic_compare" id="%AbMO?J2D[f-rCEWyq=O"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="u5FZNsypgs:pPUYsV1=g"> <field name="VAR" id="?3%%L.;KPa-d6Zkoj*6T" variabletype="">AUS Zaehler</field> </block> </value> <value name="B"> <block type="math_number" id="uaHP[P3wt-!h@M!UE]eX"> <field name="NUM">15</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id=";RetM]1NMnq(gM2?*6vO"> <field name="NAME">timeout</field> <field name="DELAY">1500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="variables_set" id="Hvd2vL)ptc4/sfjoP3Kx"> <field name="VAR" id="?3%%L.;KPa-d6Zkoj*6T" variabletype="">AUS Zaehler</field> <value name="VALUE"> <block type="math_number" id="Yz`)rz,.esx8@lC+dmm^"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="sj0ZAG=ELQ-|XeWmtEg3"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Vis.Waschmaschine.Aktiv</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="eX|Bf{oW+%BAW.Y:)kbK"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="pushover" id="O;i_Of;3W;~`ut*XLErs"> <field name="INSTANCE">.0</field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="bb?GK(0u[jN(qPPjnox1"> <field name="TEXT">Die Waschmaschine ist fertig</field> </shadow> </value> <next> <block type="controls_if" id="{YgN%Y7A7_EEDWVfrH-~"> <value name="IF0"> <block type="time_compare_ex" id=";Z9|mLh|XOy}l6q!/|)H"> <mutation end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="1Mb7k9=om19kl(|^ls{B"> <field name="TEXT">07:00</field> </shadow> </value> <value name="END_TIME"> <shadow type="text" id="u|0,W8,^1sLZcDkByT9E"> <field name="TEXT">22:00</field> </shadow> </value> </block> </value> <statement name="DO0"> <block type="control" id="Q#Co*Fw?F|S1$qjg#/Pr"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G000WV0484541A9F.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="%o[+[,2P)W1gpBy8pY,H"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> <next> <block type="control" id="dEf[f=1wnG@+}UB=)iZ0"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G070RR0975070D18.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">500</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="-lTxI!_9p]4YRp8o1qG/"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> </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> <block type="comment" id="k_2r^B84`,O0y4.u,WwG" x="338" y="613"> <field name="COMMENT">Zähler definiert Leerlaufzeit bis fertig gemeldet wird 15 ist ca. 90 sec bei shelly</field> </block> </xml>
der Auszähler 15 fragt regelm ab, je nach Endgerät ist bei Shelly das zb 90 sev
90 sec unter 4 Watt = fertig
kommt inh der 90 sec wieder über 4 watt läuft es weiterdanke
tom
-
Hab nun mal eine funktionierende Lösung. Eigentlich sehr simple.
// ############################################################################################### // Waschmaschine: // ############################################################################################### on({id: 'shelly.0.SHPLG2-1#B267F#1.Relay0.Power'/*json*/, change : "any"}, function(json) { log("Waschmaschine: " + getState("shelly.0.SHPLG2-1#B267F#1.Relay0.Power").val); if (getState("shelly.0.SHPLG2-1#B267F#1.Relay0.Power").val < 4) { setTimeout(function() { if (getState("shelly.0.SHPLG2-1#B267F#1.Relay0.Power").val < 4) { // Echo Ausgabe: setState("alexa2.0.Echo-Devices.03895f74a54647171c68b388651.Commands.speak", 'Hinweis Waschmaschine ist fertig. Hinweis Waschmaschine ist fertig. Hinweis Waschmaschine ist fertig.'); // Echo Alle Gruppe // Telegramm: sendTo('telegram.0', 'Waschmaschine ist fertig!'); } }, 60000); } });