Gas und Strompreise anzeigen lassen

Hallo
ich habe angefangen, mein Gas und Strom mit Home Assistant mitzuloggen. Strom mit einem Shelly 3EM und Gas mit einem ESP32, alles mit einem Raspberry Pi 4. Das funktioniert auch alles sehr gut. Aber es wäre natürlich auch schön, wenn ich noch Gas- und Strompreise anzeigen lassen könnte, z. B. täglich, wöchentlich und monatlich. Und das bekomme ich einfach nicht hin.
und das bekomme ich einfach nicht hin

hir ist der code von mein ESP32

captive_portal:
globals:
  - id: total_pulses
    type: int
    restore_value: false
    initial_value: '0'  # startet mit 0
  - id: imp_ratio
    type: float
    restore_value: false
    initial_value: '0.01'  # vom Gaszaehler
  - id: Zustandszahl
    type: float
    restore_value: false
    initial_value: '0.9643'  # aus der Gasrechnung
  - id: Brennwert
    type: float
    restore_value: false
    initial_value: '10.276'  # aus der Gasrechnung 
  - id: initial_consumption
    type: float
    restore_value: false
    initial_value: '0'  # hier kann der Gaszählerstand initialisiert werden (Faktor 1000 um einen genaueren Wert zu erzeugen)
  - id: initial_energy_consumption
    type: float
    restore_value: false
    initial_value: id(initial_consumption) * id(Brennwert) * id(Zustandszahl) / 1000.0

binary_sensor:
  - platform: gpio
    id: internal_pulse_counter
    pin:
      number: GPIO21   # Pin, an dem der Reed-Kontakt hängt
      mode: INPUT_PULLUP
    name: "Live-Impuls"
    filters:
      - delayed_on: 100ms
    on_press:
      then:
        - lambda: id(total_pulses) += 1;
        - output.turn_off: led  # optional: für eine LED, die den Gaszählerpuls visualisiert
    on_release:
      then:
        - output.turn_on: led  # optional: für eine LED, die den Gaszählerpuls visualisiert

## Optional: Diese LED soll blinken, sobald ein Signal vom Gaszähler erkannt wird
output:
  - platform: gpio
    pin: GPIO23
    id: 'led'

sensor:
  - platform: template
    name: "Gasverbrauch"
    device_class: gas
    update_interval : 10s
    unit_of_measurement: "m³"
    state_class: total_increasing
    icon: "mdi:fire"
    accuracy_decimals: 2
    lambda: return (id(initial_consumption)/1000.0) + (id(total_pulses) * id(imp_ratio));

  - platform: template
    name: 'Gasverbrauch Energy'
    device_class: energy
    state_class: total_increasing
    update_interval : 10s
    icon: 'mdi:fire'
    accuracy_decimals: 1
    unit_of_measurement: "kWh"
    lambda: return id(initial_energy_consumption) + (id(total_pulses) * id(imp_ratio) * id(Brennwert) * id(Zustandszahl));

  - platform: template
    name: 'Pulse Counter total'
    update_interval : 10s
    icon: "mdi:counter"
    accuracy_decimals: 0
    unit_of_measurement: "pulses"
    lambda: return id(total_pulses);

  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"
    device_class: ""

ich bedanke mich schon mal im Voraus
Gruß olaf

Hallo Olaf,

falls du das noch lesen solltest… hast du es hin bekommen?
Wenn ja, wie?

Ich möchte in meiner Kachel für den “Stromverbrauch Heute/Woche/Monat” das ebenfalls.

Etwa wie in diesem Beispiel:

Stromverbrauch Heute: 1,254 kWh …•… Kosten: 0,477 €
Stromvebrauch Woche: 6,270 kWh …•… Kosten: 2,38 €
usw.

Evtl braucht das noch jemand.
Websuche hat mich zumindest nicht weiter gebracht.
Ich habe ein zum Glück ein Template und eine Erklärung gefunden.
Hoffe ich habe es dann auch richtig umgesetzt und es hilft weiter.

Folgende Helfer sind bereits angelegt:

  • Preis pro kWh
  • Verbrauch täglich, wöchentlich, monatlich

Gehe zu:
Einstellungen > Geräte und Dienste > Helfer > Helfer erstellen > Template > Template für Sensor erstellen:

Einen Name vergeben & folgenden Code:

{{ float(states(‘sensor.NAME_DES_HELFERS_TÄGLICH’))*float(states(‘input_number.NAME_HELFER_STROMPREIS’)) }}

Dann die Kachel anlegen und am Ende sieht es so aus:

Vorerst.