Esta semana também usei o chatGPT para me ajudar a reescrever algum código, mas nunca pensei em usá-lo para fazer algo tão criativo como escrever o código original.
Foi isto que lhe pedi para fazer:
Adicionando a seguinte condição de teste:
{% set its_alive = state_attr('sensor.studer', 'energy')['hasInverter'] %}
{% if its_alive == True %}
Este script original:
- name: "Battery SOC Percent"
state: "{{ state_attr('sensor.studer', 'battery')['soc'] }}"
unit_of_measurement: "%"
unique_id: "studer.battsoc"
Foi substituído pela alteração da ordem e pela adição de uma condição de teste:
- name: "Battery SOC Percent"
unique_id: "studer.battsoc"
unit_of_measurement: "%"
state: >-
{% set soc = state_attr('sensor.studer', 'battery')['soc']|float(0) %}
{% set its_alive = state_attr('sensor.studer', 'energy')['hasInverter'] %}
{% if its_alive == True %}
{{soc}}
{% else %}
{{ states('sensor.battsoc') }}
{% endif %}
Reescreva os seguintes scripts yaml alterando a ordem e adicionando a mesma condição de teste que no exemplo acima:
‘’’
- name: "Battery Power"
state: "{{ state_attr('sensor.studer', 'battery')['power'] }}"
unit_of_measurement: "kW"
device_class: energy
unique_id: "studer.battpower"
- name: "Battery Temperature"
state: "{{ state_attr('sensor.studer', 'battery')['temperature'] }}"
unit_of_measurement: "°C"
unique_id: "studer.batttemp"
- name: "Battery Voltage"
state: "{{ state_attr('sensor.studer', 'battery')['voltage'] }}"
unit_of_measurement: "V"
unique_id: "studer.battvoltage"
- name: "pv Generation"
state: "{{ state_attr('sensor.studer', 'power')['solar'] }}"
unit_of_measurement: "kW"
unique_id: "studer.solarpower"
- name: "Grid Consumption"
state: "{{ state_attr('sensor.studer', 'power')['gridGenset'] }}"
unit_of_measurement: "kW"
unique_id: "studer.gridpower"
- name: "House Consumption"
state: "{{ state_attr('sensor.studer', 'power')['load'] }}"
unit_of_measurement: "kW"
unique_id: "studer.houseload"