Browse Source

Fix for reset yieldday and reboot... HM-1500

pull/313/head
DanielR92 3 years ago
parent
commit
4bf7b11ad2
  1. 2
      tools/esp8266/app.cpp
  2. 4
      tools/esp8266/hmDefines.h
  3. 10
      tools/esp8266/hmRadio.h

2
tools/esp8266/app.cpp

@ -570,7 +570,7 @@ void app::cbMqtt(char* topic, byte* payload, unsigned int length) {
iv->devControlCmd = CleanState_LockAndAlarm; iv->devControlCmd = CleanState_LockAndAlarm;
DPRINTLN(DBG_INFO, F("Clean lock & alarm (+ reboot) for inverter ") + String(iv->id) ); DPRINTLN(DBG_INFO, F("Clean lock & alarm (+ reboot) for inverter ") + String(iv->id) );
iv->devControlRequest = true; iv->devControlRequest = true;
break; break;
default: default:
DPRINTLN(DBG_INFO, "Not implemented"); DPRINTLN(DBG_INFO, "Not implemented");
break; break;

4
tools/esp8266/hmDefines.h

@ -24,7 +24,7 @@ const char* const units[] = {"V", "A", "W", "Wh", "kWh", "Hz", "°C", "%","Var",
enum {FLD_UDC = 0, FLD_IDC, FLD_PDC, FLD_YD, FLD_YW, FLD_YT, enum {FLD_UDC = 0, FLD_IDC, FLD_PDC, FLD_YD, FLD_YW, FLD_YT,
FLD_UAC, FLD_IAC, FLD_PAC, FLD_F, FLD_T, FLD_PF, FLD_EFF, FLD_UAC, FLD_IAC, FLD_PAC, FLD_F, FLD_T, FLD_PF, FLD_EFF,
FLD_IRR, FLD_Q,FLD_ALARM_MES_CNT,FLD_FW_VERSION,FLD_FW_BUILD_YEAR, FLD_IRR, FLD_Q,FLD_ALARM_MES_CNT,FLD_FW_VERSION,FLD_FW_BUILD_YEAR,
FLD_FW_BUILD_MONTH_DAY,FLD_HW_ID,FLD_ACT_PWR_LIMIT,FLD_LAST_ALARM_CODE}; FLD_FW_BUILD_MONTH_DAY,FLD_HW_ID,FLD_ACT_PWR_LIMIT,FLD_LAST_ALARM_CODE};
const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", "YieldTotal", const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", "YieldTotal",
"U_AC", "I_AC", "P_AC", "F_AC", "Temp", "PF_AC", "Efficiency", "Irradiation","Q_AC", "U_AC", "I_AC", "P_AC", "F_AC", "Temp", "PF_AC", "Efficiency", "Irradiation","Q_AC",
@ -124,8 +124,8 @@ const byteAssign_t hm1chAssignment[] = {
{ FLD_PAC, UNIT_W, CH0, 18, 2, 10 }, { FLD_PAC, UNIT_W, CH0, 18, 2, 10 },
{ FLD_Q, UNIT_VA, CH0, 20, 2, 10 }, { FLD_Q, UNIT_VA, CH0, 20, 2, 10 },
{ FLD_F, UNIT_HZ, CH0, 16, 2, 100 }, { FLD_F, UNIT_HZ, CH0, 16, 2, 100 },
{ FLD_T, UNIT_C, CH0, 26, 2, 10 },
{ FLD_PF, UNIT_NONE,CH0, 24, 2, 1000 }, { FLD_PF, UNIT_NONE,CH0, 24, 2, 1000 },
{ FLD_T, UNIT_C, CH0, 26, 2, 10 },
{ FLD_ALARM_MES_CNT, UNIT_NONE, CH0, 28, 2, 1 }, { FLD_ALARM_MES_CNT, UNIT_NONE, CH0, 28, 2, 1 },
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, { FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC },
{ FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, { FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC },

10
tools/esp8266/hmRadio.h

@ -177,12 +177,12 @@ class HmRadio {
mTxBuf[10 + (++cnt)] = ((data[1] ) >> 8) & 0xff; // setting for persistens handlings mTxBuf[10 + (++cnt)] = ((data[1] ) >> 8) & 0xff; // setting for persistens handlings
mTxBuf[10 + (++cnt)] = ((data[1] ) ) & 0xff; // setting for persistens handling mTxBuf[10 + (++cnt)] = ((data[1] ) ) & 0xff; // setting for persistens handling
} }
// crc control data
uint16_t crc = Ahoy::crc16(&mTxBuf[10], cnt+1);
mTxBuf[10 + (++cnt)] = (crc >> 8) & 0xff;
mTxBuf[10 + (++cnt)] = (crc ) & 0xff;
} }
// crc control data
uint16_t crc = Ahoy::crc16(&mTxBuf[10], cnt+1);
mTxBuf[10 + (++cnt)] = (crc >> 8) & 0xff;
mTxBuf[10 + (++cnt)] = (crc ) & 0xff;
// crc over all // crc over all
cnt++; cnt++;

Loading…
Cancel
Save