Amazon Echo Dot 2 jako asystent Home Assistant. Pełna przeróbka na Windows 11 i test polskiego głosu
Mark
Autor
Amazon Echo Dot 2 jako asystent Home Assistant. Pełna przeróbka na Windows 11 i test polskiego głosu

Podoba Ci się ten artykuł?

Tworzenie poradników zajmuje dużo czasu, a na stronie nie chce reklam. Jeśli pomogłem i masz na to ochotę — postaw mi kawę . To motywuje do dalszego pisania!

MarkLabs / Home Assistant / DIY / test praktyczny

Amazon Echo Dot 2 jako asystent Home Assistant. Pełna przeróbka na Windows 11 i test polskiego głosu

Miałem Echo Dot 2, który nadal był sprawnym głośnikiem, ale jego możliwości kończyły się tam, gdzie zaczynał się ekosystem Amazon. Sprawdziłem, czy da się wykorzystać go jako mikrofon i głośnik dla Home Assistant bez klasycznej Alexy. Udało się, a całą przeróbkę przeprowadziłem na Windows 11, bez rozbierania urządzenia. Najbardziej zaskoczyło mnie jednak to, jak duży wpływ na końcowy efekt ma model rozpoznawania mowy. Poniżej opisuję dokładnie to, co zrobiłem, z prawdziwymi komunikatami terminala i testami na Intel N100 z 8 GB RAM.

Echo Dot 2: RS03QR  ·  Windows 11  ·  Home Assistant  ·  Wersja testowa: 30.10.2026

Praktyczna relacja, nie uniwersalna gwarancja

To opis instalacji wykonanej 1 listopada 2026 r. na konkretnym urządzeniu, z wykorzystaniem wersji v2026.10.30.190755-beta. Projekt zmienia się szybko. Polecenia do przygotowania Windows są nadal przydatne, ale przy innym wydaniu trzeba sprawdzić jego instrukcję i komunikaty instalatora. Odblokowywanie oraz zapis pamięci mogą trwale uszkodzić Echo.

W artykule

Dlaczego zainteresował mnie ten projekt

W Home Assistant mam już własne automatyzacje i urządzenia, ale do sterowania głosowego potrzebny jest wygodny interfejs. Telefon działa, panel ścienny też, jednak możliwość powiedzenia czegoś z drugiego końca pomieszczenia ma zupełnie inny charakter. Stary Echo Dot nadawał się do eksperymentu, bo miał gotowy zestaw mikrofonów, głośnik, przyciski i pierścień LED.

Projekt echo-dot-assist nie jest zwykłą integracją Alexy. Instaluje na zgodnym Echo oprogramowanie hassmic, które współpracuje bezpośrednio z Home Assistant i udostępnia urządzenie przez interfejs ESPHome. Zachowuje wybrane elementy oryginalnego toru audio Amazon, w tym lokalne wykrywanie słowa „Alexa”. Samo rozpoznawanie poleceń i przygotowanie odpowiedzi odbywa się już w wybranym potoku Assist.

Co zostaje z Echo

Mikrofony, głośnik, przyciski, pierścień LED oraz lokalne wybudzanie słowem „Alexa”.

Co przejmuje Home Assistant

Rozpoznanie wypowiedzi, powiązanie jej z encją, wykonanie działania i wygenerowanie odpowiedzi.

Możemy więc zbudować asystenta całkowicie lokalnego z Whisper i Piper albo wybrać Home Assistant Cloud do rozpoznawania oraz syntezy mowy. W obu wariantach sam zmodyfikowany głośnik nie wymaga korzystania z aplikacji Alexa.

Które modele Amazon Echo można przerobić?

Zacząłem od sprawdzenia oznaczenia na spodzie obudowy. Mój egzemplarz to RS03QR, Echo Dot 2. generacji z 2016 roku, występujący w projekcie pod nazwą kodową biscuit. Ta wersja ma złącze micro-USB obsługujące transmisję danych. Nie wymaga otwierania obudowy ani lutowania. Inne modele mogą mieć inną procedurę, a część nie jest obsługiwana.

Inne modele Amazon Echo obsługiwane przez projekt

Sprawdziłem także tabelę zgodności projektu dla wydania v2026.10.30.190755-beta. Lista jest szersza niż same Echo Dot 2 i 3. Są na niej również wybrane Echo Show oraz Echo Input. Sam jednak przeprowadziłem instalację tylko na RS03QR. Obecność modelu na liście oznacza, że autor raportuje działający port na pojedynczym egzemplarzu, a nie gwarancję bezproblemowego odblokowania dowolnej sztuki.

UrządzenieModel i nazwa kodowaStatus w projekcieJak dostać się do systemu
Echo Dot 2 (2016)RS03QR, biscuitObsługiwany, mój testMicro-USB, bez lutowania
Echo Dot 3 (2018)D9N29T, donutObsługiwanyOtwarcie obudowy i przewody do punktów testowych
Echo 2 (2017)XC56PY, radarObsługiwanyOtwarcie obudowy i lutowanie przewodu USB do płytki wzmacniacza
Echo Show 5, generacja 1 (2019)H23K37, checkersObsługiwanyMicro-USB, bez lutowania; LED zastępuje pasek na ekranie
Echo Show 8, generacja 1 (2019)C7H6N3, crownObsługiwanyMicro-USB, bez lutowania
Echo Show 5, generacja 2 (2021)C76N8S, cronosObsługiwanyMicro-USB, bez lutowania
Echo Show 8, generacja 2 (2021)A8H3N2, athenaObsługiwanyMicro-USB, bez lutowania; inny mechanizm odblokowania przez port szeregowy
Echo Input (2018)C1125P, cupcakeObsługiwanyMicro-USB, bez lutowania; nie ma własnego głośnika
Echo Dot 3, wariant 2019-2020C78MP8, crumpetNieobsługiwanyMetoda z D9N29T nie działa
Echo Dot 3 z zegarem36EBT3, doebriteNieobsługiwanyPrawdopodobnie sprzętowo bliski crumpet

