esphome / esphome/feature-requests
Ginlong Solis solar inverter: RS485 'COM' connection
- Dominant language
- No language data
- Stars
- 450
- Forks
- 29
- PR merge metrics
- No merged PRs in 30d
Description
**Describe the problem you have/What new integration you would like**
I would like to add a component to connect an esphome device directly to my Ginlong Solis solar inverter, using the RS485 COM port on the bottom (used by their proprietary wifi stick), to collect and send data to home assistant directly within my local network (eliminating current dependence on the solis cloud service).
I have developed an external component that works for my specific setup, as a piggyback on the existing wifi stick. I've worked out one specific inverter's protocol. However, I'd be interested in tidying this up and building it into esphome if others had interest in a similar application, and may need to plan for this to support multiple protocols from the outset (I'm pretty sure there's quite a variety among solis inverters).
https://github.com/grob6000/esphome-externalcomponents
What I propose is to build the above into esphome as a built-in component, with:
- A config line for 'protocol' in case there are more out there that I haven't decoded yet - and these can be implemented over time.
- Also, my current implementation requires the manufacturer wifi stick to be present to work - I'd need to extend this to allow periodic sending the request messages (with a config line to select master or piggyback mode).
I would also appreciate feedback from the community (and others who might be looking for something similar) about the above and how you'd like to see it implemented.
**Please describe your use case for this integration and alternatives you've tried:**
I've tried the home assistant soliscloud integration (via HACS). This works well! However it has a couple of fundamental drawbacks for me:
1. Use of an external cloud service (dependence on this service, internet connectivity to function)
2. 5-minute or so frequency of datapoints
3. 1~5 minute delay of data between the actual state of the inverter and the sensor state in home assistant (due to the long path travelled: inverter --> rs485 --> solis wifi stick --> solis cloud --> soliscloud api --> home assistant).
**Additional context**
My supposedly smart mains meter has a blinking light which blinks on both import and export (no way to know which though!). In my use case, the concept was to use the solar inverter's generation data and consumption data from another current transformer meter as a way to calculate the momentary import/export power from my house. I can use the relative size of the solar and consumption power values to determine the import/export direction at any time, and count the pulses of the mains meter to get a figure for import/export kWh pretty close to what my power company sends me in the post once a month: but LIVE! However, critical in this case is that the solar generation and consumption measurements are reliable and highly contemporaneous. With rapidly changing solar generation (e.g. clouds), a few minutes of incorrect direction would count a fair number of pulses in the wrong direction and lead to error.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked external component repository and the described Ginlong Solis RS485 protocol implementation. Compare the current piggyback approach with the proposed master mode and protocol configuration, then determine whether the design can support multiple inverter protocols. Done would mean a maintainable built-in component that communicates locally without requiring the proprietary Wi-Fi stick.
Written by the indexing model from the issue text.
Assessment
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100