Skip to content

Releases: ZuinigeRijder/SolisCloud2PVOutput

Added Battery SOC

10 Jul 07:36
Compare
Choose a tag to compare

Added Battery SOC. See this request.

Do not to forget to add/configure to soliscloud_to_pvoutput.cfg:
domot_batterysoc_id = 0
mqtt_batterysoc_id = batterysoc

Note that I could not test the battery SOC, because I do not have a battery.

removed random number for MQTT

25 Jan 07:55
Compare
Choose a tag to compare

Removed random number for MQTT, see this post: #30 (comment)

Support MQTT Broker, e.g. for HomeAsisstant, ioBroker

15 Jan 16:17
Compare
Choose a tag to compare

See this discussion

Note that there is now a dependency to paho_mqtt>=1.6.1, see requirements.txt

Following configuration items are added to soliscloud_to_pvoutput.cfg:

[MQTT]
send_to_mqtt = False
mqtt_broker_hostname = localhost
mqtt_broker_port = 1883
mqtt_broker_username =
mqtt_broker_password =
mqtt_main_topic = SolisCloud2PVOutput
mqtt_last_update_id = last_update
mqtt_power_generated_id = power_generated
mqtt_ac_volt_id = ac_volt
mqtt_inverter_temp_id = inverter_temp
mqtt_volt_id = volt
mqtt_solarpower_id = solarpower
mqtt_energygeneration_id = energygeneration
mqtt_batterypower_id = batterypower
mqtt_gridpower_id = gridpower
mqtt_familyloadpower_id = familyloadpower
mqtt_homeconsumption_id = homeconsumption

Note 1: set send_to_mqtt to True if you want to use this feature
Note 2: mqtt_broker_username and mqtt_broker_password are optional

Added soliscloud_station_index configuration item

12 Jan 08:39
Compare
Choose a tag to compare

Till now, always the first station in SolisCloud was retrieved.
But it is possible the first station is not the station you want to retrieve data from, see this issue: #29

The following configuration item has been added to soliscloud_to_pvoutput.cfg:

soliscloud_station_index = 0

The soliscloud_station_index information has been added to the README:

The soliscloud_to_pvoutput.py script will get the station id via the configured soliscloud_station_index (default the first station) with the secrets of SolisCloud (see next section). Thereafter it will get the inverter id and serial number via the configured soliscloud_inverter_index (default the first inverter).

And this section has been updated: Configuration with multiple inverters in one SolisCloud station

Adaptions to the SolisCloud2PVOutput solution and configuration to support variations in use

22 Jun 13:52
Compare
Choose a tag to compare

Because I see some forks or local adaptions for people wanting a slightly different behavior, I made some adaptions to the SolisCloud2PVOutput solution and configuration to capture (some of) those variations.
Now the following is possible:

  • made it possible to have the config files not in the current directory, but just use the directory where the python script is located
  • use AC voltage instead of DC Voltage for the PVOutput Voltage field (setting pvoutput_fill_voltage_with_ac_voltage)
  • do NOT send the inverter temperature to PVOutput (setting pvoutput_fill_temperature_with_inverter_temperature)
  • extra values possible to send to Domoticz (see above), when domot_[name]_id is 0, it will NOT be send to domoticz
  • instead of misusing the PVOutput PowerConsumption field for the AC voltage, you can also use FamilyLoadPower or HomeConsumption (setting pvoutput_fill_power_consumption_with_familyloadpower, pvoutput_fill_power_consumption_with_homeconsumption, pvoutput_fill_power_consumption_with_ac_voltage)

Note 1: for the last bullet, you need to have a Solis Consumption Monitoring solution installed, also supported is a Solis hybrid inverter with battery storage.

Note 2: make sure that you move send_to_pvoutput setting to the [PVOutput] section, if you have an already existing configuration.

Change in soliscloud_to_pvoutput.cfg the following lines with your above obtained secrets and domoticz configuration, including if you want to send to PVOutput, Domoticz or both. By default only output is send to PVOutput:

