mirror of
https://github.com/lumapu/ahoy.git
synced 2025-07-17 00:15:15 +02:00
0.8.46
* improved communication
This commit is contained in:
parent
1aa14ebf08
commit
dd225bdf79
5 changed files with 41 additions and 40 deletions
|
@ -1,5 +1,8 @@
|
|||
# Development Changes
|
||||
|
||||
## 0.8.46 - 2024-01-06
|
||||
* improved communication
|
||||
|
||||
## 0.8.45 - 2024-01-05
|
||||
* fix MqTT total values #1326
|
||||
* start implementing a wizard for initial (WiFi) configuration #1199
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
//-------------------------------------
|
||||
#define VERSION_MAJOR 0
|
||||
#define VERSION_MINOR 8
|
||||
#define VERSION_PATCH 45
|
||||
#define VERSION_PATCH 46
|
||||
|
||||
//-------------------------------------
|
||||
typedef struct {
|
||||
|
|
|
@ -118,7 +118,7 @@ class Communication : public CommQueue<> {
|
|||
mIsRetransmit = false;
|
||||
setAttempt();
|
||||
if((q->cmd == AlarmData) || (q->cmd == GridOnProFilePara))
|
||||
incrAttempt(q->cmd == AlarmData? 5 : 3);
|
||||
incrAttempt(15);
|
||||
|
||||
mState = States::WAIT;
|
||||
break;
|
||||
|
|
|
@ -191,19 +191,18 @@ class Inverter {
|
|||
if(mNextLive)
|
||||
cb(RealTimeRunData_Debug, false); // get live data
|
||||
else {
|
||||
mNextLive = true;
|
||||
if(actPowerLimit == 0xffff)
|
||||
cb(SystemConfigPara, false); // power limit info
|
||||
else if(InitDataState != devControlCmd) {
|
||||
cb(devControlCmd, false); // custom command which was received by API
|
||||
devControlCmd = InitDataState;
|
||||
mGetLossInterval = 1;
|
||||
} else if((alarmLastId != alarmMesIndex) && (alarmMesIndex != 0))
|
||||
cb(AlarmData, false); // get last alarms
|
||||
else if(0 == getFwVersion())
|
||||
} else if(0 == getFwVersion())
|
||||
cb(InverterDevInform_All, false); // get firmware version
|
||||
else if(0 == getHwVersion())
|
||||
cb(InverterDevInform_Simple, false); // get hardware version
|
||||
else if((alarmLastId != alarmMesIndex) && (alarmMesIndex != 0))
|
||||
cb(AlarmData, false); // get last alarms
|
||||
else if((0 == mGridLen) && generalConfig->readGrid) { // read grid profile
|
||||
cb(GridOnProFilePara, false);
|
||||
} else if (mGetLossInterval > AHOY_GET_LOSS_INTERVAL) { // get loss rate
|
||||
|
@ -339,28 +338,27 @@ class Inverter {
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (rec->assign == InfoAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add info");
|
||||
// eg. fw version ...
|
||||
isConnected = true;
|
||||
else {
|
||||
mNextLive = true;
|
||||
if (rec->assign == InfoAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add info");
|
||||
// eg. fw version ...
|
||||
isConnected = true;
|
||||
} else if (rec->assign == SimpleInfoAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add simple info");
|
||||
// eg. hw version ...
|
||||
} else if (rec->assign == SystemConfigParaAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add config");
|
||||
if (getPosByChFld(0, FLD_ACT_ACTIVE_PWR_LIMIT, rec) == pos){
|
||||
actPowerLimit = rec->record[pos];
|
||||
DPRINT(DBG_DEBUG, F("Inverter actual power limit: "));
|
||||
DPRINTLN(DBG_DEBUG, String(actPowerLimit, 1));
|
||||
}
|
||||
} else if (rec->assign == AlarmDataAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add alarm");
|
||||
} else
|
||||
DPRINTLN(DBG_WARN, F("add with unknown assignment"));
|
||||
}
|
||||
else if (rec->assign == SimpleInfoAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add simple info");
|
||||
// eg. hw version ...
|
||||
}
|
||||
else if (rec->assign == SystemConfigParaAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add config");
|
||||
if (getPosByChFld(0, FLD_ACT_ACTIVE_PWR_LIMIT, rec) == pos){
|
||||
actPowerLimit = rec->record[pos];
|
||||
DPRINT(DBG_DEBUG, F("Inverter actual power limit: "));
|
||||
DPRINTLN(DBG_DEBUG, String(actPowerLimit, 1));
|
||||
}
|
||||
}
|
||||
else if (rec->assign == AlarmDataAssignment) {
|
||||
DPRINTLN(DBG_DEBUG, "add alarm");
|
||||
}
|
||||
else
|
||||
DPRINTLN(DBG_WARN, F("add with unknown assignment"));
|
||||
}
|
||||
else
|
||||
DPRINTLN(DBG_ERROR, F("addValue: assignment not found with cmd 0x"));
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
#define __DISPLAY_DATA__
|
||||
|
||||
struct DisplayData {
|
||||
const char *version=nullptr;
|
||||
float totalPower=0.0f; // indicate current power (W)
|
||||
float totalYieldDay=0.0f; // indicate day yield (Wh)
|
||||
float totalYieldTotal=0.0f; // indicate total yield (kWh)
|
||||
uint32_t utcTs=0; // indicate absolute timestamp (utc unix time). 0 = time is not synchonized
|
||||
uint8_t nrProducing=0; // indicate number of producing inverters
|
||||
uint8_t nrSleeping=0; // indicate number of sleeping inverters
|
||||
bool WifiSymbol = false; // indicate if WiFi is connected
|
||||
bool RadioSymbol = false; // indicate if radio module is connecting and working
|
||||
bool MQTTSymbol = false; // indicate if MQTT is connected
|
||||
int8_t WifiRSSI=SCHAR_MIN; // indicate RSSI value for WiFi
|
||||
int8_t RadioRSSI=SCHAR_MIN; // indicate RSSI value for radio
|
||||
IPAddress ipAddress; // indicate ip adress of ahoy
|
||||
const char *version=nullptr;
|
||||
float totalPower=0.0f; // indicate current power (W)
|
||||
float totalYieldDay=0.0f; // indicate day yield (Wh)
|
||||
float totalYieldTotal=0.0f; // indicate total yield (kWh)
|
||||
uint32_t utcTs=0; // indicate absolute timestamp (utc unix time). 0 = time is not synchonized
|
||||
uint8_t nrProducing=0; // indicate number of producing inverters
|
||||
uint8_t nrSleeping=0; // indicate number of sleeping inverters
|
||||
bool WifiSymbol = false; // indicate if WiFi is connected
|
||||
bool RadioSymbol = false; // indicate if radio module is connecting and working
|
||||
bool MQTTSymbol = false; // indicate if MQTT is connected
|
||||
int8_t WifiRSSI=SCHAR_MIN; // indicate RSSI value for WiFi
|
||||
int8_t RadioRSSI=SCHAR_MIN; // indicate RSSI value for radio
|
||||
IPAddress ipAddress; // indicate ip adress of ahoy
|
||||
};
|
||||
|
||||
#endif /*__DISPLAY_DATA__*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue