Commit Graph

2647 Commits

Author SHA1 Message Date
Bernhard Kirchen
bdc9c09db2 Feature: show ESP32 flash memory size in system info 2024-05-27 21:54:35 +02:00
Bernhard Kirchen
4972892d9a Feature: show ESP32 flash memory size in system info 2024-05-27 21:52:49 +02:00
Thomas Basler
49c2a51980 Merge branch 'pr1974' into dev 2024-05-20 20:32:13 +02:00
Thomas Basler
918c3449da Fix #2000: MQTT subscriptions where not updated if MQTT base was changed 2024-05-20 17:56:59 +02:00
Thomas Basler
90711ddd76 Code Refactoring: Use internal inverter instance in handleResponse method 2024-05-16 19:58:20 +02:00
Thomas Basler
6d6d62bb77 Code Refactoring: Use internal inverter instance in gotTimeout method 2024-05-16 19:55:01 +02:00
Thomas Basler
6a7bed0ecf Code Refactoring: Add inverter reference to each command
Instead of just adding the target_address to a command this patch adds a reference to the whole inverter instance
2024-05-16 19:54:09 +02:00
Thomas Basler
6358b1ebee Update espressif32 from 6.6.0 to 6.7.0 2024-05-15 18:10:10 +02:00
Bernhard Kirchen
edf493bc6d DPL web UI: add hint to setting "inverter behind power meter" 2024-05-09 13:58:48 +02:00
Bernhard Kirchen
ca3d1da740 power meter web UI: add example for array access + translations
this re-adds an example JSON path accessing an array in the JSON.
also use translatable texts in the example section.
2024-05-09 13:58:44 +02:00
Bernhard Kirchen
841523f028 embrace upstream __compiled_constants.h approach 2024-05-07 22:04:36 +02:00
Bernhard Kirchen
255e81e6bd Merge upstream tag 'v24.5.6' into development 2024-05-07 22:03:26 +02:00
Bernhard Kirchen
1109f460cc workflow: ignore v** tags
this is an attempt to exempt the whole build workflow (and respective releases from being created) for upstream tags.
2024-05-07 20:57:56 +02:00
Bernhard Kirchen
e1169d4b11 Fix: restore JSON array access for HTTP power meter
this implements accessing array members in an ArduinoJSON object
following the FirebaseJson syntax. the FirebaseJson lib was previously
removed to save flash memory, and logic was implemented to find a JSON
node using the FirebaseJson path syntax, restoring the functionality.
however, array access was not implemented.

this change also addresses leading and trailing and double forward
slashes in the path expression.

