Nulleinspeisung Balkonkraftwerk

Grundsätzlich kann man Templates auch in die configuration.yaml machen, aber dann eben, wie Du schon geschrieben hast, mit dem Zusatz "templates:" davor. Will man aber mehrere templates einbauen, wäre eine templates.yaml sicher besser.
Wenn diese bei Dir noch nicht existiert, kann man diese wie folgt anlegen:
File Editor links oben das Symbol anklicken. Da kommt man ja auf die Liste der Dateien. Ganz links das Symbol mit dem + darin "New File" anklicken und als Name templates.yaml eingeben.
In der configuration.yaml muß man diese Datei dann auch laden.
Du hast da sicher schon einen Abschnitt ähnlich diesem
Code:
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
Da schreiben wir nun "template: !include template.yaml" drunter.
Dann darf in der configuration.yaml aber auch kein Eintrag "template:" mehr sein, sonst hagelt es Fehlermeldungen.
Dazu kann man einfach den Text, den Du unterhalb von "template:" stehen hast, raus kopieren und in die template.yaml einfügen.
Alles speichern und über Entwicklerwerkzeuge prüfen, ob man alles richtig gemacht hat.

Ich weis, das ist am Anfang alles fürchterlich kompliziert. Aber nur, bis man sich einen gewissen Wissensstand angeeignet hat.

Wenn das obige so nicht funktioniert, dann poste mal deine configuration.yaml und template.yaml (Passwörter eventuell vorher entfernen), dann helfen wir Dir, die richtig zusammen zu bauen.
Ok, gehen wir das ganze jetzt mal durch, was ich machen muss:

1.: Templates.yaml wie von dir beschrieben anlegen.
2.: Das mit template-Code in die configuration.yaml einfügen. Ja, das andere steht bei mir drinnen.
3.: Den Code vom EcoTracker, da dort template enthalten ist, in der configuration.yaml löschen.
4.: Den EcoTracker in die template.yaml einfügen.
5.: Beim EcoTracker den Zusatz templates entfernen.
6.: Das von dir angefertigte template in die template.yaml einfügen.
7.: In dem von dir angefertigten template die richtigen Sensoren einbauen.

Habe ich etwas vergessen? Bitte um Rückmeldung, vorher beginne ich damit nicht.

Das hast du gestern bei den 300 Sekunden bestimmt mit eingrechnet ;)
 
Ja, das war für dich. :D
Wenn Du den Code aus der configuration.yaml kopierst und das template: entfernst, ist der gesamte Code 2 Zeichen zu weit rechts.
HA legt auf Einrückungen extremen Wert. Einm Leerzeichen zuviel und es funktioniert nicht.
Und ja, den Ablauf, wie Du ihn oben geschrieben hast, so denke ich, solltest Du es machen.
 
So, jetzt habe ich ein Problem. Punkt 1 und 2 habe ich gemacht. Dann habe ich gesehen, dass bei Einstellungen ein Hinweis ist. Da wurde mir mitgeteilt, dass es ein Update auf die Version 14 gibt. Das habe ich durchgeführt. War wohl ein fehler. Nun ist HA im abgesicherten Modus, oder wie sich das nennt. Als Fehler wird folgendes genannt:

Das Add-on MQTT IO ist so eingestellt, dass es beim Systemstart gestartet wird, dies ist aber fehlgeschlagen. Dies tritt normalerweise auf, wenn die Konfiguration falsch ist oder derselbe Port von mehreren Add-ons verwendet wird. Überprüfe die Konfiguration sowie die Protokolle für MQTT IO und Supervisor.

Wähle „Starten“, um es erneut zu versuchen, oder „Deaktivieren“, um die Option „Beim Booten starten“ zu deaktivieren.

Jetzt weiß ich nicht, ob das durch das Update entstanden ist oder durch meine Änderungen durch Punkt 1 und 2. Ich hätte vielleicht erstmal alle Punkte abarbeiten sollen, ist aber nun zu spät. Das ist wohl das, was du meintest, es hagelt dann Fehlermeldungen, da ja in der configuration.yml noch das template drinnen ist. Was soll ich jetzt tun?
 
Ich habe jetzt doch weiter gemacht. Ich habe die configuration.yaml und die template.yml entsprechend angepasst. Damit es da zu keine Konflikte mehr kommt. Neu starten kann ich aber nicht, dann kommt folgendes:

Die Aktion homeassistant/restart konnte nicht ausgeführt werden. The system cannot restart because the configuration is not valid: Error loading /config/configuration.yaml: in "/config/configuration.yaml", line 12, column 11: Unable to read file /config/template.yaml
 
In der configuration.yaml steht jetzt folgendes:

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

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

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



In der template.yaml ist jetzt nur der EcoTracker:

