Licznik energii elektrycznej EPEVER - nowa biblioteka

User avatar
Duch__
Posts: 2199
Joined: Wed Aug 24, 2016 7:26 pm
Location: Opole
Been thanked: 6 times

Post

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.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

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

Code: Select all

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.
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Pomoc”