- ioBroker Community Home
- Deutsch
- ioBroker Allgemein
- NOUS Zwischenstecker mit Tasmota geflasht
NEWS
NOUS Zwischenstecker mit Tasmota geflasht
-
Hallo Zusammen,
ich habe erfolgreich 2x NOUS mit Tasmota flashen können. Nun habe ich eine der Stecker an unsere Waschmaschine gesteckt. Vorher habe ich die noch kalibriert mit einer 60 W Glühbirne (keine LED oder Leuchtstoff)....hat auch funktioniert..
NUn ist die Waschmaschine an udn ein kleines Waschprogramm und die Wattzahl schwankt hier von 6W - 178W ..also beim Laufen keien Konstante

Habe dann ein Blockly geschrieben udn jetzt bekomme ich mit Telegram natürlich immer Nachrichten sobald die Wattzahl unter 5 W fällt...
was mache ich falsch? Muss ich nochmal kalibrieren?
Hier das Blockly:

-
Hallo Zusammen,
ich habe erfolgreich 2x NOUS mit Tasmota flashen können. Nun habe ich eine der Stecker an unsere Waschmaschine gesteckt. Vorher habe ich die noch kalibriert mit einer 60 W Glühbirne (keine LED oder Leuchtstoff)....hat auch funktioniert..
NUn ist die Waschmaschine an udn ein kleines Waschprogramm und die Wattzahl schwankt hier von 6W - 178W ..also beim Laufen keien Konstante

Habe dann ein Blockly geschrieben udn jetzt bekomme ich mit Telegram natürlich immer Nachrichten sobald die Wattzahl unter 5 W fällt...
was mache ich falsch? Muss ich nochmal kalibrieren?
Hier das Blockly:

@kusselin Du machst nichts falsch. Das ist vollkommen normal bei einer Waschmaschine, dass sie so unregelmäßig Strom verbraucht.
Hier mal mein Blockly:

Du musst mehrfach prüfen, ob der Verbrauch 0 ist bevor du die Meldung erzeugst.
Abhängig vom gewählten Waschprogramm sind die Schwankungen unterschiedlich. Ich denke du musst auch die Zeiten noch anpassen. Versuch es mal. -
@kusselin Du machst nichts falsch. Das ist vollkommen normal bei einer Waschmaschine, dass sie so unregelmäßig Strom verbraucht.
Hier mal mein Blockly:

