Samodzielna bramka Bluetooth Mesh dla ESP32-C3 zapewniająca lokalne sterowanie Steinel NightmatIQ Plus, diagnostykę, aktualizacje firmware i integrację z Home Assistant.
Steinel NightmatIQ Plus <-> Bluetooth Mesh <-> bramka ESP32-C3 -> Home Assistant
Społecznościowy firmware ESPHome zmieniający ESP32-C3 Super Mini w dedykowaną, lokalną bramkę Steinel NightmatIQ Plus. Importuje istniejącą konfigurację sieci Steinel, komunikuje się bezpośrednio przez Bluetooth Mesh, udostępnia chroniony hasłem interfejs przeglądarkowy oraz przekazuje do Home Assistant encje sterujące, pomiarowe, identyfikacyjne i diagnostyczne.
Autor i opiekun projektu: Bartosz Supcziński — bartek@env.pl
NightmatIQ Plus komunikuje się przez Bluetooth Mesh, natomiast Home Assistant korzysta z sieci IP. ESP32-C3 łączy te dwa środowiska: dołącza do istniejącej instalacji Mesh, wymienia polecenia i informacje o stanie bezpośrednio z sensorem oraz publikuje je przez ESPHome. Steinel Cloud służy podczas konfiguracji do importu ustawień sieci; późniejsza praca odbywa się lokalnie.

Wbudowana strona umożliwia konfigurację, sterowanie, diagnostykę i aktualizację firmware z przeglądarki.

Standardowa integracja ESPHome udostępnia NightmatIQ bezpośrednio jako jedno urządzenie Home Assistant.

Opcjonalny moduł interfejsu łączy stan sensora, natężenie oświetlenia, tryb pracy i próg zmierzchowy w jednym zwartym oknie.

Auto, Zawsze włączone i Zawsze wyłączone.1 do 1500 lx.Standardowe API ESPHome publikuje:
Home Assistant wyświetla wszystkie publikowane encje w jednym urządzeniu o nazwie Steinel NightmatIQ Plus.
Interfejs USB zwykle pojawia się jako urządzenie Espressif USB JTAG/serial (303a:1001) oraz /dev/ttyACM* w systemie Linux.
Firmware jest przeznaczony dla ESP32-C3 i ESP-IDF. Rozszerzone funkcje Bluetooth 5 są wyłączone, ponieważ Bluetooth Mesh korzysta ze ścieżki reklamowej BLE 4.2. Konfiguracja została dopasowana do ograniczonej pamięci RAM ESP32-C3.
admin z hasłem 12345678; zmień je na stronie urządzenia natychmiast po połączeniu z Wi-Fi.12345678.secrets.yaml, kluczy prywatnych, przechwyconych pakietów ani kopii sieci Steinel.| Ścieżka | Przeznaczenie |
|---|---|
esphome/nightmatiq-c3.yaml |
Główna konfiguracja firmware ESPHome |
esphome/components/nightmatiq_mesh/ |
Komponent Bluetooth Mesh, Steinel Cloud i lokalnego WWW |
scripts/ |
Instalacja, walidacja, USB i OTA |
home-assistant/ |
Opcjonalny pakiet i zwarte okno sterowania Home Assistant |
docs/images/ |
Publiczne obrazy README |
Zalecana pierwsza instalacja nie wymaga kompilowania ESPHome:
steinel-nightmatiq-esp32-c3-gateway-vX.Y.Z-factory.bin z wydań GitHub.-factory.bin.ESPHome Web przetwarza plik lokalnie. Obraz -factory.bin służy do nowej płytki lub odzyskiwania przez USB; późniejsze aktualizacje z przeglądarki używają obrazu -ota.bin.
Dostarczony instalator tworzy odizolowane, powtarzalne środowisko z niezmodyfikowanym ESPHome 2026.7.3. Do zainstalowanego pakietu ESPHome nie jest nakładany żaden patch.
Sklonuj lub pobierz repozytorium, przejdź do jego katalogu i zainstaluj przypięte środowisko:
sudo bash scripts/01_install_esphome.sh
bash scripts/03_validate_all.sh
Polecenie wykonuje kontrolę repozytorium i sprawdza konfigurację ESPHome.
Podłącz ESP32-C3 i w miarę możliwości użyj stabilnej ścieżki /dev/serial/by-id/:
sudo bash scripts/09_upload_usb.sh /dev/serial/by-id/usb-Espressif_USB_JTAG_serial_debug_unit_*-if00
Jeżeli płytka nie ma dowiązania by-id, użyj wykrytego portu ACM:
sudo bash scripts/09_upload_usb.sh /dev/ttyACM0
Ten sam skompilowany obraz można zainstalować na każdej obsługiwanej płytce ESP32-C3. Pierwsza instalacja przez USB przygotowuje urządzenie do kolejnych aktualizacji z przeglądarki, dlatego później zwykle nie trzeba używać przycisku BOOT.
nightmatiq-gateway-XXXXXX, używając hasła 12345678..local.Konfiguracja Wi-Fi jest zapisywana przez urządzenie i pozostaje po aktualizacji firmware.
admin, używając fabrycznego hasła 12345678.Adres węzła NightmatIQ i IV Index zwykle mogą zostać wybrane automatycznie z kopii sieci. Dane logowania pozostają tylko w formularzu przeglądarki na czas żądań konfiguracyjnych.
Po otwarciu strony bramka sprawdza najnowsze stabilne wydanie GitHub; CHECK FOR UPDATES powtarza sprawdzenie ręcznie. Gdy dostępna jest nowsza wersja, DOWNLOAD AND INSTALL pobiera ją przez HTTPS, sprawdza rozmiar i sumę SHA-256, instaluje oraz restartuje bramkę. Nieudana aktualizacja pozostawia dotychczasowy firmware aktywny.
Instalacja ręczna pozostaje dostępna w sekcji Manual firmware file. Używaj wyłącznie pliku wydania zakończonego -ota.bin; -factory.bin służy tylko do pierwszej instalacji przez USB. Użytkownik nie otrzymuje ani nie musi znać osobnego „hasła OTA”.
Factory reset usuwa ustawienia Wi-Fi, administratora i NightmatIQ Mesh, a następnie przywraca fabryczne konto i punkt dostępowy bez zmiany zainstalowanej wersji firmware.
Z wiersza poleceń — podaj hasło administratora, gdy skrypt o nie poprosi:
bash scripts/05_upload_ota.sh ADRES_IP_LUB_NAZWA_HOSTA
Home Assistant zwykle wykrywa urządzenie automatycznie przez ESPHome. Jeżeli tak się nie stanie:
Wszystkie encje sterujące i diagnostyczne są bezpośrednio przypisane do tego urządzenia.
Standardowa integracja ESPHome udostępnia wszystkie encje i elementy sterujące. Pliki w home-assistant/ dodają zwarty kafelek obszaru i pokazane wyżej okno sterowania.
steinel-nightmatiq-package.yaml do katalogu pakietów Home Assistant.steinel-nightmatiq-popup.js do /config/www/./local/steinel-nightmatiq-popup.js?v=100 jako moduł JavaScript w zasobach panelu.Pliki używają domyślnych identyfikatorów encji tworzonych przy pierwszej instalacji. Jeżeli Home Assistant dopisał _2 lub inny sufiks, zmień cztery identyfikatory na początku pliku JavaScript i odpowiadające im identyfikatory w pliku pakietu YAML.
Moduł dostosowuje automatycznie wygenerowany kafelek obszaru i okno szczegółów Home Assistant. Ponieważ strategia obszaru jest częścią interfejsu Home Assistant, przyszła wersja frontendu może wymagać aktualizacji opcjonalnego modułu.
Podczas importu sieci każda bramka wyznacza politykę adresu Mesh na podstawie wybranej instalacji i własnej tożsamości sprzętowej. Ten sam firmware można dzięki temu skonfigurować dla różnych płytek ESP32-C3 i instalacji NightmatIQ.
Sufiks MAC w nazwie urządzenia jest domyślnie włączony, dlatego wiele bramek otrzymuje unikalne nazwy hostów i punktów dostępowych. Na każdej bramce ustaw osobne hasło administratora.
Jeżeli skonfigurowana sieć Wi-Fi jest niedostępna przez 60 sekund, bramka ponownie uruchamia chroniony punkt dostępowy. Połącz się z nim fabrycznym hasłem AP 12345678 i zmień konfigurację Wi-Fi w portalu. Lokalna strona nadal jest chroniona hasłem administratora wybranym na urządzeniu.
Ta sama funkcjonalność Steinel NightmatIQ Plus jest również dostępna jako opcjonalna integracja w projekcie AR01V3 RF/IR, ESP-RC01 & Steinel NightmatIQ Plus Gateway. Wybierz tamten projekt, jeśli NightmatIQ ma być dodatkiem do istniejącej wielofunkcyjnej bramki AR01V3; to repozytorium jest przeznaczone dla małej, dedykowanej instalacji ESP32-C3.
Copyright (C) 2026 Bartosz Supcziński.
Projekt jest udostępniany wyłącznie na warunkach GNU General Public License w wersji 3 (GPL-3.0-only). Pełna treść znajduje się w pliku LICENSE.
envpl.steinel_nightmatiq_gateway.Zgłaszając problem, podaj wersję firmware, wersję ESPHome, przyczynę ostatniego restartu i odpowiednie logi. Przed udostępnieniem diagnostyki usuń hasła, klucze, nagłówki autoryzacji, prywatne kopie i identyfikatory sieci.
To niezależny projekt społecznościowy, który nie jest oficjalnym produktem Steinel, ESPHome ani Home Assistant.