Commit Graph

2656 Commits

Author SHA1 Message Date
Bernhard Kirchen
2cc086335f BREAKING CHANGE: repartition: double sketch size
this updates the partition scheme for devices with 4 MB of flash memory
to have only a single app partition, doubling its size, but sacrificing
their OTA update capability. the replacement environment for
"generic_esop32" is called "generic_esp32_4mb_no_ota".

the new default partition scheme is targeted for devices with at least 8
MB of flash memory. the previous two app partitions are merged into one,
and one additional app partition of the same new size is added to the
back of the table. the change preserves the littlefs partition (position
and size), allowing for upgrades without loosing the configuration.

another new environment is added, called "generic_esp32_8mb", which uses
the new default partition layout.

environment "generic" is removed. it was merely a variant of
"generic_esp32" with some pins pre-defined. we want users to install a
pin_mapping.json and use the generic firmwares.

environments for boards that have no version with at least 8 MB of flash
memory are setup using the 4 MB partition layout (no OTA updates).

all users must flash the factory.bin for their respective environment
using esptool (or compatible software) using the USB port of their
board. in other words: updating to the new partition scheme using an OTA
update is NOT possible.

hint: the ESP32-S3 builds have a smaller code footprint. this means
ESP32-S3 boards can be updated using OTA without updating the partition
layout on the devices for some unspecified time longer, i.e., until
their firmware binary actually becomes too large for the old sketch
partition size.

