Cześć,
chciałem udostępnić mostek, który pozwala pokazać w SUPLA pomiary energii z
urządzenia działającego w chmurze eWeLink. Integracja nie modyfikuje firmware
SONOFF-a i korzysta z oficjalnego OAuth oraz API V2 CoolKit.
Repozytorium:
<https://github.com/tijoto/supla-ewelink-energy-bridge>
## Co jest widoczne w SUPLA?
- napięcie,
- prąd,
- moc czynna,
- szacowana energia czynna pobrana.
Kanał licznika jest standardowym `ElectricityMeterParsed` z sd4linux. Osobny,
niewielki agent w Pythonie odpytuje eWeLink co 60 sekund i zapisuje pomiary do
pliku JSON. sd4linux odczytuje ten plik i przekazuje dane do serwera SUPLA.
Schemat działania:
`eWeLink Cloud → agent OAuth/API → plik JSON → sd4linux → SUPLA`
## Dlaczego w ten sposób?
Cała część związana z kanałem SUPLA pozostaje standardowa i konfigurowana w
YAML. Agent nie implementuje własnego klienta SUPLA — zajmuje się wyłącznie
zewnętrznym źródłem danych. Dzięki temu łatwiej aktualizować sd4linux i dodawać
kolejne kanały bez przebudowy całej aplikacji.
## Wymagania
- Docker i Docker Compose,
- konto oraz aplikacja Personal Developer w eWeLink Developer Center,
- zgoda OAuth dla własnego konta eWeLink,
- serwer SUPLA — publiczny albo własna instancja,
- urządzenie udostępniające parametry `power`, `voltage` i `current` w API V2.
Wrażliwe dane (`appSecret`, tokeny OAuth, GUID/AUTHKEY SUPLA, e-mail i bieżące
pomiary) są przechowywane poza repozytorium. Projekt zawiera tylko przykładowe
pliki konfiguracyjne.
## Ważne ograniczenia
Energia w kWh jest obecnie obliczana programowo z kolejnych próbek mocy i
zapisywana trwale na dysku. To wartość do monitoringu, a nie pomiar
rozliczeniowy. Przy braku internetu, awarii chmury albo dłuższym wyłączeniu
mostka może pojawić się różnica względem licznika sprzętowego.
Domyślne odpytywanie co 60 sekund daje około 43 200 wywołań w ciągu 30 dni.
Przed skróceniem interwału warto sprawdzić limit przyznany aplikacji w panelu
eWeLink. Trzeba też pamiętać, że zakres darmowego API i obsługiwanych urządzeń
może zostać zmieniony przez CoolKit.
Projekt jest nieoficjalny i nie jest powiązany z SUPLA, CoolKit, eWeLink ani
SONOFF. Chętnie przyjmę informacje, na jakich modelach działa oraz jakie inne
pola energii warto dodać w kolejnych wersjach.
