NEWS
Einmaliger Trigger, wenn ein Wert unter eine Schwelle fällt
-
Hallo,
ich brauche noch etwas Erläuterung zum "change"-Parameter im Javascript. ich meiner Homematic-CCU3 habe ich ein Skript, das eine Pushover-Nachricht schickt, sobald der von der Waschmaschine an der Messsteckdose gezogene Strom unter 10 mA fällt, die Wama also in den Standby geht und mit dem Lauf fertig ist. Sieht so aus:
- Wenn Steckdose.Strom im Wertebereich > 10 mA, dann bei Änderung auslösen
- Dann (nichts)
- Sonst (Pushover-Nachricht versenden)
Ich hab offen gesagt keine Ahnung mehr, warum ich das über das "sonst" gemacht habe - dürfte aber meine Gründe gehabt haben. (Ich muss mal ein zweites Programm "richtig rum" anlegen und schauen, wann das triggert.)
Jedenfalls hätte ich das gerne in den ioBroker ausgelagert. Ich suche da nach einer Bedingung, die beschreibt, dass ein Wert von "> 10" auf "<= 10" fällt, ohne über einen Datenpunkt gehen zu müssen:
on ... change "lt":
- wenn Strom > 10, Datenpunkt-Flag aktiv setzen
- wenn Strom <= 10 und Datenpunkt aktiv, dann Nachricht schreiben und Datenpunkt-Flag inaktiv setzen
Geht das vielleicht einfacher? Da der Verbrauch unter 10 mA ja immer noch leicht schwanken kann im Standby, soll das nicht jedes Mal erneut eine Nachricht auslösen. Das mit den Datenpunkten um mir diesen Umstand zu merken ist aber auch irgendwie unpraktisch.
-
@smartstuffcoyote sagte in Einmaliger Trigger, wenn ein Wert unter eine Schwelle fällt:
Ich suche da nach einer Bedingung, die beschreibt, dass ein Wert von "> 10" auf "<= 10" fällt, ohne über einen Datenpunkt gehen zu müssen:
welcher Wert soll sich denn ändern wenn nicht der eines Datenpunkts?
Natürlich geht das auch mit einer Variablen
-
@smartstuffcoyote sagte: Wert von "> 10" auf "<= 10" fällt
on(idStrom, function(dp) { if(dp.state.val <= 10 && dp.oldState.val > 10) Nachricht(); });
Oder als Blockly:
Auswertung nur im Trigger:
const gw = 10; // Grenzwert on({id: idStrom, valLe: gw, oldValGt: gw}, Nachricht);
-
@paul53 Danke dir, das scheint die Lösung zu sein.
(An Blockly scheitert mein Verständnis irgendwie. Ich nehm lieber den Code.)
@Homoran Sorry, hab mich unklar ausgedrückt. Ich wollte nicht extra nochmal einen User-Datenpunkt definieren müssen, nur um mir den Ein-/Aus-Zustand der Waschmaschine zu speichern.