To nie jest jedna instrukcja dla wszystkich modeli

Niżej opisuję wyłącznie procedurę dla Echo Dot 2 RS03QR na Windows 11. Nie podłączaj innych urządzeń do tego samego skryptu z parametrem biscuit. Dla Echo Dot 3, Echo Show i Echo Input trzeba kierować się osobną instrukcją ich nazwy kodowej. W szczególności numer D9N29T i C78MP8 oznaczają dwie różne odmiany Echo Dot 3, z różnym statusem wsparcia.

Tabelę i odnośniki do instrukcji każdego urządzenia można znaleźć w liście Supported Echos dla testowanego wydania. Przed zakupem używanego głośnika do przeróbki sprawdź konkretny kod modelu, nie tylko nazwę handlową i wygląd.

  • Komputer z Windows 10 lub 11, procesor Intel albo AMD. Sterowniki opisane w tej instrukcji nie są przeznaczone dla Windows ARM.
  • Echo Dot 2 RS03QR oraz przewód micro-USB, który na pewno przenosi dane.
  • Działająca instalacja Home Assistant i sieć Wi-Fi z WPA2, do której Echo będzie mogło się połączyć.
  • Dostęp do konta użytkownika Windows z możliwością uruchomienia PowerShell jako administrator.
  • Czas na przygotowanie narzędzi, pobranie plików i spokojne dokończenie instalacji.

Zanim rozpoczniesz zapis pamięci

Wyłącz usypianie komputera, podłącz laptop do zasilacza i nie dotykaj kabla USB podczas działania Firebreak. Procedura odblokowania usuwa dotychczasowe dane i może uszkodzić urządzenie. Nie konfiguruj Echo przez aplikację Alexa ani nie pozwalaj mu pobierać aktualizacji Amazon przed odblokowaniem. Nie zakładaj także, że nowa wersja projektu zawsze korzysta z tego samego obrazu Fire OS.

Autorzy echo-dot-assist otwarcie zaznaczają, że projekt nie przeszedł niezależnego audytu. W moim przypadku przeróbka się udała, ale nie jest to operacja, którą można obiecać bez ryzyka.

Komputer z Windows 11: komplet przygotowanych narzędzi

Instalowałem wszystko po kolei, sprawdzając wyniki. To istotne, bo większość niepowodzeń na początku dotyczyła środowiska Windows, a nie samego Echo. Na tym etapie urządzenie nie musi być jeszcze podłączone.

Git for Windows

Uruchomiłem Windows PowerShell i wykonałem:

PowerShell, instalacja Git

winget install Git.Git

Git był już na komputerze, więc Winget zaproponował aktualizację. Po instalacji otrzymałem:

Wybrane komunikaty z mojego terminala

Found an existing package already installed. Trying to upgrade the installed package...
Found Git [Git.Git] Version 2.56.0.4
Downloading https://github.com/git-for-windows/git/releases/download/v2.56.0.windows.4/Git-2.56.0.4-64-bit.exe
Successfully verified installer hash
Starting package install...
Successfully installed

Sprawdzenie wersji

git --version
# git version 2.56.0.windows.4

Razem z Git zainstalował się Git Bash. W nim uruchomimy później instalator. W PowerShell nie wszystkie polecenia powłoki Bash działają tak samo.

Python

Na początku system nie miał działającego Pythona. Polecenie python --version sugerowało Microsoft Store, a py --version zwracało błąd braku polecenia. Zainstalowałem Python 3.13 przez Winget:

PowerShell, instalacja Pythona

winget install --id Python.Python.3.13 -e

Wynik po otwarciu nowego terminala

python --version
# Python 3.13.16
py --version
# Python 3.13.16

Po instalacji trzeba zamknąć terminal i otworzyć go ponownie. Jeśli system nadal wyświetla skrót do Microsoft Store, należy sprawdzić aliasy wykonywania aplikacji, a nie w ciemno doinstalowywać kilka kolejnych wersji.

ADB i Fastboot

Kolejne narzędzia to Android Platform Tools. ADB służy do komunikacji z uruchomionym systemem Android, a Fastboot między innymi do pracy z bootloaderem.

PowerShell, instalacja Android Platform Tools

winget install Google.PlatformTools

Odpowiedzi z mojego komputera

adb version
# Android Debug Bridge version 1.0.41
# Version 37.0.1-15733141
fastboot --version
# fastboot version 37.0.1-15733141

uv

Ostatnim narzędziem instalowanym przez Winget było uv. Program uruchamia Firebreak i dba o jego środowisko Pythona.

PowerShell, instalacja uv

winget install astral-sh.uv

Mój wynik

uv --version
# uv 0.13.6 (329bf9448 2026-10-26 x86_64-pc-windows-msvc)

Na tym etapie wszystkie programy były dostępne. Nie musiałem osobno pobierać ADB, Fastboot ani ręcznie przygotowywać wirtualnego środowiska Pythona.

Sterowniki USB MediaTek i Fastboot

