Dodałem odczytywanie danych z licznika Afore do biblioteki SuplaDevice na Arduino IDE. Testowałem z Arduino Mega i z Wemosa D1 R1.
Na Arduino są problemy z pamięcią - będę dodawał inne poprawki, aby to normalnie chodziło.
Należy pobrać najnowszą bibliotekę z
https://github.com/klew/arduino
Następnie w programie dodać:
Code: Select all
#include <supla/pv/afore.h>
// w setup
new Supla::PV::Afore(IPAddress(192, 168, xyz, zyx), port, "LOGIN I HASŁO zapisane w base64");
Do "LOGIN I HASŁO" trzeba wpisać swój "username:password" (bez " i z : pomiędzy) zakodowane w base64. Domyślnie nie ma w arduino biblioteki do kodowania base64, a nie chciałem dodawać kolejnej dependencji do zewnętrznej biblioteki.
Możecie w swoim Arduino doinstalować jakąś bibliotekę do base64 i konwertować to w programie, albo wrzućcie do jakiegoś online'owego toola do konwersji i skopiujcie rezultat.
Supla::PV::Afore używa licznika jednofazowego i pokazuje ilość "pobranej" energii, oraz aktualną moc. Zastanawiam się czy nie przerzucić tego na "oddaną" energię", ale też mi to do końca nie pasuje. Dajcie znać, co bardziej by odpowiadało, to mogę przerobić.
Afore daje tylko informację o całkowitej mocy i produkcji (bez podziału na fazy), więc dlatego użyłem licznika jednofazowego.
Testowane na dwóch inwerterach - dzięki @Enriquez i @artur_n za dostęp.
Jeszcze pozostaje otwarta kwestia jak traktować nocne wyłączenie falownika. Aktualnie po 3 nieudanych próbach połączenia, będzie do Supli przekazywana ostatnia znana produkcja, oraz moc = 0 W.
Czekam na feedback
