Ist eine 0 Pegelanzeige möglich, auch wenn die Entität momentan nicht verfügbar ist?

a-wing

Member
Ich drücke mich wahrscheinlich umständlich aus.
Aber ist eine 0 Pegelanzeige möglich, auch wenn die Entität momentan nicht verfügbar ist?
Hintergrund, habe mehrere Microwechselrichter am Start, deren Ausgangsleistung ich mir über die Pegelanzeigen ansehen kann. Nun haben die Wechselrichter die über MQTT ihre Daten liefern nur Daten, wenn auch Leistung ausgegeben wird.
Und bei 0 Leistung zeigt die Pegelanzeige nur einen Meldungstext.
Kann man solche Lücken bei Entitäten irgendwie überbrücken z. B. das der letzte Wert solange stehenbleibt, bis er wieder aktualisiert wird.

Gruß
Andreas
 
Klar geht das.
Ich habe mir ein Template angelegt, was mir die Werte meiner Wechselrichter zusammenzählt.
Code:
  - sensor:
    - name: Solar aktuell
      unique_id: Solar aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.wechselrichter_1_power') | float(0) + (states('sensor.nachtstrom_power') | float(0)) + (states('sensor.wechselrichter_2_power') | float(0)) ))| round(2) }}
Der Trick hierbei ist das "float(0)". Wenn der Sensor was anderes als eine Zahl liefert, wird 0 zurückgegeben.
 
Danke, das werde ich mal in die configuration.yaml einbauen. Dann lässt sich auch besser eine Summenanzeige daraus berechnen. Melde mich wenn’s geklappt hat wieder.

Gruß
Andreas
 
Template.yaml, nicht configuration.yaml.
Oder Du mußt noch template: davor setzen und die Einrückungen anpassen.
 
Template.yaml, nicht configuration.yaml.
Okay, den Verweis auf die Template.yaml schreibe ich aber in die configuration.yaml.

Habe da mal was nach deinem Vorbild vorbereitet, kann aber erst heute Nachmittag testen, ob es klappt:
YAML:
 - sensor:
    - name: PV#1_WR1 aktuell
      unique_id: PV#1_WR1 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.fronius_wechselrichter_1_power') | float(0) ))| round(2) }}

    - name: PV#2_WR1 aktuell
      unique_id: PV#2_WR1 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hms_1600_4T_gaube_power') | float(0) ))| round(2) }}

    - name: PV#2_WR2 aktuell
      unique_id: PV#2_WR2 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hmt_2000_4T_links_power') | float(0) ))| round(2) }}

    - name: PV#2_WR3 aktuell
      unique_id: PV#3_WR1 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hmt_2000_4T_rechts_power') | float(0) ))| round(2) }}

    - name: PV#2_WR4 aktuell
      unique_id: PV#2_WR4 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hms_1000_2T_akku_power') | float(0) ))| round(2) }}

    - name: Solar aktuell
      unique_id: Solar aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.fronius_wechselrichter_1_power') | float(0) + (states('sensor.hms_1600_4T_gaube_power') | float(0)) + (states('sensor.hmt_2000_4T_links_power') | float(0)) + (states('sensor.hmt_2000_4T_rechts_power') | float(0)) + (states('sensor.hms_1000_2T_akku_power') | float(0)) ))| round(2) }}

Verbesserungsvorschläge werden gerne genommen, wenn das so mit den einzelnen Anzeigen funktioniert, werde ich sicherlich das ganze auf weitere mitzuplottende Entitäten ausweiten. ;)

Gruß
Andreas
 
So habe einen ersten Test gemacht und gleich mecker bekommen, dass ich zweimal Template benutzt habe.

