Eco- und Urlaubs-Modus für Homematic IP in Home Assistant

Ich nutze die Heizkörperthermostate von Homematic IP und steuere alles über Home Assistant. Bisher habe ich jedoch die Steuerung für den Eco-Mode und Urlaubs-Modus nicht integriert gehabt. Daher habe ich mich mit dem Thema befasst und entsprechende Steuerung in Home Assistant integriert. Ich zeige euch hier meine verwendeten Komponenten und Automatisierungen.

Meine Heizungssteuerung

Unten seht ihr mein Panel für meine Heizungssteuerung. Ich habe für jeden Raum einen Stack angelegt und kann dort die Heizung steuern und mir aktuelle Werte anzeigen lassen. Unten rechts habe ich die Steuerung für Eco- und Urlaubs-Modus integriert. Darüber liegt der Hauptschalter für die Heizung.

Mittlerweile habe ich folgende Komponenten im Einsatz:

Zuletzt aktualisiert am 25. Mai 2024 um 21:30 . Wir weisen darauf hin, dass sich hier angezeigte Preise inzwischen geändert haben können. Alle Angaben ohne Gewähr.

Helfer

Ich habe zwei zusätzliche Helfer angelegt um die Modi zu steuern. Diese Erstellt ihr unter Einstellungen > Geräte & Dienste > Helfer > + Helfer Erstellen und wählt als Typ Schalter aus. In meinem Beispiel heißen die Schalter

  • Heizung_Eco
  • Heizung_Urlaub

Die Namen könnt ihr frei anpassen, müsst sie aber in den Automatisierungen und Karten entsprechend übernehmen.

Eco- und Urlaubs-Modus Helfer

Neben den Schaltern, brauche wir noch eine Helfer für die Dauer es Eco-Modes und einen für das Enddatum des Urlaubs-Modus. Der erste Helfer ist vom Typ Nummer und der zweite vom Typ Datum und/oder Uhrzeit.

Cards

Für die Darstellung nutze ich zusätzlich numberbox-card, welches ihr zusätzlich installieren müsst.

Eco- und Urlaubs-Modus Cards
type: vertical-stack
cards:
  - type: entities
    entities:
      - entity: input_boolean.heizung_eco
        name: Eco
      - entity: input_number.ecomode
        type: custom:numberbox-card
  - type: entities
    entities:
      - entity: input_boolean.heizung_urlaub
      - entity: input_datetime.vacationmode

Automatisierungen für Eco- und Urlaubs-Modus

Den größten Teil übernehmen Automatisierungen. Insgesamt sind acht Automatisierungen nötig um alles korrekt zu steuern.

Die erste Automatisierung erlaubt es den Eco-Mode über Home Assistant einzuschalten, die nachfolgende ist für das Abschalten zuständig.

alias: Homematic_Eco_On
description: "Turn On Eco-Mode by Switch"
trigger:
  - platform: state
    entity_id:
      - input_boolean.heizung_eco
    to: "on"
condition: []
action:
  - service: homematicip_cloud.activate_eco_mode_with_duration
    data:
      duration: "{{ states('input_number.ecomode') | int(0) }}"
mode: single
alias: Homematic_Eco_Off
description: "Turn Off Eco Mode by Switch"
trigger:
  - platform: state
    entity_id:
      - input_boolean.heizung_eco
    to: "off"
condition: []
action:
  - service: homematicip_cloud.deactivate_eco_mode
    data: {}
mode: single

Die nächsten beiden Automatisierungen kümmern sich um den Status des Eco-Modes in Home Assistant, wenn dieser über die Cloud, also die Homematic App, gesetzt wird. Die letzte Automatisierung übernimmt auch das Umschalten eures Helfers in den Off Zustand. Ihr müsste eure Klima-Entity anpassen, ich nutze ihr mein Badezimmer (climate.badezimmer). Da ihr normalerweise alle eure Räume zusammen über die App steuert, ist es egal welchen Raum ihr zur Überwachung verwendet.

alias: Homematic_Eco_On_Cloud
description: "Turn Homematic Eco On by Cloud"
trigger:
  - platform: state
    entity_id:
      - climate.badezimmer
    attribute: preset_mode
    to: eco
condition: []
action:
  - service: input_boolean.turn_on
    data: {}
    target:
      entity_id: input_boolean.heizung_eco
mode: single
alias: Homematic_Eco_Off_Cloud
description: "Turn Homematic Eco Off by Cloud"
trigger:
  - platform: state
    entity_id:
      - climate.badezimmer
    attribute: preset_mode
    from: eco
condition: []
action:
  - service: input_boolean.turn_off
    data: {}
    target:
      entity_id:
        - input_boolean.heizung_eco
mode: single

Nun kommen quasi die gleuchen Automatisierungen für den Urlaubs/Away-Modus. Zuerst wieder die Steuerung aus Home Assistant heraus.

alias: Heizung_Urlaub_On
description: "Turn on away mode by switch"
trigger:
  - platform: state
    entity_id:
      - input_boolean.heizung_urlaub
    to: "on"
condition: []
action:
  - service: homematicip_cloud.activate_vacation
    data:
      endtime: "{{ states('input_datetime.vacationmode') }}"
      temperature: 17
mode: single
alias: Heizung_Urlaub_Off
description: "Turn off away mode by switch"
trigger:
  - platform: state
    entity_id:
      - input_boolean.heizung_urlaub
    to: "off"
condition: []
action:
  - service: homematicip_cloud.deactivate_vacation
    data: {}
mode: single

