From ee4212650d244ec0ffecd08438f5a209d9b87c35 Mon Sep 17 00:00:00 2001 From: Mischa Siekmann Date: Mon, 13 May 2024 02:08:46 +0200 Subject: [PATCH] added api version check for setting a supported state --- esphome/components/api/api_connection.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index 01367dec36..7cb5db4984 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -1002,7 +1002,15 @@ bool APIConnection::send_media_player_state(media_player::MediaPlayer *media_pla MediaPlayerStateResponse resp{}; resp.key = media_player->get_object_id_hash(); - resp.state = static_cast(media_player->state); + if (this->client_api_version_major_ < 1 || this->client_api_version_minor_ < 11) { + media_player::MediaPlayerState report_state = media_player->state == media_player::MEDIA_PLAYER_STATE_ANNOUNCING + ? media_player::MEDIA_PLAYER_STATE_PLAYING + : media_player->state; + resp.state = static_cast(report_state); + } else { + resp.state = static_cast(media_player->state); + } + resp.volume = media_player->volume; resp.muted = media_player->is_muted(); return this->send_media_player_state_response(resp);