Hallo Liebe Smart Home Freunde..
Es geht um Betriebstundenzähler /Laufzeit/ Starts
Bis Jetzt habe ich ja immer nur Hilfe gebraucht oder habe nur mitgelesen.
Heute möchte ich aber mal ein Projekt von mir teilen.
Grundgedanke war:
Die Laufzeiten /Starts usw vom Rasenmäher Roboter (Heidi)zu Visualisieren.
Funktion des Blockly ,
es werden die nötigen Objekte angelegt.
Es wird die Aktuelle Laufzeit (in Echtzeit) angegeben
es wird die Gesamtlaufzeit angegeben
es wird die Letzte Laufzeit angegeben ,bei jedem neuen Start des Rasenmähers
es wird die Anzahl der Starts angegeben
es wird im Log als Info angezeigt Rasenmäher läuft oder läuft nicht
es gibt eine reset Funktion wo alle werte wieder auf null gesetzt werden können
man muss nur das entsprechende zu triggernde Objekt ändern, hier momentan Heist es Ausgabe_Test.
Habe dies auch in Homematic zur Anzeige und in die VIS mit eingebunden
Mann kann dies ja für alles verwenden, wie Gartenpumpe usw .. Alles wo man gerne Die Laufzeit beobachten möchte
Ich hoffe ich kann dadurch den einen oder den anderen Helfen.
<xml xmlns="http://www.w3.org/1999/xhtml">
<variables>
<variable type="" id="y4g-_GfWq@qg5/^2)aFX">Heidi_Laufzeit_Aktuel</variable>
<variable type="undefined" id="Hedie_mäht">Hedie_mäht</variable>
<variable type="" id="aX}P_#IEqLB2A$I=jJvV">Heidi_Summe_Laufzeit</variable>
<variable type="undefined" id="Hedie_mäht_summe">Hedie_mäht_summe</variable>
<variable type="" id="eX(%oxI/**;OLDgi:K=`">Heidi_Start</variable>
</variables>
<block type="procedures_defcustomnoreturn" id="W-nXq2.wZ=32mxVz/7er" x="-813" y="-787">
<mutation statements="false"></mutation>
<field name="NAME">Objekte_anlegen</field>
<field name="SCRIPT">Y3JlYXRlU3RhdGUoJ0hlaWRpLldlcnRlLkFrdHVlbCcsIDAsIHsgbmFtZTogJ0xhdWZ6ZWl0X0FrdHVlbCcsIGRlc2M6ICdBa3R1ZWwnLCB0eXBlOiAnbWl4ZWQnLCB1bml0OiAnbWluJywgbWluOiAnMCcsIG1heDogJzEwMDAwMDAnLHJlYWQ6IHRydWUsIHdyaXRlOiB0cnVlIH0pOyANCmNyZWF0ZVN0YXRlKCdIZWlkaS5XZXJ0ZS5TdW1tZScsIDAsIHsgbmFtZTogJ0xhdWZ6ZWl0X1N1bW1lJywgZGVzYzogJ1N1bW1lJywgdHlwZTogJ21peGVkJywgdW5pdDogJ21pbicsIG1pbjogJzAnLCBtYXg6ICcxMDAwMDAwJyxyZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSB9KTsgDQpjcmVhdGVTdGF0ZSgnSGVpZGkuV2VydGUuU1RBUlQnLCAwLCB7IG5hbWU6ICdBbnphaGxfU3RhcnQnLCBkZXNjOiAnU3RhcnQnLCB0eXBlOiAnbWl4ZWQnLCB1bml0OiAnU3RjaycsIG1pbjogJzAnLCBtYXg6ICcxMDAwMDAwJyxyZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSB9KTsNCmNyZWF0ZVN0YXRlKCdIZWlkaS5SZXNldCcsIDAsIHsgbmFtZTogJ1Jlc2V0X0FsbCcsIGRlc2M6ICdSZXNldCcsIHR5cGU6ICdsb2dpY3ZhbHVlJyxyZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSB9KTsgDQpjcmVhdGVTdGF0ZSgnSGVpZGkuQXVzZ2FiZVRlc3QnLCAwLCB7IG5hbWU6ICdBdXNnYWJlX1Rlc3QnLCBkZXNjOiAnQWt0dWVsJywgdHlwZTogJ2xvZ2ljdmFsdWUnLHJlYWQ6IHRydWUsIHdyaXRlOiB0cnVlIH0pOyANCmNyZWF0ZVN0YXRlKCdIZWlkaS5XZXJ0ZS5MZXR6dGVfTGF1ZnplaXQnLCAwLCB7IG5hbWU6ICdMZXR6dGVfTGF1ZnplaXQnLCBkZXNjOiAnTGV0enRlX0xhdWZ6ZWl0JywgdHlwZTogJ21peGVkJywgdW5pdDogJ21pbicsIG1pbjogJzAnLCBtYXg6ICcxMDAwMDAwJyxyZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSB9KTsg</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="procedures_callcustomnoreturn" id="HF#.W1f%#+x02SpI-*hb" x="-813" y="-762">
<mutation name="Objekte_anlegen"></mutation>
</block>
<block type="procedures_defnoreturn" id="Q9YfA6]Ded/p{|_o(0Kp" x="-787" y="-687">
<field name="NAME">Zähler_Aktuel_Heidi</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="update" id="l$e$spxDjEt3?/)QM/S_">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Aktuel</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="-ESCF[8t:/.Uq/9)1D$3">
<field name="VAR" id="y4g-_GfWq@qg5/^2)aFX" variabletype="">Heidi_Laufzeit_Aktuel</field>
</block>
</value>
<next>
<block type="timeouts_setinterval" id="~WVUtN`I{IbtuL}^58k4">
<field name="NAME">Hedie_mäht</field>
<field name="INTERVAL">1</field>
<field name="UNIT">min</field>
<statement name="STATEMENT">
<block type="math_change" id="%4w:5r_D3$|H.^,SZem!">
<field name="VAR" id="y4g-_GfWq@qg5/^2)aFX" variabletype="">Heidi_Laufzeit_Aktuel</field>
<value name="DELTA">
<shadow type="math_number" id="D%uqe7+a;G+6Qv^$Jaw!">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="dxP.L*GxihW;[2K]8Y`]">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="update" id="F4J,yGr}+DF*8x@whHCK">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Aktuel</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="4g-)Ov)-4+C?(7Y8J%zl">
<field name="VAR" id="y4g-_GfWq@qg5/^2)aFX" variabletype="">Heidi_Laufzeit_Aktuel</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
<block type="comment" id="+pmEcfVL_13=hqD--kxu" x="-12" y="-687">
<field name="COMMENT">Steuerung Virtuelle Heidi in HM und stop der Zähler</field>
<next>
<block type="on_ext" id="%mv~N?|o[O{KJGWFDSIB">
<mutation items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="RtrfDb=-#wtZrjE$FCHX">
<field name="oid">javascript.0.Heidi.AusgabeTest</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="jb^yk|8anDUd]jV8f-k!">
<mutation else="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="`iovX:O-vmVZr+dwf#W+">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="POi}N*Uw?T(}9gD-@ou$">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Heidi.AusgabeTest</field>
</block>
</value>
<value name="B">
<block type="text" id="m]R@9WqFGN2EoUi5)1[c">
<field name="TEXT">mäht</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="1iK}W3*JMje)nF_%1N1`">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Letzte_Laufzeit</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="get_value" id="kGhNLk0-yh+Z-i*Y=Ta=">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Heidi.Werte.Aktuel</field>
</block>
</value>
<next>
<block type="variables_set" id="+/*!cw662d5x@gJ_/ede">
<field name="VAR" id="y4g-_GfWq@qg5/^2)aFX" variabletype="">Heidi_Laufzeit_Aktuel</field>
<value name="VALUE">
<block type="math_number" id="I6Z,LN{`??fA_3#T1m)s">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id="6Y?^z|vm[[MOPNwV17__">
<mutation name="Zähler_Aktuel_Heidi"></mutation>
<next>
<block type="procedures_callnoreturn" id="]8GjY]PY7+^i_+~$XJt9">
<mutation name="Heidi_Summe_Laufzeit"></mutation>
<next>
<block type="debug" id="^3#h4tF;yAPRR{^.f.0S">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id=")K~XOh^S/bgd2p,o?!v%">
<field name="TEXT">Hedie Mäht</field>
</shadow>
</value>
<next>
<block type="control" id="@:$la@=e*E_7okto_[Mw">
<mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.1.CUX0200001.1.STATE</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="5^RG,(6Je)-goXngabFW">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="control" id="UcJsFHJmXAJ}3%GARMQ;">
<mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.1.CUX0200001.1.STATE</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="aZXcf~8XAYM~w#k;$Tic">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="timeouts_clearinterval" id="XhGFs7DmyY!NcyN0E~kt">
<field name="NAME">Hedie_mäht</field>
<next>
<block type="timeouts_clearinterval" id="ok#n(t?~z3a~flvB9kuk">
<field name="NAME">Hedie_mäht_summe</field>
<next>
<block type="debug" id="/+{*[kR*O^f9gT572CCp">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="iTT]MSB?LDC[RG5qZpw0">
<field name="TEXT">Hedie Mäht nicht mehr</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
<block type="comment" id="9tgOu.UoVN0#S;6]++*8" x="338" y="-662">
<field name="COMMENT">Hier anpassen</field>
</block>
<block type="comment" id="]V#msS(XaVj*V(R(7]2^" x="288" y="-612">
<field name="COMMENT">Hier anpassen</field>
</block>
<block type="comment" id="rJ2g~$|I$61:],0JZer^" x="-813" y="-487">
<field name="COMMENT">Laufzeitzähler Summe</field>
</block>
<block type="procedures_defnoreturn" id="ur%=Kw[f?kK]Z83lJc(F" x="-812" y="-463">
<field name="NAME">Heidi_Summe_Laufzeit</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="update" id="sR1/rMs-mYmvNGd6,ONe">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Summe</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="fxlYv(sw?a1?#=Gs@rs+">
<field name="VAR" id="aX}P_#IEqLB2A$I=jJvV" variabletype="">Heidi_Summe_Laufzeit</field>
</block>
</value>
<next>
<block type="timeouts_setinterval" id="Yy}Aj;#[U_$pLBX/D{!R">
<field name="NAME">Hedie_mäht_summe</field>
<field name="INTERVAL">1</field>
<field name="UNIT">min</field>
<statement name="STATEMENT">
<block type="math_change" id="N,:Iv)~MrL+3.|ODM5D^">
<field name="VAR" id="aX}P_#IEqLB2A$I=jJvV" variabletype="">Heidi_Summe_Laufzeit</field>
<value name="DELTA">
<shadow type="math_number" id="D%uqe7+a;G+6Qv^$Jaw!">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="6tEB`^xF8@_9Y?d_sS)a">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="update" id="x]HvVl^|7fCde6/`Vq}-">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Summe</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="QG%y9sABVx3[NpkzlqS^">
<field name="VAR" id="aX}P_#IEqLB2A$I=jJvV" variabletype="">Heidi_Summe_Laufzeit</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
<block type="comment" id="xS^%8$RscjDi2Qj{ZmL," x="-812" y="-262">
<field name="COMMENT">Summe Start</field>
<next>
<block type="on_ext" id="oBXGQ{V=9^$gQY_-F,A%">
<mutation items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="Ti,KqYT/dS:QTJ{X|lRF">
<field name="oid">javascript.0.Heidi.AusgabeTest</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="A*{|)KbnzDg,]Rn*q?S[">
<value name="IF0">
<block type="logic_compare" id="cxP7E:xk!O3/:)]{-_CA">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="?$}?^kRoZ7MLw{3Ved-F">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Heidi.AusgabeTest</field>
</block>
</value>
<value name="B">
<block type="text" id="~?S}k~9!S*[w?NMtPr-M">
<field name="TEXT">mäht</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="math_change" id="kj!)_ooWYBknRbK3fO@}">
<field name="VAR" id="eX(%oxI/**;OLDgi:K=`" variabletype="">Heidi_Start</field>
<value name="DELTA">
<shadow type="math_number" id="D%uqe7+a;G+6Qv^$Jaw!">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="6MI^fq1Q=he{/ZZ!pm7l">
<field name="NUM">1</field>
</block>
</value>
</block>
</statement>
<next>
<block type="procedures_callnoreturn" id="WF(Pa2FJ,IcZ.D|qC}Nt">
<mutation name="Summe_Start"></mutation>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="y.!w;Lly)dWp:_=M!i=D">
<field name="COMMENT">Schreibe in Objekt Heidi_Summe_Start</field>
</block>
</next>
</block>
</next>
</block>
<block type="comment" id="2jwMH]=.StCD144k]JLn" x="-462" y="-237">
<field name="COMMENT">Hier anpassen</field>
</block>
<block type="comment" id="0NcH`SU8Jlq=EPVD[_@/" x="-512" y="-187">
<field name="COMMENT">Hier anpassen</field>
</block>
<block type="comment" id="ZqDn};jgez6!$_F1Vqos" x="38" y="-162">
<field name="COMMENT">RESET Alle Zähler</field>
<next>
<block type="on_ext" id="]/@.4.5e,@L#kM:3{;vc">
<mutation items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="p9-N0w{fIg:J/q?nKaqi">
<field name="oid">javascript.0.Heidi.Reset</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="id]|AgZU|3Uku_V]y4(V">
<value name="IF0">
<block type="logic_compare" id=",2t8e=0=|@lCUvcs[4?X">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="bs%~ugm/x!|)$a9HLJ]7">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Heidi.Reset</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="H0ByN9LiE[YR:=m:0!V-">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="/Di4!_.kVbFe5f(kg@/l">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Summe</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="PUglxf#a=bB{/MsIcvuL">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="update" id="p~|@bQ)5yOkfN3VmA^Di">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.START</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="+iP*rHBo^6T;NWOnk[+!">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="update" id=",0jT2$ko*M6QxwEKZ~q%">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Aktuel</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="GeSr$Vkc~+k_S[058(D2">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="update" id="%H0GPQWSO@6E,vjxL#4Y">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.Letzte_Laufzeit</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="~,qydQiq!k%6Y_z;X=vR">
<field name="NUM">0</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
<block type="procedures_defnoreturn" id="Tsrs^.*[G~i*(Tm~Elr1" x="-812" y="13">
<field name="NAME">Summe_Start</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="update" id="IOmvxHfvj2IGU@$s(sYx">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Heidi.Werte.START</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="e8j~Ni6Lj%~rI]w-o4W]">
<field name="VAR" id="eX(%oxI/**;OLDgi:K=`" variabletype="">Heidi_Start</field>
</block>
</value>
</block>
</statement>
</block>
</xml>