Ecovacs Deebot T30 Integration

Hallo,
ich habe am Wochenende versucht meinen Ecovacs Deebot T30 in HA einzubinden. Dabei habe ich folgende Anleitung verwendet:

Deebot in Home Assistant einbinden - Björns Techblog (bjoerns-techblog.de)

Das Einbinden der Scripte in die verschiedenen Dateien hat gut funktioniert und die Button Card wird ebenfalls angezeigt.

Ich kann Räume auswählen und den Deebot losschicken.

Das einzige was nicht funktioniert, ist die Markierung ob ein Raum ausgewählt wurde und in welcher Reihenfolge.
In der oberen linken Ecke wird statt der Zahl, ein “unavailable” gezeigt.
Leider bin ich nicht in den Scripten noch nicht so fit, dass ich selbst auf die Lösung komme.
Hat jemand eine Idee, woran das liegen könnte?

Vielen Dank,

Alex

Hallo Alex,

ich bin auch gerade dabei meinen T30 in HA einzubinden. Ich persönlich Scheiter bereits an den Räumen. Ich bekomme die gar nicht angezeigt. Ich habe auch die von dir oben verlinkte Anleitung benutzt.
Kannst du mir verraten wie du es mit den Räumen überhaupt hin bekommen hast?

Gruß Timo

Hi Timo,

ich habe es inzwischen komplett hinbekommen.
Ich musste nur eine kleine Änderung an dem Code vornehmen, dann hat es geklappt.
An welcher Stelle in der Anleitung hängst Du genau?
Hast Du die Codeblöcke so wie in der Anleitung beschrieben in die verschiedenen Dateien (Script.yaml,configuration.yaml,RAW Konfiguration im Dashboard) reinkopiert und die entsprechenden Stellen gegen die Namen Deines T30 und der Räume ausgetauscht?

Gruß,

Alex

Ich habe die einfache Variante gemacht:

Einfacher geht es mit Packages. Ihr erzeugt den neuen Eintrag packages innerhalb der Abschnittes homeassistant.

Den Abschnitt habe ich gemacht.

Gruß Timo

Hallo,

wo und wie muß ich denn die button_card_templates bzw. den Code dazu genau einfügen, damit der Dashboard-Code funktioniert?

Bei mir steht im Dashboard in den Karten eine Fehlermeldung “Button-card template is missing”.

Im ersten Beitrag ist schon der Link zur Beschreibung:

Danke und LG Pit

Hallo,
ich hänge an dem gleichen Punkt wie @Pit
Ich bekomme zwar keine Fehler beim Speichern, aber ich sehe nichts von der Vacuum Card. Nur, die von mir über die UI, hinzugefügten sections am anfang der config sind sichtbar.

Weiß jemand woran es liegt?
Danke schonmal!
LG Maxi

