Commit Graph

2062 Commits

Author SHA1 Message Date
helgeerbe
587b2dc553 add webapp 2023-07-31 14:21:24 +02:00
Bernhard Kirchen
2bce8311a7
MQTT verbose logging fixes (#341)
* MQTT verbose logging: fix typo

this typo caused that verbose logging was always disabled for MQTT and
could not be enabled.

* webapp status: show MQTT verbose logging setting
2023-07-31 14:16:35 +02:00
Bernhard Kirchen
6b425d96b0
PowerMeter fixes (#342)
* PowerMeter: gracefully handle non-float MQTT values

* PowerMeter: update _lastPowerMeterUpdate conservatively

update the timestampt only if the topic actually matched any
subscription and if the value could be parsed as a float.

* PowerMeter: unsubscribe before subscribing

* PowerMeter: organize subscriptions in a map

this allows for a slightly more elegant code and reduced amount of code
overall.

* PowerMeter: clean up header

* move private methods to private section of class declaration.
* remove unused member variable.
2023-07-31 14:16:06 +02:00
Bernhard Kirchen
9bc334e368
reset docs/MQTT_Topics.md to upstream version (#343)
MQTT topics that are specific to OpenDTU-OnBattery shall only be
documented once. They are documented in the project's wiki already.
2023-07-31 14:14:32 +02:00
helgeerbe
43e836ac41 resolve merge conflict with upstream/master 2023-07-24 13:23:50 +02:00
helgeerbe
2440028d38 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-07-24 13:16:15 +02:00
MalteSchm
18c464e524
SoC based threshold detection fix (#320) 2023-07-24 13:03:12 +02:00
helgeerbe
8b01fa07cc Replace Readme with wiki home page 2023-07-24 13:02:12 +02:00
Thomas Basler
92c9544bb3 webapp: add app.js.gz 2023-07-22 20:25:55 +02:00
Thomas Basler
1146e15ea6 Move units from description to postfix for AP timeout 2023-07-22 18:30:18 +02:00
Martin Dummer
8bfa7e530c Feature: Admin AccessPoint Timeout now configurable
Make the administrative accesspoint timeout configurable. The default
value is 3 minutes, values from 0-99999 are possible, where 0 means
infinite (no timeout).

Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-07-22 18:14:07 +02:00
Thomas Basler
2e25fdcf8f Formatting style in platformio.ini 2023-07-22 18:08:34 +02:00
Thomas Basler
a68c553d27 Code formatting without functional changes 2023-07-22 18:07:03 +02:00
Thomas Basler
658a42db80 Apply code formatter without functional changes 2023-07-22 18:00:41 +02:00
Thomas Basler
a06a56a490 Harden config parser by defining right unsigned data type 2023-07-22 17:41:56 +02:00
Thomas Basler
736220c80d Reorder config struct components 2023-07-22 17:28:58 +02:00
Thomas Basler
0d5b938328 Update olikraus/U8g2 from 2.34.22 to 2.35.3 2023-07-22 16:01:19 +02:00
Thomas Basler
cc0af372ef webapp: Update dependencies 2023-07-22 15:53:51 +02:00
Thomas Basler
eaacce7483 Feature: Show error in webapp if pin_mapping.json contains syntax errors 2023-07-22 15:51:16 +02:00
Thomas Basler
972dea297b Fix: Prevent runtime errors in webapp when invalid pin_mapping.json is provided 2023-07-22 15:30:40 +02:00
Thomas Basler
bf4dc56cb8 Fix: Reboot loop if negative display pins and type where provided
Fix #1163
2023-07-21 19:02:18 +02:00
Thomas Basler
9dbeec3a31 Fix: Set WiFi setScanMethod and setSortMethod also on first connect 2023-07-20 23:44:09 +02:00
Phantomias2006
e06740fbb8
Add data age at battery MQTT (#322)
* Add data age at battery MQTT

* Update README.md

typo

* Update MQTT_Topics.md

typo

* Update PylontechCanReceiver.cpp

typo
2023-07-19 09:47:37 +02:00
helgeerbe
cea1f94b5e add webapp 2023-07-18 10:01:36 +02:00
Bernhard Kirchen
f0def2ae89
Selective verbosity (#318)
* DPL: implement verbose logging switch

* MQTT: implement verbose logging switch

* power meter: implement verbose logging switch

* Hoymiles lib: implement verbose logging switch

* cpp linting: "final" makes "virtual" and "override" redundant

... however, using only "final" is not as verbose.
2023-07-18 09:57:03 +02:00
Phantomias2006
a7da000345
Feature: set Huawei offline parameters via MQTT (#315)
* Add Huawei offline parameters via MQTT

* Update README.md

Correction of the docu

* Update MQTT_Topics.md

Correction of the docu
2023-07-18 09:52:31 +02:00
Martin
0dd1566dc6
Fix: WebApp Live-View: adjust window-title and header (#317)
adjust window-title and header from OpenDTU to OpenDTU-onBattery
Additionally change orientation of battery symbol to vertically centered
(looks nicer)

Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-07-18 09:51:59 +02:00
Martin
c393e52185
Feature: add Home Assistant MQTT discovery for Pylontech battery (#314)
When OpenDTU has a Pylontech CAN Bus Battery connected and enabled, this
patch adds the discovery routine for Home Assistant

Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-07-17 09:50:58 +02:00
Bernhard Kirchen
cbc99d715f
DPL: increase backoff while inverter is kept shut down (#310)
if the new calculated power limit is below the minimum power limit
setting, the inverter is shut down. the shutdown() function is called
every time this condition is detected, which is also true if the
inverter is kept shut down for longer. that happens while the battery
is charging in particular (solar passthrough off). there are other
cases.

in such cases we still want to get into the DPL status "stable". to be
able to determine this stable state, we must know if the call to
shutdown did actually initiate a shutdown or if the inverter is already
shut down.

we then can forward this "changed" or "not changed" info up the call
chain, where the loop() will know that the system is actually stable.
2023-07-17 09:40:18 +02:00
helgeerbe
f68f68be77 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-07-13 12:19:21 +02:00
Thomas Basler
3b02ffe7a8 webapp: Update dependencies 2023-07-12 18:40:23 +02:00
Thomas Basler
cf91839838 Upgrade espMqttClient from 1.4.3 to 1.4.4 2023-07-12 18:38:35 +02:00
helgeerbe
633ef88296 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-07-12 13:45:19 +02:00
Bernhard Kirchen
f3297930b5
DPL: account for solar passthrough losses (#307)
* fix another fixable "passtrough" typo

the typo in the config's identifier is not changed to preserve
compatibility while not spending the effort to migrate the setting.

* webapp language: prefer SoC over SOC

* DPL: implement solar passthrough loss factor

in (full) solar passthrough mode, the inverter output power is coupled
to the charge controler output power. the inverter efficiency is already
accounted for. however, the battery might still be slowly discharged for
two reasons: (1) line losses are not accounted for and (2) the inverter
outputs a little bit more than permitted by the power limit.

this is undesirable since the battery is significantly drained if solar
passthrough is active for a longer period of time. also, when using full
solar passthrough and a battery communication interface, the SoC will
slowly degrade to a value below the threshold value for full solar
passthrough. this makes the system switch from charging the battery
(potentially rapidly) to discharging the battery slowly. this switch
might happen in rather fast succession. that's effectively
trickle-charging the battery.

instead, this new factor helps to account for line losses between the
solar charge controller and the inverter, such that the battery is
actually not involved in solar passthrough. the value can be increased
until it is observed that the battery is not discharging when solar
passthrough is active.
2023-07-12 13:20:37 +02:00
MalteSchm
95d7ac7adf
Disable debug mode, increasing power threshold for active channel detection (#301) 2023-07-12 13:19:24 +02:00
Thomas Basler
0d07b1aa4a webapp: add app.js.gz 2023-07-10 20:45:51 +02:00
Thomas Basler
56e2b462fb Update espressif32 from 6.3.1 to 6.3.2 2023-07-10 20:26:07 +02:00
Thomas Basler
b8c75b02a0 Merge branch 'pr1003' into dev 2023-07-10 19:11:54 +02:00
Stephan
1871a9a692 use FSPI for esp32-c3 and revise device profiles 2023-07-10 19:04:13 +02:00
Thomas Basler
99b316587e webapp: Update dependencies 2023-07-10 18:34:55 +02:00
Thomas Basler
fe3d6588bc Feature: Turn off LED 1 if no inverters are enabled for polling
This means that e.g. at night, when polling at night is disabled, LED 1 will be turned off now.
2023-07-10 18:31:04 +02:00
Thomas Basler
0ffbba0cf5 Fix: Allow sending of ChannelChangeCommand even if EnableCommands is disabled
This is required to successfull move the inverter to another frequency and then polling it. Without this command its not even possible to poll a inverter.

Fixes #1127
2023-07-10 18:30:59 +02:00
helgeerbe
1d559c1c40 add webapp 2023-07-09 17:11:09 +02:00
MalteSchm
475aab1e9a
floating point input (#302) 2023-07-09 17:09:33 +02:00
Martin
cdf5c85510
fix: Home Assistant MQTT-Auto-Discovery with VE.Direct (#297)
In Home Assistant, when Home Assistant MQTT-Auto-Discovery is active,
almost all Sensors of the auto-discovered Victron device in Home
Assistant become "unavailable" after a short time - except those
Sensors with frequent changes like battery voltage or panel voltage.

This patch introduces regular mqtt updates for all VE.Direct sensors
when MQTT-Auto-Discovery is enabled.

Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
2023-07-09 17:08:50 +02:00
Bernhard Kirchen
23ff4ef22a
DPL: do not use nullptr when printing debug messages (#303) 2023-07-09 16:42:50 +02:00
helgeerbe
2a858e096b fix: typo 2023-07-07 17:22:04 +02:00
helgeerbe
3fb062b5cc fix: typo 2023-07-07 17:08:51 +02:00
helgeerbe
ffa9be0835 fix: #294 Passthrough Spelling 2023-07-07 17:05:44 +02:00
helgeerbe
344498d440 fix: linting error 2023-07-04 14:55:55 +02:00