NEWS
Script Wärmelampe Abschaltung
-
Hallo,
ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht. Kann mir bitte jemand beim Script weiterhelfen?
Im Script 1 lese ich die aktuelle Leistung des Wallplug aus, wenn die Wärmelampe eingeschaltet wird. Wenn der Wert über 100Watt steigt, dann schreibt er in die Variable "Wärmelampe_Leistungsgrenze" eine 1 (True) rein.

Dies funktioniert bisher auch super. Also wenn Lampe ein, dann steht ein True drin und wenn die Lampe aus, dann steht ein False drin.

Nun wird die Variable mit True oder False ausgelesen und startet entweder die Abschaltzeit mit der Abschaltung des Wallplug oder stoppt den Zeitplan wieder, wenn die Lampe vor Ablauf der eingestellten Zeit wieder ausgeschalten wird.

Die Abschaltung funktioniert soweit, nur lässt sich der Zeitplan nicht stoppen und ich kann den Wallplug nur wieder dauerhaft zum Laufen bringen, wenn ich das Script stoppe oder wieder einschalte.
Wie kann ich die Zeit und die Abschaltung richtig einstellen?
Vielen Dank im Voraus
Gruß
Stefan -
Hallo,
ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht. Kann mir bitte jemand beim Script weiterhelfen?
Im Script 1 lese ich die aktuelle Leistung des Wallplug aus, wenn die Wärmelampe eingeschaltet wird. Wenn der Wert über 100Watt steigt, dann schreibt er in die Variable "Wärmelampe_Leistungsgrenze" eine 1 (True) rein.

Dies funktioniert bisher auch super. Also wenn Lampe ein, dann steht ein True drin und wenn die Lampe aus, dann steht ein False drin.

Nun wird die Variable mit True oder False ausgelesen und startet entweder die Abschaltzeit mit der Abschaltung des Wallplug oder stoppt den Zeitplan wieder, wenn die Lampe vor Ablauf der eingestellten Zeit wieder ausgeschalten wird.

Die Abschaltung funktioniert soweit, nur lässt sich der Zeitplan nicht stoppen und ich kann den Wallplug nur wieder dauerhaft zum Laufen bringen, wenn ich das Script stoppe oder wieder einschalte.
Wie kann ich die Zeit und die Abschaltung richtig einstellen?
Vielen Dank im Voraus
Gruß
Stefan -
Hallo,
ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht. Kann mir bitte jemand beim Script weiterhelfen?
Im Script 1 lese ich die aktuelle Leistung des Wallplug aus, wenn die Wärmelampe eingeschaltet wird. Wenn der Wert über 100Watt steigt, dann schreibt er in die Variable "Wärmelampe_Leistungsgrenze" eine 1 (True) rein.

Dies funktioniert bisher auch super. Also wenn Lampe ein, dann steht ein True drin und wenn die Lampe aus, dann steht ein False drin.

Nun wird die Variable mit True oder False ausgelesen und startet entweder die Abschaltzeit mit der Abschaltung des Wallplug oder stoppt den Zeitplan wieder, wenn die Lampe vor Ablauf der eingestellten Zeit wieder ausgeschalten wird.

