From 4bf7b11ad2db33081bfea4c274a493c18e06ec3c Mon Sep 17 00:00:00 2001 From: DanielR92 Date: Mon, 26 Sep 2022 18:27:04 +0200 Subject: [PATCH] Fix for reset yieldday and reboot... HM-1500 --- tools/esp8266/app.cpp | 2 +- tools/esp8266/hmDefines.h | 4 ++-- tools/esp8266/hmRadio.h | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/esp8266/app.cpp b/tools/esp8266/app.cpp index a2ffc7ec..5b6dddb4 100644 --- a/tools/esp8266/app.cpp +++ b/tools/esp8266/app.cpp @@ -570,7 +570,7 @@ void app::cbMqtt(char* topic, byte* payload, unsigned int length) { iv->devControlCmd = CleanState_LockAndAlarm; DPRINTLN(DBG_INFO, F("Clean lock & alarm (+ reboot) for inverter ") + String(iv->id) ); iv->devControlRequest = true; - break; + break; default: DPRINTLN(DBG_INFO, "Not implemented"); break; diff --git a/tools/esp8266/hmDefines.h b/tools/esp8266/hmDefines.h index 6763b50d..a6851bf2 100644 --- a/tools/esp8266/hmDefines.h +++ b/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, 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_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", "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_Q, UNIT_VA, CH0, 20, 2, 10 }, { 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_T, UNIT_C, CH0, 26, 2, 10 }, { FLD_ALARM_MES_CNT, UNIT_NONE, CH0, 28, 2, 1 }, { FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, { FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, diff --git a/tools/esp8266/hmRadio.h b/tools/esp8266/hmRadio.h index d392f8f4..ee1f0d6b 100644 --- a/tools/esp8266/hmRadio.h +++ b/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] ) ) & 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 cnt++;