-
Notifications
You must be signed in to change notification settings - Fork 10
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
Wallbox Integration #153
Wallbox Integration #153
Conversation
…rging Current working
Hi @bullitt186, |
Hi Torben, Thanks for the positive feedback 👍 Please let me know if you would like to see any other changes from my end before integrating the PR. by the way in the meantime i was able to verify that the toggle for "Wallbox Charging" works as expected. Cheer, |
Ah Bastian, I'm very sorry, that got lost in translation. |
Hmmm, That's odd. But maybe it's also a layer 8 problem on my end. Could you please doublechecked whether you submitted your PR review? ps - while searching for your comments, i realized my local PyLinter changed more formatting as I intended and this must have missed my attention. sorry. will fix this if neccesary. |
Nah, it was my Layer 8 :-) Klicking on "Submit review" helped, I guess. Sorry for that.
Yeah, thought that. If you have an idea how to configure the VSCode Workspace to have this consistently across all dev systems, I'd be happy to take an independant ticket and PR for this. I don't stick to a specific style of formatting, it just should be consistent, so that we don't reformat back and forth between us :) This probably has to include line lenghts, linter and formatter types etc., which would have to be set in the workspace config, not in the user config. I'm no expert for the options we've for vscode Python development, to be honest, so I'd be happy for input on this end. Cheers, Torben |
Ah yes, now i have your feedback to work with :-) Thank you. Regarding linting: I used my lunch break to explore this a little bit. I put my thoughts/results in this issue: #154 |
Hi guys, Any way I can support here wrt. end user testing? I do not see the new E3DC version in HACS for testing yet. Please let me know when I can test from my end. I do have an S10E Pro with an E3DC Wallbox Easy Connect. Cheers. |
Hi, I just committed the changes / review remarks by Torben after some more testing on my end. @neuromancer3142 - in order to find these changes in HACS, they need to be fully integrated + released first. I'd be curious to get some feedback. Cheers! Bildschirmaufnahme.2024-06-27.um.23.05.00.mov |
Happy to provide feedback. Easiest way for me would be to have it in one of the next releases and then give it a go. If that is not happening anytime soon, I will look into the download part. I fear of breaking my HA instance and not being able to fix it ;-). Cheers. |
We can push out a Beta release, I'll look into the PR today and check that. |
Thanks a lot Torben ... |
I think i found the cause for the odd switch behaviour, am currently working on it. so you may want to hold back your efforts for the beta release for a little bit. |
Hi @bullitt186,
I have seen this behavior before, yes. What I saw with weather regulated charging was about this:
I had to work around this in the coordinator to actually update the state immediately when I'm sending service commands to E3DC. Basically, you have to optimistically update the integrations internal state, hoping that the next poll will actually match this. Look at the following line for an example.
Another example:
You'd still have a last edge case in case a poll is already going on while you're temporarily patching the coordinator state. I haven't seen that so far, but in theory that's possible as we're running multi-threaded. That's why I'm using a guard variable to protect against this. I'm not sure if this is a true Python synchronisation style, but it did work so far. Any insights from a Python expert in multi-threading would be appreciated here :)
Cheers, Torben |
I guess as well there's a more native way to handle mutex but for now I copied your style. With the latest commits i did some more refinement, in summary:
In accordance to the quote "don't let perfect be in the way of better" i think this is ready to release to early adopters. |
cool thing, I'll go over it right away. |
I have the problem that only the settings for a wallbox are set for me and the battery score does not work for me from the car either, it is permanently displayed at 100%. |
All settings, i.e. phase switching, sun mode and other settings, are only occupied for one wallbox in my case, so I can't say whether the car battery score works because I haven't yet tried connecting it to the other wallbox where all functions work, so it may be that it does work, but only for the one wallbox I have two E3/DC Wallbox easy connect |
Hi @Thomansky I would expect that it is consistent throughout all sensors and switches that only one of the wall boxes information are shown or settings can be set. There should not be a mix between different wallboxes. Supporting multiple wall boxes is on the to do list but probably won't make it into the initial release. Regarding state of charge: I guess this depends on the communication between the specific vehicle and the wall box. I will investigate this a little bit. |
The car's charge level actually seems to be updated by 1% every 30 seconds until the value in Home Assistant is at the car's current value |
Is it not possible to choose which wallbox is prioritised? |
@Thomansky Within the HA integration, i just pass the values received by the Hauskraftwerk via a python library (https://github.com/fsantini/python-e3dc) through and am not altering any values. Maybe this is the system behaviour of the hauskraftwerk learning the SoC from the vehicle? Wallbox prioritization is not implemented in this library and i haven't seen this feature in E3DCs RSCP spec, so I'm afraid this is not available. However maybe you can mimic prioritization within HA with automations in a creative way? I created a new PR #155 which supports multiple wallboxes, so you may be able to use/test multiple ones soon. |
I finally managed to update to the latest beta. Generally working and happy with the added features. I cannot provide any further feedback to the already mentioned. Although I currently have only one wallbox, I’d support to have the wallbox as a different device compared to the converter. |
As discussed in #47, i implemented the Wallbox features of python-e3dc 0.9.2.
I could test the features on my S10X compact with a MultiConnect II:
I wasn't able to validate
As of now, only 1 Wallbox is supported.
As more than one Wallbox requires some entity name juggeling, i skipped this for now.
I had to add the button entity to this integration for the toggles.
I am happy for testers, suggestions and improvements.