forked from tbnobody/OpenDTU
-
-
Notifications
You must be signed in to change notification settings - Fork 69
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 2024.09.11 #1252
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… charger * backport SPIPortManager from @skippermeister * adapt to support ESP32 and ESP32-S3 and ESP32-C3 * use logic to work with SPI numbering as in the official documentation: start with SPI0 and go up to SPI3 * increase Huawei CAN controller stack size to 2000 * increase startup delay for USB_CDC enabled builds to be able to catch bootlogs over USB
previously, we needed VE.Direct enabled to know the solar charge controller output, which solely decided when it was "nighttime". since this is now determined by the wall clock, we can offer this feature to users without a Victron charge controller connected using VE.Direct.
* update mqtt subscriptions when topic was changed * DPL/Huawei: manage MQTT subscriptions in map --------- Co-authored-by: Bernhard Kirchen <[email protected]>
official release builds are built from branch master, as the respective tags point to commits in branch master (only). to check whether or not a new version is available, we should check branch master for new commits. checking against HEAD does not work as expected, at least in the OpenDTU-OnBattery repo, since its default branch is "development", not "master". usually, there should be no commits on master in between releases, so we will now only show "update available" if a new release was made. this is not foolproof, but should work as long as we keep "master" clean. for builds from other branches, the comparison is perfomed against the respective branch. if a user installed a binary built by github actions based on a development branch, the user will see "update available" if new commits were added to the development branch since. for other branches, also pull request builds, the test for updates will fail as the branch name shown in the system info is not actually a branch name, e.g., "helgeerbe/OpenDTU-OnBattery/pr1183-202408212043".
the original implementation of the isDataValid() method worked by returning false if any of the charge controllers had invalid data. if no charge controllers were configured, this function then also needed to also return false. the logic was changed in 415c767 such that if at least one charge controller had valid data, the function would return true. this would have required to adjust the default return statement as well, but it was not. if the user enabled VE.Diret and configured at least one charge controller in the pin mapping, but this controller never delivered any data, the function would now errorneously return true, because the container is not empty. however, if no controller has valid data, this now means we exit the loop and then the return value must be false, which is also desired if the container is empty.
the SMA power meter implementation did not announce that it received a new datum, such that the power meter data age was never reset. this made the power meter values outdated and hence invalid, even though new values were received and processed.
we previously performed a whole new GET request when doing digest authentication. it seemed beneficial to reuse the TCP connection to perform the second GET request, which includes the authentication tokens. however, if the server sends "Connection: close" we must not requse the TCP connection for another HTTP request. this broke authentication against Shelly devices (at least those with original firmware). now we explicitly set "Connection: keep-alive" in our request, and reuse the TCP connection only if te server replies with "Connection: keep-alive" as well.
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.
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).
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.
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).
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.
Commit accc70d 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.
add pre-script to check if webapp was compiled or sources changed and auto compile. --------- Co-authored-by: Bernhard Kirchen <[email protected]>
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 #1226 (comment)
probably added during conflict resolving. these removed whitespace are not part of the upstream.
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.
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merges development branch into master branch.
This will be primarily a maintenance release.