NEWS
Logik für Klimananlanlage
-
Hallo, ich habe ein Problem mit meiner Logik, in meiner Werkstatt ist eine Klimaanlage die ich ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll. Nun musste ich leider feststellen das das sporadisch ist. Was ist an meiner Logik falsch. Habe ein bisschen rumgebastelt aber hat alles nichts gebracht. Vielleicht könntet Ihr mich unterstützen. Hier mein Code:
var timeout; // Klimaanlage Werkstatt 19 °C on({ id: [].concat(['hm-rpc.1.000ED709AED610.1.ACTUAL_TEMPERATURE']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})(); if (((obj.state ? obj.state.val : '') <= 13) && (getState('hm-rega.0.8642').val == false)) { setState('melcloud.1.devices.31071842.control.mode' /* Operation mode */, 1); await wait(3000); setState('melcloud.1.devices.31071842.control.targetTemp' /* Target temperature */, 19); await wait(3000); setState('melcloud.1.devices.31071842.control.fanSpeed' /* Fan speed (while in manual mode) */, 0); await wait(3000); setState('melcloud.1.devices.31071842.control.vaneVerticalDirection' /* Vane vertical direction */, 7); await wait(3000); setState('melcloud.1.devices.31071842.control.power' /* Power */, true); } else { timeout = setTimeout(async () => { timeout = null; setState('melcloud.1.devices.31071842.control.power' /* Power */, false); }, 300000); } }); ``
-
-
@wuffi26 sagte in Logik für Klimananlanlage:
Nun musste ich leider feststellen das das sporadisch ist
Bedeutet?
Deine Skript schaltet bei kleiner/gleich 13 (vermutlich Grad) ein - wenn die Tür/Fenster nicht offen ist.
Und immer wenn das nicht der Fall ist, nach 5 Minuten aus.
Also wenn es mehr als 13 Grad sind oder ein Fenster/Tür offen ist.
Ergo geht die bei 13.1 Grad gleich wieder aus.Zudem steuerst du die Klimaanlage immer an, bei jeder Temperaturänderung kleiner/gleich 13 Grad.
Du solltest die bei kleiner/gleich 13 Grad einschalten. Und dann erst bei einer Zieltemperatur wieder ausschalten, z.B. 19 Grad.
Beides einzeln prüfen, kein Sonst. Kein Timeout für das Ausschalten -
@bananajoe Danke für die Antwort, ja das ist Grad und die Temperatur ist die Aussen Temperatur. Da die Klimaanlage eine eigene Regelung besitzt, geht sie von selbst aus wenn die Zieltemperatur von 19 Grad erreicht ist deshalb habe ich es so gewählt. Mit dem prüfen block habe ich auch schon überlegt. Ich werde es einmal probieren.
-
@wuffi26 sagte: ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll.
Dass die Klimaanlage zu oft geschaltet wird, verhindert man mit einer Hysterese, da sich die Außentemperatur nur langsam ändert. Die Pausen sind kontraproduktiv, da alle Werte in einem Telegramm an das Klimagerät gesendet werden.
Vorschlag: -
@paul53 Ich kenne diese Klimaanlage nicht, aber LG benötigt die pausen, da wird auch nicht in einem Telegram gesendet sondern jeder einzelne Befehl, und diese sehen so aus wie bei mir. Was aber Sinn ergeben würde wäre eine Abfrage ob der jeweilige Punkt schon an ist und somit nicht mehr gesendet werden muss. Ich würde aber auch eher die Innentemperatur abfragen und diese dann mit entsprechender Hysterese abarbeiten.
-
@falkomfs sagte: LG benötigt die pausen, da wird auch nicht in einem Telegram gesendet sondern jeder einzelne Befehl
Ich bin davon ausgegangen, dass das Verhalten dem der IR-Fernbedienungen für AC entspricht, die alles in einem Telegramm senden.
@falkomfs sagte in Logik für Klimananlanlage:
Abfrage ob der jeweilige Punkt schon an ist und somit nicht mehr gesendet werden muss.
Etwa so, wenn Pausen erforderlich sind:
-
vielen Dank für die hilfreichen tipps, mein Hintergrundgedanke war, es kann in meinen Haushalt die Klimaanlage Ein ,Aus schalten und die Konfiguration verändern diese werden dann von der IR Fernbedienung überschrieben, ich möchte aber eine bestimme Konfiguration nutzen, darum die Schritte mit dem Pausen. Aber das abfragen der einzelnen Punkte finde ich eine super Idee, dann brauche ich nicht jedesmal die Konfiguration zu senden wenn diese noch eingestellt ist. Was mir sich nicht ganz so erschließt ist dieses "at". Die 15 Grad sind dann demzufolge die Hysterse?
-
@paul53 Nur nochmal für mein Verständnis: Wenn ich 2 Werte habe, also die Aussentemperatur und die Variable Tür/Fenster offen/zu, muss ich diese auf den Trigger geben. Um diese weiter verarbeiten zu können?
-
@paul53 , Das Timeout 5 min für das ausschalten soll eigentlich dazu dienlich sein, wenn die Tür geöffnet wird, Das diese nicht gleich ausgeschalten wird, wenn die Türe innerhalb von 5 min wieder geschlossen wird. Könnte man das so stehen lassen, oder ist das kontraproduktiv?
-
@wuffi26 sagte: Was mir sich nicht ganz so erschließt ist dieses "at". Die 15 Grad sind dann demzufolge die Hysterse?
at
enthält die Außentemperatur. Die Hysterese beträgt 2 K (15 - 13).@wuffi26 sagte in Logik für Klimananlanlage:
Das Timeout 5 min für das ausschalten soll eigentlich dazu dienlich sein, wenn die Tür geöffnet wird,
Die Schaltsperre dient dazu: Wenn die Klimaanlage durch Öffnen von Tür oder Fenster ausgeschaltet wird, schaltet sie erst nach 5 Minuten wieder ein, wenn Tür oder Fenster nach z.B. 2 Minuten wieder geschlossen wird.
-
@wuffi26 Ich steuere meine Klimaanlage per Zeitansatz.
Ich prüfe alle 15 Minuten ob diese laufen sollte oder nicht, und nehme dann ggf. ein Ein- oder Ausschalten vor.Ergo prüfe ich auch nur alle 15 Minuten wie die Temperatur ist oder eine Tür oder ein Fenster offen ist.
Das verhindert das Ausschalten bloß weil man mal eben zur Terrassentür rausgeht und sorgt dafür das die Klimaanlage maximal in 15 Minuten Schritten geschaltet wird.Statt eines
Falls Objekt wurde geändert
würde man dafür einen Zeitplan nehmen und in diesem die Prüfungen vornehmen und ggf. schalten.Im schlimmsten Fall läuft die Klimaanlage dann halt noch 14 Minuten obwohl die Tür aufsteht.
-
Ja, so habe ich es gelöst. Dadurch gab es nicht diese ständige Piepserei weil ein Befehl empfangen wurde.