mirror of
https://github.com/xoseperez/espurna.git
synced 2026-03-21 23:57:06 +01:00
Add a separate incremental energy counter into the Domoticz MQTT interface
This commit is contained in:
@@ -158,8 +158,8 @@ void powerMonitorLoop() {
|
||||
snprintf(power, 6, "%d", _power);
|
||||
|
||||
double energy_inc = (double) _power * EMON_INTERVAL * EMON_MEASUREMENTS / 1000.0 / 3600.0;
|
||||
char energy_buf[10];
|
||||
dtostrf(energy_inc, 9, 2, energy_buf);
|
||||
char energy_buf[11];
|
||||
dtostrf(energy_inc, 11, 3, energy_buf);
|
||||
char *e = energy_buf;
|
||||
while ((unsigned char) *e == ' ') ++e;
|
||||
|
||||
@@ -171,6 +171,8 @@ void powerMonitorLoop() {
|
||||
char buffer[20];
|
||||
snprintf(buffer, 20, "%s;%s", power, e);
|
||||
domoticzSend("dczPowIdx", 0, buffer);
|
||||
snprintf(buffer, 20, "%s", e);
|
||||
domoticzSend("dczEnergyIdx", 0, buffer);
|
||||
snprintf(buffer, 20, "%d", voltage);
|
||||
domoticzSend("dczVoltIdx", 0, buffer);
|
||||
snprintf(buffer, 20, "%s", String(current).c_str());
|
||||
|
||||
@@ -219,8 +219,8 @@ void powLoop() {
|
||||
if (factor > 100) factor = 100;
|
||||
|
||||
double energy_inc = (double) power * POW_REPORT_EVERY * POW_UPDATE_INTERVAL / 1000.0 / 3600.0;
|
||||
char energy_buf[10];
|
||||
dtostrf(energy_inc, 9, 2, energy_buf);
|
||||
char energy_buf[11];
|
||||
dtostrf(energy_inc, 11, 3, energy_buf);
|
||||
char *e = energy_buf;
|
||||
while ((unsigned char) *e == ' ') ++e;
|
||||
|
||||
@@ -237,6 +237,8 @@ void powLoop() {
|
||||
char buffer[20];
|
||||
snprintf(buffer, 20, "%d;%s", power, e);
|
||||
domoticzSend("dczPowIdx", 0, buffer);
|
||||
snprintf(buffer, 20, "%s", e);
|
||||
domoticzSend("dczEnergyIdx", 0, buffer);
|
||||
snprintf(buffer, 20, "%d", voltage);
|
||||
domoticzSend("dczVoltIdx", 0, buffer);
|
||||
snprintf(buffer, 20, "%s", String(current).c_str());
|
||||
|
||||
@@ -350,12 +350,14 @@ void _wsStart(uint32_t client_id) {
|
||||
|
||||
#if ENABLE_EMON
|
||||
root["dczPowIdx"] = getSetting("dczPowIdx").toInt();
|
||||
root["dczEnergyIdx"] = getSetting("dczEnergyIdx").toInt();
|
||||
root["dczVoltIdx"] = getSetting("dczVoltIdx").toInt();
|
||||
root["dczCurrentIdx"] = getSetting("dczCurrentIdx").toInt();
|
||||
#endif
|
||||
|
||||
#if ENABLE_POW
|
||||
root["dczPowIdx"] = getSetting("dczPowIdx").toInt();
|
||||
root["dczEnergyIdx"] = getSetting("dczEnergyIdx").toInt();
|
||||
root["dczVoltIdx"] = getSetting("dczVoltIdx").toInt();
|
||||
root["dczCurrentIdx"] = getSetting("dczCurrentIdx").toInt();
|
||||
#endif
|
||||
|
||||
@@ -409,6 +409,12 @@
|
||||
<div class="pure-u-1 pure-u-sm-5-8 hint center">Set to 0 to disable notifications.</div>
|
||||
</div>
|
||||
|
||||
<div class="pure-g module module-pow module-emon">
|
||||
<label class="pure-u-1 pure-u-sm-1-4" for="dczEnergyIdx">Energy increment IDX</label>
|
||||
<div class="pure-u-1 pure-u-sm-1-8"><input class="pure-u-sm-23-24" name="dczEnergyIdx" type="number" min="0" tabindex="36" data="0" /></div>
|
||||
<div class="pure-u-1 pure-u-sm-5-8 hint center">Set to 0 to disable notifications.</div>
|
||||
</div>
|
||||
|
||||
<div class="pure-g module module-pow module-emon">
|
||||
<label class="pure-u-1 pure-u-sm-1-4" for="dczVoltIdx">Voltage IDX</label>
|
||||
<div class="pure-u-1 pure-u-sm-1-8"><input class="pure-u-sm-23-24" name="dczVoltIdx" type="number" min="0" tabindex="36" data="0" /></div>
|
||||
|
||||
Reference in New Issue
Block a user