To część, na której łatwo się potknąć. Sterowniki pobieramy ze wskazanych w dokumentacji plików katalogu Microsoft Update. Użyłem PowerShell uruchomionego jako administrator. Pierwsza próba bez odpowiednich uprawnień skończyła się błędem, więc od razu pokażę również, jak wyglądała poprawka.

Ważna drobnostka z naszej instalacji

Po uruchomieniu konsoli jako administrator katalog roboczy często jest ustawiony na C:\Windows\System32. Najpierw wpisz cd $env:TEMP. Dzięki temu pobrane i rozpakowane pliki nie trafią do katalogu systemowego.

PowerShell jako administrator, pełny zestaw poleceń

cd $env:TEMP
curl.exe -fo fastboot.cab https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2016/10/20940218_0ae8695c01fb84d1fdea5c9a04baf336ec5b1ba7.cab
curl.exe -fo mtk.cab https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2016/07/20896845_fdc6bb5aa9a9bac99adf85d931d6c21d1130a96e.cab
mkdir -Force fastboot, mtk
expand -F:* fastboot.cab fastboot
expand -F:* mtk.cab mtk
pnputil /add-driver fastboot\tplink_winusb.inf /install
pnputil /add-driver mtk\cdc-acm.inf /install

W moim przypadku archiwum sterownika Fastboot miało około 8,18 MB, natomiast MediaTek około 126 KB. Rozpakowanie zakończyło się komunikatami 12 files total i 4 files total. Przy pierwszej próbie uruchomiłem instalację z niewystarczającymi uprawnieniami:

Pierwsza próba, rzeczywisty błąd

Adding driver package: tplink_winusb.inf
Failed to add driver package: Odmowa dostępu.
Total driver packages: 1
Added driver packages: 0

Adding driver package: cdc-acm.inf
Failed to add driver package: Odmowa dostępu.
Total driver packages: 1
Added driver packages: 0

Nie trzeba wtedy pobierać wszystkiego jeszcze raz. Wystarczy otworzyć PowerShell jako administrator i wskazać już rozpakowane pliki, w moim przypadku leżące w katalogu tymczasowym:

Poprawka, gdy pliki już znajdują się w TEMP

pnputil /add-driver "$env:TEMP\fastboot\tplink_winusb.inf" /install
pnputil /add-driver "$env:TEMP\mtk\cdc-acm.inf" /install

Po poprawnym uruchomieniu instalacji obie paczki zostały dodane:

Moje potwierdzenie instalacji sterowników

Adding driver package: tplink_winusb.inf
Driver package added successfully.
Published Name: oem34.inf
Total driver packages: 1
Added driver packages: 1

Adding driver package: cdc-acm.inf
Driver package added successfully.
Published Name: oem84.inf
Driver package installed on device: USB\VID_0E8D&PID_2000\[identyfikator usunięty]
Total driver packages: 1
Added driver packages: 1

Nazwy oem34.inf i oem84.inf były właściwe dla mojego systemu. Na innym komputerze numery mogą być inne. Istotny jest komunikat pomyślnego dodania pakietu. Po zakończeniu i upewnieniu się, że pliki nie będą już potrzebne, archiwa i rozpakowane katalogi tymczasowe można usunąć.

Pobranie repozytorium i wybranie wersji

Pozostałą część instalacji wykonywałem w Git Bash. Nie uruchamiamy samego skryptu z PowerShell. Kiedy przez pomyłkę spróbowałem użyć tam potoku z poleceniem head, Windows zwrócił informację, że nie zna takiej komendy. Repozytorium pobrało się poprawnie, ale wybór wersji się nie udał.

Git Bash, pełny zestaw komend

git clone https://github.com/Gamer92000/echo-dot-assist.git
cd ~/echo-dot-assist
git checkout "$(git tag -l 'v*' --sort=-creatordate | head -1)"
git describe --tags --exact-match

Repozytorium jest duże, między innymi z powodu plików historii i dodatkowych danych. U mnie pobranie zakończyło się komunikatem Resolving deltas: 100% (2752/2752) oraz pobraniem zasobów LFS. Wybrana wersja to:

Rzeczywisty wynik Git Bash, skrócono pojedynczy opis commita

Note: switching to 'v2026.10.30.190755-beta'.
You are in 'detached HEAD' state.
HEAD is now at 01c199a Issues #79, #82: no pause guessed without the aligner's answer

git describe --tags --exact-match
v2026.10.30.190755-beta

Komunikat detached HEAD jest tutaj oczekiwany. Pracujemy na opublikowanym tagu, zamiast na zmieniającej się gałęzi main. Instrukcja autora wybiera najnowsze dostępne wydanie, które ma gotowy build. Nie ma sensu na sztywno wymuszać mojej wersji, jeżeli obecna dokumentacja projektu wskazuje nowszy, sprawdzony wariant.

Dlaczego nie kopiować ślepo najnowszego Firebreak

Mój instalator uruchomił [email protected] i przygotował Fire OS 6574.1 (NS65741/8146). W trakcie instalacji pojawiła się informacja, że dostępny jest nowszy Firebreak 0.10.0. Nie podmieniałem go ręcznie. Wersję narzędzia oraz obrazu systemu należy pozostawić zgodną z używanym wydaniem echo-dot-assist. Nowsza dokumentacja Firebreak może opisywać inne kompilacje Fire OS, co nie oznacza, że należy je wgrywać zamiast tych wskazanych przez skrypt.

Sprawdzamy plan przed odblokowaniem

Git Bash, bezpieczna symulacja

scripts/setup.sh biscuit --dry-run

Instalator pokazał etapy przygotowania, pobierania, USB, odblokowania, instalacji w obu slotach, roota, buildu, Wi-Fi oraz uruchomienia. Poniżej wybrane fragmenty z mojego przebiegu:

