NEWS
letzen Wert in Variable zwischenspeichern
-
@michi_pi
Es geht ja darum, immer wieder dazuzulernen und somit besser zu werden. Und du siehst ja, dass man nie auslernt. Es ist noch kein Meister vom Himmel gefallen... -
@ofbeqnpolkkl6mby5e13 Eben, bin ja auch lernwillig
-
@dslraser
Ich persönlich würde trotzdem die Ist-Temperatur direkt nach dem Triggern holen. Wenn < 23 Grad, dann muss keine weitere Bedingung geprüft werden. -
@michi_pi
stimmt schon, aber das steht da auch -
@ofbeqnpolkkl6mby5e13 sagte in letzen Wert in Variable zwischenspeichern:
Ich persönlich würde trotzdem die Ist-Temperatur direkt nach dem Triggern holen. Wenn < 23 Grad, dann muss keine weitere Bedingung geprüft werden.
dann wird die aber auch bei Badewanne falsch eingelesen und dann ist es ja nicht mehr die "alte Temperatur" vom Anfang.
-
Ich meinte nicht, dass sie in die Variable gespeichert werden soll. Das kann so bleiben.
-
@ofbeqnpolkkl6mby5e13 du meinst eine verschachtelte Abfrage, so oder?
-
@ofbeqnpolkkl6mby5e13
achso, Du meinst die Reihenfolge der Prüfung (okay, Kosmetik im Millisekundenbereich)
Außerhalb der Heizperiode würde dann die Reihenfolge aber nicht mehr stimmen, von daher eigentlich fast Wurscht. -
Ja, genau.
-
@dslraser
Müsste man noch weiter anpassen, richtig. Wenn ich heute Abend dazu komme, dann baue ich es mal nach meinen Vorstellung. Nur so aus Spaß. -
@michi_pi
Ein Hinweis noch, falls du das bisher nicht bedacht hast. Bau dir immer Debugs ein. Wenn ein Skript mal nicht so funktioniert wie du es erwartest, dann kannst du nur herausfinden weshalb das so ist, wenn du alle Zustände kennst. Bei einem so einfachen Skript wie hier ist das vermutlich egal, aber ansonsten hilft das bei der Fehlersuche ungemein. Ich mache es immer so, dass ich eine Variable "Debug" anlege und jeden Debug-Block mit "Falls Variable Debug = wahr" schreiben lasse. Wenn das Skript dann einwandfrei läuft, dann kann man die Variable auf "Falsch" stellen und hat keinerlei Ausgaben. Wenn man das sogar mit einem Datenpunkt macht, dann kann man Debug-Ausgaben sogar zur Laufzeit ein- und ausschalten. -
@ofbeqnpolkkl6mby5e13 denn Debug Block verwende ich tatsächlich bisher erst wenig.
-
@dslraser sagte: Vorschlag (ich weiß nicht ob ich alles bedacht habe...)
Die Variable Temp_Alt sollte bei Skript-Start mit einem sinnvollen Wert initialisiert werden, da sie sonst undefined enthält, wenn der Skriptstart während Badewanne = true erfolgt.
Vorschlag:Anmerkung: Die Prüfung "SET_POINT_TEMPERATURE < 23" innerhalb des Triggers ist nur erforderlich, wenn beim Testen "Badewanne" zu schnell geschaltet wird, denn die Thermostate reagieren sehr träge (bis zu 3 Minuten).
-
@paul53 also doch die Variable zum Start nochmal außerhalb setzen
Allerdings steh ich wohl gerade noch auf dem Schlauch, wofür brauch ich die äußere Logik noch?
sollte es dann nicht so aussehen?
-
@michi_pi sagte: sollte es dann nicht so aussehen?
Nein. Das erste "falls" (äußere Klammer) prüft die Heizperiode. Mit der UND-Verknüpfung wird der Wert von "Badewanne" und der Sollwert < 23 °C geprüft.
-
@paul53 Ahh okay, stand ich doch auf dem Schlauch