Commit Graph

2647 Commits

Author SHA1 Message Date
Thomas Basler
e85001b2d2 webapp: add app.js.gz 2024-08-01 18:42:12 +02:00
Thomas Basler
eef0335d37 Update espressif32 from 6.7.0 to 6.8.1 2024-08-01 18:39:53 +02:00
Thomas Basler
931eafff18 Merge branch 'pr2109' into dev 2024-08-01 18:23:40 +02:00
Thomas Basler
7627db6c39 Update nrf24/RF24 from 1.4.8 to 1.4.9 2024-08-01 18:16:11 +02:00
Thomas Basler
1984eeeca3 Update bblanchon/ArduinoJson from 7.0.4 to 7.1.0 2024-08-01 18:13:46 +02:00
Thomas Basler
03137e15dd Upgrade ESPAsyncWebServer from 2.10.8 to 3.1.2 2024-08-01 18:11:39 +02:00
Thomas Basler
a17aa031dd webapp: update dependencies 2024-08-01 18:11:29 +02:00
Thomas Basler
70dacb5ea6 Merge branch 'pr2168' into dev 2024-08-01 17:53:53 +02:00
vaterlangen
cb5e7e59a5 Feature: add unit for MQTT battery voltage (#1143) 2024-07-31 15:05:41 +02:00
Bernhard Kirchen
1a19f881aa Feature: support JSON payload in MQTT battery provider
this changeset adds support for parsing the MQTT battery provider's SoC
and voltage topics' payloads as JSON to extract a numeric value at a
configurable path.
2024-07-31 15:05:41 +02:00
Andreas Böhm
accc70dea0
feature: show battery voltage, current, and power in live view (#1131)
* show battery voltage, current, and power in live view header (the "totals")
* show battery current and power in extra card
* use soc and current precision in live view
* BatteryStats: do not knowingly publish invalid data: not all battery
  providers know all values the base class manages. make sure to
  prevent publishing invalid values.

Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>
2024-07-27 21:35:58 +02:00
Andreas Böhm
e95b70efeb
Feature: expose 'full solar passsthrough active' via MQTT (#1136) 2024-07-26 20:37:40 +02:00
Andreas Böhm
e3f9da75b9
BREAKING CHANGE: allow multiple OpenDTU-OnBattery instances at same HASS
This breaks existing HASS automation, as entity names and MQTT topics change!

* include dtu-unique-id in DPL MQTT HASS topics to allow multiple DTUs to be controlled
* fix filename "src/MqttHandlVedirectHass.cpp"
* refactor: use values from 'MqttHandleHass', add 'via_device' to all HASS devices
* set step size for power limiter voltage values
2024-07-23 21:27:14 +02:00
Bernhard Kirchen
6ee6eaf0b2
Fix: inverter power limits precision
Hoymiles inverters allow setting relative limits with a precision of 0.1 %.
this changeset allows to utilize this precision.

* preserve accuracy when decoding power limit
* Web API: process floating point limits
* MQTT: process floating point limits
* use appropriate accuracy for limits in web UI
* HASS: step for relative inverter limit is 0.1 %
2024-07-23 21:17:25 +02:00
Bernhard Kirchen
86a49a781a fix: use mutex when writing MQTT power meter value
we previously used the mutex to protect writing the target variable.
however, we would only do that for the old usecase, where a plain float
value in Watts was expected as the topic's payload.
2024-07-22 20:07:38 +02:00
Bernhard Kirchen
5e5a5253f4 fix: initialize MQTT power meter values to zero
avoid using uninitialized memory.
2024-07-22 20:07:38 +02:00
Niko
415c767d1d
Fix: Victron MPPT: be happy with at least one that delivers valid data (#1118) 2024-07-21 19:46:06 +02:00
Sven Sowa
5fee069c65
Remove double call to generateOnBatteryJsonResponse() (#1115)
the 2nd call was added in a merge operation in April
2024-07-21 17:59:57 +02:00
Niko
0013b2c934
Double VE.Direct receive buffer to avoid overflow (#1109) 2024-07-16 08:15:11 +02:00
Bernhard Kirchen
926a0b992d improve error messages when probing JSON path value type 2024-07-15 17:41:30 +02:00
Bernhard Kirchen
9e7a0bca31 fix: handle numeric values disguised as strings in JSON
closes #1104.
2024-07-15 17:41:30 +02:00
Andreas Böhm
b90da210be
Fix: Improve overscaling for shaded inputs (#1089) 2024-07-11 15:03:12 +02:00
Bernhard Kirchen
d9d0141fde Merge upstream tag 'v24.6.29' into development 2024-07-10 21:45:43 +02:00
Bernhard Kirchen
e358513495
Merge PR #1077 from helgeerbe/powermeter-refactoring
this PowerMeter refactoring tackles many issues and prepares to solve many more.
2024-07-10 21:20:39 +02:00
Andreas Böhm
6a3f90ff95
Feature: add support for Pytes batteries using CAN (#1088)
Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>
2024-07-10 21:01:49 +02:00
Thomas Basler
7e52003830 Merge branch 'pr2035' into dev 2024-07-05 22:01:27 +02:00
Thomas Basler
342642ec01 webapp: Apply auto formatter 2024-07-05 21:57:53 +02:00
Thomas Basler
d8316db20f webapp: Add Autoformatter 2024-07-05 21:32:26 +02:00
Thomas Basler
b4e4e3b04d webapp: update dependencies 2024-07-05 21:24:38 +02:00
Thomas Basler
45b7f45734 Merge branch 'pr2099' into dev 2024-07-05 21:17:06 +02:00
Thomas Basler
4fd0cabe29 Merge branch 'pr2117' into dev 2024-07-05 21:15:34 +02:00
Thomas Basler
d09be3a384 Feature: Add support for HMS-800-2T-LV inverters 2024-07-05 21:10:15 +02:00
Bernhard Kirchen
0c16652acb make MQTT power meter the default power meter
make the MQTT power meter pre-selected when editing power meter settings
for the first time. the MQTT power meter is the most efficient and hence
preferred power meter implementation.
2024-07-01 22:12:30 +02:00
Bernhard Kirchen
b808e9ab18 HTTP+JSON power meter: value 1 is always enabled
enabling the HTTP+JSON power meter without enabling at least one value
makes no sense, so value 1 has always been treated as "always enabled".
while doing the power meter refactoring, however, a regression was
introduced that would hide the settings for value 1 in the web UI until
the power meter settings would be saved, which they cannot be due to
missing settings for value 1.
2024-07-01 22:07:55 +02:00
jstammi
1eab3ae773 Fix: explicitly disconnect prior connecting to wifi
to prevent from invalid association packets exchange
#618

(cherry picked from commit b6c320d481eb77b4f4e0407237917d2d897bfd9d)
2024-06-30 20:20:05 +02:00
Tobias Wohlfrom
faed3056dd Increase stack size for MQTT task due to SSL handshake 2024-06-30 10:35:31 +02:00
Thomas Basler
e541a885f5 webapp: add app.js.gz 2024-06-29 18:57:35 +02:00
Thomas Basler
4640ddfba0 Better handling of empty MQTT client id
If the configured client id is empty, the default value (auto generated) will be used
2024-06-29 11:05:04 +02:00
Thomas Basler
a667042977 webapp: Update dependencies 2024-06-29 00:33:49 +02:00
Thomas Basler
ba95f99e03 Feature: Allow custom MQTT Client ID 2024-06-29 00:28:21 +02:00
Thomas Basler
e4bbf55ea5 webapp: Check if temperature is set
It seems that some ESPs don't have a temperature sensor anymore
2024-06-29 00:08:57 +02:00
Thomas Basler
b9b2a19ac5 Fix: Remove not required semicolon 2024-06-29 00:08:27 +02:00
Bernhard Kirchen
3fe39d722c PowerMeter admin view: make the linter happy
* do not combine v-if and v-for
* add v-bind:key to for loop of HTTPS+JSON power meter value configs
2024-06-27 22:18:41 +02:00
Bernhard Kirchen
9911dec279 HTTP request config component: do not mutate prop
use an event-driven mutation scheme, i.e., adapt the common v-model
approach to bind data to the child component.
2024-06-27 22:18:41 +02:00
Bernhard Kirchen
6b19b877c6 power meter refactoring: split loop task init from init()
when performing a test request using the web UI, we need to init() the
respective power meter, but we do not want to start the polling task.
hence we move initialization of the polling task to the poll() function.
it will return if the task is setup already, otherwise setup the task.
2024-06-27 22:18:41 +02:00
Bernhard Kirchen
6b09ca056e Feature: SML power meters: reset SML decoder
implement a function which allows to reset the SML decoder. this new
function is used after a datagram ends. for the SML HTTP power meter
this is simple: after all bytes from the request's answer have been
decoded, we reset the decoder. for the SML serial power meter, we
perform the reset after a datagram ended based on timing (no new bytes
have been received for a specific amount of time).
2024-06-27 22:18:41 +02:00
Bernhard Kirchen
ea454972b9 Feature: SML power meter: handle checksum error
cache the values decoded in the SML datagram and only copy them to the
local stash of values if the checksum of the SML datagram matched. also
makes sure that values from incomplete SML datagrams are not used.

moreover, we now only publish values to the MQTT broker that we actually
decoded (successfully) from an SML datagram (we previously published 0.0
as values to topics we never decoded a value for).
2024-06-27 22:18:41 +02:00
Bernhard Kirchen
5be1615f4e SML parser: add new OBIS handlers for Hertz and Degrees
copied from the original library.
2024-06-27 22:18:41 +02:00
Bernhard Kirchen
19a8f6a7bd SML parser: pass SML char by value
there is no use in passing it by reference, especially a non-const
reference.
2024-06-27 22:18:41 +02:00
Bernhard Kirchen
7f724ce561 SML parser: remove commented-out code
the comparison is part of the original library code, but the compiler
rightfully complains that the comparison byte <= 0xFF is always true,
since byte is uint8_t. the comparison was commented out, and is now
removed.
2024-06-27 22:18:41 +02:00