Assistant now working with speaker component, still issues with volume and LED.
This commit is contained in:
		| @@ -1 +1 @@ | ||||
| 2023.5.2 | ||||
| 2023.5.4 | ||||
| @@ -21,11 +21,18 @@ wifi: | ||||
|     password: !secret fallback_psk | ||||
|  | ||||
| esphome: | ||||
|   name: "${name}" | ||||
|   name: ${name} | ||||
|   friendly_name: ${friendly_name} | ||||
|   name_add_mac_suffix: false | ||||
|   project: | ||||
|     name: raspiaudio.muse-luxe | ||||
|     version: "1.0" | ||||
|   min_version: 2023.5.0 | ||||
|   on_boot: | ||||
|     then: | ||||
|     - media_player.volume_set: | ||||
|         id: luxe_out | ||||
|         volume: 50% | ||||
|  | ||||
| esp32: | ||||
|   board: esp-wrover-kit | ||||
| @@ -46,17 +53,20 @@ captive_portal: | ||||
| improv_serial: | ||||
|  | ||||
| external_components: | ||||
|   - source: github://pr#3552 | ||||
|   - source: github://pr#3552 # DAC support https://github.com/esphome/esphome/pull/3552 | ||||
|     components: [es8388] | ||||
|     refresh: 0s | ||||
|  | ||||
| es8388: | ||||
|  | ||||
| i2s_audio: | ||||
|   - i2s_lrclk_pin: GPIO25 | ||||
|     i2s_bclk_pin: GPIO5 | ||||
|  | ||||
| media_player: | ||||
|   - platform: i2s_audio | ||||
|     name: ${friendly_name} | ||||
|     name: None | ||||
|     id: luxe_out | ||||
|     dac_type: external | ||||
|     i2s_dout_pin: GPIO26 | ||||
|     mode: stereo | ||||
| @@ -64,26 +74,79 @@ media_player: | ||||
|       number: GPIO21 | ||||
|       inverted: true | ||||
|  | ||||
| es8388: | ||||
| speaker: | ||||
|   - platform: i2s_audio | ||||
|     id: luxe_out_speaker | ||||
|     dac_type: external | ||||
|     i2s_dout_pin: GPIO26 | ||||
|     mode: stereo | ||||
|  | ||||
| microphone: | ||||
|   - platform: i2s_audio | ||||
|     id: luxe_microphone | ||||
|     i2s_din_pin: GPIO35 | ||||
|     adc_type: external | ||||
|     pdm: false | ||||
|  | ||||
| voice_assistant: | ||||
|   microphone: luxe_microphone | ||||
|   speaker: luxe_out_speaker | ||||
|   on_start: | ||||
|     - light.turn_on: | ||||
|         id: top_led | ||||
|         blue: 100% | ||||
|         red: 0% | ||||
|         green: 0% | ||||
|         effect: none | ||||
|   on_tts_start: | ||||
|     - light.turn_on: | ||||
|         id: top_led | ||||
|         blue: 60% | ||||
|         red: 20% | ||||
|         green: 20% | ||||
|         effect: none | ||||
|   on_tts_end: | ||||
|     - light.turn_on: | ||||
|         id: top_led | ||||
|         blue: 60% | ||||
|         red: 20% | ||||
|         green: 20% | ||||
|         effect: pulse | ||||
|   on_end: | ||||
|     - delay: 1s | ||||
|     - wait_until: | ||||
|         not: | ||||
|           speaker.is_playing: luxe_out_speaker | ||||
|     - light.turn_off: top_led | ||||
|   on_error: | ||||
|     - light.turn_on: | ||||
|         id: top_led | ||||
|         blue: 0% | ||||
|         red: 100% | ||||
|         green: 0% | ||||
|         effect: none | ||||
|     - delay: 1s | ||||
|     - light.turn_off: top_led | ||||
|  | ||||
| sensor: | ||||
|  - platform: adc | ||||
|    pin: GPIO33 | ||||
|    name: ${name} Battery | ||||
|    icon: "mdi:battery-outline" | ||||
|    device_class: voltage | ||||
|    state_class: measurement | ||||
|    unit_of_measurement: V | ||||
|    update_interval: 15s | ||||
|    accuracy_decimals: 3 | ||||
|    attenuation: 11db | ||||
|    raw: true | ||||
|    filters: | ||||
|     - multiply: 0.00173913 # 2300 -> 4, for attenuation 11db, based on Olivier's code | ||||
|     - exponential_moving_average: | ||||
|         alpha: 0.2 | ||||
|         send_every: 2 | ||||
|     - delta: 0.002 | ||||
|   - platform: adc | ||||
|     pin: GPIO33 | ||||
|     name: Battery | ||||
|     icon: "mdi:battery-outline" | ||||
|     device_class: voltage | ||||
|     state_class: measurement | ||||
|     entity_category: diagnostic | ||||
|     unit_of_measurement: V | ||||
|     update_interval: 15s | ||||
|     accuracy_decimals: 3 | ||||
|     attenuation: 11db | ||||
|     raw: true | ||||
|     filters: | ||||
|       - multiply: 0.00173913 # 2300 -> 4, for attenuation 11db, based on Olivier's code | ||||
|       - exponential_moving_average: | ||||
|           alpha: 0.2 | ||||
|           send_every: 2 | ||||
|       - delta: 0.002 | ||||
|  | ||||
| binary_sensor: | ||||
|   - platform: gpio | ||||
| @@ -93,9 +156,9 @@ binary_sensor: | ||||
|       mode: | ||||
|         input: true | ||||
|         pullup: true | ||||
|     name: ${friendly_name} Volume Up | ||||
|     name: Volume Up | ||||
|     on_click: | ||||
|       - media_player.volume_up: | ||||
|       - media_player.volume_up: luxe_out | ||||
|   - platform: gpio | ||||
|     pin: | ||||
|       number: GPIO32 | ||||
| @@ -103,9 +166,9 @@ binary_sensor: | ||||
|       mode: | ||||
|         input: true | ||||
|         pullup: true | ||||
|     name: ${friendly_name} Volume Down | ||||
|     name: Volume Down | ||||
|     on_click: | ||||
|       - media_player.volume_down: | ||||
|       - media_player.volume_down: luxe_out | ||||
|   - platform: gpio | ||||
|     pin: | ||||
|       number: GPIO12 | ||||
| @@ -113,23 +176,33 @@ binary_sensor: | ||||
|       mode: | ||||
|         input: true | ||||
|         pullup: true | ||||
|     name: ${friendly_name} Play Button | ||||
|     on_press: | ||||
|       - voice_assistant.start: | ||||
|     on_release: | ||||
|       - voice_assistant.stop: | ||||
|     name: Action | ||||
|     on_multi_click: | ||||
|       - timing: | ||||
|           - ON FOR AT MOST 350ms | ||||
|           - OFF FOR AT LEAST 10ms | ||||
|         then: | ||||
|           - media_player.toggle: luxe_out | ||||
|       - timing: | ||||
|           - ON FOR AT LEAST 350ms | ||||
|         then: | ||||
|           - voice_assistant.start: | ||||
|       - timing: | ||||
|           - ON FOR AT LEAST 350ms | ||||
|           - OFF FOR AT LEAST 10ms | ||||
|         then: | ||||
|           - voice_assistant.stop: | ||||
|  | ||||
| light: | ||||
|   - platform: fastled_clockless | ||||
|     name: ${friendly_name} | ||||
|     name: None | ||||
|     id: top_led | ||||
|     pin: GPIO22 | ||||
|     chipset: SK6812 | ||||
|     num_leds: 1 | ||||
|     rgb_order: grb | ||||
|  | ||||
| microphone: | ||||
|   - platform: i2s_audio | ||||
|     id: lux_microphone | ||||
|     i2s_din_pin: GPIO35 | ||||
|  | ||||
| voice_assistant: | ||||
|   microphone: lux_microphone | ||||
|     gamma_correct: 2.8 | ||||
|     effects: | ||||
|       - pulse: | ||||
|           transition_length: 250ms | ||||
|           update_interval: 250ms | ||||
|   | ||||
		Reference in New Issue
	
	Block a user