Nulleinspeisung Balkonkraftwerk

Ich sehe gerade, der EcoTracker geht doch nicht. Zum Glück habe ich diesmal unmittelbar vor den Änderungen ein Backup gemacht, so dass ich Hoffentlich nicht so viel andere Arbeiten an HA, wie gestern, verliere.
 
Ich bin ja nur Laie, mache mir aber auch meine Gedanken. Mein HA hatte von Haus aus keine templates.yaml. Der Code des EcoTrackers ist, obwohl er templates enthällt, für die configurations.yaml geschrieben. In der configurations.yaml funktioniert er bestens. Das Hinzufügen des Ordners templates.yaml hat bis jetzt nur zu Probleme geführt. Für was wird Überhaupt die templates.yaml benötigt, wenn zum Beispiel der EcoTracker, obwohl ein templates, bestens in der configurations.yaml funktioniert?

Ich Betreibe ja eine eigene Webseite. Die Seite hat über 2.000 Unterseiten, sortierbare Tabellen, mehr als 10.000 Fotos. Ich bin froh, dass das Erstellen der Webseite nicht so kompliziert ist wie HA, ansonsten hätte ich das alleine nie hinbekommen.
 
Zuletzt bearbeitet von einem Moderator:
Ich bin ja nur Laie, mache mir aber auch meine Gedanken. Mein HA hatte von Haus aus keine templates.yaml. Der Code des EcoTrackers ist, obwohl er templates enthällt, für die configurations.yaml geschrieben. In der configurations.yaml funktioniert er bestens. Das Hinzufügen des Ordners templates.yaml hat bis jetzt nur zu Probleme geführt. Für was wird Überhaupt die templates.yaml benötigt, wenn zum Beispiel der EcoTracker, obwohl ein templates, bestens in der configurations.yaml funktioniert?
Wenn Du alles, was Du in Zukunft noch in HA machen wirst, in die configuration.yaml packst, was sicher machbar wäre, will ich dich sehen, wenn Du in 10.000 Zeilen Code einen Fehler suchst.
Um Ordnung in das Chaos zu bringen, erstellt man besser mehrere Dateien.
Aber, wenn jemand wie Du dann hergeht, Code ändert, den man rein kopiert hat, ohne die nötige Ahnung zu haben, dann macht das ganze irgendwie keinen Sinn. Du postest Code, der Fehlerhaft ich, ein anderer korrigiert Fehler und nur, weil da immer noch Fehler drin sind, änderst Du Zeilen, die funktionieren.

Fang doch erst mal klein an.
Deine EcoTracker Integration in der templates.yaml funktioniert ja schon nicht, wie Du bemerkt hast.
"rest:" ist nun mal etwas, womit die templates.yaml absolut nichts anfangen kann. Ich habe aber auch keinen EcoTracker, kann Dir also nicht sagen, ob der Rest der Einträge korrekt ist.
Deswegen nimm den ganzen Code doch mal aus der templates.yaml raus und schreib ihn wieder in die configuration.yaml, da hat er ja funktioniert.
Und wenn ich hier einen Code poste
Code:
  - sensor:
und Dir auch schon mal gesagt habe, das HA sehr Empfindlich beim Syntax ist, dann ist es irgendwie blöd, wenn Du anfängst, da leerzeichen weg zu lassen oder bindestriche, ohne Ahnung zu haben, was Du da machst.
 
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
es hilft, den Fehler auch zu lesen. falsche Einrückung in Zeile 33 Spalte 5, da ist extra noch ein Pfeil druntergemalt.
Die Anstriche bedeuten immer eine Liste, z.B. kannst du mehrere Sensoren in template: haben. Der Block danach muss eingerückt werden.
 
es hilft, den Fehler auch zu lesen. falsche Einrückung in Zeile 33 Spalte 5, da ist extra noch ein Pfeil druntergemalt.
Die Anstriche bedeuten immer eine Liste, z.B. kannst du mehrere Sensoren in template: haben. Der Block danach muss eingerückt werden.
Ja, den Code hatte ich hier von Rudi kopiert und eingefügt, ohne Änderungen, wie geschrieben, dann kam diese Meldung. Also war der Code hier schon falsch und ich habe falsch Versucht zu korrigieren.

