AioHomematic API Usage by Homematic(IP) Local¶
This document catalogs all aiohomematic methods called by the Homematic(IP) Local Home Assistant integration. It serves as a reference for understanding the public API surface used by the integration.
Generated: 2025-12-14 Source: Homematic(IP) Local integration Repository: https://github.com/sukramj/homematicip_local
Overview¶
The Homematic(IP) Local integration interacts with 13 aiohomematic classes across three layers:
Core API Layer (3 classes)¶
- CentralUnit (45 methods) - Main orchestration and device management
- Client (9 methods) - Low-level RPC communication
- SystemStatusChangedEvent (3 properties) - Event bus integration
Model Layer (10 classes)¶
- Device (22 methods) - Physical device representation
- Channel (8 methods) - Device channel representation
- BaseDataPoint (122 methods) - Generic data point operations
- Event (22 methods) - Event representation
- DpSensor (3 methods) - Sensor-specific data points
- CustomDpClimate (1 method) - Climate entity specialization
- BaseCustomDpClimate (2 methods) - Climate base class
- CustomDpLock (1 method) - Lock entity specialization
- CustomDpSiren (2 methods) - Siren entity specialization
- DataPoint (unclassified) (13 methods) - Generic data point access
Statistics¶
- Total API calls: 675 (verified against aiohomematic source)
- Unique methods: 253 (all verified to exist in aiohomematic)
- Classes: 13 (3 core API + 10 model classes)
- Filtered out: 71 Home Assistant-specific methods and wrappers
Method Verification¶
All reported methods have been verified to actually exist in the aiohomematic codebase. The following Home Assistant-specific methods have been excluded:
- Device Registry (7):
config_entries,device_class,identifiers,id,name_by_user,ensure_via_device_exists,enable_sub_devices - Control Unit Wrappers (2):
get_new_data_points,get_new_hub_data_points - Client Wrappers (1):
async_get_clientsession - Config Flow (2):
start_central,stop_central - SSDP/UPnP Discovery (3):
ssdp_location,upnp,SsdpServiceInfo - Data Point Wrappers (2):
data_point,parameter_name - Event Wrappers (1):
channel_name - Plus 53 additional HA framework methods (async_get_device, async_attach_trigger, context, etc.)
API Methods by Class¶
1. aiohomematic.central.CentralUnit (45 methods)¶
The CentralUnit is the primary entry point for all integration operations.
Lifecycle Management¶
create_central- Factory method to create CentralUnit instancestart- Initialize central and start client connectionsstop- Gracefully shut down central and all clientsstart_central- Alternative start methodstop_central- Alternative stop methodactivate- Activate the central unit
Configuration & System Information¶
central- Reference to the central unit itselfcentral_info- Access to central information protocolmodel- CCU/backend model identifiername- Central unit nameserial- CCU serial numberurl- CCU base URLversion- CCU/backend versionsystem_information- Complete system information dictvalidate_config_and_get_system_information- Validate configuration and fetch system infostate- Current central state
Device Management¶
devices- Dictionary of all devicesget_device- Retrieve device by addressdelete_device- Remove device from centraladd_new_devices_manually- Add devices outside of automatic discoveryget_virtual_remotes- Get all virtual remote devicesget_un_ignore_candidates- Get devices that can be un-ignored
Data Point Access¶
get_data_points- Get all data points (filtered)get_generic_data_point- Get a generic data point by unique IDget_hub_data_points- Get hub-level data pointsget_sysvar_data_point- Get system variable data pointget_state_paths- Get all state paths for devices
Hub/System Variables¶
fetch_program_data- Fetch CCU programsfetch_sysvar_data- Fetch system variablesget_system_variable- Get system variable by nameset_system_variable- Set system variable valueprogram_data_points- Dictionary of program data pointssysvar_data_points- Dictionary of system variable data points
Events¶
get_events- Get all event instancesevent_bus- Access to internal event bussubscribe- Subscribe to events (legacy method)
Client Management¶
has_client- Check if client exists for interfacehas_clients- Check if any clients existclient_coordinator- Access to client coordinatorcache_coordinator- Access to cache coordinatordevice_coordinator- Access to device coordinatorhub_coordinator- Access to hub coordinator
Device Links¶
create_central_links- Create direct links in central storageremove_central_links- Remove direct links from central storage
Firmware Management¶
refresh_firmware_data- Refresh firmware information for all devices
Maintenance & Debugging¶
clear_all- Clear all caches and statecreate_backup_and_download- Create and download CCU backup
2. aiohomematic.client.Client (9 methods)¶
The Client class provides low-level RPC communication with the CCU/backend.
RPC Operations¶
get_value- Get single parameter value via RPCset_value- Set single parameter value via RPCget_paramset- Get entire paramset via RPCput_paramset- Set entire paramset via RPC
Device Links¶
add_link- Add direct link between devicesremove_link- Remove direct link between devicesget_link_peers- Get peers for device links
Client Information¶
client- Client instance referencesupports_rpc_callback- Check if client supports XML-RPC callbacks
3. aiohomematic.central.events.SystemStatusChangedEvent (3 properties)¶
Event data for system status changes (used by Home Assistant integration).
Properties¶
status_type- Type of status event (SystemStatusChangedEventType)central_name- Name of the central unitavailable- Whether the system is available (optional)
Model Layer API¶
4. aiohomematic.model.device.Device (22 methods)¶
Device represents a physical Homematic device with its channels and properties.
Device Identification¶
address- Device address (e.g., "VCU0000001")device_address- Same as addresschannel_address- Construct channel address from device addressidentifier- Device identifier
Device Information¶
name- Device namemodel- Device model identifiermanufacturer- Device manufacturerfirmware- Current firmware versionfirmware_update_state- Firmware update availability stateinterface_id- Interface identifier (e.g., "BidCos-RF")room- Room assignment
Device State¶
available- Device availability statusset_forced_availability- Force device availability state
Data Points & Events¶
generic_data_points- Generic data points for this devicegeneric_events- Generic events for this deviceparameter- Get parameter valuevalue- Get/set device value
Device Management¶
has_sub_devices- Check if device has sub-devicesexport_device_definition- Export device definition for debugging
Device Registry Integration¶
device- Device registry entrydevices- All devices in registry
Event Subscriptions¶
subscribe_to_device_removed- Subscribe to device removal events
5. aiohomematic.model.device.Channel (8 methods)¶
Channel represents a logical channel within a device.
Channel Identification¶
address- Channel address (e.g., "VCU0000001:1")channel- Channel number (deprecated, useno)no- Channel numberunique_id- Unique channel identifiergroup_no- Group number if channel is in a group
Channel Information¶
name- Channel nameroom- Room assignmentdevice- Parent device reference
6. aiohomematic.model.data_point.BaseDataPoint (122 methods)¶
BaseDataPoint is the core class for all device parameters and controls.
Identification & Metadata¶
address- Data point addressunique_id- Unique identifiercustom_id- Custom identifier for groupingname- Data point namefull_name- Full descriptive nameparameter- Parameter namecategory- Data point category (e.g., CLIMATE, COVER)default_category- Default category
Value Access¶
value- Current valuedefault- Default valuemin- Minimum valuemax- Maximum valueunit- Unit of measurementmultiplier- Value multiplierdata_type- Data type (BOOLEAN, INTEGER, FLOAT, STRING, ENUM)
State Information¶
is_valid- Value validity statusis_readable- Whether parameter is readableavailable- Data point availabilitystate_uncertain- State uncertainty flagmodified_at- Last modification timestamprefreshed_at- Last refresh timestamp
Relationships¶
device- Parent devicechannel- Parent channelclient- RPC clientdevices- Related devices (for groups)group_master- Group master data pointis_in_multi_group- Check if in multiple groupshas_sub_devices- Check for sub-devicesdata_point_provider- Access to data point provider
Description & Documentation¶
description- Parameter descriptionadditional_information- Additional informationhmtype- Homematic typeinterface_id- Interface identifiermodel- Device modelfunction- Functional descriptionusage- Usage informationname_data- Name metadata
Generic Controls (applicable to various entity types)¶
Switch/Binary Operations:
is_on- On/off stateturn_on- Turn onturn_off- Turn offpress- Press buttonsend_value- Send value to devicesend_variable- Send variable value
Light Operations:
brightness- Brightness level (0-255)hs_color- Hue/saturation colorcolor_temp_kelvin- Color temperature in Kelvincolor_name- Color namechannel_color_name- Channel-specific color namegroup_brightness- Group brightnessgroup_value- Group valuesupports_brightness- Check brightness supportsupports_color_temperature- Check color temp supportsupports_hs_color- Check HS color supportsupports_effects- Check effects supportavailable_lights- Available light channelseffect- Current effecteffects- Available effects
Cover Operations:
current_position- Current position (0-100)current_tilt_position- Current tilt positioncurrent_channel_position- Channel-specific positioncurrent_channel_tilt_position- Channel-specific tilt positionis_closed- Closed stateis_opening- Opening stateis_closing- Closing stateis_jammed- Jammed stateset_position- Set positionopen- Open coverclose- Close coverstop- Stop movementopen_tilt- Open tiltclose_tilt- Close tiltstop_tilt- Stop tilt movement
Lock Operations:
is_locked- Locked stateis_locking- Locking in progressis_unlocking- Unlocking in progresslock- Lockunlock- Unlock
Climate Operations:
current_temperature- Current temperaturetarget_temperature- Target temperaturetemperature_offset- Temperature offsetcurrent_humidity- Current humiditymin_temp- Minimum temperaturemax_temp- Maximum temperatureset_temperature- Set target temperatureoperation_mode- Current operation modemode- Current modemodes- Available modesset_mode- Set operation modeoptimum_start_stop- Optimum start/stop feature
Schedule/Profile Operations:
schedule- Current schedulesimple_schedule- Simplified scheduleget_schedule_profile- Get schedule profileget_schedule_weekday- Get weekday scheduleset_schedule_profile- Set schedule profileset_schedule_weekday- Set weekday scheduleset_simple_schedule_profile- Set simple schedule profileset_simple_schedule_weekday- Set simple weekday schedulecopy_schedule_profile- Copy schedule profileavailable_schedule_profiles- Available schedule profilessupports_schedule- Check schedule supportprofile- Current profileprofiles- Available profilesset_profile- Set profilesupports_profiles- Check profile support
Timer Operations:
set_on_time- Set on timeset_timer_on_time- Set timer on time
Siren Operations:
available_tones- Available alarm tones
Firmware Operations:
firmware- Current firmware versioncurrent_firmware- Same as firmwareavailable_firmware- Available firmware versionlatest_firmware- Latest firmware versionrefresh_firmware_data- Refresh firmware informationupdate_firmware- Update device firmware
Away Mode (Climate):
enable_away_mode_by_calendar- Enable away mode by calendarenable_away_mode_by_duration- Enable away mode by durationdisable_away_mode- Disable away mode
Data Management:
load_data_point_value- Load data point valueget_data_point_by_custom_id- Get data point by custom ID
Event Subscriptions:
subscribe_to_data_point_updated- Subscribe to value updatessubscribe_to_device_removed- Subscribe to device removal
Cover-Specific:
activity- Activity stateidentifier- Device identifier
7. aiohomematic.model.event.Event (22 methods)¶
Event represents push notifications from devices.
Event Identification¶
event- Event nameevent_type- Event typeparameter- Event parameterinterface_id- Interface identifierchannel- Channel number
Event Data¶
value- Event valuedata- Event dataevent_data- Same as dataget_event_data- Get event data with type
Event State¶
new_state- New state valueold_state- Previous state valueacceptable- Event acceptable flagalive- Device alive statusconnected- Device connected statussystem_event- System event indicator
Event Statistics¶
seconds_since_last_event- Time since last eventmismatch_count- Mismatch countmismatch_type- Mismatch typereason- Event reason
Event Metadata¶
usage- Usage informationname_data- Name metadata
Event Subscriptions¶
subscribe_to_data_point_updated- Subscribe to event updates
8. aiohomematic.model.generic.DpSensor (3 methods)¶
DpSensor provides sensor-specific data point properties.
Sensor Properties¶
data_type- Sensor data typemultiplier- Value multiplierunit- Unit of measurement
9. aiohomematic.model.custom.CustomDpClimate (1 method)¶
CustomDpClimate provides climate-specific extensions.
Climate Properties¶
target_temperature_step- Temperature adjustment step size
10. aiohomematic.model.custom.climate.BaseCustomDpClimate (2 methods)¶
BaseCustomDpClimate provides base climate functionality.
Schedule Operations¶
copy_schedule- Copy complete schedulecopy_schedule_profile- Copy specific schedule profile
11. aiohomematic.model.custom.CustomDpLock (1 method)¶
CustomDpLock provides lock-specific extensions.
Lock Capabilities¶
supports_open- Check if lock supports open operation
12. aiohomematic.model.custom.CustomDpSiren (2 methods)¶
CustomDpSiren provides siren-specific extensions.
Siren Capabilities¶
supports_duration- Check if siren supports duration settingsupports_tones- Check if siren supports tone selection
13. aiohomematic.?.DataPoint (13 methods)¶
Unclassified data point accesses (when type inference was uncertain).
Generic Data Point Properties¶
category- Data point categorychannel- Parent channeldata_point_name_postfix- Name postfixdevice- Parent deviceenabled_default- Default enabled statefull_name- Full namegroup_master- Group masteris_in_multi_group- Multi-group membershipmodel- Device modelname- Data point nameparameter- Parameter nameunique_id- Unique identifierunit- Unit of measurement
Usage Patterns¶
Typical Integration Flow¶
- Initialization
- Device Discovery
- Data Point Access
- Event Subscription
- Cleanup
Common Operations¶
- System Variables:
get_system_variable(),set_system_variable() - Programs:
fetch_program_data(),program_data_points - Firmware:
refresh_firmware_data() - Device Links:
get_link_peers(),add_link(),remove_link() - Backup:
create_backup_and_download()
Stability Considerations¶
Stable Public API (recommended for external use)¶
The following methods are considered stable and recommended for external integrations:
- CentralUnit:
start(),stop(),devices,get_device(),get_data_points(),get_system_variable(),set_system_variable(),event_bus - Client:
get_value(),set_value(),get_paramset(),put_paramset()
Internal API (may change)¶
The following methods are primarily for internal use and may change:
- Coordinator access methods (
cache_coordinator,client_coordinator, etc.) - Legacy methods (
subscribe- useevent_businstead)
Filtered Methods¶
The scanner automatically filters out Home Assistant-specific methods that are not part of aiohomematic's API:
- Device Registry:
async_get(),async_get_device(),async_get_or_create(),async_remove_device() - Config Flow:
async_step_user(),async_step_central(),async_step_reauth() - Triggers/Actions:
async_attach_trigger(),async_get_actions(),async_get_triggers() - Entity Properties:
native_value,device_info,entity_description,context
Version Compatibility¶
This analysis is based on:
- aiohomematic: 2025.12.45
- Homematic(IP) Local: Latest version as of 2025-12-24
For breaking changes and migration guides, see:
Related Documentation¶
Generating This Documentation¶
This documentation was generated using the scan_aiohomematic_calls.py script with method verification enabled:
python script/scan_aiohomematic_calls.py \
/path/to/homematicip_local/custom_components/homematicip_local \
--verify-methods \
--show-unverified \
--output api_usage.txt
The script:
- Scans all Python files for aiohomematic method calls
- Filters out Python builtins and Home Assistant framework methods
- Verifies each detected method exists in the aiohomematic source code
- Reports only methods that are confirmed to be part of aiohomematic's public API
Last Updated: 2025-12-24 Generated by: script/scan_aiohomematic_calls.py --verify-methods Verification: All 253 methods confirmed to exist in aiohomematic 2025.12.45