Solarman integration
Home Assistant component for interacting with Solarman data collectors used with a variety of inverters.
https://github.com/StephanJoubert/home_assistant_solarman
Category: Renewable Energy
Sub Category: Photovoltaics and Solar Energy
Keywords
deye energy home-assistant home-automation homeassistant inverter sofar sol-ark solar solarman solis sunsynk
Keywords from Contributors
hacs dehumidifiers fans octopus-energy varta varta-storage solar-energy homeassistant-integration climate heaters
Last synced: about 19 hours ago
JSON representation
Repository metadata
Home Assistant component for Solarman collectors used with a variety of inverters.
- Host: GitHub
- URL: https://github.com/StephanJoubert/home_assistant_solarman
- Owner: StephanJoubert
- License: apache-2.0
- Created: 2021-11-14T10:52:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-08-05T00:16:11.000Z (9 months ago)
- Last Synced: 2025-04-20T12:10:31.197Z (7 days ago)
- Topics: deye, energy, home-assistant, home-automation, homeassistant, inverter, sofar, sol-ark, solar, solarman, solis, sunsynk
- Language: Python
- Homepage:
- Size: 865 KB
- Stars: 625
- Watchers: 34
- Forks: 212
- Open Issues: 358
- Releases: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
Solarman integration
Home Assistant component for interacting with Solarman data collectors used with a variety of inverters. The integration allows Home Assistant to connect in direct-mode over the local network to the collector to extract the information, and no cables are required.
It has been created with a 5kW DEYE/SUNSYNK inverter and since integrated with a variety of other inverters that uses the Solarman data collector.
This component uses Pysolarman by Jonathan McCrohan for the underlying protocol, and also provides service-access to the library for advanced users. See advanced.
Discord
Feel free to discuss the integration by joining the Discord server.
Installation
HACS
This method is prefered.
Manual
For this, it is highly recomended to use the "Samba share" add-on (you will need to enable advanced mode in your user profile).
Clone or download the repo, and copy the "solarman" folder in "custom_components" to the "custom_components" folder in home assistant.
After that, the folder structure should look as follows:
custom_components
├── solarman
│ ├── __init__.py
│ ├── const.py
│ ├── manifest.json
│ ├── parser.py
│ ├── solarman.py
│ ├── sensor.py
│ └── inverter_definitions
│ ├── {inverter-definition yaml files}
├── {other components}
Preparation
- Get the IP and Serial Number to use in the configuration.
Find the internal IP of the logger on the DHCP server, and then open a browser and navigate to that address. If you are prompted for a username/password, use "admin" as username and "admin" as password.
Once logged in, expand the "Device information" and note the Device serial number, as well as the IP used.
-
Check the version of the solarman logger. If the serial number starts with 17xxxxxxx, 21xxxxxxx or 40xxxxxxx (protocol V5), the component should work. If not, you may need to try the component for V4 of the protocol mentioned above.
-
On your DHCP server, reserve the IP for the WiFi data logger so that it will not change.
Configuration
This integration can be configured using config-flow, or by manually configuring using the configuration.yaml file. Both methods are described below:
Automatic (config flow)
- After the installation of this component, click on the "Configuration" tab on the left, then on "Devices & Services".
- Select the "Integrations" tab on the top of the screen, then on the "+ ADD INTEGRATION" button on the left-hand corner.
- Select the solarman integration.
4.Configure the entity by filling in the details.
Manual Configuration (configuration.yaml)
In your configuration.yaml file, add the solarman platform under "sensor".
Example:
sensor:
- platform: solarman
name: DEYE
inverter_host: 192.168.0.100
inverter_port: 8899
inverter_serial: 1720747149
inverter_mb_slaveid: 1
lookup_file: deye_hybrid.yaml
Parameters
Parameter | Description |
---|---|
name | This name will be prefixed to all parameter values (change as you like) |
inverter_host | The IP address of the data logger. (* see: autodiscover) |
inverter_port | Always 8899 |
inverter_serial | The serial number of the data collector (* see: autodiscover) |
inverter_mb_slaveid | The Modbus Slave ID of the inverter. Defaults to 1 |
scan_interval | Time in seconds between refresh intervals |
lookup_file | ** The yaml file to use for parameter-definition |
** This parameter is optional, and if not specified will revert to deye_hybrid.yaml. If you customize the parameters, create a lookup file "custom_parameters.yaml" and refer to it so that it will not be overwritten during updates.
Lookup Files
Lookup File | Inverters supported | Notes |
---|---|---|
deye_hybrid.yaml | DEYE/Sunsynk/SolArk Hybrid inverters | used when no lookup specified |
deye_sg04lp3.yaml | DEYE/Sunsynk/SolArk Hybrid 8/12K-SG04LP3 | e.g. 12K-SG04LP3-EU |
deye_string.yaml | DEYE/Sunsynk/SolArk String inverters | e.g. SUN-4/5/6/7/8/10/12K-G03 Plus |
deye_2mppt.yaml | DEYE Microinverter with 2 MPPT Trackers | e.g. SUN600G3-EU-230 / SUN800G3-EU-230 / SUN1000G3-EU-230 |
deye_4mppt.yaml | DEYE Microinverter with 4 MPPT Trackers | e.g. SUN1300G3-EU-230 / SUN1600G3-EU-230 / SUN2000G3-EU-230 |
sofar_lsw3.yaml | SOFAR Inverters | |
sofar_g3hyd.yaml | SOFAR Hybrid Three-Phase inverter | HYD 6000 or rebranded (three-phase), ex. ZCS Azzurro 3PH HYD-ZSS |
sofar_hyd3k-6k.yaml | SOFAR Hybrid Single-Phase inverter | HYD 6000 or rebranded (single-phase), ex. ZCS Azzurro HYD-ZSS |
solis_hybrid.yaml | SOLIS Hybrid inverter | |
solid_1p8k-5g.yaml | SOLIS 1P8K-5G | |
zcs_azzurro-ktl-v3.yaml | ZCS Azzurro KTL-V3 inverters | ZCS Azzurro 3.3/4.4/5.5/6.6 KTL-V3 (rebranded Sofar KTLX-G3) |
Auto-discovery
The component has the option to auto-discover the logger IP and serial number.
To use auto discovery, the IP should be specified as 0.0.0.0 and/or the serial as 0.
NOTE:
This should be used as a temporary or debug measure since the discovery only happens when the component starts and, if the logger is inaccessible at that point, the entities will unavailable until restart. This will not be the case when the IP and serial number were specified.
Manual
The section below shows an example configuration done using manual configuration. This is an option for those that want to customize the component for inverters not supported out of the box.
sensor:
- platform: solarman
name: DEYE
inverter_host: 0.0.0.0
inverter_port: 8899
inverter_serial: 0
inverter_mb_slaveid: 1
lookup_file: deye_hybrid.yaml
Config-flow
Entities
Once the component is running, it will add the following entities to Home Assistant.
Status Entities
Apart from the inverter-parameters, it will also add status entities to view the status of the solarman component (in the Diagnostic category).
Energy Dashboard
The entities includes the device classes to enable it to be added to the Energy Dashboard introduced with Home Assistant Core 2021.8.
To configure the energy dashboard with the infirmation provided by this component, see configuring energy dashboard.
Customization
This integration was tested against the DEYE 5kW inverter, and it is possible that the parameter-definitions for other inverters may differ. If you want to try your hand at it, refer to customizing parameters.yaml/
Owner metadata
- Name:
- Login: StephanJoubert
- Email:
- Kind: user
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/6028455?v=4
- Repositories: 1
- Last ynced at: 2023-03-04T01:25:29.334Z
- Profile URL: https://github.com/StephanJoubert
GitHub Events
Total
- Issues event: 43
- Watch event: 82
- Issue comment event: 173
- Pull request event: 13
- Fork event: 17
Last Year
- Issues event: 43
- Watch event: 82
- Issue comment event: 173
- Pull request event: 13
- Fork event: 17
Committers metadata
Last synced: 6 days ago
Total Commits: 235
Total Committers: 51
Avg Commits per committer: 4.608
Development Distribution Score (DDS): 0.766
Commits in past year: 2
Committers in past year: 1
Avg Commits per committer in past year: 2.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Stephan Joubert | s****t@g****m | 55 |
Jonathan McCrohan | j****n@g****m | 25 |
Andrea Nasoni | a****i@s****t | 18 |
Kolbi | M****b@2****e | 15 |
Dummy0815 | t****m@a****e | 12 |
Francisco R. Santos | f****s@g****m | 9 |
virtualdj | v****j | 9 |
Johan Bogema | 3****. | 7 |
lmn | 6****r | 5 |
nedyarrd | x****e@i****l | 5 |
William Brockhus | p****w@g****m | 5 |
NH-Networks | 2****s | 5 |
Sören Beye | g****b@h****e | 4 |
allx | a****l@g****m | 4 |
giona | i****o@g****t | 4 |
Claudio Bartoli | c****o@b****i | 3 |
kdceddj | k****j@g****m | 3 |
pepetheprawn | 1****n | 3 |
Łukasz Szeremeta | l****v@g****m | 3 |
Tommaso Toniolo | k****o@g****m | 3 |
David Ignjic | d****c@a****m | 2 |
Jan | c****e | 2 |
Kevin Becker | k****r@b****v | 2 |
Benjamin Gardiner | h****t@g****m | 2 |
NemesisXB | 4****B | 2 |
cosote | c****e@g****m | 2 |
kosmikza | 4****a | 2 |
wedhorn | h****k@w****t | 1 |
steve-cox | 3****x | 1 |
Aliaksei Hirylovich | a****h@o****m | 1 |
and 21 more... |
Committer domains:
- agrico.la: 1
- carstengrohmann.de: 1
- t-online.de: 1
- jensdiemer.de: 1
- telinformix.com: 1
- sam-dunne.com: 1
- reedyboy.net: 1
- wedhorn.net: 1
- byter.dev: 1
- agricircle.com: 1
- barto.li: 1
- giona.net: 1
- hypfer.de: 1
- interia.pl: 1
- arcor.de: 1
- 2-wheel-planet.de: 1
- sitrap.it: 1
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 282
Total pull requests: 71
Average time to close issues: about 1 month
Average time to close pull requests: about 2 months
Total issue authors: 256
Total pull request authors: 45
Average comments per issue: 5.63
Average comments per pull request: 2.52
Merged pull request: 28
Bot issues: 0
Bot pull requests: 0
Past year issues: 115
Past year pull requests: 19
Past year average time to close issues: 10 days
Past year average time to close pull requests: 3 months
Past year issue authors: 108
Past year pull request authors: 14
Past year average comments per issue: 3.35
Past year average comments per pull request: 0.74
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- PV-Joe (5)
- PietroAgnone (3)
- torsteinelv (3)
- Picard2002 (3)
- stamatakisa (3)
- sattel69 (3)
- onetoomany (2)
- adiweps (2)
- markodraca (2)
- OneScuzzie2k (2)
- igrabowsky (2)
- murraythegoz (2)
- denimassi (2)
- cyberrep (2)
- silviudc (2)
Top Pull Request Authors
- virtualdj (6)
- jmccrohan (4)
- nedyarrd (4)
- webartoli (3)
- Kolbi (3)
- honikos (3)
- agirilovich (2)
- Cyberbeni (2)
- gionaf (2)
- StackOverflowEx (2)
- CrazyUs3r (2)
- mateumann (2)
- frsantos (2)
- mrboogiee (2)
- NemesisXB (2)
Top Issue Labels
Top Pull Request Labels
Dependencies
- actions/checkout v2 composite
- hacs/action main composite
- actions/checkout v2 composite
- home-assistant/actions/hassfest master composite
Score: 10.822434752871493