From 205e5562fc7bce9b45fc43e613314da55bc2b3c4 Mon Sep 17 00:00:00 2001 From: "J.P. Krauss" Date: Fri, 22 Jul 2022 08:56:13 -0700 Subject: [PATCH] Update Energy Package --- packages/energy/energy.yaml | 286 +++++++++++++++++++- packages/energy/energy.yaml.j2 | 39 +++ packages/energy/generate_panel_sensors.py | 88 ------ packages/energy/generate_yaml.py | 46 ++++ packages/energy/panel_average_sensor.yaml | 25 -- packages/energy/panel_template_sensors.yaml | 259 ------------------ 6 files changed, 368 insertions(+), 375 deletions(-) create mode 100644 packages/energy/energy.yaml.j2 delete mode 100644 packages/energy/generate_panel_sensors.py create mode 100644 packages/energy/generate_yaml.py delete mode 100644 packages/energy/panel_average_sensor.yaml delete mode 100644 packages/energy/panel_template_sensors.yaml diff --git a/packages/energy/energy.yaml b/packages/energy/energy.yaml index f819dab..d729edd 100644 --- a/packages/energy/energy.yaml +++ b/packages/energy/energy.yaml @@ -9,6 +9,286 @@ sensor: unit_prefix: k unit_time: h -# Include Sensors for Panels/Inverters (generated by generate_panel_sensors.py) -sensor: !include "panel_average_sensor.yaml" -template: !include "panel_template_sensors.yaml" +# ----------------------------------------------------------------------------- +# Average Panel Power Sensor + - name: Envoy Inverter Average Power + platform: min_max + type: mean + entity_ids: + - sensor.envoy_202221032900_inverter_202147113780 + - sensor.envoy_202221032900_inverter_202147116830 + - sensor.envoy_202221032900_inverter_202147117162 + - sensor.envoy_202221032900_inverter_202147117631 + - sensor.envoy_202221032900_inverter_202147122858 + - sensor.envoy_202221032900_inverter_202147123517 + - sensor.envoy_202221032900_inverter_202147125027 + - sensor.envoy_202221032900_inverter_202147125590 + - sensor.envoy_202221032900_inverter_202147125734 + - sensor.envoy_202221032900_inverter_202147125902 + - sensor.envoy_202221032900_inverter_202147126079 + - sensor.envoy_202221032900_inverter_202147126357 + - sensor.envoy_202221032900_inverter_202147126997 + - sensor.envoy_202221032900_inverter_202147128369 + - sensor.envoy_202221032900_inverter_202147129445 + - sensor.envoy_202221032900_inverter_202147130152 + - sensor.envoy_202221032900_inverter_202147130290 + +# ----------------------------------------------------------------------------- +# Panel/Inverter Power Share Sensors +template: + sensor: + - name: Envoy 202221032900 Inverter 202147113780 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147113780')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147116830 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147116830')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147117162 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147117162')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147117631 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147117631')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147122858 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147122858')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147123517 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147123517')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147125027 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147125027')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147125590 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147125590')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147125734 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147125734')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147125902 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147125902')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147126079 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147126079')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147126357 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147126357')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147126997 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147126997')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147128369 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147128369')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147129445 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147129445')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147130152 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147130152')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + + - name: Envoy 202221032900 Inverter 202147130290 Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_202147130290')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + \ No newline at end of file diff --git a/packages/energy/energy.yaml.j2 b/packages/energy/energy.yaml.j2 new file mode 100644 index 0000000..14b5609 --- /dev/null +++ b/packages/energy/energy.yaml.j2 @@ -0,0 +1,39 @@ +# Energy Package + +# ----------------------------------------------------------------------------- +# Energy Integration Sensor +sensor: + - name: envoy_total_energy + platform: integration + source: sensor.envoy_202221032900_current_power_production + unit_prefix: k + unit_time: h + +# ----------------------------------------------------------------------------- +# Average Panel Power Sensor + - name: Envoy Inverter Average Power + platform: min_max + type: mean + entity_ids:[% for sn in serial_numbers %] + - sensor.envoy_202221032900_inverter_[[sn]] +[%- endfor %] + +# ----------------------------------------------------------------------------- +# Panel/Inverter Power Share Sensors +template: + sensor:[% for sn in serial_numbers %] + - name: Envoy 202221032900 Inverter [[sn]] Power Share + unit_of_measurement: "%" + availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" + state: > + {% if states('sensor.envoy_inverter_average_power')|float == 0 %} + undefined + {% else %} + {{ (100 * + states('sensor.envoy_202221032900_inverter_[[sn]]')|float + / states('sensor.envoy_inverter_average_power')|float + ) | round(1) + }} + {% endif %} + + [% endfor %] diff --git a/packages/energy/generate_panel_sensors.py b/packages/energy/generate_panel_sensors.py deleted file mode 100644 index bdeb4f1..0000000 --- a/packages/energy/generate_panel_sensors.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/python3 -# --- -# Script to generate Power Share and Panel OK sensors for the solar panels -# by serial number. - -import sys - -import jinja2 as j2 - -# Serial Numbers for Panel Inverters -INVERTER_SNS = [ - 202147113780, - 202147116830, - 202147117162, - 202147117631, - 202147122858, - 202147123517, - 202147125027, - 202147125590, - 202147125734, - 202147125902, - 202147126079, - 202147126357, - 202147126997, - 202147128369, - 202147129445, - 202147130152, - 202147130290, -] - -# Jinja2 Snippet for Panel Average Sensor -PANEL_AVERAGE_SENSOR = '''--- -# ----------------------------------------------------------------------------- -# Panel/Inverter Monitor Sensors - -- name: Envoy Inverter Average Power - platform: min_max - type: mean - entity_ids:[% for sn in serial_numbers %] - - sensor.envoy_202221032900_inverter_[[sn]] -[%- endfor %] -''' - -# Jinja2 Snippet for Panel Power Share Sensors -PANEL_SHARE_SENSORS = '''--- -# ----------------------------------------------------------------------------- -# Panel/Inverter Monitor Template Sensors - -sensor:[% for sn in serial_numbers %] - - name: Envoy 202221032900 Inverter [[sn]] Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_[[sn]]')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - -[% endfor %] -''' - -def main(): - """Generate Power Share Sensor Section for the YAML File.""" - env = j2.Environment( - block_start_string='[%', - block_end_string='%]', - variable_start_string='[[', - variable_end_string=']]', - comment_start_string='[#', - comment_end_string='#]', - ) - - with open('panel_average_sensor.yaml', 'w') as f: - tmpl = env.from_string(PANEL_AVERAGE_SENSOR) - f.write(tmpl.render(serial_numbers=INVERTER_SNS)) - - with open('panel_template_sensors.yaml', 'w') as f: - tmpl = env.from_string(PANEL_SHARE_SENSORS) - f.write(tmpl.render(serial_numbers=INVERTER_SNS)) - - -if __name__ == '__main__': - main() diff --git a/packages/energy/generate_yaml.py b/packages/energy/generate_yaml.py new file mode 100644 index 0000000..01a6cf0 --- /dev/null +++ b/packages/energy/generate_yaml.py @@ -0,0 +1,46 @@ +#!/usr/bin/python3 +# --- +# Script to generate the energy.yaml package file. + +import jinja2 as j2 + +# Serial Numbers for Panel Inverters +INVERTER_SNS = [ + 202147113780, + 202147116830, + 202147117162, + 202147117631, + 202147122858, + 202147123517, + 202147125027, + 202147125590, + 202147125734, + 202147125902, + 202147126079, + 202147126357, + 202147126997, + 202147128369, + 202147129445, + 202147130152, + 202147130290, +] + +def main(): + """Generate the YAML File.""" + env = j2.Environment( + block_start_string='[%', + block_end_string='%]', + variable_start_string='[[', + variable_end_string=']]', + comment_start_string='[#', + comment_end_string='#]', + loader=j2.FileSystemLoader('.'), + ) + + with open('energy.yaml', 'w') as f: + tmpl = env.get_template('energy.yaml.j2') + f.write(tmpl.render(serial_numbers=INVERTER_SNS)) + + +if __name__ == '__main__': + main() diff --git a/packages/energy/panel_average_sensor.yaml b/packages/energy/panel_average_sensor.yaml deleted file mode 100644 index 10e93d1..0000000 --- a/packages/energy/panel_average_sensor.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# ----------------------------------------------------------------------------- -# Panel/Inverter Monitor Sensors - -- name: Envoy Inverter Average Power - platform: min_max - type: mean - entity_ids: - - sensor.envoy_202221032900_inverter_202147113780 - - sensor.envoy_202221032900_inverter_202147116830 - - sensor.envoy_202221032900_inverter_202147117162 - - sensor.envoy_202221032900_inverter_202147117631 - - sensor.envoy_202221032900_inverter_202147122858 - - sensor.envoy_202221032900_inverter_202147123517 - - sensor.envoy_202221032900_inverter_202147125027 - - sensor.envoy_202221032900_inverter_202147125590 - - sensor.envoy_202221032900_inverter_202147125734 - - sensor.envoy_202221032900_inverter_202147125902 - - sensor.envoy_202221032900_inverter_202147126079 - - sensor.envoy_202221032900_inverter_202147126357 - - sensor.envoy_202221032900_inverter_202147126997 - - sensor.envoy_202221032900_inverter_202147128369 - - sensor.envoy_202221032900_inverter_202147129445 - - sensor.envoy_202221032900_inverter_202147130152 - - sensor.envoy_202221032900_inverter_202147130290 \ No newline at end of file diff --git a/packages/energy/panel_template_sensors.yaml b/packages/energy/panel_template_sensors.yaml deleted file mode 100644 index dc6e971..0000000 --- a/packages/energy/panel_template_sensors.yaml +++ /dev/null @@ -1,259 +0,0 @@ ---- -# ----------------------------------------------------------------------------- -# Panel/Inverter Monitor Template Sensors - -sensor: - - name: Envoy 202221032900 Inverter 202147113780 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147113780')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147116830 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147116830')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147117162 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147117162')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147117631 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147117631')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147122858 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147122858')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147123517 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147123517')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147125027 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147125027')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147125590 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147125590')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147125734 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147125734')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147125902 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147125902')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147126079 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147126079')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147126357 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147126357')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147126997 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147126997')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147128369 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147128369')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147129445 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147129445')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147130152 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147130152')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} - - - - name: Envoy 202221032900 Inverter 202147130290 Power Share - unit_of_measurement: "%" - availability: "{{ states('sensor.envoy_inverter_average_power')|float > 5 }}" - state: > - {% if states('sensor.envoy_inverter_average_power')|float == 0 %} - undefined - {% else %} - {{ (100 * - states('sensor.envoy_202221032900_inverter_202147130290')|float - / states('sensor.envoy_inverter_average_power')|float - ) | round(1) - }} - {% endif %} -