SOLL Temperatur als Variable für scheduled Rules

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
AndreM77
Beiträge: 127
Registriert: 2. Feb 2021 21:31
Answers: 0

SOLL Temperatur als Variable für scheduled Rules

Beitrag von AndreM77 »

Hi,

da die Google Kalender-Integration immer mal wieder zickt, stelle ich meine Heizungssteuerung gerade auf OH3 Regeln um. Außerdem ist es dann lokal. Hat ja auch was.

Nutze dafür Schedules, weil mir die Übersicht gefällt und man so die Einstellung fast wie in einem Kalender sehen kann.

Jetzt hab ich mir noch überlegt, dass ich die Zieltemperatur für ein Thermostat idealerweise zentral in einem Hilfsitem (dem Thermostat zugeordnet) hinterlegen könnte. Aber wie verwende ich dann den Wert dieses Hilfsitems in der scheduled rule? Irgendwie finde ich da nix passendes. Oder ich versuche es falsch.

Danke für Ideen!

Grüße
André
--
Connectivity: Z-WAVE, TCP/IP, Velux KLF200, Hue Bridge und IO-Homecontrol
Backend: openHAB 4.0.2 im Docker Container auf QNAP NAS
UI: HABPanel auf Amazon Fire 8

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

Re: SOLL Temperatur als Variable für scheduled Rules

Beitrag von udo1toni »

Möchtest Du die Zieltemperaturen jeweils komplett frei einstellen können, dann läuft es darauf hinaus, dass Du für jeden Sollwert fünf Items definierst. Achte dabei darauf, dass die Items zueinander passend benannt sind, z.B.

Raum_RTR_Set1, Raum_RTR_Set2, Raum_RTR_Set3, Raum_RTR_Set4, Raum_RTR_SetTemp.
Dann packst Du alle Items in eine Gruppe gRTR_Set.
Weiterhin brauchst Du pro Raum ein Item, welches die Solltemperatur selektiert Raum_RTR_Modus (vom Typ Number, 1 - 4), alle gemeinsam in einer Gruppe gRTR_Modus

Willst Du nun einen bestimmten Wert als Solltemperatur übernehmen, brauchst Du eine Rule, die sich darum kümmert:

Code: Alles auswählen

rule "set temperature"
when
    Member of gRTR_Modus changed
then
    val strRaum = triggeringItem.name.split("_").get(0) // Raumname
    val strModus = newState.toString                // "1" - "4"
    val setItem = gRTR_Set.members.filter[i|i.name.startsWith(strRaum) && i.name.endsWith("Temp")].head
    val sollItem = gRTR_Set.members.filter[i|i.name.startsWith(strRaum) && i.name.endsWith(strModus)].head
    setItem.sendCommand(sollItem.state)
end
Nun kannst Du im Scheduler einfach schreiben: setze Modus für Raum auf 1 (und so weiter).
Die vier Temperaturen sind dann die Sollwerte für Komfort, Nacht, Standby (Abwesenheit) und Frostschutz.

Gewöhnlich wird man aber feste Werte für Komfort und Nacht haben,k Frostschutz wird für alle Räume identisch sein und die Abwesenheit vielleicht auch, wobei man bei Abwesenheit eventuell eine erweiterte Hysterese verwenden will. Da kommen also verschiedene Anforderungen hoch und es kommt sehr darauf an, was Du umsetzen möchtest.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

AndreM77
Beiträge: 127
Registriert: 2. Feb 2021 21:31
Answers: 0

Re: SOLL Temperatur als Variable für scheduled Rules

Beitrag von AndreM77 »

hmmm, aber dann vervielfachen sich ja die Regeln und dann hab ich eine Regel für eine Regel.

Eigentlich wollte ich nur:

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      time: 05:15
    type: timer.TimeOfDayTrigger
conditions:
  - inputs: {}
    id: "2"
    configuration:
      days:
        - MON
        - TUE
        - WED
        - THU
        - FRI
    type: timer.DayOfWeekCondition
  - inputs: {}
    id: "5"
    configuration:
      itemName: HI_Heizung_Schedule
      state: ON
      operator: =
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "3"
    configuration:
      command: "22"
      itemName: OG_Bad_TowelThermostat_SetpointHeating
    type: core.ItemCommandAction
  - inputs: {}
    id: "4"
    configuration:
      command: "22"
      itemName: OG_Bad_WallThermostat_SetpointHeating
    type: core.ItemCommandAction
Die "22" aus einem Hilfsitem holen. Ich würde dann das Hilfsitem passend zum Thing (dem Thermostat) im System hinterlegen. Damit hab ich an zentraler Stelle (für das Thermostat) z.B. die Komfort-Temperatur festgelegt und nicht in x Regeln festgelegt.

"Frost" hake ich über einen Modus "HI_Heizung_Schedule" ab. Ist der aus, werden einmalig alle Thermostate auf eine definierte Frostschutztemperatur gesetzt. Dann brauche ich ja auch keinen Regellauf.
--
Connectivity: Z-WAVE, TCP/IP, Velux KLF200, Hue Bridge und IO-Homecontrol
Backend: openHAB 4.0.2 im Docker Container auf QNAP NAS
UI: HABPanel auf Amazon Fire 8

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

Re: SOLL Temperatur als Variable für scheduled Rules

Beitrag von udo1toni »

Nein, da vervierfacht sich nix. Du brauchst exakt diese eine Rule, die kümmert sich um ALLE Solltemperaturen.
Im Scheduler musst Du natürlich für jede zu verändernde Solltemperatur auch ein Item steuern.
Entweder Du erstellst eine Gruppe dafür und steuerst die Gruppe, die wiederum alle zugeordneten Items steuert, oder Du fügst die Items als Actions hinzu. So oder so musst Du für jeden geplanten Schaltzeitpunkt ein Schedule anlegen, sei es nun ein Oneshot oder ein komplexeres Schedule mit z.B. wochentagsabhängigen Wiederholungen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten