NEWS
[VORLAGE] Blockly Meldung wenn Waschmaschine fertig
-
Sorry das ich so nervig bin… `
Wenn es nervig wird, sag ich es schon
@radiorichter:Welches Gerät nutzt du den um den Verbrauch zu messen? Wie oft holst du dort den Wert ab? `
HomeMatic Funk Schaltaktor mit Leistungsmeddung HM-LC-Sw1-Pl-DN-R1.Dabei holt man den Wert nicht ab.
Das macht der Trigger, der reagiert nur wenn der Wert sich ändert.
Wie triggerst Du denn das Blockly?
Mach doch mal einen Screenshot und/oder Export.
Grüße
-
Sorry das ich so nervig bin… `
Wenn es nervig wird, sag ich es schon
@radiorichter:Welches Gerät nutzt du den um den Verbrauch zu messen? Wie oft holst du dort den Wert ab? `
HomeMatic Funk Schaltaktor mit Leistungsmeddung HM-LC-Sw1-Pl-DN-R1.Dabei holt man den Wert nicht ab.
Das macht der Trigger, der reagiert nur wenn der Wert sich ändert.
Wie triggerst Du denn das Blockly?
Mach doch mal einen Screenshot und/oder Export.
Grüße ` Ah verstehe, dein Gerät gibt dir 0 und 1 zurück, meiner die gemessen Werte.
Ich schau mal ob meiner das zusätzlich auch macht, bzw müsste ich da noch wo. Skript basteln, das mir das zurück gibt.
Gesendet von meinem HUAWEI VNS-L21 mit Tapatalk
-
Ah verstehe, dein Gerät gibt dir 0 und 1 zurück, meiner die gemessen Werte. `
NEIN!!!!!!
Meiner gibt mir die POWER/Watt an.
Sonst würde das ja alles nicht funktionieren.
Der Trigger reagiert aber nur wenn sich der Wert von POWER <u>ändert</u>!!!
Ich glaube Dein Waschmaschinen-Blockly hat nichts mit meinem zutun.
Einen Screenshot oder Export stellst Du leider nicht zur Verfügung.
Meine Glaskugel habe ich verlegt und stochern im Nebel mache ich auch nicht so gerne :roll:
-
Ah verstehe, dein Gerät gibt dir 0 und 1 zurück, meiner die gemessen Werte. `
NEIN!!!!!!
Meiner gibt mir die POWER/Watt an.
Sonst würde das ja alles nicht funktionieren.
Der Trigger reagiert aber nur wenn sich der Wert von POWER <u>ändert</u>!!!
Ich glaube Dein Waschmaschinen-Blockly hat nichts mit meinem zutun.
Einen Screenshot oder Export stellst Du leider nicht zur Verfügung.
Meine Glaskugel habe ich verlegt und stochern im Nebel mache ich auch nicht so gerne :roll: ` Schicke ich gleich sobald ich wieder zuhause bin
Immer diese glaskugeln
Gesendet von meinem HUAWEI VNS-L21 mit Tapatalk
-
so aber jetzt Das mit dem Wert abholen, es war so gemeint, dass der TP link alle 5sekunden den Wert der Steckdose abholt, heist also ich habe alle 5sek den aktuellen Wert im Objekt ID "Trockner"
Hier mal skript für den trockner, hab eigentlich nix dran verändert, nur den Grenzwert auf 3Watt. Vielleicht findest du ja den fehler bei mir…
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id=":XvakORUFJ^I1/^;0qD" type="create" x="13" y="13"><field name="NAME">Trockner_AN</field>
<statement name="STATEMENT"><block id="{sE:ObK=NAn@P|:o{a2;" type="control"><mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Trockner_AN</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="]lqD,f*r}HWU/#~|sb]1" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement>
<next><block id="@`s,ARMz+DZns;z2m" type="comment"><field name="COMMENT">Initialisierung bei Scriptstart</field>
<next><block id="Ov|lJMd@PV!y.oUN9Boj" type="comment"><field name="COMMENT">VerzögerungAktiv NICHT ändern</field>
<next><block id="T+;|Db@bx|T]wkX[e.xT" type="variables_set"><field name="VAR">VerzoegerungAktiv</field>
<value name="VALUE"><block id="FimMeG{k6LBu0{7UjBJ4" type="logic_boolean"><field name="BOOL">FALSE</field></block></value>
<next><block id="6q4+KcF6/q*eh;RCmGKL" type="comment"><field name="COMMENT">Entscheidungswert festlegen</field>
<next><block id="pE;t15K()B2=@=,RY5D_" type="variables_set"><field name="VAR">GrenzWertInWatt</field>
<value name="VALUE"><block id="OB=)nO2pXH:1HNwm(JpG" type="math_number"><field name="NUM">3</field></block></value>
<next><block id="|2tm%?,yK/o3_AA)J{ah" type="comment"><field name="COMMENT">Steckdose überwachen</field>
<next><block id="n)UklDS{=z!-#^HfL@Ly" type="on_ext"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow id="@Uda~stBc8L/=2DFzrvo" type="field_oid"><field name="oid">hs100.0.192_168_1_95.power</field></shadow></value> <statement name="STATEMENT"><block id="=n/Jfc]x(Ib[NRPJZ%7X" type="controls_if"><value name="IF0"><block id="?m1STicTe5=N-/f:Ji2s" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="QjKQBx`PdHENcy)eGM,5" type="on_source"><field name="ATTR">oldState.val</field></block></value> <value name="B"><block id=":(p2PWPzD2(~R-q9upeS" type="math_number"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block id=";%e=m5A.5_U8[v[Odt7." type="comment"><field name="COMMENT">Dieser Teil wird NUR ausgeführt wenn</field> <next><block id="Bv,r2iN_4zSfF_^X35gM" type="comment"><field name="COMMENT">Funkstecker oder Waschm. komplett aus war.</field> <next><block id="xuK#29.xYf)m6FX5LA78" type="variables_set"><field name="VAR">VerzoegerungAktiv</field> <value name="VALUE"><block id=")}Jh9zUdflaLNnL+;^h=" type="logic_boolean"><field name="BOOL">TRUE</field></block></value> <next><block id="Wv*jiP9Bn3#//0KE[4e[" type="debug"><field name="Severity">log</field> <value name="TEXT"><shadow id="!hyL_SIc#q!nV1G.NU,/" type="text"><field name="TEXT">***Starte Verzögerung</field></shadow></value> <next><block id="v[ws-ZxN:-nNl,kERlT8" type="timeouts_settimeout"><field name="NAME">Einschaltverzoegerung</field> <field name="DELAY">20</field> <field name="UNIT">sec</field> <statement name="STATEMENT"><block id="UyUTD{W;Ef;u2!)%y5h|" type="comment"><field name="COMMENT">Eventuell hohe Einschaltspannung abfangen.</field> <next><block id="^wiM;VZ*5RLS-+SMsG7?" type="comment"><field name="COMMENT">Diese kann größer als der Grenzwert sein</field> <next><block id="@d2;tEWydly|fW:ng;eg" type="variables_set"><field name="VAR">VerzoegerungAktiv</field> <value name="VALUE"><block id="S5R1RMtIKx(=N;}|dM%Z" type="logic_boolean"><field name="BOOL">FALSE</field></block></value> <next><block id="1^,/eLLAT{#66hqVIel8" type="debug"><field name="Severity">log</field> <value name="TEXT"><shadow id="[koH26;mOP0UeXV~CJRb" type="text"><field name="TEXT">***Beende Verzögerung</field></shadow></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></statement> <next><block id="EZK4(UY%`}HZl{2F)m6p" type="comment"><field name="COMMENT">Ab hier wird gewaschen</field> <next><block id="S(-Xvr1uja6/vNdH|?j:" type="controls_if"><mutation elseif="2"></mutation> <value name="IF0"><block id="s(;r=_ekdU*dF=_Tsrbb" type="logic_operation" inline="false"><field name="OP">AND</field> <value name="A"><block id="d_lZY_VlNaa40/Pob=Um" type="logic_compare"><field name="OP">GT</field> <value name="A"><block id="`c4GU.`+o2_G+Vdxq;n/" type="on_source"><field name="ATTR">state.val</field></block></value> <value name="B"><block id="FD[JnQcwajuYLgGmTX`." type="variables_get"><field name="VAR">GrenzWertInWatt</field></block></value></block></value> <value name="B"><block id="*Y`H0qa!`fsBeI/2Cv+c" type="logic_operation" inline="false"><field name="OP">AND</field> <value name="A"><block id="zC,(}TPXAvX2yd^k`W._" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id=";a;[[bw/v2oQnG9DHZIn" type="get_value"><field name="ATTR">val</field> <field name="OID">javascript.0.Trockner_AN</field></block></value> <value name="B"><block id=";a5=vVD`86hstjR{4y~+" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></value> <value name="B"><block id="K.3M9Le`+STB!.M_eD7O" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="[!KuvI83Wzp*sDDNM{S!" type="variables_get"><field name="VAR">VerzoegerungAktiv</field></block></value> <value name="B"><block id="9_[X?aI?X1w]lj.RY`K^" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value> <statement name="DO0"><block id="S6URE:3#}}.v#e!X.A4D" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Trockner_AN</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="QqpwRU?xP?P=bvS9HS[1" type="logic_boolean"><field name="BOOL">TRUE</field></block></value> <next><block id="=!*WIp};Ta`)XeMMk,iR" type="procedures_callnoreturn"><mutation name="Melden"><arg name="Meldetext"></arg></mutation> <value name="ARG0"><block id="{QcAY3oi:,FGG.929?TS" type="text"><field name="TEXT">Trockner läuft</field></block></value></block></next></block></statement> <value name="IF1"><block id="Yuagp|w@)mC+asceXLLu" type="logic_compare"><field name="OP">GT</field> <value name="A"><block id="P(tu4AS{);E?w-p?]{1q" type="on_source"><field name="ATTR">state.val</field></block></value> <value name="B"><block id="ou6,Zi?vbs[;{]@93U`!" type="variables_get"><field name="VAR">GrenzWertInWatt</field></block></value></block></value> <statement name="DO1"><block id="H90l#sdGb5I}Wqsbz=9s" type="comment"><field name="COMMENT">Timer stoppen</field> <next><block id="zo=cPu~=j#pus6bWVaJl" type="procedures_callnoreturn"><mutation name="checkFertig"><arg name="parameter"></arg></mutation> <value name="ARG0"><block id="1SYbGS^3xkqD/Uj?{bvJ" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF2"><block id="_@|YxZPYI(z3![Q=ZbX4" type="logic_operation" inline="false"><field name="OP">AND</field> <value name="A"><block id="Ge6FX#6b5WYoc;wF%%iH" type="logic_compare"><field name="OP">LT</field> <value name="A"><block id="0Vw33+AwVD~={g{aHa~d" type="on_source"><field name="ATTR">state.val</field></block></value> <value name="B"><block id="NufLwbvZR1.fEmqJNOTZ" type="variables_get"><field name="VAR">GrenzWertInWatt</field></block></value></block></value> <value name="B"><block id="X[1t=zl25bQ]aHT[:`,8" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="4WFkiPOYU?#zQhOL)0u(" type="get_value"><field name="ATTR">val</field> <field name="OID">javascript.0.Trockner_AN</field></block></value> <value name="B"><block id="?jrLY7K)k;1?sa!Ef{VO" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO2"><block id="}Q59!:8+Dc~b~LwZhq-(" type="comment"><field name="COMMENT">Timer starten</field> <next><block id=";MD%1IF[[H29g_f=vvYH" type="procedures_callnoreturn"><mutation name="checkFertig"><arg name="parameter"></arg></mutation> <value name="ARG0"><block id="/yX*,4aU!HHUO#/2U-NR" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block>
<block id="l1.gm
YNTt2#Ww;_Stf+" type="procedures_defnoreturn" x="538" y="12"><mutation><arg name="Meldetext"></arg></mutation> <field name="NAME">Melden</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block id="CgkHkrp5c26e
w3uU(i`" type="comment"><field name="COMMENT">Hier wird die Meldung ausgegeben</field>
<next><block id="SYQu;@N0JgE!W~[JZcZ_" type="debug"><field name="Severity">log</field>
<value name="TEXT"><shadow id="4+J8c.^+FrkDV^]dAda-" type="text"><field name="TEXT">test</field></shadow>
<block id="KuX^Hf4/i6gnp|rmq9WR" type="variables_get"><field name="VAR">Meldetext</field></block></value>
<next><block id="+c4#MKD8|._quebX/:F=" type="pushover"><field name="PRIORITY">0</field><value name="MESSAGE"><shadow id="%]2)zTi//RP,Q32KEx8j" type="text"><field name="TEXT">text</field></shadow> <block id="vr/?~{0s^u6P#@ycg1!L" type="variables_get"><field name="VAR">Meldetext</field></block></value> <value name="TITLE"><block id="BJMD{Vjrqqqs2_0DW1FY" type="text"><field name="TEXT">Trockner</field></block></value> <next><block id="a;Ent4V!@/ELz)~^PTwn" type="comment"><field name="COMMENT">Hier den SendTo Baustein einsetzen,</field> <next><block id="Xc,u6Sm.@c5xeqVM)suq" type="comment"><field name="COMMENT">den man benutzen will.</field> <next><block id="cI=%X;P?/Tfam8YIny%V" type="comment"><field name="COMMENT">Die Meldung befindet sich in der Variablen</field> <next><block id="{(av)+6o4VfWo^eJEnft" type="comment"><field name="COMMENT">"Meldetext"</field></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block>
<block id="sDP?w~)oJD}Z95[?EY0" type="procedures_defnoreturn" x="13" y="1387"><mutation><arg name="parameter"></arg></mutation>
<field name="NAME">checkFertig</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK"><block id="V2@7jqv5RTl+}q}xfEsZ" type="comment"><field name="COMMENT">Timer stoppen</field>
<next><block id="y7iPL;/^^,);q|%Pk6;" type="timeouts_cleartimeout"><field name="NAME">timeout</field>
<next><block id="DX-|5tM5.|5Qw0p76" type="controls_if"><value name="IF0"><block id="[-Hs2uzeFf6L7XO4:d6g" type="logic_compare"><field name="OP">EQ</field>
<value name="A"><block id="uT*6f!Y:?Sivq1F-y;7" type="variables_get"><field name="VAR">parameter</field></block></value>
<value name="B"><block id="w?1)4.uK{/ey3NJ)NjH:" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value>
<statement name="DO0"><block id="fU`TRz:hy1K[t@GmyY:" type="comment"><field name="COMMENT">Timer starten</field>
<next><block id="5@P-l84nXI^c!6tmXiL(" type="timeouts_settimeout"><field name="NAME">timeout</field>
<field name="DELAY">20</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT"><block id="UOquZ.)w|Dv~5_@iCHO" type="control"><mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Trockner_AN</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="ttQizIf!/AB*HLfb9Kw1" type="logic_boolean"><field name="BOOL">FALSE</field></block></value>
<next><block id="HHrpaU=vtt6v1JInTG~l" type="procedures_callnoreturn"><mutation name="Melden"><arg name="Meldetext"></arg></mutation>
<value name="ARG0"><block id="leE4:W;JI@,LD;n0Gs6r" type="text"><field name="TEXT">Trockner FERTIG</field></block></value></block></next></block></statement></block></next></block></statement></block></next></block></next></block></statement></block></xml> -
Vielleicht findest du ja den fehler bei mir… `
Ne, Du bist unschuldigEs liegt an der 5 Sek. Aktualisierung.
Wenn POWER erstmalig unter dem Grenzwert liegt, wird Dein 20 Sek. Timer gestartet.
Jetzt kommen aber alle 5 Sek. POWER-Werte die unterschiedlich sind und kleiner als der Grenzwert.
Bevor der Timer gestartet wird, werden eventuell laufende Timer gestoppt/beendet.
Bei einer 5 Sek. Aktualisierung bekommt ein 20 Sek.Timer nie zum Zuge.
Schau mal ob die die Zeit der Aktualisierung höher stellen kannst.
Wenn nicht, müssen wir uns etwas anderes einfallen lassen.
Grüße
-
unschuldig, klngt gut
bin da flexibel beim einstellen der Zeit, 30sek müssten dann ja passen. Ich stell mal um und schalt mal die Maschine ein Danke schonmal
-
also 30sek update zeit und schon klappts, tausend Dank fürs helfen und die Geduld
-
Das Skript heute eingearbeitet und es funktioniert einwandfrei! Möchte mich an dieser Stelle mal bedanken
-
Hi,
habe gerade mal das Blockly importiert, den Power Kanal des HM Adapters ausgewählt, gespeichert und gestartet.
Teste gerade mit einem Laptop Netzteil.
Aktuelle Leistungsaufnahme: 6,02Watt.
Im Script habe ich die 4 Watt stehen lassen.
Nach starten des Scripts habe ich den Datenpunkt: WaschmaschineAn –> Ohne Wert
Wenn ich jetzt den Laptop einstecke erhalte ich im Log nur das:
javascript.0 2018-03-19 15:14:27.995 info script.js.common.Ansagen.Waschmaschine: ***Beende Verzögerung javascript.0 2018-03-19 15:14:07.993 info script.js.common.Ansagen.Waschmaschine: ***Starte Verzögerung
Wo mache ich denn den Fehler?
Muss ich für dieses Script den Entscheidungswert im Mess-Aktor setzen?
-
Hi,
Nach starten des Scripts habe ich den Datenpunkt: WaschmaschineAn –> Ohne Wert
Wenn ich jetzt den Laptop einstecke erhalte ich im Log nur das:
javascript.0 2018-03-19 15:14:27.995 info script.js.common.Ansagen.Waschmaschine: ***Beende Verzögerung javascript.0 2018-03-19 15:14:07.993 info script.js.common.Ansagen.Waschmaschine: ***Starte Verzögerung
Wo mache ich denn den Fehler? `
WaschmaschineAN hat kein Initialwert. Mal manuell auf "false" setzen und dann nochmal probieren.
Muss ich für dieses Script den Entscheidungswert im Mess-Aktor setzen? `
Im Mess-Aktor muss nichts eingetragen werden.Den Grenzwert musst Du selbst nach Deiner Maschine festlegen (im Beispiel 4)
POWER > Grenzwert = Waschmaschine arbeitet
POWER < Grenzwert = Waschmaschine im StandBy (fertig)
Ist aber alles im ersten Beitrag beschrieben.
Grüße
-
WaschmaschineAN hat kein Initialwert. Mal manuell auf "false" setzen und dann nochmal probieren.
Das war es.
Jetzt kommen Nachrichten.
Danke!
-
Hallo,
ich bin jetzt schon seit Tagen damit beschäftigt das Script ans laufen zu bekommen. Das Waschen klappt soweit aber ich bekomme imme rwieder Fehlmeldungen. Hier ein Auszug auch meinem LOG:
Watt Zeit 0 2018-04-16 17:24:34.521 30 2018-04-16 17:25:05.249 10 2018-04-16 17:25:34.708 0 2018-04-16 17:26:11.522
Das Problem ist nun das das Script immer wieder los läuft obwohl die Maschine aus ist.
Gibt es hier ein Möglichkeit einen Mittelwert aus den letzen 5 Geloggten Werten zu nehmen ? Dies könnte mein Problem lösen. Allerdings komme ich nicht weiter e da ich mich mit der Programmierung zuwenig auskenne.
LG
-
Ähem,
Wieso meinst du das Log hat etwas mit dem Script zu tun?
Ich sehe nur etwas von````
mqtt -
Sorry da habe ich mich wohl falsch ausgedrückt. Mein Problem ist das das Skript einfach zu sensibel reagiert.
Ich habe das MQTT als beispiel angehängt. (in dieser Zeit ist die Maschine aus) Aber die Standby Werte schwanken sehr stark.
Teilweise einzelne Wert bis knapp an 200W, der nächste Wert ist dann wieder auf 0. (Also die Leerlauf Schwankung ist sehr hoch bei meinem POW) daher die Frage ob es irgendwie möglich ist die letzen 3 Werte in dem Skript abzufragen und wenn diese über den eingestellten Grenzwert sind dann erst den Trigger auf True zu setzen.
Der POW ist immer an. da die diesen nach dem Waschvorgang nicht ausmache, meine Frau bekommt das einschalten nicht hin da der POW hinter der Maschine verbaut ist.
-
Bekommst du das nicht über die Zeit abgefangen?
Da wird doch gewartet das der Verbrauch länger als Zeit "X" z.B. <4 Watt ist und erst dann kommt die Nachricht.
Aber verstehe ich das richtig das der Leistungsmesser ohne das die Maschine läuft bis zu 200Watt ausgibt !? :shock:
-
Ja also ich habe 2 POW bei mir einen für die Waschmaschine einen für den Trockner. Ein POW meldet immer wieder mal eine Spitze von(bisher das höchste was ich gesehen hatte 200W). Ich habe zu dieser Zeit alle 6 sek. vom POW per MQTT den POWER wert senden lassen. Dies habe ich nun heraufgesetzt auf 30 Sek nach dem die hier im Forum weiter geschaut hatte.
Allerdings kommt dann immer, wenn ich das richtig verstanden habe ja immer die Nachricht Anschaltverzögerung dann wartet er max 40 Sek und wenn er da dann wieder einen Wert hat der über den Grenzwert geht würde er los laufen richtig ?
Ich teste jetzt mal das senden der Power Werte alle 30 Sek. vielleicht bringt das Abhilfe für diese Ausreißer mit den Standby Werten (im übrigen beide POWs habe ich Kalibriert mit einer Glühbirne - weil ich dachte das es erst daran lag. aber hat bisher nichts geholfen.
-
OK.
Ich nutze die Dinger nicht und kann nicht sagen ob das Verhalten "normal" ist. Wenn ja würde ich die in die Tonne kloppen. Sind aus meiner Sicht dann nicht vernünftig zu gebrauchen… zumindest nicht zum erfassen von Verbrauchsdaten.
-
was hast du denn im Einsatz wenn ich Fragen darf ?
ich nutze die weil Sie per WLAN verbunden sind und diese per MQTT Ihre Werte melden können.
-
Ich habe den Kram von Homematic.