I am looking for a little help on my template. I have three inverters and no batteries. I attempted to edit and use the template that b80k provided UPDATED! SolarEdge Modbus full setup guide with Energy Dashboard integration for Installations with Battery connected - #360 by b80k. But I am not 100% sure I edited it correctly. I attempted to take out the battery configs and add my third inverter. I am now getting an error. The template I modified has never worked so there could be more issues. I can somewhat guess what the code is doing but I am no coder.
Error:
Invalid config for [template]: invalid template (TemplateSyntaxError: unexpected '}', expected ')') for dictionary value @ data['sensor'][3]['state']. Got "{% if (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0) <= 0) %}\n 0\n{% elif (is_state('sensor.solaredge_i1_dc_power', 'unknown') or is_state('sensor.solaredge_i2_dc_power', 'unknown') or is_state('sensor.solaredge_i3_dc_power', 'unknown')) %}\n 0\n{% else %}\n {{ (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.so.... (See /config/packages/energy.yaml, line 1).
Code for the template I modified.
template:
- sensor:
- name: "Solar Selfconsumption Ratio"
unique_id: solar_selfconsumption_ratio
icon: mdi:percent-outline
state: >
{% if ((states('sensor.solar_panel_to_house_daily') | float(0) + states('sensor.solar_exported_power_daiy') | float(0)) <= 0) %}
0
{% else %}
{{ ((states('sensor.solar_panel_to_house_daily') | float(0)) / (states('sensor.solar_panel_to_house_daily') | float(0) + states('sensor.solar_exported_power_daily') | float(0)) * 100) | round (0) }}
{% endif %}
- name: "Solar Autarkie Ratio"
unique_id: solar_autarkie_ratio
icon: mdi:percent-outline
state: >
{% if ((states('sensor.solar_house_consumption_daily') | float(0)) <= 0) %}
0
{% else %}
{{ (1 - ((states('sensor.solar_imported_power_daily') | float(0)) / (states('sensor.solar_house_consumption_daily') | float(0))) * 100) | round (0) }}
{% endif %}
- name: "Solar Inverter Effectiveness"
unique_id: solar_inverter_effectiveness
icon: mdi:percent-outline
unit_of_measurement: '%'
state: >
{% if ((states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0)) < 100 or (states('sensor.solaredge_i1_ac_power') | float(0) + states('sensor.solaredge_i2_ac_power') | float(0) + states('sensor.solaredge_i3_ac_power') | float(0)) < 100) %}
{{ (states('sensor.solar_inverter_effectiveness')) }}
{% else %}
{% if (is_state('sensor.solar_inverter_effectiveness', 'unknown')) %}
1
{% elif (states('sensor.solaredge_i1_ac_power') | float(0) + states('sensor.solaredge_i2_ac_power') | float(0) + states('sensor.solaredge_i3_ac_power') | float(0) <= 0) %}
{{ (states('sensor.solar_inverter_effectiveness')) }}
{% elif (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0) <= 0) %}
{{ (states('sensor.solar_inverter_effectiveness')) }}
{% else %}
{{ (states('sensor.solaredge_i1_ac_power') | float(0) + states('sensor.solaredge_i2_ac_power') | float(0) + states('sensor.solaredge_i3_ac_power') | float(0)) / (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0)) }}
{% endif %}
{% endif %}
- name: "Solar Panel Production W"
unique_id: solar_panel_production_w
unit_of_measurement: 'W'
icon: mdi:solar-power
state: >
{% if (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0) <= 0) %}
0
{% elif (is_state('sensor.solaredge_i1_dc_power', 'unknown') or is_state('sensor.solaredge_i2_dc_power', 'unknown') or is_state('sensor.solaredge_i3_dc_power', 'unknown')) %}
0
{% else %}
{{ (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0) }}
{% endif %}
- name: "Solar Panel To House W"
unique_id: solar_panel_to_house_w
unit_of_measurement: 'W'
icon: mdi:solar-power
state: >
{% if (states('sensor.solaredge_i1_dc_power') | float(0) < 0 and states('sensor.solaredge_i1_ac_power') | float(0) <= 0) %}
{{ (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_ac_power') | float(0) + states('sensor.solaredge_i3_ac_power') | float(0) - states('sensor.solaredge_m1_ac_power') | float(0)) }}
{% else %}
{{ (states('sensor.solaredge_i1_ac_power') | float(0) + states('sensor.solaredge_i2_ac_power') | float(0) + states('sensor.solaredge_i3_ac_power') | float(0) - states('sensor.solaredge_m1_ac_power') | float(0)) }}
{% endif %}
{{ (states('sensor.solaredge_i1_ac_power') | float(0) + states('sensor.solaredge_i2_ac_power') | float(0) + states('sensor.solaredge_i3_ac_power') | float(0)) }}
{% if (states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0) < 0) %}
0
{% else %}
{{ ((states('sensor.solaredge_i1_dc_power') | float(0) + states('sensor.solaredge_i2_dc_power') | float(0) + states('sensor.solaredge_i3_dc_power') | float(0) ) * states('sensor.solar_inverter_effectiveness') | float(0)) }}
{% endif %}
0
{% endif %}
- name: "Solar Grid To House W"
unique_id: solar_grid_to_house_w
unit_of_measurement: 'W'
icon: mdi:transmission-tower-export
state: >
{% if (states('sensor.solaredge_m1_ac_power') | float(0) <= 0) %}
{{ (states('sensor.solaredge_m1_ac_power') | float(0) *-1) }}
{% else %}
0
{% endif %}
- name: "Solar Panel To Grid W"
unique_id: solar_panel_to_grid_w
unit_of_measurement: 'W'
icon: mdi:solar-power
state: >
{% if (states('sensor.solaredge_m1_ac_power') | float(0) > 0) %}
{{ (states('sensor.solaredge_m1_ac_power') | float(0)) }}
{% else %}
0
{% endif %}
- name: "Solar House Consumption W"
unique_id: solar_house_consumption_w
unit_of_measurement: 'W'
icon: mdi:home
state: >
{{ (states('sensor.solar_panel_to_house_w') | float(0) + states('sensor.solar_battery_to_house_w') | float(0) + states('sensor.solar_grid_to_house_w') | float(0)) }}
- name: "Solar Imported Power W"
unique_id: solar_imported_power_w
unit_of_measurement: 'W'
icon: mdi:transmission-tower-export
state: >
{% if (states('sensor.solaredge_m1_ac_power') | float(0) <= 0) %}
{{ (states('sensor.solaredge_m1_ac_power') | float(0) *-1) }}
{% else %}
0
{% endif %}
- name: "Solar Exported Power W"
unique_id: solar_exported_power_w
unit_of_measurement: 'W'
icon: mdi:transmission-tower-import
state: >
{% if (states('sensor.solaredge_m1_ac_power') | float(0) > 0) %}
{{ (states('sensor.solaredge_m1_ac_power') | float(0)) }}
{% else %}
0
{% endif %}
- name: "Solar Lifetime Production"
unique_id: solar_lifetime_production
unit_of_measurement: 'MWh'
icon: mdi:solar-power
state: >
{{ ((states('sensor.solaredge_ac_energy_kwh') | float(0) / 1000) | round (2)) }}
sensor:
- platform: integration
source: sensor.solar_panel_production_w
method: left
unit_prefix: k
name: solar_panel_production_kwh
- platform: integration
source: sensor.solar_battery_to_house_w
method: left
unit_prefix: k
name: solar_battery_out_kwh
- platform: integration
source: sensor.solar_house_consumption_w
method: left
unit_prefix: k
name: solar_house_consumption_kwh
- platform: integration
source: sensor.solar_imported_power_w
method: left
unit_prefix: k
name: solar_imported_power_kwh
- platform: integration
source: sensor.solar_exported_power_w
method: left
unit_prefix: k
name: solar_exported_power_kwh
- platform: integration
source: sensor.solar_panel_to_house_w
method: left
unit_prefix: k
name: solar_panel_to_house_kwh
- platform: statistics
name: "Solar Inverter Effectiveness Average"
unique_id: solar_inverter_effectiveness_average
state_characteristic: mean
sampling_size: 1200
max_age:
hours: 24
entity_id: sensor.solar_inverter_effectiveness
utility_meter:
solar_panel_production_daily:
source: sensor.solar_panel_production_kwh
name: Solar Panel Production Daily
cycle: daily
solar_house_consumption_daily:
source: sensor.solar_house_consumption_kwh
name: Solar House Consumption Daily
cycle: daily
solar_imported_power_daily:
source: sensor.solar_imported_power_kwh
name: Solar Imported Power Daily
cycle: daily
solar_imported_power_daily_solaredge:
source: sensor.solaredge_m1_imported_kwh
name: Solar Imported Power Daily Solar Edge
cycle: daily
solar_exported_power_daily:
source: sensor.solar_exported_power_kwh
name: Solar Exported Power Daily
cycle: daily
solar_panel_to_house_daily:
source: sensor.solar_panel_to_house_kwh
name: Solar Panel To House Daily
cycle: daily
solar_panel_to_house_weekly:
source: sensor.solar_panel_to_house_kwh
name: Solar Panel To House Weekly
cycle: weekly
solar_imported_power_weekly:
source: sensor.solar_imported_power_kwh
name: Solar Imported Power Weekly
cycle: weekly
solar_house_consumption_weekly:
source: sensor.solar_house_consumption_kwh
name: Solar House Consumption Weekly
cycle: weekly
solar_panel_production_weekly:
source: sensor.solar_panel_production_kwh
name: Solar Panel Production Weekly
cycle: weekly
solar_exported_power_weekly:
source: sensor.solar_exported_power_kwh
name: Solar Exported Power Weekly
cycle: weekly
solar_panel_to_house_monthly:
source: sensor.solar_panel_to_house_kwh
name: Solar Panel To House Monthly
cycle: monthly
solar_imported_power_monthly:
source: sensor.solar_imported_power_kwh
name: Solar Imported Power Monthly
cycle: monthly
solar_house_consumption_monthly:
source: sensor.solar_house_consumption_kwh
name: Solar House Consumption Monthly
cycle: monthly
solar_panel_production_monthly:
source: sensor.solar_panel_production_kwh
name: Solar Panel Production Monthly
cycle: monthly
solar_exported_power_monthly:
source: sensor.solar_exported_power_kwh
name: Solar Exported Power Monthly
cycle: monthly
solar_panel_to_house_yearly:
source: sensor.solar_panel_to_house_kwh
name: Solar Panel To House Yearly
cycle: yearly
solar_imported_power_yearly:
source: sensor.solar_imported_power_kwh
name: Solar Imported Power Yearly
cycle: yearly
solar_house_consumption_yearly:
source: sensor.solar_house_consumption_kwh
name: Solar House Consumption Yearly
cycle: yearly
solar_panel_production_yearly:
source: sensor.solar_panel_production_kwh
name: Solar Panel Production Yearly
cycle: yearly
solar_exported_power_yearly:
source: sensor.solar_exported_power_kwh
name: Solar Exported Power Yearly
cycle: yearly
Any help would be greatly appreciated.