Fehler in der Config und automations.yaml

Hallo,
ich weiß nicht, ob ich hier richtig bin, ich versuche seit Tagen ein Deebot Ozmo Saugroboter zu intrigieren, habe dazu ein Video geschaut und die -daten so eingetragen wie es beschrieben wurde, leider gibt es einige Fehler unter anderem in der Config. Folgender Fehler wird mir angezeigt:

duplicated mapping key (40:7)

37 | {% set room_name = “corridor” %}
38 | {% set queue = trigger.to_sta …
39 | {{ queue.index(room_name)+1 i …
40 | unique_id: deebot_deebot_queue_ …
------------^
41 | name: deebot_deebot_queue_bathroom
42 | state: >

Das ist meine config:

# 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

#deebot
recorder:
  exclude:
    entities:
      - input_text.deebot_deebot_queue
      - script.deebot_room_queue
    entity_globs:
      - sensor.deebot_*_queue_*

input_text:
  deebot_deebot_queue:
    name: deebot Raum Reihenfolge
    max: 255 # Current max limit. See https://www.home-assistant.io/integrations/input_text/#max

# Room name comes from the integration to match attribute names
template:
  unique_id: deebot_deebot_queue
  trigger:
    - platform: state
      entity_id: input_text.deebot_deebot_queue
  sensor:
    - unique_id: deebot_deebot_queue_corridor
      name: deebot_deebot_queue_corridor
      state: >
        {% set room_name = "corridor" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
      unique_id: deebot_deebot_queue_bathroom
      name: deebot_deebot_queue_bathroom
      state: >
        {% set room_name = "bathroom" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
      unique_id: deebot_deebot_queue_living_room
      name: deebot_deebot_queue_living_room
      state: >
        {% set room_name = "living_room" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
      unique_id: deebot_deebot_queue_study
      name: deebot_deebot_queue_study
      state: >
        {% set room_name = "study" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
      unique_id: deebot_deebot_queue_bedroom
      name: deebot_deebot_queue_bedroom
      state: >
        {% set room_name = "bedroom" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}

dann fehlt mir in der automations.yaml die Geräte ID:

 id: 
- alias: Staubsauger Zimmer resetieren
  description: ''
  trigger:
  - platform: event
    event_type: deebot_cleaning_job
    event_data:
      status: finished
  condition: []
  action:
  - service: input_text.set_value
    alias: Reset room queue
    data: {}
    target:
      entity_id: input_text.deebot_deebot_queue
  mode: single

in dem Video, er hat den identischen Hersteller, sein Model ist ein T8 und meiner ist ein Ozmo950
wie bekomme ich die Geräte ID?

ich hoffe das ihr mir helfen könnt.

Dir fehlen sämtliche - vor der unique_id

Und die Automationen machst du am besten über die UI.

@maxe,
Danke erst einmal für deine schnelle Antwort. Um ehrlich zu sein verstehe ich nur Bahnhof, was ist eine UI?

Das "User Interface", also die “normale” Bedienoberfläche Deines HA.

@harryp
[Ecovacs Deebot - Meine digitale Welt]
Ich habe die Werte aus der Beschreibung aus diesem Video da eingetragen wie es berichtet wurde. Alle mit xxx gekennzeichneten Werte habe ich durch den Name meines Saugroboters geändert.
So wie die Räume die der Sauger sie auf der Karte angezeigt hat. Alle Räume habe ich mit Namen versehen.
Alles habe ich in der UI, also im File Editor eingetragen, in der config, in der automation.yamel usw.
Die Daten habe ich in dem Programm, ich glaube note++ heißt es, habe es jetzt nicht auf den Schirm, bin z. Z. auf der Arbeit sonst hätte ich nachschauen können. Dann alles kopiert und wie oben geschrieben dort ein kopiert wo es rein soll.

Das sind genau die Gegensätze. UI ist mehrheitlich mit der Maus zu bedienen (Drop-down-Menüs, Auswahlfelder usw.). Da kann man eigentlich nichts zerstören. Es kann maximal nicht oder unerwartet funktionieren.
Im File Editor wird mit einer “Programmiersprache” gearbeitet und man kann da viele Fehler einbauen bzw. sogar, im schlimmsten Fall, den gesamten Betrieb (von HA) zerstören, wenn man nicht weiß, was man tut.

Welches Modell hast du denn genau? Der Ozmo 930 wird zum Beispiel nicht unterstützt

@silberfuxx
Jetzt bin ich raus. Wie komme ich in die UI?
Also hier schreibt jemand der vor 4 Wochen das erste Mal von HA gehört hat. Alle automatisch eingebundene Geräte arbeiten sehr gut mit dem HA.
Ich habe dann auch Geräte über HACS eingebunden, auch diese funktionieren. Darunter auch der Saugroboter, alle Schalter sind auch da und die neu erstellte Karte, neue Wohnung, die der Sauger aufgezeichnet hat, wird korrekt angezeigt.

@metallmanu
Ich habe den ozmo950 der mit den zwei Haken dahinter. Also versuche ich was, was nicht funktionieren kann. :man_shrugging::thinking:. Also hat sich das Thema dann erledigt?? :flushed:

:crayon:by HarryP: Zusammenführung Doppelpost

Das ist die ganz normale Bedienoberfläche des HA.

Kommt jetzt darauf an. Für eine “einfache” Automation z.B. über Einstellungen → Automatisierungen & Szenen → rechts unten “Automatisierung erstellen” → “Neue Automatisierung erstellen”. Dann bist du im UI für Automationen. Über die 3 Punkte rechts oben könntest du dann auf “Als YAML bearbeiten” direkt den Programmcode editieren.
Aber speziell für deinen Roboter kann ich dir nicht helfen, da ich nicht weiß, ob es dafür ein UI gibt.

Doch, der Ozmo 950 sollte funktionieren. Du kannst mal bei Geräte schauen, ob dein Saugroboter wirklich nur deebot heißt

Probiere mal immer vor das unique_id ein - zu machen. Das sieht so aus, als würde er mehrere unique_id für einen Sensor nicht vertragen

Hm das - was bedeutet das? Grenze ich den sensor dann aus? Ich möchte es verstehen können. Danke

Ich hatte es ja oben schon geschrieben. Du hast nur vor dem ersten Sensor ein Bindestrich geschrieben, der Bindestrich muss aber vor jeden sensor:

# Room name comes from the integration to match attribute names
template:
  unique_id: deebot_deebot_queue
  trigger:
    - platform: state
      entity_id: input_text.deebot_deebot_queue
  sensor:
    - unique_id: deebot_deebot_queue_corridor
      name: deebot_deebot_queue_corridor
      state: >
        {% set room_name = "corridor" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
    - unique_id: deebot_deebot_queue_bathroom
      name: deebot_deebot_queue_bathroom
      state: >
        {% set room_name = "bathroom" %}
        {% set queue = trigger.to_state.state.split(",") %}
        {{ queue.index(room_name)+1 if room_name in queue else 0 }}
     
....
....
1 „Gefällt mir“

Ah ok, verstehe, ich werde mich heute abend noch einmal in Ruhe daran setzten. :+1:
Nachtrag:
Der Name der Saugers ist aber richtig?

Ja sollte soweit passen

Das “-” gehört zur zwingend nötigen Formatierung der “Programmiersprache” YAML.
So habe ich als Laie das verstanden.