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

implemented EPM functionality #36

Merged
merged 2 commits into from
Jun 27, 2024
Merged

implemented EPM functionality #36

merged 2 commits into from
Jun 27, 2024

Conversation

nextguyover
Copy link
Contributor

Added functionality for Solis Export Power Manager. Tested to be working for the Solis-EPM1-5G.

@hn
Copy link
Owner

hn commented Jun 23, 2024

Thanks for sharing! Frankly, I didn't know that Solis offered such an EPM device until today :)

You have slightly changed the way the RTC update is implemented. Is there a specific reason for this? Both ways are fine, yours is a bit more direct, but more source code bytes.

@nextguyover
Copy link
Contributor Author

nextguyover commented Jun 23, 2024

When I ported over your original RTC implementation for the inverter to the EPM, the EPM RTC wasn't being read correctly. From what I remember, it would read a timestamp like 00:00:00 and an incorrect date. This would cause it to set the time each update interval (setting time would work still work).

Changing it to use data[] fixed the issue for me. I don't fully understand your intention with the use of parsed float x as you have done in your original implementation, so I'm not exactly sure what was going wrong...

As per #35 I was unable to get RTC register ranges working on my inverter, so I wasn't able to test your RTC implementation on my inverter either.

@hn hn merged commit 92e6f96 into hn:master Jun 27, 2024
@hn
Copy link
Owner

hn commented Jun 27, 2024

For a text_sensor variable x is a hex (raw_encode: HEXBYTES) string. With word_from_hex_str you convert back the textual representation to binary.

I have adopted your solution without any changes. Now there are two slightly different approaches for time sync within the project, but since yours is tested, this is a good way to go.

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.

2 participants