Die Abschaltung funktioniert soweit, nur lässt sich der Zeitplan nicht stoppen und ich kann den Wallplug nur wieder dauerhaft zum Laufen bringen, wenn ich das Script stoppe oder wieder einschalte.
Wie kann ich die Zeit und die Abschaltung richtig einstellen?
Vielen Dank im Voraus
Gruß
Stefan@steffgl sagte in Script Wärmelampe Abschaltung:
ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht.
Hältst du es dann für eine gute Idee so eine sensible Aufgabe mit fraglicher Performance zu erledigen?
-
@steffgl sagte in Script Wärmelampe Abschaltung:
ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht.
Hältst du es dann für eine gute Idee so eine sensible Aufgabe mit fraglicher Performance zu erledigen?
@homoran Hallo, sorry ich habe die Aufgabe ein wenig zu oberflächlich beschrieben.
Die Wärmelampe ist ein ein Wärmestrahler, der zum Wickeln da ist. Dieser besitzt eine Kordel, mit der zwei Stufen Wärme zum Wickeln eingestellt werden können. Dieses Gerät wird nur zum Wickeln verwendet und sollte dann wieder ausgeschaltet werden. In der Nacht kann es passieren, dass man mal vergisst an der Kordel zu ziehen und der Strahler läuft durch. Darum die Idee zur automatischen Abschaltung, dass nach z.B. 20 Minuten der Strahler wieder ausgeht. Das Kind ist weit weit davon entfernt.
Mit dem Homee funktioniert dies schon super. Ich will aber nun auf den IO Broker umsteigen, da dieser mehr kann.
Ich würde mich über ein paar aufklärende Worte sehr freuen.
Danke
-
@paul53 Vielen Dank für den Tip. Ist eine schöne Lösung, nur funktioniert eine Sache nicht: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus. Wie kann die Zeit zurückgesetzt werden? Also der WallPlug soll nur nach der eingestellten Zeit ausschalten, wenn der Wärmestrahler noch an ist. Danke schonmal
Gruß
Stefan -
@paul53 Vielen Dank für den Tip. Ist eine schöne Lösung, nur funktioniert eine Sache nicht: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus. Wie kann die Zeit zurückgesetzt werden? Also der WallPlug soll nur nach der eingestellten Zeit ausschalten, wenn der Wärmestrahler noch an ist. Danke schonmal
Gruß
Stefan@steffgl sagte: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus.
Das sollte stop timeout bei einer Leistung < 100 W verhindern. Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
@steffgl sagte: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus.
Das sollte stop timeout bei einer Leistung < 100 W verhindern. Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

var timeout; on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") >= 100) { timeout = setTimeout(async function () { setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false); }, 15000); } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ0aW1lb3V0JTIyJTNFdGltZW91dCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJ1JTNBeFolN0JiJTYwMzZzeF9LSCUyNUdjYSU1REglMjIlMjB4JTNEJTIyMTg4JTIyJTIweSUzRCUyMi04NiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIlNUVHNTclMkI4eSUyNWQlMkZRJTI0JTJCJTNGTSU3QiUzQWlieiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5LkN1cnJlbnRFbmVyZ3lVc2UtMjc1JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyQlU0JTNGRW0wSkElMkItdiolMkI3JTNCU3lBciUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMml1cTA4JTYwVzJ5Y1lfYiU3Q19uWmtPdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1RFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJVM2IlM0EqbENOTGdDNiUyNWtpSDUlMkYpJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyeiUzRCU3QyU1QnA2cFNBVGRNJTNEdiUyQmN5MXUlMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXQlMjIlMjBpZCUzRCUyMmxtRks1JTVFVWdWSkdsZV8zZCUyRlVTZiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTE1JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFc2VjJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIySzMlN0JIVCUyNUFlfkclN0IlMjMlM0FVN25ZJTJDJTdCeCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5Lk9uT2ZmLTI2OSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMlBBOF91dyhGcmwlNDAlMkMxYShsX2VrdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyJTIzVGNIT1ElM0YlMjQ2Umk5NiU3RG51SWhoLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U= -

