Skip to content

Update Branch #403

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 179 commits into
base: feature-eebus
Choose a base branch
from
Draft

Update Branch #403

wants to merge 179 commits into from

Conversation

julispace
Copy link

Update feature-eebus to current master branch.

MattiasTF and others added 30 commits March 17, 2025 12:09
Change the inner workings to the same pattern as the SunSpec scan.
By default arduino-esp32 accepts a new firmware as good immediatly
after boot.

Change this behavior to rollback to the previous firmware if the new
one reboots unexpectedly in the first 5 minutes. Intentional reboots
in the first 5 minutes mark the firmware as new again, restarting the
5 minute period on the next boot.

Also add new debug APIs to manually switch between the two firmware
slots: firmware_update/reboot_{app0,app1,other}
From undefined/undefined to valid/invalid. Flashing a new firmware
via USB during the build process only updates the app0 partition
and leaves the app1 partition untouched. But the app1 state gets
set to undefined making it bootable again. Avoid rollback to app1
with unknown content by marking it invalid.
Add custom app description to app image to be allow showing the
version of the rolled back firmware.
Fix Ethernet staying in a disconnected state because of a missing GOT_IP event.

When a DHCP lease can't be renewed, a LOST_IP event is fired, but when the DHCP server
subsequently offers the same address as before, no GOT_IP fires because it only fires
on address change and the address did not change compared to before, in this case.
As a workaround, restart the DHCP client and clear the old address when a LOST_IP event
fires, so that the next DHCP reply will properly produce a GOT_IP event.
'this' and a uint32_t fit into the std::function structure but 'this' and a micros_t do not,
so convert to millis and uint32_t before the lambda and capture that.
rtrbt and others added 30 commits April 4, 2025 12:15
gzipped event log requires ~7,5k.
Don't attempt to re-schedule the update task during the setup stage
because it's not supposed to be started until the register_urls stage.
Doing so will result in multiple update tasks being scheduled at the
same time.
Auto-detect DST setting instead of relying on unitialized data.
... instead of removing and immediately adding them again.
On a multi-core system, using the non-reentrant variant of localtime
can cause race conditions. Use localtime_r instead.
- Calculate totals for today, tomorrow and remaining today in the back-end and maken them available via API.
- Rewrite range calculations.
- Reorder update period calculation to correctly handle periods between 30 and 60 seconds.
- Remove dead front-end code.
The cloudy solar forecast icon was never shown because
the forecast threshold was 5 Wh instead of 5 kWh.
Change minimum grid current for dynamic load management to 20A.
Apparently, some homes have such small fuses.
Changing the station mode's bandwith seems to interfere with pre-existing IGMP memberships.
Therefore, the bandwidth can only be set directly after enabling the interface.

Also wait for the AP interface to start because a user reported an error when setting the bandwith with no delay.
Both enums map None to the same value, no functional change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants