Merge pull request #64 from edwardtfn/speaker-with-ble-proxy
Add speaker to BLE Proxy add-on
This commit is contained in:
@@ -11,6 +11,27 @@
|
|||||||
##### - For normal system use, modifications to this file are NOT required. #####
|
##### - For normal system use, modifications to this file are NOT required. #####
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
---
|
---
|
||||||
|
substitutions:
|
||||||
|
# RTTTL format: name:d=duration,o=octave,b=tempo:notes
|
||||||
|
# d=32 (32nd note), o=5 (octave 5), b=100 (tempo 100)
|
||||||
|
tone_volume_change: "scale_up:d=32,o=5,b=100:c,c#,d#,e,f#,g#,a#,b" # Use "none" to disable sound
|
||||||
|
|
||||||
|
api:
|
||||||
|
actions:
|
||||||
|
- action: rtttl_play
|
||||||
|
variables:
|
||||||
|
# The RTTTL string for the melody to be played.
|
||||||
|
# It should follow the RTTTL format, including the melody's name,
|
||||||
|
# default settings, and a sequence of notes.
|
||||||
|
tone: string
|
||||||
|
then:
|
||||||
|
- lambda: |-
|
||||||
|
rtttl_speaker->stop();
|
||||||
|
if (rtttl_speaker_gain->state > 0) {
|
||||||
|
ESP_LOGI("api", "Play tone: '%s'", tone.c_str());
|
||||||
|
rtttl_speaker->play(tone.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
bluetooth_proxy:
|
bluetooth_proxy:
|
||||||
|
|
||||||
esp32:
|
esp32:
|
||||||
@@ -33,17 +54,54 @@ esphome:
|
|||||||
build_flags:
|
build_flags:
|
||||||
- -D TX_ULTIMATE_EASY_ADDON_BLE_PROXY
|
- -D TX_ULTIMATE_EASY_ADDON_BLE_PROXY
|
||||||
|
|
||||||
i2s_audio: !remove
|
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- id: !extend light_full
|
- id: !extend light_full
|
||||||
platform: esp32_rmt_led_strip
|
platform: esp32_rmt_led_strip
|
||||||
rgb_order: GRB
|
rgb_order: GRB
|
||||||
rmt_channel: 0
|
rmt_channel: 1
|
||||||
chipset: ws2812
|
chipset: ws2812
|
||||||
type: !remove
|
type: !remove
|
||||||
variant: !remove
|
variant: !remove
|
||||||
max_refresh_rate: 33ms
|
max_refresh_rate: 33ms
|
||||||
|
use_psram: true
|
||||||
|
|
||||||
media_player: !remove
|
media_player: !remove
|
||||||
|
|
||||||
|
number:
|
||||||
|
- id: rtttl_speaker_gain
|
||||||
|
name: Sound - Volume
|
||||||
|
platform: template
|
||||||
|
max_value: 100
|
||||||
|
min_value: 0
|
||||||
|
step: 1
|
||||||
|
initial_value: 100
|
||||||
|
unit_of_measurement: "%"
|
||||||
|
internal: false
|
||||||
|
disabled_by_default: true
|
||||||
|
entity_category: config
|
||||||
|
device_class: sound_pressure
|
||||||
|
restore_value: true
|
||||||
|
optimistic: true
|
||||||
|
set_action:
|
||||||
|
then:
|
||||||
|
- lambda: |-
|
||||||
|
rtttl_speaker->set_gain((100-(x/10.0f))/100.0f);
|
||||||
|
std::string tone_volume_change = "${tone_volume_change}";
|
||||||
|
// Play sound if tone_volume_change is not "none"
|
||||||
|
if (x > 0 and !tone_volume_change.empty() and tone_volume_change != "none")
|
||||||
|
rtttl_speaker->play(tone_volume_change);
|
||||||
|
rtttl_speaker->dump_config();
|
||||||
|
|
||||||
|
rtttl:
|
||||||
|
- id: rtttl_speaker
|
||||||
|
speaker: mp_speaker
|
||||||
|
|
||||||
|
speaker:
|
||||||
|
- id: mp_speaker
|
||||||
|
platform: i2s_audio
|
||||||
|
dac_type: external
|
||||||
|
i2s_dout_pin: GPIO15
|
||||||
|
i2s_audio_id: if_i2s_audio
|
||||||
|
i2s_comm_fmt: stand_msb
|
||||||
|
channel: mono
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -85,6 +85,8 @@ ota:
|
|||||||
platform: esphome
|
platform: esphome
|
||||||
|
|
||||||
psram:
|
psram:
|
||||||
|
mode: octal
|
||||||
|
speed: 40MHz
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- id: api_send_ha_event_boot
|
- id: api_send_ha_event_boot
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ i2s_audio:
|
|||||||
media_player:
|
media_player:
|
||||||
- id: mp_speaker
|
- id: mp_speaker
|
||||||
name: Speaker
|
name: Speaker
|
||||||
|
internal: false
|
||||||
platform: i2s_audio
|
platform: i2s_audio
|
||||||
i2s_dout_pin: GPIO15
|
i2s_dout_pin: GPIO15
|
||||||
i2s_audio_id: if_i2s_audio
|
i2s_audio_id: if_i2s_audio
|
||||||
i2s_comm_fmt: lsb
|
i2s_comm_fmt: msb # Experimental - It was 'lsb' until v2024.12.12
|
||||||
dac_type: external
|
dac_type: external
|
||||||
mode: mono
|
mode: mono
|
||||||
internal: false
|
|
||||||
...
|
...
|
||||||
|
|||||||
Reference in New Issue
Block a user