Zum Inhalt

Actions-Referenz

Diese Seite dokumentiert alle benutzerdefinierten Actions, die von der Homematic(IP) Local for OpenCCU-Integration bereitgestellt werden.


Gerätewert-Operationen

homematicip_local.get_device_value

Einen Geräteparameter über die XML-RPC-Schnittstelle abrufen.

homematicip_local.set_device_value

Einen Geräteparameter über die XML-RPC-Schnittstelle setzen.

Speicher-Warnung

Zu häufiges Schreiben in das MASTER-Paramset des Geräts kann den Speicher des Geräts beschädigen.

Feld Pflicht Standard Beschreibung
device_id Ja* Zielgerät (*oder device_address)
device_address Ja* Geräteadresse (*oder device_id)
channel Ja 1 Kanalnummer
parameter Ja Parametername (z.B. STATE, SET_TEMPERATURE)
value Ja Neuer Wert
value_type Nein string Typ: boolean, int, double, string, dateTime.iso8601
wait_for_callback Nein Sekunden auf CCU-Bestätigung warten
rx_mode Nein BURST oder WAKEUP (nur BidCos-RF)
retry Nein true Bei transienten Fehlern wiederholen (Timeout, Gerät nicht erreichbar)

Beispiel - Einen Schalter einschalten:

action: homematicip_local.set_device_value
data:
  device_id: abcdefg...
  channel: 1
  parameter: STATE
  value: "true"
  value_type: boolean

Beispiel - Thermostat-Temperatur setzen:

action: homematicip_local.set_device_value
data:
  device_id: abcdefg...
  channel: 4
  parameter: SET_TEMPERATURE
  value: "23.0"
  value_type: double

Beispiel - Wert setzen ohne Retry (für Automationen mit eigener Retry-Logik):

action: homematicip_local.set_device_value
data:
  device_id: abcdefg...
  channel: 1
  parameter: STATE
  value: "true"
  value_type: boolean
  retry: false

Paramset-Operationen

homematicip_local.get_paramset

getParamset auf der XML-RPC-Schnittstelle aufrufen. Gibt ein Paramset zurück.

homematicip_local.put_paramset

putParamset auf der XML-RPC-Schnittstelle aufrufen.

Speicher-Warnung

Zu häufiges Schreiben in das MASTER-Paramset des Geräts kann den Speicher des Geräts beschädigen.

Feld Pflicht Standard Beschreibung
device_id Ja* Zielgerät (*oder device_address)
device_address Ja* Geräteadresse (*oder device_id)
channel Nein Kanalnummer
paramset_key Ja MASTER oder VALUES
paramset Ja Dictionary mit Parametern und Werten
wait_for_callback Nein Sekunden auf CCU-Bestätigung warten
rx_mode Nein BURST oder WAKEUP (nur BidCos-RF)
retry Nein true Bei transienten Fehlern wiederholen (Timeout, Gerät nicht erreichbar)

Beispiel - Wochenprogramm setzen:

action: homematicip_local.put_paramset
data:
  device_id: abcdefg...
  paramset_key: MASTER
  paramset:
    WEEK_PROGRAM_POINTER: 1

Beispiel mit rx_mode (nur BidCos-RF):

action: homematicip_local.put_paramset
data:
  device_id: abcdefg...
  paramset_key: MASTER
  rx_mode: WAKEUP
  paramset:
    WEEK_PROGRAM_POINTER: 1

!!! note "rx_mode-Optionen" - BURST (Standard): Weckt alle Geräte sofort auf (verbraucht Batterie) - WAKEUP: Sendet Daten nach Geräte-Rückmeldung (schont Batterie, ca. 3 Min. Verzögerung)

getParamset für Direktverknüpfungen auf der XML-RPC-Schnittstelle aufrufen.

putParamset für Direktverknüpfungen auf der XML-RPC-Schnittstelle aufrufen.

Feld Pflicht Standard Beschreibung
sender_channel_address Ja Kanaladresse des Senders
receiver_channel_address Ja Kanaladresse des Empfängers
paramset Ja Dictionary mit Parametern und Werten
rx_mode Nein BURST oder WAKEUP (nur BidCos-RF)
retry Nein true Bei transienten Fehlern wiederholen (Timeout, Gerät nicht erreichbar)

Verknüpfungs-Operationen

addLink auf der XML-RPC-Schnittstelle aufrufen. Erstellt eine Direktverknüpfung.

removeLink auf der XML-RPC-Schnittstelle aufrufen. Entfernt eine Direktverknüpfung.

getLinkPeers auf der XML-RPC-Schnittstelle aufrufen. Gibt ein Dictionary der Direktverknüpfungs-Partner zurück.

