Add required features for mowing intents (#151580)

This commit is contained in:
Michael Hansen
2025-09-02 11:02:38 -05:00
committed by GitHub
parent e0bf7749e6
commit 3909906823
2 changed files with 25 additions and 5 deletions
@@ -3,7 +3,7 @@
from homeassistant.core import HomeAssistant
from homeassistant.helpers import intent
from . import DOMAIN, SERVICE_DOCK, SERVICE_START_MOWING
from . import DOMAIN, SERVICE_DOCK, SERVICE_START_MOWING, LawnMowerEntityFeature
INTENT_LANW_MOWER_START_MOWING = "HassLawnMowerStartMowing"
INTENT_LANW_MOWER_DOCK = "HassLawnMowerDock"
@@ -20,6 +20,7 @@ async def async_setup_intents(hass: HomeAssistant) -> None:
description="Starts a lawn mower",
required_domains={DOMAIN},
platforms={DOMAIN},
required_features=LawnMowerEntityFeature.START_MOWING,
),
)
intent.async_register(
@@ -31,5 +32,6 @@ async def async_setup_intents(hass: HomeAssistant) -> None:
description="Sends a lawn mower to dock",
required_domains={DOMAIN},
platforms={DOMAIN},
required_features=LawnMowerEntityFeature.DOCK,
),
)
+22 -4
View File
@@ -5,8 +5,10 @@ from homeassistant.components.lawn_mower import (
SERVICE_DOCK,
SERVICE_START_MOWING,
LawnMowerActivity,
LawnMowerEntityFeature,
intent as lawn_mower_intent,
)
from homeassistant.const import ATTR_SUPPORTED_FEATURES
from homeassistant.core import HomeAssistant
from homeassistant.helpers import intent
@@ -18,7 +20,11 @@ async def test_start_lawn_mower_intent(hass: HomeAssistant) -> None:
await lawn_mower_intent.async_setup_intents(hass)
entity_id = f"{DOMAIN}.test_lawn_mower"
hass.states.async_set(entity_id, LawnMowerActivity.DOCKED)
hass.states.async_set(
entity_id,
LawnMowerActivity.DOCKED,
{ATTR_SUPPORTED_FEATURES: LawnMowerEntityFeature.START_MOWING},
)
calls = async_mock_service(hass, DOMAIN, SERVICE_START_MOWING)
response = await intent.async_handle(
@@ -42,7 +48,11 @@ async def test_start_lawn_mower_without_name(hass: HomeAssistant) -> None:
await lawn_mower_intent.async_setup_intents(hass)
entity_id = f"{DOMAIN}.test_lawn_mower"
hass.states.async_set(entity_id, LawnMowerActivity.DOCKED)
hass.states.async_set(
entity_id,
LawnMowerActivity.DOCKED,
{ATTR_SUPPORTED_FEATURES: LawnMowerEntityFeature.START_MOWING},
)
calls = async_mock_service(hass, DOMAIN, SERVICE_START_MOWING)
response = await intent.async_handle(
@@ -63,7 +73,11 @@ async def test_stop_lawn_mower_intent(hass: HomeAssistant) -> None:
await lawn_mower_intent.async_setup_intents(hass)
entity_id = f"{DOMAIN}.test_lawn_mower"
hass.states.async_set(entity_id, LawnMowerActivity.MOWING)
hass.states.async_set(
entity_id,
LawnMowerActivity.MOWING,
{ATTR_SUPPORTED_FEATURES: LawnMowerEntityFeature.DOCK},
)
calls = async_mock_service(hass, DOMAIN, SERVICE_DOCK)
response = await intent.async_handle(
@@ -87,7 +101,11 @@ async def test_stop_lawn_mower_without_name(hass: HomeAssistant) -> None:
await lawn_mower_intent.async_setup_intents(hass)
entity_id = f"{DOMAIN}.test_lawn_mower"
hass.states.async_set(entity_id, LawnMowerActivity.MOWING)
hass.states.async_set(
entity_id,
LawnMowerActivity.MOWING,
{ATTR_SUPPORTED_FEATURES: LawnMowerEntityFeature.DOCK},
)
calls = async_mock_service(hass, DOMAIN, SERVICE_DOCK)
response = await intent.async_handle(