Wenn keine Werte Anliegen soll 0 angezeigt werden anstatt der Entitität

morgen, ja genau. die Werte sind von jeweiligen String des WR. Das Bild wo 0,0 ist da hat er noch ein wenig Strom drauf später dann kommt der Text und dieser soll durch 0,0 ersetzt werden.

YAML:
template: !include template.yaml

hat wirklich gefehlt der Eintrag.

Habe es hinzugefüngt. Nur kann ich es jetzt nicht sagn ob es funktioniert da bereits Strom prodzuiert wird. Am Abend kann ich mehr sagen.

Hier die config

YAML:
# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

powercalc:

#SMA Tripower and SI#
modbus:
  - type: tcp
    host: 192.168.178.47
    port: 502
    name: SIModbus
   
  - type: tcp
    host: 192.168.178.119
    port: 502
    name: Tripower
   
sensor:
  - platform: modbus
    registers:
############## Tripower ##############
    - name: Erzeugung_Tag_kWh
      hub: Tripower
      unit_of_measurement: kWh
      slave: 3
      count: 2
      register_type: input
      address: 30537

############## SI Storage ##############
    - name: BatterieEntladung
      unique_id: BatterieEntladung
      hub: SIModbus
      unit_of_measurement: kWh
      count: 2
      register_type: input
      register: 31401
    - name: BatterieLadung
      hub: SIModbus
      unit_of_measurement: kWh
      slave: 3
      count: 2
      register_type: input
      register: 31397
    - name: BatterieLadezustand
      hub: SIModbus
      unit_of_measurement: percent
      slave: 3
      count: 2
      register_type: input
      register: 30845
    - name: BatterieTemperatur
      hub: SIModbus
      unit_of_measurement: °C
      slave: 3
      count: 2
      precision: 1
      scale: 0.1
      register_type: input
      register: 30849
    - name: BatterieSpannung
      hub: SIModbus
      unit_of_measurement: V
      slave: 3
      count: 2
      precision: 2
      scale: 0.1
      register_type: input
      register: 30851

# PoolManagerPro #
rest:
  - resource: http://192.168.178.149/cgi-bin/webgui.fcgi?xmlitem=34.4033
    scan_interval: 60
    sensor:
      - name: "PoolTemp"
        value_template: '{{ value_json.pm5.item["@value"] }}'
        unit_of_measurement: "°C"
       
   
influxdb:
  username: HomeAssistant
  password: *******
  tags:
    source: HA
  tags_attributes:
    - friendly_name
  default_measurement: state
  exclude:
    entities:
    - zone.home
  include:
    domains:
    - sensor
    - binary_sensor
    - sun
    - light
    - cover

#Watermeter qm in Liter
template:
  - sensor:
    - name: "Watermeter in l"
      unique_id: watermeter_in_l
      icon: "mdi:gauge"
      state: "{{ states('sensor.watermeter_value')|float(default=0) * 1000 }}" # Convert 1 m3 => 1000 l
      unit_of_measurement: l
      availability: "{{ states('sensor.watermeter_value') not in ['unknown', 'unavailable', 'none'] }}"
     
    template: !include template.yaml



und die template


YAML:
 - sensor:
    - name: 0Wert
      unique_id: Solar_test
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) + (states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0)) ))| round(2) }}

Die Einrückung habe ich nochmals kontrolliert, bekomme den grünen hacken rechts oben. Dann sollte es passen oder?
 

Anhänge

  • Screenshot 2024-02-14 081224.png
    Screenshot 2024-02-14 081224.png
    19,7 KB · Aufrufe: 4
geändert, keine Fehler beim Neustart. Danke das du dir die Zeit nimmst mir zu helfen.
Werde es erst am abend sagen können ob es funktionert. Die Entität wird jetzt gefunden.
 
Wenn Du diese Anzeige hier meinst, die lieber 0, anstatt diesen Text anzeigen soll
1707906924043.png
dann müssen wir unseren Code etwas ändern.
Code:
  - sensor:
    - name: Wechselrichter_1
      unique_id: Wechselrichter_1
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) }}
  - sensor:
    - name: Wechselrichter_2
      unique_id: Wechselrichter_2
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0) }}
Dann trägst Du bei deinem beiden Anzeigen oben "Wechselrichter_1" bzw "Wechselrichter_2" als Entität ein, dann sollte das klappen.
 
Ja genau so sollte es sein
Gesamt und dann jeweils pro Seite.

Hab die Namen angepasst. Leider bekomme ich folgende Fehlermeldung

Logger: homeassistant.config
Source: config.py:597
First occurred: 21:54:13 (4 occurrences)
Last logged: 21:58:40

Invalid config for 'template' at template.yaml, line 17: invalid template (TemplateSyntaxError: unexpected '}', expected ')') for dictionary value 'sensor->0->state', got "{{ ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) }}\n"
Invalid config for 'template' at template.yaml, line 25: invalid template (TemplateSyntaxError: unexpected '}', expected ')') for dictionary value 'sensor->0->state', got "{{ ((states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0) }}\n"
Invalid config for 'template' at template.yaml, line 26: invalid template (TemplateSyntaxError: unexpected '}', expected ')') for dictionary value 'sensor->0->state', got "{{ ((states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0) }}\n"

