Commit Graph

2385 Commits

Author SHA1 Message Date
Thomas Basler
d635a9babd Merge branch 'pr1729' into dev 2024-02-10 23:36:47 +01:00
Bernhard Kirchen
6036d8efea implement oscillating screensaver
this implementation avoids the display content jumping the full
screensaver offset from right to left when the modulo operator
wraps. this change makes the display content walk from right to
left as it did walk from left to right.
2024-02-10 18:41:47 +01:00
Bernhard Kirchen
5f51c80022 Fix: make text of total production fit displays
in case the total production is larger than 1 MWh, i.e., 1000 kWh, the
text on the respective line becomes too large such that it reaches out
of the display when the screensaver is enabled.

this happens on the small and large displays.

this change switches the number format to a float without decimal places
if the total production is larger or equal to 1000 kWh. this saves a dot
and a digit, making the text short enough to fit the display even when
the screensaver moved the display contents as far to the right as it
does.
2024-02-10 17:38:32 +01:00
Bernhard Kirchen
25a66a1722 make efficient use of available display area
fix calculation of the text baselines, using getAscent() in favor of
getMaxCharHeight(), which includes ascent and descent. this moves the
first text up and allows to insert margin between the lines until the
display area is fully utilized.

on large displays, if the small diagram is selected, keep the first line
rather low to avoid collision with the diagram y-axis label. in this mode,
there is still more space between the text lines as before, allowing for
improved readability.
2024-02-10 13:33:51 +01:00
Thomas Basler
b9bf454237 webapp: Add link to documentation in about view 2024-02-10 02:10:06 +01:00
helgeerbe
b794f46ef0 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-02-09 20:14:58 +01:00
Bernhard Kirchen
7c84621ea9
update VE.Direct product IDsfixes typos and errors, and adds previously unknown PIDs.closes #641.
* update VE.Direct product IDs

fixes typos and errors, and adds previously unknown PIDs.

closes #641.
2024-02-09 19:50:36 +01:00
helgeerbe
df5b416b3f
Merge pull request #640 from schlimmchen:jkbms-home-assistent-pr
JK BMS Home Assistent Integration
2024-02-09 19:46:59 +01:00
Thomas Basler
5419135abf Merge branch 'pr1728' into dev 2024-02-08 22:54:01 +01:00
iiidefix
0fe942adce
Add AhoyDTU Pinout
Add AhoyDTU Pinout for easy testing and migration. 
Based on current Pinout as seen on https://ahoydtu.de/img/fritzing/esp32-38_nrf_ssd1306_sch.png
2024-02-08 19:28:10 +01:00
Thomas Basler
ac91a50ffe webapp: update dependencies 2024-02-07 19:29:09 +01:00
Thomas Basler
3cf8fea8e0 Fix: Guru Meditation (StoreProhibited) when saving DTU settings
Fixed #1725
2024-02-06 21:47:06 +01:00
Bernhard Kirchen
1865113842 Feature: JK BMS Home Assistent integration
* pylontech HA integration: remove unused method/variable

* make MqttHandlePylontechHassClass::publishConfig() private.
  there are no outside users of that method.

* rename to MqttHandleBatteryHass

* battery HA integration: merge methods and bring back forceUpdate().
  even though the forceUpdate() method was not in use before, it makes
  sense to implement it and use it when the battery config changes.
  rather than controlling a separate flag, it now changes the _doPublish
  flag of the class, which also triggers publishing the device config to
  Home Assistant when an MQTT connection problem was detected. since
  both situations are now handled similarly, we can merge the loop() and
  publishConfig() methods.

* battery: provider specific sensors for HA

* move Battery MQTT loop to BatteryStats
  the BatteryStats class should handle the MQTT publishing, including the
  interval. for the calculation of a reasonable Home Assistent expiration
  value this class now also knows the maximum publish interval.

* JK BMS: fix publishing values for Home Assistent
  Home Assistent values expire, because we set them to expire after three
  MQTT publish durations. for that reason, we need to re-publish all
  values after our self-inflicted full publish interval.

* define JK BMS sensors for Home Assistent

closes #482.
2024-02-05 21:22:07 +01:00
Bernhard Kirchen
c2b49931be Fix: must call Pylontech Home Assistent init() method
previously, the Pytlontech Home Assistent class implementation had an
init() method, that was never called, as it did nothing. the class
relied on its loop() method being called from the main loop(). after
switching to the TaskScheduler approach, the Pylontech Home Assistent
class init() method was adjusted to register a task that calls the
loop() method periodically. however, the init() method was still not
called.
2024-02-05 20:54:34 +01:00
Thomas Basler
8e01a275af Merge branch 'pr1693' into dev 2024-02-02 22:36:18 +01:00
Nikolaj Kappler
86b9625254 fix #1668
use builtin bootstrap css for scrolling
2024-02-02 22:34:58 +01:00
Thomas Basler
0ab5785b7d Feature: Added pin-mapping for LILYGO T-ETH-Lite 2024-02-02 21:42:21 +01:00
Thomas Basler
7e2064e264 Feature: Added support for boards with 16MB flash and PSRAM 2024-02-02 20:33:42 +01:00
Thomas Basler
e81a280b87 Fix: Calculate the AC current for 3 phase inverters correctly 2024-01-30 22:29:25 +01:00
Thomas Basler
abb37242e8 Rename internal variables and methods 2024-01-30 22:29:25 +01:00
Thomas Basler
1b637f0870 BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
Yield total and Yield day where moved from the AC section to the INV section
2024-01-30 22:29:25 +01:00
Thomas Basler
e1564780d6 BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
Power DC was moved from the AC section to the INV section
2024-01-30 22:29:25 +01:00
Thomas Basler
f0b5542c2d BREAKING CHANGE: Web API Endpoint /api/livedata/status and /api/prometheus/metrics
Efficiency was moved from the AC section to the INV section
2024-01-30 22:29:25 +01:00
Thomas Basler
c27ecc3620 BREAKING CHANGE: Web API Endpoint /api/livedata/status
To reduce the heap usage it is necessary to send the inverters one by one instead of a huge response. A simple call to `/api/livedata/status` returns just some very general information. If detailed inverter information are required the inverter serial number has to appended `?inv=<serial number>`.
The websocket also returns only one inverter at a time. It as to be assembled at client side.
2024-01-30 22:29:25 +01:00
Thomas Basler
557c5d645e Remove all files but the pin_mapping.json from filesystem on factory reset
This allows to create more user defined files and get them deleted on factory reset.
2024-01-30 22:29:12 +01:00
Thomas Basler
48a722f826 Merge branch 'pr1642' into dev 2024-01-30 20:47:45 +01:00
Thomas Basler
a848275bb9 Merge branch 'pr1706' into dev 2024-01-30 19:34:19 +01:00
Sabouflage
5d7512e026 fix(mqtt): setting MQTT LWT online message for frontend 2024-01-30 19:03:23 +01:00
Sabouflage
dfed23261a fix(mqtt): MQTTs LWT QoS config used also for TLS connections 2024-01-30 19:02:57 +01:00
Stefan Oberhumer
e752c433af Use http header ETag caching for all static content.
Using the md5sum as ETag http header value should enable caching on all static http content.
2024-01-30 00:35:23 +01:00
vaterlangen
97f006d867 fixed typo in OTA text 2024-01-27 15:18:25 +01:00
Thomas Basler
2716f4c5df Removed not required pointer to AsyncServer instance 2024-01-27 01:09:55 +01:00
Thomas Basler
21ec72f4c0 webapp: add app.js.gz 2024-01-26 21:42:55 +01:00
Thomas Basler
59022347eb Doc: Remove deprecated documentation 2024-01-26 21:40:57 +01:00
Thomas Basler
2c4952b196 Doc: Migrated needed hardware info to official documentation 2024-01-26 21:30:58 +01:00
Thomas Basler
ac2e963799 Doc: Move display documentation to official documentation 2024-01-26 17:12:55 +01:00
Thomas Basler
c04407f740 Doc: Move partition migration to official documentation 2024-01-26 17:02:55 +01:00
Thomas Basler
fe9ac6a2fd webapp: update dependencies 2024-01-26 16:56:49 +01:00
Thomas Basler
f0061b976d Merge branch 'pr1676' into dev 2024-01-26 16:48:15 +01:00
Thomas Basler
4e669d8932 Feature: Add support for ST7567 GM12864I-59N Display 2024-01-26 16:05:56 +01:00
helgeerbe
1916d6d6a8 check twice a second for new vedirect data on live viw 2024-01-26 14:32:44 +01:00
helgeerbe
7094bca7db fix: Inverter Labels in InverterTotalInfo 2024-01-26 13:34:03 +01:00
helgeerbe
ebacc2f25f Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-01-25 23:36:32 +01:00
Stefan Oberhumer
7aece2e143 Call SunPosition.isDayPeriod() once 2024-01-23 09:42:13 +01:00
Thomas Basler
a5cc0a424f webapp: add app.js.gz 2024-01-21 16:49:41 +01:00
Thomas Basler
d99de94c00 webapp: Fix lint errors 2024-01-21 16:48:47 +01:00
Thomas Basler
3f135e8349 webapp: update dependencies 2024-01-21 16:39:22 +01:00
Thomas Basler
178525a49b Feature: Added device profile for Olimex ESP32 Gateway
Thanks to @fdcg in #1672
2024-01-21 11:32:18 +01:00
Thomas Basler
4cfb1b1c26 Fix: PullToRefresh does not work anymore
It was using the wrong mainElement
2024-01-21 00:55:05 +01:00
Thomas Basler
4f2fbaaf2a Remove unused function parameter 2024-01-20 23:12:59 +01:00