Sonoff NSPanel z Tasmota i LovelaceUI

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:
image

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:

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 :wink:

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.
image

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:

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”:
image
image

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

image
image
image

Pełny opis możliwości konfiguracji - jest tego naprawdę sporo:

PS: Powodzenia i pokażcie swoje dashboard’y.

6 polubień

Jak zrobić coś podobnego na wersji z androidem bez supervisor?

Czy raczej jest to nie możliwe i wymagane jest zmiana systemu?

Day się zrobić coś podobnego z tym sonofem lub wersją pro która jest na androidzie (podobnie jak wasza bramka) w połączeniu z dev3 bez zmiany systemy na armbiana

Na wersji pro z Android dobrze spisuje się aplikacja Home Habit.

1 polubienie