Erstellt eine zentrale Verknüpfung von einem Gerät zum Backend. Erforderlich für RF-Geräte, um Tastendruck-Ereignisse zu aktivieren.

Entfernt eine zentrale Verknüpfung vom Backend. Deaktiviert Tastendruck-Ereignisse.


Zeitplan-Operationen

Alle Zeitplan-Services sind gerätebasiert -- sie sprechen ein Gerät über device_id oder device_address an statt über eine Entity. Dieser einheitliche Ansatz funktioniert für alle Gerätetypen (Klima, Schalter, Licht, Abdeckung, Ventil).

Speicher-Warnung

Zu häufiges Schreiben auf das Gerät kann den Speicher des Geräts beschädigen.

homematicip_local.get_schedule

Gibt den vollständigen Zeitplan eines Geräts zurück. Funktioniert sowohl für Klima- als auch für Nicht-Klima-Geräte.

action: homematicip_local.get_schedule
data:
  device_id: abcdefg...

homematicip_local.set_schedule

Setzt den vollständigen Zeitplan auf einem Gerät. Für Nicht-Klima-Geräte schedule_data mit Entry-Dict-Format verwenden.

action: homematicip_local.set_schedule
data:
  device_id: abcdefg...
  schedule_data:
    "1":
      weekdays: [MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY]
      time: "18:00"
      condition: fixed_time
      target_channels: ["1_1"]
      level: 1.0
      duration: 4h

homematicip_local.get_schedule_profile

Gibt ein einzelnes Klima-Zeitplanprofil in vereinfachtem Format zurück. Nur für Klimageräte.

Der Service analysiert den Zeitplan und bestimmt base_temperature als die am häufigsten verwendete Temperatur. Nur abweichende Zeiträume werden zurückgegeben.

action: homematicip_local.get_schedule_profile
data:
  device_id: abcdefg...
  profile: P1

homematicip_local.get_schedule_weekday

Gibt den Zeitplan für einen bestimmten Wochentag eines Klimaprofils in vereinfachtem Format zurück.

action: homematicip_local.get_schedule_weekday
data:
  device_id: abcdefg...
  profile: P1
  weekday: MONDAY

homematicip_local.set_schedule_profile

Sendet einen vollständigen Zeitplan für ein Klimaprofil im vereinfachten Format. Nur für Klimageräte.

Funktionsweise:

  • Jeder Wochentag hat eine base_temperature und eine Liste von periods
  • Nur aktive Heizperioden mit starttime, endtime und temperature angeben
  • Lücken werden automatisch mit base_temperature gefüllt
  • Das System konvertiert in das erforderliche 13-Slot-Format

Beispiel:

action: homematicip_local.set_schedule_profile
data:
  device_id: abcdefg...
  profile: P1
  simple_profile_data:
    MONDAY:
      base_temperature: 16.0
      periods:
        - starttime: "05:00"
          endtime: "06:00"
          temperature: 17.0
        - starttime: "09:00"
          endtime: "15:00"
          temperature: 17.0
        - starttime: "19:00"
          endtime: "22:00"
          temperature: 22.0
    TUESDAY:
      base_temperature: 16.0
      periods:
        - starttime: "05:00"
          endtime: "06:00"
          temperature: 17.0
        - starttime: "19:00"
          endtime: "22:00"
          temperature: 22.0
    # Weitere Wochentage nach Bedarf hinzufuegen

homematicip_local.set_schedule_weekday

Sendet den Zeitplan für einen einzelnen Wochentag im vereinfachten Format. Nur für Klimageräte.

Beispiel:

action: homematicip_local.set_schedule_weekday
data:
  device_id: abcdefg...
  profile: P3
  weekday: MONDAY
  base_temperature: 16
  simple_weekday_list:
    - starttime: "05:00"
      endtime: "06:00"
      temperature: 17.0
    - starttime: "09:00"
      endtime: "15:00"
      temperature: 17.0
    - starttime: "19:00"
      endtime: "22:00"
      temperature: 22.0

Ergebnis:

  • 00:00-05:00: 16°C (base_temperature)
  • 05:00-06:00: 17°C (Zeitraum 1)
  • 06:00-09:00: 16°C (Basistemperatur füllt Lücke)
  • 09:00-15:00: 17°C (Zeitraum 2)
  • 15:00-19:00: 16°C (Basistemperatur füllt Lücke)
  • 19:00-22:00: 22°C (Zeitraum 3)
  • 22:00-24:00: 16°C (base_temperature)

homematicip_local.copy_schedule

Kopiert den vollständigen Zeitplan (alle Profile P1-P6, alle Wochentage) von einem Klimagerät auf ein anderes.

Voraussetzungen:

  • Beide Geräte müssen Klima-Zeitpläne unterstützen
  • Beide Geräte müssen die gleiche Anzahl an Profilen unterstützen
