Update Energy Package
This commit is contained in:
@@ -28,34 +28,38 @@ INVERTER_SNS = [
|
||||
202147130290,
|
||||
]
|
||||
|
||||
# Jinja2 Snippet for Panel Sensors
|
||||
POWER_SHARE_SENSORS = '''---
|
||||
# Jinja2 Snippet for Panel Average Sensor
|
||||
PANEL_AVERAGE_SENSOR = '''---
|
||||
# -----------------------------------------------------------------------------
|
||||
# Panel/Inverter Monitor Sensors
|
||||
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 %}
|
||||
- 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 %]
|
||||
'''
|
||||
@@ -71,9 +75,14 @@ def main():
|
||||
comment_end_string='#]',
|
||||
)
|
||||
|
||||
tmpl = env.from_string(POWER_SHARE_SENSORS)
|
||||
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))
|
||||
|
||||
sys.stdout.write(tmpl.render(serial_numbers=INVERTER_SNS))
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user