Configuration.yaml - Status Unbekannt durch 0 ersetzen

Moin zusammen,

bin gerade ein wenig mein Dashboard aufhübschen und hier nervt ich aktuell der Status meiner aktuellen PV-Leistung → Unbekannt

Habe nun schon viele verschiedene Mappings probiert , doch leider ohne Erfolg, zudem dachte ich, dass es für die Allgemeinheit interessant sein könnte :slight_smile:

- sensor:
      - name: "PV-Ertrag_W"
        unit_of_measurement: "W"
        #state: "{{ states('sensor.pv_ertrag')|float(0) }}"
        state: >-
          {% if is_state('sensor.pv_ertrag', 'Unbekannt') %}
            0
          {% elif is_state('sensor.pv_ertrag', 'Unknown') %}
            Aus
          {% endif %}

Hier mal ein Beispiel für meine Ideen ;D

So kann der Sensor aber nur 0 oder Aus darstellen, einen Wert bekommst du da so nicht rein.

Das müsste eigentlich gehen, so müsste er eigentlich wen der Sensor sensor.pv_ertrag nicht verfügbar ist eigentlich eine 0 anzeigen, kann man notfalls auch länger schreiben:

state: "{{ states('sensor.pv_ertrag')|float(default=0) }}"

Ich würde den Sensor aber auch sagen was für ein Sensor es ist und eine unique_id:

An ID that uniquely identifies this binary sensor. Set this to a unique value to allow customization through the UI.

kann auch nicht schaden:

- name: "PV-Ertrag_W"
  unique_id: pv_ertrag_w
  unit_of_measurement: "W"
  state_class: measurement
  device_class: power
  state: "{{ float(states('sensor.pv_ertrag'), default=0) }}"

Edit:
Fehler im Code Korrigiert, so wie es im Code unten ist sollte es gehen.

LG

1 „Gefällt mir“

Sehr cool, danke für den Code - wenn ich jetzt auch das ganze mit einem Helper abgebildet habe.

Moin :slight_smile:

Könntest du mir eventuell auch bitte bei einer weiteren Sache weiterhelfen ?

Meine Energieberechnung stresst manchmal ein wenig, weil meine DTU für mein BKW nachts offline schaltet … sprich ein topic nicht mehr aktiv ist … kann man hier eventuell mit expiration arbeiten (mqtt) oder kann ich erneut mit den states arbeiten sodass , der letzte Wert einfach stehen bleibt :slight_smile:
x

  • mqtt
    - name: "PV-Ertrag Total"
      state_topic: "HOAS/PV-HoymilesDTU/total/YieldTotal"
      unique_id: "PV-HoymilesDTU.Ertrag_Total"
      device_class: "energy"
      unit_of_measurement: "kWh"
      state_class: "total_increasing"
      icon: "mdi:flash"
      device:
        identifiers: "PV-AhoyDTU"
        name: "PV-Ertrag"
        model: "AhoyDTU"
        manufacturer: "Hoymiles"

aktuell wird nämlich nur unbekannt angezeigt :frowning:

Kannst du den Wert als Retained Message über die DTU Schicken?

Sonst fällt mir grade nur eine nicht so schöne Idee ein.

Du könntest den Wert des Sensors über ein Automatisierung in einem Helfer „speichern“.
Wenn der Sensor Unbekannt wir sendest du auf den Topic von Sensor den zuletzt bekannten Wert von deinem Helfer per Automatisierung und dan sollte er wieder den Wert anzeigen.

Das ist aber grad nur die Idee aus einem Müden Kopf da gibt es bestimmt noch besser Ideen.

LG

Wird eigentlich retained gesendet , sonst muss ich mal mit dem MQTT-Explorer gucken , da kann man das doch bestimmt sehen …

Oder muss ich in der config.yaml noch was ergänzen ?

Hat eventuell noch jemand eine Idee oder verwendet ebenfalls die AhoyDTU ?

Verwendet ihr das JsonFormat ?