Zum anderen Beitrag heute Abend, wenn ich daheim bin.
 
Wenn Du alles, was Du in Zukunft noch in HA machen wirst, in die configuration.yaml packst, was sicher machbar wäre, will ich dich sehen, wenn Du in 10.000 Zeilen Code einen Fehler suchst.
Da hast du natürlich Recht. Ich glaube aber nicht, dass ich den Fehler finden werde, wenn in der templates.yaml 10.000 Zeilen Code stehen.
Um Ordnung in das Chaos zu bringen, erstellt man besser mehrere Dateien.
Was heißt mehrere Dateien? Mehrere Dateien von templates.yaml? Oder templates.yaml und configurations.yaml?
Aber, wenn jemand wie Du dann hergeht, Code ändert, den man rein kopiert hat, ohne die nötige Ahnung zu haben, dann macht das ganze irgendwie keinen Sinn. Du postest Code, der Fehlerhaft ich, ein anderer korrigiert Fehler und nur, weil da immer noch Fehler drin sind, änderst Du Zeilen, die funktionieren.
Ja, den Code hatte ich hier kopiert und eingefügt. Der File Editor hat mir dann einen Fehler angezeigt. Wenn das natürlich dann kein Fehler war, obwohl es mir der File Editor angezeigt hat, habe ich falsch darauf reagiert. Dann wäre es aber auch besser, diese Funktion des File Editors abzuschalten. Geht das? Also die Fehlererkennung, wenn es dann doch nicht stimmt. Denn das wird bei mir dann immer wieder zu Problemen führen, da ich nicht weiß, ob es jetzt tatsächlich ein Fehler ist, oder nicht, was der File Editor moniert. Tatsache ist aber auch, dass Vorgestern nach unreflektierter Übernahme des Codes der HA in den abgesicherten Modus ging. Da habe ich dann irgendwie Versucht, wieder rauszukommen. Bekanntlich ohne Erfolg.
Fang doch erst mal klein an.
Deine EcoTracker Integration in der templates.yaml funktioniert ja schon nicht, wie Du bemerkt hast.
"rest:" ist nun mal etwas, womit die templates.yaml absolut nichts anfangen kann. Ich habe aber auch keinen EcoTracker, kann Dir also nicht sagen, ob der Rest der Einträge korrekt ist.
Deswegen nimm den ganzen Code doch mal aus der templates.yaml raus und schreib ihn wieder in die configuration.yaml, da hat er ja funktioniert.
Jetzt Verstehe ich so langsam gar nichts mehr. Mir wurde erklärt, dass, wenn eine templates.yaml existiert, in der configurations.yaml keine templates stehen sollen, weil es ansonsten Fehlermeldungen hagelt. Drei Tage lang Versuche ich, um das zu Umgehen, den EcoTracker in die tamplates.yaml zu bringen. Mit wenig Erfolg. Nun soll ich ihn doch in der configurations.yaml belassen, obwohl es eine templates.yaml gibt? Den Code des EcoTrackers habe ich, wie bereits an anderer Stelle verlinkt, von hier. Es befindet sich aber ein Fehler im Code, den ich selber nach viel suchen aufgespürt habe. Der Code funktioniert erst dann richtig, wenn das große K bei kwh zu einem kleinem k geändert wird. Ansonsten habe ich an diesem Code nichts geändert. Die Anleitung zum Code ist hier. Ohne dieser Anleitung hätte ich es auch nicht geschafft.
Und wenn ich hier einen Code poste
Code:
  - sensor:
und Dir auch schon mal gesagt habe, das HA sehr Empfindlich beim Syntax ist, dann ist es irgendwie blöd, wenn Du anfängst, da leerzeichen weg zu lassen oder bindestriche, ohne Ahnung zu haben, was Du da machst.
Wie oben bereits gesagt, da habe ich mich auf den File Editor verlassen, weil er einen Fehler angezeigt hatte. Und bevor HA wieder in den abgesicherten Modus geht, dachte ich mir, habe ich gar nicht abgespeichert. Also hätte ich die Fehleranzeige des File Editors ignorieren und abspeichern sollen?

