shelly 3EM - neues format template

kleiner Schelm

Active member
Hallo,
ich habe ein shelly 3EM. habe mir entsprechend Code aus dem Internet gesucht, um die 3 Phasen zu addieren. amit eine saldierung der Phasen gemacht wird, diese dann im energie Dashboard Richtig angezeigt wird.

Weil ich das neue Tepmlate Format nutze, also alles in template.yaml ausgelagert habe, ist die syntax eine andere.
Hat gedauert, bis ich alles so hatte, dass das gestimmt hat. Ich stelle das mal hier rein.

Wenn es noch sachen gibt, die ich mit shelly 3EM in Home Assistant auswerten kann, dann bitte hier posten. Ein eigenes Dashboard für Shelly 3EM würde mich interessieren.

YAML:
# shelly 3EM:
 
 
      # Template sensor -> Strom vom Netz (active_power > 0)
     - name: "power_import"
       unit_of_measurement: 'W'
       state: >
          {% 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: "{{
            [ states('sensor.l1_power'),
              states('sensor.l2_power'),
              states('sensor.l3_power')
            ] | map('is_number') | min
          }}"

      # Template sensor -> Strom ins Netz (active_power < 0)
     - name: "power_export"
       unit_of_measurement: 'W'
       state: >
          {% 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: "{{
            [ states('sensor.l1_power'),
              states('sensor.l2_power'),
              states('sensor.l3_power')
            ] | map('is_number') | min
          }}"

      # Template sensor for values of power consumption
     - name: "power_consumption"
       unit_of_measurement: 'W'
       state: >
          {% 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 %}


      # Template sensor for values of power consumption
     - name: "power_consumption"
       unit_of_measurement: 'W'
       state: >
          {% 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 %}

das ist in configuration.yaml geblieben:

YAML:
# Shelly 3EM:

  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
YAML:
 
Zuletzt bearbeitet:
hallo,
ich bin immernoch newbie, home assistant, shelly 3EM etc.
Ich wurschtel mich so durch.
das neu Format sollte einiges an verarbeitungsgeschwindigkeit bringen (laut dem, was ich im Internet gelesen habe). Im Internet finden sich aber nur beispiele mit altem Format.
Deshalb dieser Thread. Es ist nicht einfach, die alte Syntax auf die neue umzusetzen, wenn man , wie ich, keine Ahnung hat.

Home assistant ist für mich im Augenblick auch nur ein Nebenschauplatz. Ich hab mit Photovoltaik, Balkonkraftwerke angefangen und mache über home Assistant die Auswertung. Jetzt bin ich bei shelly 3EM angelangt, um den Verbrauch meines Hauses gut anaylsieren zu können. Um dann wieder entsprechend mein Photovoltaik Projekt optimal dazu machen zu können.
Das "consumption" werde ich löschen, das ist für mich unnötig.
 
Im Internet finden sich aber nur beispiele mit altem Format.
Die Home Assistant Dokumentation ist aber aktuell. Auch die der Template Integration.

Das alte Format, das war eine Platform der jeweiligen Integration von sensor, binary_sensor, etc.
YAML:
#Altes Format - Platform Template
sensor:
  - platform: template
    sensors:
      automation_count:
        value_template: "{{ states.automation | count }}"
        icon_template: mdi:robot-industrial
        friendly_name: Anzahl Automatisierungen

Das neue Format ist nun eine eigene Integration namens template.

YAML:
#Neues Format - Integration Template
template:
  - sensor:
    - name: Anzahl Automatisierungen
      state: "{{ states.automation | count }}"
      icon: mdi:robot-industrial
      unique_id: c60b32c0-191e-11ee-a640-919d866941ac

Aus friendly_name: wurde name: Aus dem Namen wird auch die entity-id abgeleitet und wird nicht mehr explizit angegeben.
value_template: wurde zu state:
aus icon_template wurde icon:
die Vergabe einer unique_id ermöglicht es den Sensor in der GUI zu konfigurieren.
 
Du kannst Dich im Namen austoben wie Du möchtest. :)Umlaute und Sonderzeichen werden automatisch entfernt. Aus Großbuchstaben werden Kleinbuchstaben. Aus ä wird a. Aus einem Leerzeichen wird _.
Darüber hinaus kannst Du über die GUI sowohl den Namen wie auch die Entität-Id (Bei Verwendung der unique_id) nach belieben ändern. :) Wie auch das Icon.
 
Ich weiss, mach ich ja auch. Nur ist es ja blöd aus den a dann ae zu machen. Die yaml entspricht halt dann nicht dem, was in HA eingetragen ist.
 
Nur ist es ja blöd aus den a dann ae zu machen
Dann lass das a ein a sein. ;)

Die yaml entspricht halt dann nicht dem, was in HA eingetragen ist.
Wenn das die Revision sieht. :ROFLMAO:

Ich kenne nun mal keine Programmiersprache die mit Umlauten und Sonderzeichen umgehen kann, da macht yaml keine Ausnahmen.
Einen Tod muss Du sterben. Kannst ja auch alles in englisch halten, dann hast Du das Problem nicht.
Oder eben das a ein a sein lassen. :)

Jetzt sind wir, glaube ich aber ein wenig vom Thema abgekommen.
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
6.115
Beiträge
59.425
Mitglieder
6.160
Neuestes Mitglied
gonzo12345
Zurück
Oben