Skrót planu z –dry-run, bez symulowanych operacji wykonanych

Echo -> Home Assistant   Echo Dot 2nd gen (2016) / biscuit
0/10  Tools on this PC
1/10  Downloads
3/10  Micro-USB cable
4/10  Unlock, boot TWRP
5/10  Stock firmware into both slots
6/10  Root
7/10  Build
8/10  Lock down, join Wi-Fi
9/10  Install
10/10 "Echo Dot 2nd gen (2016)" is running

dry run: nothing is run

Ważne: 10/10 podczas takiego testu nie oznacza jeszcze przerobionego Echo. Sam program informuje dry run: nothing is run. Dopiero kolejna komenda rozpocznie rzeczywiste działania.

Właściwa instalacja i odblokowanie Echo Dot

Git Bash, rzeczywisty instalator

scripts/setup.sh biscuit

Po starcie pojawił się komunikat ostrzegawczy. Za pierwszym razem wpisałem tylko literę y i otrzymałem:

Moja pierwsza próba potwierdzenia

! This unlocks and wipes the Echo and can brick it.
! Nothing here was reviewed by anyone but its author.
? Type yes to start: y
Nothing done.

Trzeba wpisać dokładnie yes. Po ponownym uruchomieniu instalator rozpoczął sprawdzanie narzędzi i pobieranie plików. Dla jasności: akceptacja tego ostrzeżenia jest decyzją użytkownika, bo odblokowanie rzeczywiście wiąże się z zapisem pamięci urządzenia.

Ręczny plik boot-root.zip

Skrypt zatrzymał się na prośbie o ręczne pobranie archiwum z wątku XDA. Nie trzeba go rozpakowywać ani przerabiać. Trzeba pobrać dokładnie plik wskazany przez autora i zapisać go w katalogu Downloads. Forum może wymagać bezpłatnego logowania.

Komunikat instalatora, uporządkowany dla czytelności

Download these 1 file(s) yourself, in your browser
Save each into ~/Downloads (or this folder)

boot-root.zip
attachment in:
https://xdaforums.com/t/unlock-root-twrp-unbrick-amazon-echo-dot-2nd-gen-2016-biscuit.4761416/

Waiting for you to save 1 file(s) into ~/Downloads

W moim przypadku po zapisaniu archiwum program potwierdził ✓ boot-root.zip i przeszedł dalej automatycznie. Jeżeli plik nie jest wykrywany, trzeba sprawdzić nazwę, w tym to, czy przeglądarka nie dopisała (1).

Podłączenie przez USB i gest wejścia w Fastboot

Następny komunikat wyraźnie wskazywał moment podłączenia urządzenia. Zasilałem Echo przewodem micro-USB z komputera, a zwykły zasilacz Echo pozostał odłączony. Kiedy Firebreak poprosił o wejście w Fastboot, wykonałem gest opisany przez autora:

  • Odłączyłem przewód USB od Echo.
  • Nacisnąłem i przytrzymałem przycisk akcji z kropką.
  • Trzymając przycisk, ponownie podłączyłem micro-USB.
  • Zwolniłem przycisk, kiedy pierścień LED zaświecił na zielono.

Fragment komunikatu Firebreak z mojej instalacji

Waiting for a Dot on USB. Connect it with a USB cable.
A Dot that runs Amazon's own software needs fastboot mode.
Unplug the USB cable, press and hold the action button,
plug the cable back in, and let go when the light ring turns green.

Keep the Dot plugged in until firebreak finishes.

Jeżeli pierścień stale świeci na niebiesko, należy sprawdzić transmisję USB, sterowniki lub port komputera. Biały pierścień oznacza, że urządzenie pracuje w środowisku odzyskiwania. W trakcie zapisu pamięci nie należy niczego odłączać.

Rzeczywiste wyniki Firebreak

W moim przebiegu instalator użył Firebreak 0.8.0. Pobrał potrzebne pakiety, zweryfikował obraz OTA 8146, a następnie wykonał siedem operacji. Zachowałem fragment logu, bo to najlepszy dowód, co rzeczywiście wydarzyło się na urządzeniu.

Prawdziwe czasy i etapy z naszej konsoli, skrócone nazwy pobieranych plików

Version 0.8.0 of firebreak is outdated.
Version 0.10.0 was released 1 day ago.

downloading amonet-biscuit-v2.0.1.zip                      73.6 MB (100%)
downloading boot-root.zip                                473.6 KB (100%)
downloading update-kindle...8146...bin                    108.9 MB (100%)
OK OTA 8146 verified

[1/7] unlocking with amonet v2.0.1               8s   (1m 26s total)
[2/7] waiting for v2 recovery to start          39s   (2m 06s total)
[3/7] wiping cache and data                      3s   (2m 09s total)
[4/7] installing Fire OS 6 8146, first slot    69s   (3m 19s total)
[5/7] installing Fire OS 6 8146, second slot   94s   (4m 53s total)
[6/7] installing boot-root                       8s   (5m 01s total)
[7/7] waiting for rooted Fire OS 6 to boot      28s   (5m 30s total)

The Dot is rooted: Fire OS 6574.1 (NS65741/8146), with root adb.

Ten etap trwał w logu około 5 minut i 30 sekund, licząc od początku operacji Firebreak. Nie obejmuje to instalowania narzędzi, pobierania repozytorium, ręcznego załącznika ani późniejszej konfiguracji. Co ważne, oba sloty systemowe zostały zapisane, a urządzenie uruchomiło się już z dostępem root przez ADB.

