-
-
Notifications
You must be signed in to change notification settings - Fork 12
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
Add SRNE ASF config example #62
base: main
Are you sure you want to change the base?
Conversation
@syssi, my RS485-TTL converter finally arrived. I did the wiring, but I was not able to read any data still. This is the diagram I used: This is how it ended up like: This is my config: And this is what I found in the logs:
Do you have any idea? I'm sure the registers are correct, because I am able to read the inverter data through USB through PythonProtocolGateway, which uses the same registers. |
The At your YAML configuration you are using GPIO43 & GPIO44 as TX/RX pins:
At your photo the RS485 converter is attached to RXD (GPIO3) and TXD (GPIO1). Could you attached the converter to GPIO43/GPIO44 and provide another log? |
In fact these pins number are correct for my board: I was also able to connect it to the Daly BMS UART directly (through the ESPHome Daly HKMS PR), and it worked fine. So I really don't think that's the issue. But the fact there's no incoming data, that's something to think about. I hope my inverter isn't malfunctioning. |
Another idea: Do you have a second ESP and RS485 converter to make sure the setup works in general?
|
I have a ESP8266 lying around, and a couple of RS485-TTL converters to spare. But I'm a bit unsure how to set this test up. Anyway, let me double check this before going that route. Thanks for suggesting this option. The only guide I found about this connection is this one: https://community.home-assistant.io/t/srne-inverter-integration-help/609730 And it has a few gotchas I don't understand:
There's also a chance that guide doesn't apply to my inverter, even though it is theoretically to the same series as mine (their is SRNE HF4850S80-H, mine is SRNE HF2430U60-100). |
Nevermind, it worked! I was checking my connections with a beeper and noticed the ESP GND was with bad contact. Turns out it wasn't pressed enough in my protoboard. It was the GND pin which I wire to the RJ45 pin 2 in the RS485 board. Now it can read my data just fine, apparently. |
@syssi, pretty much everything is working as expected. I just did some adjustments:
Another feedback: |
Something I noticed in my ESPHome logs is a bunch of
Do you have any idea if this is normal? |
Last question today: is it normal that these green and blue leds keeps flashing so much? I wonder whether this won't wear them. video_2024-11-18_01-59-33.mp4 |
There is a LED attached to the TXD pin of your devboard. If you use/configure any other pin your could avoid the LED. |
Co-authored-by: Felipe Santos <[email protected]>
Co-authored-by: Felipe Santos <[email protected]>
Co-authored-by: Felipe Santos <[email protected]>
Thanks for your feedback! I've applied all suggestions and converted the boolean config settings into switches. |
TODOs: Fix serial number. PythonProtocolGateway do read these numbers ok, but I'm not sure it's the same registers (0x0035~0x0048). |
@syssi, looks like you based yourself in a protocol which is different to my inverter's. Maybe you should keep this part as is. PythonProtocolGateway also attempts to use these registers when using SRNE protocol 3.9. Mine's protocol is 1.96. |
accuracy_decimals: 1 | ||
filters: | ||
- multiply: 0.01 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe you are missing these two important registers, which are the inverter load voltage (phase A) and load current (phase A).
My inverter has only one phase, so only phase A reads data.
- platform: modbus_controller | |
modbus_controller_id: srne_0 | |
id: inverter_voltage | |
name: "Inverter Voltage" | |
address: 0x216 | |
unit_of_measurement: "V" | |
register_type: holding | |
value_type: U_WORD | |
accuracy_decimals: 1 | |
filters: | |
- multiply: 0.1 | |
- platform: modbus_controller | |
modbus_controller_id: srne_0 | |
id: inverter_current | |
name: "Inverter Current" | |
address: 0x219 | |
unit_of_measurement: "A" | |
register_type: holding | |
value_type: U_WORD | |
accuracy_decimals: 1 | |
filters: | |
- multiply: 0.1 |
Even though protocol 3.9 doesn't mention them, I suppose they should work, given the 0x218 (inverter frequency) works, which seems also not part of the 3.9 manual.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added.
See #28