NEWS
[VORLAGE] Blockly Meldung wenn Waschmaschine fertig
-
Hallo beisammen,
bin auch gerade dabei mir das Waschmaschinenskript zusammen zu basteln.
Ich finde nur diesen "und" befehlt nicht, wo finde ich diesen? peinlich….
3364_blockly.png -
Ich finde nur diesen "und" befehlt nicht, wo finde ich diesen? peinlich…. `
Das ist der normale Und-Baustein.Gehe mal mit rechter Maustaste drauf. (interne /externe Eingänge)
-
super danke, habs gefunden
Das Skipt läuft bei mir nun auch, Meldung "Maschine läuft" klappt, aber bei der Meldung zu "Maschine fertig" komm ich nicht weiter. Ich benutze zur Messung eine HS110.
Irgendwie hänge ich dann in der unteren Schleife fest, bei "Timer starten", hier habe ich nochmal einen Debug eingebaut um zu sehen wo ich scheitere. Irgendwie wird das "Ausführen timeout in 40 Sekunden" nicht ausgeführt.
Kann mir hier einer helfen? Sobald ich bei den Objekten den Zustand WaschmaschineAN auf false setze, bekomme dann ich auch die Meldung. Watt Wert ist unterhalb des Grenzwertes…
Gruß Dominik
3364_blockly.png -
Irgendwie hänge ich dann in der unteren Schleife fest, bei "Timer starten", hier habe ich nochmal einen Debug eingebaut um zu sehen wo ich scheitere. Irgendwie wird das "Ausführen timeout in 40 Sekunden" nicht ausgeführt. `
Das innerere des Timers wird nicht ausgeführt, wenn der Timer gestoppt wird.Wenn der Grenzwert unterschritten wird, wird diese Funktion mit "wahr" aufgerufen.
Dann wird der Timer gestartet.
Wenn dann innerhalb der Timer-Zeit, der Grenzwert wieder überschritten wird, wird der Timer wieder gestoppt und die Fertigmeldung kommt NICHT.
Entweder Dein Grenzwert stimmt nicht
Oder die Timer-Zeit muss angepasst werden. Länger oder kürzer 40 Sek..
Du musst mal Deinen Stecker überprüfen, welche Werte er hat wenn die Waschmaschine fertig ist.
Bei Dir springt POWER immer wieder über den Grenzwert.
Hat die Maschine so etwas wie ein "knitterfrei" Modus?
Grüße
-
Danke, soweit verstanden, aber klappen will es dennoch nicht. Ich hol die Werte von der Steckdose alle 5s ab.
Hab das ganze einmal für die Waschmaschine und einmal für den Trockner, bei beiden hänge ich noch irgendwo fest.
Der Wert bleibt unter dem Grenzwert beim Trockner von 3W (siehe Bild). Nachdem ich dann den Trockner nachdem er fertig war komplett ausgeschalten habe, hab ich dann die nachricht bekommen, aber zuvor nicht, obwohl der Wert unterhalb des grenzwertes war und ich sicherlich 5 minuten gewartet habe.
Hast du sonst noch eine Idee an was es liegen könnte?
3364_2.png -
Ich hol die Werte von der Steckdose alle 5s ab. `
Sprechen wir noch von der original Vorlage? -
Ich hol die Werte von der Steckdose alle 5s ab.
Sprechen wir noch von der original Vorlage?
Ja, von der ersten Seite. Weiß auch nicht was da falsch läuft…Gesendet von meinem HUAWEI VNS-L21 mit Tapatalk
-
Ja, von der ersten Seite. Weiß auch nicht was da falsch läuft… `
Da wird aber nix alle 5 Sek. abgeholt.Irgendetwas alle 5 Sek. triggern ist wohl auch zu heftig.
Wenn Du das so lösen musst, dann mach mal alle 60 oder 30 Sek.
-
Ja, von der ersten Seite. Weiß auch nicht was da falsch läuft… `
Da wird aber nix alle 5 Sek. abgeholt.Irgendetwas alle 5 Sek. triggern ist wohl auch zu heftig.
Wenn Du das so lösen musst, dann mach mal alle 60 oder 30 Sek. ` Ah okay, habe den Adapter von tp Link genutzt, dieser holt alle 5sek einen Wert ab, ich änder das mal ab und probiere es morgen einfach nochmal.
Sorry das ich so nervig bin…
Welches Gerät nutzt du den um den Verbrauch zu messen? Wie oft holst du dort den Wert ab?
-
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