Edit esp-bedside-panel.yaml
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user