Finden den Fehler in meinem Code oder Helfer nicht

Hallo zusammen,

ich möchte die Laufzeiten meiner Geräte tracken, also wie lange sie eingeschaltet sind. Alle Geräte hängen an einem Shelly, also versuch ich das über den Verbrauch zu regeln. Dafür habe ich folgenden Code erstellt:

#Erfassung der Multimedia Zeiten

  - platform: history_stats
    name: imac_heute
    entity_id: sensor.imac_an_oder_aus
    unique_id: 'imac_andy'
    state: "on"
    type: time
    start: '{{ now().replace(hour=0, minute=0, second=0) }}'
    end: '{{ now() }}'

Weiterhin habe ich diesen Helfer angelegt:


Allerdings zeigt mir der File Editor immer folgenden Fehler an:
![Bildschirmfoto 2024-05-03 um 17.17.35|690x341]
(upload://fA3VHwyKLbP7G6pUp31IuJOIsu6.png)

Die Anwesenheit an diversen Orten tracke ich auch und zwar mit folgendem Code:

- platform: history_stats
    name: XXXX_XXX_31
    entity_id: device_tracker.iphone_damrak2023_2_app
    unique_id: 'XXX_31'
    state: 'XXXXXXX 31'
    type: time
    start: '{{ now().replace(hour=0, minute=0, second=0) }}'
    end: '{{ now() }}'

Da klappt alles. Warum habe ich also hier einen Fehler. Ich verstehe es nicht.

Moin,

für Sensoren die nur 2 mögliche zustände haben würde ich einen binary_sensor empfehlen.

LG

Ich habe das jetzt in einem binary sensor gemacht, aber ich habe weiterhin den Fehler im File Editor und weiß nicht warum

#Erfassung der Multimedia Zeiten

  - platform: history_stats
    name: imac_heute
    entity_id: binary_sensor.imac_an_oder_aus
    unique_id: 'imac_andy'
    state: "on"
    type: time
    start: '{{ now().replace(hour=0, minute=0, second=0) }}'
    end: '{{ now() }}'

Hier die Fehlermeldung:

end of the stream or a document separator is expected (169:1)

 166 | #Erfassung der Multimedia Zeiten
 167 | 
 168 |   - platform: history_stats
 169 |     name: imac_heute
-------^
 170 |     entity_id: binary_sensor.im ...
 171 |     unique_id: 'imac_andy'

Ich habe den “state” auch schon in Hochommas gesetzt - Fehler bleibt

Dir fehlen wohl nur die Einrückungen im yaml

Okay geschafft - Vielen Dank, mir haben beim else if code 2 Leerzeichen gefehlt.
Leider war das doch nicht die Lösung: Ich habe die Einrückungen im Helfer Template Sensor korrigiert. aber mein Fehler bleibt bestehen. Und in meiner sensor.yaml sind die Orte, welche ich tracke, ja genauso eingegeben und da gibt es kein Problem

Sorry, ich bezog mich nur auf den Code in deiner Sensor. yaml. Den Fehler bei deinem Template Sensor müsstest du nochmal posten

Hi.
Setz mal start und end in “…” (Anführungszeichen). So hab ich es bei mir…

Du meinst die Fehlermeldung, die auf Zeile 169 zeigt? Hast du deine Configuration.yaml „gesplittet „?

Wenn Du mit gesplittet meinst, das ich das ausgelagert habe, dann ja. Die ganzen Codes für das tracking liegen bei mir im Ordner /homeassistant/sensors.yaml
In der configuration.yaml ist der Verweis vorhanden:

# 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
ios: !include iosactions.yaml
sensor: !include sensors.yaml

Und so funktioniert ja alles. Erst wenn ich wieder den Code für das Tv oder iMac Tracking in der sensors.yaml hinzufüge, erscheint der Fehler

Hier nochmal ein Bild zur Verdeutlichung:

Wenn es in der sensor.yaml ist hast du eigentlich überall 2 Leerzeichen zuviel.
Was ja auch zum Fehler passt wo er auf Leerzeichen zeigt:

Außerdem wär ich mir bei der unique_id nicht sicher ob die vielleicht schon benutzt wird da die so kurz ist und würde die auch noch mal abändern

- platform: history_stats
  name: imac_heute
  entity_id: binary_sensor.imac_an_oder_aus
  unique_id: 'history_stats_imac_andy'
  state: "on"
  type: time
  start: '{{ now().replace(hour=0, minute=0, second=0) }}'
  end: '{{ now() }}'

LG
Tobi

Vielen Dank, jetzt geht es endlich. Ich war mir so sicher das mit der unique id passt, aber anscheinend habe ich mich da wohl getäuscht.