NEWS
Verbrauchsschwankung mit Blockly erkennen
-
also das mit dem Zähler fand ich jetzt für mich die nicht 100% Lösung...
Hab es jetzt mal mit Timer probiert, in der Testumgebung (virtuellen Zahlen) hat es gut funktioniert, mal sehen wie es in der Praxis läuft :-)
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timer_Knitterschutz">timer_Knitterschutz</variable> <variable type="undefined" id="timer_fertig">timer_fertig</variable> <variable type="undefined" id="timer_start">timer_start</variable> </variables> <block type="on_ext" id="{@YbEO81jP45_Wv%`G~V" x="-387" y="-12"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="KKMh9]1;JU;y)l~O1?:8"> <field name="oid">eigene_Geräte.0.Trockner.Trockner</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Tz-/aRLZ%6yfRg?~!ASl"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="RFQ:hZTWTn+0fqk3L{(-"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="3%TT^X~(Q5aB}Y4s]Fya"> <field name="ATTR">val</field> <field name="OID">eigene_Geräte.0.Trockner.Trockner</field> </block> </value> <value name="B"> <block type="text" id="(,:]5Jvy-G1K(g[v@jo1"> <field name="TEXT">200</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="GDB?IltR,Hog?lZkj@Ri"> <field name="NAME">timer_fertig</field> <next> <block type="timeouts_cleartimeout" id="MxsxpE}%wX+vOka^6sJE"> <field name="NAME">timer_Knitterschutz</field> <next> <block type="timeouts_settimeout" id="%sP/]s/Wq[CN5Cr)ZXcE"> <field name="NAME">timer_start</field> <field name="DELAY">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control" id="QTzY}_ond~G]B|eRA@Lq"> <mutation delay_input="false"></mutation> <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Gyn`!|3.4qS].:ColIeT"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="dCPQU95vaZjskHy8WfRw"> <mutation delay_input="false"></mutation> <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="m_m~oziSEG8Vbxg9hS]0"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="^9/A}3)3rA2pc/6=/Fto"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="?-}lTJ41aADEukuCBat3"> <field name="ATTR">val</field> <field name="OID">eigene_Geräte.0.Trockner.Trockner</field> </block> </value> <value name="B"> <block type="text" id="8DfHDB3lV*UAzbe]eVcU"> <field name="TEXT">5</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_cleartimeout" id="OdwG.CwD~j,[RvL`/$Y7"> <field name="NAME">timer_start</field> <next> <block type="timeouts_settimeout" id="T.AsjIcgdlrs;ME/eGv7"> <field name="NAME">timer_Knitterschutz</field> <field name="DELAY">20</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control" id="QHrg0]k0wr3PfuIBsJ!H"> <mutation delay_input="false"></mutation> <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="l3U+F]JlZaL11c5(J`P]"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="timeouts_settimeout" id="`gsfK+4~NVuy0`cutC,Q"> <field name="NAME">timer_fertig</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="ZD!YyTw9oj8G~fNS1,Rh"> <mutation delay_input="false"></mutation> <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="yvf2u7C=BrSJ08v;SWbf"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="Q94+tPd)Uj`%l=N7ri-f"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="kS?`eSEel]v1S.F]V.*x"> <field name="oid">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="?iCVZFXaeJEzUKNC8k!r"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="[(T!mZH}Nvn*dCCtr6u."> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?ZYV1).sdAbe33eT9UVJ"> <field name="ATTR">val</field> <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field> </block> </value> <value name="B"> <block type="logic_boolean" id="#yWUf6y]^$tg{WVtm/;*"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="O+6t}Cv2l-_thLLhPiHJ"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="lLV8E7P8=x,g1j.M[`#-"> <field name="TEXT">Die Waschmaschine wurde angeschaltet</field> </shadow> <block type="text" id="XVOEYo.x?twa;r+MeYGc"> <field name="TEXT">Der Trockner startet den Knitterschutz ! </field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="2VfDCLfBt@w0Tz+8/vyY"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*yVKM0%[r~#@JMQE.-[="> <field name="ATTR">val</field> <field name="OID">eigene_Geräte.0.Trockner.Trockner_Knitterschutz</field> </block> </value> <value name="B"> <block type="logic_boolean" id="3-+a.bG=Tt}oj`jYJ1l^"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="telegram" id="2oPfv{ptPp%y[jwp^@?0"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="lLV8E7P8=x,g1j.M[`#-"> <field name="TEXT">Die Waschmaschine wurde angeschaltet</field> </shadow> <block type="text" id="CRLGpd#_}:2;FaGp^8aD"> <field name="TEXT">Der Trockner wurde angeschaltet </field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="^bjX`z`(c6|NOE7od8m{"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="p(Y8#7ya#8V)V_r=L|AY"> <field name="oid">eigene_Geräte.0.Trockner.Trockner_fertig</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="c}KW,NC~y{R3,GHaCdm~"> <value name="IF0"> <block type="logic_compare" id="BLPv?Av{QCjSZwz2C9o7"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="f-.T9%q:49F7M`dkh*/S"> <field name="ATTR">val</field> <field name="OID">eigene_Geräte.0.Trockner.Trockner_fertig</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Bb2WzPjc27[}p;0e{z^U"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="VxKMn*kukZ9.LFX4,|f`"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="sKyyX,f?IkAZP`RFQReF"> <field name="TEXT">Die Waschmaschine ist fertig :)</field> </shadow> <block type="text" id="U5)QI0lF+t{v~!!J9xIy"> <field name="TEXT">Der Trockner ist fertig :) </field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </xml> -
und wenns genauer aber komplexer werden sollte,
dann noch was mit gleitendem durchschnitt
http://www.iobroker.net/docu/?page_id=3670&lang=deDas hier sind deine Daten aus der Excel mit einem gleitenden Durchschnitt (schwarze linie) von 50

zum selber ausprobieren:
hier links die daten mit watt als datenreihe 1
dann rechts die 2 spalte mit dem timestamp
danach in das erzeugte diagramm auf die datenlinie mit rechte maustaste klicken und trendlinie hinzufügen. gleitender druchschnitt wählen und mit zeitraum rumspielen (hier mit 50)

das oben genannte skript müsste man so anpassen, dass für die verbrauchsdaten der letzen ca 30 sekunden bis 1 minute Daten in der liste wären und darüber dann durchjagen
aber wie gesagt, genauer aber auch komplizierter
-
und wenns genauer aber komplexer werden sollte,
dann noch was mit gleitendem durchschnitt
http://www.iobroker.net/docu/?page_id=3670&lang=deDas hier sind deine Daten aus der Excel mit einem gleitenden Durchschnitt (schwarze linie) von 50

zum selber ausprobieren:
hier links die daten mit watt als datenreihe 1
dann rechts die 2 spalte mit dem timestamp
danach in das erzeugte diagramm auf die datenlinie mit rechte maustaste klicken und trendlinie hinzufügen. gleitender druchschnitt wählen und mit zeitraum rumspielen (hier mit 50)

das oben genannte skript müsste man so anpassen, dass für die verbrauchsdaten der letzen ca 30 sekunden bis 1 minute Daten in der liste wären und darüber dann durchjagen
aber wie gesagt, genauer aber auch komplizierter
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden