Licznik energii elektrycznej EPEVER - nowa biblioteka

Awatar użytkownika
Duch__
Posty: 1782
Rejestracja: śr sie 24, 2016 7:26 pm
Lokalizacja: Opole

Jak przepisać dowolną wartość do zmiennych totalGeneratedEnergy, currentPower, currentCurrent, currentFreq, currentVoltage w pliku *.cpp ze szkicu w Arduino IDE? Opieram swoje prace o najnowszą bibliotekę klew-a i utknąłem w martwym punkcie. Próbuję stworzyć licznik energii współpracujący z kontrolerem EPEVER paneli fotowoltaicznych.
Obrazek
Awatar użytkownika
klew
Posty: 8343
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Trzeba stworzyć nową klasę, która dziedziczy po Supla::Sensor::ElectricityMeter albo po Supla::Sensor::OnePhaseElectricityMeter.
Następnie implementujesz przynajmniej metodę onInit oraz readValuesFromDevice:

Kod: Zaznacz cały

class MojLicznik : public Supla::Sensor::OnePhaseElectricityMeter {
  public:
    void onInit() {
      // tutaj wstaw jeśli cokolwiek potrzebujesz zainicjalizować, aby odczyt parametrów z urządzenia działał,
      // a następnie dodaj te dwie linijki:
      readValuesFromDevice();
      updateChannelValues();
   }
   
   void readValuesFromDevice() {
     // tutaj odczytujesz dane z urządzenia i ustawiasz na kanał Supli  
   }
 
Przykładowa implementacja odczytu z urządzenia i ustawienia na kanał jest tutaj: https://github.com/SUPLA/supla-arduino/ ... emV3.h#L53

Metody "setVoltage" itd. ustawiają wartości na kanał. Pełną listę dostępnych parametrów wraz z formatem liczb znajdziesz tutaj:
https://github.com/SUPLA/supla-arduino/ ... eter.h#L36
Pierwszy parametr to "faza" dla jednofazowych wpisuj "0", a dla trójfazowych trzeba ustawiać dla każdej fazy osobno. Fazy numerujemy 0, 1, 2.
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „Pomoc”