Great job @matze19999 .
You should add your work to the ESPHome device database
Great job @matze19999 .
You should add your work to the ESPHome device database
Thanks, this means much to me!
I will add it when I’m done with the code ![]()
I have updated to ESPHome 2025.2.0 and now can’t compile. Erroring on this line:
external_components: [source /config/esphome/screen.yaml:30]
source: github://pr#5230
components: esp_adf
refresh: 0s
source:
type: git
url: GitHub - esphome/home-assistant-voice-pe: Home Assistant Voice PE
ref: dev
components:
Could not find init.py file for component media_player. Please check the component is defined by this source (search path: /data/external_components/989fb39b/esphome/components/media_player/init.py).
I was able to change the code around a little bit.
Moved media_player under github://pr#5230
external_components:
Got rid of Nabu here and added microphone and micro_wake_word (didn’t do anything with them)
Also removed the whole media_player as it was referencing nabu.
I got it to compile under 2025.2.0 with the following changes. The display and media player work but I don’t see evidence that the wake word does.
external_components:
- source:
type: git
url: https://github.com/esphome/home-assistant-voice-pe
ref: dev
components:
- micro_wake_word
- microphone
- voice_assistant
refresh: 1s
media_player:
- platform: speaker
name: Media Speaker
id: speaker_media_player
volume_increment: 0.05
volume_min: 0.1
volume_max: 1
announcement_pipeline:
speaker: i2s_speaker
format: FLAC
sample_rate: 48000
num_channels: 2
There are a couple of tweaks I needed to get mine working as the display wasn’t right. I had to add: " invert_colors: true".
display:
- platform: qspi_dbi
model: CUSTOM
#lambda: |-
# auto touch = id(my_touchscreen)->get_touch();
# if (touch) // or touch.has_value()
# it.filled_circle(touch.value().x, touch.value().y, 10, RED);
# data_rate: 40MHz
id: main_display
spi_id: display_qspi
color_order: rgb
invert_colors: true
dimensions:
height: 360
width: 360
cs_pin: GPIO21
reset_pin:
pca9554: pca9554a_device
number: 1
auto_clear_enabled: false #set to false for LVGL
init_sequence:
......
Also to get the media player work I had to tweak a few things because of the changes to the Voice Assistant code. Mostly removing components. I haven’t got wakeword working yet… but I was going to have a look at
Micro Wake Word no longer working with 2024.12.4 · Issue #6741 · esphome/issues (github.com):
external_components:
- source: github://pr#5230
components:
- esp_adf
refresh: 0s
media_player:
- platform: speaker
name: Media Speaker
id: speaker_media_player
volume_increment: 0.05
volume_min: 0.1
volume_max: 1
announcement_pipeline:
speaker: i2s_speaker
format: FLAC
sample_rate: 48000
num_channels: 2
I’m using a slightly different version than that specified in this thread, but it looks like most of the pinouts are the same. Im using the Waveshare ESP32-S3-Touch-LCD-1.85C. I’ve just disabled the components [nabu, voice_assistant, media_palyer] section in my config. It seems to push just fine, but the screen doesn’t show anything and the web interface never seems to come up. I can still push to the device via wirelessly so it is on the network, but nothing is really working. Any ideas?
Hi, is there any update on this project? Just received mine and want to use it as a voice speaker like the “home assistant voice” ![]()
I had mine working to the “proof of concept” phase, but that was before the updates, and I’ve been sidetracked since. But yes that’s my main goal as well, except I want to manually trigger it via a button rather than have the wake word.
Thanks everyone for the great work! I combined parts of the code from the provided sources and from the S3-Box-3 configuration. I had to modify a few fields, and you can find the updated YAML here:
https://gist.github.com/aalaei/515d900e1cf5be352d4f8d775e6f8678
Note: Since I included the microphone mute functionality, this configuration won’t compile with the current stable ESPHome version (2025.4.1). You’ll need to either switch to the dev version (e.g. 2025.5.0-dev20250502) or remove the microphone mute section. For upcoming stable versions it shouldn’t be a problem.
It still needs some work, but this looks like a good initial step toward a working Home Assistant integration.
Got it to compile, and ESPHome sees it, but I’m getting this on the device:
Any pointers where the disconnect might be?
@alaei Excelent work on the full assist integration.
I’ve done a little more work on your script. Added
My script is here:
https://github.com/wizmo2/wake-word-voice-assistants/blob/7f8f06a8abbe482f4abde1ea253d97731820005f/esp32-s3-touch-1.85/esp32-s3-touch-1.85.yaml
With a little more testing, It’s probably close enough to PR to the ESPHOME repository.
@wyldfire00101010 Maybe you don’t have assist configured fully on HA? Or maybe bad WIFI reception.
I have double checked. I had the voice assistant set up for the M5 micro, and that was working. And, as I said, I can connect to the device through the ESPHome dashboard in HA. I’ve been pushing minor updates to the code with no problem.
@wyldfire00101010 , The no-ha-page is only shown if the HA api is disconnected or the voice assitant client does not register.
It should appear as a device in the ESPHOME integration. Have a look at the esphome logs to see where the disconnect is.
Thanks for this. I think touchscreen should be on i2c_id: bus_b not on bus_a [here]. Unless there are different versions of HW?
Hi, I just bought the speaker box but the screen is pixelated, the sound and microphone work.
Anybody know what’s the proper cable to connect to the I2C or UART plugs? I bought these, but they are 1-2 mm too big: Amazon.com
I am using the Waveshare ESP32-S3-Touch-LCD-1.85C and I am trying to make this screen work which is different from the LCD-1.85
My guess is the init_sequence is different. I pulled this one from digging through their sample code