Skip to content

Actions Reference

This page documents all custom actions provided by the Homematic(IP) Local for OpenCCU integration.


Device Value Operations

homematicip_local.get_device_value

Get a device parameter via the XML-RPC interface.

homematicip_local.set_device_value

Set a device parameter via the XML-RPC interface.

Storage Warning

Too much writing to the device MASTER paramset could damage your device's storage.

Example - Turn on a switch:

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

Example - Set thermostat temperature:

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

Paramset Operations

homematicip_local.get_paramset

Call getParamset on the XML-RPC interface. Returns a paramset.

homematicip_local.put_paramset

Call putParamset on the XML-RPC interface.

Storage Warning

Too much writing to the device MASTER paramset could damage your device's storage.

Example - Set week program:

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

Example with rx_mode (BidCos-RF only):

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

!!! note "rx_mode Options" - BURST (default): Wakes all devices immediately (uses battery) - WAKEUP: Sends data after device reports (saves battery, ~3 min delay)

Call getParamset for direct connections on the XML-RPC interface.

Call putParamset for direct connections on the XML-RPC interface.


Call addLink on the XML-RPC interface. Creates a direct connection.

Call removeLink on the XML-RPC interface. Removes a direct connection.

Call getLinkPeers on the XML-RPC interface. Returns a dict of direct connection partners.

Creates a central link from a device to the backend. Required for RF devices to enable button-press events.

Removes a central link from the backend. Disables button-press events.


Schedule Operations

All schedule services are device-based — they target a device by device_id or device_address instead of entity. This unified approach works for all device types (climate, switch, light, cover, valve).

Storage Warning

Too much writing to the device could damage your device's storage.

homematicip_local.get_schedule

Returns the complete schedule from a device. Works for both climate and non-climate devices.

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

homematicip_local.set_schedule

Sets the complete schedule on a device. For non-climate devices, use schedule_data with entry dict format.

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

Returns a single climate schedule profile in simplified format. Climate devices only.

The service analyzes the schedule and determines base_temperature as the most frequently used temperature. Only periods that deviate are returned.

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

homematicip_local.get_schedule_weekday

Returns the schedule for a specific weekday of a climate profile in simplified format.

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

homematicip_local.set_schedule_profile

Sends a complete schedule for a climate profile using a simplified format. Climate devices only.

How it works:

  • Each weekday has a base_temperature and a list of periods
  • Specify only active heating periods with starttime, endtime, and temperature
  • Gaps are automatically filled with base_temperature
  • System converts to required 13-slot format

Example:

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
    # Add other weekdays as needed

homematicip_local.set_schedule_weekday

Sends schedule for a single weekday using simplified format. Climate devices only.

Example:

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

Result:

  • 00:00-05:00: 16°C (base_temperature)
  • 05:00-06:00: 17°C (period 1)
  • 06:00-09:00: 16°C (base fills gap)
  • 09:00-15:00: 17°C (period 2)
  • 15:00-19:00: 16°C (base fills gap)
  • 19:00-22:00: 22°C (period 3)
  • 22:00-24:00: 16°C (base_temperature)

homematicip_local.copy_schedule

Copies the complete schedule (all profiles P1-P6, all weekdays) from one climate device to another.

Requirements:

  • Both devices must support climate schedules
  • Both devices must support the same number of profiles
action: homematicip_local.copy_schedule
data:
  device_id: abcdefg...
  target_device_id: hijklmn...

homematicip_local.copy_schedule_profile

Copies a single schedule profile from one device to another (or to a different profile on the same device).

Use cases:

  • Copy P1 from Device A to P2 on Device A
  • Copy P1 from Device A to P1 on Device B
  • Copy P3 from Device A to P1 on Device B
action: homematicip_local.copy_schedule_profile
data:
  device_id: abcdefg...
  source_profile: P1
  target_profile: P2
  target_device_id: hijklmn... # Optional: omit if copying within same device

Climate Away Mode

homematicip_local.enable_away_mode_by_calendar

Enable away mode by specifying start and end date/time.

HomematicIP only

homematicip_local.enable_away_mode_by_duration

Enable away mode immediately with duration in hours.

HomematicIP only

homematicip_local.disable_away_mode

Disable away mode for climate devices.

HomematicIP only


System Variables

homematicip_local.get_variable_value

Get the value of a variable from your Homematic hub.

homematicip_local.set_variable_value

Set the value of a variable on your Homematic hub.

