Wochenprofile per Regler ändern

Hallo zusammen,

habe ein Problem meine Homematic IP Heizungsthermostate per Regler (oder Button) in das richtige Wochenprogramm zu bringen.

Sprich: auf der Hauptseite sind drei Regler (Normal, Urlaub Anwesend und Urlaub Abwesend). Es ist immer ein Regler aktiv und sobald ich einen anderen Regler betätige, schaltet das Wochenprofil von allen Heizungsthermostaten um und die Regler stellen sich entsprechend auch um (der vorher an war, wird wieder ausgeschaltet).

Meine bisheriger Versuch

Startseite:

Helfer (boolscher Input)

Automation:

alias: Heizung Normal
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_boolean.heizung_normal
conditions: []
actions:
  - action: climate.set_preset_mode
    metadata: {}
    data:
      preset_mode: week_program_1
    target:
      entity_id:
        - climate.heizung_badezimmer_oben
        - climate.heizung_kinderzimmer
        - climate.heizung_kuche
        - climate.heizung_schlafzimmer
        - climate.heizung_wohnzimmer_links
        - climate.heizung_wohnzimmer_rechts
        - climate.heizung_hwr
        - climate.heizung_flur
        - climate.heizung_buro_nicole
        - climate.heizung_badezimmer_unten
        - climate.heizung_buro_dennis_heizung_buro
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - input_boolean.heizung_urlaub_abwesend
        - input_boolean.heizung_urlaub_anwesend
mode: single

Ich hoffe jemand kann mir helfen

Hat vllt irgendjemand einen Tipp?

Ja, du solltest eine Frage stellen.

Wie wäre es denn mit den Trigger IDs und als Action die Optionen 1 bis 3?

Kannst du das etwas näher erläutern?
Ich verstehe nicht so ganz was du mit Trigger IDs meinst?
Bzw ein kleines Codebeispiel

Bei Triggers (Sobald) rechts auf die 3 Punkte gehen und eine ID sprechend vergeben. Zum Beispiel:

  1. Trigger Normal
  2. Trigger Urlaub zu Hause
  3. Trigger Urlaub nicht zu Hause

Als Trigger selbst wie du es oben gemacht hast, aber je einen Trigger für je einen Status.

Bei Action dann Bauspiel

choose:
  - conditions:
      - condition: trigger
        id:
          - Sonnenstand
      - condition: and
        conditions:
          - condition: state
            entity_id: schedule.geschaftszeit
            state: "on"
            for:
              hours: 0
              minutes: 0
              seconds: 0
          - condition: state
            entity_id: binary_sensor.anwesenheit_werkstatt
            for:
              hours: 0
              minutes: 0
              seconds: 0
            enabled: true
            state: "on"
          - condition: state
            entity_id: calendar.deutschland_sn
            state: "off"
    sequence:
      - if:
          - condition: state
            entity_id: binary_sensor.wetter
            state: "on"
        then:
          - delay:
              hours: 0
              minutes: 40
              seconds: 0
          - metadata: {}
            data: {}
            target:
              entity_id: switch.aussenbeleuchtung
            action: switch.turn_on
        else:
          - delay:
              hours: 0
              minutes: 20
              seconds: 0
              milliseconds: 0
          - metadata: {}
            data: {}
            target:
              entity_id: switch.aussenbeleuchtung
            action: switch.turn_on
  - conditions:
      - condition: trigger
        id:
          - Abwesend Smartphone
      - condition: state
        entity_id: switch.aussenbeleuchtung
        state: "on"
      - condition: or
        conditions:
          - condition: time
            after: "17:30:00"
            weekday:
              - wed
              - sat
          - condition: time
            after: "19:30:00"
            weekday:
              - thu
              - fri
    sequence:
      - metadata: {}
        data: {}
        target:
          entity_id: switch.aussenbeleuchtung
        action: switch.turn_off

Das ist ein Beispiel von mir. Oben sind die verschiedenen Trigger (die alle IDs haben) und unten siehst du die Actions, ausgelöst durch die TRIGGER ID.

Bei Fragen einfach noch einmal fragen.

1 „Gefällt mir“

Okay, ich habe jetzt versucht das zu adaptieren und irgendwie stehe ich komplett auf dem Schlauch…ich habe die Trigger ID nun vergeben aber ich verstehe nicht warum du hier einen choose: tag hast bzw wie hier die Vorgehensweise ist.

Bei mir soll mdurch den Schieberegler ja folgendes ausgelöst werden:

Wenn “Heizung Normal” == “On” Dann
(“Heizung Urlaub Anwesend” && “Heizung Urlaub Abwesend”) == "OFF)
AND
Heizung Büro … == week_program_1

Das ist eigentlich alles

alias: Heizung Normal
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_boolean.heizung_normal
    from: "off"
    to: "on"
    id: Trigger Normal
conditions: []
actions:
  - action: climate.set_preset_mode
    metadata: {}
    data:
      preset_mode: week_program_1
    target:
      entity_id:
        - climate.heizung_badezimmer_oben
        - climate.heizung_kinderzimmer
        - climate.heizung_kuche
        - climate.heizung_schlafzimmer
        - climate.heizung_wohnzimmer_links
        - climate.heizung_wohnzimmer_rechts
        - climate.heizung_hwr
        - climate.heizung_flur
        - climate.heizung_buro_nicole
        - climate.heizung_badezimmer_unten
        - climate.heizung_buro_dennis_heizung_buro
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - input_boolean.heizung_urlaub_abwesend
        - input_boolean.heizung_urlaub_anwesend
mode: single

Actions
Option 1
Wenn ausgelöst durch “normal”, dann wir in deiner Automation

Option 2
Wenn ausgelöst durch “Urlaub zu Hause”, dann die Automation week_programm 2 oder so

Option 3
Wenn ausgelöst durch “Urlaub nicht zu Hause”, dann die Automation week_programm 3 oder so

So hast du die Möglichkeit alles in eine Automation zu packen und je nach dem WAS AUSLÖST, die Automation entsprechende zu starten. Ich würde dann noch einbauen, dass wenn du den Schalter “Normal” drückst / auslöst, dann die anderen beiden Schalter ausgeschalten werden.

Konntest du folgen? Je nach dem was der Trigger ist, wird als Option die entsprechend dazugehörige Automation gestartet.

Ja ich kann dir folgen. Kann das aber schlecht auf meine Situation ummünzen

Es löst ja nicht irgendwas die Automation aus, sondern ich mit einem Schalter

Und bei einer Automation habe ich ja immer zwei / drei Zustände

  1. Sobald
    Wäre für mich der Schalter denn der löst das Ereignis aus
  2. Und wenn
    Habe ich nicht
  3. Dann
    Schaltet die anderen Schalter bei Bedarf um und Setzt das Wochenprogramm der Heizungen

Na ist das nicht das, was du möchtest? Die Bedingung in der Mitte (zwischen SOBALD und DANN) kannst du weglassen.

Du löst doch die Programm manuell aus, oder habe ich dich da falsch verstanden? Heißt:

TRIGGER “Normal” wird manuell gedrückt → SOBALD

Option 1 →
Bedingung → ausgelöst durch → TRIGGER ID “Normal”

Action 1: Schalter
input_boolean.heizung_urlaub_abwesend

AUS

Action 2: Schalter
input_boolean.heizung_urlaub_anwesend

AUS

Action 3: Schalter
- action: climate.set_preset_mode metadata: {} data: preset_mode: week_program_1 target: entity_id: - climate.heizung_badezimmer_oben - climate.heizung_kinderzimmer - climate.heizung_kuche - climate.heizung_schlafzimmer - climate.heizung_wohnzimmer_links - climate.heizung_wohnzimmer_rechts - climate.heizung_hwr - climate.heizung_flur - climate.heizung_buro_nicole - climate.heizung_badezimmer_unten - climate.heizung_buro_dennis_heizung_buro

AN

Wenn ich dich falsch verstanden habe, bitte noch einmal melden.

Ich kann das zu 100% nachvollziehen was du beschreibst und meiner Meinung nach habe ich das auch genau so umgesetzt aber scheinbar bedenke ich noch etwas nicht oder habe irgendwo einen Fehler drin.

alias: Heizung Normal
description: ""
triggers:
  - trigger: state
    entity_id:
      - automation.heizung_normal
    from: "off"
    to: "on"
    id: Trigger Normal
