ESP32-S3-Box-3 Voice Assistant disabled

Hi,
I’m using the ESP32-S3-Box-3 with the Custom firmware BigBobbas/ESP32-S3-Box3-Custom-ESPHome: Custom ESPHome config for ESP32-S3-Box-3 with sensors and touchscreen.
Most of the stuff works really nice but I have trouble with the Voice Assistant. I switched the wake word to local and it seems to be detected but everything else doesn’t work.
Looking into Home Assistant I see that in the ESPHome Integration there are entries for Assist disabled. Looking into them I see a message “Cannot change status. Disabled by Device.” So I guess that settings are missing for the device which are necessary to run the Voice Assistant.
Any idea what I can do?

Thanks,

Thomas

as a step one you can monitor the log for the device in Esphome Device Builder while making a voice command. It may point to the failed or missing item.

You can also review the log for any component that is not functioning.

There hasnt been a change to that yaml in 5 months and compiling today with latest version esphome will yield significatnly different result from version it may have been intended to compile with months ago. May need a lot of troubeshooting and updating. You could post an issue at the github page and ask if about the issue you are having.

OK, here’s the log:

[20:28:26.326][D][micro_wake_word:325]: Detected 'Okay Nabu' with sliding average probability is 0.98 and max probability is 1.00
[20:28:26.333][D][micro_wake_word:370]: Stopping wake word detection
[20:28:26.334][D][micro_wake_word:378]: State changed from DETECTING_WAKE_WORD to STOPPING
[20:28:26.351][D][micro_wake_word:274]: Inference task is stopping, deallocating buffers
[20:28:26.355][D][micro_wake_word:279]: Inference task is finished, freeing task resources
[20:28:26.357][D][micro_wake_word:378]: State changed from STOPPING to STOPPED
[20:28:26.890][E][voice_assistant:546]: No API client connected
[20:28:26.893][D][voice_assistant:482]: State changed from IDLE to IDLE
[20:28:26.896][D][voice_assistant:489]: Desired state set to IDLE

Talked with the developer, he tried on his machine, there it works with the same .yaml I’m using. The device itself reports as being connected, I see logs inside the HA integration, values are changing, so the communication is working. Even after re-installing the device and the integration (even with a different name) nothing changes…

it is not connected to HA.
didi you set api encryption key?

No, I have nothing like that in my yaml…

api:
  encryption:
    key: your key

You need to reconfigure device in HA if you add this in HA >> setting >> devices and service >> esphome >> three dots next to device

1 Like

So I added this to the .yaml file:

...
psram:
  mode: octal
  speed: 80MHz

api:
  encryption:
    key: "put_my_32byte_BASE64_key_here"

  on_client_connected:
    - lambda: |-
        id(api_connection) = true;
    - lambda: id(led).turn_on().set_brightness(id(s_default_brightness).state /100).perform();
    - component.update: s3_box_lcd
...

Deleted the device from the HA Integration, Compiled, deployed, added to HA, no change :frowning: