From 8aa87c5099e6105a96bef24cfbd131581b047644 Mon Sep 17 00:00:00 2001 From: Kevin Ahrendt Date: Wed, 24 Jul 2024 11:10:22 -0400 Subject: [PATCH] add is_paused condition --- esphome/components/media_player/__init__.py | 4 ++++ esphome/components/media_player/automation.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/esphome/components/media_player/__init__.py b/esphome/components/media_player/__init__.py index 46fbf60..f196c77 100644 --- a/esphome/components/media_player/__init__.py +++ b/esphome/components/media_player/__init__.py @@ -77,6 +77,7 @@ "AnnouncementTrigger", automation.Trigger.template() ) IsIdleCondition = media_player_ns.class_("IsIdleCondition", automation.Condition) +IsPausedCondition = media_player_ns.class_("IsPausedCondition", automation.Condition) IsPlayingCondition = media_player_ns.class_("IsPlayingCondition", automation.Condition) @@ -193,6 +194,9 @@ async def media_player_play_media_action(config, action_id, template_arg, args): @automation.register_condition( "media_player.is_idle", IsIdleCondition, MEDIA_PLAYER_ACTION_SCHEMA ) +@automation.register_condition( + "media_player.is_paused", IsPausedCondition, MEDIA_PLAYER_ACTION_SCHEMA +) @automation.register_condition( "media_player.is_playing", IsPlayingCondition, MEDIA_PLAYER_ACTION_SCHEMA ) diff --git a/esphome/components/media_player/automation.h b/esphome/components/media_player/automation.h index 7ba3916..b5da3a1 100644 --- a/esphome/components/media_player/automation.h +++ b/esphome/components/media_player/automation.h @@ -69,5 +69,10 @@ template class IsPlayingCondition : public Condition, pub bool check(Ts... x) override { return this->parent_->state == MediaPlayerState::MEDIA_PLAYER_STATE_PLAYING; } }; +template class IsPausedCondition : public Condition, public Parented { + public: + bool check(Ts... x) override { return this->parent_->state == MediaPlayerState::MEDIA_PLAYER_STATE_PAUSED; } +}; + } // namespace media_player } // namespace esphome