diff --git a/template/aircondition.yaml b/template/aircondition.yaml index d9acd40..1bf8a5f 100644 --- a/template/aircondition.yaml +++ b/template/aircondition.yaml @@ -25,9 +25,12 @@ {% set a = states.sensor.aircondition_strom.state | float %} {% set wp = states.sensor.aircondition_energi.state | float %} {% set ap = v * a %} - {% set pf = wp / ap * 100 %} - - {{ pf | round(2) }} + {% if ap > 0 %} + {% set pf = wp / ap * 100 %} + {{ pf | round(2) }} + {% else %} + unavailable + {% endif %} unit_of_measurement: "%" device_class: power_factor state_class: measurement diff --git a/template/computer-plug.yaml b/template/computer-plug.yaml index a9883d7..caafa0e 100644 --- a/template/computer-plug.yaml +++ b/template/computer-plug.yaml @@ -18,16 +18,18 @@ state_class: measurement - name: Computer Power Factor - availability: "{{ states.sensor.computer_strom.state | float(0) > 0 }}" state: | {# Calculate power factor #} {% set v = states.sensor.computer_spaending.state | float %} {% set a = states.sensor.computer_strom.state | float %} {% set wp = states.sensor.computer_energi.state | float %} {% set ap = v * a %} - {% set pf = wp / ap * 100 %} - - {{ pf | round(2) }} + {% if ap > 0 %} + {% set pf = wp / ap * 100 %} + {{ pf | round(2) }} + {% else %} + unavailable + {% endif %} unit_of_measurement: "%" device_class: power_factor state_class: measurement diff --git a/template/mikroovn.yaml b/template/mikroovn.yaml index 064d80f..b52d8b7 100644 --- a/template/mikroovn.yaml +++ b/template/mikroovn.yaml @@ -1,15 +1,17 @@ - sensor: - name: Mikroovn Power Factor - availability: "{{ states.sensor.mikroovn_current.state | float(0) > 0 }}" state: | {# Calculate power factor #} {% set v = states.sensor.mikroovn_voltage.state | float %} {% set a = states.sensor.mikroovn_current.state | float %} {% set wp = states.sensor.mikroovn_power.state | float %} {% set ap = v * a %} - {% set pf = wp / ap * 100 %} - - {{ pf | round(2) }} + {% if ap > 0 %} + {% set pf = wp / ap * 100 %} + {{ pf | round(2) }} + {% else %} + unavailable + {% endif %} unit_of_measurement: "%" device_class: power_factor state_class: measurement diff --git a/template/opvaskemaskine.yaml b/template/opvaskemaskine.yaml index 44f732a..864f64f 100644 --- a/template/opvaskemaskine.yaml +++ b/template/opvaskemaskine.yaml @@ -18,16 +18,17 @@ state_class: measurement - name: Opvaskemaskine Power Factor - availability: "{{ states.sensor.opvaskemaskine_strom.state | float(0) > 0 }}" state: | {# Calculate power factor #} {% set v = states.sensor.opvaskemaskine_spaending.state | float %} {% set a = states.sensor.opvaskemaskine_strom.state | float %} {% set wp = states.sensor.opvaskemaskine_energi.state | float %} - {% set ap = v * a %} - {% set pf = wp / ap * 100 %} - - {{ pf | round(2) }} + {% if ap > 0 %} + {% set pf = wp / ap * 100 %} + {{ pf | round(2) }} + {% else %} + unavailable + {% endif %} unit_of_measurement: "%" device_class: power_factor state_class: measurement diff --git a/template/teknikskab.yaml b/template/teknikskab.yaml index c668e02..a826f6c 100644 --- a/template/teknikskab.yaml +++ b/template/teknikskab.yaml @@ -18,16 +18,18 @@ state_class: measurement - name: Teknikskab Power Factor - availability: "{{ states.sensor.teknikskab_strom.state | default(0) | float(0) > 0 }}" state: | {# Calculate power factor #} {% set v = states.sensor.teknikskab_spaending.state | float %} {% set a = states.sensor.teknikskab_strom.state | float %} {% set wp = states.sensor.teknikskab_energi.state | float %} {% set ap = v * a %} - {% set pf = wp / ap * 100 %} - - {{ pf | round(2) }} + {% if ap > 0 %} + {% set pf = wp / ap * 100 %} + {{ pf | round(2) }} + {% else %} + unavailable + {% endif %} unit_of_measurement: "%" device_class: power_factor state_class: measurement diff --git a/template/tv_baenk.yaml b/template/tv_baenk.yaml index d81c379..72cd26c 100644 --- a/template/tv_baenk.yaml +++ b/template/tv_baenk.yaml @@ -18,16 +18,18 @@ state_class: measurement - name: TV Bænk Power Factor - availability: "{{ states.sensor.tv_baenk_strom.state | default(0) | float(0) > 0 }}" state: | {# Calculate power factor #} {% set v = states.sensor.tv_baenk_spaending.state | float %} {% set a = states.sensor.tv_baenk_strom.state | float %} {% set wp = states.sensor.tv_baenk_energi.state | float %} {% set ap = v * a %} - {% set pf = wp / ap * 100 %} - - {{ pf | round(2) }} + {% if ap > 0 %} + {% set pf = wp / ap * 100 %} + {{ pf | round(2) }} + {% else %} + unavailable + {% endif %} unit_of_measurement: "%" device_class: power_factor state_class: measurement