Wrzucę później jakiś prosty przykład w Arduino.
Do programu należy dołożyć include do klasy obsługującej SolarEdge oraz zegar (API SolarEdge wymaga podawania dat i godzin w zapytaniach, więc konieczny jest zegar):
Code: Select all
#include <supla/clock/clock.h>
#include <supla/pv/solaredge.h>
Code: Select all
SuplaDevice.addClock(new Supla::Clock);
new Supla::PV::SolarEdge("API_KEY_POBRANE_Z_SOLAREDGE", "SITE_ID", "NUMER_SERYJNY_FALOWNIKA", SuplaDevice.getClock());
Tyle powinno wystarczyć, aby mieć falownik w Supli.
Integracja nie działa na Arduino Mega (API wymaga połączeń po https, które nie są możliwe na Arduino Mega). Testowałem na ESP8266. Na ESP32 powinno działać, ale nie sprawdzałem.
Falownik udostępnia takie dane jak: całkowita produkcja, napięcie, natężenie, częstotliwość, moc bierna, czynna, pozorna. Jest jeszcze kilka innych danych, których na razie nie ma jak do Supli wrzucić.
Dodatkowo falownik udostępnia temperaturę - jest ona widoczna w Supli jako zwykły kanał temperatury.
Całkowita produkcja energii jest sztucznie rozbijana na fazy w Supli - falownik podaje tylko jedną liczbę, a Supla oczekuje energii na każdą fazę osobno.
Falownik w nocy idzie spać, więc w tym czasie pomiarów nie ma.
SolarEdge API ogranicza ilość dobową zapytań, więc odpytujemy falownik co 6 min o dane. Sam SolarEdge przechowuje dane w odstępach co 5 min, więc i tak nigdy nie ma dostępu do "najświeższych" danych.
Jeśli nasze ESP się zresetuje w nocy, to do czasu aż falownik "wstanie" nie będzie widać aktualnej produkcji.
Biblioteka do pobrania tutaj: https://github.com/klew/supla-arduino
Wkrótce będzie to też dostępne na branchu develop oficjalnego repo.