YAML:
 # Photovoltaik Erdwall Erzeugung
 - sensor:
    - name: Erdwall_gesamt
      unique_id: Solar_Erzeugung
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) + (states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0)) ))| round(2) }}
 
 - sensor:
    - name: Erdwall links
      unique_id: Erdwall links
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) }}
       
 - sensor:
    - name: Erdwall rechts
      unique_id: Erdwall rechts
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0) }}

Es wird nur gesamt und links gefunden, rechte Entität nicht
Was ist falsch? Danke
 
Dein Einrücken ist schon wieder falsch.
Das zeigt Dir der Editor aber doch auch mit dem roten Ausrufezeichen an. Da mal drauf klicken, dann sagt der Dir sogar, was ihn stört.
Code:
  # Photovoltaik Erdwall Erzeugung
  - sensor:
    - name: Erdwall_gesamt
      unique_id: Solar_Erzeugung
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) + (states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0)) ))| round(2) }}
 
  - sensor:
    - name: Erdwall links
      unique_id: Erdwall links
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) }}
        
  - sensor:
    - name: Erdwall rechts
      unique_id: Erdwall rechts
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0) }}
 
Alles grün Kein Ausrufezeichen
In Zeile 16 und 24 soll der Fehler liegen laut log

Logger: homeassistant.config
Source: config.py:597
First occurred: 22:12:21 (2 occurrences)
Last logged: 22:12:21

Invalid config for 'template' at template.yaml, line 16: invalid template (TemplateSyntaxError: unexpected '}', expected ')') for dictionary value 'sensor->0->state', got "{{ ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) }}\n"
Invalid config for 'template' at template.yaml, line 24: invalid template (TemplateSyntaxError: unexpected '}', expected ')') for dictionary value 'sensor->0->state', got "{{ ((states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0) }}\n"
YAML:
 # Photovoltaik Erdwall Erzeugung
 - sensor:
    - name: Erdwall_gesamt
      unique_id: Solar_Erzeugung
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) + (states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0)) ))| round(2) }}
 - sensor:
    - name: Erdwall_links
      unique_id: Erdwall links
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) }}
 - sensor:
    - name: Erdwall_rechts
      unique_id: Erdwall rechts
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0) }}
 
Zuletzt bearbeitet:
Ich sehe gerade noch einen Fehler, der sich aber bei mir eingeschlichen hat. Da sind Klammern falsch gesetzt.
Code:
  - sensor:
    - name: Erdwall_gesamt
      unique_id: Solar_Erzeugung
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states('sensor.stp20000_30_mppt_module_0_dc_power') | float(0) + (states('sensor.stp20000_30_mppt_module_1_dc_power') | float(0)) ))| round(2) }}
 
  - sensor:
    - name: Erdwall links
      unique_id: Erdwall links
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  (states('sensor.stp20000_30_mppt_module_0_dc_power')) | float(0) }}
      
  - sensor:
    - name: Erdwall rechts
      unique_id: Erdwall rechts
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  (states('sensor.stp20000_30_mppt_module_1_dc_power')) | float(0) }}

So sollte es dann aber richtig sein.
 
wozu sind die vielen Klammern gut?

Der Fehler sagt dir doch, was das Problem ist:
unexpected '}', expected ')')
 
@ RudiP
Jetzt funktioniert es Super.
Recht schönen Dank für deine Mühe und Zeit
alpha

Lerne jeden Tag dazu dank Leute wie dir /euch😉
 

Anhänge

  • Screenshot_20240214-223512.png
    Screenshot_20240214-223512.png
    136,4 KB · Aufrufe: 6
Sagen wir so.
Als ich diesen Code damals erstellt hatte, habe ich den auch nur in Stücken gefunden, zusammengesetzt, hier was und dort was geändert, bis er dann irgendwann mal funktioniert hat.
Und getreu dem Slogan "Never change a runnign System" sind die Klammern halt bis heute geblieben. Mich stören sie nicht, also bleiben die auch erst mal drin. ;)

Und yes, super, das es endlich klappt.
 
Hallo,

was muss man denn machen, wenn man den letzten Wert gespeichert lassen möchte?

Ich habe zwei HMS-WR über eine openDTU in HA eingebunden. In openDTU sehe ich die Tageserträge und Gesamterträge.

Wenn ich nach der obigen Anleitung vorgehe, werden abends die Werte kWh "am Tag" und "insgesamt" mit "0" angezeigt. Was muss ich machen, dass die Werte erhalten bleiben? Ich möchte auch damit rechnen, z.B. brauche ich die Werte, um die Einspeisung und den "verschenkten" Strom zu berechnen. Aktuell mache ich das mit Helfern. Allerdings kommen da andere Werte als bei den WR raus.
 
Zurück
Oben