Veränderung des Setpoints eines Raumthermostaten soll Heizung schalten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
michaL
Beiträge: 16
Registriert: 13. Apr 2018 22:43
Answers: 0

Veränderung des Setpoints eines Raumthermostaten soll Heizung schalten

Beitrag von michaL »

Hallo miteinander und ein schönes neues Jahr,

Ich möchte mit einer Regel auf die Veränderung eines Setpoints bei einem Raumthermostaten (ZWave) reagieren.
Ich nutze openhab2 (v2.5), der Raumthermostat wird erkannt und ist eingebunden, d.h. wird als Thing geführt.
Den Channel "Setpoint (Heating)" (zwave:device:xxxxxx:node6:thermostat_setpoint_heating) habe ich mit dem Item ZWaveNode006xxxRoomThermostat_SetpointHeating verlinkt. Ich kann also z.b. über ein Panel die "Richttemperatur" ändern.

Wenn nun aber diese Temperatur am Gerät geändert wird, sollen Heizungen ein- bzw. ausgeschaltet werden, je nachdem, ob ein Wert über- oder unterschritten wird.

Leider bin ich in Bezug auf rules ein ziemlicher Anfänger. Vielleicht könnte mir da jemand auf die Sprünge helfen?
Ich wollte so etwas probieren wie

Code: Alles auswählen

rule "Heizung WZ an bei Kälte"

when
        Item ZWaveNode006xxxxxxRoomThermostat_SetpointHeating received update
then
        if (ZWaveNode006xxxxxxRoomThermostat_SetpointHeating.state>23) {
                sendCommand(ZWaveNode002SpiritThermostaticValveWZE_ThermostatMode, "1");
                sendCommand(ZWaveNode002SpiritThermostaticValveWZE_SetpointEnergyHeat, "22.5");
                sendCommand(ZWaveNode003SpiritThermostaticValveWZW_ThermostatMode, "1");
                sendCommand(ZWaveNode003SpiritThermostaticValveWZW_SetpointEnergyHeat, "22.5");
        }
        else {
                if (ZWaveNode006xxxxxxRoomThermostat_SetpointHeating.state<22) {
                        sendCommand(ZWaveNode002SpiritThermostaticValveWZE_ThermostatMode, "0");
                        sendCommand(ZWaveNode003SpiritThermostaticValveWZW_ThermostatMode, "0");
                }
        }
end
Das scheint aber nicht mal ansatzweise zu klappen.

Danke im Voraus für eure Hilfe.

Mfg Michael

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Veränderung des Setpoints eines Raumthermostaten soll Heizung schalten

Beitrag von udo1toni »

Ich nehme mal an, Setpoint bedeutet in diesem Zusammenhang Solltemperatur? Welcher Typ ist denn der Channel und das Item? Wie sind denn die Channel und Items definiert (über Paper UI oder über Textdatei)?

Semikola am Zeilenende sind in der Rules DSL nicht vorgesehen (Ausnahme: return sollte mit einem Semikolon versehen werden).

Allgemein sind kurze Itemnamen eine gute Idee ;) wobei natürlich trotzdem eine Zuordnung zur Funktion gegeben sein sollte. Sinnvoller ist aber sicher eine Benennung z.B. nach Räumen, aber nicht nach Geräten oder Technologien, da Items technologieunabhängig sind. Also lieber z.B. Wohnzimmer_Heizung1_Modus und Wohnzimmer_Heizung1_Solltemperatur (aber Wohn_Heiz1_Soll wäre ebenso eindeutig)

Weiterhin ist es eine gute Idee, die Methode der Action vorzuziehen, also lieber Item.sendCommand(Befehl) als sendCommand(Item, Befehl). Es kann notwendig sein, Umwege zu gehen, um gänzlich auf die Action zu verzichten, wenn man den Namen eines Items "errechnet", aber man kann komplett ohne die Action arbeiten.

Der Trigger ist eventuell auch nicht so günstig, versuche lieber mal changed statt received update
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Detlef
Beiträge: 190
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Veränderung des Setpoints eines Raumthermostaten soll Heizung schalten

Beitrag von Detlef »

Hallo
Ist das Thema hör schon erledigt?
Ich wollte mein Raumthermostat auch ein wenig automatisch laufen lassen.
Also Geo Daten von bekannten Netzgeräte erkennen und dann je nach Entfernung zur HomeMatic auf Nachtabsenkung sowie WWUP aus und Alarmanlage an Beleuchtung nach Helligkeit an oder aus sowie vielleicht auch einige Rollos vorerst schalten.
Mit freundlichen Grüße aus Recklinghausen

Antworten