Potwierdzenie z głównego instalatora

✓ firebreak unlock fireos6
✓ Echo is up
✓ rooted, on NS65741
✓ Fire OS NS65741 in both slots (firebreak)
✓ root adb already

Następnie skrypt rozpakował wymagany pakiet, pobrał build dokładnie dla wybranego commita i sprawdził wersję firmware na urządzeniu. Nie wpisywałem ręcznie komend fastboot flash ani nie dobierałem obrazów partycji.

Kolejny etap w moim logu

✓ Unpacking boot-root
✓ Downloading the release build of this commit
✓ Echo is up
✓ Checking the Echo's firmware

Wi-Fi, które kilka razy odmawiało współpracy

Odblokowanie przebiegło bez problemów, za to konfiguracja sieci trochę mnie zatrzymała. Instalator wykrył pobliskie SSID, ale kolejne próby połączenia kończyły się błędem podczas uzgadniania kluczy WPA2. Nie publikuję nazw swoich sieci ani hasła. W samym dzienniku hasła zresztą nie były wyświetlane.

Rzeczywisty komunikat błędu, zanonimizowane dane sieci

✓ Copying hassmic to the Echo
✓ Locking down the Echo's internet access
Networks the Echo hears:
    [lista wykrytych SSID usunięta]
? Wi-Fi name (WPA2, same network as Home Assistant): [SSID]
? Wi-Fi password:
✗ Joining Wi-Fi
    ssid=[SSID]
    wpa_state=4WAY_HANDSHAKE
    not connected (4WAY_HANDSHAKE): the password is probably wrong
    full log: build/biscuit/setup.log

Enter try again  s skip this step  q quit

Próbowałem ponownie, również z innym SSID. W logu kilka razy pojawiał się ten sam stan 4WAY_HANDSHAKE. To etap negocjacji zabezpieczeń Wi-Fi, więc przyczyną może być hasło, ale również konfiguracja WPA2/WPA3, punktu dostępowego albo jakość połączenia. Nie miałem podstaw, aby uznać jedną z tych przyczyn za pewną.

W końcu kolejne podejście do wybranej sieci zakończyło się komunikatem:

Moje pierwsze udane połączenie

? Wi-Fi name (WPA2, same network as Home Assistant): [SSID]
? Wi-Fi password:
✓ Joining Wi-Fi
! Do not restart the Echo until it is installed.
Tip: give it a fixed address in your router (DHCP reservation).

Jeżeli trafisz na podobny problem, zacznij od sprawdzenia hasła i rodzaju szyfrowania, a potem zasięgu, filtracji MAC i izolacji klientów na access poincie. Nie odblokowuj od nowa głośnika tylko dlatego, że Wi-Fi nie chce się połączyć. Dopóki instalator jest uruchomiony i urządzenie nie jest poprawnie zainstalowane, nie restartuj Echo wbrew jego instrukcji.

Końcowe 10/10

Po połączeniu z Wi-Fi program zapytał o plik ustawień z innego Echo. Ponieważ instalowałem pierwszą sztukę, zostawiłem to pole puste i nacisnąłem Enter. Następnie satelita został zainstalowany, Echo uruchomiło się ponownie i przeszło kontrolę działania.

Końcowy wynik mojej instalacji

? Settings to start with: a file exported on another Echo's settings page (Enter for none):
✓ Echo is up
✓ Installing (the Echo reboots)
✓ Echo is up
✓ Satellite started
✓ Checking it stays up

10/10
✓ Tools on this PC
✓ Downloads
✓ USB access for the unlock
✓ Micro-USB cable
✓ Unlock, boot TWRP
✓ Stock firmware into both slots
✓ Root
✓ Build
✓ Lock down, join Wi-Fi
✓ Install

✓ "Echo Dot 2 943ee2" is running

To już nie była symulacja. Echo Dot 2 naprawdę działał z nowym oprogramowaniem, a instalator potwierdził uruchomienie procesu hassmic. Dopiero po takim komunikacie odłączyłem głośnik od komputera i wróciłem do normalnego zasilania.

Dodawanie Echo Dot do Home Assistant

Po instalacji otworzyłem w Home Assistant Ustawienia → Urządzenia i usługi. System wykrył nowe urządzenie ESPHome o nazwie Echo Dot 2 943ee2. Wybrałem dodawanie integracji i przeszedłem do konfiguracji asystenta. To bardzo wygodne, bo nie trzeba tworzyć własnych automatyzacji MQTT ani wpisywać YAML, aby zacząć rozmawiać z domem.

Jeżeli urządzenie nie pojawi się automatycznie, można dodać integrację ESPHome ręcznie. Potrzebny jest adres IP Echo oraz port 26053. Przy pierwszym parowaniu pole klucza szyfrowania pozostawiamy puste, zgodnie z instrukcją projektu. Jeżeli korzystasz z VLAN-ów, sprawdź routing oraz zasady firewalla pomiędzy satelitą i Home Assistant.

ParametrCo ustawiłem
Nazwa urządzeniaEcho Dot 2 943ee2, identyfikator zależy od egzemplarza
IntegracjaESPHome
Ręczne dodawanieAdres IP urządzenia, port 26053
Wybrany asystentPotok Assist w języku polskim
Słowo wybudzająceAlexa

Na stronie urządzenia można wybrać potok Assist i słowo wybudzające. W dodatkowej konfiguracji ESPHome jest też opcja pozwalająca urządzeniu wykonywać działania w Home Assistant. Dokumentacja projektu zaleca włączenie jej dla pewnych funkcji, np. komunikatów połączeń Bluetooth i mechanizmu współpracy wielu Echo.