Wie du schon sagst, macht das ganze keinen Sinn. Wie ich am Anfang schon sagte, werde ich das nicht hinbekommen, nachdem ich Erfahren habe, was alles zu machen ist. Und so ist es auch. Jeden Code den ich jetzt eingefügt habe, hatte, ohne das ich Änderungen durchgeführt habe, zu Problemen geführt. Daraufhin habe ich dann mit wenig Ahnung Änderungen durchgeführt, was es aber eher schlechter gemacht hat. Ich habe aber jedesmal nur Versucht auf Fehlermeldungen zu Reagieren.

Ich habe jetzt bereits mehrere templates mittels Geräte & Dienste, Helfer und Template hinzugefügt, ohne Probleme. Wäre das hier auch machbar?
 
Da hast du natürlich Recht. Ich glaube aber nicht, dass ich den Fehler finden werde, wenn in der templates.yaml 10.000 Zeilen Code stehen.
Deswegen ja mein Satz darunter.
Was heißt mehrere Dateien? Mehrere Dateien von templates.yaml? Oder templates.yaml und configurations.yaml?
Es gibt so viele verschiedene Integrationen in HA, wovon einige Einträge in einer yaml Datei erwarten.
Niemand hindert dich daran, das ganze etwas zu sortieren und für die ein oder andere Integration eine eigene yaml Datei zu erstellen.
automations.yaml hier stehen die Automatisierungen drin, von denen Du sicher noch einige erstellen wirst.
scripts.yaml hier stehen die scripte drin.
scene.yaml das gleiche dann auch für die scenen
sensor.yaml, wo man seine sensoren rein tun kann
template.yaml kennst Du ja schon
alarm.yaml wo ich alles rund um meinen Hausalarm rein packe
alexa.yaml alles rund um alexa
heizung.yaml wenn man seine Heizung smart macht
usw. usw.
Wenn das alles in einer einzigen yaml stehen würde, sucht man sich einen Wolf.
Ja, den Code hatte ich hier kopiert und eingefügt. Der File Editor hat mir dann einen Fehler angezeigt. Wenn das natürlich dann kein Fehler war, obwohl es mir der File Editor angezeigt hat, habe ich falsch darauf reagiert. Dann wäre es aber auch besser, diese Funktion des File Editors abzuschalten. Geht das?
Wenn der File Editor einen Fehler anzeigt, dann ist da auch ein Fehler. Nur wie man damit umgeht, das hast Du halt noch nicht Verstanden, wie Dir u5zzug ja auch schon aufgezeigt hat.
Ich habe Dir keine fertig template.yaml gegeben, sondern deine template.yaml, die Du gepostet hast, versucht zu verbessern.
Wie ich schon sagte, ich habe keinen EcoTracker, kann also mit den Einträgen, die Du da gemacht hast, nichts anfangen geschweige den Fehler korrigieren.
Die Einträge mit den " - sensor:" funktionieren, die laufen genau so bei mir.
Jetzt Verstehe ich so langsam gar nichts mehr. Mir wurde erklärt, dass, wenn eine templates.yaml existiert, in der configurations.yaml keine templates stehen sollen, weil es ansonsten Fehlermeldungen hagelt. Drei Tage lang Versuche ich, um das zu Umgehen, den EcoTracker in die tamplates.yaml zu bringen. Mit wenig Erfolg. Nun soll ich ihn doch in der configurations.yaml belassen, obwohl es eine templates.yaml gibt? Den Code des EcoTrackers habe ich, wie bereits an anderer Stelle verlinkt, von hier. Es befindet sich aber ein Fehler im Code, den ich selber nach viel suchen aufgespürt habe. Der Code funktioniert erst dann richtig, wenn das große K bei kwh zu einem kleinem k geändert wird. Ansonsten habe ich an diesem Code nichts geändert. Die Anleitung zum Code ist hier. Ohne dieser Anleitung hätte ich es auch nicht geschafft.
Du hast es doch verlinkt. Und wenn ich mir den Code ansehe, besteht der aus zwei Teilen.
Einmal alles, was unter rest: steht und einmal was unter template: steht.
Rein von der Logik her würde ich schon sagen, was unter template: steht, kann auch in die template.yaml. Dann eben nur ohne das template:
Warum Du den Teil mit rest: auch in die template.yaml gepackt hast, weiß ich nicht, aber da dieses offensichtlich kein template ist, streikte dein HA. Also, lass das, was unter rest steht, in der configuration.yaml und was unter template: steht, in die template.yaml.
Wenn das dann alles ohne Fehler läuft, dann können wir den Rest einbauen.
Wie oben bereits gesagt, da habe ich mich auf den File Editor verlassen, weil er einen Fehler angezeigt hatte. Und bevor HA wieder in den abgesicherten
Modus geht, dachte ich mir, habe ich gar nicht abgespeichert. Also hätte ich die Fehleranzeige des File Editors ignorieren und abspeichern sollen?
Nein, eher genau gucken, wo ist der Fehler und wie behebt man den.
Wie du schon sagst, macht das ganze keinen Sinn. Wie ich am Anfang schon sagte, werde ich das nicht hinbekommen, nachdem ich Erfahren habe, was alles zu machen ist. Und so ist es auch. Jeden Code den ich jetzt eingefügt habe, hatte, ohne das ich Änderungen durchgeführt habe, zu Problemen geführt.
Das stimmt so nicht. Du hast Änderungen durchgeführt, siehe den Abschnitt mit dem rest:
Und das war vermutlich auch der Fehler, der deinen HA zum Absturz brachte.
Daraufhin habe ich dann mit wenig Ahnung Änderungen durchgeführt, was es aber eher schlechter gemacht hat. Ich habe aber jedesmal nur Versucht auf Fehlermeldungen zu Reagieren.
Ja, die Fehlermeldungen sind nicht immer toll, vor allem, wenn man nicht weiß, um was es geht.
Deswegen kam hier ja schon mehrfach der Hinweis, sich wenigstens ein wenig einzulesen.
Ich habe jetzt bereits mehrere templates mittels Geräte & Dienste, Helfer und Template hinzugefügt, ohne Probleme. Wäre das hier auch machbar?
Echt ? Und wieso hattest Du dann keine template.yaml ?
Hast Du eventuell schon eine templates.yaml und durch den Eintrag in der configuration.yaml hast Du nun alles durcheinander gebracht ?
Vielleicht solltest Du doch mal deine configuration.yaml und (alle) template(s).yaml hier posten, das man mal drüber gucken kann.
 
