Shelly em3 mit PV Anlage Gesamtsensoren

Hallo,

ich hatte lange Zeit den Shelly em3 integriert und habe damit auch verschiedene Autmationen gesteuert. Hat gut funktioniert.

Aus einem dummen Zufall habe ich allerdings meine configuration.yaml zerschossen, so dass ich nichts mehr habe. Ich hatte die Shelly Dateien per include eingebunden.

Leider bekomme ich das nicht wieder hin. Ich nehme an, dass sich an der Syntax bei der neuesten Homeassistant Version etwas geändert hat?

Im Moment geht es mir vor allem darum, dass ich etwas schalten möchte, wenn ich länger als 10 Minuten 50W einspeise. Und Ausschalten möchte ich etwas, wenn mehr als eine halbe Stunde nicht mehr eingespeist wird.

Dazu benötige ich aber die Shelly Gesamtsensoren…

Kann jemand einen funktionierenden Code hier einstellen?

Danke

Kannst Du die Datei nicht aus einem Backup wiederherstellen?

Hi,
nein leider nicht. So alte Backups habe ich nicht mehr. Ich habe das vor langer Zeit bereits selber gelöscht. Erst jetzt fiel mir auf, was ich da dusseliges getan habe…

Im Winter benötige ich die Automation nicht. Daher fiel es mir erst jetzt auf…

Ich habe jetzt nocheinmal die ältesten Backups zurückgespielt. Leider bekomme ich immer bei der Überprüfung der Konfiguration in den Entwicklerwerkzeugen diesen Fehler:

Invalid config for ‘shelly’ at shelly3em.yaml, line 120: ‘sensor’ is an invalid option for ‘shelly’, check: shelly->sensor

Ich habe die Dateien shelly3em.yam. und utility_meter.yaml mittels des include Befehls integriert. Waru mich das getan habe, weiß ich nicht mehr.

hier die Shelly3em.yaml

 # Shelly 3EM templates for 3-phase Net Import, Export and Consumption(if you have solar generation details)
# This uses the shelly instantaneous power sensors to achieve the best possible accuracy. 
# Shelly Sensors are  sensor.l1_power, sensor.l2_power, sensor.l3_power for the three phases
# Solar generation in W is used to calculate consumption via sensor.power_solargen
# V1.0 Initial release by Uksa007
# V1.1 add float(0) to Consumption template to stop log warnings.
# V1.2 add Friendly names to Utility Meter sensors
# V1.3 remove negative spikes from power consumption due to different update timing of solar sensor
# V1.4 change round: 2 for small value users.


#  - platform: template
#    sensors:

#      # Template sensor for values of power import (active_power > 0)
#      power_import:
#        friendly_name: "Power Import"
#        unit_of_measurement: 'W'
#        value_template: >-
#          {% if (states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float) > 0 %}
#            {{ states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float }}
#          {% else %}
#            {{ 0 }}
#          {% endif %}
#        availability_template: "{{
#            [ states('sensor.l1_power'),
#              states('sensor.l2_power'),
#              states('sensor.l3_power')
#            ] | map('is_number') | min
#          }}"
#
#      # Template sensor for values of power export (active_power < 0)
#      power_export:
#        friendly_name: "Power Export"
#        unit_of_measurement: 'W'
#        value_template: >-
#          {% if (states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float) < 0 %}
#            {{ (states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float) * -1 }}
#          {% else %}
#            {{ 0 }}
#          {% endif %}
#        availability_template: "{{
#            [ states('sensor.l1_power'),
#              states('sensor.l2_power'),
#              states('sensor.l3_power')
#            ] | map('is_number') | min
#          }}"

#      # Template sensor for values of power consumption
#      power_consumption:
#        friendly_name: "Power Consumption"
#        unit_of_measurement: 'W'
#        value_template: >-
#          {% if (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) < 0 %}
#          {% elif (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) > 0 %}
#            {{ (states('sensor.power_solargen')|float(0)) - states('sensor.power_export')|float(0) }}    
#          {% else %}
#            {{ states('sensor.power_import')|float(0) + states('sensor.power_solargen')|float(0) }}
#          {% endif %}


#  # Sensor for Riemann sum of energy import (W -> Wh)
#  - platform: integration
#    source: sensor.power_import
#    name: energy_import_sum
#    unit_prefix: k
#    round: 2
#    method: left

#  # Sensor for Riemann sum of energy export (W -> Wh)
#  - platform: integration
#    source: sensor.power_export
#    name: energy_export_sum
#    unit_prefix: k
#    round: 2
#    method: left