action: homematicip_local.copy_schedule
data:
  device_id: abcdefg...
  target_device_id: hijklmn...

homematicip_local.copy_schedule_profile

Kopiert ein einzelnes Zeitplanprofil von einem Gerät auf ein anderes (oder auf ein anderes Profil desselben Geräts).

Anwendungsfälle:

  • P1 von Gerät A nach P2 auf Gerät A kopieren
  • P1 von Gerät A nach P1 auf Gerät B kopieren
  • P3 von Gerät A nach P1 auf Gerät B kopieren
action: homematicip_local.copy_schedule_profile
data:
  device_id: abcdefg...
  source_profile: P1
  target_profile: P2
  target_device_id: hijklmn... # Optional: weglassen beim Kopieren innerhalb desselben Geräts

Klima-Abwesenheitsmodus

homematicip_local.enable_away_mode_by_calendar

Abwesenheitsmodus durch Angabe von Start- und Enddatum/-uhrzeit aktivieren.

Nur HomematicIP

homematicip_local.enable_away_mode_by_duration

Abwesenheitsmodus sofort mit Dauer in Stunden aktivieren.

Nur HomematicIP

homematicip_local.disable_away_mode

Abwesenheitsmodus für Klimageräte deaktivieren.

Nur HomematicIP


Systemvariablen

homematicip_local.get_variable_value

Den Wert einer Variablen vom Homematic-Hub abrufen.

homematicip_local.set_variable_value

Den Wert einer Variablen auf dem Homematic-Hub setzen.

Wertelisten: Akzeptieren 0-basierte Position oder den Wert als Eingabe.

Boolesche Werte:

  • true, on, 1, 1 → True
  • false, off, 0, 0 → False

Beispiel:

action: homematicip_local.set_variable_value
data:
  entity_id: sensor.ccu2
  name: Variable name
  value: true

homematicip_local.fetch_system_variables

Systemvariablen auf Abruf laden, unabhängig vom standardmäßigen 30-Sekunden-Intervall.

Sparsam verwenden - häufige Aufrufe können die CCU-Stabilität beeinträchtigen


Sirenen- und Sound-Operationen

homematicip_local.turn_on_siren

Sirene einschalten. Kann mit siren.turn_off deaktiviert werden.

Automatische Select-Entities

Seit Version 2.0.0 erstellt die Integration automatisch Select-Entities für die Auswahl von Sirenenton und Lichtmuster:

- **Sirenenton** (`select.<device>_acoustic_alarm_selection`)
- **Sirenen-Lichtmuster** (`select.<device>_optical_alarm_selection`)

Diese Auswahl bleibt über Neustarts erhalten und wird automatisch beim Aufruf von Sirenen-Services verwendet.

homematicip_local.play_sound

Einen Sound auf HmIP-MP3P-Soundplayer-Geräten abspielen.

Feld Erforderlich Beschreibung
soundfile Nein Sounddatei (z.B. SOUNDFILE_001, INTERNAL_SOUNDFILE)
volume Nein Lautstärke (0.0 bis 1.0)
on_time Nein Dauer in Sekunden
ramp_time Nein Lautstärke-Einblendzeit in Sekunden
repetitions Nein Wiederholungen (0=keine, 1-18=Anzahl, -1=endlos)

homematicip_local.stop_sound

Soundwiedergabe auf HmIP-MP3P-Geräten stoppen.

homematicip_local.set_sound_led

LED-Farbe und -Helligkeit auf HmIP-MP3P-Geräten setzen.

Feld Erforderlich Beschreibung
color Nein LED-Farbe: black, blue, green, turquoise, red, purple, yellow, white
brightness Nein Helligkeit (0 bis 255)
on_time Nein Dauer in Sekunden
ramp_time Nein Einblendzeit in Sekunden
repetitions Nein Wiederholungen
flash_time Nein Blitzdauer in ms (0 bis 5000)

Abdeckungs-Operationen

homematicip_local.set_cover_combined_position

Eine Jalousie gleichzeitig auf eine bestimmte Position und Neigungsposition fahren.


Licht- und Schalter-Einschaltzeit

homematicip_local.light_set_on_time

Einschaltzeit für eine Licht-Entity setzen. Muss von light.turn_on gefolgt werden. 0 verwenden zum Zurücksetzen.

homematicip_local.switch_set_on_time

Einschaltzeit für eine Schalter-Entity setzen. Muss von switch.turn_on gefolgt werden. 0 verwenden zum Zurücksetzen.

homematicip_local.valve_set_on_time

Einschaltzeit für eine Ventil-Entity setzen. Muss von valve.open gefolgt werden. 0 verwenden zum Zurücksetzen.