Diese ganze Aufteilung ist eine reine Kann-Sache, von der es verschiedene Varianten gibt. https://www.home-assistant.io/docs/configuration/splitting_configuration
Die Form template: !incude templates.yaml besagt, das hinter template: der Inhalt von templates.yaml einzufügen ist.
Man kann das ganze beliebig erweitern und auch den Inhalt von rest: ineineDarei schreiben.
Wobei ich inzwischen die packages bevorzuge, denn da kann man alles zu einem Thema zusammenfassen, egal ob rest:, sensor: template: o.ä.
https://www.home-assistant.io/docs/configuration/packages/

https://www.home-assistant.io/docs/configuration/yaml/
 
Deswegen ja mein Satz darunter.

Es gibt so viele verschiedene Integrationen in HA, wovon einige Einträge in einer yaml Datei erwarten.
Niemand hindert dich daran, das ganze etwas zu sortieren und für die ein oder andere Integration eine eigene yaml Datei zu erstellen.
automations.yaml hier stehen die Automatisierungen drin, von denen Du sicher noch einige erstellen wirst.
scripts.yaml hier stehen die scripte drin.
scene.yaml das gleiche dann auch für die scenen
sensor.yaml, wo man seine sensoren rein tun kann
template.yaml kennst Du ja schon
alarm.yaml wo ich alles rund um meinen Hausalarm rein packe
alexa.yaml alles rund um alexa
heizung.yaml wenn man seine Heizung smart macht
usw. usw.
Wenn das alles in einer einzigen yaml stehen würde, sucht man sich einen Wolf.
Ja, ok, dann Verteilen sich dann diese vielleicht irgendwann 10.000 Zeilen Code auf mehrere Ordnern.
Wenn der File Editor einen Fehler anzeigt, dann ist da auch ein Fehler. Nur wie man damit umgeht, das hast Du halt noch nicht Verstanden, wie Dir u5zzug ja auch schon aufgezeigt hat.
Ich komme mit dieser Fehleranzeige immer noch nicht zurecht. Nun weiß ich zumindest, was diese Striche mit dem Dreieck nach oben bedeuten. Dieses Dreieck ist auch immer an einer anderen Stelle. Vermutlich da, wo der Fehler konkret ist. Aber was ich dann genau machen muss, weiß ich immer noch nicht.
Ich habe Dir keine fertig template.yaml gegeben, sondern deine template.yaml, die Du gepostet hast, versucht zu verbessern.
Wie ich schon sagte, ich habe keinen EcoTracker, kann also mit den Einträgen, die Du da gemacht hast, nichts anfangen geschweige den Fehler korrigieren.
Die ersten Probleme kamen, nachdem ich die templates.yaml angelegt hatte. Und das lag beim ersten mal daran, weil ich den Ordner mit s geschrieben habe und den Eintrag in der Configurations.yaml ohne s. Und das hatte ich so von hier Übernommen gehabt. Das meinte ich damit.
Die Einträge mit den " - sensor:" funktionieren, die laufen genau so bei mir.
Bei mir hatte der File Editor einen Fehler angezeigt.
Du hast es doch verlinkt. Und wenn ich mir den Code ansehe, besteht der aus zwei Teilen.
Einmal alles, was unter rest: steht und einmal was unter template: steht.
Rein von der Logik her würde ich schon sagen, was unter template: steht, kann auch in die template.yaml. Dann eben nur ohne das template:
Warum Du den Teil mit rest: auch in die template.yaml gepackt hast, weiß ich nicht, aber da dieses offensichtlich kein template ist, streikte dein HA. Also, lass das, was unter rest steht, in der configuration.yaml und was unter template: steht, in die template.yaml.
Wenn das dann alles ohne Fehler läuft, dann können wir den Rest einbauen.
Ich wusste bis eben nicht, dass man einen Code aufteilen kann. Ich bin davon ausgegangen, dass der Code entweder in die configurations.yaml oder in die templates.yaml muss. Das ein teil in der einen und ein Teil in der anderen Datei stehen kann, wusste ich nicht. Auf der Seite, wo ich den Code herhatte, war das Zusammenhängend. Und so hatte ich diesen Code bis jetzt auch behandelt gehabt. Zusammenhängend. Ok, dann Versuche ich mich nochmals daran.
Nein, eher genau gucken, wo ist der Fehler und wie behebt man den.
Leicht gesagt. Deswegen hatte ich das eine mal schon gar nicht mehr abgespeichert und erst hier gefragt, was ich machen soll, um den Fehler zu beheben.
Das stimmt so nicht. Du hast Änderungen durchgeführt, siehe den Abschnitt mit dem rest:
Und das war vermutlich auch der Fehler, der deinen HA zum Absturz brachte.
Wie gesagt, Änderungen habe ich immer dann gemacht, wenn es Probleme gab, oder der File Editor etwas angezeigt hatte. Abgestürzt ist HA das erste mal beim anlegen der templates.yaml, wegen dem falschen Namen, siehe oben.
Ja, die Fehlermeldungen sind nicht immer toll, vor allem, wenn man nicht weiß, um was es geht.
Deswegen kam hier ja schon mehrfach der Hinweis, sich wenigstens ein wenig einzulesen.

