2 Ferraris-Zaehler mittels IR-Diode und ESP8266 ausgelesen, nun aktuelle Zählerstände anpassen, aber wie?

Hallo
Wie viele von Euch habe ich, nach Simons-Video, 2 Ferraris-Zähler mit Leseeinheiten ausgestattet und tracke nun brav die jeweiligen Umdrehungen.
Simon hat, für mich zu flott, im Dashboard 2 Felder definiert, mit denen er, quasi on the fly, die aktuellen Zählerstände als IST-Werte für die weitere Pulse/KwH-Zählung anpassen kann.

Da ich das nicht verstanden habe, rufe ich um Hilfe für dieses konkrete Problem. (Es werden weitere Fragen bis zum vollständigen Konfiguration des Dashboard folgen :slight_smile:

Danke im voraus, Joska

Edit: Vielleicht muss ich genauer erklären, was nicht klappt:
Ich habe folgende Konfiguration in der YAML für einen der beiden ESPs;

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "jkjhjjhkjhkjhkjhkjhkjhjhkjhkjhkjhkjhjhkjhkjhkjh"

ota:
  password: "lkjlkjlkjlkjlkjlkjlkjlkjlkjjlkjlkjlkjlkjlkj"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Optional manual IP
#  manual_ip:
#    static_ip: 192.168.177.163
#    gateway: 192.168.177.1
#    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Strom-Tracker Fallback Hotspot"
    password: "jaK6jkjjhkjhkjhkj"

captive_portal:

sensor:

  # Begin Pulse Meter Sensor
  - platform: pulse_counter
    pin: 
      number: D5
      mode: INPUT_PULLUP

    internal_filter: 100ms
    update_interval: 60s
    count_mode: 
      falling_edge: INCREMENT
      rising_edge: DISABLE
    total:
      id: strom_tracker_total
  - platform: adc
    pin: A0
    name: "Analog Voltage Signal"
    accuracy_decimals: 4
    update_interval: 120s
  # Used for Energy Measuring
  - platform: copy
    source_id: strom_tracker_pulse
    unit_of_measurement: 'kW'
    name: 'Aktuelle Leistung'
    accuracy_decimals: 3
    filters:
      - multiply: 0.625  # (60s/96 pulses per kWh)
  - platform: copy
    source_id: strom_tracker_total
    unit_of_measurement: 'kWh'
    name: 'Stromzähler Total'
    accuracy_decimals: 3
    filters:
      - multiply: 0.0104166666 # (1/96 pulses per kWh)
  # Used for Testing and Validation Purposes
  - platform: copy
    source_id: strom_tracker_pulse
    name: "Strom-Tracker Raw"
  - platform: copy
    source_id: strom_tracker_total
    name: "Strom-Tracker Total Raw"
      
  - platform: uptime
    name: Uptime       

Leicht erkennbar, dass ich nur Simons “Vorlage” adaptiert habe. Da ich lange Zeit viele Drop-outs und Drop-ins hatte, muss ich immer wieder die aktuelle KWh-Zahl über die Statistik von Hand eintragen, aber ich hätte gerne den Weg wie im Video-Beispiel mit 2 Eingabefeldern, die die aktuelle Eingabe wieder als Basis für die zukünftige Erfassung der KWh verwendet. Ich hatte schon einmal 2 Helper angelegt, bin aber nicht weiter gekommen.
Außerdem finde ich die Daten für die tägliche, wöchentliche und monatliche Summe, wie sie in der Configuration.yaml steht, nicht, aber das wird ein neues Thema.

Hat vielleicht jemand ein Beispiel für die Schritte zur Anlage eines Feldes im Dashboard, mit dem ich die neue Basis für die Zählung der KWh setzen kann?

Moin,
kleiner Tipp wenn du im Post über ein Video sprichst am besten verlinken.
Menschen sind faul und wollen nicht unnötig viel suchen, um was für ein Video es sich handelt.
Ich denke du meinst das hier:

dafür musst du erstmal die utility_meter anlegen / Fixen.
Dann kannst du dir die Helfer anlegen ( wen noch nicht gemacht ) und mit der Automation den wert der Gesamtzeit ändern.

LG
Tobi

Danke für den Tipp mit dem Video. Ja, das war das entsprechende.

Zu utility meter: ich dachte, mit dem Eintrag, den Einträgen in der Configuration.yaml hätte ich genau diese getan. Wo ist mein Denkfehler?

Moin,
stimmt bei dir denn die source: vom utility_meter:?
Da müsste dein Sensor “Stromzähler Total” also wahrscheinlich sensor.stromzahler_total stehen.
Weil irgendwas stimmt da ja nicht wenn ich dein ersten Post das richtig entnehme:

LG
Tobi

Hallo Tobi

Ich suche jetzt noch einmal die Segmente der jeweiligen yaml-Dateien raus;

sensor:
  # The Pulse-Sensor is initiated and used indecritly via Copy-Platform (There is no other way if you want 2 Value Pairs from one Sensor/Pin)
  # Source: https://github.com/esphome/issues/issues/3364#issuecomment-1153246628
  # Begin Pulse Meter Sensor
  - platform: pulse_counter
    pin: 
      number: D5
      mode: INPUT_PULLUP
      # Falls du Probleme hast mit nicht korrekt gezählten Impulsen, kannst du abgesehen von einer sauberen Platzierung der Diode versuchen, die Zeile hier oben drüber einzukommentieren, indem du die Raute davor entfernst.
    id: strom_tracker_pulse
    # Bei 50 ms wurden scheinbar zu wenige Pulse gezählt. Offset nach 3 Stunden war z.B. 1ne kWh
    # Geändert auf 15ms von 20ms am 15.12.2022 um 22:09 Uhr, da noch 0,5 kWh gefehlt haben
    # 17.12.2022 13:01 Uhr: Geändert auf 20ms, da bei 15ms insgesamt 15 kWh in 36 Stunden zu viel gezählt wurden.
    # 18.12.2022 22:53 Uhr: Gändert auf 25ms von 20ms, da in 24H insgesamt 1ne kWh zu viel gezählt wurde
    # Nach einem erneuten einstellen des Poti am Board und einer verschiebung des TCRT5000 um 1 mm nach oben brachten 100ms ein exaktes Ergebnis.
    internal_filter: 100ms
    update_interval: 60s
    count_mode: 
      falling_edge: INCREMENT
      rising_edge: DISABLE
    total:
      id: strom_tracker_total
  - platform: adc
    pin: A0
    name: "Analog Voltage Signal"
    accuracy_decimals: 4
    update_interval: 120s
  # Used for Energy Measuring
  - platform: copy
    source_id: strom_tracker_pulse
    unit_of_measurement: 'kW'
    name: 'Aktuelle Leistung'
    accuracy_decimals: 3
    filters:
      - multiply: 0.625  # (60s/96 pulses per kWh)
  - platform: copy
    source_id: strom_tracker_total
    unit_of_measurement: 'kWh'
    name: 'Stromzähler Total'
    accuracy_decimals: 3
    filters:
      - multiply: 0.0104166666 # (1/96 pulses per kWh)

und

utility_meter:
  daily_energy:
    source: sensor.strom_tracker_total
    name: Heizstromzähler täglich
    cycle: daily
    tariffs:
      - HT
  weekly_energy:
    source: sensor.strom_tracker_total
    name: Heizstromzähler wöchentlich
    cycle: weekly
    tariffs:
      - HT
  monthly_energy:
    source: sensor.strom_tracker_total
    name: Heizstromzähler monatlich
    cycle: monthly
    tariffs:
      - HT
  overall_energy:
    source: sensor.strom_tracker_total
    name: Heizstromzähler gesamt
    tariffs:
      - HT

Da ich mir die Originalvorlagen kopiert und dann an den jeweiligen Stellen nur die lokalen Gegebenheiten entsprechend angepasst habe, sehe ich leider immer noch den Fehler nicht.

Wenn ich also in der Stromzaehler.YAML die source_id: strom_tracker_total angelegt habe, sollte diese in der Configuration.yaml für die Berechnung der täglichen, wöchentlichen etc. Verbrauchswerte verwendet werden, oder habe ich das falsch verstanden?
Gruß, Joska

Moin,

    tariffs:
      - HT

kannst du weglassen wen du nur ein tariff hast.

Und ich glaube du hast bei den utility_meter: den falschen source: sensor.
ist der sensor.strom_tracker_total nicht der der die pulse zählt?
du musst du den Sensor haben der die kWh ausgibt.
Die id von dem sensor:

  - platform: copy
    source_id: strom_tracker_total
    unit_of_measurement: 'kWh'
    name: 'Stromzähler Total'
    accuracy_decimals: 3
    filters:
      - multiply: 0.0104166666 # (1/96 pulses per kWh)

was wahrscheinlich sensor.stromzahler_total ist (nicht 100% sicher musst du nochmal nachgucken wie die richtige ID ist) muss hinter source:. Den namen kannst du dann auch gleich anpassen da es sich bei dir um den normalen Stromzähler handelt.
z.B.:

  overall_energy:
    source: sensor.stromzahler_total
    name: Stromzähler gesamt

Hallo Tobi

Mir ist noch schleierhaft, wo die Bezeichnung für die Source herkommt. Ich finde zwar einen Sensor.strom_tracker_stromzahler_total, aber wie diese Namensgebung entsteht, begreife ich noch nicht. Wird diese aus NAME: generiert, um Umlaute gekürt und mit UNTERSTRICH verbunden?

Bei template Sensoren ist es meistens so, also gehe ich davon aus das es bei ESPHome auch so ist.
Guck doch mal nach welche Sensoren dir bei dem Gerät angezeigt werden.
z.B. hier ein anderes ESP Gerät:
image
und da müsste bei dir ein Sensor sein der kWh ausgibt und den musst du als source für die utility_meter benutzen.

LG

Ups
nach diversen Versuchen ist der ESP jetzt offline und ich muss ihn neu flashen. Dabei werde ich die Namen so anpassen, dass ich weniger Probleme bekomme. Dann melde ich mich erneut.

So, nun habe ich alles wieder Online.
Ich sehe die Pulsecounter-Werte, umgerechnet in KWh, sehe auch die Statistiken für den Stromverbrauch, täglich, wöchentlich, monatlich und gesamt.

Nun stolpere ich über das Phänomen, dass ich ja die gleichartigen Entitäten und Sensoren/Statisiken für den PV-Ertrag benötige.

Setze ich die Definitionen einfach als quasi-Kopie mit angepassten Namen unter die des Stromverbrauchs in die Configuration.yaml?

Mehr frage ich an dieser Stelle erst einmal nicht :slight_smile: