NEWS
Rasenmäher Endzeit - Startzeit = Dauer speichern
-
@Accu sagte:
Ich weiß nicht ob man das mit 2 oder 3 abfangen kann?
Wenn auf "vorheriger Wert = 2" geprüft wird, ist Mähen gerade beendet, egal welcher neue Status angenommen wird.
-
@paul53 ich habe es jetzt doch mit dem History hinbekommen und den Status mal mitgeloggt (siehe unten).
Heute Mittag kam wieder die Meldung dass der Mäher angeblich nur 4 min gefahren sei.
Seltsam dass der Code nach 4min wechselt.Anbei einmal die Telegramm Meldung und die Robo Codes die es gibt.
-
-
Ich habe heute einmal darauf geachtet und im Log nachgesehen.
um 14 uhr war der Start. (Status 2)
um 15 Uhr war das Endeblöderweise wird, warum auch immer kurz vor Ende noch einmal der Status 2 gesetzt (14:59)
kann man das irgendwie programmtechnisch abfangen?
-
@Accu sagte:
kurz vor Ende noch einmal der Status 2 gesetzt (14:59), kann man das irgendwie programmtechnisch abfangen?
Mit Trigger "wurde geändert" und Differenzbildung "letzte Änderung" - "vorherige letzte Änderung" wird diese Aktualisierung ignoriert, da es keine Wertänderung ist.
-
habe es jetzt so:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="r)M)J`L2gdR+-rjVpLQA">Dauer</variable> <variable type="" id="kE/kiClb=y?}6)j?_-_R">std</variable> <variable type="" id="F..#nc_!4s(/0NkG7Dzk">min</variable> <variable type="" id="DRJ.iVA5f}kG0snR{]c|">sec</variable> </variables> <block type="on" id="cs~te#thQW#;E}~%[dl:" x="-2262" y="-813"> <field name="OID">robonect.0.status.status</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="ACZ2l@qR5uVDesc;Qw(m"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="t;NAYM2tTT4]R)..I]XM"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="G$@Mrx{Y{|xfMVSJrZAE"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="3;54XhGs31;DcGiQ~n3,"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="2!p+PV1saI=q!@K|Ir|q"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="8:0Y,wE6|ev^*~mt]8ol"> <field name="TEXT">Paul fängt jetzt das Rasenmähen an.</field> </shadow> </value> <next> <block type="control" id="vQd|F#_`Z-90cVo}Q2ly"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G070RR138312054L.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="Y+SB`RY.pMm9IWrjo:e-"> <field name="TEXT">Paul sagt: Kannst Du Dein Haus nicht mehr erspähen wird es höchste Zeit zum Rasenmähen </field> </block> </value> <next> <block type="control" id="WBD4.25Ie$LsWVZz3j_S"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LF0971521B4M.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">10</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="k0x?~2-IV%5,qSXV?(Ql"> <field name="TEXT">Paul sagt: Unkraut ist die Opposition der Natur gegen die Regierung der Gärtner.</field> </block> </value> <next> <block type="control" id="[JwN;JQ/]mKe.S}VXujz"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LF11745408CD.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">15</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id="`,@Qh+garav~A)*Lr6nv"> <field name="TEXT">Paul sagt: Unkraut ist alles, was nach dem Jäten wieder wächst</field> </block> </value> <next> <block type="controls_if" id="QgDbDr/L=mbSt~={qDDo"> <value name="IF0"> <block type="logic_compare" id="6[`9E.kG+wc45PGs2#4-"> <field name="OP">EQ</field> <value name="A"> <block type="convert_toboolean" id="xBo%6UVn:Ko~/a-/?A-j"> <value name="VALUE"> <block type="get_value" id="Xg^YXOIlR!/nxu#g83JX"> <field name="ATTR">val</field> <field name="OID">lgtv.0.states.on</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="X|5gfom?`O;qRQa^NO5}"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="r^MMa/-qkidv|PcPP)0!"> <mutation delay_input="false"></mutation> <field name="OID">lgtv.0.states.popup</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="XOQf+6$.T4^s[8v@2K#i"> <field name="TEXT">Paul sagt: Was ist der Unterschied zwischen einem Minirock und einem Rasenmäher?…Faß mal drunter…</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="c)w`SEDk{Hsofx?CMA,*"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="hljohzkK)P=?(TcNl_jB"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="wRc!3;oyFtl0#.FCx9qq"> <field name="NUM">4</field> </block> </value> </block> </value> <statement name="DO1"> <block type="telegram" id="6bh7.~7@tF^[(r`[i#4~"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="P=n(ben`N(}o,yEGI}Ux"> <field name="TEXT">Paul ist jetzt wieder in der Ladestation und läd auf.</field> </shadow> </value> </block> </statement> <next> <block type="controls_if" id="3u_=MAN42B1?UM0}=M_S"> <value name="IF0"> <block type="logic_compare" id="TH^mE[.{=sgnDEHtasK/"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="u$yucfese]^~y_Q{H%6X"> <field name="ATTR">state.lc</field> </block> </value> <value name="B"> <block type="math_number" id="rGR|_nKY.C7t`}rM?V2O"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="(uZLcOltI|3KAYUIX?la"> <field name="COMMENT">Einschaltdauer in s</field> <next> <block type="variables_set" id="AAGg8D=NIW)$jdm!HX}9"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> <value name="VALUE"> <block type="math_round" id="tz!ft0KeV-H-!$k@SM$K"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="{g@.`En/t_VrZ;wI[~$P"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id=".P]SR!Pq:?kZrwSqb8X`" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="]p.pVk3zL(tptGOBQa1f"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="p8Bo|d@2I%CQigv9vQg0" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="JdlI$t%2[jdjU{xrur^5"> <field name="NUM">1</field> </shadow> <block type="on_source" id="i1DKFbnp@[R:t$R)q))%"> <field name="ATTR">state.lc</field> </block> </value> <value name="B"> <shadow type="math_number" id="Tn=mC~*zYHxZ{n9%w+=F"> <field name="NUM">1</field> </shadow> <block type="on_source" id="WW@h5gJm(Wu017fZz/(g"> <field name="ATTR">oldState.lc</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="Y3HvzC=A-Mc[+N:zybZ1"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="IsisxgwIpg{:o:{;3!?3"> <field name="VAR" id="kE/kiClb=y?}6)j?_-_R" variabletype="">std</field> <value name="VALUE"> <block type="math_round" id="%HEm,*dFOQ/e[$j]={uG"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="*LdrF*2T_H99F$C-AQ.S"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="_:]YgVi^cs?Y8wEn0zH,"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="FsVvP2(eT4WY-~%s9pY2"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="aUs1r^;I~]DKdFD2G!3J"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="#Pku{x)L}o~QWLDu97Yi"> <field name="NUM">3600</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="kxdT/Zb[,y4Mu|iuUj[["> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> <value name="VALUE"> <block type="math_arithmetic" id="!d^/09}I#:^erq$Ofd60"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="2#5V2DlWFiXcPjoi{wXY"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="5`YGDPJ^@y/rFCm-[8*7"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="?u8TE#ViTZQXst+#^+8T"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="jCX*zx_Vj#|8!V6upEe~"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="FsVvP2(eT4WY-~%s9pY2"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="C?fIXN?6zy?%)MB1Y3;!"> <field name="VAR" id="kE/kiClb=y?}6)j?_-_R" variabletype="">std</field> </block> </value> <value name="B"> <shadow type="math_number" id="r;o=_?mQ1Y6A~MAHpH@m"> <field name="NUM">3600</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="#?K9?Bzbc(,[q=f}hO*|"> <field name="VAR" id="F..#nc_!4s(/0NkG7Dzk" variabletype="">min</field> <value name="VALUE"> <block type="math_round" id="W|pgqG{c+4/0*(nIhKX|"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="*LdrF*2T_H99F$C-AQ.S"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="az~GP+|whT6nxz1NCzk|"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="FsVvP2(eT4WY-~%s9pY2"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="(3J1*x*xqB[oruvy|:o1"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="e]L~2Tp[?3D0cLwrlYo]"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="+iQ2o`i*L6};[P)BMFP1"> <field name="VAR" id="DRJ.iVA5f}kG0snR{]c|" variabletype="">sec</field> <value name="VALUE"> <block type="math_arithmetic" id="oK]YvZCP0{NoNwenRKSp"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="2#5V2DlWFiXcPjoi{wXY"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="NhS7fxXrLpt%/Z2K6^fg"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="?u8TE#ViTZQXst+#^+8T"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="^+Kra1B7w(EJ,xM1~tt7"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="FsVvP2(eT4WY-~%s9pY2"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="[M28GQ0qXx|g#iG})#+W"> <field name="VAR" id="F..#nc_!4s(/0NkG7Dzk" variabletype="">min</field> </block> </value> <value name="B"> <shadow type="math_number" id=";#D_$p379}e/a=,5CS8v"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="telegram" id="Tc8#Krg9)c2g:3(*1TUq"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="|?dr_ndHB`}],Bii?fbe"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="bt)4lz4o`on5,BrlD87:"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="!Q!zIW}c7{q;t{Z5H^ej"> <field name="TEXT">Die Dauer des Rasenmähens betrug: </field> </block> </value> <value name="ADD1"> <block type="math_round" id="$Q{c,`G+c%ExXDn-MG4U"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="*LdrF*2T_H99F$C-AQ.S"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="lre=}(U,t7MV3WJIDRy/"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="mn7Fh4]|Epxm/;SbywE6"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="t!W13C47[1-2p8_*SJhd"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="-R0utA)-Fl1m/#P)R+qg"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="^A~jKfq-~gLKVNN(Rjd`"> <field name="TEXT"> Minuten.</field> </block> </value> </block> </value> <next> <block type="controls_if" id="8g|Ccl~,FIow0fNq?MF1"> <value name="IF0"> <block type="logic_compare" id="Y.$7Id_[O(xg%7_elHSe"> <field name="OP">EQ</field> <value name="A"> <block type="convert_toboolean" id="?,W*/LEac.e[x)1#^g:F"> <value name="VALUE"> <block type="get_value" id="@BiCqH^PT?@Ld5,iwsXf"> <field name="ATTR">val</field> <field name="OID">lgtv.0.states.on</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="Vf-`-8s`p/)mBljUJnzL"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=".IN.:qKncvS0(dbZrnAT"> <mutation delay_input="false"></mutation> <field name="OID">lgtv.0.states.popup</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="O;DGRHfa]R.[%f@p^?P^"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id=";h,mV7L[v+aIl!uFnb*`"> <field name="TEXT">Die Dauer des Rasenmähens betrug: </field> </block> </value> <value name="ADD1"> <block type="math_round" id="Am6g?Xk%e8?022:K9W=W"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="*LdrF*2T_H99F$C-AQ.S"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="USa66ro0Wg]_GI3PhN[^"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="mn7Fh4]|Epxm/;SbywE6"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="Q#lONSW[PSNL0t)z2Av$"> <field name="VAR" id="r)M)J`L2gdR+-rjVpLQA" variabletype="">Dauer</field> </block> </value> <value name="B"> <shadow type="math_number" id="xe4nh7l*H0-TBuY?HzlX"> <field name="NUM">60</field> </shadow> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="f(^/gbp.FWeH?$.f5:m8"> <field name="TEXT"> Minuten.</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
-
@paul53 ebenfalls korrigiert. Passt der Code so jetzt? (Sorry bin leider kein Blockly Experte)
-
@Accu sagte:
Passt der Code so jetzt?
Hast Du den korrigierten Code importiert ? Ich habe einige Änderungen vorgenommen (Abfrage "vorheriger Wert", Dauer).
-
oh sorry - das hatte ich falsch verstanden. Mache ich gleich. Der Mäher lief nämlich gerade und es wurde gar keine Message an Telegram geschickt.
Ich kopiere es mal und berichte wieder. Danke für Deine Hilfe. -
scheint zu funktionieren
vielen Dank für die Unterstützung -
@Accu sagte:
scheint zu funktionieren
Dann markiere bitte das Thema in der Überschrift des ersten Beitrags als [gelöst].