tessl install tessl/pypi-homeassistant@2025.9.0Open-source home automation platform running on Python 3.
Agent Success
Agent success rate when using this tile
69%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.19x
Baseline
Agent success rate without this tile
58%
{
"context": "This criteria evaluates how well an engineer uses Home Assistant's Device Registry API to implement a smart home device management system. The focus is on proper usage of device registration, metadata management, and query capabilities.",
"type": "weighted_checklist",
"checklist": [
{
"name": "DeviceRegistry initialization",
"description": "Correctly obtains and uses the DeviceRegistry instance from Home Assistant, using async_get(hass) or similar registry access pattern",
"max_score": 10
},
{
"name": "async_get_or_create usage",
"description": "Uses DeviceRegistry.async_get_or_create() method to register devices with proper parameters including config_entry_id, connections, identifiers, manufacturer, model, name, sw_version, hw_version, and area_id",
"max_score": 25
},
{
"name": "Connection tuples",
"description": "Correctly structures device connections as sets of tuples with (connection_type, value) format, such as (CONNECTION_NETWORK_MAC, mac_address) or (CONNECTION_ZIGBEE, zigbee_id)",
"max_score": 10
},
{
"name": "Identifier tuples",
"description": "Correctly structures device identifiers as sets of tuples with (domain, unique_id) format for unique device identification",
"max_score": 10
},
{
"name": "async_update_device usage",
"description": "Uses DeviceRegistry.async_update_device() method to modify device properties including area_id, name_by_user, sw_version, hw_version, merge_identifiers, and merge_connections",
"max_score": 20
},
{
"name": "async_get_device query",
"description": "Uses DeviceRegistry.async_get_device() method to retrieve devices by identifiers or connections parameter",
"max_score": 10
},
{
"name": "async_remove_device usage",
"description": "Uses DeviceRegistry.async_remove_device() method to properly remove devices from the registry",
"max_score": 5
},
{
"name": "Registry devices property",
"description": "Accesses the DeviceRegistry.devices property to retrieve all registered devices as a dictionary",
"max_score": 5
},
{
"name": "Async/await patterns",
"description": "Properly uses async/await syntax for all asynchronous DeviceRegistry operations",
"max_score": 5
}
]
}