Panel WWW samego głośnika

Projekt udostępnia panel administracyjny w sieci lokalnej. Otwiera się go w przeglądarce pod adresem:

Adres panelu, wpisz rzeczywisty adres IP

http://ADRES_IP_ECHO:28931/

Dostęp potwierdzamy naciśnięciem przycisku akcji na obudowie. W panelu sprawdzałem później ustawienia dźwięku i mikrofonu. Na ekranie pojawił się status Home Assistant connected. Nie należy wystawiać tego panelu do internetu.

Polski Assist: konfiguracja lokalna

Do samej instalacji echo-dot-assist nie jest potrzebny abonament Nabu Casa. Żeby jednak Echo rozumiało polski, trzeba mieć działający potok głosowy. W moim Home Assistant istniał już asystent „W pełni asystent lokalny”, oparty na faster-whisper i Piper. Wystarczyło przypisać go do Echo.

Jeżeli nie masz jeszcze tych usług, w instalacji Home Assistant OS przejdź do Ustawienia → Aplikacje, zainstaluj Whisper oraz Piper i je uruchom. Powinny zostać wykryte przez integrację Wyoming w Ustawienia → Urządzenia i usługi. Dodaj obie usługi, następnie przejdź do Ustawienia → Asystenci głosowi i utwórz nowy potok.

EtapUstawienie w mojej instalacji
Język asystentaPolski
Rozpoznawanie (STT)faster-whisper, język polski
Agent konwersacyjnyHome Assistant
Synteza (TTS)Piper, język pl_PL
Głosbass (high)
WybudzanieAlexa, lokalnie na Echo

To rozwiązanie rozdziela odpowiedzialność. Echo zbiera dźwięk i wykrywa wybudzenie. Whisper rozpoznaje wypowiedź, Home Assistant interpretuje ją i wykonuje polecenie, a Piper przygotowuje odpowiedź. Samo naciśnięcie przycisku akcji na Echo uruchamia nasłuchiwanie bez wypowiedzenia słowa „Alexa”.

Uwaga na nazwy urządzeń

Żeby Assist sterował konkretnymi encjami, trzeba je odpowiednio udostępnić asystentowi. Jeśli rozpoznany tekst jest poprawny, ale Home Assistant zgłasza brak encji, sprawdź nazwę i aliasy urządzenia. Jeśli Whisper zapisuje „brawa” zamiast „brama”, to najpierw popraw rozpoznawanie mowy, bo same aliasy nie rozwiążą źródła problemu.

Pierwsze rozmowy i zaskakująco słaby model auto

Na początek powiedziałem „Alexa, która jest godzina?”. Po nieudanych próbach zajrzałem do debugowania asystenta. W jednym z poprawnych przebiegów faster-whisper rozpoznał słowa Która jest godzina, a Home Assistant wykonał funkcję HassGetCurrentTime i odpowiedział „Jest godzina piętnasta dziesięć”. Sam etap STT trwał wtedy 1,48 sekundy.

To pokazywało, że tor głosowy działa. Przy bardziej naturalnych, dłuższych poleceniach zaczęły się jednak schody. Gdy próbowałem sterować bramą garażową Pileckiego, ten sam fragment mowy był za każdym razem rozpoznawany inaczej. W debugowaniu pojawiały się między innymi:

Przykładowe rozpoznane teksty z naszej diagnostyki

Wąt, brama garażowa pidesy kegnu
Włącz brawa garażowa pileckiego

Home Assistant odpowiadał wtedy, że nie znajduje odpowiedniej encji, co było zrozumiałe, bo otrzymywał zniekształcony tekst. Testy wykonałem zarówno po słowie „Alexa”, jak i po naciśnięciu przycisku na urządzeniu. W obu przypadkach pojawiały się problemy. Nie było więc podstaw, żeby wszystko zrzucać na wybudzanie.

Co zmieniłem w Whisper

Dopiero wtedy zauważyłem, że w ustawieniach Whisper miałem model: auto. W oficjalnej aplikacji Whisper Home Assistant ustawienie to zwykle wybiera na procesorach x86 model base-int8, a na ARM tiny-int8. „Auto” nie oznacza zatem wyboru najdokładniejszego modelu do polszczyzny.

Przetestowałem kolejno small-int8 i medium-int8. Oba rozpoznawały polskie zdania zdecydowanie lepiej, ale na mojej maszynie pojawiła się wyraźna zwłoka. To najważniejszy fragment całego eksperymentu, bo zmiana modelu wystarczyła, aby zmienić ocenę działania tego samego głośnika.

Przykładowa konfiguracja lepszego lokalnego modelu

# W aplikacji Whisper, Konfiguracja:
model: small-int8
language: pl

Po zakończeniu testu można analogicznie wybrać medium-int8. Model pobierze potrzebne pliki przy pierwszym uruchomieniu. Należy pamiętać, że większy model zwiększa obciążenie CPU i pamięci. Nie trzeba przy tym ponownie instalować ani odblokowywać Echo Dot.

Moje porównanie na Intel N100 i 8 GB RAM

Poniższe liczby pochodzą z moich prób na środowisku z procesorem Intel N100 i 8 GB RAM. Nie są wynikiem profesjonalnego benchmarku, a czasy są przybliżone. Podaję je, ponieważ dobrze pokazują różnicę odczuwaną podczas rozmowy. Nie należy przenosić ich bezpośrednio na każdy serwer Home Assistant.

