Commit Graph

88 Commits

Author SHA1 Message Date
Bernhard Kirchen
80a84e5e09 actions: use RELEASE_TOKEN to create a release 2024-10-22 22:19:17 +02:00
Bernhard Kirchen
9de71fe63c cpplint: use cpplint version 1.6.1 for now
when upgrading to cpplint 2.0.0, C-style casts are flagged. since many
of them are in libraries, we will use version 1.6.1 until we figure out
whether we shall ignore C-style casts or if we will replace them.
2024-10-07 21:20:16 +02:00
Bernhard Kirchen
0a289bbcab Revert "Feature: Support for W5500 ethernet module (#1231)"
This reverts commit 89d9a40296.
2024-09-30 20:59:22 +02:00
Bernhard Kirchen
aa159fd8ee prevent actions from running twice when pushing to PRs 2024-09-27 20:45:04 +02:00
Bernhard Kirchen
a7dbf0a12e issue template: turn environment input into dropdown 2024-09-26 22:08:53 +02:00
Bernhard Kirchen
de171c5bcc issue template: fix phrasing 2024-09-26 22:08:53 +02:00
Bernhard Kirchen
22d96fd8a5 issue template: fix typo 2024-09-26 22:08:53 +02:00
Bernhard Kirchen
411fe7e383 issue template: adjust all remaining occurences of "OpenDTU" 2024-09-26 22:08:53 +02:00
Bernhard Kirchen
2265992836 actions: prevent workflows triggering twice
the workflows running unconditionally for each push and each PR are run
twice when pushing to a branch that is to be merged by a PR and if that
branch is a branch local to the repo (rather than in a fork).
2024-09-23 21:53:33 +02:00
Bernhard Kirchen
503455dc51 webapp: switch to Node.js v22 2024-09-21 21:43:05 +02:00
Bernhard Kirchen
d1aad0b8e0 actions: enable corepack to use fixed version of yarn
this allows us to fix the version of yarn, the Node.js package manager,
to a particular version. using corepack is the recommended way to use
yarn these days.
2024-09-20 22:07:27 +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
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
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
82b28e3732 Merge upstream tag 'v24.8.5' into development 2024-08-06 21:05:21 +02:00
Thomas Basler
e279cf5cec Added hint in issue template that HMS-xxxW inverters are not supported 2024-08-05 18:31:31 +02:00
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
Bernhard Kirchen
5e3a53d8d3 Merge upstream tag 'v24.6.10' into development 2024-06-21 16:45:41 +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
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
Thomas Basler
2cde219317 Upgrade build action to support node 20 2024-04-29 23:17:40 +02:00
helgeerbe
ff44267e73 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into merge-v24.3.31 2024-04-03 11:53:03 +02:00
Thomas Basler
bdff1e1ac3 Added github workflow to do some repository cleanup 2024-03-31 22:39:59 +02:00
Bernhard Kirchen
fe7e622e2d pull requests: use a meaningful branch when building
This change makes the build runner switch to a meaningful branch name, which will then appear as the "Firmware Branch" in the System Info of the web application. This helps users testing pull-request builds identify that they are actually using the changes from the respective pull request.
2024-03-05 11:26:38 +01:00
helgeerbe
c72ae561c7 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2024-02-19 16:03:56 +01:00
Thomas Basler
79e5c642eb Bump actions/setup-python from 4 to 5 2024-02-12 19:41:17 +01:00
Thomas Basler
c4702915a7 Bump actions/cache from 3 to 4 2024-02-12 18:52:07 +01:00
helgeerbe
d494810975
merge V23.12.16 (#556)
* Optimize Sun data calculation

* Remove not required enum

* Split config struct into different sub structs

* Feature: Allow configuration of LWT QoS

* Made resetreason methods static

* Feature: Implement offset cache for "YieldDay"

Thanks to @broth-itk for the idea!
Fix: #1258 #1397

* Add Esp32-Stick-PoE-A

* remove broken LilyGO_T_ETH_POE config, use device profile instead

* Feature: High resolution Icon and PWA (Progressive Web App) functionality

Fix: #1289

* webapp: Update dependencies

* Initialize TaskScheduler

* Migrate SunPosition to TaskScheduler

* Migrate Datastore to TaskScheduler

* Migrate MqttHandleInverterTotal to TaskSchedule

* Migrate MqttHandleHass to TaskScheduler

* Migrate MqttHandleDtu to TaskScheduler

* Migrate MqttHandleInverter to TaskScheduler

* Migrate LedSingle to TaskScheduler

* Migrate NetworkSettings to TaskScheduler

* Migrate InverterSettings to TaskScheduler

* Migrate MessageOutput to TaskScheduler

* Migrate Display_Graphic to TaskScheduler

* Migrate WebApi to TaskScheduler

* Split InverterSettings into multiple tasks

* Calculate SunPosition only every 5 seconds

* Split LedSingle into multiple tasks

* Upgrade espMqttClient from 1.4.5 to 1.5.0

* Doc: Correct amount of MPP-Tracker

* Added HMT-1600-4T and HMT-1800-4T to DevInfoParser

Fix #1524

* Adjusted inverter names for HMS-1600/1800/2000-4T

* Add channel count to description of detected inverter type (DevInfoParser)

* Adjust device web api endpoint for dynamic led count

* Feature: Added ability to change the brightness of the LEDs

Based on the idea of @moritzlerch with several modifications like pwmTable and structure

* webapp: Update dependencies

* Update olikraus/U8g2 from 2.35.7 to 2.35.8

* Remove not required onWebsocketEvent

* Remove code nesting

* Introduce several const statements

* Remove not required AsyncEventSource

* Doc: Added byte specification to each command

* Feature: Added basic Grid Profile parser which shows the used profile and version

Other values are still outstanding.

* Optimize AlarmLogParser to save memory

* Add libfrozen to project to create constexpr maps

* Feature: First version of GridProfile Parser which shows all values contained in the profile.

* webapp: Update dependencies

* Apply better variable names

* Remove not required casts

* Add additional compiler flags to prevent errors

* Add const statement to several variables

* Replace NULL by nullptr

* Update bblanchon/ArduinoJson from 6.21.3 to 6.21.4

* Add const keyword to method parameters

* Add const keyword to methods

* Use references instead of pointers whenver possible

* Adjust member variable names in MqttSettings

* Adjust member variable names in NetworkSettings

* webapp: Update timezone database to latest version

* webapp: Beautify and unify form footers

* Feature: Allow setting of an inverter limit of 0% and 0W

Thanks to @madmartin in #1270

* Feature: Allow links in device profiles

These links will be shown on the hardware settings page.

* Doc: Added hint regarding HMS-xxxx-xT-NA inverters

* Feature: Added DeviceProfile for CASmo-DTU

Based on #1565

* Upgrade actions/upload-artifact from v3 to v4

* Upgrade actions/download-artifact from v3 to v4

* webapp: add app.js.gz

* Gridprofileparser: Added latest known values

Thanks to @stefan123t and @noone2k

* webapp: Fix lint errors

* Feature: Add DTU to Home Assistant Auto Discovery

This is based on PR 1365 from @CFenner with several fixes and optimizations

* Fix: Remove debug output as it floods the console

* Fix: Gridprofileparser: Add additional error handling if profile is unknown

* webapp: add app.js.gz

* Fix: Offset cache for "YieldDay" did not work correctly

* webapp: update dependencies

* webapp: add app.js.gz

* Fix: yarn.lock was outdated

* Fix: yarn build error

* Fix: Reset Yield day correction in combination with Zero Yield Day on Midnight lead to wrong values.

* Fix: Allow negative values in GridProfileParser

* Correct variable name

* Fix #1579: Static IP in Ethernet mode did not work correctly

* Feature: Added diagram to display

This is based on the idea of @Henrik-Ingenieur and was discussed in #1504

* webapp: update dependencies

* webapp: add app.js.gz

---------

Co-authored-by: Thomas Basler <thomas@familie-basler.net>
Co-authored-by: Pierre Kancir <pierre.kancir.emn@gmail.com>
2023-12-27 11:49:57 +01:00
Thomas Basler
382abeecd3 Upgrade actions/download-artifact from v3 to v4 2023-12-15 16:28:41 +01:00
Thomas Basler
00fb6445b9 Upgrade actions/upload-artifact from v3 to v4 2023-12-15 16:28:10 +01:00
helgeerbe
0085970567 Merge remote-tracking branch 'tbnobody/OpenDTU/master' into development 2023-11-16 09:20:08 +01:00
Thomas Basler
07e2c5998b Build webapp using nodejs v20 2023-11-15 16:40:04 +01:00
Thomas Basler
3d837bdd29 Upgrade actions/setup-node from v3 to v4 2023-11-15 16:39:09 +01:00
Thomas Basler
7b9ddb5033 Upgrade actions/checkout from v3 to v4 2023-11-15 16:38:30 +01:00
Thomas Basler
bd26d09564 Fix: build action fails due to ModuleNotFoundError: No module named 'pkg_resources':
Fix #1500
2023-11-15 16:36:46 +01:00
helgeerbe
6f7470feb4 fix: ModuleNotFoundError: No module named 'pkg_resources': 2023-11-15 14:07:27 +01:00
helgeerbe
28f46471bf set unique name for test_build action 2023-11-15 13:59:22 +01:00
helgeerbe
a004e94e57 create test_build action 2023-11-15 13:59:09 +01:00
helgeerbe
933345d659 remove manual builds from action 2023-09-22 18:05:49 +02:00
Philipp Sandhaus
7142921021
Integration of Victron SmartShunt via VE.Direct (#452)
* Move Mppt logic to subclass

* Added Definitions for Shunts and restructering

* First integration of SmartShunt data into Web Interface

* Code cleanup

* VE.Direct: whitespace cleanup

* VE.Direct: manage HardwareSerial in unique_ptr

* VE.Direct: _efficiency is only needed by MPPT

* VE.Direct: keep as many members private as possible

* VE.Direct: use int8_t for pins (as before)

* VictronSmartShunt: _verboseLogging is not used

* VE.Direct: OR (off reason) is MPPT specific

it also applies to Phoenix inverters and Smart BuckBoost, but since
there is no support for those, the code is moved to the MPPT controller.

* Added Shunt alarms to liveview
Changed from double to int for several readings

* Update build.yml to allow manual builds

---------

Co-authored-by: Philipp Sandhaus <philipp.sandhaus@cewe.de>
Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>
2023-09-22 17:24:57 +02:00