Home Assistant custom integration for Solis Cloud inverter telemetry.
Version 2.0.0 introduces a new, cleaner sensor model so the integration can support a wider range of Solis products over the long term: string/on-grid inverters, multi-PV-string systems, hybrid/storage models, and installations that expose battery/load/grid telemetry through SolisCloud.
If your current Home Assistant dashboards, automations, or Energy Dashboard configuration depend on v1 entity names, do not upgrade until you are ready to migrate. The v1.0.3 release remains available on GitHub for users who need the original entity model. Future enhancements and fixes will target v2.
The v1 integration used short, simple sensor keys such as current_power, energy_total, and grid_voltage. That worked for basic on-grid inverter monitoring, but it became ambiguous once hybrid/storage, PV2, load, and grid import/export support were requested.
v2 uses more explicit names:
inverter_ac_powerinstead of genericcurrent_powerinverter_generation_total_energyinstead of genericenergy_totalgrid_l1_voltageinstead of genericgrid_voltage- separate home/load/backup/grid import/export/battery sensors where SolisCloud exposes them
Unsupported model-specific values become unavailable/empty; they should not break existing production telemetry.
This integration is intentionally small and telemetry-focused: modern Home Assistant entities, a simple coordinator-based poller, no control stack, and no legacy portal compatibility layer. The goal is fast, lightweight SolisCloud monitoring with clear entity names and low maintenance overhead.
- Polls the Solis Cloud
/v1/api/inverterDetailendpoint every 60 seconds, with/v1/api/stationDetailas a fallback source for station-level grid/load energy values. - Discovers up to five inverters linked to the API user automatically.
- Supports clean v2 sensors for inverter production, PV strings, grid AC, battery/storage, load/backup, and grid import/export telemetry.
- Adds conservative night-noise handling for tiny phantom AC production values when PV/DC evidence indicates no generation.
- Creates Home Assistant devices populated with model, firmware, and serial metadata.
- Home Assistant 2024.8 or newer.
- Solis Cloud API key and secret with access to the target station.
- Reliable internet access from the Home Assistant host.
- In HACS, open
Integrations→+ Explore & Add Integrations. - Search for Solis Cloud Monitoring, open the entry, and click
Download. - Restart Home Assistant to load the integration.
- Copy
custom_components/solis_cloud_monitoringinto/config/custom_components/on your Home Assistant instance. - Restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration.
- Search for Solis Cloud Monitoring.
- Enter your Solis Cloud API key and API secret.
- Complete the flow once the inverters attached to the account are validated.
All detected inverters are monitored. The update interval is fixed at 60 seconds, which keeps requests within the Solis Cloud limit for up to five inverters.
- Enable API access on your Solis Cloud account at https://www.soliscloud.com/.
- Submit a ticket at https://solis-service.solisinverters.com/en/support/tickets/new using an account on the Solis Support Center.
- After approval you receive an API key, secret, and base URL. The integration currently expects
https://www.soliscloud.com:13333/; if your account is provisioned on a different host, please open an issue and include the URL so compatibility can be added.
Many Luminous grid-tied systems are white-labeled Solis units. Use the global Solis Cloud portal, not the Luminous app, at https://www.soliscloud.com/ to register your logger stick and station.
Bind the data-logger serial number to the station after the plant appears in Solis Cloud. The logger SN, not the inverter SN, ties the plant to your account. Once the station reports live data, request API access through Solis Support and enter the granted API key/secret into the Home Assistant config flow.
Disclaimer: this reflects personal experience only. Luminous and Solis support teams may change the workflow or refuse API access.
Sensors follow the pattern:
sensor.solis_<last4serial>_<sensor_key>
Example:
sensor.solis_7177_inverter_ac_power
Each inverter appears as a separate Home Assistant device with manufacturer, model, firmware, and serial metadata.
inverter_ac_powerWinverter_dc_powerWinverter_generation_today_energykWhinverter_generation_month_energykWhinverter_generation_year_energykWhinverter_generation_total_energykWhinverter_temperature°Cinverter_daily_runtimehinverter_stateenum
pv1_voltageV,pv1_currentA,pv1_powerWpv2_voltageV,pv2_currentA,pv2_powerWpv3_*throughpv24_*are also created for larger multi-string inverters when SolisCloud reports those fields
grid_l1_voltageV,grid_l1_currentAgrid_l2_voltageV,grid_l2_currentAgrid_l3_voltageV,grid_l3_currentAgrid_frequencyHzgrid_active_powerW, when SolisCloud providespSum/psum
battery_soc%battery_soh%battery_powerWbattery_voltageVbattery_currentAbattery_charge_today_energykWhbattery_charge_total_energykWhbattery_discharge_today_energykWhbattery_discharge_total_energykWh
home_load_powerWtotal_load_powerWbypass_load_powerWhome_load_today_energykWhhome_load_total_energykWhbackup_load_today_energykWhbackup_load_total_energykWh
grid_import_today_energykWhgrid_import_month_energykWhgrid_import_year_energykWhgrid_import_total_energykWhgrid_export_today_energykWhgrid_export_month_energykWhgrid_export_year_energykWhgrid_export_total_energykWh
collector_stateenum
For solar production, prefer the new total generation sensor where available:
sensor.solis_<serial>_inverter_generation_total_energy
For grid import/export or battery charge/discharge, prefer total lifetime energy sensors rather than daily counters when your inverter reports them.
Examples:
- Grid import:
grid_import_total_energy - Grid export:
grid_export_total_energy - Battery charge:
battery_charge_total_energy - Battery discharge:
battery_discharge_total_energy
Daily counters are still exposed for visibility, but total counters are usually safer for long-term Home Assistant Energy Dashboard statistics.
v2 is intentionally breaking. Common replacements:
| v1 sensor key | v2 sensor key |
|---|---|
current_power |
inverter_ac_power |
dc_power |
inverter_dc_power |
energy_today |
inverter_generation_today_energy |
energy_month |
inverter_generation_month_energy |
energy_year |
inverter_generation_year_energy |
energy_total |
inverter_generation_total_energy |
grid_voltage |
grid_l1_voltage |
grid_current |
grid_l1_current |
grid_frequency |
grid_frequency |
daily_runtime |
inverter_daily_runtime |
inverter_state |
inverter_state |
inverter_temperature |
inverter_temperature |
pv1_voltage |
pv1_voltage |
pv1_current |
pv1_current |
pv1_power |
pv1_power |
If your dashboards or automations use v1 entity IDs, update them after installing v2.
Not every Solis inverter reports every field. On standard on-grid/string inverters, many battery/load/grid import/export sensors may remain unavailable. That is expected.
If a new sensor looks wrong or remains unavailable on a model that should support it, please open a GitHub issue or PR with:
- inverter model
- which sensor is wrong or unavailable
- expected value as shown in SolisCloud
- a sanitized
/v1/api/inverterDetailpayload if possible
Please redact serial numbers, station IDs, collector IDs, user IDs, location, API keys, signatures, and secrets, but leave telemetry field names and numeric values intact.
Report issues at the GitHub repository and include debug logs from custom_components.solis_cloud_monitoring when filing a ticket. For new inverter models, attach a sanitized dump from testing/solis_api_tester.py so entity support can be assessed.