Echt ? Und wieso hattest Du dann keine template.yaml ?
Ich habe aktuell keine templates.yaml, da ich HA gestern wieder zurückgesetzt habe. Ich habe gelesen, dass letztes Jahr in HA für den Helfer die Funktion templates ergänzt wurde. Und das sollte für die Personen gedacht sein, die Probleme mit der Bearbeitung einer yaml-Datei haben. Also ist das für mich gedacht. Diese templates werden nicht in die templates.yaml geschrieben, sondern Verbleiben in der Vorlage des Helfers. Hier mal so ein template:

Screenshot_20241208_154948_Home Assistant.jpg

Hast Du eventuell schon eine templates.yaml und durch den Eintrag in der configuration.yaml hast Du nun alles durcheinander gebracht ?
Vielleicht solltest Du doch mal deine configuration.yaml und (alle) template(s).yaml hier posten, das man mal drüber gucken kann.
Hier mal meine aktuelle configurations,yaml. Die besteht aber nur aus dem EcoTracker und das, was am Anfang drinnen stand:

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
rest:
    resource: http://192.168.0.114/v1/json
    scan_interval: 5
    sensor:
      - name: "ecotracker"
        json_attributes:
          - "power"
          - "energyCounterIn"
          - "energyCounterOut"
          
          
template:
  - 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 bin einen Schritt weiter. Das anlegen der templates.yaml hat funktioniert. Das aufteilen des EcoTrackers, also ein Teil in die templates.yaml und einen Teil in der configurations,yaml belassen, hat ebenfalls funktioniert. Es kamen keine Fehlermeldungen im File Editor und nach einem Neustart von HA hat der EcoTracker funktioniert. Soweit war ich ja bisher noch nicht. Da beim Einfügen der templaytes des EcoTrackers keine Fehlermeldung des File Editors kam, habe ich nichts nach links gerückt.

Da nun alles so Problemlos funktioniert hat, dachte ich mir, machst du mit dem anderen templates weiter. Habe ich also eingefügt. Nun habe ich Probleme, wo da jetzt was reingehört. Zumindest kommt nach Neustart keine Fehlermeldung, aber das templates bewirkt nichts. Bzw. ich weiß ohnehin nicht, wo dann was passiert. Also wie es dann weitergeht, wenn das template richtig konfiguriert ist. Wie auch immer, unter Entitäten habe ich Speicher abgabe gefunden. Das dürfte ja der Eintrag in der templates.yaml bewirkt haben? Rechts ist ein rotes Asurufezeichen, wo drinnen steht, Nicht verfügbar. Soweit denke ich jetzt mal, habe ich alles richtig gemacht. Bis auf die Eingabe der Sensoren. Die Entitäts-ID*, ist das der richtige Name des Sensors? Den habe ich jeweils vom Sensor des Speichers und vom Sensor des EcoTrackers genommen. Aber wo gehört das in das template rein, wo auf Seite zwei in diesem Thread steht?

So schaut jetzt meine templates.yaml aus:

Code:
  - 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)) }}
            
            
  - sensor:
    - name: Speicher abgabe
      unique_id: number.noah_2000_system_output_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  ((states("sensor.number.noah_2000_system_output_power") | float - states('sensor.ecotracker_aktueller_verbrauch') | float )) }}

Ich bin Schritt für Schritt vorgegangen. Erst den Sensornamen des EcoTracker ersetzt, Neustart, keine Fehlermeldung. Dann unter unique_id den Sensornamen eingetragen. Neustart, keine Fehlermeldung. Aber dieses rote Ausrufungszeichen, wenn ich bei Entitäten nachschaue. Dann noch bei states in der Klammer den Sensornamen geändert. Aber wieder ohne Erfolg. Jetzt steht zweimal der gleiche Sensornamen im tamplete, was sicherlich falsch ist. Aber wo gehört er eigentlich hin? Wenn das unter Entitäts-ID* der richtige Namen des jeweiligen Sensors ist, kannst du ja jetzt das templates richtig Zusammenstellen? Die Namen hast du ja jetzt.
 
Ich bin mir da jetzt nicht 100% sicher, aber ich meine, das man vor jedem Eintrag auch noch sagen muß, was der nachfolgende Block sein soll.
Du fängst ja an mit
Code:
  - sensor:
Und dann kommt ein Codeblock, der diesen Sensor beschreibt.
Du hast nach deinem ersten
Code:
  - sensor:
drei Codeblöcke. Falls es wirklich funktioniert, hmmm, bin ich überfragt.
Aber versuch mal bitte folgendes.
Code:
  - sensor:
    - name: "Ecotracker Aktueller Verbrauch"
      device_class: "power"
      state_class: "measurement"
      unit_of_measurement: "W"
      state: >
            {{ state_attr('sensor.ecotracker', 'power') }}
       
  - sensor:
    - 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)) }}
           
  - sensor:
    - 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)) }}
           
           
  - sensor:
    - name: Speicher abgabe
      unique_id: number.noah_2000_system_output_power
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {{  (states("sensor.number.noah_2000_system_output_power") | float - states('sensor.ecotracker_aktueller_verbrauch') | float ) }}
In der letzten Zeile waren auch noch Klammern komisch gesetzt, was ich so für falsch halte. Habs mal korrigiert. (Hoffe ich)
 