Value lists: Accept 0-based position or the value as input.

Booleans:

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

Example:

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

homematicip_local.fetch_system_variables

Fetch system variables on demand, independent of the default 30s schedule.

Use sparingly - frequent calls may affect CCU stability


Siren & Sound Operations

homematicip_local.turn_on_siren

Turn siren on. Can be disabled with siren.turn_off.

Automatic Select Entities

Since version 2.0.0, the integration automatically creates Select entities for siren tone and light pattern selection:

- **Siren Tone** (`select.<device>_acoustic_alarm_selection`)
- **Siren Light Pattern** (`select.<device>_optical_alarm_selection`)

These selections persist across restarts and are automatically used when calling siren services.

homematicip_local.play_sound

Play a sound on HmIP-MP3P sound player devices.

Field Required Description
soundfile No Sound file (e.g., SOUNDFILE_001, INTERNAL_SOUNDFILE)
volume No Volume (0.0 to 1.0)
on_time No Duration in seconds
ramp_time No Volume fade time in seconds
repetitions No Repetitions (0=none, 1-18=count, -1=infinite)

homematicip_local.stop_sound

Stop sound playback on HmIP-MP3P devices.

homematicip_local.set_sound_led

Set LED color and brightness on HmIP-MP3P devices.

Field Required Description
color No LED color: black, blue, green, turquoise, red, purple, yellow, white
brightness No Brightness (0 to 255)
on_time No Duration in seconds
ramp_time No Fade time in seconds
repetitions No Repetitions
flash_time No Flash duration in ms (0 to 5000)

Cover Operations

homematicip_local.set_cover_combined_position

Move a blind to a specific position and tilt position simultaneously.


Light & Switch On-Time

homematicip_local.light_set_on_time

Set on time for a light entity. Must be followed by light.turn_on. Use 0 to reset.

homematicip_local.switch_set_on_time

Set on time for a switch entity. Must be followed by switch.turn_on. Use 0 to reset.

homematicip_local.valve_set_on_time

Set on time for a valve entity. Must be followed by valve.open. Use 0 to reset.


Text Display

homematicip_local.send_text_display

Send text to a notify entity (text display devices like HmIP-WRCD).

Field Required Description
entity_id Yes Notify entity ID (domain: notify)
text Yes Text to display
icon No Display icon (see options below)
background_color No Background color: white, black
text_color No Text color: white, black
alignment No Text alignment: left, center, right
display_id No Display ID (1-5) for multi-display devices
sound No Sound: disarmed, externally_armed, internally_armed, delayed_externally_armed, delayed_internally_armed, event, error, low_battery
repeat No Repeat count (0-15)

Available icons:

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

Example:

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

Clear text on a notify entity (text display).


Device Management

homematicip_local.export_device_definition

Exports a device definition as a ZIP file to: {HA_config}/homematicip_local/{device_model}.zip

The ZIP contains:

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

Upload to pydevccu to support development of new devices.

homematicip_local.reload_device_config

Reload device configuration from CCU. Refreshes paramset descriptions and values.

homematicip_local.reload_channel_config

Reload configuration for a specific channel from CCU.

homematicip_local.force_device_availability

Reactivate a device in HA that was made unavailable by an UNREACH event.

Not a fix for communication problems

This only overrides availability status in HA. No communication with the backend occurs.

homematicip_local.confirm_all_delayed_devices

Confirms all delayed devices (CCU inbox) at once and adds them to Home Assistant without custom names.


System Operations

homematicip_local.clear_cache

Clears the cache for a central unit from Home Assistant. Requires restart.

homematicip_local.record_session

Records a session for debugging (max 10 minutes). Output saved to: {HA_config}/homematicip_local/session/

homematicip_local.create_ccu_backup

Create and download a system backup from CCU.

OpenCCU only

This feature is only available for OpenCCU (formerly RaspberryMatic). Not supported on CCU2, CCU3, Debmatic, or piVCCU.

Backup saved to: {HA_storage}/homematicip_local/backup/

Returns:

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

Automation Example - Weekly Backup:

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

Home Assistant Built-in Actions

homeassistant.update_entity

Update entity value (limited to once per 60 seconds).

Use sparingly

99.9% of entities update automatically. Use only for edge cases (e.g., RSSI values of some HM devices).

- Battery devices: Values from backend cache
- Non-battery devices: Values from device (impacts duty cycle)

homematicip_local.update_device_firmware_data

Update firmware data for all devices.


See Also