#  # Sensor for Riemann sum of energy consumption (W -> Wh)
#  - platform: integration
#    source: sensor.power_consumption
#    name: energy_consumption_sum
#    unit_prefix: k
#    round: 2
#    method: left

############### Hier Ende des eigentlichen Shelly3em Sensorbereichs #########

Hier die utility_meter.yaml

  energy_import_daily:
    source: sensor.energy_import_sum
    name: Energy Import Daily
    cycle: daily
  energy_import_monthly:
    source: sensor.energy_import_sum
    name: Energy Import Monthly
    cycle: monthly
  energy_export_daily:
    source: sensor.energy_export_sum
    name: Energy Export Daily
    cycle: daily
  energy_export_monthly:
    source: sensor.energy_export_sum
    name: Energy Export Monthly
    cycle: monthly
  energy_consumption_daily:
    source: sensor.energy_consumption_sum
    name: Energy Consumption Daily
    cycle: daily
  energy_consumption_monthly:
    source: sensor.energy_consumption_sum
    name: Energy Consumption Monthly
    cycle: monthly


Hier die configuration.yaml

# THEMES
frontend:
  themes: !include_dir_merge_named themes

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

# Text to speech
tts:
  - platform: google_translate

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


############## Helium include ############################

###### ergänzt für Nachrichten an App
mobile_app:
  action:
    - service: notify.mobile_app_iPhone_von_Alwin_3291
      data:
        title: "TV wurde angeschaltet"
        message: "Fernseher wurde angeschaltet"

######################### VU Integration ###############################
#media_player: !include vuplus.yaml
# - platform: enigma2
# host: 192.168.1.99
# name: VU+ Wohn
# use_channel_icon: true
# - platform: enigma2
# host: 192.168.1.60
# name: VU+ Schlaf
# use_channel_icon: true
#########################################################################
############ Example configuration.yaml entry WOL VU Schlaf #############
switch:
  - platform: wake_on_lan
    mac: 00:1D:EC:06:A9:30
#########################################################################

# Wetterwarnung Deutscher Wetterdienst
# sensor:
# - platform: dwd_weather_warnings
# region_name: 
# region_name: 

#################### TEMPLATE BEREICH ###############################
## Die Einbindung der Template-Sensoren wurde ausgelagert

# Hier werden die !include-Direktiven für sensor und utility_meter separat platziert

utility_meter: !include utility_meter.yaml

####### TEMPLATE BEREICH ENDE #########################################

#################### Modbus WR SMA Tripower einbinden #################

modbus: !include modbus.yaml
shelly: !include shelly3em.yaml



########### Email Benachrichtigung konfigurieren #################
#notify:
#- name: Homeassistant_Email
#platform: smtp
#server: 
#sender: 
#recipient:
#- 
#- 
#- 
#- 
#username: 
#password: 
#encryption: starttls
################### Email Ende ######################################





# netatmo:
# client_id: 
# client_secret: 

# waste_collection_schedule source configuration
# Test der ID´s hier: https://www.mariotti.de/abfallkalender-in-home-assistant-einrichten-mit-mymuell-als-datenquelle/
# Dies müsste richtige Ergebnisse für MMLD liefern: https://mymuell.jumomind.com/mmapp/api.php?r=dates&city_id=71133&area_id=1443
waste_collection_schedule:
  sources:
    - name: jumomind_de
      args:
        service_id: mymuell
        city_id: 
        area_id: 

sensor:
  # ------- Garbage Collection ------- 
  # Nächste Abholung
  - platform: waste_collection_schedule
    name: "Nächste Abholung"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
  # Nächste Restmüll-Abholung
  - platform: waste_collection_schedule
    name: "Hausmüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
    types:
       - Hausmüll
#      - Restmüll
  # Nächste Biomüll Abholung
  - platform: waste_collection_schedule
    name: "Biomüll"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
    types:
      - Grünabfall
  # Nächste gelber-Sack Abholung
  - platform: waste_collection_schedule
    name: "Gelber Sack"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
    types:
      - Gelber Sack
  # Nächste Papiermüll Abholung
  - platform: waste_collection_schedule
    name: "Blaue Tonne"
    value_template: '{{value.types|join(", ")}}{% if value.daysTo == 0 %} Heute{% elif value.daysTo == 1 %} Morgen{% else %} in {{value.daysTo}} Tagen{% endif %}'
    types:
      - Blaue Tonne

````




















############### Ab hier von https://community.home-assistant.io/t/shelly-3em-3-phase-net-metering-templates-for-import-export-and-consumption/390237 #############


# Shelly 3EM templates for 3-phase Net Import, Export and Consumption(if you have solar generation details)
# This uses the shelly instantaneous power sensors to achieve the best possible accuracy. 
# Shelly Sensors are  sensor.l1_power, sensor.l2_power, sensor.l3_power for the three phases
# Solar generation in W is used to calculate consumption via sensor.power_solargen
# V1.0 Initial release by Uksa007
# V1.1 add float(0) to Consumption template to stop log warnings.
# V1.2 add Friendly names to Utility Meter sensors
# V1.3 remove negative spikes from power consumption due to different update timing of solar sensor
# V1.4 change round: 2 for small value users.

sensor:
  - platform: template
    sensors:

      # Template sensor for values of power import (active_power > 0)
      power_import:
        friendly_name: "Power Import"
        unit_of_measurement: 'W'
        value_template: >-
          {% if (states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float) > 0 %}
            {{ states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float }}
          {% else %}
            {{ 0 }}
          {% endif %}
        availability_template: "{{
            [ states('sensor.l1_power'),
              states('sensor.l2_power'),
              states('sensor.l3_power')
            ] | map('is_number') | min
          }}"

      # Template sensor for values of power export (active_power < 0)
      power_export:
        friendly_name: "Power Export"
        unit_of_measurement: 'W'
        value_template: >-
          {% if (states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float) < 0 %}
            {{ (states('sensor.l1_power')|float + states('sensor.l2_power')|float + states('sensor.l3_power')|float) * -1 }}
          {% else %}
            {{ 0 }}
          {% endif %}
        availability_template: "{{
            [ states('sensor.l1_power'),
              states('sensor.l2_power'),
              states('sensor.l3_power')
            ] | map('is_number') | min
          }}"

      # Template sensor for values of power consumption
      power_consumption:
        friendly_name: "Power Consumption"
        unit_of_measurement: 'W'
        value_template: >-
          {% if (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) < 0 %}
          {% elif (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) > 0 %}
            {{ (states('sensor.power_solargen')|float(0)) - states('sensor.power_export')|float(0) }}    
          {% else %}
            {{ states('sensor.power_import')|float(0) + states('sensor.power_solargen')|float(0) }}
          {% endif %}


  # Sensor for Riemann sum of energy import (W -> Wh)
  - platform: integration
    source: sensor.power_import
    name: energy_import_sum
    unit_prefix: k
    round: 2
    method: left

  # Sensor for Riemann sum of energy export (W -> Wh)
  - platform: integration
    source: sensor.power_export
    name: energy_export_sum
    unit_prefix: k
    round: 2
    method: left

  # Sensor for Riemann sum of energy consumption (W -> Wh)
  - platform: integration
    source: sensor.power_consumption
    name: energy_consumption_sum
    unit_prefix: k
    round: 2
    method: left

#utility_meter:
#  energy_import_daily:
#    source: sensor.energy_import_sum
#    name: Energy Import Daily
#    cycle: daily
#  energy_import_monthly:
#    source: sensor.energy_import_sum
#    name: Energy Import Monthly
#    cycle: monthly
#  energy_export_daily:
#    source: sensor.energy_export_sum
#    name: Energy Export Daily
#    cycle: daily
#  energy_export_monthly:
#    source: sensor.energy_export_sum
#    name: Energy Export Monthly
#    cycle: monthly
#  energy_consumption_daily:
#    source: sensor.energy_consumption_sum
#    name: Energy Consumption Daily
#    cycle: daily
#  energy_consumption_monthly:
#    source: sensor.energy_consumption_sum
#    name: Energy Consumption Monthly
#    cycle: monthly

Wieso alte Backups? In einem der letzten sollte doch eigentlich funktionierend alles vorhanden sein?

Nein, funktioniert nicht. Das Backup war von Sept. 23. über Winter benötige ich die Entität einfach nicht. Daher ist es nie aufgefallen.

Geht nicht…. Die Entität ist nicht verfügbar

Spannend wäre, was in der

Zeile 120 steht. Deine Datei geht nur bis Zeile 86 oder so.

In welchen Abständen machst Du den Backups? Und wie viele davon bewahrst du auf?

Löscht du den Sensor über den Winter raus, oder warum sollte der nicht in den aktuelleren Backups sein?

Was hast du überhaupt gemacht, das es nicht mehr funktioniert?

Und die Zeile

in der confuguration.yaml mal aus Kommentieren