Hi,
I try tot o get some data from my PV-System. The Inverter provides a REST-API Interface, which works.
**curl -X POST http://192.168.251.192 --data 'optType=ReadRealTimeData&pwd=XXXXXXXXXX'**
The response String is like this:
@{sn= XXXXXXXXXX’; ver=3.003.02; type=14; Data=System.Object[]; Information=System.Object[]}
The Data Object contains the Values I wanted to have:
2353;2339;2332;107;107;107;2511;2502;2489;7502;3990;3340;108;107;4310;3596;4999;5000;4999;2;0;0;0;0;0;0;0;0;0;0;0;0;0;1;5513;0;0;0;0;32260;0;0;3207;0;0;1;47;1989;256;3857;1037;5642;100;0;47;0;0;0;0;0;0;0;0;0;0;0;0;0;30503;0;156;10;0;0;3960;0;4834;0;47;79;32874;0;195;0;0;0;38857;3;42986;0;938;0;42986;0;0;0;0;0;0;0;0;0;1;100;1;31;92;256;3504;2400;0;300;326;304;35;33;47;1620;775;14135;14135;14135;0;0;0;3492;3337;55942;13;20564;12339;18497;12354;18739;12356;12596;20564;12339;18754;12593;18736;12612;12855;20564;12339;18754;12593;18736;12612;12599;20564;12339;18754;12593;18736;12612;14389;0;0;0;0;0;0;0;4098;8193;1283;258;0;32260;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
I took a look into the RESTful API documentation and was able to create a Sensor for my Energy dashboard.
Sensors.yaml
- platform: rest
name: pv_energie
resource: http://192.168.251.165
method: POST
payload: optType=ReadRealTimeData&pwd=XXXXXXXXX
scan_interval: 300
unit_of_measurement: "kWh"
value_template: "{{((value_json.data[14])+(value_json.data[15]))/12/1000}}"
device_class: energy
- platform: statistics
name: power_per_minute
entity_id: sensor.pv_energie
customize.yaml
sensor.pv_energie:
friendly_name: "Solarerzeugung"
device_class: energy
unit_of_measurement: "kWh"
state_class: total
I also find the part „FETCH MULTIPLE JSON ATTRIBUTES AND PRESENT THEM AS VALUES“
I’m not a programer, but I understand, that I can fetch multible attributes (in my case: sn, ver, type…) from the Source
Is it possible to get the multiple data objects with on call?
Something like this?
-
platform: rest
name: pv_meter
resource: http://192.168.250.185
method: POST
payload: optType=ReadRealTimeData&pwd=SXACFGUJ2W
scan_interval: 300
unit_of_measurement: “kWh”
json_attributes:- Data
value_template: “{{value_json.response}}”
- Data
-
platform: template
sensors:
solar_voltage_s1:
friendly_name: “Spannung String #1”
unit_of_measurement: “V”
value_template: “{{ state_attr(‘sensor.pv_meter’,‘data’)[10] }}”
device_class: energy
pv_power:
unit_of_measurement: “W”
value_template: “{{ state_attr(‘sensor.pv_meter’,‘data’)[14] }}”
device_class: energy
The returned value is even 0.
Can anybody help me with the coding?