Skip to content

mkuthan/solis-cloud-control

Repository files navigation

Solis Cloud Control Integration

CI codecov GitHub Release

This is the Solis Cloud Control API integration for Home Assistant. It allows you to read and control various settings of your Solis inverter. See my blog post for inspiration how to use this integration: Home Assistant Solar Energy Management.

Note

If your primary goal is to monitor data from the Solis Cloud Monitoring API, you might want to explore the Solis Sensor Integration.
Both integrations are complementary and can be used together to enhance your Home Assistant setup.

Installation

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

After installation restart Home Assistant.

Configuration

Open your Home Assistant instance and start setting up a new integration.

or add integration manually:

  1. Go to "Configuration" > "Integrations"
  2. Click on the "+" button in the bottom right corner
  3. Search for "Solis Cloud Control"
  4. Click on "Solis Cloud Control" to add the integration

Follow the configuration steps:

  1. Enter your Solis API key and token
  2. Select the inverter you want to control from the list

After successful configuration, the integration creates a new entity for your inverter. This entity includes the model name, model identifier, firmware version, and serial number.

Device Information

Supported devices

All Solis inverters should be supported, although the integration has been tested with the following models:

Model Name Model Id Type
S6-EH3P(8-15)K02-NV-YD-L 3331 hybrid
S6-EH3P(5-10)K-H 3306 hybrid
RHI-3P(3-10)K-HVES-5G CA hybrid
S6-GR1P(2.5-6)K 0200 string
S5-GR3P(3-20)K 0507 string

Note

If your inverter is not listed above, please open a GitHub issue using the "New Solis Inverter Support Request" template. Include your inverter's model name, model identifier, and a downloaded diagnostics report.

Features

The integration provides a user-friendly interface to control your inverter settings. It allows you to:

  • ⚡ Control storage modes: "Self-Use", "Feed-In Priority" and "Off-Grid" 🟢
  • ⏱️ Schedule charge and discharge slots 🟢
  • Switch the inverter on or off 🟢 ⚪️
  • Toggle "Battery Reserve" 🟢
  • Toggle "Allow Grid Charging" 🟢
  • Set maximum output power 🟢
  • Set maximum export power 🟢
  • Set power limit ⚪️

🟢 - Hybrid inverter
⚪️ - String inverter

Inverter Controls

It also provides battery related sensors:

Inverter Sensors

Note

If the inverter doesn't support a specific feature, the integration disables the corresponding controls in the UI.

Non-functional features

The integration also meets several non-functional requirements:

  • 📦 Batch reading of all inverter settings in a single request to fit within the Solis Cloud API limits.
  • 🔄 Retry logic for API requests to mitigate API stability issues.
  • ✅ After changing an inverter setting, the integration reads back the updated value from the inverter to verify that the change was applied successfully.
  • 🏡 Follows Home Assistant best practices for integration development to ensure a seamless and reliable user experience.

Local Development

  1. Install uv tool.
  2. Install project dependencies using uv sync command.
  3. Run the integration locally using ./scripts/run script and open the UI at http://localhost:8123
  4. Configure the integration using the Home Assistant UI.

Testing

Run all tests:

uv run pytest

Run a single test:

uv run pytest --cov-fail-under=0 tests/test_init.py

Releasing

To release a new version, create a new tag and push it to the repository:

git tag v1.0.1
git push origin v1.0.1

To release a new alpha version, create a new tag with the alpha, beta or rc suffix and push it to the repository:

git tag v1.0.1-alpha.1
git push origin v1.0.1-alpha

About

Home Assistant integration for Solis Cloud Control API

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •