Binary GPIO sensor to Engergy Dashboard

Hi ich habe meine 2 Stromzähler mit tcrt5000 Sensoren digitalisiert. Direkt über die GPIO’s des Raspberry Pi. In Homeassistant habe ich saubere Signale und über Helfer und Automationen kann ich die Zählerstände fortschreiben.
Ohne mich jetzt völlig ins Coden zu verlieren, war meine naive Vorstellung, ich könnte die Impulse irgendwie ins Energiedashboard einbinden. Die notwendige Mathematik ist ja keine Raketenwissenschaft . Um das in Home Assistant abzubilden, bin ich aber zu blöd. Sämtliche ESP-Home Ansätze funktionieren wegen der direkten Anbindung nicht. Vielleicht erbarmt sich jemand und hilft mir auf die Sprünge.
Ein gutes Jahr 2023!
Peter

Have a read of this thread:

This seems to be a discussion about achieving what you want.

Thanks for your replay but I’m still struggling. I crated a nice Stair with a helper.

70 pulse of the binary sensor cause 1 kWh.

Now what I like to report is the actual kWh usage:

  • (Seconds between the last pulse and the previous on) * 60 /70 = actual kWh

and moreover:

  • kWh daily and continuous reported
  • kWh hourly and continuous reported

Maybe the 2. and 3. works with helper an automatizations but how can I edit errors in the database?

There are thousands of solutions just push me in the right direction.

Best ragads

Peter

Bist Du schon weiter gekommen? Ich möchte auch meine Stromzähler über die GPIOs vom Raspberry Pi einlesen. Bisher hatte ich Node-Red am laufen und versuche gerade auf Home Assistant umzusteigen. Allerdings scheitere ich noch dran die Signale an den GPIOs richtig in Home Assistant einzubinden. Läuft bei Dir Home Assistant auch auf dem gleichen Raspberry Pi?

Entschuldigung für die späte Antwort:
Also für das Energy-Dashboard:

template:
  - sensor:
      - name: hauptstrom
        unique_id: Strom_H
        device_class: energy
        unit_of_measurement: kWh
        state_class: total_increasing
        icon: mdi:fire
        state: "{{ states ('counter.hauptstrom') }}"

Dabei ist “counter.hauptstorm” nur die Addition der KWh. Also je nach Zähler 75 Impulse = eine KWh.

Lustiger war die Syntax für die Anzeige des akt. Verbrauches in Watt. Dabei habe ich Helfer definiert, die die Zeit zwischen 2 Impulsen messen. Immer wenn ein Impuls kommt, bekommt der Start Stempel die Zeit vom Endstempel (alt) und der Endstempel die aktuelle Zeit. Damit ist die Differenz zwischen den Stempen das Maß für den Energieverbrauch.

unique_id: Hauptstrom_kW
        unit_of_measurement: kWh
        state: >-
          {% set start_time = as_timestamp(states('input_datetime.aktueller_kwh_sart')) %}
          {% set end_time = as_timestamp(states('input_datetime.aktueller_kwh_ende')) %}
          {% if start_time != 0 and end_time != 0 and end_time != start_time %}
            {{ (-48 / (end_time - start_time)) * 1000 | float(default=0) | round(1) }}
          {% else %}
            0
          {% endif %}

Wieso 48? Wenn ich in 3.600 Sec. 75 Runden/Impulse für 1 KW brauche, sind das 48 Sekunden für 1 Runde.

PS: Der Erfolg ist eher wissenschaftlicher Natur. Die Impulse sind und bleiben ungenau. Egal was man mit dem PulsCounter anstellt.

Viel Erfolg!