Integracja SmartESS z Home Assistant: Modbus, API, MQTT
Pytanie
jak zintegrować aplikację smartess z home assistant
Odpowiedź Sztucznej Inteligencji
Bezpośrednia odpowiedź na pytanie
- Najpewniejszą i rekomendowaną metodą jest lokalne połączenie Modbus TCP pomiędzy falownikiem używającym aplikacji SmartESS (Deye/Sunsynk/OEM) a Home Assistantem.
- W praktyce sprowadza się to do zainstalowania (przez HACS) integracji „Sunsynk (multi-inverter) with advanced controls” i wskazania IP falownika, portu 502 oraz numeru seryjnego.
- Alternatywy: własnoręczna konfiguracja wbudowanej integracji Modbus, odpytywanie chmurowego API SolarMAN/SmartESS przez REST, bądź mostek MQTT/Node-RED.
Szczegółowa analiza problemu
1. Topologia i protokoły
- Falowniki obsługiwane przez SmartESS korzystają z loggera Wi-Fi Pro (lub LAN) łączącego się równolegle:
• lokalnie po Modbus TCP (port 502)
• z chmurą SolarMAN (HTTPS).
- Logger akceptuje zazwyczaj tylko jedno równoczesne połączenie Modbus – HA musi „zabrać” je chmurze lub pracować na osobnym RS-485.
2. Integracja przez HACS (zalecana)
- W HACS → Integrations wyszukaj „Sunsynk (multi-inverter) with advanced controls” (autor kellerza).
- Zainstaluj, zrestartuj HA.
- Ustawienia → Urządzenia i usługi → Dodaj integrację → Sunsynk:
• Inverter Host: 192.168.x.x
• Port: 502
• Serial No.: z tabliczki / aplikacji
• Slave ID: 1 (czasem 0)
• Scan interval: 10-30 s
- Połączenie udane → powstaje urządzenie + ~150 encji (PV, bateria, sieć, temperatury, tryby pracy, komendy).
3. Ręczna konfiguracja Modbus w configuration.yaml
Przykład minimalny:
modbus:
- name: smartess
type: tcp
host: 192.168.1.123
port: 502
sensors:
- name: "Battery SOC"
slave: 1
address: 30003
input_type: input
unit_of_measurement: "%"
- name: "Inverter Power"
slave: 1
address: 30004
input_type: input
unit_of_measurement: "W"
Adresy rejestrów zależą od modelu – pełną mapę znajdziesz w dokumentacji Deye/Sunsynk lub w repozytorium integracji.
4. Integracja chmurowa (REST)
- Zaloguj się na dessmonitor.com, przechwyć zapytanie
querySPDeviceLastData
.
- W
secrets.yaml
wstaw pełny URL.
- Dodaj sensor REST z
json_attributes_path: $.dat.pars
.
Wady: opóźnienia 5-15 min, zależność od serwerów i Polityki RODO.
5. Bridge MQTT / Node-RED
Gdy logger nie obsługuje lokalnego Modbus (starsze firmware) lub chcemy hurtowo przerobić dane:
- Node-RED → node modbus → publikuj na
smartess/#
,
- Home Assistant → sensory MQTT.
Pozwala na dodatkowe przetwarzanie, ale zwiększa złożoność.
6. Sprzętowy RS-485→ETH/Wi-Fi
Stabilniejsze niż fabryczny logger: Waveshare RS485-ETH, ESP32+MAX485 (ESPHome). Pozwala na >1 połączenie równolegle.
Aktualne informacje i trendy
- 2023/24: Społeczność HA koncentruje się na pełnym lokalnym HEMS; integracja „Sunsynk multi-inverter” dostała wsparcie dla wielu falowników równocześnie i zapisu parametrów pracy.
- Firmware loggera Wi-Fi Pro ≥v3.1.14 umożliwia jednoczesne Modbus TCP+chmura, co redukuje konflikt połączeń.
- Pojawiają się open-source firmware (ESP-Logger) eliminujące chmurę.
Wspierające wyjaśnienia i detale
- Modbus TCP = warstwa Ethernet protokołu Modbus, 16-bitowe rejestry (Holding/Input).
- Serial No. wymagany przez integrację HACS służy do dekodowania ramek i kontroli komand.
- Przy częstym skanowaniu (<5 s) logger potrafi zerwać Wi-Fi – zalecane 10-15 s.
Aspekty etyczne i prawne
- Integracja lokalna minimalizuje transfer danych osobowych do Chin (SolarMAN), wspiera zgodność z RODO.
- Zmiana firmware lub ingerencja w RS-485 może naruszyć gwarancję – sprawdź warunki producenta.
- Przy wysyłaniu komend (np. ustawianie limitu eksportu) zachować ostrożność – błędne parametry mogą zagrozić instalacji elektrycznej.
Praktyczne wskazówki
- Ustaw statyczny IP loggera (rezerwacja DHCP).
- Jeśli encje przechodzą w „unavailable”, wydłuż
scan_interval
lub odłącz logger od chmury na czas testów.
- Użyj
persistent_notification.create
w HA, aby alarmować o braku łączności.
- Backup
configuration.yaml
i bazy danych energii (SQLite) przed większymi zmianami.
Ewentualne zastrzeżenia lub uwagi dodatkowe
- Logger czasem restartuje się przy długich ramek Modbus (>60 rejestrów).
- Mapy rejestrów różnią się między wersjami oprogramowania – zawsze weryfikuj offsety.
- Cloud API ma limit 1000 zapyt./dobę; przekroczenie blokuje konto na 24 h.
Sugestie dalszych badań
- Testy nowego „Solarman SmartLogger Pro” z otwartym API.
- Analiza możliwości sterowania trybem pracy baterii (charge/discharge windows) przez HA automatycznie pod cenę dynamiczną (np. spot NordPool).
- Śledzenie projektu open-source “inverter-control” (Python) pozwalającego na zaawansowane profile mocy.
Krótkie podsumowanie
Integracja SmartESS z Home Assistant jest obecnie najlepiej realizowana lokalnie przez Modbus TCP z użyciem społecznościowej integracji „Sunsynk multi-inverter”. Zapewnia ona szybkie, prywatne i bogate w dane połączenie z falownikiem, umożliwia zarówno monitoring, jak i sterowanie. Rozwiązania oparte o chmurę lub MQTT sprawdzają się jako alternatywa, jednak wiążą się z większymi opóźnieniami lub złożonością. Przed wdrożeniem zadbaj o statyczny IP, właściwe rejestry i świadomość ograniczeń loggera, a w przyszłości rozważ przejście na całkowicie otwarte oprogramowanie dataloggera dla pełnej niezależności.
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.