NEWS
Wiedermal die fertigmeldung für die Waschmaschine
-
Ich Messe den Verbrauch der Waschmaschine mit einer Gosund Steckdose die alle 10 Sek Daten liefert.
Gruß Duffy
Edit: Gosund mit Tasmota über den sonoff Adapter.
-
Hallo Paul53,
ich freue mich ja das die Blocklys so schön funktionieren.
Aber was ich immer noch nicht verstanden habe ist das mit den Timeouts, ich würde es aber gerne verstehen.Könntest du mir bitte erklären was in dem rot umrandeten Bereich passiert?
Ich hatte auch schon zum Thema Timeouts gegoogelt, auch nachvollziehbare Beispiele gefunden aber so etwas habe ich nicht gefunden.
VG Duffy
-
@duffy
Ich springe da mal ein ...Es passiert folgendes:
Wenn die WM mehr als 21 W verbrät, wird ein evtl. laufender timeout gestoppt. Könne ja sein, dass die Maschine beim Wechsel der Programme mal kurz weniger als 21 W braucht.Verbraucht sie <= 21 W, wird zunächst geschaut, ob vielleicht schon ein timeout läuft, denn es muss ja kein weiterer gestartet werden. Du willst die Meldung ja nur 1x erhalten.
Läuft kein timeout, wird einer gestartet, der nach 50 Sekunden eine Meldung ausgibt.Soweit verständlich?
-
@duffy sagte: was in dem rot umrandeten Bereich passiert?
Das hat @Codierknecht gut erklärt. Nur leider funktioniert es seit JS-Version 7.0.5 so nicht mehr, da nun Blockly bei Ablauf der Verzögerung die Timer-Variable
fertig
automatisch auf null setzt. Bei schwankender Leistung <= 21 wird der Timeout erneut gestartet. -
@paul53 sagte in Wiedermal die fertigmeldung für die Waschmaschine:
Bei schwankender Leistung <= 21 wird der Timeout erneut gestartet
Dann müsste man das selbst über eine Statusvariable verwalten.
-
@codierknecht sagte: über eine Statusvariable verwalten.
Es genügt, "nicht Verzögerung timeout" durch "vorheriger Wert > Grenzwert" zu ersetzen.
-
@paul53 sagte in Wiedermal die fertigmeldung für die Waschmaschine:
@duffy sagte: was in dem rot umrandeten Bereich passiert?
Das hat @Codierknecht gut erklärt. Nur leider funktioniert es seit JS-Version 7.0.5 so nicht mehr, da nun Blockly bei Ablauf der Verzögerung die Timer-Variable fertig automatisch auf null setzt. Bei schwankender Leistung <= 21 wird der Timeout erneut gestartet.Ja das hattest du geschrieben, das habe ich bei dem aktiven Blockly auch geändert und es läuft. Mir ging es bei dem Screenshot eher um das grundsätzliche beim Timeout.
@Codierknecht Danke für deine Mühe, leider ist der Groschen noch nicht gefallen, vermutlich bin ich zu doof, werde es mir aber morgen noch einmal in Ruhe ansehen. Also sagen wir so, ich verstehe die Erklärung bekomme sie aber nicht mit den Blocklybausteinen zusammen.
VG Duffy
Edit: das ist das aktive Blockly nur hätte ich es da ja noch weniger verstanden.
-
@duffy sagte: leider ist der Groschen noch nicht gefallen
Vielleicht, wenn ich die Aussage von @Codierknecht ergänze?
@codierknecht sagte: Wenn die WM mehr als 21 W verbrät, wird ein evtl. laufender timeout gestoppt
... und die Timer-Variable auf null gesetzt. -
@Duffy
Vielleicht muss man zum Verständnis auch noch etwas weiter ausholen.Wenn man so einen
timeout
startet, tritt man ja nicht einfach etwas los, was dann nach Ablauf der Zeitspanne irgendwelche Dinge tut.
timeout
kann man auch abfragen - wie jede andere Variable auch.Damit kann man dann sowohl einen laufenden
timeout
abbrechen
aber auch abfragen, obtimeout
gerade läuft (existiert) oder nicht.
Aber wie @paul53 schon schreibt: Wenn das mit JS > 7.0.5 nicht mehr funktioniert, muss man auf anderem Wege herausfinden, ob der Wert (Power) gerade von > 21 auf < 21 gewechselt hat.
Wenn er bei der letzten Änderung bereits unter 21 war, wurde ja dertimeout
bereits angeschubst.Vielleicht wäre mein Vorschlag mit der Statusvariablen einfacher?
Man setzt bei < 21 mit dem Start destimeout
eine VariabletimerLaeuft
auftrue
.
Wenn beim Auslösen des Triggers der Wert erneut < 21 und diese Variabletrue
ist, wurde dertimeout
bereits gestartet und man muss ihn nicht erneut anschubsen.
Wechselt der Wert vor Ablauf auf > 21, stoppt man dentimeout
und setzt die Variable wieder auffalse
.
Ist etwas umständlicher als @paul53's Vorschlag, aber evtl. einfacher zu verstehen. -
@paul53
heisst das, das im schlimmsten Fall hunderte Timer getriggert werden? -
Guten Morgen codierknecht.
Danke für deine Mühe und die Erklärung. Ja in der Tat ich habe mir das etwas einfacher vorgestellt ich dachte ich trete etwas los und irgendwann passiert was.
Aber nun ist mir das schon klarer geworden.Dein Vorschlag mit der Statusvariablen hört sich interessant an und ich würde es gerne einmal testen nur denke ich, es scheitert bei mir wieder an der Umsetzung.
Könntest du mir bitte einmal die Blocklyblöcke zusammenfügen die ich benötige? Dann könnte ich es einmal probieren.Zweifelsohne funktionieren @paul53's Vorschäge immer super aber um die richtig zu verstehen fehlen mir glaub die Grundlagen ;-(
Euch beiden auf jeden Fall vieeelen Dank und einen schönen 2. Advent.
VG Duffy
-
Guten Morgen Paul und alle anderen in der Komunity,
ich benötige bitte noch mal Deine / Eure Hilfe.
Ich habe das Blockly für die Waschmaschine nun auch für die Kaffeemaschine in abgeänderter Form übernommen.Der Verbrauch sieht eigentlich nicht spektakulär aus und sollte doch eigentlich so funktionieren, meist funktioniert das abschakten auch.
Ich habe nun nur das Problem das , wenn die Steckdose für die Kaffeemaschine vom Blockly abgeschaltet wird Alexa und Telegram mir trotzdem noch andauernd sagen das der Kaffee fertig ist. Mir würde es eigentlich einmal reichen
Wenn die Steckdose aus ist, weis ich nur nicht woher der Trigger für Telegram und Alexa kommen kann.
Kann mir da bitte jemand helfen?VG Duffy
-
@duffy sagte: andauernd sagen das der Kaffee fertig ist.
Mache es besser so:
Die Version mit "nicht Verzögerung fertig" funktioniert seit JS-Version 7.0.5 nicht mehr.
-
-
@duffy sagte: alsoso?
Ja.
-
Herzlichen Dank.
-
Hi Paul53,
für mich seltsame Dinge geschehen plötzlich in meinem sonst so gut funktionierenden Blockly für die Waschmaschiene.
Seit einiger Zeit kommt nach dem abschalten der Waschmaschine die Info durch Telegram "Waschmaschione fertsch" aber sofort danach** "Waschmaschine gestartet" obwohl die Steckdose abgeschaltet ist.
Also es klappt im Grunde alles bis auf die Falschmeldung.Kann das durch ein Update des javascript Adapters passiert sein?
Was kann ich tun um die "Falschmeldung" zu unterbinden?
Vielleicht bei Waschmaschine ENERGY Power von wurde geändert auf grösser als letztes umstellen?VG Duffy
-
@duffy sagte: sofort danach** "Waschmaschine gestartet" obwohl die Steckdose abgeschaltet ist.
Ist sie wirklich schon abgeschaltet oder liefert sie nochmal einen Wert > 10 W? Bau mal Debug-Blöcke ein.
@duffy sagte in Wiedermal die fertigmeldung für die Waschmaschine:
Kann das Verhalten durch ein Update des javascript Adapters passiert sein?
Nein, das Verhalten sollte durch ein Update nicht verändert worden sein.
@duffy sagte in Wiedermal die fertigmeldung für die Waschmaschine:
Vielleicht bei Waschmaschine ENERGY Power von wurde geändert auf grösser als letztes umstellen?
Dann kann "fertig" nicht mehr erkannt werden.
@duffy sagte in Wiedermal die fertigmeldung für die Waschmaschine:
Was kann ich tun um die "Falschmeldung" zu unterbinden?
Verzögere mal die Startfreigabe:
Wird bei "nur" 40 s die WM nicht vorzeitig ausgeschaltet?
-
Danke paul53 für deinen Vorschlag den habe ich mal ins Blockly eingebaut und werde es bei der nächsten Wäsche ausprobieren
@paul53 sagte in Wiedermal die fertigmeldung für die Waschmaschine:
Wird bei "nur" 40 s die WM nicht vorzeitig ausgeschaltet?
Nein, sie wurde immer tip top erst nach dem waschen, wenn sie danach im Knitterschutz Modus war abgeschaltet.
Zu dem Debug, wo soll ich die einbauen? An die Stelle wo auch die Variable "gestartet" auf true und false geschaltet wird?
VG Duffy
-
@duffy sagte: An die Stelle wo auch die Variable "gestartet" auf true und false geschaltet wird?
Ja, bei gestartet auf true gebe
Wert
aus, beim Ausschalten gebe "WM ausgeschaltet" aus. Dann sieht man, ob nach dem Ausschalt-Befehl noch einmal mit > 10 W getriggert wird.