views:
  - type: sections
    max_columns: 2
    title: Home
    path: home
    icon: mdi:home
    sections:
      - type: grid
        cards:
          - type: weather-forecast
            entity: weather.forecast_home
            forecast_type: daily
          - show_name: true
            show_icon: true
            type: button
            entity: switch.kaffeemaschine
            show_state: false
            hold_action:
              action: none
            grid_options:
              columns: full
              rows: 2
  - type: panel
    title: Robi
    path: robi
    button_card_templates:
      vacuum_service:
        color: var(--text-color)
        entity: vacuum.robi
        tap_action:
          action: call-service
          service_data:
            entity_id: vacuum.robi
        lock:
          enabled: |
            [[[ return variables.enabled ]]]
          exemptions: []
        styles:
          card:
            - height: 80px
          lock:
            - color: var(--primary-text-color)
        state:
          - operator: template
            value: |
              [[[ return variables.enabled ]]]
            styles:
              card:
                - color: var(--disabled-text-color)
      vacuum_room:
        color: var(--text-color)
        variables:
          lock_enabled: >
            [[[ return ['cleaning',
            'paused'].includes(states['vacuum.robi'].state) ]]]
        state:
          - operator: template
            value: |
              [[[ return variables.lock_enabled && entity.state == 0 ]]]
            styles:
              card:
                - color: var(--disabled-text-color)
          - styles:
              card:
                - background-color: var(--primary-color)
            operator: '>='
            value: 1
        styles:
          card:
            - font-size: 12px
          grid:
            - position: relative
          custom_fields:
            order:
              - display: |
                  [[[
                    if (entity.state == "0")
                      return "none";
                    return "block";
                  ]]]
              - position: absolute
              - left: 5%
              - top: 5%
              - height: 20px
              - width: 20px
              - font-size: 20px
              - font-weight: bold
              - line-height: 20px
        custom_fields:
          order: |
            [[[ return entity.state ]]]
        tap_action:
          action: call-service
          service: script.deebot_room_queue
          service_data:
            queue: input_text.deebot_robi_queue
        lock:
          enabled: |
            [[[ return variables.lock_enabled ]]]
          exemptions: []
      type: vertical-stack
      cards:
        - type: custom:vacuum-card
          entity: vacuum.robi
          stats:
            default:
              - entity_id: sensor.robi_lebensdauer_der_hauptburste
                unit: '%'
                subtitle: Hauptbürste
              - entity_id: sensor.robi_lebensdauer_der_seitenbursten
                unit: '%'
                subtitle: Seitenbürsten
              - entity_id: sensor.robi_lebensdauer_des_filters
                unit: '%'
                subtitle: Filter
            cleaning:
              - entity_id: sensor.robi_flache_gereinigt
                unit: m²
                subtitle: Geputzte Fläche
              - entity_id: sensor.robi_reinigungsdauer
                unit: Minuten
                subtitle: Reinigungsdauer
          show_status: true
          show_toolbar: false
          compact_view: false
        - type: custom:button-card
          color: auto-no-temperature
          name: Räume zum Putzen auswählen
          styles:
            card:
              - font-size: 18px
              - height: 30px
            name:
              - color: var(--primary-color)
        - type: horizontal-stack
          cards:
            - type: custom:button-card
              template: vacuum_room
              entity: sensor.deebot_robi_queue_wohnzimmer
              icon: mdi:sofa
              name: Wohnzimmer
              tap_action:
                service_data:
                  room: wohnzimmer
            - type: custom:button-card
              template: vacuum_room
              entity: sensor.deebot_robi_queue_kuche
              icon: mdi:stove
              name: Küche
              tap_action:
                service_data:
                  room: kuche
            - type: custom:button-card
              template: vacuum_room
              entity: sensor.deebot_robi_queue_flur
              icon: mdi:shoe-print
              name: Flur
              tap_action:
                service_data:
                  room: flur
        - type: horizontal-stack
          cards:
            - type: custom:button-card
              template: vacuum_room
              entity: sensor.deebot_robi_queue_schlafzimmer
              icon: mdi:bed-king
              name: Schlafzimmer
              tap_action:
                service_data:
                  room: schlafzimmer
            - type: custom:button-card
              template: vacuum_room
              entity: sensor.deebot_robi_queue_badezimmer
              icon: mdi:shower
              name: Badezimmer
              tap_action:
                service_data:
                  room: badezimmer
            - type: custom:button-card
              template: vacuum_room
              entity: sensor.deebot_robi_queue_waschkuche
              icon: mdi:locker-multiple
              name: Abstellkammer
              tap_action:
                service_data:
                  room: waschkuche
            - type: custom:button-card
              template: vacuum_room
              entity: sensor.deebot_robi_queue_wc
              icon: mdi:teddy-bear
              name: Kinderzimmer
              tap_action:
                service_data:
                  room: wc
        - type: horizontal-stack
          cards:
            - type: conditional
              conditions:
                - entity: vacuum.robi
                  state_not: cleaning
                - entity: vacuum.robi
                  state_not: paused
              card:
                type: custom:button-card
                template: vacuum_service
                icon: mdi:play
                name: Start
                tap_action:
                  action: call-service
                  service: script.deebot_clean
                variables:
                  enabled: |
                    [[[
                      return ((!states['input_text.deebot_robi_queue'].state ||
                          states['input_text.deebot_robi_queue'].state.length === 0)
                          && ['docked', 'idle', 'error', 'returning'].includes(entity.state))
                    ]]]
            - type: conditional
              conditions:
                - entity: vacuum.robi
                  state: cleaning
              card:
                type: custom:button-card
                color: auto
                icon: mdi:pause
                name: Pause
                tap_action:
                  action: call-service
                  service: vacuum.pause
                  service_data:
                    entity_id: vacuum.robi
                styles:
                  card:
                    - height: 80px
                    - background-color: var(-color)
            - type: conditional
              conditions:
                - entity: vacuum.robi
                  state: paused
              card:
                type: custom:button-card
                color: auto
                icon: mdi:play-pause
                name: Weiter
                tap_action:
                  action: call-service
                  service: vacuum.start
                  service_data:
                    entity_id: vacuum.robi
                styles:
                  card:
                    - height: 80px
                    - background-color: var(-color)
            - type: custom:button-card
              template: vacuum_service
              icon: mdi:stop
              name: Stop
              tap_action:
                service: vacuum.stop
              variables:
                enabled: |
                  [[[
                    return !(['cleaning', 'paused', 'returning'].includes(entity.state))
                  ]]]
        - type: horizontal-stack
          cards:
            - type: custom:button-card
              template: vacuum_service
              icon: mdi:home-map-marker
              name: Zurück zur Ladestation
              tap_action:
                service: vacuum.return_to_base
              variables:
                enabled: |
                  [[[
                    return ['docked', 'returning'].includes(entity.state)
                  ]]]
            - type: custom:button-card
              color: auto
              icon: mdi:map-marker
              name: Lokalisieren
              tap_action:
                action: call-service
                service: vacuum.locate
                service_data:
                  entity_id: vacuum.robi
              styles:
                card:
                  - height: 80px
                  - background-color: var(-color)
        - show_state: false
          show_name: false
          camera_view: auto
          type: picture-entity
          tap_action:
            action: none
          hold_action:
            action: none
          entity: image.robi_karte

Wird Dir zwar nicht helfen, aber ich habe den ganzen Deebot-Kram wieder gelöscht, so wichtig war es mir dann auch nicht, um da tagelang dran rumzuforschen.

LG Pit