Browse Source

add diverse devices for export

pull/1155/head
DanielR92 2 years ago
parent
commit
d546c6a421
  1. 4
      src/config/settings.h
  2. 1
      src/platformio.ini
  3. 1
      src/web/RestApi.h
  4. 4
      src/web/html/setup.html
  5. 1
      src/web/web.h

4
src/config/settings.h

@ -139,6 +139,7 @@ typedef struct {
typedef struct {
char monitor_url[ZEXPORT_ADDR_LEN];
char json_path[ZEXPORT_ADDR_LEN];
uint8_t query_device; // 0 - Shelly, 1 - Tibber, 2 - other (rs232?)
uint8_t Iv; // saves the inverter that is used for regulation
bool enabled;
float power_avg;
@ -464,6 +465,7 @@ class settings {
mCfg.plugin.zexport.count_avg = 10;
mCfg.plugin.zexport.lastTime = millis(); // do not change!
mCfg.plugin.zexport.query_device = 0; // Standard shelly
mCfg.plugin.zexport.power_avg = 10;
mCfg.plugin.zexport.Iv = 0;
mCfg.plugin.zexport.max_power = 600; // Max 600W to stay safe
@ -691,6 +693,7 @@ class settings {
obj[F("json_path")] = mCfg.plugin.zexport.json_path;
obj[F("Iv")] = mCfg.plugin.zexport.Iv;
obj[F("power_avg")] = mCfg.plugin.zexport.power_avg;
obj[F("query_device")] = mCfg.plugin.zexport.query_device;
obj[F("count_avg")] = mCfg.plugin.zexport.count_avg;
obj[F("max_power")] = mCfg.plugin.zexport.max_power;
obj[F("total_power")] = mCfg.plugin.zexport.total_power;
@ -709,6 +712,7 @@ class settings {
getVal<double>(obj, F("max_power"), &mCfg.plugin.zexport.max_power);
getVal<float>(obj, F("power_avg"), &mCfg.plugin.zexport.power_avg);
getVal<float>(obj, F("query_device"), &mCfg.plugin.zexport.query_device);
getVal<double>(obj, F("total_power"), &mCfg.plugin.zexport.total_power);
}

1
src/platformio.ini

@ -145,6 +145,7 @@ build_flags = ${env.build_flags}
-DARDUINO_USB_MODE=1
monitor_filters =
esp32_exception_decoder, colorize
lib_deps = olliiiver/SML Parser @ ^0.28
[env:opendtufusion-dev]
platform = espressif32@6.4.0

1
src/web/RestApi.h

@ -521,6 +521,7 @@ class RestApi {
obj[F("max_power")] = (double)mConfig->plugin.zexport.max_power;
obj[F("Iv")] = (uint8_t)mConfig->plugin.zexport.Iv;
obj[F("power_avg")] = (float)mConfig->plugin.zexport.power_avg;
obj[F("query_device")] = (float)mConfig->plugin.zexport.query_device;
obj[F("total_power")] = (double)mConfig->plugin.zexport.total_power;
//obj[F("device")] = (uint8_t)mCfg.plugin.zexport.device;
}

4
src/web/html/setup.html

@ -301,6 +301,10 @@
<div class="row mb-3">
<div class="col-8 col-sm-3">Enable zero export</div>
<div class="col-4 col-sm-9"><input type="checkbox" name="en_zeroexport"/></div>
<p>Please select your favorite query interface:</p>
<input type="radio" id="html" name="device" value=0>Shelly<br>
<input type="radio" id="css" name="device" value=1>Tibber<br>
<input type="radio" id="javascript" name="device" value=2>Volkszähler
</div>
<div class="row mb-3">

1
src/web/web.h

@ -565,6 +565,7 @@ class Web {
mConfig->plugin.zexport.count_avg = request->arg("count_avg").toInt();
mConfig->plugin.zexport.max_power = request->arg("max_power").toDouble();
mConfig->plugin.zexport.power_avg = request->arg("power_avg").toFloat();
mConfig->plugin.zexport.query_device = request->arg("query_device").toInt();
mConfig->plugin.zexport.total_power = request->arg("total_power").toDouble();
if (request->arg("monitor_url") != "") {

Loading…
Cancel
Save