Mehrere Thermostate mittels Gruppe regeln?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Eleven
Beiträge: 53
Registriert: 15. Okt 2018 10:27

Mehrere Thermostate mittels Gruppe regeln?

Beitrag von Eleven »

Hallo liebes Openhab Forum,
ich habe da mal eine Frage bzgl. einstellen, bedienen von mehreren Heizkörperthermostaten in ein und demselben Raum. Bisher hatte ich zwei Eurotronic Spirit im Einsatz welche jeweils in einem Badezimmer montiert sind. Mit der Hilfe hier aus dem Forum laufen diese auch wie gewünscht, mit Heizzeiten, Fenstersensoren, etc.
Nun habe ich mir weitere Eurotronics zugelegt. Aufgrund der offenen Bauweise meines Hauses wurden nun insgesamt 4 Thermostate im Wohn- und Esszimmer montiert und im System eingebunden (Zwave). Es lassen sich nun alle Thermostate einzeln bedienen und regeln auch die Temperatur wie gewünscht.
Nun würde ich diese gerne als Gruppe bedienen, um nicht immer in jedem Heizkörper den neuen Soll-Wert oder Heizmodus ändern zu müssen.

Daher habe ich nun für die Thermostate im Wohn und Esszimmer eine Gruppe angelegt.
Ich habe mir gedacht, dass ich mir die aktuelle Raumtemperatur mittels Durchschnittswert aller Thermostate in diesem Raum anzeigen lasse.

Die Konfiguration sieht wie folgt aus:

items:

Code: Alles auswählen

Group                   gTempMode                   "Thermostat-Modus"                  <temperature>
Group                   gTempSet                    "Solltemperatur [%.1f °C]"          <temperature>
Group                   gTempSetEco                 "Solltemperatur Eco [%.1f °C]"      <temperature>
Group:Number:AVG        gTempAktuellDurchschnitt    "Durschnittstemperatur [%.1f °C]"

//Esszimmer
Number             Eurotronic_Spirit_4_Akt_Temperatur_EZ                   "Aktuelle Temperatur [%.1f °C]"     <temperature>    (gTempAktuellDurchschnitt)       { channel="zwave:device:e16eec95:node38:sensor_temperature" }
Number             Eurotronic_Spirit_4_Akt_Thermostat_Mode_EZ              "Thermostatmodusmodus"              <temperature>    (gTempMode)                      { channel="zwave:device:e16eec95:node38:thermostat_mode" }
Number             Eurotronic_Spirit_4_Akt_Heizen_EZ                       "Solltemperatur [%.1f °C]"          <temperature>    (gTempSet)                       { channel="zwave:device:e16eec95:node38:thermostat_setpoint_heating" }
Number             Eurotronic_Spirit_4_Akt_Heizen_Eco_EZ                   "Solltemperatur Eco [%.1f °C]"      <temperature>    (gTempSetEco)                    

//Wohnzimmer klein links
Number             Eurotronic_Spirit_5_Akt_Temperatur_WZKL                   "Aktuelle Temperatur [%.1f °C]"     <temperature>    (gTempAktuellDurchschnitt)    { channel="zwave:device:e16eec95:node39:sensor_temperature" }
Number             Eurotronic_Spirit_5_Akt_Thermostat_Mode_WZKL              "Thermostatmodusmodus"              <temperature>    (gTempMode)                   { channel="zwave:device:e16eec95:node39:thermostat_mode" }
Number             Eurotronic_Spirit_5_Akt_Heizen_WZKL                       "Solltemperatur [%.1f °C]"          <temperature>    (gTempSet)                    { channel="zwave:device:e16eec95:node39:thermostat_setpoint_heating" }
Number             Eurotronic_Spirit_5_Akt_Heizen_Eco_WZKL                   "Solltemperatur Eco [%.1f °C]"      <temperature>    (gTempSetEco)                 { channel="zwave:device:e16eec95:node39:thermostat_setpoint_heating_econ" }

//Wohnzimmer klein rechts
Number             Eurotronic_Spirit_6_Akt_Temperatur_WZKR                   "Aktuelle Temperatur [%.1f °C]"     <temperature>    (gTempAktuellDurchschnitt)    { channel="zwave:device:e16eec95:node40:sensor_temperature" }
Number             Eurotronic_Spirit_6_Akt_Thermostat_Mode_WZKR              "Thermostatmodusmodus"              <temperature>    (gTempMode)                   { channel="zwave:device:e16eec95:node40:thermostat_mode" }
Number             Eurotronic_Spirit_6_Akt_Heizen_WZKR                       "Solltemperatur [%.1f °C]"          <temperature>    (gTempSet)                    { channel="zwave:device:e16eec95:node40:thermostat_setpoint_heating" }
Number             Eurotronic_Spirit_6_Akt_Heizen_Eco_WZKR                   "Solltemperatur Eco [%.1f °C]"      <temperature>    (gTempSetEco)                 { channel="zwave:device:e16eec95:node40:thermostat_setpoint_heating_econ" }

//Wohnzimmer groß
Number             Eurotronic_Spirit_7_Akt_Temperatur_WZG                   "Aktuelle Temperatur [%.1f °C]"     <temperature>       (gTempAktuellDurchschnitt)  { channel="zwave:device:e16eec95:node41:sensor_temperature" }
Number             Eurotronic_Spirit_7_Akt_Thermostat_Mode_WZG              "Thermostatmodusmodus"              <temperature>       (gTempMode)                 { channel="zwave:device:e16eec95:node41:thermostat_mode" }
Number             Eurotronic_Spirit_7_Akt_Heizen_WZG                       "Solltemperatur [%.1f °C]"          <temperature>       (gTempSet)                  { channel="zwave:device:e16eec95:node41:thermostat_setpoint_heating" }
Number             Eurotronic_Spirit_7_Akt_Heizen_Eco_WZG                   "Solltemperatur Eco [%.1f °C]"      <temperature>       (gTempSetEco)               { channel="zwave:device:e16eec95:node41:thermostat_setpoint_heating_econ" }

sitemap:

Code: Alles auswählen

Frame label="Test" {
        Group 	item=gTempAktuellDurchschnitt 
        Switch 	item=gTempMode 	mappings=[0="Off", 1="Heat", 11="Eco Heat", 15="Boost"]
        Setpoint 	item=gTempSet 	step=1.0 minValue=15 maxValue=28
        Setpoint 	item=gTempSetEco 	step=1.0 minValue=15 maxValue=28
    }
Soweit so gut. Ich habe allerdings festgestellt, das sich die Thermostate unterschiedlich verhalten, sprich

- Die eingestellte Temperatur für den Modus „heat“ ist z.B. auf 20°C gesetzt. Schalte ich nun über das Switch item=gTempMode auf den Modus „heat“, dann stellen sich alle Thermostate der Gruppe gTempSet auf 22°C. Beobachte ich dann die Ventilstellung, so ging diese bei allen auf ca. 50%, da die aktuelle Durchschnittstemperatur bei 18°C lag. Soweit ist ja erstmal alles in Ordnung. Leider verändert sich die Ventilstellung bei ~20°C auch nicht. Ich habe bei 21,8°C den Mode manuell auf „off“ gesetzt.

- Lasse ich jedoch das Switch item=gTempMode auf „Off“, und setzte jedes Thermostat einzeln auf den Modus „heat“, so geht die Ventilstellung auf nur ca. 20%. Hinzu kommt das die Regelung der Thermostate sofern sie einzeln auf „heat“ gesetzt besser funktioniert, sprich bei ~20°C geht die Ventilstellung weiter zu und bei einer abfallenden Temperatur wieder weiter auf.

Nun stellt sich mir die Frage, ob ich bei den Gruppen etwas Grundlegendes falsch gemacht habe? Ich habe erst gedacht, dass es am Temperaturdurchschnitt der Thermostate liegt! Dies ist aber nicht so, da sich wie oben schon beschrieben auch bei einer Durchschnittstemperatur von 21,8°C die Ventile nicht weiter zugegangen sind.

Habt Ihr vielleicht einen Rat? Ich bin für jede Hilfe Dankbar.

Grüße Eleven

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

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von udo1toni »

Bist Du sicher, dass die Ventile alle den korrekten Modus annehmen? Ich kenne ein Phänomen bei der Rollladensteuerung, wo ein Kommando an die Gruppe (hoch, runter, stop) nicht zum gewünschten Ergebnis führt, weil der Befehl nicht wie gewünscht an alle Member weitergeleitet wird. Über ein Rule geht es aber. Also statt die Gruppe direkt zu steuern, habe ich ein Proxy Item des selben Typs, welches eine Rule triggert, die dann alle Items der Gruppe steuert:

Code: Alles auswählen

rule "gruppe steuern"
when
    Item myProxy received command      // Proxy Item wurde geschaltet
then
    myGroup.members.forEach[i|         // für jeden Member der Gruppe
        i.sendCommand(receivedCommand) // dende das empfangene Kommando
        Thread::sleep(100)             // kurze Denkpause
    ]
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Eleven
Beiträge: 53
Registriert: 15. Okt 2018 10:27

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von Eleven »

Guten Morgen udo1toni und Openhab-Forum.
Alle Ventile nehmen den korrekten Modus an. Ich habe jeweils jedes Thermostat einzeln mit den dem betroffenen Channel in einem neuen Frame direkt unter dem Test mit der Gruppe platziert.
Sobald ich mittels Gruppen Switch z.B. den Modus "off" auf "heat" setze kann man auf der Sitemap schön sehen wie jedes Thermostat auf "heat" gesetzt wird.

Ich werde aber deinen Vorschlag definitiv heute Abend mal testen.

Heute morgen wieder das gleiche Problem bzgl. Temperaturregelung.
Um 5 Uhr springt die Heizung an, über den Gruppen Switch wurde der Thermostatmodus auf "heat" gesetzt. Die Soll-Temperatur ist auf 22°C eingestellt. Die Durchschnittstemperatur zeigt aktuell 24°C (8 Uhr) an.
Die Ist-Werte der einzelnen Thermostate liegen bei 22,7°C, 21,6°C, 23,6°C, 21,9°C. Setze ich den Modus jedes Thermostates einzeln auf den Modus "heat", werden diese auch auf 22°C (+-0,3°C) geregelt.

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

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von udo1toni »

Hänge doch bitte mal bei allen Items hinten an die Links ein , autoupdate="false" an, z.B. so:

Code: Alles auswählen

Number Eurotronic_Spirit_4_Akt_Thermostat_Mode_EZ   "Thermostatmodusmodus"          <temperature> (gTempMode)                { channel="zwave:device:e16eec95:node38:thermostat_mode", autoupdate="false" }
Das bewirkt, dass openHAB nicht etwa den Status des Items selbst setzt, ohne tatsächlich eine Rückmeldung vom Gerät zu bekommen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Eleven
Beiträge: 53
Registriert: 15. Okt 2018 10:27

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von Eleven »

Nur bei den Items welche für die Auswahl des Heizmodus zuständig sind, oder auch bei den restlichen (Solltemp, SolltempEco und Aktuelle Temperatur)?

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

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von udo1toni »

Bei allen. Die Spirits sollten ihren Status selbst zurückmelden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Eleven
Beiträge: 53
Registriert: 15. Okt 2018 10:27

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von Eleven »

Ich habe das

Code: Alles auswählen

autoupdate="false"
nun bei allen Items/Channel der Spirits hinzugefügt. Zusätzlich habe ich die Regel hinzugefügt.

Code: Alles auswählen

rule "gruppe steuern"
when
    Item myproxy received command      // Proxy Item wurde geschaltet
then
    gTempMode.members.forEach[i|         // für jeden Member der Gruppe
        i.sendCommand(receivedCommand) // sende das empfangene Kommando
        Thread::sleep(100)             // kurze Denkpause
    ]
end

Code: Alles auswählen

Item:

Number              myproxy         "Proxy für Heating Mode Test"        <temperature>

Code: Alles auswählen

Sitemap:

Switch item=myproxy mappings=[0="Off", 1="Heat", 11="Eco Heat", 15="Boost"]
Ich werde es morgen ausgiebig testen und berichten. Was mir jetzt schon aufgefallen ist das es halt länger dauert bis sich z.B. der Mode auf der Sitemap aktualisiert, was allerdings logisch ist da Openhab auf die Rückmeldung vom jeweiligen Spirit wartet.

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

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von udo1toni »

Eleven hat geschrieben: 15. Jan 2020 23:00Was mir jetzt schon aufgefallen ist das es halt länger dauert bis sich z.B. der Mode auf der Sitemap aktualisiert, was allerdings logisch ist da Openhab auf die Rückmeldung vom jeweiligen Spirit wartet.
Genau, das ist gut so, damit ist klar, dass der Thermostat tatsächlich umgesteuert hat.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Eleven
Beiträge: 53
Registriert: 15. Okt 2018 10:27

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von Eleven »

Hallo zusammen,

ich wollte euch nach einem Test-Tag mal ein kurzes Update geben.
Mit der Konfiguration aus meinem letzten Beitrag laufen die Thermostate soweit super! Die auf der Sitemap angezeigt Durchschnittstemperatur stimmt mit dem eingestelltem Sollwert überein (+-0,3°C).

Ich werde es genau so noch ein paar weitere Tage testen und anschließend nochmal ein Feedback geben!

Grüße Eleven

Eleven
Beiträge: 53
Registriert: 15. Okt 2018 10:27

Re: Mehrere Thermostate mittels Gruppe regeln?

Beitrag von Eleven »

Hallo allerseits,

hier wie versprochen mein Feedback nach ca 1 1/2 Wochen Testzeit.
Ich habe an der Konfiguration nichts verändert und es läuft einfach ohne Probleme. Ich bin mehr als zufrieden und möchte mich an dieser Stelle nochmal bei Udo1toni für den super Support bedanken!

Grüße Eleven

Antworten