Einmal für die neue Datei template.yaml
YAML:
 - sensor:
    - name: PV1_WR1 aktuell
      unique_id: PV1_WR1 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.solarnet_power_photovoltaics') | float(0) ))| round(2) }}

    - name: PV2_WR1 aktuell
      unique_id: PV2_WR1 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hms_1600_4t_gaube_power') | float(0) ))| round(2) }}

    - name: PV2_WR2 aktuell
      unique_id: PV2_WR2 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hmt_2000_4t_3_links_power') | float(0) ))| round(2) }}

    - name: PV2_WR3 aktuell
      unique_id: PV2_WR3 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hmt_2000_4t_4_rechts_power') | float(0) ))| round(2) }}

    - name: PV2_WR4 aktuell
      unique_id: PV2_WR4 aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.hms_1000_2t_2_akku_power') | float(0) ))| round(2) }}

    - name: Solar aktuell
      unique_id: Solar aktuell
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.solarnet_power_photovoltaics') | float(0) + (states('sensor.hms_1600_4T_gaube_power') | float(0)) + (states('sensor.hmt_2000_4t_3_links_power') | float(0)) + (states('sensor.hmt_2000_4t_4_rechts_power') | float(0)) + (states('sensor.hms_1000_2t_2_akku_power') | float(0)) ))| round(2) }}

und einmal hatte ich schon etwas anderes in der configuration.yaml stehen

YAML:
#Berechnung Tageswerte
template:
  - trigger:
      - platform: time_pattern
        hours: 23
        minutes: 59
        seconds: 59

    sensor:
      - name: "Aquarea COP täglich"
        unit_of_measurement: "x"
        state_class: measurement
        icon: "mdi:gauge"
        state: "{{ states('sensor.wmz_warmeenergie_taglich')|float(0) / ((states('sensor.wp_stromverbrauch_taglich')|float(1) + states('sensor.wphs_stromverbrauch_taglich')|float(2)) / 1000) }}"
        availability: "{{ states('sensor.wmz_warmeenergie_taglich')|is_number and states('sensor.wp_stromverbrauch_taglich')|is_number and states('sensor.wphs_stromverbrauch_taglich')|is_number}}"

      - name: "Jeisha Strombezug täglich"
        unit_of_measurement: "kWh"
        state_class: measurement
        icon: "mdi:lightning-bolt"
        state: "{{ (states('sensor.wp_stromverbrauch_taglich')|float(0) + states('sensor.wphs_stromverbrauch_taglich')|float(1)) / 1000 }}"
        availability: "{{ states('sensor.wp_stromverbrauch_taglich')|is_number and states('sensor.wphs_stromverbrauch_taglich')|is_number}}"

      - name: "WMZ Waerme täglich"
        unit_of_measurement: "kWh"
        state_class: measurement
        icon: "mdi:radiator"
        state: "{{ states('sensor.wmz_warmeenergie_taglich')|float(0) }}"
        availability: "{{ states('sensor.wmz_warmeenergie_taglich')|is_number }}"

      - name: "HMS-1600-4T Erzeugung taeglich"
        unit_of_measurement: "kWh"
        state_class: measurement
        icon: "mdi:solar-power"
        state: "{{ states('sensor.hms_1600_4t_erzeugung_taeglich')|float(0) / 1000 }}"
        availability: "{{ states('sensor.hms_1600_4t_erzeugung_taeglich')|is_number }}"

      - name: "SYMO 8.2-3-M Erzeugung taeglich"
        unit_of_measurement: "kWh"
        state_class: measurement
        icon: "mdi:solar-power"
        state: "{{ states('sensor.symo_8_2_3_m_erzeugung_taeglich')|float(0) / 1000 }}"
        availability: "{{ states('sensor.symo_8_2_3_m_erzeugung_taeglich')|is_number }}"

      - name: "Wasserverbrauch taeglich"
        unit_of_measurement: "m³"
        state_class: measurement
        icon: "mdi:water-pump"
        state: "{{ states('sensor.wz_wasserverbrauch_taglich')|float(0) }}"
        availability: "{{ states('sensor.wz_wasserverbrauch_taglich')|is_number }}"

Dieser Code-Teil verursacht auch noch Fehlermeldungen wie:
Fehler.jpg

Ich muss es erstmal schaffen die zwei Templates zusammen zu fügen, aber das eine ist eine Abfrage der Werte um 23:59:59 das andere etwas Dauerhaftes.:unsure:

Gruß
Andreas
 
Zurück
Oben