Textanzeige

homematicip_local.send_text_display

Text an eine Notify-Entity senden (Textanzeigegeräte wie HmIP-WRCD).

Feld Erforderlich Beschreibung
entity_id Ja Notify-Entity-ID (Domain: notify)
text Ja Anzuzeigender Text
icon Nein Anzeigesymbol (siehe Optionen unten)
background_color Nein Hintergrundfarbe: white, black
text_color Nein Textfarbe: white, black
alignment Nein Textausrichtung: left, center, right
display_id Nein Display-ID (1-5) für Geräte mit mehreren Anzeigen
sound Nein Sound: disarmed, externally_armed, internally_armed, delayed_externally_armed, delayed_internally_armed, event, error, low_battery
repeat Nein Wiederholungsanzahl (0-15)

Verfügbare Symbole:

no_icon, sun, moon, cloud, cloud_and_sun, cloud_and_mooon, cloud_sun_and_rain, rain, raindrop, drizzle, snow, snowflake, wind, thunderstorm, bell, clock, eco, flame, lamp_on, lamp_off, padlock_open, padlock_closed, error, everything_okay, information, new_message, service_message, shutters, window_open, external_protection, internal_protection, protection_deactivated

Beispiel:

action: homematicip_local.send_text_display
target:
  entity_id: notify.display_living_room
data:
  text: "Hello World"
  icon: sun
  background_color: white
  text_color: black
  alignment: center
  sound: event

homematicip_local.clear_text_display

Text auf einer Notify-Entity (Textanzeige) löschen.


Geräteverwaltung

homematicip_local.export_device_definition

Exportiert eine Gerätedefinition als ZIP-Datei nach: {HA_config}/homematicip_local/{device_model}.zip

Die ZIP-Datei enthält:

  • device_descriptions/{device_model}.json
  • paramset_descriptions/{device_model}.json

Auf pydevccu hochladen, um die Entwicklung neuer Geräte zu unterstützen.

homematicip_local.reload_device_config

Gerätekonfiguration von der CCU neu laden. Aktualisiert Paramset-Beschreibungen und Werte.

homematicip_local.reload_channel_config

Konfiguration für einen bestimmten Channel von der CCU neu laden.

homematicip_local.force_device_availability

Ein Gerät in HA reaktivieren, das durch ein UNREACH-Ereignis als nicht verfügbar markiert wurde.

Keine Lösung für Kommunikationsprobleme

Dies überschreibt lediglich den Verfügbarkeitsstatus in HA. Es findet keine Kommunikation mit dem Backend statt.

homematicip_local.confirm_all_delayed_devices

Bestätigt alle verzögerten Geräte (CCU-Posteingang) auf einmal und fügt sie ohne benutzerdefinierte Namen zu Home Assistant hinzu.


Systemoperationen

homematicip_local.clear_cache

Löscht den Cache einer Zentraleinheit aus Home Assistant. Erfordert einen Neustart.

homematicip_local.record_session

Zeichnet eine Sitzung zur Fehlersuche auf (maximal 10 Minuten). Ausgabe gespeichert unter: {HA_config}/homematicip_local/session/

homematicip_local.create_ccu_backup

Eine Systemsicherung von der CCU erstellen und herunterladen.

Nur OpenCCU

Diese Funktion ist nur für OpenCCU (ehemals RaspberryMatic) verfügbar. Nicht unterstützt auf CCU2, CCU3, Debmatic oder piVCCU.

Sicherung gespeichert unter: {HA_storage}/homematicip_local/backup/

Rückgabe:

success: true
path: "/config/.storage/homematicip_local/backup/ccu_backup_raspberrymatic_20251203_143022.sbk"
filename: "ccu_backup_raspberrymatic_20251203_143022.sbk"
size: 12345678

Automation-Beispiel - Wöchentliche Sicherung:

automation:
  - alias: "Weekly OpenCCU Backup"
    trigger:
      - platform: time
        at: "03:00:00"
    condition:
      - condition: time
        weekday:
          - sun
    action:
      - action: homematicip_local.create_ccu_backup
        data:
          entry_id: YOUR_ENTRY_ID

Integrierte Home Assistant Actions

homeassistant.update_entity

Entity-Wert aktualisieren (begrenzt auf einmal pro 60 Sekunden).

Sparsam verwenden

99,9 % der Entities aktualisieren sich automatisch. Nur für Ausnahmefälle verwenden (z.B. RSSI-Werte einiger HM-Geräte).

- Batteriegeräte: Werte aus dem Backend-Cache
- Nicht-Batteriegeräte: Werte vom Gerät (beeinflusst den Duty Cycle)

homematicip_local.update_device_firmware_data

Firmware-Daten für alle Geräte aktualisieren.


Siehe auch