Browse Source

handling of reactive power limit

pull/134/head
Andreas Schiffler 2 years ago
parent
commit
406e7fdb8f
  1. 5
      tools/esp8266/app.cpp
  2. 2
      tools/esp8266/hmRadio.h

5
tools/esp8266/app.cpp

@ -295,14 +295,15 @@ void app::loop(void) {
iv->devControlRequest = false;
switch (p->packet[12]){
case ActivePowerContr:
if (iv->devControlCmd == ActivePowerContr){ // ok inverter accepted the set point copy it to dtu eeprom
if (iv->devControlCmd >= ActivePowerContr && iv->devControlCmd <= PFSet){ // ok inverter accepted the set point copy it to dtu eeprom
if (iv->powerLimit[1]>0){ // User want to have it persistent
mEep->write(ADDR_INV_PWR_LIM + iv->id * 2,iv->powerLimit[0]);
updateCrc();
mEep->commit();
DPRINTLN(DBG_INFO, F("Inverter has accepted power limit set point, written to dtu eeprom"));
} else {
DPRINTLN(DBG_INFO, F("Inverter has accepted power limit set point"));
}
DPRINTLN(DBG_INFO, F("Inverter has accepted power limit set point"));
iv->devControlCmd = Init;
}
break;

2
tools/esp8266/hmRadio.h

@ -169,7 +169,7 @@ class HmRadio {
int cnt = 0;
mTxBuf[10] = cmd; // cmd --> 0x0b => Type_ActivePowerContr, 0 on, 1 off, 2 restart, 12 reactive power, 13 power factor
mTxBuf[10 + (++cnt)] = 0x00;
if (cmd == ActivePowerContr){
if (cmd >= ActivePowerContr && cmd <= PFSet){
// 4 bytes control data
// Power Limit fix point 10 eg. 30 W --> 0d300 = 0x012c
// -1 = 0xffff --> no limit

Loading…
Cancel
Save