WariantCzas z mojego testuRozumienie poleceńWrażenia
Whisper autoSzybko, bez stałego pomiaruCzęsto błędnieUrządzenie reagowało, ale rzadko trafiało w sens polecenia.
Whisper small-int8Około 7-8 sZnacznie lepiejDało się rozmawiać, jednak opóźnienie było męczące.
Whisper medium-int8Około 15 sZnacznie lepiejZa wolno jak na prostą obsługę domu.
Home Assistant Cloud, Nabu CasaOkoło 1–2 sBardzo dobrzeOdpowiedź sprawiała wrażenie niemal natychmiastowej.

W przypadku lokalnego Whisper warto jeszcze sprawdzić wydajność konkretnej maszyny, liczbę przydzielonych vCPU, obciążenie innych usług i ustawienie beam_size. Na przykład wartość 2 zamiast domyślnie stosowanej często 5 może skrócić czas przetwarzania kosztem części dokładności. Nie traktuję tego jako przetestowanej poprawki, ponieważ nie porównałem jeszcze tak ustawionych modeli w wystarczająco wielu próbach.

Możliwy następny test, nie wynik naszego eksperymentu

# Opcjonalny eksperyment w aplikacji Whisper,
# jeszcze niezweryfikowany na moim zestawie:
model: small-int8
language: pl
beam_size: 2

Nabu Casa zaskoczyła mnie najbardziej

Na koniec uruchomiłem okres próbny Home Assistant Cloud i przełączyłem Echo na przygotowany przez tę usługę potok. Różnica była bardzo wyraźna. Po polsku zaczął rozumieć polecenia dużo pewniej, a odpowiedzi pojawiały się praktycznie od razu, mniej więcej po jednej lub dwóch sekundach. Nie zmieniałem przy tym mikrofonów, kabla sieciowego ani firmware Echo.

To świetnie pokazało, że samo Echo Dot 2 może być dobrym satelitą. Ograniczenie w mojej lokalnej konfiguracji leżało przede wszystkim po stronie użytego modelu STT i wydajności serwera. Chmurowy wariant nie jest jednak całkowicie lokalny. Nagranie do rozpoznania mowy oraz synteza odpowiedzi są przetwarzane przez usługę Nabu Casa. Działania na urządzeniach domowych nadal wykonuje Home Assistant.

Nie mam obecnie aktywnego płatnego abonamentu. Przetestowałem tę usługę w okresie próbnym i jeszcze nie zdecydowałem, czy zostanę z nią na dłużej. Dla osób oczekujących możliwie prostego rozwiązania taka różnica w komforcie korzystania jest jednak ważna.

Co sprawdziłem w ustawieniach Voice

Zanim ustaliłem, że większy Whisper poprawia sytuację, sprawdziłem także panel WWW Echo Dot. Urządzenie było połączone z Home Assistant, a ustawienia mikrofonu nie wyglądały na nietypowe.

ParametrUstawienie z mojego testuKomentarz
Mic level-25 dBFSBlisko domyślnego -26 dBFS.
Noise reductionOffRedukcja szumów nie była włączona.
Wake soundOffWyłączony dźwięk po wybudzeniu.
Wake sound removalOffFunkcja eksperymentalna nieużywana.
Wake word in the requestOffSłowo „Alexa” nie było dodawane do polecenia.
End of request heard on the EchoOffUrządzenie nie kończyło lokalnie całego żądania.

Istnieje zgłoszenie #82 dotyczące ucinania krótkich wypowiedzi i wpływu dźwięku wybudzającego. Warto je znać, ale nie utożsamiam tego problemu automatycznie z moim przypadkiem. U mnie Wake sound był wyłączony, a błędy występowały również po przycisku.

Do diagnostyki najlepiej wykorzystać debugowanie potoku Assist. Widać tam, jaki tekst powstał w STT, czy Home Assistant znalazł zamiar, jaką encję próbował obsłużyć i jaką odpowiedź przekazał do TTS. Jeśli rozpoznany tekst jest zły, nie ma sensu zmieniać nazw urządzeń na chybił trafił.

Jak odróżnić dwa typowe błędy

Źle rozpoznany tekst: to problem na etapie nagrania lub STT. Poprawny tekst, ale brak encji: sprawdź udostępnienie urządzenia do Assist, aliasy i obsługiwany typ działania. Szczególnie ostrożnie testuj bramy i zamki. Na początek użyj pytań o godzinę, odczyt temperatury lub włączania zwykłego światła.

Jeśli Whisper nadal rozpoznaje losowe słowa, można na czas diagnozy zapisywać nagrania WAV przez opcje debugowania Home Assistant i odsłuchać, czy głos jest czysty. Takiego testu nie zdążyłem wykonać, ponieważ sama zmiana modelu wyraźnie poprawiła rozpoznawanie. Nie będę więc twierdził, że pomierzyłem parametry mikrofonu.

Bezpieczeństwo, sieć i aktualizacje

Po udanej instalacji warto wykonać kilka porządkowych działań. To szczególnie ważne, bo nie pracujemy z typowym urządzeniem ESPHome, tylko ze zmodyfikowanym głośnikiem, którego system i mechanizm aktualizacji powstały na bazie innego produktu.

  • W routerze przygotuj rezerwację DHCP. Stały adres ułatwi ponowne wejście na panel urządzenia.
  • Panel konfiguracyjny na porcie 28931 udostępniaj tylko w zaufanej sieci, bez przekierowania portów z internetu.
  • Zachowaj kopię pliku secrets/update.key. Jest używany do podpisywania aktualizacji wykonywanych przez użytkownika.
  • Nie publikuj tokenu Music Assistant z końcowego logu ani plików secrets/. W moim poradniku usunąłem identyfikatory sieci i token parowania.
  • Zanim wgrasz nową wersję, sprawdź historię zmian oraz zgodność konkretnego wydania z modelem biscuit.
  • Jeżeli potrzebujesz innych funkcji, np. Music Assistant czy Bluetooth, najpierw przeczytaj instrukcję modelu. Nie włączałem ich jeszcze w swoich testach.

