NEWS
[Blockly] Trockner ist fertig mit Entscheidungswert
-
Alternativ: Startzeit merken, beim unterschreiten der Schwelle die vergangene Zeit ermitteln und nur bei Zeit>x Meldung ab setzen.
Gesendet von Unterwegs
-
Es geht mir nicht ums abschalten.
Die Wäsche soll nach 20 Minuten wenn die erste Feuchte raus ist aus dem Trockner geholt werden und auf die Leine gehängt werden, damit nicht zu viel Feuchte im Keller hängt.
@Jey Cee:wenn es dir auf die paar Minuten nicht ankommt. `
Doch, das tut es. Nach ca. 25 - 30 Minuten wäre die Wäsche ganz trocken. Die verbrauchte Energie aber nicht mehr wirtschaftlich (Wobei ein Trockner ist NIE wirtschaftlich)
@Jey Cee:warte ich ein paar Minuten und prüfe ob der wert noch immer unterhalb der Schwelle ist. `
…und dann ist der Trockner im Knitterschutz und zieht wieder bis zu 250WBleibt nur die gute alte Eieruhr und der Spruch der besten Ehefrau von allen, dass die ganze Hausautomation nichts taugt.
Gruß
Rainer
-
Der Entscheidungswert geht also nach wenigen Sekunden erstmals auf 200, nach knapp 3 Minuten wieder auf 0 und sofort wieder auf 200, um am Ende vorschriftsmäßig wieder auf 0 zu gehen.
Das ERSTE Sayit müsste unterbunden werden. `
Dann machen wir doch einen "DropCounter"
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="tUjj(r^vmLU/ys;Lanux" x="-12" y="113"><field name="VAR">TimerOn</field>
<value name="VALUE"><block type="logic_boolean" id="RRpPWn6)gP*r!coITR?X"><field name="BOOL">FALSE</field></block></value>
<next><block type="variables_set" id="ClbVI5uT8;{d@~u}]dtL"><field name="VAR">DropCounter</field>
<value name="VALUE"><block type="math_number" id="bb]@FHe?kN=LFC|nAX,z"><field name="NUM">0</field></block></value>
<next><block type="on_ext" id="TTb]MnTaOHDQJ|k}2okK"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="vko}kx:_P8PhO[eS~jD2"><field name="oid">hm-rpc.0.NEQ0386317.3.DECISION_VALUE</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="zjFZRCF?DtJ8=8MC3Zfv"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_operation" id="n*l#WPIa(-JCql6SUWxo" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="7Y6g4LeDG`?lzQH9-}YT"><field name="OP">GT</field> <value name="A"><block type="get_value" id="~qp~%F3#/AI(k(q!Ri9t"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ0386317.2.POWER</field></block></value> <value name="B"><block type="math_number" id="5EgNh?U3}iy_3{gx`lrN"><field name="NUM">350</field></block></value></block></value> <value name="B"><block type="logic_compare" id="/27o3{k`kD]I##d,y^?I"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="6/B)Y=q8rpbu|pjm+r=Y"><field name="VAR">TimerOn</field></block></value> <value name="B"><block type="logic_boolean" id="R~1f*mXe*0W5AuLtmuNc"><field name="BOOL">FALSE</field></block></value></block></value></block></value> <statement name="DO0"><block type="variables_set" id="w.5gyIto31W|D]gl[UE_"><field name="VAR">TimerOn</field> <value name="VALUE"><block type="logic_boolean" id="^E(i53^DvUqA]:fKN2kv"><field name="BOOL">TRUE</field></block></value> <next><block type="timeouts_settimeout" id="a*pA0iUKs0p5LfWlT}oK"><field name="NAME">timeout</field> <field name="DELAY">20</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="sayit" id="2A.+X[A}J4QV`r:^a@?]"><field name="INSTANCE">.0</field> <value name="VOLUME"><block type="math_number" id="gkNuRmJWs;*J3x}~D%(_"><field name="NUM">50</field></block></value> <value name="MESSAGE"><shadow type="text" id="%BJnLJ1L`v?(k.NC%LME"><field name="TEXT">Der Trockner läuft seit 20 Minuten</field></shadow></value> <next><block type="variables_set" id="vZIgFr-jUi3z2{`Z+0kT"><field name="VAR">TimerOn</field> <value name="VALUE"><block type="logic_boolean" id="d1C-=4AG?5h2TWk:B@Z4"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="L2I`OFkk-ZjiZjR7/G0~"><field name="OP">LT</field> <value name="A"><block type="get_value" id="/8d^^}4zBEB~QfT}sXj7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.NEQ0386317.2.POWER</field></block></value> <value name="B"><block type="math_number" id="+,?7~;jtC7r(hXY=bi9A"><field name="NUM">20</field></block></value></block></value> <statement name="DO1"><block type="math_change" id="]9b#`,uULn%~U9z`(??N"><field name="VAR">DropCounter</field> <value name="DELTA"><shadow type="math_number" id="4,AQjB`e(f7w5Z){:Rwt"><field name="NUM">1</field></shadow></value> <next><block type="controls_if" id="/G*W-S(?C+seNm41T|yZ"><value name="IF0"><block type="logic_compare" id="dtB(@T563a_1kjI@g0?c"><field name="OP">GT</field> <value name="A"><block type="variables_get" id="r+?+t~ZEA4+_w/Cb{At;"><field name="VAR">DropCounter</field></block></value> <value name="B"><block type="math_number" id="`_}1Xd7C4/Y{w_]vmv/5"><field name="NUM">1</field></block></value></block></value> <statement name="DO0"><block type="sayit" id="pstC^3{M,5i.Na=oCJzG"><field name="INSTANCE">.0</field> <value name="VOLUME"><block type="math_number" id="8[DwE9gNhhGSqnS7Ig1!"><field name="NUM">50</field></block></value> <value name="MESSAGE"><shadow type="text" id="T3CV^@2HAn!rG3)t[94?"><field name="TEXT">Der Trockner ist fertig</field></shadow></value> <next><block type="timeouts_cleartimeout" id="CCX/9-9!AWvPN+11Jr*n"><field name="NAME">timeout</field> <next><block type="variables_set" id="`QWzXq#aQ5#90J;o+F]Y"><field name="VAR">TimerOn</field> <value name="VALUE"><block type="logic_boolean" id="9%j~lCK,-@u6-Pm@s+PQ"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement></block></next></block></statement></block></statement></block></next></block></next></block></xml>
! ````
Grüße
-
Danke!
Das ist fast das gleiche was ich jetzt hatte:
und beim Anschließenden Überfliegen kam mir ebenfalls die Idee mit einem Counter und dass eine zweite Variable gebraucht wird.EDIT: Aber du hast das Problem gelöst, das ich noch hatte, dass der Counter nur bei fertig greifen sollte!!!!!
Super!
Das wird jetzt mal so wie du es gemacht hast eingesetzt!
Danke nochmals
Rainer
-
Hallo Zusammen,
danke für den aufrechten Kampf gegen den Trockner….. bin auch gerade dabei das entsprechend zum fliegen zu bekommen
Das mit der zweiten Variable hatte ich im Ansatz schon verwirklicht, nur fehlte die Zeit und andere Dinge (Fohlen) kamen dazwischen.
Nochmals Danke!
Herzliche Grüsse
Harald (aka Equilora)
-
Hallo @rantanplan,
Ich habe eine traurige Nachricht für dich, aber du hattest trotzdem rin Feedback verdient.
Es klappt nicht
Schuld sind wie befürchtet die drops.
Mal kommt nur einer, der aber nicht zu tief fällt, also gar nicht zählt, mal kommen drei.
Ich muss mir da mal einen anderen Ansatz ausdenken, bin aber im Moment zeitlich etwas eingeschränkt.
Ins unreine gedacht muss für die Fertigmeldung beim ersten anstieg eine zeitlich blockierende Variable gestartet werden, die erst nach etwa xx Minuten freigegeben wird. Nach etwa xx Minuten habe ich (bisher) keinen Drop mehr beobachtet.
Für die 20 Minuten würde so alles laufen, wenn nicht bei einem zweiten drop der timer gestoppt würde.
Schönen Restsonntag noch
Gruß Rainer
-
Es klappt nicht
`
Nun, wenn es keine einheitlichen Abläufe gibt, ist das natürlich sehr schwer.Die 20 Minuten sind anscheinend die einzige Konstante.
Mach doch einfach einen Trigger auf POWER
Falls POWER > xxx (hoher Wert)
mache varTrocknerAN = wahr
falls varTrocknerAN = unwahr
mache Timer von 20 Min starten
(In dem Timer nach 20 Min.abfragen)
Falls Power > xx
Mache Meldung "Trockner läuft seit 20 Min"
Sonst Meldung "Trockner fertig"
Dann sind die Drops egal.
Grüße
-
Danke,
Aber selbst der Wert fällt auf oder gar unter den Wert, der am Ende erreicht wird.
Bin gerade beim Tapezieren
Mal sehen, ob ich heute Nachmittag dazu komme.
Gruß Rainer
-
hallo beisammen,
da dank rantanplan nun das blockly für meine Waschmaschine klappt, dachte ich nehme einfach das gleiche für den Trockner… denkste....
hab während des trocknens ca 20 nachrichten, läuft, fertig, läuft.... erhalten.
Habt ihr den schon Neuigkeiten wie es klappen könnte, die ich mir abschauen könnte?
mir würde reichen wenn ich die meldung "trockner fertig" bekomme.
-
Habt ihr den schon Neuigkeiten wie es klappen könnte, die ich mir abschauen könnte?
mir würde reichen wenn ich die meldung "trockner fertig" bekomme. `
POWER vom Trockner beobachten und Werte anpassen -
> POWER vom Trockner beobachten und Werte anpassen ;)
von welchen script? dem obrigen? habs versucht zu importieren aber irgendwas hat nichtg geklappt. bzw hab ich ja die tp link steckdose mit der ich keinen logischen wert zurückbekomme
das problem war am schluss der Knitterschutz, da der Wert von 3 auf 100 und wieder auf 3 springt…
-
das problem war am schluss der Knitterschutz, da der Wert von 3 auf 100 und wieder auf 3 springt… `
Ist das den eindeutig? 3->100->3->100….. = Knitterschutz
Ich überlege mal ob ich das ins Waschmaschinen-Blockly bekomme.
Grüße
-
ich teste heut Abend nochmal, wollte den Verbrauch mit dem History Adapter loggen, aber irgendwie hat das nicht geklappt. Was nehmt ihr zum Daten loggen her?
100-3-100 watt war nur eine grobe Richtung, Ich trockne einfach abends nochmal und schau auf den Verbrauch wenn der Trockner läuft bzw fertig ist.
Man müsste den Timer auf 3 Minuten oder so stellen, dann dürfte das doch passen, oder? Und eben die Updatezeit vom Zwischenstecker natürlich wieder verlängern.
Meldung "Trockner läuft" ist meiner Meinung nach nicht nötig, da man das Ding ja eh per Hand einschaltet. Es geht eher darum dass ich nur eine Meldung bekomme, wenn der Trockner fertig ist. aktuelle sind es ca 20 stück, wobei die erste Meldung "trockner fertig" die richtige war. Lösung wäre doch auch wenn ich die schleife abbreche, sobald das erste mal die Meldung "trockner fertig" gesendet wurde. Aber wie kann ich dan verhindern dass das komplette Script dann wieder von vorne beginnt?
Ich meld mich dann abends wieder
-
Ich bin auch mal wieder da
Wei um alles in der Welt bekommt man es hin, dass die Änderung eines Wertes (hier der Entscheidungswert des Trockners) erst nach einer gewissen Zeit (hier etwa 10 Minuten) zum tragen kommt?
Der Leistungsverlauf heute:
Die Drops im vorderen Teil sind leider absolut nicht vorhersehbar. Mal ist es keiner, mal 3 Stück.
Diese fallen auf einen seeeeehr niedrigen Wert, der ggf. am Ende gar nicht erreicht wird.
In diesem Chart wurde der Trockner manuell abgeschaltet.
Habe mir gerade nochmal mein (äh, modifiziert nach rantanplan) Blockly angesehen und denke, das müsste ich wahrscheinlich ganz neu angehen.
Das Blockly soll entweder melden, wenn 20 Minuten nach dem Start vorbei sind, oder der Trockner vorher bereits fertig ist.
Danke
Rainer
-
Habe mir gerade nochmal mein (äh, modifiziert nach rantanplan) Blockly angesehen und denke, das müsste ich wahrscheinlich ganz neu angehen. `
WahrscheinlichZumal da eine, für mich, verdrehte Logik ist. "und TimerOn = wahr dann Timer starten"
@Homoran:Das Blockly soll entweder melden, wenn 20 Minuten nach dem Start vorbei sind, oder der Trockner vorher bereits fertig ist. `
Woran kann man denn definitiv festmachen, dass der Trockner fertig ist??Dann eventuell mit zwei Trigger arbeiten.
Einer für den normalen Vorgang "Trockner fertig" mit setzen eines Flags wenn ordnungsgemäß abgeschlossen.
Einen Zweiten, der genauso startet wie der Erste, aber nur einen Timer von 20 Minuten aktiviert.
Nach den 20 Minuten wird das Flag vom Ersten überprüft.
Ist das "wahr" dann ist alles in Ordnung.
Wenn nicht dann Meldung "Trockner läuft schon 20 Minuten"
Grüße
-
Dann eventuell mit zwei Trigger arbeiten. `
Das wäre auch mein neuer Ansatz. notfalls sogar zwei getrennte Blocklys.Der Timer standalone wäre eigentlich (fast) kein Problem, aber das "fertig" Blockly.
Woran kann man denn definitiv festmachen, dass der Trockner fertig ist?? `
Dann fällt auf jeden Fall der Entscheidungswert wieder auf 0 zurück.Blöd ist eben nur, dass er im vorderen Bereich auch 0-3x auf 0 springt.
Daher würde ich -wenn ich wüsste wie- die ersten 10-15 Minuten nach dem ersten EW 0->200 gerne ausblenden und erst danach beim ersten 200->0 reagieren.
Im Moment gehe ich nämlich davon aus, dass der Trockner nur in der ersten Zeit diese Drops zeigt.
Zumal da eine, für mich, verdrehte Logik ist. "und TimerOn = wahr dann Timer starten" `
ich fürchte da hatte ich mal zwei Timer machen wollen um die ersten 17 Minuten auszublenden und vergessen diese Variable "Timer2_on" zu benennen.Vielleicht ist das schon der Fehler ???
Gruß
Rainer
-
Vielleicht ist das schon der Fehler ??? `
Kann sein, ich habe nicht alle Bedingungen nachverfolgt.Der "Entscheidungswert" kommt von der Steckdose, richtig?
Wie arbeitet der bzw. was gibt der zurück?
Startwert = ?
= ?
3 = ?
400 = ?
-
Der "Entscheidungswert" kommt von der Steckdose, richtig? ` ,
Korrekt!
Startwert = ? `
0400W -> 200
nur dann:
anschließend <3W ->0
wobei diese beiden (oberer und unterer) Schwellwerte in der Steckdose definiert werden können
und erst wenn er wieder über die 400W kommt wird er wieder "scharf gestellt" auf 200.
vorher kann er zwischen 0 und 399W so oft pendeln wie er will, es passiert nichts
Gruß
Raiiner
-
Jetzt weis ich auch wieder warum ich das mal ausprobiert und wieder bei Seite gelegt habe.
Mal zum Ablauf.
-Trockner wird gestartet geht über 399 –> Entscheidungswert (EW) = 200
-Drop kommt EW = 0
-nach dem Drop wieder über 399 -> EW = 200
-wenn die Drops vorbei sind läuft alles normal.
-Trockner fertig (<3W) EW = 0
Eventuell kann man die Drops ignorieren/ausfiltern.
Trockner ist fertig wenn POWER
und >2.5
Du musst nur den kleinsten Wert finden, den POWER liefert wenn der Vorgang fertig ist.
Und dieser Wert muss größer sein als der größte Drop-Wert.
Damit könnte man die Drops ausfiltern wenn diese z.B. zwischen 0 und 2.4 W liegen.
-
Jetzt weis ich auch wieder warum ich das mal ausprobiert und wieder bei Seite gelegt habe. `
mit den guten alten Stromfressern läuft das spitzenmäßig. Dieser moderne Mist taugt nichts. :lol:Du musst nur den kleinsten Wert finden, den POWER liefert wenn der Vorgang fertig ist. `
Klar!Und dieser Wert muss größer sein als der größte Drop-Wert. `
:shock: Nicht klar! :shock:Beim Entscheidungswert muss der Leistung_wenn_fertig Wert nämlich kleiner sein, als der kleinste Drop-Wert.
Damit könnte man die Drops ausfiltern wenn diese z.B. zwischen 0 und 2.4 W liegen. `
und das wird nicht passieren, wobei ich mir da schon nicht sicher bin.In dem Chart ist um 13:25 ein Drop, der dort mit ca. 20W angezeigt wird. Trotzdem ist der EW auf 0 ???
Moment ich muss was prüfen - bis gleich
Rainer