Solar Configurations #174
Replies: 12 comments 37 replies
-
Huawei SUN2000 10ktl M1 http://modbusplugin/api/Modbus/GetValue?unitIdentifier=1&startingAddress=37113&quantity=2&ipAddress=inverterLocIP &port=502&factor=1&connectDelaySeconds=1&timeoutSeconds=10 |
Beta Was this translation helpful? Give feedback.
-
Kostal Plenticore+ 10 (w/ KSEM Kostal Smart Energy Meter & BYD HVS):
HomeBatterySoc Url :
HomeBatteryPower Url :
Inverter Power Url :
|
Beta Was this translation helpful? Give feedback.
-
Huawei SUN2000-5KTL-M1 Inverter & LUNA2000 Battery. Grid Power: HomeBatterySoc:
HomeBatteryPower: Inverter Power: |
Beta Was this translation helpful? Give feedback.
-
E3/DC S10E (should work with other E3/DC hardware too)Add following to the existing docker-compose.yml (same as TeslaMate and TeslaSolarcharger is in, before "volumes:" - block, this also downloads and runs https://github.com/vchrisb/e3dc-rest because E3/DC modbus would need weird calculation of grid and Home Battery Power. Also activate Modbus in Smart Functions - Smart Home - Modbus in E3/DC.
GridSource: Rest
HomeBatterySoc:Same as Grid but
HomeBatteryPower:Same as Grid but
Inverter Power:Same as Grid but
|
Beta Was this translation helpful? Give feedback.
-
Goodwe Inverter using Home Assistant Integration as a providerHome Assistant provides REST API to access a sensor values. Sensor values for Goodwe Inverter are provided by installing Goodwe Integration for Home Assistant. The "Source" REST of TSC can be used to get a values for Grid Power, Home Battery and Inverter. Tested with Goodwe Hybrid Inverter GW8K-ET - should work also with a Goodwe models supported by Goodwe Integration Prerequisites: Home Assistant is running, Goodwe Integration is configured, Tesla Solar Charger is running and a Car is configured in TSC. TSC Base Configuration The same values for all configurations
Values specific to configuration of Grid Power
Home Battery
Inverter
Once configured the TSC shows the values like this on an Overview screen: The Value of Power Buffer -1000 W is an example - set it according to documentation of TSC and your needs. |
Beta Was this translation helpful? Give feedback.
-
Growatt Inverters using Grott and HomeAssistantStep 1: Install GrottYou will need to install Grott, preferably using Docker: This is an example docker-compose file. You can also add the service to the existing one of TeslaSolarCharger. version: '3.3'
services:
grott:
network_mode: host
image: ledidobe/grott:2.8.2
container_name: grott
restart: unless-stopped
environment:
- TZ=Europe/Amsterdam
- gnomqtt=False
- ginvtype=sph Change the value for Once Grott is running make sure that your ShineWifi module (the Wifi Stick which is plugged into the inverter) can access your server. Either by redirecting port 5279 to it or by simply having the server in your home network. Step 2: Configure your ShineWifi ModuleNow comes the hard part: You need to configure your ShineWifi module to send all the data to your server instead of the Growatt cloud. Don't worry, grott by default will redirect it again to the Growatt cloud, so you will still be able to use their website and app. To configure your module you will need to factory reset it. To do this hold the button on it for 6-7s until all the 3 colored lights turn on. Then immediately let go of the button again. After that remove the ShineWifi adapter from your app. To do this click on the inverter in the middle of your energy overview and swipe left on your datalogger. Once that is done start to add a new datalogger again. As setup method use Hotspot mode. In the menu where it asks you to input your wifi credentials select advanced settings. There you need to change the target server from You can get the current inverter statistics by listening to the {
"device": "<SerialNumber>",
"time": "2023-11-04T15:29:02",
"buffered": "no",
"values": {
"datalogserial": "<SerialNumber>",
"pvserial": "<SerialNumber>",
"pvstatus": 5,
"pvpowerin": 13574,
"pv1voltage": 4145,
"pv1current": 17,
"pv1watt": 7250,
"pv2voltage": 3533,
"pv2current": 17,
"pv2watt": 6324,
"pvpowerout": 0,
"pvfrequentie": 5000,
"pvgridvoltage": 4046,
"pvgridcurrent": 6,
"pvgridpower": 4453,
"pvgridvoltage2": 4072,
"pvgridcurrent2": 6,
"pvgridpower2": 0,
"pvgridvoltage3": 4064,
"pvgridcurrent3": 6,
"pvgridpower3": 0,
"totworktime": 337054,
"eactoday": 2,
"pvenergytoday": 2,
"eactotal": 312,
"epvtotal": 402,
"epv1today": 5,
"epv1total": 210,
"epv2today": 4,
"epv2total": 192,
"pvtemperature": 268,
"pvipmtemperature": 282,
"pvboosttemp": 284,
"bat_dsp": 2177,
"eacharge_today": 5,
"eacharge_total": 24,
"batterytype": 1,
"uwsysworkmode": 5,
"systemfaultword0": 0,
"systemfaultword1": 0,
"systemfaultword2": 0,
"systemfaultword3": 0,
"systemfaultword4": 0,
"systemfaultword5": 0,
"systemfaultword6": 0,
"systemfaultword7": 0,
"pdischarge1": 0,
"p1charge1": 12200,
"vbat": 2177,
"SOC": 80,
"pactouserr": 0,
"pactousertot": 0,
"pactogridr": 0,
"pactogridtot": 0,
"plocaloadr": 1300,
"plocaloadtot": 1300,
"spdspstatus": 5,
"spbusvolt": 7154,
"etouser_tod": 0,
"etouser_tot": 4,
"etogrid_tod": 1,
"etogrid_tot": 184,
"edischarge1_tod": 7,
"edischarge1_tot": 43,
"eharge1_tod": 9,
"eharge1_tot": 79,
"elocalload_tod": 9,
"elocalload_tot": 190
}
} Step 3: Configure HomeAssistant for calculationsAs you might see Growatt doesn't provide total values for Gridpower or Batterypower. Only separate ones: mqtt:
sensor:
- name: "Growatt Gridpower"
unique_id: "growatt_grid_powertotal"
state_topic: "energy/growatt"
value_template: '{{ ((value_json["values"]["pactogridtot"] - value_json["values"]["pactousertot"]) * 0.1)| int }}'
unit_of_measurement: "W"
state_class: measurement
device_class: power
- name: "Growatt Batterypower"
unique_id: "growatt_battery_powertotal"
state_topic: "energy/growatt"
value_template: '{{ ((value_json["values"]["p1charge1"] - value_json["values"]["pdischarge1"]) * 0.1)| int }}'
unit_of_measurement: "W"
state_class: measurement
device_class: power
- name: "Growatt Battery SoC"
unique_id: "growatt_battery_soc"
state_topic: "energy/growatt"
value_template: '{{ value_json["values"]["SOC"] }}' You can also add the Inverter power by using Step 4: Configure TeslaSolarChargerConfiguring TSC now is very simple.
|
Beta Was this translation helpful? Give feedback.
-
Solaredge Inverters using SolarEdge Modbus Multi-Plugin via Modbus TCP and HomeAssistantPrerequisites
Step 1: Enable Modbus on your inverterYou need your inverter to expose its data via Modbus. There is a very extensive documentation on how to do this in the configuration-page of the plugin. There is also an alternative that worked for me: I just contacted the Solaredge support via WhatsApp and asked them to enable Modbus TCP for my inverter - and share back the unit ID and port. After a short conversation, they enabled it remotely. Be careful: for some inverters and some firmware versions, you need your inverter to be connected via LAN to your router - WiFi will NOT expose the Modbus protocol. Step 2: Configure the Solaredge Modbus Multi PluginThis is also well-described on the Plugin-page. I have set the update interval to 30 seconds instead of the default 5 minutes for a bit more snappy readouts. If you have a home-battery like I do and want to use it in TSC, make sure to enable After you have done this successfully, a lot of new sensors provided by the plugin should show up in your HA-installation - for example in your main dashboard. Step 3: Add a new custom sensor for Solar ProductionSolaredge has a strange way to report current solar production via their UI - and also via Modbus. The plugin just passes through those values - so we need to add a custom sensor to our HA-configuration in order to calculate the current power coming from your panels right now in the way that TSC expects it. Therefore, add this to your template:
- sensor:
- name: "Solar Panel Production W"
unit_of_measurement: "W"
icon: mdi:solar-power
state: >
{% set i1_dc_power = states('sensor.solaredge_i1_dc_power') | float(0) %}
{% set b1_dc_power = states('sensor.solaredge_b1_dc_power') | float(0) %}
{% if (is_state('sensor.solaredge_i1_dc_power', 'unknown') or is_state('sensor.solaredge_b1_dc_power', 'unknown')) %}
0
{% elif (i1_dc_power + b1_dc_power <= 0) %}
0
{% else %}
{{ (i1_dc_power + b1_dc_power) }}
{% endif %}
availability: >
{{ states('sensor.solaredge_i1_dc_power') | is_number and states('sensor.solaredge_i1_ac_power') | is_number and states('sensor.solaredge_b1_dc_power') | is_number }} Make sure to read in your configuration again in Home Assistant afterwards for the changes to become effective. Step 4: Configure TeslaSolarChargerThis is heavily inspired by Sebastians Step 4 above - as it basically works the same way. For every value in the BaseConfiguration, do the following:
And finally the actual URL's to use:
Step 5: Enjoy your installation and happy charging! |
Beta Was this translation helpful? Give feedback.
-
Query Solinteg inverters via modbus TCP (pylontec battery)Hi, here are settings for Solinteg Inverters (www.solinteg.com). Note: according to the manufacturer not every older inverter supports modbus, so don't put too much effort in before being sure that your inverter is modbus capable (a firmware update from solinteg may be necessary). You probably need the LAN module, WLAN is not supposed to work. Best thing to do: try out the swagger-ui on
Enjoy! |
Beta Was this translation helpful? Give feedback.
-
Peak: 11.86 kWp Please enter your IP accordingly instead. API must still be activated in the Fronius WR. To do this, log in as a customer and activate API under Communication / Solar. Yes, ModBus is certainly better, but this requires the technician PW, which I first have to get or don't even know if I can get. Grid: Patrick, thank you very much for your time and effort. The donation has just gone out! |
Beta Was this translation helpful? Give feedback.
-
Tesla PowerwallTo integrate the Tesla Powerwall you can use the Powerwall plugin for TeslaSolarCharger. Follow the instructions on https://github.com/jbuchner/pwgateway All values required by the TeslaSolarCharger can be retrieved via this plugin. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Configuration for eGauge EG3010I enabled the Modbus Server in the settings page: http://<local IP>/66A51/settings.html
Through trial and error I discovered that I needed to drop the leading "3" on the addresses above. |
Beta Was this translation helpful? Give feedback.
-
Use this discussion to show your modbus configurations.
Beta Was this translation helpful? Give feedback.
All reactions