Device Support¶
This guide explains how aiohomematic supports Homematic devices and what to do if your device doesn't work as expected.
Generic Approach¶
aiohomematic uses a generic approach to device support:
- All devices are supported - Every Homematic device automatically creates entities based on its parameters
- No device list needed - New devices work immediately without library updates
- Custom mappings enhance - Complex devices get additional features through custom mappings
How It Works¶
CCU Device → Parameter Discovery → Entity Creation
↓ ↓ ↓
HmIP-eTRV ACTUAL_TEMPERATURE sensor.temperature
SET_POINT_TEMPERATURE climate entity
VALVE_STATE sensor.valve
BATTERY_STATE sensor.battery
When you add a device to your CCU:
- The integration reads the device's parameter descriptions from the CCU
- Each parameter becomes an entity (sensor, switch, number, etc.)
- Parameters are mapped to appropriate entity types based on their characteristics
Entity Types¶
Parameters are automatically mapped to Home Assistant entity types:
| Parameter Type | Entity Type | Example |
|---|---|---|
| Boolean (read-only) | Binary Sensor | WINDOW_STATE |
| Boolean (writable) | Switch | STATE |
| Float/Integer (read-only) | Sensor | ACTUAL_TEMPERATURE |
| Float/Integer (writable) | Number | LEVEL |
| Enum (read-only) | Sensor | ERROR_CODE |
| Enum (writable) | Select | OPERATING_MODE |
| Action | Button | PRESS_SHORT |
Custom Mappings¶
Some devices benefit from custom mappings that combine multiple parameters into a single, richer entity:
| Device Type | Custom Entity | Combined Parameters |
|---|---|---|
| Thermostat | Climate | SET_POINT_TEMPERATURE, ACTUAL_TEMPERATURE, VALVE_STATE, etc. |
| Dimmer | Light | LEVEL, ON_TIME, RAMP_TIME |
| Blind | Cover | LEVEL, STOP, WORKING |
| Lock | Lock | LOCK_STATE, LOCK_TARGET_LEVEL, ERROR |
Benefits of Custom Mappings¶
- Better UX - Single climate card instead of multiple sensors
- Proper actions -
climate.set_temperatureinstead of raw parameter writes - State aggregation - Combined availability and error handling
Parameter Filtering¶
Not all parameters become entities. The integration filters parameters to provide a clean, useful set of entities:
| Category | Behavior |
|---|---|
| Common parameters | Created as entities (enabled or disabled) |
| Internal/service parameters | Not created by default |
| Maintenance parameters | Created but disabled by default |
This filtering prevents hundreds of technical parameters from cluttering your Home Assistant instance.
Disabled Entities¶
Many entities are created disabled by default to avoid cluttering your dashboard:
- Signal strength values (RSSI_DEVICE, RSSI_PEER)
- Duty cycle information (DUTY_CYCLE)
- Device-specific diagnostic parameters
To enable:
- Go to Settings → Devices & Services
- Find your device
- Click on disabled entities
- Enable the ones you need
Adding Hidden Parameters (Unignore)¶
If you need a parameter that isn't created as an entity, you can unignore it via the integration configuration:
- Go to Settings → Devices & Services → Homematic(IP) Local
- Click Configure → navigate to Interface page
- Enable Advanced configuration
- Add the parameter pattern to the un_ignore list (e.g.,
*:*:RSSI_PEER)
See Unignore Parameters for detailed instructions and pattern examples.
When Devices Don't Work as Expected¶
New Device Model¶
If you have a brand-new device model:
- Check if it works at all - Are basic entities created?
- Verify CCU pairing - Is the device working in CCU WebUI?
- Check for updates - Update aiohomematic and the integration
Missing Custom Mapping¶
If a device works but lacks a proper custom entity (e.g., shows raw sensors instead of a climate entity):
- Export the device definition:
- Open an issue on GitHub with:
- Device model (e.g., HmIP-eTRV-2)
- The exported ZIP file
- Description of expected behavior
Wrong Entity Type¶
If a parameter is mapped to the wrong entity type:
- This is usually intentional based on the parameter's characteristics
- Use Home Assistant's entity customization if needed
- Report if you believe it's a bug
Using Generic Entities¶
Even without custom mappings, you can control any device:
Reading Values¶
# Read any parameter
action: homematicip_local.get_device_value
data:
device_id: YOUR_DEVICE_ID
channel: 1
parameter: ACTUAL_TEMPERATURE
Writing Values¶
# Write any parameter
action: homematicip_local.set_device_value
data:
device_id: YOUR_DEVICE_ID
channel: 1
parameter: SET_POINT_TEMPERATURE
value: "21.0"
value_type: double
Paramsets¶
# Read complete paramset
action: homematicip_local.get_paramset
data:
device_id: YOUR_DEVICE_ID
channel: 1
paramset_key: VALUES
Device Categories¶
Fully Supported (Custom Mapping)¶
These device types have complete custom entity support:
- Climate - Thermostats, wall thermostats, heating groups
- Cover - Blinds, shutters, garage doors
- Light - Dimmers, switches with brightness
- Lock - Door locks
- Siren - Alarm sirens, MP3 players
- Switch - All switch types
Generic Support (Auto-Discovery)¶
All other devices work through generic entity creation:
- Weather stations
- Energy meters
- Motion sensors
- Door/window contacts
- Smoke detectors
- Water sensors
- And all future devices
See Also¶
- Extension Points - For developers adding custom mappings
- Actions Reference - Raw device access
- Unignore Parameters - Access hidden parameters