Wenn Du wissen willst, ob deine Code Zeile
Code:
 {{  (states("sensor.number.noah_2000_system_output_power") | float - states('sensor.ecotracker_aktueller_verbrauch') | float ) }}
auch funktioniert, kannst Du diese mal bei Entwicklerwerkzeuge testen.
Link in der Menüleiste auf den Hammer (Entwicklerwerkzeuge) klicken. Oben taucht eine Menüzeile auf und dort auf "Template" klicken.
Dann im Template-Editor deinen Code einfügen und schauen, was er rechts anzeigt.
Kommen da schon Fehlermeldungen, ist was faul.
So kannst Du aber schnell sehen, was Sache ist, ohne im Fileeditor immer auf Speichern gehen, HA neu starten und gucken, was der erzeugte Sensor den so anzeigt.
 
In der template.yaml können halt auch verschiedene Elemente gelistet sein, z.B. sensor, binary_sensor, trigger... deshalb muss mindestens einmalig erwähnt sein, wozu folgendes gehört.

Das beispielsweise funktioniert:
YAML:
- binary_sensor:
  - name: "bin_test_0"
    unique_id: bin_test_0
    state: >
      on
  - name: "bin_test_1"
    unique_id: bin_test_1
    state: >
      on
  - name: "bin_test_2"
    unique_id: bin_test_2
    state: >
      off
...und so kann man auch unter - sensor: mehrere Einträge listen.

In der letzten Zeile waren auch noch Klammern komisch gesetzt, was ich so für falsch halte. Habs mal korrigiert. (Hoffe ich)
Wenn man das in mehrere Zeilen aufteilt sieht man, dass da einige Klammern komplett überflüssig sind, aber direkt falsch würde ich nicht sagen:
YAML:
      state: >
        {{  (
              (
                states("sensor.number.noah_2000_system_output_power") | float -
                states('sensor.ecotracker_aktueller_verbrauch') | float
              )
            )
        }}

Ich glaube aber nicht, dass unique_id: number.noah_2000_system_output_power eine gültige Angabe ist mit dem Punkt darin. Als unique_id vergibt man normalerweise einfach eine einzigartige Kombination aus a-z und 0-9.
 
Jetzt nur kurz, heute Abend ausführlich. So sieht der Code des Sensors aus:
 

Anhänge

  • Screenshot_20241209_120542_Chrome.jpg
    Screenshot_20241209_120542_Chrome.jpg
    327,4 KB · Aufrufe: 5
In der template.yaml können halt auch verschiedene Elemente gelistet sein, z.B. sensor, binary_sensor, trigger... deshalb muss mindestens einmalig erwähnt sein, wozu folgendes gehört.
Danke für die Aufklärung, da war ich mir eben nicht sicher. ;)

Wenn man das in mehrere Zeilen aufteilt sieht man, dass da einige Klammern komplett überflüssig sind, aber direkt falsch würde ich nicht sagen:
Da hast Du recht. Ich hatte nur im ersten Teil 3 öffnende und nur eine schließende Klammer gesehen.
 
Wenn Du wissen willst, ob deine Code Zeile
Code:
 {{  (states("sensor.number.noah_2000_system_output_power") | float - states('sensor.ecotracker_aktueller_verbrauch') | float ) }}
auch funktioniert, kannst Du diese mal bei Entwicklerwerkzeuge testen.
Link in der Menüleiste auf den Hammer (Entwicklerwerkzeuge) klicken. Oben taucht eine Menüzeile auf und dort auf "Template" klicken.
Dann im Template-Editor deinen Code einfügen und schauen, was er rechts anzeigt.
Kommen da schon Fehlermeldungen, ist was faul.
So kannst Du aber schnell sehen, was Sache ist, ohne im Fileeditor immer auf Speichern gehen, HA neu starten und gucken, was der erzeugte Sensor den so anzeigt.
Wenn ich den Code wie erklärt einfüge, folgt folgende Meldung:

ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ (states("sensor.number.noah_2000_system_output_power") | float - states('sensor.ecotracker_aktueller_verbrauch') | float ) }}' but no default was specified

