mirror of
https://github.com/lumapu/ahoy.git
synced 2025-08-06 09:58:23 +02:00
parent
b4ba35e6ab
commit
617cf0a92a
3 changed files with 42 additions and 38 deletions
|
@ -1,8 +1,11 @@
|
||||||
# Development Changes
|
# Development Changes
|
||||||
|
|
||||||
|
## 0.8.45 - 2024-01-05
|
||||||
|
* fix MqTT total values #1326
|
||||||
|
|
||||||
## 0.8.44 - 2024-01-05
|
## 0.8.44 - 2024-01-05
|
||||||
* fix MqTT transmission of data #1326
|
* fix MqTT transmission of data #1326
|
||||||
* live data is read much earlier / faster and more often
|
* live data is read much earlier / faster and more often #1272
|
||||||
|
|
||||||
## 0.8.43 - 2024-01-04
|
## 0.8.43 - 2024-01-04
|
||||||
* fix display of sunrise in `/system` #1308
|
* fix display of sunrise in `/system` #1308
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
//-------------------------------------
|
//-------------------------------------
|
||||||
#define VERSION_MAJOR 0
|
#define VERSION_MAJOR 0
|
||||||
#define VERSION_MINOR 8
|
#define VERSION_MINOR 8
|
||||||
#define VERSION_PATCH 44
|
#define VERSION_PATCH 45
|
||||||
|
|
||||||
//-------------------------------------
|
//-------------------------------------
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -133,55 +133,56 @@ class PubMqttIvData {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MqttSentStatus::LAST_SUCCESS_SENT == rec->mqttSentStatus) {
|
if(mPos < rec->length) {
|
||||||
if(mPos < rec->length) {
|
bool retained = false;
|
||||||
bool retained = false;
|
if (mCmd == RealTimeRunData_Debug) {
|
||||||
if (mCmd == RealTimeRunData_Debug) {
|
if((FLD_YT == rec->assign[mPos].fieldId) || (FLD_YD == rec->assign[mPos].fieldId))
|
||||||
if((FLD_YT == rec->assign[mPos].fieldId) || (FLD_YD == rec->assign[mPos].fieldId))
|
retained = true;
|
||||||
retained = true;
|
|
||||||
|
|
||||||
// calculate total values for RealTimeRunData_Debug
|
// calculate total values for RealTimeRunData_Debug
|
||||||
if (CH0 == rec->assign[mPos].ch) {
|
if (CH0 == rec->assign[mPos].ch) {
|
||||||
if(mIv->getStatus() > InverterStatus::STARTING) {
|
if(mIv->getStatus() > InverterStatus::STARTING) {
|
||||||
if(mIv->config->add2Total) {
|
if(mIv->config->add2Total) {
|
||||||
mTotalFound = true;
|
mTotalFound = true;
|
||||||
switch (rec->assign[mPos].fieldId) {
|
switch (rec->assign[mPos].fieldId) {
|
||||||
case FLD_PAC:
|
case FLD_PAC:
|
||||||
mTotal[0] += mIv->getValue(mPos, rec);
|
mTotal[0] += mIv->getValue(mPos, rec);
|
||||||
break;
|
break;
|
||||||
case FLD_YT:
|
case FLD_YT:
|
||||||
mTotal[1] += mIv->getValue(mPos, rec);
|
mTotal[1] += mIv->getValue(mPos, rec);
|
||||||
break;
|
break;
|
||||||
case FLD_YD: {
|
case FLD_YD: {
|
||||||
float val = mIv->getValue(mPos, rec);
|
float val = mIv->getValue(mPos, rec);
|
||||||
if(0 == val) // inverter restarted during day
|
if(0 == val) // inverter restarted during day
|
||||||
mSendTotalYd = false;
|
mSendTotalYd = false;
|
||||||
else
|
else
|
||||||
mTotal[2] += val;
|
mTotal[2] += val;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case FLD_PDC:
|
|
||||||
mTotal[3] += mIv->getValue(mPos, rec);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
case FLD_PDC:
|
||||||
|
mTotal[3] += mIv->getValue(mPos, rec);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else
|
}
|
||||||
mAllTotalFound = false;
|
} else
|
||||||
}
|
mAllTotalFound = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (MqttSentStatus::LAST_SUCCESS_SENT == rec->mqttSentStatus) {
|
||||||
uint8_t qos = (FLD_ACT_ACTIVE_PWR_LIMIT == rec->assign[mPos].fieldId) ? QOS_2 : QOS_0;
|
uint8_t qos = (FLD_ACT_ACTIVE_PWR_LIMIT == rec->assign[mPos].fieldId) ? QOS_2 : QOS_0;
|
||||||
snprintf(mSubTopic, 32 + MAX_NAME_LENGTH, "%s/ch%d/%s", mIv->config->name, rec->assign[mPos].ch, fields[rec->assign[mPos].fieldId]);
|
snprintf(mSubTopic, 32 + MAX_NAME_LENGTH, "%s/ch%d/%s", mIv->config->name, rec->assign[mPos].ch, fields[rec->assign[mPos].fieldId]);
|
||||||
snprintf(mVal, 40, "%g", ah::round3(mIv->getValue(mPos, rec)));
|
snprintf(mVal, 40, "%g", ah::round3(mIv->getValue(mPos, rec)));
|
||||||
mPublish(mSubTopic, mVal, retained, qos);
|
mPublish(mSubTopic, mVal, retained, qos);
|
||||||
mPos++;
|
}
|
||||||
} else {
|
mPos++;
|
||||||
|
} else {
|
||||||
|
if (MqttSentStatus::LAST_SUCCESS_SENT == rec->mqttSentStatus) {
|
||||||
sendRadioStat(rec->length);
|
sendRadioStat(rec->length);
|
||||||
rec->mqttSentStatus = MqttSentStatus::DATA_SENT;
|
rec->mqttSentStatus = MqttSentStatus::DATA_SENT;
|
||||||
mState = FIND_NXT_IV;
|
|
||||||
}
|
}
|
||||||
} else
|
|
||||||
mState = FIND_NXT_IV;
|
mState = FIND_NXT_IV;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void sendRadioStat(uint8_t start) {
|
inline void sendRadioStat(uint8_t start) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue