Commit Graph

2875 Commits

Author SHA1 Message Date
Bernhard Kirchen
ee3b62d671 actions: use setup-node@v4 as v3 causes warning
the "Yarn Linting" action causes a warning to appear about a deprecated
Node version. switch to actions/setup-node@v4, which is already in use
by the action building the web app for the firmware, to avoid this
warning.
2024-09-20 21:09:50 +02:00
Bernhard Kirchen
f9926501f1 format BatteryAdminView changes introduced by #1245 2024-09-20 17:02:14 +02:00
Bernhard Kirchen
c3c31e5694 actions: run yarn prettier to check web app formatting 2024-09-20 17:00:58 +02:00
Bernhard Kirchen
58e01cdcc7 actions: switch to node version 20 for linting
use version consistent with the version used when building the web
application.
2024-09-20 17:00:58 +02:00
Bernhard Kirchen
51286047d4 actions: fix a typo 2024-09-20 17:00:58 +02:00
Bernhard Kirchen
0bcbec1baa actions: use setup-node@v4 as v3 causes warning
the "Yarn Linting" action causes a warning to appear about a deprecated
Node version. switch to actions/setup-node@v4, which is already in use
by the action building the web app for the firmware, to avoid this
warning.
2024-09-20 17:00:37 +02:00
Bernhard Kirchen
ea1592ed0d actions: consistently use checkout@v4
this was already in use by "Gather Environments" and "Build
Environments", but neither in "Create Release" nor "Yarn Linting"
nor "cpplint".
2024-09-20 16:59:52 +02:00
Bernhard Kirchen
59a89e9165 changelogs: group webapp-related changes 2024-09-20 16:51:53 +02:00
Bernhard Kirchen
163abbbe58 remove test_build.yml: unmaintained and redundant
it seems this action has not been run for nealry a year. it has only
been run twice at all. it is not maintained, as it uses older Node.js
in particular. also, it seems to be redundant to build.yml, which
already builds firmware for every commit.
2024-09-20 16:51:53 +02:00
Bernhard Kirchen
00626b63f7 issue template: asks for firmware variant 2024-09-20 16:37:33 +02:00
Bernhard Kirchen
789a07e288 webapp: use shell=True in autocompile script
we need shell=True as on Windows, path resolution to find the yarn
"exectuable" (a shell script) is only performed by cmd.exe, not by
Python itself. as we are calling yarn with fixed arguments, using
shell=True is fine.
2024-09-20 15:53:05 +02:00
Bernhard Kirchen
4f5648689f webapp documentation moved as well 2024-09-20 15:39:47 +02:00
vaterlangen
27f5a943f6
Fix: device profile for OpenDTU Fusion with W5500 (#1259)
* explicitly disable NRF24 when using CMT + W5500. fixes #1257.
* explicitly disable CMT when using NRF + W5500
* added missing LED mapping for W5500 profiles
2024-09-16 22:10:43 +02:00
Thomas Basler
e8b1e7a71c webapp: Parse version string event if update search is not allowed 2024-09-16 19:30:45 +02:00
Thomas Basler
d3d92e90e0 webapp: Upgrade tsconfig node18 to node22 2024-09-16 19:13:17 +02:00
Thomas Basler
3e3cf3cd64 webapp: Update dependencies 2024-09-16 19:04:26 +02:00
Thomas Basler
c2e50a9594 Upgrade olikraus/U8g2 from 2.35.21 to 2.35.27 2024-09-16 18:41:18 +02:00
Thomas Basler
5a1d4946fb Upgrade ESPAsyncWebServer from 3.2.0 to 3.3.1 2024-09-16 18:37:51 +02:00
Bernhard Kirchen
8ff94e7b94 issue template: asks for firmware variant 2024-09-16 16:10:38 +02:00
Bernhard Kirchen
95dac71cb2 bug report: allow to select non-release GitHub build 2024-09-16 16:10:38 +02:00
Bernhard Kirchen
3a33fb06b3 tailor issue templates to OpenDTU-OnBattery
these were never adapted to our fork but merely copied form the upstream
project.
2024-09-16 16:10:38 +02:00
Snoopy-HSS
3fc43098a6
Feature: Support for SBS Unipower batteries (#1199)
Allows to connect to SBS Unipower batteries using a CAN bus.
2024-09-16 15:22:15 +02:00
Andreas Böhm
a6e7007f4b
Feature: extend battery discharge limit support (#1245)
* implements UI to configure battery discharge limit
* adds support for discharge limit to MQTT battery provider
* add option to hide `issues` section from battery live view (for MQTT battery)
2024-09-13 20:52:23 +02:00
ranma
6318ab4a8b
Feature: DPL: Honor battery-provided discharge power limit (#1198)
When the BMS provides a discharge current limit, apply
this limit in the DPL to the inverter power target when running
from battery.
2024-09-13 20:36:16 +02:00
Andreas Böhm
c96762c765
Fix: don't republish MQTT powermeter data to MQTT (#1250) 2024-09-13 17:26:30 +02:00
ranma
86cab0f281
Feature: ESP heap and temperature details on MQTT and HASS (#1242)
I noticed that some useful ESP stats are missing on the MQTT broker, so this adds:

- ESP temperature
- ESP heap stats (size, free, minFree, maxAlloc)
2024-09-13 16:55:38 +02:00
Gumbagubanga
89d9a40296
Feature: Support for W5500 ethernet module (#1231)
adds support for w5500 Ethernet chip, present on
OpenDTU Fusion PoE Ethernet hat in particular.
2024-09-13 16:51:22 +02:00
Bernhard Kirchen
1fe8d3f513 disable "based on OpenDTU" badge
disabled as uploading the changed gist failed repeatedly. maybe the
token in secrets.GIST_SECRET has expired? need help from repo owner
@helgeerbe to fix this.
2024-09-11 21:59:42 +02:00
Bernhard Kirchen
f8595865ea webapp autocompile: try yarnpkg 2024-09-11 21:51:08 +02:00
Bernhard Kirchen
9067acdab7 fix: typo in german web app locale
closes #1223.
2024-09-10 14:33:39 +02:00
Bernhard Kirchen
ffb30de4d2 Revert "webapp: pylontech battery provider can also read DEYE"
This reverts commit cdd6f4cf1b.

See #1244.
2024-09-10 14:24:35 +02:00
Bernhard Kirchen
5ea8fbecf9 WebApi_dtu: remove trailing whitespace
probably added during conflict resolving. these removed whitespace are
not part of the upstream.
2024-09-09 22:28:35 +02:00
Bernhard Kirchen
cdd6f4cf1b webapp: pylontech battery provider can also read DEYE 2024-09-09 21:53:51 +02:00
ranma
f42f018f3e
Fix: sanitize battery manufacturer name string (#1235)
If the string contains control characters for some reason, the browser
will reject the json with the error `bad control character in string
literal`.

This adds a setManufacturer function that validates the string is ASCII
and will cut off the string at the first non-ascii character.

Pylontech: `PYLON` (50 59 4C 4F 4E 20 20 20)
Pytes: `PYTES` (50 59 54 45 53)
Deye: `DY001` (44 59 30 30 31 03 E8 03)

See https://github.com/helgeerbe/OpenDTU-OnBattery/discussions/1226#discussioncomment-10566898
2024-09-09 21:46:47 +02:00
spcqike
cec4003f6e
Implement webapp autocompile (#1193)
add pre-script to check if webapp was compiled or sources changed and auto compile.

---------

Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>
2024-09-05 23:02:42 +02:00
Thomas Basler
a949776966 Feature: Add support for HERF 1 channel inverters 2024-09-02 20:44:26 +02:00
Thomas Basler
ac5b6f3097 webapp: update dependencies 2024-09-02 20:37:54 +02:00
Thomas Basler
e00d831103 Upgrade arkhipenko/TaskScheduler from git #testing to 3.8.5 2024-09-02 20:28:21 +02:00
Thomas Basler
8529cb0fca Upgrade olikraus/U8g2 from 2.35.19 to 2.35.21 2024-09-02 20:21:38 +02:00
Thomas Basler
7b60c92db9 Upgrade ESPAsyncWebServer from 3.1.2 to 3.2.0 2024-09-02 20:18:37 +02:00
Thomas Basler
b52cd31309 Output WiFi disconnect reason in console 2024-09-02 20:16:03 +02:00
ranma
a87f9fa2cd
Fix: Allow higher-resolution SoC in live view header (#1197)
Commit accc70dea0 added the battery SoC to
the live view header. But due to getSoC() returning an int,
the precision was limited.

This changes getSoC() to return float so when a source with higher
precision is available, the respective precision is shown.
2024-09-02 11:08:21 +02:00
Bernhard Kirchen
5ad63e6c44 Fix: DPL settings: do not reset solar_passthrough_enabled
we must not reset the configuration switch value in this context. this
leads to solar passthrough being disabled once the DPL is disabled. when
re-enabling the DPL, solar passthrough is suddenly off, even though the
user configured it to be on.

the configuration switch can stay on. the DPL will still sanity-check
whether or not solar-passthrough can be used (checks if VE.Direct is
enabled) or it is irrelevant since the DPL is disabled.
2024-09-01 22:14:33 +02:00
Bernhard Kirchen
babb24ab1f Fix: reasonable full solar-passthrough default values
value 100 is not accepted by the webapp as inputs for full
solar-passthrough start and stop volages. 66V is the documented
value to be used if one wants to disable full solar-passthrough
(while keeping (non-full) solar-passthrough).
2024-09-01 22:12:48 +02:00
Thomas Basler
1f3af949a0 Add serial prefix 1410 to HMS_2CH inverters
This is related to #2235 and fixes #2230
2024-08-28 21:25:15 +02:00
Bernhard Kirchen
9ebbc58930 Fix: Pylontech/Pytes CAN driver: user interrupts at level 2
we are running out of level 1 interrupts on ESP32-S3 boards. for that
reason, until this prooves to be another sort of problem, we allocate
the TWAI's interrupt for the battery CAN implementation at level 2.
2024-08-28 20:08:47 +02:00
Bernhard Kirchen
119bd3a41e Fix: Increase Huawei CAN task stack size
the stack size was already increased by Andreas Boehm in df53f34b51 in
the context of #1144 (SPI port manager). this change aligns the stack
size to a power of two and adds comments. the commit also serves to
place this change more prominently as a fix in the changelogs.
2024-08-28 15:13:23 +02:00
Bernhard Kirchen
fff0576150 Fix: initialize HTTP(S)+JSON power meter values 2024-08-28 13:32:47 +02:00
Bernhard Kirchen
1cbf18d4a7 Feature: HttpGetter: cache digest challenge
this allows us to add a valid Authorization header to each but the first
GET request, saving us from performing two GET requests every time we
want to perform the GET request. we still need a new client nonce and we
need to increase the nonce counter, so we also need to calculate a whole
new response, as we cannot just reuse the previous Authorization header
(that would be a replay attack).
2024-08-28 13:32:47 +02:00
Bernhard Kirchen
fd3b65f4bd Feature: HttpGetter: support MD5 digest authentication
the MD5 scheme should still be widely deployed, even though it is
deprecated. it is also still the default if not specific algorithm
is requested by the server.
2024-08-28 13:32:47 +02:00