Skip to content

hultenvp/solis-sensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hacs_badge

Control Beta Test

This repo includes a beta version of device control using the same API as the SolisCloud app. This opeartes slighty differently depending on your HMI firmware version. This should be detected automatically.

Please report any issues via https://github.com/fboundy/solis-sensor/issues

Version 4A00 and Earlier

The following controls should update the inverter immediately:

  • Energy Storage Control Switch
  • Overdischarge SOC
  • Force Charge SOC
  • Backup SOC

The timed change controls are all sent to the API using one command and so they won't update untill the Update Charge/Discharge button is pressed. The controls included in this are all three sets of the following (where N is slots 1-3)

  • Timed Charge Current N
  • Timed Charge Start Time N
  • Timed Charge End Time N
  • Timed Discharge Current N
  • Timed Discharge Start Time N
  • Timed Discharge End Time N

Note that all three slots are sent at the same time

Version 4B00 and Later

Six slots are available and include an SOC limit and a voltage (though the purpose of the voltage is not clear). Only the start and end times for each Charge/Discharge slot need top to be sent to the inverter together so the following are updated immediately (where N is slot 1-6):

  • Energy Storage Control Switch (fewer available modes than pre-4B00)
  • Overdischarge SOC
  • Force Charge SOC
  • Backup SOC
  • Timed Charge Current N
  • Timed Charge SOC N
  • Timed Charge Voltage N
  • Timed Discharge Current N
  • Timed Discharge SOC N
  • Timed Discharge Voltage N

Each pair of start/end times has an associated button pushfor charge there are 6:

  • Timed Charge Start Time N
  • Timed Charge End Time N
  • Button Update Charge Time N

And discharge:

  • Timed Discharge Start Time N
  • Timed Discharge End Time N
  • Button Update Discharge Time N

SolisCloud sensor integration

HomeAssistant sensor for SolisCloud portal. Still questions after the readme? Read the wiki or look at the discussions page

SolisCloud

❗The SolisCloud API is known to be unstable and can fail to respond resulting in "no inverter found" issues. See troubleshooting section. Join the discussion here to find out about known limitations and to ask questions.

SolisCloud is the next generation Portal for Solis branded PV systems from Ginlong.

The new portal requires a key-id, secret and username to function. You can obtain key and secret via SolisCloud.

  • Submit a service ticket and wait till it is resolved.
  • Go to https://www.soliscloud.com/#/apiManage.
  • Activate API management and agree with the usage conditions.
  • After activation, click on view key tot get a pop-up window asking for the verification code.
  • First click on "Verification code" after which you get an image with 2 puzzle pieces, which you need to overlap each other using the slider below.
  • After that, you will receive an email with the verification code you need to enter (within 60 seconds).
  • Once confirmed, you get the API ID, secret and API URL

Platform v2 (legacy, not maintained)

Platform V2 backend was used by Ginlong before being decomissioned in May 2023. The same backend API is also used for different PV inverter brand portals. The platform v2 integration logs in to the platform and exposes the data retrieved as sensors. Keeping as legacy for:

  • Solarman (home.solarman.cn)
  • Sofar solar (home.solarman.cn)

Platform V2 backend was used by Ginlong and MyEvolveCloud and the same backend is also used for different PV inverter brand portals. I've only tested it in context of Solis with the Ginlong platform. Since Ginlong now is decomissioned I have no further means to test and will not process change requests.

HACS installation

The use of HACS is supported and is the preferred means of installing this integration.

Manual installation

Create a directory called solis in the <config directory>/custom_components/ directory on your Home Assistant instance. Install this component by copying the files in [/custom_components/solis/]

This is how your custom_components directory should be:

custom_components
├── solis
│   ├── __init__.py
│   ├── config_flow.py
│   ├── const.py
│   ├── ginlong_api.py
│   ├── ginlong_base.py
│   ├── ginlong_const.py
│   ├── manifest.json
│   ├── sensor.py
│   ├── service.py
│   ├── soliscloud_api.py
│   ├── soliscloud_const.py
│   ├── strings.json
│   └── workarounds.yaml

Now restart your Home Assistant Instance before continuing to the next step

⚠️ Troubleshooting

SolisCloud is in production since 2021, but still suffers from instability. This can manifest itself as issues during setup, but also as regression/instabilities after service maintenance. Below are issues that were encountered in the past and some suggestions how to resolve/troubleshoot.

No inverters found

Repeated "No inverters found" errors that do not recover automatically within a few hours sometimes block a successful configuration. Check the following:

  • Check if the plant ID is present on SolisCloud. If missing then change the name of the installation by choosing "change information" on the top right of the overview page. After that a plantid is generated.
  • Try creating a new API key

HTTP 408 Error

Not a real limitation, but a feature of the API. It caused by differences of more than 15 minutes between your local time and server time. This can happen when you run HA in a VM. Update your local time.

Server timeouts

Just wait, they'll pass. Sometimes minutes, sometimes longer. This can be frustrating however if it happens during configuration.

The Chinese error message that translates into "Abnormal data"

Make sure debug is ON and make confirm you get an error messsage with Chinese text: [custom_components.solis.soliscloud_api] {'Success': True, 'Message': 'OK', 'StatusCode': 200, 'Content': {'success': True, 'code': '1', 'msg': '数据异常 请联系管理员', 'data': None}}.

  • Alternatively copy all files from the /test folder to a local machine and make sure you have python 3 installed. Edit apitest_async.py, add your key/secret and run the test app with python apitest_async.py. This test will call most API endpoints and return if the call was successful or not. You'll get the same Chinese error message if you have the "Abnormal data" problem.

Users have reported the following options as possible solutions:

  • File a ticket with Solis, to solve the issue. Be prepared to wait. Can take weeks
  • Deactivating (disable) the API administration in soliscloud.com and reactivating the API

Results may vary. Do not create new tickets for this issue, it is a server error and Solis servicedesk needs to fix it for you!

Configuration

The integration can be configured via the UI.

  • Go to Settings -> Devices and Services -> Click Add integration and select "Solis"
  • Select the right platform and platform URL to use and click "Submit"
  • If you add multiple configurations, make sure all of them have a unique name.

image

Soliscloud

  • Provide username, key id, secret and station id. If you want to add multiple plants just repeat "add integration" for each plant.

  • To get StationId:

    1. Log in to SolisCloud
    2. In the Plant Overview tab, under the Plant Name column, Click on your actual plant name, per the screenshot below:
    image
    1. Copy the 19-digit number from the URL: https://www.soliscloud.com/#/station/stationdetail_1?id=XXXXXXXXXXXXXXXXXXX and paste it in the station ID field:
    image

If the plant id in the overview page (https://soliscloud.com/#/station/stationdetail_1?id=xxxxxxxxxxx) is empty then you will get "no inverter found errors. Change the name of the installation by choosing "change information" on the top right of the overview page. After that a plantid is generated.

Ginlong platform v2 (deprecated, left in for legacy support)

  • Provide username, password and plant id. If you want to add multiple plants just repeat "add integration" for each plant.

Energy dashboard

The Solis integration now supports the energy dashboard introduced in Release 2021.8.

Note: This integration requires Home Assistant version 2021.9 or higher

dashboard integration energy production

Thanks

Big thanks & kudo's to @LucidityCrash for all the work on getting the SolisCloud support working!