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)
homematicip_local.get_link_paramset¶
getParamset für Direktverknüpfungen auf der XML-RPC-Schnittstelle aufrufen.
homematicip_local.put_link_paramset¶
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¶
homematicip_local.add_link¶
addLink auf der XML-RPC-Schnittstelle aufrufen. Erstellt eine Direktverknüpfung.
homematicip_local.remove_link¶
removeLink auf der XML-RPC-Schnittstelle aufrufen. Entfernt eine Direktverknüpfung.
homematicip_local.get_link_peers¶
getLinkPeers auf der XML-RPC-Schnittstelle aufrufen. Gibt ein Dictionary der Direktverknüpfungs-Partner zurück.
homematicip_local.create_central_links¶
Erstellt eine zentrale Verknüpfung von einem Gerät zum Backend. Erforderlich für RF-Geräte, um Tastendruck-Ereignisse zu aktivieren.
homematicip_local.remove_central_links¶
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.
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.
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_temperatureund eine Liste vonperiods - Nur aktive Heizperioden mit
starttime,endtimeundtemperatureangeben - Lücken werden automatisch mit
base_temperaturegefü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
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 → Truefalse,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}.jsonparamset_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.