Blockly Wert ändern nach Zeit

Fragen zum Skripten mit ioBroker.javascript
Antworten
wauzzi
starter
Beiträge: 14
Registriert: 02.07.2018, 22:36

Blockly Wert ändern nach Zeit

Beitrag von wauzzi » 16.09.2018, 16:42

Hallo Zusammen,

ich habe bereits seit längerer Zeit ein Blocklyskript, welches mir mitteilt wenn der Trockner/ die Waschmaschine fertig ist.

Wärend dem Betrieb kommt es jedoch immer wieder zu kurzen Pausen, wodurch auch der Wattwert auf das Standbyniveau kurzzeitig sinkt.
Dadurch wird fälschlicherweise die Fertigmeldung verursacht.

Um diese Fehlinterpretation zu vermeiden, ist meine Idee, eine Zeit einzubauen.

z.B. ist der Wattwert länger als 120 Sekunden kleiner als 11 Watt dann soll der Fertigstatus auf True gesetzt werden.
Und genau da benötige ich eure Hilfe.

Viele Grüße+Danke :-)

Wauzzi

Code: Alles auswählen

on({id: 'sonoff.0.DVES_4E944B.ENERGY_Power', change: "any"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  if (getState("sonoff.0.DVES_4E944B.ENERGY_Power").val > '200') {
    setState("sonoff.0.DVES_4E944B.Trockner_fertig"/*Trockner_fertig*/, false);
  } else if (getState("sonoff.0.DVES_4E944B.ENERGY_Power").val <= '6') {
    setState("sonoff.0.DVES_4E944B.Trockner_fertig"/*Trockner_fertig*/, true);
  }
});
on({id: 'sonoff.0.DVES_4E944B.Trockner_fertig', change: "ne"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  if (getState("sonoff.0.DVES_4E944B.Trockner_fertig").val == false) {
    setState("alexa2.0.Echo-Devices.Commands.speak"/*speak*/, 'Der Wäschetrockner wurde eingeschaltet.');
    sendTo("telegram.1", "send", {
        text: 'Der Trockner wurde eingeschaltet'
    });
  } else if (getState("sonoff.0.DVES_4E944B.Trockner_fertig").val == true) {
    setState("alexa2.0.Echo-Devices.Commands.speak"/*speak*/, 'Der Wäschetrockner ist jetzt fertig. Du kannst die Wäsche jetzt holen.');
    sendTo("telegram.1", "send", {
        text: (['Der Trockner ist fertig :) ','Und du hast insgesamt bereits ',getState("sonoff.0.DVES_4E944B.ENERGY_Total").val,' kWh beim trocknen verbraucht.'].join(''))
    });
  }
});

Kuddel
professional
Beiträge: 281
Registriert: 06.09.2017, 10:07

Re: Blockly Wert ändern nach Zeit

Beitrag von Kuddel » 16.09.2018, 18:21

Dein Problem kenne ich nur zu gut.

Ich habe es mit einem Timeout gelöst.

Wenn der Verbauch unter Wert X sinkt, dann läuft ein Timeout von 5 Minuten.

Ist der Veerbrauch dann immer noch unter Wert X, kommt die Fertigmeldung
ioBroker 1.4.2 auf Debian (INTEL-NUC NUC6CYH Intel Celeron 4x1,49 Ghz / 8GB RAM)

rantanplan
guru
Beiträge: 1527
Registriert: 10.08.2014, 19:15

Re: Blockly Wert ändern nach Zeit

Beitrag von rantanplan » 16.09.2018, 19:18

wauzzi hat geschrieben:
16.09.2018, 16:42
z.B. ist der Wattwert länger als 120 Sekunden kleiner als 11 Watt dann soll der Fertigstatus auf True gesetzt werden.
Und genau da benötige ich eure Hilfe.
Schau mal hier viewtopic.php?f=21&t=10134

Grüße
Rantanplan
CCU2 (2.31.25) / Host Win10/64 bit(VM) / js-controller v.1.4.2 / JS Script Engine v.3.6.4 / node v.6.12.3 / npm v.3.10.10
Scripten mit Blockly

wauzzi
starter
Beiträge: 14
Registriert: 02.07.2018, 22:36

Re: Blockly Wert ändern nach Zeit

Beitrag von wauzzi » 24.09.2018, 10:15

Hallo Zusammen,

zunächst vielen Dank für Euer Imput !

Ich habe die Timeaout Variante versucht. Und es scheint zu Funktionieren ! :-)
Ich muss aber noch ein paar "Testwaschgänge" durchführen um ein verlässliches Ergebnis zu erhalten.

Vielen Dank !

Antworten