the non-factory binary for generic_esp32_4mb_no_ota is NOT collected as
an artifact. going forward, users must update using the factory binary
and using the USB connection to their boards.
2024-06-24 21:39:31 +02:00
Florian Mösch
ca4c45fcf2 Update AlarmLogParser.cpp
added a few German translations
2024-06-24 17:22:30 +02:00
Andreas Böhm
79214d750f
refactor PylontechCanBattery to be more generic (#1064) 2024-06-23 19:42:04 +02:00
Bernhard Kirchen
cb0f8f20a8 disable CI builds for generic and generic_esp32
these fail due to the overflowing sketch partition. we can re-enable CI
build for these environments once we decided on how to handle ESP32 with
only 4MB of flash.
2024-06-23 13:21:28 +02:00
Bernhard Kirchen
f21f58c67d adjust MessageOutput for changes in espressif/arduino-esp32
the "serial console" over USB would be garbled badly after switching to
"platform = espressif32@6.7.0". this did not happen to the upstream
version of MessageOutput. we used Serial.flush(), which seemed to be
good in the respective context. however, the changes in

github.com/espressif/arduino-esp32/pull/9462

made flush() detrimental. we remove the use of flush(), as it seems not
to be required (in particular, the upstream project does not use it).
2024-06-21 16:57:17 +02:00
Bernhard Kirchen
034026f782 restore JK BMS dummy implementation
broke in be41e6b9. was unusable as the complete type of DummySerial has
to be available in the JK BMS controller header when defining the
unique_ptr managing the dummy instance. this problem is solved by moving
the whole dummy class into its own header.
2024-06-21 16:57:11 +02:00
Bernhard Kirchen
5e3a53d8d3 Merge upstream tag 'v24.6.10' into development 2024-06-21 16:45:41 +02:00
Andreas Böhm
83ac15405e
Feature: Implement DPL 'overscaling' to compensate shading (#956) 2024-06-20 13:32:29 +02:00
cerise21
ccbaf55808
Feature: Set/obtain DPL target power consumption via MQTT 2024-06-20 13:25:41 +02:00
Bernhard Kirchen
95e560bdc7 fix: optimize margins in live view
all total cards at the top of the live view go into the same row.
bootstrap will line-break after every third column/card, as the row
is row-cols-3.

the battery icon to the right of the project name in the header shall
have marging to said project name.

the rows in the live view now use class mt-0 to counteract bootstraps
negative margin for individual rows.
2024-06-17 17:32:26 +02:00
cerise21
1f6fdb7fc0
Feature: Set/obtain DPL upper power limit via MQTT 2024-06-15 20:21:42 +02:00
Marc-Philip
3d66b318ec
avoid using pkg_resources
This is deprecated in python 3.12.
Also, improve file handling
2024-06-10 22:31:15 +02:00
Thomas Basler
c144b68306 webapp: add app.js.gz 2024-06-10 21:45:56 +02:00
Thomas Basler
119b7b18e6 Upgrade ESP Async WebServer from 2.10.6 to 2.10.8 2024-06-10 21:44:33 +02:00
Thomas Basler
417df65b92 webapp: update dependencies 2024-06-10 21:40:55 +02:00
Thomas Basler
a2b568923c Upgrade ESP Async WebServer from 2.10.5 to 2.10.6 2024-06-09 14:54:03 +02:00
Thomas Basler
b5398a4297 Changed issue template to make clear that issues are bugs that affect all users 2024-06-08 12:39:04 +02:00
Thomas Basler
c960602c62 Upgrade ESP Async WebServer from 2.10.3 to 2.10.5 2024-06-08 11:16:06 +02:00
Thomas Basler
8ef28e27b4 webapp: update dependencies 2024-06-08 11:11:31 +02:00
nexulm
d940932d3c
Update wt32-eth01.json
SH1106 (I2C = Type3) support for joy-it 128x64 1,3" OLED SBC-OLED01.3 display added
2024-06-04 11:28:03 +02:00
Bernhard Kirchen
5a007e5352 fix: make SDM power meter use serial port manager
instead of hard-coding the use of hardware UART 2, the SDM power meter
instance now asks for a free hardware serial port to use and
instanciates the respective HardwareSerial object using said port.
2024-06-02 22:41:07 +02:00
Bernhard Kirchen
be41e6b906 refactor serial port manager: hand out UARTs FCFS
get rid of particular compile-time designations by UART index. just hand
out the next free index of hardware UARTs, or indicate that none is
available any more.

use names as keys to register and free UARTs.
2024-06-02 22:41:07 +02:00
Bernhard Kirchen
5a1c3af31f Feature: add support for a third Victron MPPT
only on ESP32-S3-USB. this fiddles with the available hardware UARTs to
make it possible to use a third Victron MPPT. if three MPPTs are defined
int the pin mapping, you will not be able to use the SmartShunt and JK
BMS battery interfaces.

note that using a second MPPT will also conflict with the SDM power
meter, and that conflict is not detected, yet.
2024-06-02 22:41:07 +02:00
Thomas Basler
b2515753c1 Upgrade ESP Async WebServer from 2.10.0 to 2.10.3 2024-06-02 14:13:32 +02:00
Thomas Basler
b1a8f04617 Fix: Wrong divider in gridprofile RVHF
Fixes #2021
The result may look wrong for some profiles (e.g. 502 Hz) but it seems to be correct as the Hoymiles parser also outputs 502 Hz. See #1606
2024-06-02 13:56:13 +02:00
Thomas Basler
ea54397cfc Merge branch 'pr2025' into dev 2024-06-02 13:44:32 +02:00
Bernhard Kirchen
7548fceb48 check FW bin file size when creating factory.bin 2024-06-02 13:28:10 +02:00
Bernhard Kirchen
90aafe2cbf check FW bin file size when creating factory.bin 2024-06-01 22:19:58 +02:00
Bernhard Kirchen
c22ae2bf8d Feature: show BMS FW and HW version (JK BMS, SmartShunt) 2024-06-01 11:23:22 +02:00
swingstate
561f4be6d6 Feature: SmartShunt: process midpoint voltage and deviation 2024-05-31 21:08:15 +02:00
Bernhard Kirchen
63370e8a83 VE.Direct: prefer strncpy over strcpy
strcpy is not safe.
2024-05-31 20:16:29 +02:00
Bernhard Kirchen
88314f93c2 Fix: properly format Victron MPPT firmware version 2024-05-31 20:16:29 +02:00
Thomas Basler
cffa7a2b2c Remove no more required async_tcp patch 2024-05-31 01:01:47 +02:00
Thomas Basler
b27a476507 Fix: Apply inverter settings only once and not for each channel 2024-05-31 00:56:15 +02:00
Thomas Basler
35aa835891 Merge branch 'pr2022' into dev 2024-05-31 00:52:28 +02:00
Stefan Oberhumer
8e8c463849 NFC: Includes list: Remove unneeded PinMapping.h 2024-05-31 00:30:15 +02:00
Thomas Basler
6e607f7f67 Feature: Add option to clear eventlog at midnight 2024-05-31 00:07:28 +02:00
Thomas Basler
3a4f70dc75 Added parser documentation 2024-05-30 23:27:29 +02:00
eu-gh
90eb25f503
Fix: Huawei PSU: enforce BatterySoC Limit < 100 in UI (#992) 2024-05-30 21:31:46 +02:00
ButterBetzi
27f264e99b feature: JK BMS: HA auto-discovery for battery temperatures 2024-05-30 21:21:14 +02:00
Bernhard Kirchen
19c8866dd4 fix: Victron MPPT HA auto-discovery: fix unit of temperatures 2024-05-30 20:13:47 +02:00
Bernhard Kirchen
a396e7da26 docs: explain usage of MCP2515 module 2024-05-30 17:58:55 +02:00
Bernhard Kirchen
167b1b4b3a docs: mention ADUM1201 to talk to Victron MPPTs 2024-05-30 17:58:24 +02:00
Bernhard Kirchen
6d1ad44672 docs: tell people to buy ESP32 with 8 MB of flash 2024-05-30 17:58:00 +02:00
Bernhard Kirchen
1f3972f08c docs: mention OpenDTU Fusion board as basic hardware 2024-05-30 17:57:13 +02:00
Bernhard Kirchen
0883bf3dce docs: do not tell users to custom-build because of pins assignments 2024-05-30 17:40:51 +02:00
Bernhard Kirchen
d821dc0e00 docs: device profile docs fully moved to wiki 2024-05-30 17:39:50 +02:00
Bernhard Kirchen
286e22b61a README: update documentation links
the canonical link to the upstream docs is "opendtu.solar".
2024-05-30 17:28:38 +02:00
Bernhard Kirchen
6ab1b41f78 fix: project's name is 'OpenDTU-OnBattery' (capital 'O')
there were 47 matches in the repo for "OnBattery", but only 17 for
"onBattery". Also, the repo's name on github uses a capital 'O'.
2024-05-30 13:55:44 +02:00
Thomas Basler
5af7e67de7 Upgrade ESP Async WebServer from 2.9.5 to 2.10.0 2024-05-30 00:11:57 +02:00