Instalator podaje również metodę tymczasowego uruchomienia ADB po Wi-Fi oraz aktualizacji OTA. Nie będę przepisywał ich jako uniwersalnych recept, bo składnia i warunki mogą się zmieniać między wydaniami. Aktualne informacje są w instrukcji GUIDE.md.

Co robić, gdy instalacja się przerwie?

Instalator potrafi wznawiać większość czynności. Jeśli został zatrzymany poza krytycznym zapisem pamięci, zwykle wystarczy ponownie uruchomić Git Bash i wykonać:

Git Bash, wznowienie instalacji

cd ~/echo-dot-assist
scripts/setup.sh biscuit

W moim dzienniku pojawiały się także komunikaty rm: cannot remove ... Device or resource busy z katalogu /tmp. Wystąpiły po przerwaniu jednej z prób i nie oznaczały uszkodzenia Echo. Późniejszy instalator mimo tego przeszedł do końca. Nie polecam na ślepo usuwać losowych plików z katalogów systemowych. Najpierw trzeba ocenić, na którym etapie program został zatrzymany.

Dodatkowy dziennik instalacji znajduje się w repozytorium w ścieżce build/biscuit/setup.log. W razie problemów to lepszy punkt wyjścia niż powtarzanie całego odblokowania. Przed wysyłką takiego logu do innych osób trzeba usunąć dane sieciowe, tokeny i inne informacje poufne.

Czy przerobiłbym Echo Dot 2 ponownie?

Tak, choć pod jednym warunkiem: traktowałbym to nadal jako eksperyment dla osoby, która potrafi poradzić sobie z terminalem i akceptuje ryzyko. Najbardziej niepokoiła mnie operacja odblokowania i zapisu firmware, a paradoksalnie właśnie ona przebiegła u mnie bez kłopotów. Więcej czasu straciłem na sterownikach Windows, Wi-Fi oraz szukaniu przyczyny błędów rozpoznawania polszczyzny.

Wynik jest naprawdę użyteczny. Echo Dot 2 reaguje na „Alexa”, potrafi przekazać wypowiedź do Home Assistant i odtworzyć odpowiedź po polsku. Nie muszę korzystać z klasycznej aplikacji Alexa ani konta Amazon do obsługi swojego domu. Mogę też sam zdecydować, czy rozpoznawanie głosu ma odbywać się na moim serwerze, czy w Home Assistant Cloud.

Test na Intel N100 z 8 GB RAM pokazał jednak wyraźnie, że „działa lokalnie” to jeszcze nie to samo co „działa wygodnie”. Model auto był szybki, ale regularnie mylił polskie zdania. small-int8 i medium-int8 rozumiały znacznie lepiej, lecz około 7-8 lub 15 sekund oczekiwania to za długo na proste komendy. Dopiero wariant Nabu Casa zapewnił mi komfort, którego oczekiwałem od domowego asystenta.

Na razie pozostaję przy testach. Chcę jeszcze sprawdzić dłuższe użytkowanie, większą liczbę naturalnych poleceń i możliwości przyspieszenia lokalnego STT. Kiedy pojawią się nowe wyniki, wrócę do tematu. Sam fakt, że urządzenie z 2016 roku dostało drugie życie w Home Assistant, uważam za dobry punkt wyjścia.

Jeżeli korzystasz z Home Assistant i masz stare Echo Dot 2, daj znać, jakiego modelu STT używasz i na jakim sprzęcie. Najciekawsze będą porównania rzeczywistych opóźnień oraz poprawności rozpoznawania polskich nazw urządzeń.

Dalsza nauka Home Assistant

Jeżeli dopiero budujesz własny system, zajrzyj także do mojego kursu Home Assistant na MarkLabs. Opisuję tam krok po kroku podstawy instalacji, integracje, automatyzacje i wiele praktycznych projektów.

Dokumentacja i źródła

Podstawą poradnika jest dziennik rzeczywistej instalacji z 1 listopada 2026 r. oraz oficjalna dokumentacja oprogramowania. Tam, gdzie opisałem możliwości projektu, których sam jeszcze nie sprawdziłem, wyraźnie to zaznaczyłem. Cytowane komunikaty konsoli pochodzą z mojego przebiegu, a zrzuty zawierające informacje poufne nie zostały opublikowane.

Stan artykułu: 1 listopada 2026 r. Testowane: Echo Dot 2 RS03QR, echo-dot-assist v2026.10.30.190755-beta, Windows 11 oraz lokalny Assist na Intel N100 / 8 GB RAM. Czasy rozpoznawania pochodzą z praktycznych prób i są przybliżone. Wszystkie polecenia modyfikujące urządzenie wykonujesz na własną odpowiedzialność.

Marek | MarkLabs

Społeczność MarkLabs

Dyskutuj na forum

Pytania, doświadczenia i rozwiązania do tego artykułu publikujemy teraz na forum MarkLabs.

Otwórz dyskusję na forum

Wymagane jest bezpłatne konto MarkLabs. Dotychczasowe komentarze bloga nie są przenoszone.

buycoffee.to