Sonoff NSPanel - panel znany i lubiany przez społeczność HA.
Konfiguracja do prostych nie należy ale warto się w to pobawić.
Panel z oryginalnym softem ewelink:
Trzeba przyznać, że nawet z oryginalnym softem jest całkiem funkcjonalny, ale temat nie o tym.
Przerobimy go na Tasmota i LovelacjeUI współpracujący z AppDaemon w HA.
Aby wgrać Tasmota musimy oczywiście dostać się do wnętrza i podłączyć konwerter USB-UART do pinów na płytce:
- rozkręcamy obudowę dwoma śrubkami z tyłu:
- zdejmujemy panel:
- zdejmujemy plastikową osłonę i już mamy dostęp do pinów, ale … :
- !!! należy koniecznie wyjąć płytkę z obudowy gdyż bezpośrednio pod nią jest metalowa obudowa wyświetlacza i użycie przewodów DuPont może spowodować zwarcie. Odpinamy taśmę wyświetlacza i delikatnie wyciąamy płytkę z obudowy.
- Podłączamy konwerter TTL do pinów 3V3, RX, TX, GND oraz GPIO0 (łączymy go do masy GND)
Na początek zróbmy backup oryginalnego softu:
- sprawdzamy połączenie:
esptool.py flash_id
- ściągamy backup do pliku:
esptool.py --baud 115200 --port /dev/ttyUSB0 read_flash 0x0 0x400000 NSpanel_backup.bin
Potrwa to około 6 minut, ale warto gdyby ktoś nie ogarnął tematu do końca
Odpalamy tasmota web installer: Install Tasmota
i wybieramy z listy odpowiednią wersję:
klikamy “Connect”, wybieramy port i falshujemy “Install Tasmota32 Sonoff-NSPanel” zaznaczając w kolejnym kroku opcję “Erase”:
Kontrolnie przechodzimy do logów “Logs & Console” i po odłączeniu GPIO00 od masy widzimy że Tasmota wstaje w trybie accespoint:
Dalej już standardowo łączymy się telfonem do sieci wifi o nazwie tasmota-xxxxx-xxxx i konfigurujemy połączenie do naszej domowej sieci wifi.
Po zapisaniu w logach można też sprawdzić czy się połączył i jakie dostał IP:
Montujemy płytkę do obudowy, podłączamy wyświetlacz, skręcamy obudowę i podłączamy zasilanie - resztę konfiguracji zrobimy zdalnie przez interfejs Tasmota.
Po podłączeniu zasilania ekran urządzenia jest nieaktywny.
Przechodzimy na adres IP urządzenia i w interfejsie Tasmota wybieramy Configuration / Configure Other i w polu Template wklejamy:
{"NAME":"NSPanel","GPIO":[0,0,0,0,3872,0,0,0,0,0,32,0,0,0,0,225,0,480,224,1,0,0,0,33,0,0,0,0,0,0,0,0,0,0,4736,0],"FLAG":0,"BASE":1,"CMND":"ADCParam1 2,11200,10000,3950 | Sleep 0 | BuzzerPWM 1"}
Zaznaczamy opcję Activate, możemy pozmieniać nazwy “Friendly Name” i zapisujemy zmiany Save.
Urządzenie zrestartuje się, a jego ekran ponownie będzie aktywny (na razie jeszcze z interfejsem ewelink i samymi zerami), prawidłowo też zadziałają fizyczne przyciski.
Teraz załadujemy Berry Driver do Tasmota
- przechodzimy do Consoles / Console i wklejamy komendę:
Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; SetOption151 0;Restart 1
Ściągnie ona plik autoexec.be i zrestartuje urządzenie.
Teraz przygotujemy HA do współpracy z NSPanel.
W HA przechodzimy do Ustawienia / Dodatki / Sklep z dodatkami i wyszukujemy appdaemon
Instalujemy przyciskiem “Zainstaluj”
w zakładce Konfiguracja dodajemy pakiet językowy babel i klikamy “Zapisz”
Następnie uruchamiamy na zakładce Informacje przyciskiem “Uruchom”
Instalujemy Lovelace AppDaemon Backend Application:
- musisz się upewnić, że w systemie HACS włączyłeś automatyzację AppDaemon, ponieważ nie jest ona domyślnie włączona:
Ustawienia / Urządzenia oraz usługi / zakładka Integracje kliknij w HACS i przycisk “Konfiguruj” i zaznacz opcję “Enable AppDaemon apps discovery & tracking” i kliknij “Zatwierdź”
- teraz instalujemy NSPanel Lovelace UI Backend za pomocą HACS wyszukując NSPanel w jego repozytorium i klikając przycisk “Pobierz”:
- pozostało jeszcze skonfigurować MQTT w Tasmota Configuration / Configure MQTT gdzie podajemy IP , topic np: dom_NSPanel (będzie później potrzebny) i ewentualnie user/password jeśli mamy włączoną autentykację:
- teraz czas na MQTT w AppDaemon - konfigurujemy poprzez edycję pliku w terminalu:
nano addon_configs/a0d7b954_appdaemon/appdeamon.yaml
appdaemon:
latitude: 52.0
longitude: 4.0
elevation: 2
time_zone: Europe/Berlin
app_dir: /homeassistant/appdaemon/apps/
plugins:
HASS:
type: hass
MQTT:
type: mqtt
namespace: mqtt
client_id: "appdaemon"
client_host: 192.168.1.113
client_port: 1883
client_user: "mqttuser"
client_password: "mqttpassword"
client_topics: NONE
http:
url: http://127.0.0.1:5050
admin:
api:
hadashboard:
- na koniec zrestartujemy AppDaemon’a przyciskiem “Uruchom ponownie”:
a w zakładce z logami znajdziemy potwierdzenie połączenia z MQTT:
Teraz zajmiemy się konfiguracją NsPanel w AppDaemon.
Podstawowy config zapiszemy w pliku: appdaemon/apps/apps.yaml - jeśli go nie mamy to tworzymy nowy plik przyciskiem “New File” (pierwszy po lewej w File Editor)
i wklejamy poniższą zawartość ustawiając topic taki jak w Tasmota (dom_NSPanel):
nspanel-1:
module: nspanel-lovelace-ui
class: NsPanelLovelaceUIManager
config:
panelRecvTopic: "tele/dom_NSPanel/RESULT"
panelSendTopic: "cmnd/dom_NSPanel/CustomSend"
model: eu
i zapisujemy “Save”:
Na ekranie urządzenia od razu powinien pojawić się nowy panel a po kliknięciu “Setup Successfull”:
Teraz dodamy pogodę, polski język i kilka opcji regulacji jasności ekranu oraz przykładowe encje - doklejamy poniższą zawartość do apps.yaml:
sleepTimeout: 20
sleepBrightness:
- time: "7:00:00"
value: 10
- time: "23:00:00"
value: 0
locale: "pl_PL"
screensaver:
entity: weather.forecast_dom
cards:
- type: cardEntities
entities:
- entity: switch.tasmota_2
- entity: sensor.tasmota_analog_temperature1
title: Salon
- type: cardGrid
entities:
- entity: switch.tasmota_3
title: Kuchnia
Pełny opis możliwości konfiguracji - jest tego naprawdę sporo:
PS: Powodzenia i pokażcie swoje dashboard’y.