Dear all,
I guess I need some advise where to next look into, else I might give up.
I tried all 3 discussed ways to read data from my Deye Sun600 inverter but all seem to fail. mostly.
- The method of the Solarman integration available through HACS does not work for me with any of the YAML templates.
My Serial # of the inverter starts with 41***, so there seems to be totally different ModBus adresses used than the ones I can find ind various documents. If anyone has a documentions for those converters with 41*** serial numbers, I’d appraciate any guidance.
- The method of collecting data from the Solarman API works in principal, but only spills out some basic data points, nothing that deals with energy production.
I managed to get the app ID, secret, all I need etc and was able to address the API with CURL, getting back the JSON response I need regarding available data the API provides.
Basically I only get a dataList which consists of 10 entities, such as device serial #, firmware version, …, MAC address, … and it ends with the WiFI SSID used.
Copying the CURL response into json path finder also only shows10 data points available. If I compare other’s API output this is frustrating. Somehow it seems to me the API does not reveal my energy data at all.
Clues??
{
"code": null,
"msg": null,
"success": true,
"requestId": "2bdf27ac36b7ed4a",
"deviceSn": "417######",
"deviceId": 2203####,
"deviceType": "COLLECTOR",
"deviceState": 1,
"collectionTime": 1709137950,
"dataList": [{
"key": "SENSOR_LI1",
"value": "5406",
"unit": null,
"name": "sensor List"
}, {
"key": "SN1",
"value": "417#######",
"unit": null,
"name": "Embedded Device SN"
}, {
"key": "MDUv1",
"value": "MW3_16U_5406_2.32-D1",
"unit": null,
"name": "Module Version No"
}, {
"key": "ESv1",
"value": "V1.1.00.11",
"unit": null,
"name": "Extended System Version"
}, {
"key": "SEND_PERIOD1",
"value": "5",
"unit": "Min",
"name": "Data Uploading Period"
}, {
"key": "COLLECT_PERIOD1",
"value": "60",
"unit": "s",
"name": "Data Acquisition Period"
}, {
"key": "max_conn_n1",
"value": "1",
"unit": null,
"name": "Max. No. of Connected Devices"
}, {
"key": "SGits1",
"value": "49",
"unit": null,
"name": "Signal Strength"
}, {
"key": "MDU_MAC_ADD1",
"value": "##########",
"unit": null,
"name": "Module MAC Address"
}, {
"key": "R_SSID",
"value": "#######",
"unit": null,
"name": "Router SSID"
}]
}
- Final and last try I evaluated is reading the local webIF of the converter as described by @mennosmit erlier in this discussion. I don’t get any result so far, my feeling is that I created the sensor in an incorrect way. I don’t see a template.yml or similar, so maybe I’m just to stupid and need some hint on how to do that.
I’m hoping it’s just a small mistake?
I copied the following lines into my configuration.yaml, but get an error message on the template. What else do I need to do?
'# Solarman local logger
sensor:
- name: solarmanlocal_power_solar_now
platform: command_line
command: curl -s -u admin:admin http://192.168. 178.39/status.html | grep -E "\webdata_now_p(\s|$)" | cut -d'"' -f 2
unit_of_measurement: 'W'
scan_interval: 10
- name: solarmanlocal_power_solar_today
platform: command_line
command: curl -s -u admin:admin http://192.168. 178.39/status.html | grep -E "\webdata_today_e(\s|$)" | cut -d'"' -f 2
unit_of_measurement: 'kWh'
scan_interval: 60
- name: solarmanlocal_power_solar_total
platform: command_line
command: curl -s -u admin:admin http://192.168. 178.39/status.html | grep -E "\webdata_total_e(\s|$)" | cut -d'"' -f 2
unit_of_measurement: 'kWh'
scan_interval: 60
template:
sensor:
- name: "solarmanlocal_production_daily"
state: "{{ states('sensor.solarmanlocal_power_solar_total')}}"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
unique_id: solarmanlocal_production_daily