Regen diese Stunde in letzte Stunde speichern

Hallo lb Forum
ich bin mal wieder am verzweifeln, weil ich mich wieder eines alten Problems angenommen habe.
Den Wert Regen diese Stunde und Regen dieser Tag ist wie folgt hinterlegt

Regenmenge diese Stunde
sensor.regenmenge_dieser_stunde
Verbrauchszähler

Mir fehlt noch komplett der Durchblick in der Yaml Programmierung
ich habe mir zuerst in der Config.yaml
folgendes eingetragen:

input_number:
  regenmenge_letzte_stunde:
    name: Regenmenge letzte Stunde
    initial: 0
    min: 0
    max: 10000    
    step: 0.01

input_number:
  regenmenge_letzter_tag:
    name: Regenmenge letzter Tag
    initial: 0
    min: 0
    max: 10000
    step: 0.01
template:
  - sensor:
      - name: "Regenmenge letzte Stunde"
        state: "{{ states('input_number.regenmenge_letzte_stunde') }}"
        unit_of_measurement: "mm" 

template:
  - sensor:
      - name: "Regenmenge letzter Tag"
        state: "{{ states('input_number.regenmenge_letzter_tag') }}"
        unit_of_measurement: "mm"  

und in der automation.yaml

automation:
  - alias: "Regenmenge letzte Stunde speichern"
    trigger:
      - platform: time_pattern
        minutes: 59
        seconds: 59
    action:
      - service: input_number.set_value
        data:
          entity_id: input_number.regenmenge_letzte_stunde
          value: "{{ states('sensor.regenmenge_dieser_stunde') | float }}"

automation:
  - alias: "Regenmenge letzter Tag speichern"
    trigger:
      - platform: time_pattern
        hour: 23
        minutes: 59
        seconds: 59
    action:
      - service: input_number.set_value
        data:
          entity_id: input_number.regenmenge_letzter_tag
          value: "{{ states('sensor.regenmenge_dieser_tag') | float }}"

Außer Fehler bekomme ich nichts. :smiling_face_with_tear:

Eines meiner Probleme ist dabei, daß wenn ich den Code in die automation.YAML eingebe, er automatisch mit an die schon vorhandene Automation mit angehängt wird und dadurch Fehlermeldungen ohne Ende auftauchen.

Was mir in der automation.yaml aufgefallen ist, das eine andere Automaition
immer mit einem id: beginnt.

- id: '1735826291319'
  alias: Unterlicht Küche rechts

Ist das mein Fehler, dass ich vor meiner Automation kein id: als Trennung drin habe?

Vielen Dank
Klaus

Ich bitte, die Yaml Profis hier im Forum, mir bei der Lösung zu helfen.
Aber bitte so, das es ein Yaml Frischling versteht. hihiVorformatierter Text

1 „Gefällt mir“

Bitte nutze immer, wenn du deinen Code teilst, die Funktion formatierter Text im Editor. So kann man sich leicht die Automatisierung in HA importieren. :slight_smile:

Was mir aber gleich auffällt, dein template ist nicht ganz korrekt. ’ und " müssen korrekt gesetzt sein.

„{{ states(‚sensor.regenmenge_dieser_stunde‘) | float }}“

müsste so aussehen:

"{{ states('sensor.regenmenge_dieser_stunde') | float }}"
4 „Gefällt mir“

Sorry,
aber ich verstehe dein Problem nicht wirklich?

  1. Für was brauchst Du eine Automation (Regenmesser)
  2. Was hast Du den für einen Regenmesser?

Ich habe es folgendermaßen gelöst.

3 Verbrauchszähler pro h, pro24h, proMonat fertig. Diese erfassen die drei Werte des Regenmessers.

Anzeige der drei Verbrauchzähler via Balkendiagramm im Dashboard.

Zusätzlich speichere ich den Wert Pro Monat in einer csv Datei (auch Strom, Gas usw.)

Gruß

1 „Gefällt mir“

