@cjsimmons, the inverter is an EXE 3000 SP. Looked all over the internet but can’t find anyone who tried to integrate it somewhere.
@123, Thanks for the help. Managed to get it working but with 3 separate rest calls like this:
sensor:
- platform: rest
resource: http://IP.AD.DR.ESS/js/status.js
method: GET
name: Actual Solar Power Production
device_class: power
value_template: '{{ value | regex_findall_index("PEL3000N12345,,,,,(\d+)", ignorecase=true) | int }}'
verify_ssl: false
unit_of_measurement: W
authentication: basic
username: !secret inverter_user
password: !secret inverter_pass
force_update: true
- platform: rest
resource: http://IP.AD.DR.ESS/js/status.js
method: GET
name: Today's Solar Energy Production
device_class: power
value_template: '{{ value | regex_findall_index("PEL3000N12345,,,,,\d+,(\d+)", ignorecase=true) | float / 100 }}'
verify_ssl: false
unit_of_measurement: KWh
authentication: basic
username: !secret inverter_user
password: !secret inverter_pass
force_update: true
- platform: rest
resource: http://IP.AD.DR.ESS/js/status.js
method: GET
name: Total Solar Energy Production
device_class: power
value_template: '{{ value | regex_findall_index("PEL3000N12345,,,,,\d+,\d+,(\d+)", ignorecase=true) | float / 10 }}'
verify_ssl: false
unit_of_measurement: KWh
authentication: basic
username: !secret inverter_user
password: !secret inverter_pass
force_update: true
I’m now trying to make it better by only making a single rest call and templating out the values but no luck yet.
Maybe you can have a look?
sensor:
- platform: rest
resource: http://IP.AD.DR.ESS/js/status.js
method: GET
name: Solar Power Rest
value_template: '{{ value | regex_findall_index("PEL3000N18642045,,,,,(\d+,\d+,\d+)", ignorecase=true) | string }}'
verify_ssl: false
authentication: basic
username: !secret inverter_user
password: !secret inverter_pass
force_update: true
- platform: template
sensors:
solar_actual_production:
friendly_name: Actual Solar Production
entity_id: sensor.solar_power_rest
unit_of_measurement: W
value_template: "{{ states.sensor.solar_power_rest.state | regex_findall_index(find='(\d+),\d+,\d+', index=0, ignorecase=False) | int }}"
device_class: power
The rest sensor is working and has the 3 values I need separated by comma’s (997,222,23) but my template sensor is not separating the values correctly.