Files
core/homeassistant/components/media_player/condition.py
T
2026-04-16 17:45:39 +02:00

44 lines
1.3 KiB
Python

"""Provides conditions for media players."""
from homeassistant.core import HomeAssistant
from homeassistant.helpers.condition import Condition, make_entity_state_condition
from .const import DOMAIN, MediaPlayerState
CONDITIONS: dict[str, type[Condition]] = {
"is_off": make_entity_state_condition(
DOMAIN, MediaPlayerState.OFF, support_duration=True
),
"is_on": make_entity_state_condition(
DOMAIN,
{
MediaPlayerState.BUFFERING,
MediaPlayerState.IDLE,
MediaPlayerState.ON,
MediaPlayerState.PAUSED,
MediaPlayerState.PLAYING,
},
),
"is_not_playing": make_entity_state_condition(
DOMAIN,
{
MediaPlayerState.BUFFERING,
MediaPlayerState.IDLE,
MediaPlayerState.OFF,
MediaPlayerState.ON,
MediaPlayerState.PAUSED,
},
),
"is_paused": make_entity_state_condition(
DOMAIN, MediaPlayerState.PAUSED, support_duration=True
),
"is_playing": make_entity_state_condition(
DOMAIN, MediaPlayerState.PLAYING, support_duration=True
),
}
async def async_get_conditions(hass: HomeAssistant) -> dict[str, type[Condition]]:
"""Return the conditions for media players."""
return CONDITIONS