Browse Source

0.8.40

* fix display of sunrise and sunset in `/system` #1308
* fix MqTT set power limit #1313
pull/1155/head
lumapu 1 year ago
parent
commit
3dd4997094
  1. 6
      src/CHANGES.md
  2. 2
      src/defines.h
  3. 2
      src/hm/Communication.h
  4. 10
      src/publisher/pubMqtt.h
  5. 4
      src/web/html/system.html

6
src/CHANGES.md

@ -1,9 +1,13 @@
# Development Changes # Development Changes
## 0.8.40 - 2024-01-02
* fix display of sunrise and sunset in `/system` #1308
* fix MqTT set power limit #1313
## 0.8.39 - 2024-01-01 ## 0.8.39 - 2024-01-01
* fix MqTT dis_night_comm in the morning #1309 #1286 * fix MqTT dis_night_comm in the morning #1309 #1286
* seperated offset for sunrise and sunset #1308 * seperated offset for sunrise and sunset #1308
* **BREAKING CHANGE**: powerlimit (active power control) now has one decimal place (MqTT / API) #1199 * powerlimit (active power control) now has one decimal place (MqTT / API) #1199
* merge Prometheus metrics fix #1310 * merge Prometheus metrics fix #1310
* merge MI grid profile request #1306 * merge MI grid profile request #1306
* merge update documentation / readme #1305 * merge update documentation / readme #1305

2
src/defines.h

@ -13,7 +13,7 @@
//------------------------------------- //-------------------------------------
#define VERSION_MAJOR 0 #define VERSION_MAJOR 0
#define VERSION_MINOR 8 #define VERSION_MINOR 8
#define VERSION_PATCH 39 #define VERSION_PATCH 40
//------------------------------------- //-------------------------------------
typedef struct { typedef struct {

2
src/hm/Communication.h

@ -397,7 +397,7 @@ class Communication : public CommQueue<> {
DBGPRINT(F("has ")); DBGPRINT(F("has "));
if(!accepted) DBGPRINT(F("not ")); if(!accepted) DBGPRINT(F("not "));
DBGPRINT(F("accepted power limit set point ")); DBGPRINT(F("accepted power limit set point "));
DBGPRINT(String(q->iv->powerLimit[0]/10)); DBGPRINT(String((float)q->iv->powerLimit[0]/10.0));
DBGPRINT(F(" with PowerLimitControl ")); DBGPRINT(F(" with PowerLimitControl "));
DBGPRINTLN(String(q->iv->powerLimit[1])); DBGPRINTLN(String(q->iv->powerLimit[1]));
q->iv->actPowerLimit = 0xffff; // unknown, readback current value q->iv->actPowerLimit = 0xffff; // unknown, readback current value

10
src/publisher/pubMqtt.h

@ -310,15 +310,18 @@ class PubMqtt {
char *pyld = new char[len + 1]; char *pyld = new char[len + 1];
strncpy(pyld, (const char*)payload, len); strncpy(pyld, (const char*)payload, len);
pyld[len] = '\0'; pyld[len] = '\0';
if(NULL == strstr(topic, "limit"))
root[F("val")] = atoi(pyld); root[F("val")] = atoi(pyld);
else
root[F("val")] = (int)(atof(pyld) * 10.0f);
if(pyld[len-1] == 'W') if(pyld[len-1] == 'W')
limitAbs = true; limitAbs = true;
delete[] pyld; delete[] pyld;
} }
const char *p = topic + strlen(mCfgMqtt->topic); const char *p = topic + strlen(mCfgMqtt->topic);
uint8_t pos = 0; uint8_t pos = 0, elm = 0;
uint8_t elm = 0;
char tmp[30]; char tmp[30];
while(1) { while(1) {
@ -333,8 +336,7 @@ class PubMqtt {
root[F("cmd")] = F("limit_nonpersistent_absolute"); root[F("cmd")] = F("limit_nonpersistent_absolute");
else else
root[F("cmd")] = F("limit_nonpersistent_relative"); root[F("cmd")] = F("limit_nonpersistent_relative");
} } else
else
root[F("cmd")] = String(tmp); root[F("cmd")] = String(tmp);
break; break;
case 3: root[F("id")] = atoi(tmp); break; case 3: root[F("id")] = atoi(tmp); break;

4
src/web/html/system.html

@ -108,8 +108,8 @@
ml("tbody", {}, [ ml("tbody", {}, [
tr("Sunrise", new Date(obj.ts_sunrise * 1000).toLocaleString('de-DE')), tr("Sunrise", new Date(obj.ts_sunrise * 1000).toLocaleString('de-DE')),
tr("Sunset", new Date(obj.ts_sunset * 1000).toLocaleString('de-DE')), tr("Sunset", new Date(obj.ts_sunset * 1000).toLocaleString('de-DE')),
tr("Communication start", new Date((obj.ts_sunrise - obj.ts_offset) * 1000).toLocaleString('de-DE')), tr("Communication start", new Date((obj.ts_sunrise - obj.ts_offsSr) * 1000).toLocaleString('de-DE')),
tr("Communication stop", new Date((obj.ts_sunset + obj.ts_offset) * 1000).toLocaleString('de-DE')), tr("Communication stop", new Date((obj.ts_sunset + obj.ts_offsSs) * 1000).toLocaleString('de-DE')),
tr("Night behaviour", badge(obj.disNightComm, ((obj.disNightComm) ? "not" : "") + " communicating", "warning")) tr("Night behaviour", badge(obj.disNightComm, ((obj.disNightComm) ? "not" : "") + " communicating", "warning"))
]) ])
) )

Loading…
Cancel
Save