conditions: []
actions:
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - input_boolean.heizung_urlaub_abwesend
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.heizung_urlaub_anwesend
  - action: climate.set_preset_mode
    metadata: {}
    data:
      preset_mode: week_program_1
    target:
      entity_id:
        - climate.heizung_badezimmer_oben
        - climate.heizung_kinderzimmer
        - climate.heizung_kuche
        - climate.heizung_schlafzimmer
        - climate.heizung_wohnzimmer_links
        - climate.heizung_wohnzimmer_rechts
        - climate.heizung_hwr
        - climate.heizung_flur
        - climate.heizung_buro_nicole
        - climate.heizung_badezimmer_unten
        - climate.heizung_buro_dennis_heizung_buro
    enabled: true
mode: single

Er schaltet mir die beiden Schalter auf der Hauptseite einfach nicht aus (wenn sie zuvor aktiviert waren, also einer von beiden)

Screenshot 29.01.2025 um 13.24.20 PM

Dieser Zustand “darf” ja nicht sein da ich durch das drücken von “Heizung Normal” den Modus “Heizung Urlaub Anwesend” ausschalten sollte

Noch eine Automation für den Schalter hast du aber nicht oder?

Versuche es mal mit

action: switch.turn_off

statt

action: input_boolean.turn_off
1 „Gefällt mir“

Funktioniert leider auch nicht (also der Zustand bleibt der gleiche)

Und ich habe lediglich 3 Automationen.

Heizung Normal
Heizung Urlaub Anwesend
Heizung Urlaub Abwesend

Das passt nicht. Die entity muss der Helfer sein und nicht die Automation.

1 „Gefällt mir“

Leider trotzdem noch das gleich verhalten:

alias: Heizung Normal
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_boolean.heizung_normal
    from: "off"
    to: "on"
    id: Trigger Normal
conditions: []
actions:
  - action: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - input_boolean.heizung_urlaub_abwesend
  - action: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.heizung_urlaub_anwesend
  - action: climate.set_preset_mode
    metadata: {}
    data:
      preset_mode: week_program_1
    target:
      entity_id:
        - climate.heizung_badezimmer_oben
        - climate.heizung_kinderzimmer
        - climate.heizung_kuche
        - climate.heizung_schlafzimmer
        - climate.heizung_wohnzimmer_links
        - climate.heizung_wohnzimmer_rechts
        - climate.heizung_hwr
        - climate.heizung_flur
        - climate.heizung_buro_nicole
        - climate.heizung_badezimmer_unten
        - climate.heizung_buro_dennis_heizung_buro
    enabled: true
mode: single

Aber hier nochmal ein großes Danke an dich @Ronny1978 das du dir die Zeit und Mühe machst mir zu helfe

1 „Gefällt mir“

Ich versuche das heute Nachmittag mal zu Hause nachzustellen. Nicht, dass die Entitäten anders heißen :wink: .

Falls du noch Screenshots oder Code brauchst, lass es mich wissen

Mache ich. Ich habe mal noch neu blöde Frage, weil ich das gerade sehe:

Die ICONS in “Neuer Abschnitt” sind aber schon die Helfer (also Schalter), oder? Das sieht nämlich so aus, als wären das die Automationen. :thinking:

ich habe das jetzt gerade auch nochmal geändert und versucht ob hier der Fehler liegt.

So sieht die Konfiguration aus:

type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - type: custom:bubble-card
        card_type: separator
        name: Heizungsmodus
        icon: mdi:trash-can-outline
        card_layout: normal
        styles: |-
          .bubble-line {
            background: white;
            opacity: .3;
            }
          * { 
            font-size: 16px !important;
            color: grey;
            }
          .bubble-icon {
             --mdc-icon-size: 16px !important;
           }
  - type: horizontal-stack
    cards:
      - show_name: true
        show_icon: true
        type: button
        tap_action:
          action: toggle
        entity: input_boolean.heizung_normal
        icon: mdi:briefcase
        name: Normalmodus
      - show_name: true
        show_icon: true
        type: button
        tap_action:
          action: toggle
        entity: input_boolean.heizung_urlaub_abwesend
        icon: mdi:caravan
        name: Urlaub Anwesend
        show_state: false
      - show_name: true
        show_icon: true
        type: button
        tap_action:
          action: toggle
        entity: input_boolean.heizung_urlaub_anwesend
        icon: mdi:briefcase
        name: Urlaub Abwesend

Ich denke, dass waren die Automationen. :wink: Bei Sobald kannst du jetzt die anderen 2 Trigger reinsetzen und unten die Option 2x kopieren und dort die Schalter dann jeweils anpassen.