feat: PineVoice Improv-BLE WiFi provisioning page

Local Web Bluetooth page that provisions the Pine64 PineVoice speaker over
the Improv BLE protocol. Waits for the AUTHORIZED state before sending
credentials (per the Improv spec), uses write-with-response since the
firmware declares the RPC characteristic write-only, and logs the device
state/error sequence for diagnostics.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-07-20 22:51:54 +01:00
co-authored by Claude Fable 5
commit e798cde7a1
4 changed files with 300 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
# Home Assistant + Wyoming voice pipeline for the PineVoice speakers.
# Deploy as a Portainer stack (inside the Umbrel Portainer DinD).
# /data/ paths persist across reboots (map to ~/umbrel/app-data/portainer/data/docker/).
services:
homeassistant:
image: homeassistant/home-assistant:2026.7.1
restart: unless-stopped
ports:
- "8123:8123"
environment:
- TZ=Europe/London
volumes:
- /data/homeassistant:/config
whisper:
image: rhasspy/wyoming-whisper:3.4.1
restart: unless-stopped
command: --model base-int8 --language en
volumes:
- /data/wyoming-whisper:/data
piper:
image: rhasspy/wyoming-piper:2.2.2
restart: unless-stopped
command: --voice en_GB-alba-medium
volumes:
- /data/wyoming-piper:/data