Hier nun wieder für die Steuerung über die native App. Datum und Uhrzeit werden ebenfalls übernommen und in Home Assistant angezeigt.

alias: Vacation_Mode_On_Cloud
description: "Turn on away mode by cloud"
trigger:
  - platform: state
    entity_id:
      - climate.badezimmer
    attribute: preset_mode
    to: away
condition: []
action:
  - service: input_boolean.turn_on
    data: {}
    target:
      entity_id: input_boolean.heizung_urlaub
  - service: input_datetime.set_datetime
    data:
      datetime: "{{ states.climate.badezimmer.attributes.preset_end_time}}"
    target:
      entity_id: input_datetime.vacationmode
mode: single
alias: Vacation_Mode_Off_Cloud
description: "Turn off away mode by cloud"
trigger:
  - platform: state
    entity_id:
      - climate.badezimmer
    attribute: preset_mode
    from: away
condition: []
action:
  - service: input_boolean.turn_off
    data: {}
    target:
      entity_id: input_boolean.heizung_urlaub
mode: single

Damit habt ihr alles nötige zusammen um beide Modi steuern zu können. Die verwendeten Buttons, Cards und Namen bleiben natürlich euch überlassen.

Dashbaord

Damit ihr einen Anhaltspunkt für ein Design habt, habe ich euch mal hier eine Karte reingepackt. Ich nutze zusätzlich noch Simple Thermostat, Card-Mod und Button-Card.

type: vertical-stack
cards:
  - type: custom:simple-thermostat
    entity: climate.schlafzimmer
    layout:
      mode:
        icons: true
        headings: false
        names: true
      step: row
    header:
      name: Schlafzimmer
      icon: mdi:bed-king
    hide:
      state: true
    control:
      hvac:
        heat:
          name: Manuell
          icon: mdi:radiator-off
        auto:
          name: Automatik
          icon: mdi:calendar-clock
      preset:
        boost:
          name: Boost
        Zeitsteuerung:
          name: Zeit
        Always on:
          name: Ein
        Always off:
          name: Aus
    card_mod:
      style: |
        .mode-item.active.heat {
              --heat-color: red;
              }
  - square: false
    type: grid
    cards:
      - type: custom:button-card
        entity: sensor.innen_schlafzimmer_temperatur
        tap_action:
          action: more-info
        hold_action:
          action: none
        size: 50px
        show_name: false
        show_state: true
      - type: custom:button-card
        entity: sensor.innen_schlafzimmer_luftfeuchtigkeit
        tap_action:
          action: more-info
        hold_action:
          action: none
        size: 50px
        show_name: false
        show_state: true
        styles:
          icon:
            - color: |
                [[[
                  if (entity.state < 60) return 'green';
                  if (entity.state >= 60 && entity.state < 70) return 'orange';
                  else return 'red';
                ]]]
      - type: custom:button-card
        entity: binary_sensor.fenster_und_turkontakt
        tap_action:
          action: none
        hold_action:
          action: none
        size: 50px
        show_name: false
        show_state: true
        state:
          - value: "on"
            icon: mdi:window-open-variant
            color: orange
            state_display: Offen
          - value: "off"
            icon: mdi:window-closed-variant
            color: white
            state_display: Zu
      - type: custom:button-card
        entity: sensor.heizkorperthermostat_sz_heating
        tap_action:
          action: more-info
        hold_action:
          action: none
        size: 50px
        show_name: false
        show_state: true
      - type: custom:button-card
        entity: sensor.innen_schlafzimmer_kohlendioxid
        size: 50px
        show_name: false
        show_state: true
        styles:
          icon:
            - color: |
                [[[
                  if (entity.state < 1000) return 'green';
                  if (entity.state >= 1000 && entity.state < 2000) return 'orange';
                  else return 'red';
                ]]]
    columns: 5

Die Anzeige der Produkte wurde mit dem affiliate-toolkit Plugin umgesetzt.

10 Gedanken zu „Eco- und Urlaubs-Modus für Homematic IP in Home Assistant“

  1. Sehr cool.
    Was ich leider nicht verstehe:

    Woher kommt diese notwendige Zeile / Befehl überhaupt?
    – service: homematicip_cloud.activate_eco_mode_with_duration

    Ist das ein Befehl aus dem Code der Homematic IP- Integration oder woher stammt das?

    Bin absoluter Beginner, vielleicht kannst du mich aufklären?

    Antworten
      • Hi Björn,

        Bin auch SmartHome und Home Assistang Anfänger, das ist genau was ich suche.

        Wie geht der Befehl wenn man das Homatic System nicht über Cloud, sondern über CCU3/Rasberrymatic steuert, also local.

        Rasberrymatic und Homeassistant laufen auf 2 VMs über Proxmox auf einem NUC. Homeatic ist über HACS eingebunden.

        Danke Reiner

        Antworten
        • Hallo Reiner,

          die zugehörigen Befehle findest du auf GitHub.
          Folgende sollte für dich interessant sein:
          homematicip_local.disable_away_mode
          homematicip_local.enable_away_mode_by_calendar
          homematicip_local.enable_away_mode_by_duration

          Du musst leider selber probieren, da ich die Cloud Variante nutze.

          Grüße,
          Björn

          Antworten
  2. Hallo Björn,

    ich würde meine Heizungssteuerung auch gern nach deinem Layout anlegen,
    bin noch neu in Home Assistant, könntest du mal posten wie du das Layout für jeden Raum angelegt hast?

    Grüße Chris

    Antworten

Schreibe einen Kommentar