Code:
rest:

    resource: http://192.168.0.114/v1/json

    scan_interval: 5

    sensor:

      - name: "ecotracker"

        json_attributes:

          - "power"

          - "energyCounterIn"

          - "energyCounterOut"



- sensor:

  - name: "Ecotracker Aktueller Verbrauch"

    device_class: "power"

    state_class: "measurement"

    unit_of_measurement: "W"

    state: >

            {{ state_attr('sensor.ecotracker', 'power') }}

      

  - name: "Ecotracker Bezug"

    unit_of_measurement: "kWh"

    device_class: "energy"

    state_class: "total_increasing"

    state: >

            {{ iif(state_attr('sensor.ecotracker', 'energyCounterIn'), (state_attr('sensor.ecotracker', 'energyCounterIn') | float/1000)| round(2)) }}

          

  - name: "Ecotracker Einspeisung"

    unit_of_measurement: "kWh"

    device_class: "energy"

    state_class: "total_increasing"

    state: >

            {{ iif(state_attr('sensor.ecotracker', 'energyCounterOut'), (state_attr('sensor.ecotracker', 'energyCounterOut') | float/1000)| round(2)) }}

Ich habe in einem Video vor zwei Tagen gehört, man sollte von Zeit zu Zeit ein Backup von HA machen. Das habe ich dann gleich darauf hin gemacht. Wäre es jetzt Ratsam, dieses zu initiieren, oder versuchen, die aktuelle Version Reparieren?
 
Zuletzt bearbeitet:
Wegen deinem Nachfragen dachte ich jetzt, es liegt am fehlenden s bei template.yaml in der configuration.yaml. Ich habe jetzt das s ergäntzt, dann kommt das:

Die Aktion homeassistant/restart konnte nicht ausgeführt werden. The system cannot restart because the configuration is not valid: Error loading /config/configuration.yaml: while parsing a block mapping in "/config/templates.yaml", line 1, column 1 expected <block end>, but found '-' in "/config/templates.yaml", line 12, column 1
 
So, nach drei Stunden Bemühungen habe ich jetzt aufgegeben. Nachdem ich gemerkt habe, dass das mit den zwei nach links rücken nicht bei allen Zeilen stimmt, denn die Zeile mit Sensor muss noch weiter nach links, denn der Strich davor muss weg, zumindest laut Fehlermeldung des Editors, wurde mir klar, dass ich das nicht hinbekomme.

Ich habe also das Backup gestartet, um HA auf den Stand vom Montag, wo es keine Probleme gab, zu setzten. Ich dachte, das Backup würde HA komplett zurücksetzen. So kenne ich es am Computer. Aber dem ist nicht so. Es funktioniert jetzt nicht alles, obwohl es am Montag funktioniert hat. Welche Option außer Backup gibt es jetzt noch?

Ich habe noch Rückgaberecht. Das beste wird jetzt wohl sein, den Home Assistant Green wieder zurückzuschicken?
 
Was für ein heilloses Chaos hast Du da angerichtet ?
Was sollen die ganzen Leerzeilen in dem Code ?

Code:
rest:
  resource: http://192.168.0.114/v1/json
  scan_interval: 5
  sensor:
    - name: "ecotracker"
      json_attributes:
        - "power"
        - "energyCounterIn"
        - "energyCounterOut"
- sensor:
  - name: "Ecotracker Aktueller Verbrauch"
    device_class: "power"
    state_class: "measurement"
    unit_of_measurement: "W"
    state: >
      {{ state_attr('sensor.ecotracker', 'power') }}

  - name: "Ecotracker Bezug"
    unit_of_measurement: "kWh"
    device_class: "energy"
    state_class: "total_increasing"
    state: >
      {{ iif(state_attr('sensor.ecotracker', 'energyCounterIn'), (state_attr('sensor.ecotracker', 'energyCounterIn') | float/1000)| round(2)) }}
          
  - name: "Ecotracker Einspeisung"
    unit_of_measurement: "kWh"
    device_class: "energy"
    state_class: "total_increasing"
    state: >
      {{ iif(state_attr('sensor.ecotracker', 'energyCounterOut'), (state_attr('sensor.ecotracker', 'energyCounterOut') | float/1000)| round(2)) }}
Versuch es mal so.
 
Das Chaos hat die Forensoftware verursacht. Ich hatte den Code hier reinkopiert. Danach kam dann der Hinweis, ich solle den Code editieren. Also habe ich ihn hier kopiert, gelöscht und in die Vorlage reingesteckt. Danach waren dann diese ganze Leerzeilen drinnen. So wie jetzt dein Code ausschaut, war es bei mir auch. Aber so verursacht er eine Fehlermeldung im File Editor. Diese Fehlermeldung war erst dann weg, wenn der Bindestrich vor sensor gelöscht war und das Wort sensor linksbündig gerückt wird. Aber um den Code einzufügen, bräuchte ich eine funktionierende template.yaml. Damit haben ja die Probleme angefangen. Da war der Code vom EcoTracker noch gar nicht drinnen. Da ist noch immer die Frage, mit s, oder ohne s? Und der Ordnername zum Eintrag in der configuration.yaml gleich, also das s, oder so wie bei dir gestern unterschiedlich? Wie auch immer, ich hatte alle vier möglichen Kombinationen durchprobiert. Bei keiner ist HA aus dem abgesicherten Modus rausgegangen.
 
