Open-source home automation platform running on Python 3.
69
{
"context": "This criteria evaluates how effectively the engineer uses Home Assistant's background task management API to implement concurrent device monitoring with proper task tracking and cleanup.",
"type": "weighted_checklist",
"checklist": [
{
"name": "async_add_executor_job usage",
"description": "Uses hass.async_add_executor_job() to execute blocking operations (time.sleep()) in the thread pool without blocking the event loop",
"max_score": 30
},
{
"name": "async_create_background_task usage",
"description": "Uses hass.async_create_background_task() to create and track background monitoring tasks with appropriate task naming",
"max_score": 25
},
{
"name": "Task tracking implementation",
"description": "Maintains references to created background tasks (e.g., in a list or set) to enable proper monitoring and cleanup",
"max_score": 15
},
{
"name": "Concurrent device monitoring",
"description": "Implements concurrent monitoring pattern where multiple devices are polled independently without waiting for each other",
"max_score": 15
},
{
"name": "Task cleanup on stop",
"description": "Properly cancels and cleans up all tracked background tasks in the stop_monitoring() method",
"max_score": 10
},
{
"name": "Status data management",
"description": "Correctly maintains and updates device status data in a thread-safe manner accessible via get_device_status()",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-homeassistantdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10