PowerOpti gegen Volkszähler austauschen

Hallo zusammen,

ich habe den Tasmota Volkszähler in Home Assistant. Unger Geräte / Dienste / Tasmota sehe ich ihn.
Frage: Meine Idee war, dass ich im EnergieDashboard jetzt einfach den alten Stromzähler bzw die Entität des alten PowerOpti Strom-Energie-Bezug durch die des neuen Tasmota
ersetzte:
MT631 Power_cur sensor.tasmota_mt631_power_cur
MT631 Total_in sensor.tasmota_mt631_total_in
Leider ist das aber nicht so einfach. Schade.
Im EnergieDashboard kann ich die Entitäten von tasmota gar nicht finden.
Frage: müssen da wieder irgend welche Einträge in der configuration.yaml gemacht werden?
Wenn ja welche?
Mit PowerOpti hat alles gut funktioniert, sogar meine Solar-Balkonkraftanlage konnte eingebunden werden. PowerOpti bingt aber halt immer viel Störungen mit sich, deswegen würde ich gerne den Tasmota an der Stelle von PowerOpti benutzen.

Dir fehlen bei den Sensoren die Sensorklassen und die dazugehörigen Einheiten. Bringe das in Ordnung, danach solltest du im Energiedashbord finden, was du benötigst.

@Radiocarbonat Vielen Danke für dein Hilfe.

Dir fehlen bei den Sensoren die Sensorklassen und die dazugehörigen Einheiten

Wo definiere ich dies? In der Configurations.yaml (hoffentlich nicht, da ich nicht weiß wie das geht)
oder hier?

Hier noch ein interessanter Link
Stromleser installieren & in Home Assistant einbinden – So einfach geht’s! :high_voltage::house: - YouTube
https://www.youtube.com/watch?v=iWQxmhftCT8

Vielen Dank

Nachtrag:
Hier sind die Einheiten vorhanden

Ich schaue mir das Video nicht extra an. Mit Tasmota kenne ich mich auch nicht aus.

Was verbirgt sich hinter dem “Configuration”-Button?

Nachtrag: Bei ESPhome gibt es eine konfig-Datei, in der man diese Zuordnung händisch erledigen kann. Gibt es so etwas bei Tasmota auch?

Danke dass du noch da bist.

Es gibt eine Scribt-option. Da habe ich folgendes eingegeben.

>D
>B
=>sensor53 r
>M 1
+1,3,s,16,9600,MT631,1
1,77070100010800ff@1000,Verbrauch,kWh,E_in,3
1,77070100020800ff@1000,Einspeisung,kWh,E_out,3
1,77070100100700ff@1,akt. Leistung,W,Power,0
#

Mittlerweile wird der Verbrauch auch in W angezeigt

Wie ist denn der Syntax hier aufgebaut? Was steht dann an welcher Stelle in der kommaseparierten Liste? Wie bereits geschrieben, kenn ich mich nicht mit Tasmota aus.

Ich habe folgendes gefunden:

>D
>B
=>sensor53 r
>M 1
+1,3,s,0,9600,MT631
1,77070100010800ff@1000,Total Consumed,kWh,Total_in,2
1,77070100020800ff@1000,Total Delivered,kWh,Total_out,2
1,77070100100700ff@1,Current Consumption,W,Power_cur,0
#

Oder bei Simon42

>D
>B
=>sensor53 r
>M 1
+1,3,o,0,300,ACE3000,1,100,2F3F210D0A,063035310D0A
1,1.8.0(@1,Total_in,KWh,Total_inZ1,4
1,2.8.0(@1,Total_out,KWh,Total_exZ1,4
1,C.1(@1,Zähler#,,Meter_number,0
#

Oder bei Stromzähler.de


Kopieren
>D
>B
=>sensor53 r
>M 1
+1,3,s,16,9600,MT631,1
1,77070100010800ff@1000,Verbrauch,kWh,E_in,3
1,77070100020800ff@1000,Einspeisung,kWh,E_out,3
1,77070100100700ff@1,akt. Leistung,W,Power,0
#
        

Moin,
man könnte notfals auch über die configuration.yaml die fehlenden Attribute hinzufügen.

homeassistant:
  customize:
    sensor.tasmota_mt631_total_in:
      unit_of_measurement: kWh
      device_class: energy
      state_class: total_increasing

(bitte drauf achten das nur einmal homeassistant: in der Configuration ist!)

Welche Einheiten und Geräteklassen zusammen gehören kann man hier auch schön sehen:

Oder man macht ein template Sensor.

Die Tasmota Integration kann bzw. macht es wohl nicht automatisch, was ich so auf die schnelle gefunden habe arbeiten eigentlich alle mit Template oder custimize.
Simon hat es in seinem Blog mit template Sensoren gemacht.

LG

Das Energiedashboard benötigt Sensoren mit der device_class “energy”.

Erstelle in der “config.yaml” den notwendigen Sensor.

!!Wichtig!! Einrückungen genau übernehmen.

Sollte der Eintrag “template” und/oder “-sensor” schon vorhanden sein dann dort einfügen..

template:

  - sensor:

    # Stromzähler Keller Verbrauch In
      - name: "Strom-EG-Bezug"
        unique_id: "Strom-EG-Bezug"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_mt631_total_in'),0) | round(3) }}
        availability: "{{ has_value('sensor.tasmota_mt631_total_in') }}" 

Im Energiedashbord kannst Du dann den Sensor “Strom-EG-Bezug” verwenden.

Andere Sensoren analog einbinden.

Vielen Dank für Eure Hilfe:

@jabberwoky
Falls ich es richtig gemacht habe, hat es leider nicht geklappt. Die Entitäten werden immer noch nicht im Energie-Dashboard gefunden. Ich habe aber
Strom-EG-Bezug2 mit der Ziffer 2 verwendet, da ich Strom-EG-Bezug schon habe.


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

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes
homeassistant:
  packages: !include_dir_named packages/

# Text-to-speech
tts:
  - platform: google_translate

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

alexa:
intent_script:
  script.offene_fenster_und_turen_abfragen:
            name: "fenster_offen"
            display_categories: SCRIPT

# Wake on Lan
wake_on_lan:
homeassistant:
  allowlist_external_dirs:
    - "/tmp"

homeassistant:
  allowlist_external_dirs:
    - "/media"


# ---------- Lüftungsüberwachung OG ----------
input_boolean:
  alle_fenster_offen:
    name: Alle Fenster gleichzeitig offen
    initial: off

# ---------- Gefrierschrankschalter ----------
#input_boolean:
#  gefrierschrankschalter:
#    name: Gefrierschrankschalter
#    initial: off
# ---------- Taster ----------
input_button:
  ring_bell:
    name: Ring bell
    icon: mdi:bell
# ---------- Stromsensor2 ----------
template:

  - sensor:

    # Stromzähler Keller Verbrauch In
      - name: "Strom-EG-Bezug2"
        unique_id: "Strom-EG-Bezug2"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_mt631_total_in'),0) | round(3) }}
        availability: "{{ has_value('sensor.tasmota_mt631_total_in') }}"

# ---------- Stromsensor2 ende ----------


# ---------- Stromzaehler ----------
rest:
  - authentication: basic
    username: !secret username
    password: !secret password
    scan_interval: 30
    resource: https://backend.powerfox.energy/api/2.0/my/main/current?unit=kwh
    sensor:
      - name: "poweropti"
        unique_id: "poweropti"
        json_attributes:
          - "Watt"
          - "Timestamp"
          - "A_Plus"
          - "A_Minus"
          - "Outdated"

template:
  - sensor:
      - name: "Strom-EG-aktuell"
        unit_of_measurement: "W"
        device_class: "power"
        state_class: "measurement"
        state: >
            {{ state_attr('sensor.poweropti', 'Watt') }}
      - name: "Strom-EG-Bezug"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >
            {% set bezug = state_attr('sensor.poweropti', 'A_Plus') | float %}
            {% if bezug > 0 %}
            {{ bezug }}
            {% endif %}

    # Berechnet anhand des Stromzählers die Rückgabe ins Netz, wenn negative Werte ausgegben werden
      - name: Zurück zum Netz (Watt) v2
        unique_id: "BalkonsolarBackToGridSensorWatts"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.strom_eg_aktuell')) and states('sensor.strom_eg_aktuell') | float(0) < 0 %}
                {{(states('sensor.strom_eg_aktuell') | float(0))*-1 | round (3) }}
            {% else %}
                {{(states ('0.0') | float(0)) |round(3) }}
            {% endif %}

    # Berechnet anhand des Stromzählers und der Solarerzeugung in Watt den Eigenverbrauch
      - name: Solar Eigenverbrauch (Watt) v2
        unique_id: "BalkonsolarEigenverbrauchWatts"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.strom_eg_aktuell')) and states('sensor.strom_eg_aktuell') | float(0) < 0 %}
                {{ ( (states('sensor.strom_eg_aktuell') | float(0) ) + (states('sensor.wechselrichter_ac_leistung') | float(0) ) ) | round (3) }}
            {% else %}
                {{ states('sensor.wechselrichter_ac_leistung') | round (3) }}
            {% endif %}
    # Zweiter Sensor für Ersparnis in Euro pro Stunde, basiert auf dem obigen Sensor (Solar Eigenverbrauch (Watt) v2) und dem aktuellen Strompreis in EUR/kWh
      - name: Balkonsolar Vorteil
        unique_id: "BalkonsolarVorteil"
        unit_of_measurement: EUR/h
        state: >
         {{ states('sensor.solar_eigenverbrauch_watt_v2')|float(0) * states('input_number.aktueller_strompreis')|float(0)/1000 }}

# ---------- Sensoren ---------- Sommer-Schalter
      - name: "winterzeit"
        unique_id: "winterzeit"
        state: "{% if now().month | string in ('1,2,3,4,5,6,10,11,12') | string %}on{% else %}off{% endif %}"
switch:
    - platform: template
      switches:
        summertime:
          value_template: "{{ is_state('sensor.winterzeit', 'on') }}"
          turn_on:
            service: switch.turn_on
            target:
              entity_id: switch.summertime_open
          turn_off:
            service: switch.turn_off
            target:
              entity_id: switch.summertime_close
    - platform: wake_on_lan
      mac: 54:04:A6:6F:C8:45
      name: "Win10-PC-Keller"
      turn_off:
          service: hassio.addon_stdin
          data:
            addon: core_rpc_shutdown
            input: Win10-PC-Keller



light:
  - platform: template
    lights:
      kontrollleuchte:
        friendly_name: "Kontrollleuchte"
        unique_id: "Kontrollleuchte"
        turn_on:
          service: light.turn_on
          target:
            entity_id: light.kontrollleuchte
        turn_off:
          service: light.turn_off
          target:
            entity_id: light.kontrollleuchte
        value_template: >-
          {% set current_time = now().strftime('%H:%M') %}
          {% if current_time >= '08:00' and current_time <= '23:59' %}
            {% if is_state('alarm_control_panel.intrusion_detection_system', 'disarmed') and is_state('input_boolean.haustueren', 'on') %}
              on
            {% else %}
              off
            {% endif %}
          {% else %}
            off
          {% endif %}


            

            

@totow

(bitte drauf achten das nur einmal homeassistant: in der Configuration ist!)

Welche Einheiten und Geräteklassen zusammen gehören kann man hier auch schön sehen:

Was meinst du damti?

Du hast

den Bereich

template:

  - sensor:

zweimal in deiner config.yaml. Der darf nur einmal vorhanden sein. Schiebe den neuen Sensor in den bestehen Bereich “template -sensor”.

Ich meine mich zu erinnern dass etwas dauert bis das Energiedashboard Werte anzeigt.

Du hast im ersten Beitrag 2 Sensoren.

Damit du für den Power sensor nicht die Sachen einträgst, die für einen Energie Sensor sind.
Denn Power W(att) ist nicht das gleiche wie Energie kWh.

Oder meinst du das mit homeassistant:?
Das darf nur einmal in die Config, da sonst nur die Sachen hinter einem homeassistant: geladen werden und die anderen ignoriert werden.

Das:

sollte er so aussehen:

homeassistant:
  packages: !include_dir_named packages/
  allowlist_external_dirs:
    - "/tmp"
    - "/media"

LG

@totow @jabberwoky

Im Energiedashboard kann ich jetzt Strom-EG-Bezug2 auswählen.

Jedoch steht hier die Größe des Sensor E_in noch ohne Einheit.

Nachtrag:
Ist die customize: so richtig eingebunden?

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

homeassistant:
  packages: !include_dir_named packages/
  allowlist_external_dirs:
    - "/tmp"
    - "/media"

  customize:
    sensor.tasmota_mt631_total_in:
      unit_of_measurement: kWh
      device_class: energy
      state_class: total_increasing

Wenn du die Werte über Template-Sensoren in der config.yaml erzeugst, brauchst du den customize-Eintrag nicht.

Tasmota stellt dir platte Zahlen zur Verfügung die dann in HA mit dem Template-Sensor in die korrekte Form/Wert zur weiteren Verwendung in HA gespeichert werden.

@jabberwoky

warum greift dann der Befehl nicht, dass
MT631 E_in 24.862,264
in kWh angezeigt wird?

Die Entität stimmt auch:
sensor.tasmota_mt631_e_in

    # Stromzähler Keller Verbrauch In neuer Zählerableser Tasmota
      - name: "Strom-EG-Bezug2"
        unique_id: "Strom-EG-Bezug2"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_mt631_e_in'),0) | round(3) }}
        availability: "{{ has_value('sensor.tasmota_mt631_e_in') }}"


Ab Zeile 125 habe ich das obige eingefügt


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

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

homeassistant:
  packages: !include_dir_named packages/
  allowlist_external_dirs:
    - "/tmp"
    - "/media"

# Text-to-speech
tts:
  - platform: google_translate

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

alexa:
intent_script:
  script.offene_fenster_und_turen_abfragen:
            name: "fenster_offen"
            display_categories: SCRIPT

# Wake on Lan
wake_on_lan:
homeassistant:
  allowlist_external_dirs:
    - "/tmp"



# ---------- Lüftungsüberwachung OG ----------
input_boolean:
  alle_fenster_offen:
    name: Alle Fenster gleichzeitig offen
    initial: off

# ---------- Gefrierschrankschalter ----------
#input_boolean:
#  gefrierschrankschalter:
#    name: Gefrierschrankschalter
#    initial: off
# ---------- Taster ----------
input_button:
  ring_bell:
    name: Ring bell
    icon: mdi:bell


# ---------- Stromzaehler ----------
rest:
  - authentication: basic
    username: !secret username
    password: !secret password
    scan_interval: 30
    resource: https://backend.powerfox.energy/api/2.0/my/main/current?unit=kwh
    sensor:
      - name: "poweropti"
        unique_id: "poweropti"
        json_attributes:
          - "Watt"
          - "Timestamp"
          - "A_Plus"
          - "A_Minus"
          - "Outdated"

template:
  - sensor:
      - name: "Strom-EG-aktuell"
        unit_of_measurement: "W"
        device_class: "power"
        state_class: "measurement"
        state: >
            {{ state_attr('sensor.poweropti', 'Watt') }}
      - name: "Strom-EG-Bezug"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >
            {% set bezug = state_attr('sensor.poweropti', 'A_Plus') | float %}
            {% if bezug > 0 %}
            {{ bezug }}
            {% endif %}

    # Berechnet anhand des Stromzählers die Rückgabe ins Netz, wenn negative Werte ausgegben werden
      - name: Zurück zum Netz (Watt) v2
        unique_id: "BalkonsolarBackToGridSensorWatts"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.strom_eg_aktuell')) and states('sensor.strom_eg_aktuell') | float(0) < 0 %}
                {{(states('sensor.strom_eg_aktuell') | float(0))*-1 | round (3) }}
            {% else %}
                {{(states ('0.0') | float(0)) |round(3) }}
            {% endif %}

    # Berechnet anhand des Stromzählers und der Solarerzeugung in Watt den Eigenverbrauch
      - name: Solar Eigenverbrauch (Watt) v2
        unique_id: "BalkonsolarEigenverbrauchWatts"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.strom_eg_aktuell')) and states('sensor.strom_eg_aktuell') | float(0) < 0 %}
                {{ ( (states('sensor.strom_eg_aktuell') | float(0) ) + (states('sensor.wechselrichter_ac_leistung') | float(0) ) ) | round (3) }}
            {% else %}
                {{ states('sensor.wechselrichter_ac_leistung') | round (3) }}
            {% endif %}
    # Zweiter Sensor für Ersparnis in Euro pro Stunde, basiert auf dem obigen Sensor (Solar Eigenverbrauch (Watt) v2) und dem aktuellen Strompreis in EUR/kWh
      - name: Balkonsolar Vorteil
        unique_id: "BalkonsolarVorteil"
        unit_of_measurement: EUR/h
        state: >
         {{ states('sensor.solar_eigenverbrauch_watt_v2')|float(0) * states('input_number.aktueller_strompreis')|float(0)/1000 }}


    # Stromzähler Keller Verbrauch In neuer Zählerableser Tasmota
      - name: "Strom-EG-Bezug2"
        unique_id: "Strom-EG-Bezug2"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_mt631_e_in'),0) | round(3) }}
        availability: "{{ has_value('sensor.tasmota_mt631_e_in') }}"


# ---------- Sensoren ---------- Sommer-Schalter
      - name: "winterzeit"
        unique_id: "winterzeit"
        state: "{% if now().month | string in ('1,2,3,4,5,6,10,11,12') | string %}on{% else %}off{% endif %}"
switch:
    - platform: template
      switches:
        summertime:
          value_template: "{{ is_state('sensor.winterzeit', 'on') }}"
          turn_on:
            service: switch.turn_on
            target:
              entity_id: switch.summertime_open
          turn_off:
            service: switch.turn_off
            target:
              entity_id: switch.summertime_close
    - platform: wake_on_lan
      mac: 54:04:A6:6F:C8:45
      name: "Win10-PC-Keller"
      turn_off:
          service: hassio.addon_stdin
          data:
            addon: core_rpc_shutdown
            input: Win10-PC-Keller





light:
  - platform: template
    lights:
      kontrollleuchte:
        friendly_name: "Kontrollleuchte"
        unique_id: "Kontrollleuchte"
        turn_on:
          service: light.turn_on
          target:
            entity_id: light.kontrollleuchte
        turn_off:
          service: light.turn_off
          target:
            entity_id: light.kontrollleuchte
        value_template: >-
          {% set current_time = now().strftime('%H:%M') %}
          {% if current_time >= '08:00' and current_time <= '23:59' %}
            {% if is_state('alarm_control_panel.intrusion_detection_system', 'disarmed') and is_state('input_boolean.haustueren', 'on') %}
              on
            {% else %}
              off
            {% endif %}
          {% else %}
            off
          {% endif %}


            

Das macht mich bald Wahnsinnig. Verstehe es nicht.
Vielen Dank

Nachtrag: Hier steht kWh aber mit dem Wert 0

hier jedoch nicht

Nachtag 2
Wenn ich auf Pfeil 1 klicke, steht bei Pfeil 2 der richtige Wert in kWh, jedoch bei Pfeil 2 steht nichts

Du hast immer noch 2x homeassistant:


Bei einem Template Sensor wird ein komplett neuer Sensor erstellt such den mal in den Entwicklerwerkzeugen → Zustände


Wenn du ein Template Sensor über die UI erstellst bei den Helfern, kannst du ein Template Sensor auch einem Gerät hinzufügen, dann taucht der auch bei deinem Tasmota auf der Geräte Seite auf.

Hie wird er nicht gefunden

Wert 2 wird berechnet aus Zeitschien der einzelnen Werte. Ich gehe davon aus, dass hier aufgrund der kurzen Zeitspanne noch keine Werte berechnet wurden.

Schau mal morgen früh rein.

EDIT

Wert 2 wird berechnet, nicht Wert 3

Wo hast du hier nach den Namen des Template Sensors gesucht?



Wen du beim Gerät nur nach der integration in deinem Fall “Tasmota” suchst wirst du auch was finden. Das gerät heißt ja nicht sensor.tasmota…


Hats jetzt doch geklappt?
Du darfst auch 1-2 Worte zu den Bildern schreiben, damit wir uns nichts zusammen dichten müssen.


Edit:
Dir ist auch klar das Änderungen in der configuration.yaml erst nach dem neu laden der Konfiguration oder einem Neustart erfolgen?

Sorry dafür, ich wollte nur schnell genug sein, bevor du vielleicht weg bist.

Zusammenfassung:
Das Tasmota Mein Menü zeigt alles richtig mit Einheiten an.

Unter Einstellungen / Geräte und Dienste / Tasmota
wird die Einheit des Gesamtverbrauchs nicht angezeigt

Wenn ich aber im Dashboard mir
mir die Entität sensor.tasmota_mt631_e_in des Gesamtverbrauchs anzeige, fehlt die Einheit
Siehe Pfeil 1
Wenn ich mir im Dashbard die Entität sensor.strom_eg_bezug2 anzeige, ist die Einheit vorhanden
Siehe Pfeil 2

Die Entität sensor.strom_eg_bezug2 habe ich dank deiner Hilfe in der configuration.yaml erstellt
hier der Code dafür.

    # Stromzähler Keller Verbrauch In neuer Zählerableser Tasmota
      - name: "Strom-EG-Bezug2"
        unique_id: "Strom-EG-Bezug2"
        unit_of_measurement: 'kWh'
        device_class: "energy"
        state_class: "total_increasing"
        state: >-
            {{ float(states('sensor.tasmota_mt631_e_in'),0) | round(3) }}
        availability: "{{ has_value('sensor.tasmota_mt631_e_in') }}"

Das Problem, wenn es eines ist, stellte sich mir, warum hier bei der original Entität sensor.tasmota_mt631_e_in die Einheit nicht angezeigt wird.

Was ich jetzt noch machen muss:
Wäre toll, wenn du da mal drüberlesen würdest bevor ich was verbocke.

Ich stelle im ENERGIE-Dahsboard den Netzbezug von
Strom-EG-Bezug auf Strom-EG-Bezug2

In der configuration.yaml benutze ich den Befehl

Strg+F und ersetze
Strom-EG-Bezug auf Strom-EG-Bezug2.

Wäre das so richtig?


–-

Simon42 definiert für seine Berechnungen mit seinem Balkonkraftwerk hier zwei Werte

Einmal Strom-EG-aktuell und Strom-EG-Bezug mit diesen Größen berechnet er dann alles folgende, ohne Bezug auf powerfox zu nehmen.
Die Entitäten die Powerfox bei mir rausgab waren
sensor.eg_zahler_energieverbrauch also der Gesamtverbrauch
sensor.eg_zahler_leistung die aktuelle verbrauchte Leistung im Moment

Diese Sensoren finde ich aber nicht in der Configuratioin.yamal sondern nur folgendes
{{ state_attr(‘sensor.poweropti’, ‘Watt’) }}

state_attr(‘sensor.poweropti’, ‘A_Plus’)

Frage:

Wie kann ich jetzt diese zwei obigen Zeilen ersetzen bzw. abändern, dass diese mit meinem Tasmota funktionieren.
sensor.tasmota_mt631_e_in also der Gesamtverbrauch
sensor.tasmota_mt631_power die aktuelle verbrauchte Leistung im Moment

# ---------- Stromzaehler ----------
rest:
  - authentication: basic
    username: !secret username
    password: !secret password
    scan_interval: 30
    resource: https://backend.powerfox.energy/api/2.0/my/main/current?unit=kwh
    sensor:
      - name: "poweropti"
        unique_id: "poweropti"
        json_attributes:
          - "Watt"
          - "Timestamp"
          - "A_Plus"
          - "A_Minus"
          - "Outdated"

template:
  - sensor:
      - name: "Strom-EG-aktuell"
        unit_of_measurement: "W"
        device_class: "power"
        state_class: "measurement"
        state: >
            {{ state_attr('sensor.poweropti', 'Watt') }}
      - name: "Strom-EG-Bezug"
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
        state: >
            {% set bezug = state_attr('sensor.poweropti', 'A_Plus') | float %}
            {% if bezug > 0 %}
            {{ bezug }}
            {% endif %}

Hier die Berechnungen von Simon42 wie sie auch bei mir mit dem Powerobit funktionierten


    # Berechnet anhand des Stromzählers die Rückgabe ins Netz, wenn negative Werte ausgegben werden
      - name: Zurück zum Netz (Watt) v2
        unique_id: "BalkonsolarBackToGridSensorWatts"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.strom_eg_aktuell')) and states('sensor.strom_eg_aktuell') | float(0) < 0 %}
                {{(states('sensor.strom_eg_aktuell') | float(0))*-1 | round (3) }}
            {% else %}
                {{(states ('0.0') | float(0)) |round(3) }}
            {% endif %}

    # Berechnet anhand des Stromzählers und der Solarerzeugung in Watt den Eigenverbrauch
      - name: Solar Eigenverbrauch (Watt) v2
        unique_id: "BalkonsolarEigenverbrauchWatts"
        state_class: measurement
        icon: mdi:transmission-tower
        unit_of_measurement: W
        device_class: power
        state: >
            {% if is_number(states('sensor.strom_eg_aktuell')) and states('sensor.strom_eg_aktuell') | float(0) < 0 %}
                {{ ( (states('sensor.strom_eg_aktuell') | float(0) ) + (states('sensor.wechselrichter_ac_leistung') | float(0) ) ) | round (3) }}
            {% else %}
                {{ states('sensor.wechselrichter_ac_leistung') | round (3) }}
            {% endif %}
    # Zweiter Sensor für Ersparnis in Euro pro Stunde, basiert auf dem obigen Sensor (Solar Eigenverbrauch (Watt) v2) und dem aktuellen Strompreis in EUR/kWh
      - name: Balkonsolar Vorteil
        unique_id: "BalkonsolarVorteil"
        unit_of_measurement: EUR/h
        state: >
         {{ states('sensor.solar_eigenverbrauch_watt_v2')|float(0) * states('input_number.aktueller_strompreis')|float(0)/1000 }}

Vielen herzlichen Dank für deine Hilfe