Ansonsten scheinen sich ja die anderen Punkte geklärt zu haben und es passt ansonsten alles soweit. Ok, es haben jetzt heute zwar drei Personen geantwortet, die Frage blieb aber Unbeantwortet. Habe ich den richtigen Sensornamen genommen? Also unter Entität-ID*? Und wenn das stimmt, habe ich es richtig eingefügt? Denn so wie ich es jetzt hier herausgelesen habe, stimmt ja alles bei mir. Da es nicht funktioniert, liegt es wohl am Sensornamen? Also, konkret gefragt, wie bekommt man heraus, wie der Namen eines Sensors lautet? Was bedeutet die Zeile unique_id, weil das Nival und u5zzug angesprochen hat? Muss da jetzt der Sensornamen auch rein?
 
Habe ich den richtigen Sensornamen genommen? Also unter Entität-ID*?
Wenn Du auf Deinem Screenshot den zuletzt eingetragenen Sensor "Speicher abgabe" ansprechen möchtest, nein.

Trage ich Deinen Code in meiner template.yaml ein erhalte ich diesen Sensor (ich habe, da ich die Sensoren auf die zugegriffen wird natürlich nicht eingerichtet habe, Defaultwerte von 10 und 0 verwendet):
1733761997096.png
Und sensor.speicher_abgabe ist die Entitäts-ID, die Du verwenden müsstest, um darauf zuzugreifen.

Schau unter Entwicklerwerkzeuge => Zustände nach Speicher, dann solltest Du bei Dir im Prinzip den gleichen Eintrag finden, aussser es wurde durch rumprobieren schon durchnummeriert.
 
Wenn Du auf Deinem Screenshot den zuletzt eingetragenen Sensor "Speicher abgabe" ansprechen möchtest, nein.
Ok, dachte ich mir. Wo kann man den richtigen Namen finden? Und den Namen vom EcoTracker, findet man den vielleicht hier?
Trage ich Deinen Code in meiner template.yaml ein erhalte ich diesen Sensor (ich habe, da ich die Sensoren auf die zugegriffen wird natürlich nicht eingerichtet habe, Defaultwerte von 10 und 0 verwendet):
Anhang anzeigen 9164
Das finde ich bei mir auch, einmal. Und zwar mit der Nummer 2. Ohne Zusatznummer schaut es etwas anders aus.
Und sensor.speicher_abgabe ist die Entitäts-ID, die Du verwenden müsstest, um darauf zuzugreifen.
Damit kann ich leider nichts anfangen. Wo muss ich sensor.speicher_abgabe verwenden?
Schau unter Entwicklerwerkzeuge => Zustände nach Speicher, dann solltest Du bei Dir im Prinzip den gleichen Eintrag finden, aussser es wurde durch rumprobieren schon durchnummeriert.
Ja, habe ich, mit Nummer 2.

Welche Informationen bräuchtet ihr, um den Code richtig zu schreiben, so dass ich ihn nur kopieren und an richtiger Stelle einfügen müsste? Denn anders, also wenn ich es Versuche, dauert es wohl noch ewig.
 
ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ (states("sensor.number.noah_2000_system_output_power") | float - states('sensor.ecotracker_aktueller_verbrauch') | float ) }}' but no default was specified
Wie die Fehlermeldung sagt, hat eines der "float" einen Wert bekommen, mit dem es nichts anfangen kann, weil der "unknown" ist und nicht eine Zahl.
Da wir aber deine Sensoren nicht kennen, wird es schwer, zu sagen, welcher falsch ist.
Ich würde aber auch
Code:
sensor.number.noah_2000_system_output_power
tippen. sensor und number klingt mir etwas unwahrscheinlich.
Also gehst Du her, löschst alles nach "sensor" und tippst nur einen "." ein. Dann sollte er Dir seine Sensoren anzeigen.
Oder besser, tippe nur das ein
Code:
{{
    states(sensor.xxxxx)
}}
Für xxxxx dann den Namen seines Sensor.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.904
Beiträge
57.673
Mitglieder
5.856
Neuestes Mitglied
ToMicPa68
Zurück
Oben