Hallo Wolfi
Regen dieser Tag und diese Stunde habe ich auch über Verbrauchszähler erfaßt. Mir geht es nicht um einfach eine Anzeige, sondern als Grundlage, für eine automatische Gartenbewässerung.
Da ist es auch interessant was es am Tag vorher geregnet hat.
Wenn es da über 20 l/qm geregnet hat, kann ich mir am Tag darauf sparen, die Bewässerung einzuschalten.

Als Regenmesser habe ich eine IP Wetterstation von Homematik.
Ich komme aus der Homatic Welt und bin gerade dabei alles auf HOAS umzuziehen.
Homatic hat intern 4 Variablen Regen diese Std, vorherige Std, dieser Tag und vorheriger Tag. Dieses habe ich damals alles in meiner Automation Homatic benutzt und es hat gut funktioniert.
Leider ließt HOAS nicht die internen Variablen der CCU3 mit aus.
Gruß Klaus

1 „Gefällt mir“

Ich habe noch weiteres probiert
bekomme aber immer eine Fehlermeldung und ich weis nicht
was sie bedeutet :weary:
Sie lautet:
Message malformed: extra keys not allowed @ data[‚actions‘][0][‚choose‘][0][‚sequence‘][0][‚value‘]

Sie kommt immer dann wenn ich versuche meine Automation zu speichern.

alias: Regenmenge letzter Tag, letzte Stunde
description: ""
triggers:
  - trigger: time_pattern
    minutes: /59
    seconds: /59
    id: letzte Stunde
  - trigger: time_pattern
    hours: /23
    minutes: /59
    seconds: /59
    id: letzter Tag
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - letzte Stunde
        sequence:
          - action: input_number.set_value
            entity_id: input_number.regenmenge_letzte_stunde
            value: "{{ states('sensor.regenmenge_dieser_stunde') | float }}"
      - conditions:
          - condition: trigger
            id:
              - letzter Tag
        sequence: []
    default:
      - action: input_number.set_value
        entity_id: input_number.regenmenge_letzter_tag
        value: "{{ states('sensor.regenmenge_dieser_tag') | float }}"
mode: single

die hier benutzen Variablen habe ich in der Config.yaml
wie folgt erzeugt.
und die Sensoren
sensor.regenmenge_dieser_tag und
sensor.regenmenge_dieser_stunde sind Verbrauchszähler

input_number:
  regenmenge_letzte_stunde:
    name: Regenmenge letzte Stunde
    initial: 0
    min: 0
    max: 10000    
    step: 0.01

  regenmenge_letzter_tag:
    name: Regenmenge letzter Tag
    initial: 0
    min: 0
    max: 10000
    step: 0.01

template:
  - sensor:
      - name: "Regenmenge letzte Stunde"
        state: "{{ states('input_number.regenmenge_letzte_stunde') }}"
        unit_of_measurement: "mm" 

  - sensor:
      - name: "Regenmenge letzter Tag"
        state: "{{ states('input_number.regenmenge_dieser_tag') }}"
        unit_of_measurement: "mm"  

Leute was mache ich falsch???

Viele Grüße Klaus

1 „Gefällt mir“

Hi, du musst bei deinem value mit data arbeiten und service, statt action zu nutzen. Habe es mal angepasst, sollte so klappen.

Ich kopiere mir die Yaml immer in eine neue Automatisierung und schaue mir dann im UI Editor die Syntax an. So kann man schnell erkennen, wo Fehler gemacht wurden und dann im Editor oder direkt in der yaml korrigieren.

alias: Regenmenge letzter Tag, letzte Stunde
description: ""
trigger:
  - platform: time_pattern
    minutes: /59
    seconds: /59
    id: letzte Stunde
  - platform: time_pattern
    hours: /23
    minutes: /59
    seconds: /59
    id: letzter Tag
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: letzte Stunde
        sequence:
          - service: input_number.set_value
            target:
              entity_id: input_number.regenmenge_letzte_stunde
            data:
              value: "{{ states('sensor.regenmenge_dieser_stunde') | float }}"
      - conditions:
          - condition: trigger
            id: letzter Tag
        sequence: []
          - service: input_number.set_value
            target:
              entity_id: input_number.regenmenge_letzter_tag
            data:
              value: "{{ states('sensor.regenmenge_dieser_tag') | float }}"
mode: parallel
2 „Gefällt mir“