Guten Tag,
Das Chaos hat die Forensoftware verursacht.
Steile These.
Vor allem, weil es gefühlt bei allen anderen direkt klappt ohne irgendwelchen Probleme.
Daher kann ich mich beruhigend aus dem Fenster lehnen und sagen: nein, die Forensoftware ärgert ggf. auch mal, aber sie verursacht nicht per se ein Chaos beim Einfügen von formatiertem Code.
Allerdings: sie verhindert auch keine Anwender*innen Fehler auf Layer 8.
Danke für die Aufmerksamkeit.
 
Zuletzt bearbeitet:
Ob Forensoftware oder nicht. Der Code, den ich aus dem File Editor kopiert habe, war ohne diesen Leerzeilen. Ich habe am Code lediglich alle Zeilen zwei Positionen nach links geruckt, die Zeile mit Sensor vier.

Fehler auf Layer 8 sagt mir nichts.
 
Das !include template(s).yaml muss so heißen, wie deine Datei.

Es kann nicht schaden, sich ein wenig mit der Syntax von yaml vertraut zu machen.
 
Ok, dann war der erste Versuch von mir gestern falsch, da Rudi den Ordner mit s angegeben hat und den Code ohne s. Und so hatte ich es übernommen. Lag es dann später vielleicht am Cache, wo es auch nicht funktioniert hat, obwohl ich es da so gemacht habe, wie du jetzt schreibst?
 
Jetzt hat bis Punkt fünf alles geklappt. Im Code von Rudi habe ich bei Sensor den Bindestrich entfernt und ganz nach links gerückt, ansonsten war wieder die Fehlermeldung im File Editor. Ich habe HA neu gestartet, es funktioniert alles.

Dann habe ich den anderen Code in die templates.yaml eingefügt. Im Anschluss am Code vom EcoTracker. Der File Editor bringt folgende Meldung:

bad indentation of a sequence entry (33:5)

30 | {{ iif(state_attr('sensor.eco ...
31 |
32 | - sensor:
33 | - name: Speicher abgabe
----------^
34 | unique_id: Speicher_abgabe

Ich habe jetzt noch nicht abgespeichert. Problem scheint wieder die Zeile sensor zu sein. Da habe ich Versuchsweise den Bindestrich entfernt und nach links gerückt, wie beim EcoTracker. Die Meldung bleibt aber. Oder müssten die beiden verschiedenen Codes jetzt noch irgendwie getrennt werden, da ja beide sensor in der Zeile haben? Also zwischen dem Code vom EcoTracker und dem anderen. Was soll ich jetzt tun?
 
Jetzt sehe ich, dass es doch eine Fehlermeldung gibt. Die lautet:

Invalid config for 'template' at templates.yaml, line 1: 'rest' is an invalid option for 'template', check: rest

Den Code für den Speicher habe ich wie gesagt nicht abgespeichert. In der templates ist nur der Code vom EcoTracker, der im Gegesatz zu gestern noch funktioniert. HA ist auch normal gestartet, kein abgesicherter Modus.
 
So sieht nun der von mir angepasste Code des EcoTrackers aus:

Code:
rest:
  resource: http://192.168.0.114/v1/json
  scan_interval: 5
  sensor:
    - name: "ecotracker"
      json_attributes:
        - "power"
        - "energyCounterIn"
        - "energyCounterOut"
sensor:
  - name: "Ecotracker Aktueller Verbrauch"
    device_class: "power"
    state_class: "measurement"
    unit_of_measurement: "W"
    state: >
      {{ state_attr('sensor.ecotracker', 'power') }}

  - name: "Ecotracker Bezug"
    unit_of_measurement: "kWh"
    device_class: "energy"
    state_class: "total_increasing"
    state: >
      {{ iif(state_attr('sensor.ecotracker', 'energyCounterIn'), (state_attr('sensor.ecotracker', 'energyCounterIn') | float/1000)| round(2)) }}
          
  - name: "Ecotracker Einspeisung"
    unit_of_measurement: "kWh"
    device_class: "energy"
    state_class: "total_increasing"
    state: >
      {{ iif(state_attr('sensor.ecotracker', 'energyCounterOut'), (state_attr('sensor.ecotracker', 'energyCounterOut') | float/1000)| round(2)) }}
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.882
Beiträge
57.480
Mitglieder
5.818
Neuestes Mitglied
DefaultStandart
Zurück
Oben