Edit esp-bedside-panel.yaml

This commit is contained in:
ESPHome Device Builder
2026-07-20 12:50:34 +12:00
parent fd2fe422d0
commit 9afee6e638
+15 -12
View File
@@ -6,6 +6,7 @@
# https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-bedside-panel.yaml # https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-bedside-panel.yaml
#:########################################################################################:# #:########################################################################################:#
# VERSIONS: # VERSIONS:
# V1.43 2026-07-20 Raised alarm-test pitch and capped volume at the proven 40% maximum
# V1.42 2026-07-20 Changed tests to higher single-tone sounds and added a useful perceptual volume curve # V1.42 2026-07-20 Changed tests to higher single-tone sounds and added a useful perceptual volume curve
# V1.41 2026-07-20 Fixed raw alarm audio startup and buffering so tones play instead of amplifier clicks # V1.41 2026-07-20 Fixed raw alarm audio startup and buffering so tones play instead of amplifier clicks
# V1.40 2026-07-20 Added ES8311 speaker output, persistent alarm volume and local speaker test controls # V1.40 2026-07-20 Added ES8311 speaker output, persistent alarm volume and local speaker test controls
@@ -143,9 +144,11 @@
# - The Snooze duration is a persistent Home Assistant configuration entity. # - The Snooze duration is a persistent Home Assistant configuration entity.
# - Alarm speaker volume is persistent and adjustable from Home Assistant or the display. # - Alarm speaker volume is persistent and adjustable from Home Assistant or the display.
# - The ES8311 remains at its 75% / 0 dB reference while local PCM amplitude # - The ES8311 remains at its 75% / 0 dB reference while local PCM amplitude
# follows a perceptual 24 dB volume curve across the displayed 5-100% range. # follows the proven perceptual curve across a deliberately capped 5-40% range.
# - The 40% setting is the loudest available level because testing found it
# to be the practical bedside maximum for the fitted speaker.
# - The Alarm Clock page provides local Beep, repeating Alarm and Stop hardware tests. # - The Alarm Clock page provides local Beep, repeating Alarm and Stop hardware tests.
# - Beep is a short 1800 Hz tone; Alarm repeats one 1600 Hz tone. # - Beep is a short 2800 Hz tone; Alarm repeats one 2600 Hz tone.
# - Speaker tests generate audio locally and do not require Home Assistant or media files. # - Speaker tests generate audio locally and do not require Home Assistant or media files.
#:########################################################################################:# #:########################################################################################:#
# OFFLINE NOTES: # OFFLINE NOTES:
@@ -165,12 +168,12 @@ substitutions:
# Device Naming # Device Naming
device_name: "esp-bedside-panel" device_name: "esp-bedside-panel"
friendly_name: "ESP Bedside Panel" friendly_name: "ESP Bedside Panel"
description_comment: "Guition JC1060P470C_I_W_Y ESP32-P4 bedside control panel. Four-row Alarm Clock interface with higher-pitched single-tone speaker testing, perceptual PCM volume control and a reusable 24-hour roller time editor. (Layout V1.1)" description_comment: "Guition JC1060P470C_I_W_Y ESP32-P4 bedside control panel. Four-row Alarm Clock interface with higher-pitched single-tone speaker testing, a tested bedside-safe 40% volume ceiling and a reusable 24-hour roller time editor. (Layout V1.1)"
device_area: "Bedroom" device_area: "Bedroom"
# Project Naming # Project Naming
project_name: "Guition.JC1060P470C_I_W_Y" project_name: "Guition.JC1060P470C_I_W_Y"
project_version: "v1.42" project_version: "v1.43"
# Passwords & Secrets # Passwords & Secrets
api_key: !secret esp-api_key api_key: !secret esp-api_key
@@ -251,9 +254,9 @@ substitutions:
alarm_dac_reference_volume: "0.75" alarm_dac_reference_volume: "0.75"
alarm_pcm_max_amplitude: "28000" alarm_pcm_max_amplitude: "28000"
alarm_volume_attenuation_db: "24" alarm_volume_attenuation_db: "24"
alarm_beep_frequency_hz: "1800" alarm_beep_frequency_hz: "2800"
alarm_beep_duration_ms: "250" alarm_beep_duration_ms: "250"
alarm_tone_frequency_hz: "1600" alarm_tone_frequency_hz: "2600"
alarm_tone_on_ms: "350" alarm_tone_on_ms: "350"
alarm_tone_off_ms: "250" alarm_tone_off_ms: "250"
@@ -1049,7 +1052,7 @@ number:
initial_value: "${alarm_volume_default}" initial_value: "${alarm_volume_default}"
unit_of_measurement: "%" unit_of_measurement: "%"
min_value: 5 min_value: 5
max_value: 100 max_value: 40
step: 5 step: 5
mode: slider mode: slider
@@ -2447,11 +2450,11 @@ script:
if (isnan(ui_volume)) { if (isnan(ui_volume)) {
ui_volume = ${alarm_volume_default}.0f; ui_volume = ${alarm_volume_default}.0f;
} }
ui_volume = fminf(fmaxf(ui_volume, 5.0f), 100.0f); ui_volume = fminf(fmaxf(ui_volume, 5.0f), 40.0f);
// Equal steps in the displayed percentage produce roughly equal // Equal 5% steps produce roughly equal perceived loudness changes.
// perceived loudness changes. At 75%, this gives approximately the // The 40% ceiling deliberately preserves the loudest level proven
// same PCM level as the proven V1.41 test at the codec's 0 dB point. // suitable during bedside speaker testing.
const float volume_position = const float volume_position =
(ui_volume - 5.0f) / 95.0f; (ui_volume - 5.0f) / 95.0f;
const float attenuation_db = const float attenuation_db =
@@ -2580,7 +2583,7 @@ script:
if (isnan(ui_volume)) { if (isnan(ui_volume)) {
ui_volume = ${alarm_volume_default}.0f; ui_volume = ${alarm_volume_default}.0f;
} }
ui_volume = fminf(fmaxf(ui_volume, 5.0f), 100.0f); ui_volume = fminf(fmaxf(ui_volume, 5.0f), 40.0f);
const float volume_position = const float volume_position =
(ui_volume - 5.0f) / 95.0f; (ui_volume - 5.0f) / 95.0f;