moreover, much more expressive error messages are now generated in case
the path could not be resolved.
2024-05-07 20:56:58 +02:00
Stefan Schultheis, OE1SCS
a11cc82782
Typos de.json translation 2024-05-07 13:58:27 +02:00
Thomas Basler
1f1227fa10 webapp: add app.js.gz 2024-05-06 20:04:51 +02:00
Thomas Basler
d3b134fe90 Upgrade ESP Async WebServer from 2.9.4 to 2.9.5 2024-05-06 19:49:15 +02:00
Thomas Basler
f6e048b064 webapp: update dependencies 2024-05-06 19:40:36 +02:00
Alexander Kukushkin
2f7e1f3f70
Fix: solar_passthrough_losses setting persistence (#957)
Due to a typo the value of `solar_passtrough_losses` was lost after a restart.
2024-05-06 11:12:25 +02:00
Bernhard Kirchen
b7a8bdf07b remove rweather/Crypt lib from firmware (save 2.1k of flash)
mbedtls is already integral part of the firmware. use it in favor of
rweather/Crypto library to calculate a sha256 checksum of a string, as
used in the HTTP power meter implementation.
2024-05-06 11:04:24 +02:00
Bernhard Kirchen
1dd64a57fd remove FirebaseJson lib from firmware (save 17.5k of flash)
we used this library solely to interpret the answer of an HTTP web
server as JSON and find a particular value using a path expression in
the HTTP power meter implementation.

since we ran out of flash memory on non-S3 ESP32, we need to cut some
corners. removing FirebaseJson is the last low-hanging fruit that we
currently know of. we can get rid of it by using ArduinoJson (which is
already integral part of the firmware) and implementing a custom logic
to extract a value based on a path expression.

other than the FirebaseJson path "finder", the new implementation
only knows how to access sub-keys delimited by a forward slash. in
particular, accessing array members is not supported any more. I am
hoping that this is simply not an issue. if so, we will have users
complaining and we can add this functionality in a later release.
2024-05-06 11:04:24 +02:00
Thomas Basler
7d2fb3490e Fix #1960: Prometheus API return wrong information in function addPanelInfo 2024-05-04 22:24:40 +02:00
SW-Nico
6620ab487a Fix: VE.Direct: take the load current into account
when calculating efficiency, we need to take into account that the load
might also sink a significant amount of current and power, which adds to
the total output of the charge controller.
2024-05-02 21:46:57 +02:00
eu-gh
686b5df64e
Feature: Publish Huawei AC charger mode via MQTT (#876) 2024-05-02 21:19:25 +02:00
Bernhard Kirchen
744df41b01
Merge pull request #945 from helgeerbe/merge-v24.4.24
Merge upstream v24.4.24
2024-05-02 21:07:03 +02:00
Thomas Basler
d5a24906fa Merge branch 'pr1920' into dev 2024-05-02 20:59:26 +02:00
Bernhard Kirchen
18dab3cf1c Merge upstream tag 'v24.4.24' into development 2024-05-02 20:49:41 +02:00
Thomas Basler
c08969b782 Upgrade olikraus/U8g2 from 2.35.17 to 2.35.19 2024-04-29 23:26:01 +02:00
Thomas Basler
2cde219317 Upgrade build action to support node 20 2024-04-29 23:17:40 +02:00
Thomas Basler
69e257dc8e webapp: update dependencies 2024-04-29 22:54:26 +02:00
Thomas Basler
783a7b3868 Upgrade ESP Async WebServer from 2.9.3 to 2.9.4 and set ASYNC_TCP_QUEUE_SIZE to 128 for different Async TCP library 2024-04-29 22:51:54 +02:00
Bernhard Kirchen
4cf596eb5a
Merge pull request #923 from helgeerbe/merge-v24.4.12
merge upstream tag v24.4.12, resolve conflicts (helgeerbe), fix eslint errors (schlimmchen) and adopt new web api method to save code duplication (schlimmchen).
2024-04-29 21:17:14 +02:00
Bernhard Kirchen
4e36c8c9ea
Feature: battery interface: use HW serial 0 on ESP32-C3 or S3 (#933)
this allows to use two VE.Direct interfaces, as there is no conflict
regarding HW serial port 2 after making the battery interfaces use
serial port 0 on devices with USB CDC. on those chips HW serial 0 is
free to be used since serial messages are written through the USB
interface directly.
2024-04-29 20:43:35 +02:00
Bernhard Kirchen
d3b306e2fc appease eslint 2024-04-29 20:31:50 +02:00
Bernhard Kirchen
84e83f2dbb adopt WebApiClass::parseRequestData() method
saves redundant code, reducing flash usage.
2024-04-29 20:31:50 +02:00
Thomas Basler
b704126453 Use fixed versions for all dependencies 2024-04-28 22:08:55 +02:00
MalteSchm
64738a6246 Introducing defines for RX2/TX2 2024-04-25 22:54:12 +02:00
helgeerbe
fdc5054480 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into merge-v24.4.12 2024-04-25 20:59:19 +02:00
Thomas Basler
4623839425 webapp: add app.js.gz 2024-04-24 22:34:39 +02:00
Thomas Basler
5a93a7e4b9 Updated timezone config 2024-04-24 22:33:37 +02:00
Thomas Basler
5ab4b6d38e webapp: update dependencies 2024-04-24 22:31:13 +02:00
Thomas Basler
29403013f5 Fix: Device Manager shows 404 if no pin_mapping.json was available 2024-04-24 22:28:59 +02:00
Thomas Basler
f8cc171e4a Fix: Return 404 (and nothing else) if file not found 2024-04-24 22:15:25 +02:00
MalteSchm
f0df583c13
Feature: support for Huawei target power consumption 2024-04-24 20:26:56 +02:00
Bernhard Kirchen
74330a5617 Feature: restart unresponsive inverter
we found that the inverter sometimes stops responding to commands,
especially to the "start producing" command. we now count the number of
consecutive timeouts when trying to send a new limit or power state
commands. after two timeouts were recorded, every additional timeout
will send a restart command to the inverter.

as a last resort, if the counter keeps climbing, the DTU is restarted.

notice that this only targets unresponsive inverters which are
reachable. unreachable inverters are not restarted and do not cause a
DTU reboot. this is important for solar-driven inverters, which are
unreachable during the night. the DPL will not calculate a new limit and
hence the updateInverter() method will do nothing while the target
inverter is unreachable.

publish the timeout counter to MQTT for monitoring purposes.
2024-04-24 16:15:01 +02:00
Thomas Basler
21cadabd5d Upgrade olikraus/U8g2 from 2.35.15 to 2.35.17 2024-04-23 18:52:47 +02:00
Thomas Basler
c36369a83b Upgrade ESP Async WebServer from 2.9.0 to 2.9.3 2024-04-23 18:49:52 +02:00
Bernhard Kirchen
eb9bfd1ac6 Fix: DPL mode 2 for solar-powered inverters
for solar-powered inverters, the unconditional full solar-passthrough
implementation now sets the upper limit configured in the DPL settings.
2024-04-22 12:51:31 +02:00
Bernhard Kirchen
1d4bea24ff Fix: JK BMS: BMS name is second part of product ID 2024-04-18 16:36:11 +02:00
Bernhard Kirchen
4cd690de66 VE.Direct: publish data retrieved from HEX protocol 2024-04-18 13:06:37 +02:00