[api_secrets]
soliscloud_api_id = 1300386381123456789
soliscloud_api_secret = 304abf2bd8a44242913d704123456789
soliscloud_api_url = https://www.soliscloud.com:13333
soliscloud_inverter_index = 0
pvoutput_api_key = 0f2dd8190d00369ec893b059034dde1123456789
pvoutput_system_id = 12345

[PVOutput]
send_to_pvoutput = True
pvoutput_fill_temperature_with_inverter_temperature = True
pvoutput_fill_voltage_with_ac_voltage = False
pvoutput_fill_power_consumption_with_familyloadpower = False
pvoutput_fill_power_consumption_with_homeconsumption = False
pvoutput_fill_power_consumption_with_ac_voltage = True

[Domoticz]
send_to_domoticz = False
domot_url = http://192.168.0.222:8081
domot_power_generated_id = 0
domot_ac_volt_id = 0
domot_inverter_temp_id = 0
domot_volt_id = 0
domot_solarpower_id = 0
domot_energygeneration_id = 0
domot_batterypower_id = 0
domot_gridpower_id = 0
domot_familyloadpower_id = 0
domot_homeconsumption_id = 0

Avoid exiting program when SolisCloud returns not filled data

31 May 06:22
Compare
Choose a tag to compare

I encounter that SolisCloud returned data without error, but the data was not filled correctly. As a result an exception occurred and the program exited. Fortunately I noticed it, so I could start the script the same day again.

Added a try/catch and when such an exception occurs, wait one minute and try again.

Also renamed some variables for better readability.

Added support for multiple inverters

12 May 09:22
Compare
Choose a tag to compare

See this discussion.

Added configuration item (make sure to add this new configuration item to soliscloud_to_pvoutput.cfg if you have an existing configuration) :

  • soliscloud_inverter_index = 0

Added below information about multiple inverters to the README.md.

Domoticz

Domoticz is a very light weight home automation system that lets you monitor and configure miscellaneous devices, including lights, switches, various sensors/meters like temperature, rainfall, wind, ultraviolet (UV) radiation, electricity usage/production, gas consumption, water consumption and many more. Notifications/alerts can be sent to any mobile device.

If you want to know how to configure in Domoticz your inverter, see this discussion.

alt text

alt text

Configuration with multiple inverters in one SolisCloud station

Make 2 PVOutput accounts (you need 2 email addresses) for each inverter a separate PVOutput account. Make sure to configure the PVOutput accounts and get the PVOutput API keys.

The solution is to have 2 scripts running in different directories (one for each inverter) and for the each directory you do modifications, e.g. the configuration to get the appropriate inverter and send the output to a appropriate PVOutput account as target.

Create two directories, copy the SolisCloud2PVOutput files to each directory and configure in each directory soliscloud_to_pvoutput.cfg:

  • solis
  • solis2

In solis2 directory you change the following:

  • modify soliscloud_to_pvoutput.cfg to point the second PVOutput account secrets and change the soliscloud_inverter_index to 1 (to get the data of the second inverter)
  • rename solis.sh to solis2.sh and modify solis2.sh to go to directory solis2 (line 9: cd ~/solis2)

Have two cronrabs running (for solis.sh and solis2.sh)

Combined data of two PVOutput accounts/inverters

if you also want the combined data of the two inverters, use a third PVOutput account (yet another email address) and use my python tool CombinePVOutputSystems.

Fixed DOMOTICZ Volt value

08 May 05:56
Compare
Choose a tag to compare

minor domoticz fixes/defaults

07 May 10:17
Compare
Choose a tag to compare
  • Check for DOMOTICZ_POWER_GENERATED_ID not zero
  • Default domoticz id's are zero (so id is not send)

added option to send to pvoutput and/or to domoticz

06 May 12:44
Compare
Choose a tag to compare

Added option to send to pvoutput and/or to domoticz.
Please make sure to add and configure new configuration lines to soliscloud_to_pvoutput.cfg if you had already installed SolisCloud2PVOuptup before:

  • send_to_pvoutput = True
  • [Domoticz]
  • send_to_domoticz = False
  • domot_url = http://192.168.0.222:8081
  • domot_power_generated_id = 214
  • domot_ac_volt_id = 215
  • domot_inverter_temp_id = 0
  • domot_volt_id = 0