var timeout; on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") >= 100) { timeout = setTimeout(async function () { setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false); }, 15000); } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ0aW1lb3V0JTIyJTNFdGltZW91dCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJ1JTNBeFolN0JiJTYwMzZzeF9LSCUyNUdjYSU1REglMjIlMjB4JTNEJTIyMTg4JTIyJTIweSUzRCUyMi04NiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIlNUVHNTclMkI4eSUyNWQlMkZRJTI0JTJCJTNGTSU3QiUzQWlieiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5LkN1cnJlbnRFbmVyZ3lVc2UtMjc1JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyQlU0JTNGRW0wSkElMkItdiolMkI3JTNCU3lBciUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMml1cTA4JTYwVzJ5Y1lfYiU3Q19uWmtPdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1RFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJVM2IlM0EqbENOTGdDNiUyNWtpSDUlMkYpJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyeiUzRCU3QyU1QnA2cFNBVGRNJTNEdiUyQmN5MXUlMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXQlMjIlMjBpZCUzRCUyMmxtRks1JTVFVWdWSkdsZV8zZCUyRlVTZiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTE1JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFc2VjJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIySzMlN0JIVCUyNUFlfkclN0IlMjMlM0FVN25ZJTJDJTdCeCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5Lk9uT2ZmLTI2OSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMlBBOF91dyhGcmwlNDAlMkMxYShsX2VrdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyJTIzVGNIT1ElM0YlMjQ2Umk5NiU3RG51SWhoLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U= -
@steffgl
Das sollte so funktionieren, falls die Zeit von 15 s nicht zu kurz ist, um den Leistungsabfall zu erkennen. Sollte die Einschaltdauer nicht eher im Minuten-Bereich sein? -
@steffgl
Das sollte so funktionieren, falls die Zeit von 15 s nicht zu kurz ist, um den Leistungsabfall zu erkennen. Sollte die Einschaltdauer nicht eher im Minuten-Bereich sein?@paul53 sagte: Das sollte so funktionieren
Nein, das funktioniert so nicht, denn Du hast die Abfrage "falls nicht timeout" weggelassen! Weil das mit der Variablenabfrage von timeout nicht so einfach ist, hatte ich meinen Vorschlag exportiert.
var timeout; on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") > 100) { if (!timeout) { timeout = setTimeout(async function () { setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false); }, 25000); } } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } });Es fehlen Zeilen 8, 12. Andernfalls laufen mehrere Timer, von denen nur einer gestoppt werden kann.
-
@paul53 sagte: Das sollte so funktionieren
Nein, das funktioniert so nicht, denn Du hast die Abfrage "falls nicht timeout" weggelassen! Weil das mit der Variablenabfrage von timeout nicht so einfach ist, hatte ich meinen Vorschlag exportiert.
var timeout; on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") > 100) { if (!timeout) { timeout = setTimeout(async function () { setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false); }, 25000); } } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } });Es fehlen Zeilen 8, 12. Andernfalls laufen mehrere Timer, von denen nur einer gestoppt werden kann.
-
@paul53 Ahh, stimmt. Entschuldige bitte mein Anfängertum. Ich bin gerade am Lernen.
Wie bekomme ich das Timeout an die Nicht Verknüpfung?

Danke schonmal
Gruß Stefan
@steffgl sagte: Wie bekomme ich das Timeout an die Nicht Verknüpfung?
Erstelle eine dummy-Variable und hänge diese an "nicht". Wechsle anschließend in die Javascript-Ansicht und wieder zurück. Dann selektiere anstelle der dummy-Variable die Variable timeout.

-
@steffgl sagte: Wie bekomme ich das Timeout an die Nicht Verknüpfung?
Erstelle eine dummy-Variable und hänge diese an "nicht". Wechsle anschließend in die Javascript-Ansicht und wieder zurück. Dann selektiere anstelle der dummy-Variable die Variable timeout.

@paul53 Danke. Hat super geklappt. Läuft nun alles, so wie ich das möchte.
Was ich aber nicht ganz verstehe ist, wenn der Trigger erneut abläuft und der Wert ist unter Hundert, warum wird der Timeout nicht durch den Sonst Befehl unterbrochen? Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?
-
@paul53 Danke. Hat super geklappt. Läuft nun alles, so wie ich das möchte.
Was ich aber nicht ganz verstehe ist, wenn der Trigger erneut abläuft und der Wert ist unter Hundert, warum wird der Timeout nicht durch den Sonst Befehl unterbrochen? Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?
@steffgl sagte: Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?
Bei jeder Leistungsänderung oberhalb von 100 W würde ohne die Sperre ein weiterer Timer mit der gleichen Timervariablen timeout gestartet. "stop timeout" beendet aber nur einen Timer (ob den letzten oder den ersten, weiß ich nicht), d.h. die anderen Timer laufen weiter.
-
@steffgl sagte: Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?
Bei jeder Leistungsänderung oberhalb von 100 W würde ohne die Sperre ein weiterer Timer mit der gleichen Timervariablen timeout gestartet. "stop timeout" beendet aber nur einen Timer (ob den letzten oder den ersten, weiß ich nicht), d.h. die anderen Timer laufen weiter.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
