Skip to content
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

Prepare Release 2025.01.23 #1574

Merged
merged 68 commits into from
Jan 23, 2025
Merged

Prepare Release 2025.01.23 #1574

merged 68 commits into from
Jan 23, 2025

Conversation

schlimmchen
Copy link
Member

Merges branch development into master.

tbnobody and others added 30 commits November 10, 2024 02:45
add Sum of DC power of all enabled inverters to Homeassistant MQTT autodiscovery
if a page uses the reload button, it had only 1 column of space, and
only if the viewport was at least "sm". this is not the case for typical
smartphones, in which case the reload button would appear on its own row
instead of to the right.

we now limit the heading to 10 columns if and only if the reload button
is to be used, otherwise the heading uses all 12 columns, regardless of
the viewport size. the reload buton uses two columns -- if it is
displayed at all.

the font size of the icon is increased slightly.

as the font size of h1 headings changes with the viewport size, we need
to center both the heading and the button vertically.
if variables are set with 'const foo = {} as Inverter', then
'foo.serial' will be undefined, causing warnings and errors
when using InputSerial.
* increase the spacing between the icon and the text.
* put the text into its own box so it does not flow around the icon.
* vertically center the icon to account for multiple lines of text.
* vertically center the text to account for a single line of text.

closes #1441.
For some reasons this leads to WDT resets on this kind of module.
This is just a workaround until another solution is found.
Goal of this change is to  prevent a overflow in the command queue by flooding it with MQTT commands and therefor also prevent  the reading of the inverter data.

To achieve this it is now possible to specify a insert type for each  queue element.
The third parameter should be a optional channel name and not a scan method. There exists a separate method for the scan method.
tbnobody and others added 28 commits January 14, 2025 18:37
…ch don't need a device profile

This patch introduces a define which allows to specifiy for each environment if a device profile is absolutly required.

Fixes tbnobody#2500
relying on updateInverters() to return false after requesting inverter
standby is not a good idea. the standby function will always set a new
limit, and the updateInverters() function may fail to recognize that no
change is actually required.

instead, we trigger the standby only once and rely on the
updateInverters() function being called as part of the DPL loop() to
apply the standby state.
merges the second version of upstream tag v25.1.14.
Always show mqtt battery live view card as it provides the data age
GIST_SECRET and the gist are living on my personal account as its not possible to have a gist on organisation level
… is below 15%"

Reverted as it leads to frequent high changes of the limit.
this changeset restructures and refactors the solar charger integration
to accomodate different solar charger data providers in the future. we
did only support (multiple) Victron SmartSolar MPPT charge controllers
using the VE.Direct interface, but will be able to integrate solar
output values for use by the DPL in the future.
adds support to integrate solar charge controller output power, current,
and voltage values from the MQTT broker, allowing the DPL to do
solar-passthrough with any solar charge controller hardware as long as
it publishes the relevant values to the MQTT broker.
The FUNDING.yml is used by github to show sponsorship links on the repository overview.
we really need to be quick in retrieving CAN messages when the MCP2515
signals its interrupt. we therefore increase the hardware interface
task's priority, so it is even higher priority than the Async TCP task.
more importantly, we need to ask the scheduler to preempt a low-priority
task and schedule the hardware interface task immediately, so we can
retrieve the CAN messages in time.
the previous implementaton by MalteSchm relied that the 0x81 output
current value was always the last one to be received. afterwards the
data would be pushed upwards the stack. I did not like that, as I think
that the values can potentially arrive in arbitrary order, as they are
encoded with a type for a reason. in practice, that is probably not the
case.

waiting to push the collected values up the stack until a new request is
sent has a significant drawback: once the values arrive at higher
software levels, they are already <poll interval> seconds old.

for that reason, I decided to restore the previous logic, where the
output current value triggers the completion of collecting values.
however, as a fall-back, the cached values are also pushed in case there
are still some when we send a new request.
after sending new parameters, immediately send a new request to poll the
new parameters, allowing to update the web UI in particular.
@schlimmchen schlimmchen merged commit ac14ce5 into master Jan 23, 2025
23 checks passed
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