From 0b0618389dcec3ab24335df9bfe639a53d4a0cc4 Mon Sep 17 00:00:00 2001 From: Trevor Schirmer Date: Wed, 22 Jul 2026 22:18:52 -0400 Subject: [PATCH 1/4] Remove Announce Volume --- Integrations/ESPHome/Core.yaml | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/Integrations/ESPHome/Core.yaml b/Integrations/ESPHome/Core.yaml index 850efc5..b642291 100644 --- a/Integrations/ESPHome/Core.yaml +++ b/Integrations/ESPHome/Core.yaml @@ -1,5 +1,5 @@ substitutions: - version: "26.7.16.1" + version: "26.7.22.1" # Default update channel on first boot (no stored user choice yet, i.e. a # fresh flash). The beta-channel builds override this to "Beta" (see # Integrations/ESPHome/beta-channel/) so firmware obtained from the beta @@ -251,19 +251,6 @@ light: min_brightness: 50% max_brightness: 100% -number: - - platform: template - name: Apollo CAST-1 Announce Volume - id: announce_volume - icon: mdi:volume-source - unit_of_measurement: "%" - min_value: 0 - max_value: 100 - step: 1 - restore_value: true - initial_value: 50 - optimistic: true - select: - platform: template id: firmware_channel @@ -403,7 +390,6 @@ media_player: - delay: 0.75s - media_player.volume_set: id: external_media_player - volume: !lambda "return id(announce_volume).state / 100.0;" - wait_until: - not: media_player.is_announcing: external_media_player @@ -413,7 +399,6 @@ media_player: duration: 1.0s - media_player.volume_set: id: external_media_player - volume: !lambda "return id(current_volume);" - light.turn_off: id: rgb_light - lambda: id(announcement_triggered) = false; From 2dd638c1982aacecf6e3f1934030d2c750578d2d Mon Sep 17 00:00:00 2001 From: Trevor Schirmer Date: Wed, 22 Jul 2026 22:25:08 -0400 Subject: [PATCH 2/4] Correction For Volume --- Integrations/ESPHome/Core.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Integrations/ESPHome/Core.yaml b/Integrations/ESPHome/Core.yaml index b642291..075630e 100644 --- a/Integrations/ESPHome/Core.yaml +++ b/Integrations/ESPHome/Core.yaml @@ -387,9 +387,6 @@ media_player: duration: 0.0s - wait_until: media_player.is_announcing: external_media_player - - delay: 0.75s - - media_player.volume_set: - id: external_media_player - wait_until: - not: media_player.is_announcing: external_media_player @@ -397,8 +394,6 @@ media_player: id: media_mixer_input decibel_reduction: 0 duration: 1.0s - - media_player.volume_set: - id: external_media_player - light.turn_off: id: rgb_light - lambda: id(announcement_triggered) = false; From 632af8a87fea04e999d2798300fbb183866dfe0f Mon Sep 17 00:00:00 2001 From: Brandon Harvey <8107750+bharvey88@users.noreply.github.com> Date: Thu, 23 Jul 2026 09:41:03 -0500 Subject: [PATCH 3/4] Remove unused current_volume global MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR #56 removed the volume restore that was the only reader of current_volume, leaving the global and its assignment in on_announcement write-only. Drop both. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- Integrations/ESPHome/Core.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Integrations/ESPHome/Core.yaml b/Integrations/ESPHome/Core.yaml index 075630e..64e7699 100644 --- a/Integrations/ESPHome/Core.yaml +++ b/Integrations/ESPHome/Core.yaml @@ -85,9 +85,6 @@ globals: type: int restore_value: no initial_value: "0" - - id: current_volume - type: float - initial_value: '0.2' - id: announcement_triggered type: bool initial_value: 'false' @@ -372,9 +369,7 @@ media_player: condition: - lambda: return (!id(announcement_triggered)); then: - - lambda: |- - id(announcement_triggered) = true; - id(current_volume) = id(external_media_player).volume; + - lambda: id(announcement_triggered) = true; - light.turn_on: id: rgb_light blue: 100% From e1aa89a5183b913b74c19bd9d14ca2f2e29f3d37 Mon Sep 17 00:00:00 2001 From: Trevor Schirmer Date: Mon, 27 Jul 2026 13:13:22 -0400 Subject: [PATCH 4/4] Update Firmware Select --- .github/workflows/build-beta.yml | 4 ++-- Integrations/ESPHome/Core.yaml | 9 ++------- Integrations/ESPHome/beta-channel/CAST-1_ETH.yaml | 9 --------- Integrations/ESPHome/beta-channel/CAST-1_W.yaml | 9 --------- 4 files changed, 4 insertions(+), 27 deletions(-) delete mode 100644 Integrations/ESPHome/beta-channel/CAST-1_ETH.yaml delete mode 100644 Integrations/ESPHome/beta-channel/CAST-1_W.yaml diff --git a/.github/workflows/build-beta.yml b/.github/workflows/build-beta.yml index c2535cb..61768bf 100644 --- a/.github/workflows/build-beta.yml +++ b/.github/workflows/build-beta.yml @@ -37,8 +37,8 @@ jobs: strategy: matrix: include: - - { yaml: Integrations/ESPHome/beta-channel/CAST-1_W.yaml, name: firmware-w } - - { yaml: Integrations/ESPHome/beta-channel/CAST-1_ETH.yaml, name: firmware-e } + - { yaml: Integrations/ESPHome/CAST-1_W.yaml, name: firmware-w } + - { yaml: Integrations/ESPHome/CAST-1_ETH.yaml, name: firmware-e } uses: esphome/workflows/.github/workflows/build.yml@025a1e6255610c498ed590403b7e510b69e474df # 2026.4.1 with: files: ${{ matrix.yaml }} diff --git a/Integrations/ESPHome/Core.yaml b/Integrations/ESPHome/Core.yaml index 64e7699..1d74c18 100644 --- a/Integrations/ESPHome/Core.yaml +++ b/Integrations/ESPHome/Core.yaml @@ -1,10 +1,5 @@ substitutions: - version: "26.7.22.1" - # Default update channel on first boot (no stored user choice yet, i.e. a - # fresh flash). The beta-channel builds override this to "Beta" (see - # Integrations/ESPHome/beta-channel/) so firmware obtained from the beta - # channel keeps tracking it instead of offering a stable "downgrade". - firmware_channel_default: "Stable" + version: "26.7.27.1" # Manifest URL bases. Stable = GitHub Pages (main branch builds). # Beta = rolling "beta-fw" pre-release assets (beta branch builds). stable_manifest_base: "https://apolloautomation.github.io/CAST-1" @@ -259,7 +254,7 @@ select: options: - "Stable" - "Beta" - initial_option: "${firmware_channel_default}" + initial_option: "Stable" on_value: then: - script.execute: apply_ota_source diff --git a/Integrations/ESPHome/beta-channel/CAST-1_ETH.yaml b/Integrations/ESPHome/beta-channel/CAST-1_ETH.yaml deleted file mode 100644 index fe73f73..0000000 --- a/Integrations/ESPHome/beta-channel/CAST-1_ETH.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# Beta-channel build of CAST-1_ETH.yaml: the identical image except the Firmware -# Channel select defaults to "Beta" on first boot, so firmware obtained from -# the beta channel keeps tracking it. Built by build-beta.yml only; the -# stable (GitHub Pages) builds use CAST-1_ETH.yaml directly. -substitutions: - firmware_channel_default: "Beta" - -packages: - base: !include ../CAST-1_ETH.yaml diff --git a/Integrations/ESPHome/beta-channel/CAST-1_W.yaml b/Integrations/ESPHome/beta-channel/CAST-1_W.yaml deleted file mode 100644 index 9b64888..0000000 --- a/Integrations/ESPHome/beta-channel/CAST-1_W.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# Beta-channel build of CAST-1_W.yaml: the identical image except the Firmware -# Channel select defaults to "Beta" on first boot, so firmware obtained from -# the beta channel keeps tracking it. Built by build-beta.yml only; the -# stable (GitHub Pages) builds use CAST-1_W.yaml directly. -substitutions: - firmware_channel_default: "Beta" - -packages: - base: !include ../CAST-1_W.yaml