NEWS
Java Script wird zu oft ausgeführt.
-
Hallo alle zusammen,
ich habe jetzt schon das Forum durchsucht aber bin nicht auf den richtigen Inhalte gestoßen.
Es war so gedacht das wenn der Status auf 0 geht ich eine Akustische Rückmeldung bekomme nur macht er das halt alle paar Sekunden und das sollte er eigentlich nur ein mal bei der Status Veränderung von 1 auf 0 machen also 1 mal!
Aus irgendeinem Grund wird alle paar Sekunden Abgefragt und der Wert neu zugeteilt also 0 und nun Quatsch mich mein System total zu.
Under wiederholt und wiederholt und wiederholt.
Wo ist da mein Fehler?
on( {
id: "hm-rega.0.12928"/Waschmaschine/,
val: false // Waschmaschine ist Fertig
}, function (obj) {
setState("sayit.0.tts.text"/Text to speech/, "Die Waschmaschine ist Fertig");
});
lg
Dennis
-
Hallo und schönen Sonntag.
Du willst ja nur auf die Veränderung reagieren, also besser:
on("hm-rega.0.12928", function (obj) { if (obj.newState.val === false) { //mach etwas... }; });
Ist aus dem Kopf geschrieben, daher kann es sein das nicht alle Klammern oder Semikolon richtig sind, aber das zeigt er Dir ja an.
-
htrecksler hat recht: wenn du das
val: false // Waschmaschine ist Fertig ````aus der subscription weglässt, wird die Standabfrage```` change: 'ne' // Waschmaschine ist Fertig ````verwendet ("auf Änderung"). Dein alter Code reagiert praktisch "auf Aktualisierung" und gleichzeitig "true". Man kann das auch von Hand codieren:
on( "hm-rega.0.12928"/Waschmaschine/", function (obj) {
if (obj.state.val && !obj.oldState.val) setState("sayit.0.tts.text"/Text to speech/, "Die Waschmaschine ist fertig"); // neuer Wert true und alter Werte false
});Bitte in Zukunft Code in Codetags schreiben. Gruß Pix
-
Hey ja cool so leicht kann es doch laufen.
Wieder etwas dazugelernt was ich bestimmt gut einsetzen kann.
lg
Dennis