Du musst mehrfach prüfen, ob der Verbrauch 0 ist bevor du die Meldung erzeugst.
Abhängig vom gewählten Waschprogramm sind die Schwankungen unterschiedlich. Ich denke du musst auch die Zeiten noch anpassen. Versuch es mal.@lessthanmore Hi danke..aber sorry wie soll ich das wissen? ich bin kein Elektriker...jetzt verstehe ich besser.......könntest du bitte noch zur Vereinfachung das Blockly als Script hier hochladen. Vielen Dank.
Deine ID leistung WM ist doch der Datenpunkt EnergyPower bei mir also der Datenpunkt der den Strom misst..richtig?
Warum steht bei dir im telegram 2x waschmaschine fertig?
-
@lessthanmore Hi danke..aber sorry wie soll ich das wissen? ich bin kein Elektriker...jetzt verstehe ich besser.......könntest du bitte noch zur Vereinfachung das Blockly als Script hier hochladen. Vielen Dank.
Deine ID leistung WM ist doch der Datenpunkt EnergyPower bei mir also der Datenpunkt der den Strom misst..richtig?
Warum steht bei dir im telegram 2x waschmaschine fertig?
@kusselin Nun, ich bin kein Elektriker, aber wenn die Maschine schleudert, dann verbraucht sie Strom. Steht sie und lässt die Wäsche einweichen, dann verbraucht sie weniger bis gar nichts.
Ein Auto bspw. verbraucht stehend an der Ampel weniger als während der Fahrt. Und nein, ich bin auch kein Kfz-Mechatroniker.Hier das Skript. Da sind allerdings noch Geschirrspüler und Wäschetrockner dabei; musst du dann einfach löschen.
<xml xmlns="https://developers.google.com/blockly/xml">
<block type="on" id="i]7du5j^;y+h_f!~5:T+" x="88" y="-712">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="Q2osPz(BGn3IK8d|,I9"> <value name="IF0"> <block type="logic_operation" id="q+w/VFhI[J^Av7!NMvCd"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="rBy|U4~=0CKepW%+t]OF"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WVFLwe~yd@uQ/:t%VbXn"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=":Qn#QwqJVZgtI(PLc;?">
<field name="NUM">150</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="K$D+V2Rds9unX1oc]yU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tRZRwOEyNckN!WLz,P4b"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+;A@Ou0B+Jig;rOMan90"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Y,4qkgl9avn38(7eonE">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Z68tU#mk:gvhRSz2bp7T">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="o^+J1d?TpsEhyJY.^KD"> <value name="IF0"> <block type="logic_operation" id="-DIMO(jAUkQI6Tw@c|[J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="u0vC9s4w,rlEaW}(;lB|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Q_I)|JEk@_~3X]BF{$xF"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field> </block> </value> <value name="B"> <block type="math_number" id="T]-annhO^HtXdg^Hh5[q"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="SKh0#.}$|_LIlVe9ZWa6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JELBpN]iV)*@f:~R3[]("> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")te);]z;DKrEXG:#8RE_"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="iG;W(~lb?2|-M|FO5}#V"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="Z8ccYfDgLRziEh^i@$=H"> <field name="TEXT">Der Geschirrspüler ist fertig!</field> </shadow> </value> <value name="TITLE"> <block type="text" id="A)9o^UFx.mqycYth3KV}"> <field name="TEXT">Geschirrspüler fertig!</field> </block> </value> <next> <block type="update" id="s;Mn2e{=~T+p{;oWdiQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="^1N:r3G^0h898e7f@|(/">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="on" id="0dk^fuS}|o!iGRP,d2|0">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="#7}RZ9F$1wQZwxLAgJi">
<value name="IF0">
<block type="logic_operation" id="AKF/V3e;vItbFeq2w4@"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P7:FkrcvXTW+/WzAATv">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="QX}iO)uNb/!%_DCj14">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="math_number" id="!c0{=s)K^@]g|pa;2%!"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/#!o^)DcU1]{,:kr@C#">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="~_Ef|8/ba?}/k5uDXVrT">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="Uqc?nbM~nu{6kXYtF6fO">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="=7PCh?8x$06Gv64NE,pQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="UExoL5r|LKkdEes~-F]K">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="Fd,v})fZtAQ{M(g=Be{T">
<value name="IF0">
<block type="logic_operation" id="iaqyoFn!7|]Yz!r;%hV"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="_t)|Q$aJ*mKAs;qKdHT="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="K36%eJq_pcS^SINNHMGi"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field> </block> </value> <value name="B"> <block type="math_number" id="61lY*:]P]Oe^3,N[ps|">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="rh0z4lTFQR@%)ZDn_j^:">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="g{tIu~]-uOtHri{W/1x#">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=xDKD(iz2m4#IV=at~V7">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id=":Bn4,2}zFssa8E%Py2{W">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="$J|;F%qkc#lw;3Ii1Y$;">
<field name="TEXT">Der Trockner ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="#H5Szb@%0!d${/|eOx)">
<field name="TEXT">Trockner fertig!</field>
</block>
</value>
<next>
<block type="update" id=")AAz_?JiOi5KvwLyh_[.">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="[jS5EODGXRc:~OD8^bJ"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="on" id="{+^qXg~JO2XbEyVlFlX*"> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="!GlmeU*,mT4c.(JLJ_u["> <value name="IF0"> <block type="logic_operation" id="njY59(-.k.b+bjQAAyo("> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="06z$}HV]Xpxv:#C-K@B-"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WQA}*Vdg%_o[GEudYu^+"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="u(+-L4%!!{C30C.Nb+TN"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="us|#HL;Ia{(AGWEjMt3L"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7aJS_32pH07o/Gb%T+KQ"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id=";ydV@umsMb?|;}JaM9Y:"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="|?ViBQ!Sb3-0r~:%}|mz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.washer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w.49@F0Em,$jCluw1|D!"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="0%QxoyoFAB{tG1KsE3Yf"> <value name="IF0"> <block type="logic_operation" id="yqUe~6RN?7@FeFEqdK@?"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="L5_{-QY6ybj3mFXLUSqj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@2nsuo@kw2H/m;cetaJl"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="biU%eaYLiNbFWsJC6AT">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="arIJ$:%8zt^yo(]6NJ7">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="8;AZV8CJoe7kdVb[e}Ua">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="{hX.V:.(iJX.]JT[[~Z)">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="J^euJ%)0kc!:iTGXPtT{">
<field name="DELAY">10</field>
<field name="UNIT">sec</field>
<next>
<block type="controls_if" id="}%$p2QyWu;viY^GH_m;">
<value name="IF0">
<block type="logic_operation" id="eYPVls%rmE^|eOqe~]Ct">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="zRfsXMrJR}PbP07J=X=">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="D)meB0.ZB7tdZ7!WU@0S">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="|^zk_EHr)eZ8dbvGk_p">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="t]FEKZ31{^GzYS6hu@zP">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="#fmTmqAb-Si.Z#JE/LDS">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="#ttRgpu7y@p$|d)?GZQt">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id=":xJXhj{R^B)X1X}4upu"> <field name="DELAY">15</field> <field name="UNIT">sec</field> </block> </statement> <next> <block type="controls_if" id="T]0~kU=?-I,ffg1C|K0~"> <value name="IF0"> <block type="logic_operation" id="fbOfk!de/konKDw6M,MC"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="7KtyX8aG+IOHVYAyq!iG"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="/}ifW_iW^jd8[kE*Zn7Q"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="Xv^?P#qj+)cVARJ^TyMz"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="my]e{^c4lgjtnPu%@|FK"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="8(w/wEcMGm?Y6oUcShR">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="di@Q]X[8qh[fg(PKTn">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="}i-9C?$BI%:z{uDhp5_A">
<field name="DELAY">20</field>
<field name="UNIT">sec</field>
</block>
</statement>
<next>
<block type="controls_if" id="W}vFut?$I#bG=7quuYvq">
<value name="IF0">
<block type="logic_operation" id="ip9~?n%v-7INx-;/}O!q">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="[r;N9z$i7}sS+L@%O;">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="},_+icov-Lug-4|,x2;"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="s1XOkM+KDdaeQ0Zl5J4k"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="XF)Z6.chgFtlNGM86pDd"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="88$HTEKPqrQtD[3]wM-">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id=",DWKm~IJgt4)t14/!:h">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="OAyS%MHwm84Z+,*%yu$">
<field name="DELAY">25</field>
<field name="UNIT">sec</field>
</block>
</statement>
<next>
<block type="controls_if" id="4K~BZ4d,e^)wr?tKMk"> <value name="IF0"> <block type="logic_operation" id="-/|xKf;{$h^Pz^?fC~}J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=".W*?p0xyo6f6]g?;)iiP"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="qoFTaN]wfZS_6C+!i:I["> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="@eWFirkq{V}K!zyq=4QG"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="X|(=Y6|1H.Sgu)SnS2"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="AAEW-x7|T~W(n{sk[0a">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="d^iK]jylhFJ.Jlq0@,i"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_wait" id="[R_%vc#Au6jAlw9tAHjY"> <field name="DELAY">30</field> <field name="UNIT">sec</field> </block> </statement> <next> <block type="controls_if" id="I-4S/~!f7J.~2QwNXQC{"> <value name="IF0"> <block type="logic_operation" id="qqcAAu*~h1{,#Wh1X/_8"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="=AkFm1{s37Z.^7TJ32E">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="$L7feFAL6$uk]NkXwyZ-">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="xMWS}[B6%9Ri@Z%6L,BI">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id=".=0p6X{w?%|0gP4YUs}"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="t_c0n_a3*I)=nGT+fVb0"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="MW/%XxbKe[BSJteDGH(c"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_wait" id="v~%*.vycK/k:KT$Ewv+z"> <field name="DELAY">35</field> <field name="UNIT">sec</field> </block> </statement> <next> <block type="controls_if" id="61gTv)UuiZHe3]}Gzu7z"> <value name="IF0"> <block type="logic_operation" id="@kR(R7$z:cIduGqo2PFR"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="2)^c[ThhZOkmP7t}BQ">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="zwii5vV9.sf^{GC3?ibw">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="c+ZiZ0y@6fwU#e3em@0z">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="6~~}2b@8yt70B{X[H?KS">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="^m8mNvjBCh.~meBA{*Ej">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="u=T/$Fimb^m/Uzr?HAut">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="b3n8fr9hpL$^v)oJHwS-">
<field name="DELAY">120</field>
<field name="UNIT">sec</field>
</block>
</statement>
<next>
<block type="controls_if" id="-*fQLe)T:eETBcgOZ9p7">
<value name="IF0">
<block type="logic_operation" id="2b]M1%u0y7:.Oot)b5Y">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id=");EBl%EbNiEx-4dKx|P^">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="J4C}%mIh2pW@Tqr]=:t]">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="y||0BwZZgs8~BLUMRMB9">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="nMO7uPxA!;uf(+Eca1Jt">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="qt7W6XSJlgu9W1?VGMe}">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="p~p`i)bN-rrO=uw@gCw2">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id="2E%:ljMUd$Mxm23Ju5)">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="uTmfn8n_jPcJg,rg-Ssf">
<field name="TEXT">Die Waschmaschine ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="RN|]B)eGF5-vx1PIBK,)">
<field name="TEXT">Waschmaschine fertig!</field>
</block>
</value>
<next>
<block type="update" id="enY_H_0xfoN(0U{BlRe)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.washer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="OzyiUX{]o([V..EpM%W}">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
Zweimal "Waschmaschine" fertig, da das erste die Nachricht ist und das zweite der Betreff der Nachricht. So sehe ich auf der Apple Watch bspw. direkt was fertig ist und muss die Nachricht nicht erst öffnen.
"washer" ist übrigens ein eigener Datenpunkt, da ich damit zusätzlich in der Visu anzeige, ob die Maschine läuft oder nicht.
-
@kusselin Nun, ich bin kein Elektriker, aber wenn die Maschine schleudert, dann verbraucht sie Strom. Steht sie und lässt die Wäsche einweichen, dann verbraucht sie weniger bis gar nichts.
Ein Auto bspw. verbraucht stehend an der Ampel weniger als während der Fahrt. Und nein, ich bin auch kein Kfz-Mechatroniker.Hier das Skript. Da sind allerdings noch Geschirrspüler und Wäschetrockner dabei; musst du dann einfach löschen.
<xml xmlns="https://developers.google.com/blockly/xml">
<block type="on" id="i]7du5j^;y+h_f!~5:T+" x="88" y="-712">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="Q2osPz(BGn3IK8d|,I9"> <value name="IF0"> <block type="logic_operation" id="q+w/VFhI[J^Av7!NMvCd"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="rBy|U4~=0CKepW%+t]OF"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WVFLwe~yd@uQ/:t%VbXn"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=":Qn#QwqJVZgtI(PLc;?">
<field name="NUM">150</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="K$D+V2Rds9unX1oc]yU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tRZRwOEyNckN!WLz,P4b"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+;A@Ou0B+Jig;rOMan90"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Y,4qkgl9avn38(7eonE">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Z68tU#mk:gvhRSz2bp7T">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="o^+J1d?TpsEhyJY.^KD"> <value name="IF0"> <block type="logic_operation" id="-DIMO(jAUkQI6Tw@c|[J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="u0vC9s4w,rlEaW}(;lB|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Q_I)|JEk@_~3X]BF{$xF"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field> </block> </value> <value name="B"> <block type="math_number" id="T]-annhO^HtXdg^Hh5[q"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="SKh0#.}$|_LIlVe9ZWa6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JELBpN]iV)*@f:~R3[]("> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")te);]z;DKrEXG:#8RE_"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="iG;W(~lb?2|-M|FO5}#V"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="Z8ccYfDgLRziEh^i@$=H"> <field name="TEXT">Der Geschirrspüler ist fertig!</field> </shadow> </value> <value name="TITLE"> <block type="text" id="A)9o^UFx.mqycYth3KV}"> <field name="TEXT">Geschirrspüler fertig!</field> </block> </value> <next> <block type="update" id="s;Mn2e{=~T+p{;oWdiQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="^1N:r3G^0h898e7f@|(/">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="on" id="0dk^fuS}|o!iGRP,d2|0">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="#7}RZ9F$1wQZwxLAgJi">
<value name="IF0">
<block type="logic_operation" id="AKF/V3e;vItbFeq2w4@"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P7:FkrcvXTW+/WzAATv">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="QX}iO)uNb/!%_DCj14">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="math_number" id="!c0{=s)K^@]g|pa;2%!"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/#!o^)DcU1]{,:kr@C#">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="~_Ef|8/ba?}/k5uDXVrT">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="Uqc?nbM~nu{6kXYtF6fO">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="=7PCh?8x$06Gv64NE,pQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="UExoL5r|LKkdEes~-F]K">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="Fd,v})fZtAQ{M(g=Be{T">
<value name="IF0">
<block type="logic_operation" id="iaqyoFn!7|]Yz!r;%hV"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="_t)|Q$aJ*mKAs;qKdHT="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="K36%eJq_pcS^SINNHMGi"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field> </block> </value> <value name="B"> <block type="math_number" id="61lY*:]P]Oe^3,N[ps|">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="rh0z4lTFQR@%)ZDn_j^:">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="g{tIu~]-uOtHri{W/1x#">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=xDKD(iz2m4#IV=at~V7">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id=":Bn4,2}zFssa8E%Py2{W">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="$J|;F%qkc#lw;3Ii1Y$;">
<field name="TEXT">Der Trockner ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="#H5Szb@%0!d${/|eOx)">
<field name="TEXT">Trockner fertig!</field>
</block>
</value>
<next>
<block type="update" id=")AAz_?JiOi5KvwLyh_[.">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="[jS5EODGXRc:~OD8^bJ"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="on" id="{+^qXg~JO2XbEyVlFlX*"> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="!GlmeU*,mT4c.(JLJ_u["> <value name="IF0"> <block type="logic_operation" id="njY59(-.k.b+bjQAAyo("> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="06z$}HV]Xpxv:#C-K@B-"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WQA}*Vdg%_o[GEudYu^+"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="u(+-L4%!!{C30C.Nb+TN"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="us|#HL;Ia{(AGWEjMt3L"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7aJS_32pH07o/Gb%T+KQ"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id=";ydV@umsMb?|;}JaM9Y:"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="|?ViBQ!Sb3-0r~:%}|mz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.washer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w.49@F0Em,$jCluw1|D!"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="0%QxoyoFAB{tG1KsE3Yf"> <value name="IF0"> <block type="logic_operation" id="yqUe~6RN?7@FeFEqdK@?"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="L5_{-QY6ybj3mFXLUSqj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@2nsuo@kw2H/m;cetaJl"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="biU%eaYLiNbFWsJC6AT">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="arIJ$:%8zt^yo(]6NJ7">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="8;AZV8CJoe7kdVb[e}Ua">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="{hX.V:.(iJX.]JT[[~Z)">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="J^euJ%)0kc!:iTGXPtT{">
<field name="DELAY">10</field>
<field name="UNIT">sec</field>
<next>
<block type="controls_if" id="}%$p2QyWu;viY^GH_m;">
<value name="IF0">
<block type="logic_operation" id="eYPVls%rmE^|eOqe~]Ct">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="zRfsXMrJR}PbP07J=X=">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="D)meB0.ZB7tdZ7!WU@0S">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="|^zk_EHr)eZ8dbvGk_p">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="t]FEKZ31{^GzYS6hu@zP">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="#fmTmqAb-Si.Z#JE/LDS">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="#ttRgpu7y@p$|d)?GZQt">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id=":xJXhj{R^B)X1X}4upu"> <field name="DELAY">15</field> <field name="UNIT">sec</field> </block> </statement> <next> <block type="controls_if" id="T]0~kU=?-I,ffg1C|K0~"> <value name="IF0"> <block type="logic_operation" id="fbOfk!de/konKDw6M,MC"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="7KtyX8aG+IOHVYAyq!iG"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="/}ifW_iW^jd8[kE*Zn7Q"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="Xv^?P#qj+)cVARJ^TyMz"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="my]e{^c4lgjtnPu%@|FK"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="8(w/wEcMGm?Y6oUcShR">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="di@Q]X[8qh[fg(PKTn">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="}i-9C?$BI%:z{uDhp5_A">
<field name="DELAY">20</field>
<field name="UNIT">sec</field>
</block>
</statement>
<next>
<block type="controls_if" id="W}vFut?$I#bG=7quuYvq">
<value name="IF0">
<block type="logic_operation" id="ip9~?n%v-7INx-;/}O!q">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="[r;N9z$i7}sS+L@%O;">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="},_+icov-Lug-4|,x2;"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="s1XOkM+KDdaeQ0Zl5J4k"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="XF)Z6.chgFtlNGM86pDd"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="88$HTEKPqrQtD[3]wM-">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id=",DWKm~IJgt4)t14/!:h">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="OAyS%MHwm84Z+,*%yu$">
<field name="DELAY">25</field>
<field name="UNIT">sec</field>
</block>
</statement>
<next>
<block type="controls_if" id="4K~BZ4d,e^)wr?tKMk"> <value name="IF0"> <block type="logic_operation" id="-/|xKf;{$h^Pz^?fC~}J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id=".W*?p0xyo6f6]g?;)iiP"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="qoFTaN]wfZS_6C+!i:I["> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="@eWFirkq{V}K!zyq=4QG"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="X|(=Y6|1H.Sgu)SnS2"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="AAEW-x7|T~W(n{sk[0a">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="d^iK]jylhFJ.Jlq0@,i"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_wait" id="[R_%vc#Au6jAlw9tAHjY"> <field name="DELAY">30</field> <field name="UNIT">sec</field> </block> </statement> <next> <block type="controls_if" id="I-4S/~!f7J.~2QwNXQC{"> <value name="IF0"> <block type="logic_operation" id="qqcAAu*~h1{,#Wh1X/_8"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="=AkFm1{s37Z.^7TJ32E">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="$L7feFAL6$uk]NkXwyZ-">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="xMWS}[B6%9Ri@Z%6L,BI">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id=".=0p6X{w?%|0gP4YUs}"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="t_c0n_a3*I)=nGT+fVb0"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id="MW/%XxbKe[BSJteDGH(c"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_wait" id="v~%*.vycK/k:KT$Ewv+z"> <field name="DELAY">35</field> <field name="UNIT">sec</field> </block> </statement> <next> <block type="controls_if" id="61gTv)UuiZHe3]}Gzu7z"> <value name="IF0"> <block type="logic_operation" id="@kR(R7$z:cIduGqo2PFR"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="2)^c[ThhZOkmP7t}BQ">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="zwii5vV9.sf^{GC3?ibw">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="c+ZiZ0y@6fwU#e3em@0z">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="6~~}2b@8yt70B{X[H?KS">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="^m8mNvjBCh.~meBA{*Ej">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="u=T/$Fimb^m/Uzr?HAut">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_wait" id="b3n8fr9hpL$^v)oJHwS-">
<field name="DELAY">120</field>
<field name="UNIT">sec</field>
</block>
</statement>
<next>
<block type="controls_if" id="-*fQLe)T:eETBcgOZ9p7">
<value name="IF0">
<block type="logic_operation" id="2b]M1%u0y7:.Oot)b5Y">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id=");EBl%EbNiEx-4dKx|P^">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="J4C}%mIh2pW@Tqr]=:t]">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="y||0BwZZgs8~BLUMRMB9">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="nMO7uPxA!;uf(+Eca1Jt">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="qt7W6XSJlgu9W1?VGMe}">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="p~p`i)bN-rrO=uw@gCw2">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id="2E%:ljMUd$Mxm23Ju5)">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="uTmfn8n_jPcJg,rg-Ssf">
<field name="TEXT">Die Waschmaschine ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="RN|]B)eGF5-vx1PIBK,)">
<field name="TEXT">Waschmaschine fertig!</field>
</block>
</value>
<next>
<block type="update" id="enY_H_0xfoN(0U{BlRe)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.washer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="OzyiUX{]o([V..EpM%W}">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
Zweimal "Waschmaschine" fertig, da das erste die Nachricht ist und das zweite der Betreff der Nachricht. So sehe ich auf der Apple Watch bspw. direkt was fertig ist und muss die Nachricht nicht erst öffnen.
"washer" ist übrigens ein eigener Datenpunkt, da ich damit zusätzlich in der Visu anzeige, ob die Maschine läuft oder nicht.
@lessthanmore danke Dir!!
Hab mein post nochmal aktualisiert…
Was ist die ID Washer..also welcher Datenpunkt ist das?
Gruss -
@lessthanmore danke Dir!!
Hab mein post nochmal aktualisiert…
Was ist die ID Washer..also welcher Datenpunkt ist das?
Gruss@kusselin Korrekt, Leistung WM ist mein Messwertgeber, also misst die aktuelle Leistung wie bei dir EnergyPower.
"Washer" ist lediglich ein Datenpunkt bei mir unter 0_userdata, damit ich in meiner Visu anzeigen kann, ob die Waschmaschine läuft oder nicht.
Ich prüfe neben dem Verbrauch eben auch darauf, ob die WM an ist, da der Verbrauch schwanken kann auch wenn die Maschine aus ist. Generell braucht es aber eigentlich nur die Prüfung auf die Leistung.
-
@kusselin Korrekt, Leistung WM ist mein Messwertgeber, also misst die aktuelle Leistung wie bei dir EnergyPower.
"Washer" ist lediglich ein Datenpunkt bei mir unter 0_userdata, damit ich in meiner Visu anzeigen kann, ob die Waschmaschine läuft oder nicht.
Ich prüfe neben dem Verbrauch eben auch darauf, ob die WM an ist, da der Verbrauch schwanken kann auch wenn die Maschine aus ist. Generell braucht es aber eigentlich nur die Prüfung auf die Leistung.
@lessthanmore sagte in NOUS Zwischenstecker mit Tasmota geflasht:
"Washer" ist lediglich ein Datenpunkt bei mir unter 0_userdata, damit ich in meiner Visu anzeigen kann, ob die Waschmaschine läuft oder nicht.
Ahh O.K. eigentlich langt mir nur der Datenpunkt -> bei mir Energy Power ....Wie hast du den Datenpunkt Washer angelegt mit einem Boolean Wert also true und false?
DEn Washer brauscht nur für die Visualisierung...da brauch ich jetzt nicht..also kann das ja raus dann bei mirDu hast mir aber nicht den Script hier hochgeladen von dem Bild oben von Dir...egal ich probiers mal und poste dann hier ..o.k.
-
@lessthanmore sagte in NOUS Zwischenstecker mit Tasmota geflasht:
"Washer" ist lediglich ein Datenpunkt bei mir unter 0_userdata, damit ich in meiner Visu anzeigen kann, ob die Waschmaschine läuft oder nicht.
Ahh O.K. eigentlich langt mir nur der Datenpunkt -> bei mir Energy Power ....Wie hast du den Datenpunkt Washer angelegt mit einem Boolean Wert also true und false?
DEn Washer brauscht nur für die Visualisierung...da brauch ich jetzt nicht..also kann das ja raus dann bei mirDu hast mir aber nicht den Script hier hochgeladen von dem Bild oben von Dir...egal ich probiers mal und poste dann hier ..o.k.
@kusselin Doch, das Skript steht oben im Spoiler. Einfach den Spoiler öffnen und dann kannst du den Code kopieren und bei dir importieren.
Ja, der DP "washer" ist boolish, true oder false. -
@kusselin Doch, das Skript steht oben im Spoiler. Einfach den Spoiler öffnen und dann kannst du den Code kopieren und bei dir importieren.
Ja, der DP "washer" ist boolish, true oder false.@lessthanmore doch passt mit dem script...habe nicht alles kopiert

-
so hier mal das Blockly..
es prüft ob sich der Wert von meinem datenpunkt Energy Power ändert und prüft dann die Zeit richtig?

falls der Wert von Power Energy auf NULL fällt dann mache eine Pause.......
was ich noch nicht so verstnaden habe ist warum soviele pausen?
-
so hier mal das Blockly..
es prüft ob sich der Wert von meinem datenpunkt Energy Power ändert und prüft dann die Zeit richtig?

falls der Wert von Power Energy auf NULL fällt dann mache eine Pause.......
was ich noch nicht so verstnaden habe ist warum soviele pausen?
@kusselin Korrekt, sieht gut aus.
Die Pausen zwischen den Prüfungen musst du ggf. noch anpassen. Das siehst du aber beim nächsten Waschgang.
Kann immer mal sein dass eine Meldung zu früh kommt. Dann passt du eine Pause minimal an und schaust erneut. -
@kusselin Korrekt, sieht gut aus.
Die Pausen zwischen den Prüfungen musst du ggf. noch anpassen. Das siehst du aber beim nächsten Waschgang.
Kann immer mal sein dass eine Meldung zu früh kommt. Dann passt du eine Pause minimal an und schaust erneut.@lessthanmore hi danke.....man muss einfach das script laut lesen udn nachsprechen dann kann man das script lesen....ohjee das dauert aber noch bei mir

das blockly liest immer wenn der wert auf NULL geht dann soll er 10 sec warten....ist der wert immer noch auf 0 also die Wattzahl dann soll die Meldung kommen Fettig....ist der wert aber innerhalb der 10 sec nicht NULL und der wert geht wieder hoch dann keine Meldung....geht der wert wieder runter auf NULL dann warte 20 sec...
Das hab ich noch nicht richtig kapiert...?
-
@lessthanmore hi danke.....man muss einfach das script laut lesen udn nachsprechen dann kann man das script lesen....ohjee das dauert aber noch bei mir

das blockly liest immer wenn der wert auf NULL geht dann soll er 10 sec warten....ist der wert immer noch auf 0 also die Wattzahl dann soll die Meldung kommen Fettig....ist der wert aber innerhalb der 10 sec nicht NULL und der wert geht wieder hoch dann keine Meldung....geht der wert wieder runter auf NULL dann warte 20 sec...
Das hab ich noch nicht richtig kapiert...?
@kusselin Ja, genau so ist es.
Sobald sich die Leistung ändert, wird das Skript getriggert.
Ist die Leistung 0, so warte ich 10 Sekunden und prüfe erneut, ob die Leistung weiterhin 0 ist.
Allerdings ist das nicht wirklich "sauber". Besser wäre es wohl mittels Timeout. Werde das demnächst wohl mal umstellen.Das Problem an meinem Skript ist, dass selbst wenn nach dem zweiten oder dritte Mal die Leistung 0 ist, das Skript ja weiterläuft. Es müsste aber beendet werden.
@paul53 Was meinst du? Besser mit Timeout?
-
@kusselin Ja, genau so ist es.
Sobald sich die Leistung ändert, wird das Skript getriggert.
Ist die Leistung 0, so warte ich 10 Sekunden und prüfe erneut, ob die Leistung weiterhin 0 ist.
Allerdings ist das nicht wirklich "sauber". Besser wäre es wohl mittels Timeout. Werde das demnächst wohl mal umstellen.Das Problem an meinem Skript ist, dass selbst wenn nach dem zweiten oder dritte Mal die Leistung 0 ist, das Skript ja weiterläuft. Es müsste aber beendet werden.
@paul53 Was meinst du? Besser mit Timeout?
@lessthanmore ja genau....nachdem die ich die Meldung bekommen habe darf das script nicht mehr weiterlaufen udn müsste stoppen...weil...ich bekomme jetzt immer noch nachrichten per pushover.....das ict nicht richtrig... ich verstehe es weiss aber nicht wie ich es umsetzen mussim blockly!!
eigentlich müsset das blockly so ausehen das wenn der wert activity.power zb größer 1 ist dann soll das script starten........und wenn dann das activity.power längere zeit also ca. 2 10 sec den wert "0" bringt soll noch keine nachricht gesendet werden...das script prüft weiter wenn länger 30 sec....dann soll die Meldung kommen mit "Waschmaschine ist fertig".......und...dann soll das script stoppen bis wieder neu eingeschaltet wird und der wert über 1 geht..
Kannst du als expert das kurz schreiben....
Daaaaanke
Ist halt kacke das sich der Wattwert bei ner Waschmaschine so stark ändert .....
wie machen das die anderen hier ? -
@lessthanmore ja genau....nachdem die ich die Meldung bekommen habe darf das script nicht mehr weiterlaufen udn müsste stoppen...weil...ich bekomme jetzt immer noch nachrichten per pushover.....das ict nicht richtrig... ich verstehe es weiss aber nicht wie ich es umsetzen mussim blockly!!
eigentlich müsset das blockly so ausehen das wenn der wert activity.power zb größer 1 ist dann soll das script starten........und wenn dann das activity.power längere zeit also ca. 2 10 sec den wert "0" bringt soll noch keine nachricht gesendet werden...das script prüft weiter wenn länger 30 sec....dann soll die Meldung kommen mit "Waschmaschine ist fertig".......und...dann soll das script stoppen bis wieder neu eingeschaltet wird und der wert über 1 geht..
Kannst du als expert das kurz schreiben....
Daaaaanke
Ist halt kacke das sich der Wattwert bei ner Waschmaschine so stark ändert .....
wie machen das die anderen hier ?@kusselin Machen wir es mal so:

<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable type="timeout" id="timeout">timeout</variable>
</variables>
<block type="on" id="i]7du5j^;y+h_f!~5:T+" x="88" y="-712">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="Q2osPz(BGn3IK8d|,I9"> <value name="IF0"> <block type="logic_operation" id="q+w/VFhI[J^Av7!NMvCd"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="rBy|U4~=0CKepW%+t]OF"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WVFLwe~yd@uQ/:t%VbXn"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=":Qn#QwqJVZgtI(PLc;?">
<field name="NUM">150</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="K$D+V2Rds9unX1oc]yU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tRZRwOEyNckN!WLz,P4b"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+;A@Ou0B+Jig;rOMan90"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Y,4qkgl9avn38(7eonE">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Z68tU#mk:gvhRSz2bp7T">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="o^+J1d?TpsEhyJY.^KD"> <value name="IF0"> <block type="logic_operation" id="-DIMO(jAUkQI6Tw@c|[J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="u0vC9s4w,rlEaW}(;lB|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Q_I)|JEk@_~3X]BF{$xF"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field> </block> </value> <value name="B"> <block type="math_number" id="T]-annhO^HtXdg^Hh5[q"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="SKh0#.}$|_LIlVe9ZWa6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JELBpN]iV)*@f:~R3[]("> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")te);]z;DKrEXG:#8RE_"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="iG;W(~lb?2|-M|FO5}#V"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="Z8ccYfDgLRziEh^i@$=H"> <field name="TEXT">Der Geschirrspüler ist fertig!</field> </shadow> </value> <value name="TITLE"> <block type="text" id="A)9o^UFx.mqycYth3KV}"> <field name="TEXT">Geschirrspüler fertig!</field> </block> </value> <next> <block type="update" id="s;Mn2e{=~T+p{;oWdiQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="^1N:r3G^0h898e7f@|(/">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="on" id="0dk^fuS}|o!iGRP,d2|0">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="#7}RZ9F$1wQZwxLAgJi">
<value name="IF0">
<block type="logic_operation" id="AKF/V3e;vItbFeq2w4@"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P7:FkrcvXTW+/WzAATv">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="QX}iO)uNb/!%_DCj14">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="math_number" id="!c0{=s)K^@]g|pa;2%!"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/#!o^)DcU1]{,:kr@C#">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="~_Ef|8/ba?}/k5uDXVrT">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="Uqc?nbM~nu{6kXYtF6fO">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="=7PCh?8x$06Gv64NE,pQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="UExoL5r|LKkdEes~-F]K">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="Fd,v})fZtAQ{M(g=Be{T">
<value name="IF0">
<block type="logic_operation" id="iaqyoFn!7|]Yz!r;%hV"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="_t)|Q$aJ*mKAs;qKdHT="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="K36%eJq_pcS^SINNHMGi"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field> </block> </value> <value name="B"> <block type="math_number" id="61lY*:]P]Oe^3,N[ps|">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="rh0z4lTFQR@%)ZDn_j^:">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="g{tIu~]-uOtHri{W/1x#">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=xDKD(iz2m4#IV=at~V7">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id=":Bn4,2}zFssa8E%Py2{W">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="$J|;F%qkc#lw;3Ii1Y$;">
<field name="TEXT">Der Trockner ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="#H5Szb@%0!d${/|eOx)">
<field name="TEXT">Trockner fertig!</field>
</block>
</value>
<next>
<block type="update" id=")AAz_?JiOi5KvwLyh_[.">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="[jS5EODGXRc:~OD8^bJ"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="on" id="{+^qXg~JO2XbEyVlFlX*"> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="!GlmeU*,mT4c.(JLJ_u["> <value name="IF0"> <block type="logic_operation" id="njY59(-.k.b+bjQAAyo("> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="06z$}HV]Xpxv:#C-K@B-"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WQA}*Vdg%_o[GEudYu^+"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="u(+-L4%!!{C30C.Nb+TN"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="us|#HL;Ia{(AGWEjMt3L"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7aJS_32pH07o/Gb%T+KQ"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id=";ydV@umsMb?|;}JaM9Y:"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="|?ViBQ!Sb3-0r~:%}|mz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.washer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w.49@F0Em,$jCluw1|D!"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="[z^K*qsEuB-~ItvolRKQ"> <field name="NAME">timeout</field> </block> </next> </block> </statement> <next> <block type="controls_if" id="0%QxoyoFAB{tG1KsE3Yf"> <value name="IF0"> <block type="logic_operation" id="yqUe~6RN?7@FeFEqdK@?"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="L5_{-QY6ybj3mFXLUSqj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@2nsuo@kw2H/m;cetaJl"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="biU%eaYLiNbFWsJC6AT">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="arIJ$:%8zt^yo(]6NJ7">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="8;AZV8CJoe7kdVb[e}Ua">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="{hX.V:.(iJX.]JT[[~Z)">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_settimeout" id="ppP^uo3KB0E!0k%Si6L%">
<field name="NAME">timeout</field>
<field name="DELAY">120</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="controls_if" id="}%$p2QyWu;viY^GH_m;">
<value name="IF0">
<block type="logic_operation" id="eYPVls%rmE^|eOqe~]Ct">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="zRfsXMrJR}PbP07J=X=">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="D)meB0.ZB7tdZ7!WU@0S">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="|^zk_E*Hr)eZ8dbvGk_p">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="t]FEKZ31{^GzYS6hu@zP">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="#fmTmqAb-Si.Z#JE/LDS">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="#ttRgpu7y@p$|d)?GZQt">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id="2E%:ljMUd$Mxm23Ju5)">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="uTmfn8n_jPcJg,rg-Ssf">
<field name="TEXT">Die Waschmaschine ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="RN|]B)eGF5-vx1PIBK,)">
<field name="TEXT">Waschmaschine fertig!</field>
</block>
</value>
<next>
<block type="update" id="enY_H_0xfoN(0U{BlRe)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.washer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="OzyiUX{]o([V..EpM%W}">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
Jetzt warten wir mal den nächsten Waschtag ab und schauen was passiert.Sobald nun die Leistung auf 0 fällt warte ich 120 Sekunden und prüfe dann, ob die Leistung weiterhin 0 ist. Geht so vorher wieder hoch wird die Prüfung abgebrochen.
Prinzipiell kann man die zweite Prüfung innerhalb des Timeouts auch weg machen./edit: Hier mal ohne zusätzliche Prüfung.

<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable type="timeout" id="timeout">timeout</variable>
</variables>
<block type="on" id="i]7du5j^;y+h_f!~5:T+" x="88" y="-712">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="Q2osPz(BGn3IK8d|,I9"> <value name="IF0"> <block type="logic_operation" id="q+w/VFhI[J^Av7!NMvCd"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="rBy|U4~=0CKepW%+t]OF"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WVFLwe~yd@uQ/:t%VbXn"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=":Qn#QwqJVZgtI(PLc;?">
<field name="NUM">150</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="K$D+V2Rds9unX1oc]yU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tRZRwOEyNckN!WLz,P4b"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+;A@Ou0B+Jig;rOMan90"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Y,4qkgl9avn38(7eonE">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Z68tU#mk:gvhRSz2bp7T">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="o^+J1d?TpsEhyJY.^KD"> <value name="IF0"> <block type="logic_operation" id="-DIMO(jAUkQI6Tw@c|[J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="u0vC9s4w,rlEaW}(;lB|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Q_I)|JEk@_~3X]BF{$xF"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field> </block> </value> <value name="B"> <block type="math_number" id="T]-annhO^HtXdg^Hh5[q"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="SKh0#.}$|_LIlVe9ZWa6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JELBpN]iV)*@f:~R3[]("> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")te);]z;DKrEXG:#8RE_"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="iG;W(~lb?2|-M|FO5}#V"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="Z8ccYfDgLRziEh^i@$=H"> <field name="TEXT">Der Geschirrspüler ist fertig!</field> </shadow> </value> <value name="TITLE"> <block type="text" id="A)9o^UFx.mqycYth3KV}"> <field name="TEXT">Geschirrspüler fertig!</field> </block> </value> <next> <block type="update" id="s;Mn2e{=~T+p{;oWdiQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="^1N:r3G^0h898e7f@|(/">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="on" id="0dk^fuS}|o!iGRP,d2|0">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="#7}RZ9F$1wQZwxLAgJi">
<value name="IF0">
<block type="logic_operation" id="AKF/V3e;vItbFeq2w4@"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P7:FkrcvXTW+/WzAATv">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="QX}iO)uNb/!%_DCj14">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="math_number" id="!c0{=s)K^@]g|pa;2%!"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/#!o^)DcU1]{,:kr@C#">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="~_Ef|8/ba?}/k5uDXVrT">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="Uqc?nbM~nu{6kXYtF6fO">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="=7PCh?8x$06Gv64NE,pQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="UExoL5r|LKkdEes~-F]K">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="Fd,v})fZtAQ{M(g=Be{T">
<value name="IF0">
<block type="logic_operation" id="iaqyoFn!7|]Yz!r;%hV"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="_t)|Q$aJ*mKAs;qKdHT="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="K36%eJq_pcS^SINNHMGi"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field> </block> </value> <value name="B"> <block type="math_number" id="61lY*:]P]Oe^3,N[ps|">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="rh0z4lTFQR@%)ZDn_j^:">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="g{tIu~]-uOtHri{W/1x#">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=xDKD(iz2m4#IV=at~V7">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id=":Bn4,2}zFssa8E%Py2{W">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="$J|;F%qkc#lw;3Ii1Y$;">
<field name="TEXT">Der Trockner ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="#H5Szb@%0!d${/|eOx)">
<field name="TEXT">Trockner fertig!</field>
</block>
</value>
<next>
<block type="update" id=")AAz_?JiOi5KvwLyh_[.">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="[jS5EODGXRc:~OD8^bJ"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="on" id="{+^qXg~JO2XbEyVlFlX*"> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="!GlmeU*,mT4c.(JLJ_u["> <value name="IF0"> <block type="logic_operation" id="njY59(-.k.b+bjQAAyo("> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="06z$}HV]Xpxv:#C-K@B-"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WQA}*Vdg%_o[GEudYu^+"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="u(+-L4%!!{C30C.Nb+TN"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="us|#HL;Ia{(AGWEjMt3L"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7aJS_32pH07o/Gb%T+KQ"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id=";ydV@umsMb?|;}JaM9Y:"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="|?ViBQ!Sb3-0r~:%}|mz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.washer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w.49@F0Em,$jCluw1|D!"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="[z^K*qsEuB-~ItvolRKQ"> <field name="NAME">timeout</field> </block> </next> </block> </statement> <next> <block type="controls_if" id="0%QxoyoFAB{tG1KsE3Yf"> <value name="IF0"> <block type="logic_operation" id="yqUe~6RN?7@FeFEqdK@?"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="L5_{-QY6ybj3mFXLUSqj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@2nsuo@kw2H/m;cetaJl"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="biU%eaYLiNbFWsJC6AT">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="arIJ$:%8zt^yo(*]6NJ7">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="8;AZV8CJoe7kdVb[e}Ua">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="{hX.V:.(iJX.]JT[[~Z)">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_settimeout" id="ppP^uo3KB0E!0k%Si6L%">
<field name="NAME">timeout</field>
<field name="DELAY">120</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="pushover" id="2E%:ljMUd$Mxm23Ju5)_">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="uTmfn8n_jPcJg,rg-Ssf">
<field name="TEXT">Die Waschmaschine ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="RN|]B)eGF5-vx1PIBK,)">
<field name="TEXT">Waschmaschine fertig!</field>
</block>
</value>
<next>
<block type="update" id="enY_H_0xfoN(0U{BlRe)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.washer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="OzyiUX{]o([V..EpM%W}">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
-
@kusselin Machen wir es mal so:

<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable type="timeout" id="timeout">timeout</variable>
</variables>
<block type="on" id="i]7du5j^;y+h_f!~5:T+" x="88" y="-712">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="Q2osPz(BGn3IK8d|,I9"> <value name="IF0"> <block type="logic_operation" id="q+w/VFhI[J^Av7!NMvCd"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="rBy|U4~=0CKepW%+t]OF"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WVFLwe~yd@uQ/:t%VbXn"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=":Qn#QwqJVZgtI(PLc;?">
<field name="NUM">150</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="K$D+V2Rds9unX1oc]yU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tRZRwOEyNckN!WLz,P4b"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+;A@Ou0B+Jig;rOMan90"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Y,4qkgl9avn38(7eonE">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Z68tU#mk:gvhRSz2bp7T">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="o^+J1d?TpsEhyJY.^KD"> <value name="IF0"> <block type="logic_operation" id="-DIMO(jAUkQI6Tw@c|[J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="u0vC9s4w,rlEaW}(;lB|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Q_I)|JEk@_~3X]BF{$xF"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field> </block> </value> <value name="B"> <block type="math_number" id="T]-annhO^HtXdg^Hh5[q"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="SKh0#.}$|_LIlVe9ZWa6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JELBpN]iV)*@f:~R3[]("> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")te);]z;DKrEXG:#8RE_"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="iG;W(~lb?2|-M|FO5}#V"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="Z8ccYfDgLRziEh^i@$=H"> <field name="TEXT">Der Geschirrspüler ist fertig!</field> </shadow> </value> <value name="TITLE"> <block type="text" id="A)9o^UFx.mqycYth3KV}"> <field name="TEXT">Geschirrspüler fertig!</field> </block> </value> <next> <block type="update" id="s;Mn2e{=~T+p{;oWdiQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="^1N:r3G^0h898e7f@|(/">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="on" id="0dk^fuS}|o!iGRP,d2|0">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="#7}RZ9F$1wQZwxLAgJi">
<value name="IF0">
<block type="logic_operation" id="AKF/V3e;vItbFeq2w4@"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P7:FkrcvXTW+/WzAATv">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="QX}iO)uNb/!%_DCj14">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="math_number" id="!c0{=s)K^@]g|pa;2%!"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/#!o^)DcU1]{,:kr@C#">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="~_Ef|8/ba?}/k5uDXVrT">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="Uqc?nbM~nu{6kXYtF6fO">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="=7PCh?8x$06Gv64NE,pQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="UExoL5r|LKkdEes~-F]K">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="Fd,v})fZtAQ{M(g=Be{T">
<value name="IF0">
<block type="logic_operation" id="iaqyoFn!7|]Yz!r;%hV"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="_t)|Q$aJ*mKAs;qKdHT="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="K36%eJq_pcS^SINNHMGi"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field> </block> </value> <value name="B"> <block type="math_number" id="61lY*:]P]Oe^3,N[ps|">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="rh0z4lTFQR@%)ZDn_j^:">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="g{tIu~]-uOtHri{W/1x#">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=xDKD(iz2m4#IV=at~V7">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id=":Bn4,2}zFssa8E%Py2{W">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="$J|;F%qkc#lw;3Ii1Y$;">
<field name="TEXT">Der Trockner ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="#H5Szb@%0!d${/|eOx)">
<field name="TEXT">Trockner fertig!</field>
</block>
</value>
<next>
<block type="update" id=")AAz_?JiOi5KvwLyh_[.">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="[jS5EODGXRc:~OD8^bJ"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="on" id="{+^qXg~JO2XbEyVlFlX*"> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="!GlmeU*,mT4c.(JLJ_u["> <value name="IF0"> <block type="logic_operation" id="njY59(-.k.b+bjQAAyo("> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="06z$}HV]Xpxv:#C-K@B-"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WQA}*Vdg%_o[GEudYu^+"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="u(+-L4%!!{C30C.Nb+TN"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="us|#HL;Ia{(AGWEjMt3L"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7aJS_32pH07o/Gb%T+KQ"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id=";ydV@umsMb?|;}JaM9Y:"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="|?ViBQ!Sb3-0r~:%}|mz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.washer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w.49@F0Em,$jCluw1|D!"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="[z^K*qsEuB-~ItvolRKQ"> <field name="NAME">timeout</field> </block> </next> </block> </statement> <next> <block type="controls_if" id="0%QxoyoFAB{tG1KsE3Yf"> <value name="IF0"> <block type="logic_operation" id="yqUe~6RN?7@FeFEqdK@?"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="L5_{-QY6ybj3mFXLUSqj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@2nsuo@kw2H/m;cetaJl"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="biU%eaYLiNbFWsJC6AT">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="arIJ$:%8zt^yo(]6NJ7">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="8;AZV8CJoe7kdVb[e}Ua">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="{hX.V:.(iJX.]JT[[~Z)">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_settimeout" id="ppP^uo3KB0E!0k%Si6L%">
<field name="NAME">timeout</field>
<field name="DELAY">120</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="controls_if" id="}%$p2QyWu;viY^GH_m;">
<value name="IF0">
<block type="logic_operation" id="eYPVls%rmE^|eOqe~]Ct">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="zRfsXMrJR}PbP07J=X=">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="D)meB0.ZB7tdZ7!WU@0S">
<field name="ATTR">val</field>
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field>
</block>
</value>
<value name="B">
<block type="math_number" id="|^zk_E*Hr)eZ8dbvGk_p">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="t]FEKZ31{^GzYS6hu@zP">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="#fmTmqAb-Si.Z#JE/LDS">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="#ttRgpu7y@p$|d)?GZQt">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id="2E%:ljMUd$Mxm23Ju5)">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="uTmfn8n_jPcJg,rg-Ssf">
<field name="TEXT">Die Waschmaschine ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="RN|]B)eGF5-vx1PIBK,)">
<field name="TEXT">Waschmaschine fertig!</field>
</block>
</value>
<next>
<block type="update" id="enY_H_0xfoN(0U{BlRe)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.washer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="OzyiUX{]o([V..EpM%W}">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
Jetzt warten wir mal den nächsten Waschtag ab und schauen was passiert.Sobald nun die Leistung auf 0 fällt warte ich 120 Sekunden und prüfe dann, ob die Leistung weiterhin 0 ist. Geht so vorher wieder hoch wird die Prüfung abgebrochen.
Prinzipiell kann man die zweite Prüfung innerhalb des Timeouts auch weg machen./edit: Hier mal ohne zusätzliche Prüfung.

<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable type="timeout" id="timeout">timeout</variable>
</variables>
<block type="on" id="i]7du5j^;y+h_f!~5:T+" x="88" y="-712">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="Q2osPz(BGn3IK8d|,I9"> <value name="IF0"> <block type="logic_operation" id="q+w/VFhI[J^Av7!NMvCd"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="rBy|U4~=0CKepW%+t]OF"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WVFLwe~yd@uQ/:t%VbXn"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=":Qn#QwqJVZgtI(PLc;?">
<field name="NUM">150</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="K$D+V2Rds9unX1oc]yU"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tRZRwOEyNckN!WLz,P4b"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+;A@Ou0B+Jig;rOMan90"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Y,4qkgl9avn38(7eonE">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Z68tU#mk:gvhRSz2bp7T">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="o^+J1d?TpsEhyJY.^KD"> <value name="IF0"> <block type="logic_operation" id="-DIMO(jAUkQI6Tw@c|[J"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="u0vC9s4w,rlEaW}(;lB|"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Q_I)|JEk@_~3X]BF{$xF"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_GS</field> </block> </value> <value name="B"> <block type="math_number" id="T]-annhO^HtXdg^Hh5[q"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="SKh0#.}$|_LIlVe9ZWa6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JELBpN]iV)*@f:~R3[]("> <field name="ATTR">val</field> <field name="OID">0_userdata.0.disher</field> </block> </value> <value name="B"> <block type="logic_boolean" id=")te);]z;DKrEXG:#8RE_"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="pushover" id="iG;W(~lb?2|-M|FO5}#V"> <field name="INSTANCE"></field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="Z8ccYfDgLRziEh^i@$=H"> <field name="TEXT">Der Geschirrspüler ist fertig!</field> </shadow> </value> <value name="TITLE"> <block type="text" id="A)9o^UFx.mqycYth3KV}"> <field name="TEXT">Geschirrspüler fertig!</field> </block> </value> <next> <block type="update" id="s;Mn2e{=~T+p{;oWdiQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.disher</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="^1N:r3G^0h898e7f@|(/">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
<next>
<block type="on" id="0dk^fuS}|o!iGRP,d2|0">
<field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="#7}RZ9F$1wQZwxLAgJi">
<value name="IF0">
<block type="logic_operation" id="AKF/V3e;vItbFeq2w4@"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="P7:FkrcvXTW+/WzAATv">
<field name="OP">GTE</field>
<value name="A">
<block type="on_source" id="QX}iO)uNb/!%_DCj14">
<field name="ATTR">state.val</field>
</block>
</value>
<value name="B">
<block type="math_number" id="!c0{=s)K^@]g|pa;2%!"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/#!o^)DcU1]{,:kr@C#">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="~_Ef|8/ba?}/k5uDXVrT">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="Uqc?nbM~nu{6kXYtF6fO">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="=7PCh?8x$06Gv64NE,pQ">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="UExoL5r|LKkdEes~-F]K">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="Fd,v})fZtAQ{M(g=Be{T">
<value name="IF0">
<block type="logic_operation" id="iaqyoFn!7|]Yz!r;%hV"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="_t)|Q$aJ*mKAs;qKdHT="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="K36%eJq_pcS^SINNHMGi"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_TR</field> </block> </value> <value name="B"> <block type="math_number" id="61lY*:]P]Oe^3,N[ps|">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="rh0z4lTFQR@%)ZDn_j^:">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="g{tIu~]-uOtHri{W/1x#">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.dryer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="=xDKD(iz2m4#IV=at~V7">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="pushover" id=":Bn4,2}zFssa8E%Py2{W">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="$J|;F%qkc#lw;3Ii1Y$;">
<field name="TEXT">Der Trockner ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="#H5Szb@%0!d${/|eOx)">
<field name="TEXT">Trockner fertig!</field>
</block>
</value>
<next>
<block type="update" id=")AAz_?JiOi5KvwLyh_[.">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.dryer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="[jS5EODGXRc:~OD8^bJ"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <next> <block type="on" id="{+^qXg~JO2XbEyVlFlX*"> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="!GlmeU*,mT4c.(JLJ_u["> <value name="IF0"> <block type="logic_operation" id="njY59(-.k.b+bjQAAyo("> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="06z$}HV]Xpxv:#C-K@B-"> <field name="OP">GTE</field> <value name="A"> <block type="on_source" id="WQA}*Vdg%_o[GEudYu^+"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="u(+-L4%!!{C30C.Nb+TN"> <field name="NUM">150</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="us|#HL;Ia{(AGWEjMt3L"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7aJS_32pH07o/Gb%T+KQ"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.washer</field> </block> </value> <value name="B"> <block type="logic_boolean" id=";ydV@umsMb?|;}JaM9Y:"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="|?ViBQ!Sb3-0r~:%}|mz"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.washer</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w.49@F0Em,$jCluw1|D!"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="[z^K*qsEuB-~ItvolRKQ"> <field name="NAME">timeout</field> </block> </next> </block> </statement> <next> <block type="controls_if" id="0%QxoyoFAB{tG1KsE3Yf"> <value name="IF0"> <block type="logic_operation" id="yqUe~6RN?7@FeFEqdK@?"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="L5_{-QY6ybj3mFXLUSqj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@2nsuo@kw2H/m;cetaJl"> <field name="ATTR">val</field> <field name="OID">knx.0.Erdgeschoß.Energiedaten.Leistung_WM</field> </block> </value> <value name="B"> <block type="math_number" id="biU%eaYLiNbFWsJC6AT">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_compare" id="arIJ$:%8zt^yo(*]6NJ7">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="8;AZV8CJoe7kdVb[e}Ua">
<field name="ATTR">val</field>
<field name="OID">0_userdata.0.washer</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="{hX.V:.(iJX.]JT[[~Z)">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_settimeout" id="ppP^uo3KB0E!0k%Si6L%">
<field name="NAME">timeout</field>
<field name="DELAY">120</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="pushover" id="2E%:ljMUd$Mxm23Ju5)_">
<field name="INSTANCE"></field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="uTmfn8n_jPcJg,rg-Ssf">
<field name="TEXT">Die Waschmaschine ist fertig!</field>
</shadow>
</value>
<value name="TITLE">
<block type="text" id="RN|]B)eGF5-vx1PIBK,)">
<field name="TEXT">Waschmaschine fertig!</field>
</block>
</value>
<next>
<block type="update" id="enY_H_0xfoN(0U{BlRe)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.washer</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="OzyiUX{]o([V..EpM%W}">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</xml>
@lessthanmore ich probiers mal aus..danke dir
Ne Frage noch : wenn ich einen eigenen Datenpunkt anlege und in diesen Datenpunkt soll zb der gesamtstrom datenpunkt von der waschmaschine gelesen werden..wie muss dann das anlegen des Datenpunktes aussehen??
Bookean, objekt???
Gruss -
@lessthanmore ich probiers mal aus..danke dir
Ne Frage noch : wenn ich einen eigenen Datenpunkt anlege und in diesen Datenpunkt soll zb der gesamtstrom datenpunkt von der waschmaschine gelesen werden..wie muss dann das anlegen des Datenpunktes aussehen??
Bookean, objekt???
GrussIch hatte am Wochenende die Gelegenheit, den Adapter "device-reminder" zu testen und tatsächlich wurden mit der Voreinstellung für Waschmaschine und Trocker, sowohl der Beginn, als auch das Ende des entsprechenden Vorgangs erkannt.
Ich habe Telegram eingebunden, aber ich denke, man kann die Datenpunkte auch anders verwenden:

Kaktus
-
@lessthanmore ich probiers mal aus..danke dir
Ne Frage noch : wenn ich einen eigenen Datenpunkt anlege und in diesen Datenpunkt soll zb der gesamtstrom datenpunkt von der waschmaschine gelesen werden..wie muss dann das anlegen des Datenpunktes aussehen??
Bookean, objekt???
Gruss -
@kusselin kann mir wer hier noch meine frage beantworten mit dem eigenen datenpunkt der befüllt wird von einem Datenpunkt aus objekt…
Danke@kusselin Willst du den gesamten Verbrauch summieren?
Dann muss der Datenpunkt numerisch sein, nicht boolish. Bolean kennt nur zwei Zustände, wahr und falsch.
Sofern du den Gesamtverbrauch bestimmen möchtest, schau dir mal den source analytix Adapter an. -
@kusselin Willst du den gesamten Verbrauch summieren?
Dann muss der Datenpunkt numerisch sein, nicht boolish. Bolean kennt nur zwei Zustände, wahr und falsch.
Sofern du den Gesamtverbrauch bestimmen möchtest, schau dir mal den source analytix Adapter an.@lessthanmore nee wie hier im Video aber das 3, Blockly.. da erstellt er einen datenpunkt Waschstart und Waschende.. der befällt wird und das weiß ich nicht was ich da beim datenpunkt erstellen auswählen muss??