b35c709650
Convert storage-mode dashboard to dashboards/ecovacs.yaml. Preserves all button-card templates, room queue buttons, conditional controls, vacuum map, and settings panel exactly as configured in the UI. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
259 lines
8.4 KiB
YAML
259 lines
8.4 KiB
YAML
button_card_templates:
|
|
vacuum_service:
|
|
color: "var(--text-color)"
|
|
entity: vacuum.obi_wan_cleanobi
|
|
tap_action:
|
|
action: call-service
|
|
service_data:
|
|
entity_id: vacuum.obi_wan_cleanobi
|
|
lock:
|
|
enabled: "[[[ return variables.enabled ]]]\n"
|
|
exemptions: []
|
|
styles:
|
|
card:
|
|
- height: 80px
|
|
lock:
|
|
- color: var(--primary-text-color)
|
|
state:
|
|
- operator: template
|
|
value: "[[[ return variables.enabled ]]]\n"
|
|
styles:
|
|
card:
|
|
- color: var(--disabled-text-color)
|
|
|
|
vacuum_room:
|
|
color: "var(--text-color)"
|
|
variables:
|
|
lock_enabled: "[[[ return ['cleaning', 'paused'].includes(states['vacuum.obi_wan_cleanobi'].state) ]]]\n"
|
|
state:
|
|
- operator: template
|
|
value: "[[[ return variables.lock_enabled && entity.state == 0 ]]]\n"
|
|
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: "[[[\n if (entity.state == \"0\")\n return \"none\";\n return \"block\";\n]]]\n"
|
|
- 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 ]]]\n"
|
|
tap_action:
|
|
action: call-service
|
|
service: script.deepbot_room_queue
|
|
service_data:
|
|
queue: input_text.deebot_obi_wan_cleanobi_queue
|
|
lock:
|
|
enabled: "[[[ return variables.lock_enabled ]]]\n"
|
|
exemptions: []
|
|
|
|
views:
|
|
- title: Obi-Wan Cleanobi
|
|
cards:
|
|
- type: vertical-stack
|
|
cards:
|
|
- type: custom:vacuum-card
|
|
entity: vacuum.obi_wan_cleanobi
|
|
stats:
|
|
default:
|
|
- entity_id: sensor.obi_wan_cleanobi_main_brush_lifespan
|
|
unit: "%"
|
|
subtitle: Hauptbürste
|
|
- entity_id: sensor.obi_wan_cleanobi_side_brushes_lifespan
|
|
unit: "%"
|
|
subtitle: Seitenbürsten
|
|
- entity_id: sensor.obi_wan_cleanobi_filter_lifespan
|
|
unit: "%"
|
|
subtitle: Filter
|
|
cleaning:
|
|
- entity_id: sensor.obi_wan_cleanobi_area_cleaned
|
|
unit: m²
|
|
subtitle: Geputzte Fläche
|
|
- entity_id: sensor.obi_wan_cleanobi_cleaning_duration
|
|
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_obi_wan_cleanobi_queue_wohnzimmer1
|
|
icon: mdi:sofa
|
|
name: Wohnzimmer
|
|
tap_action:
|
|
service_data:
|
|
room: wohnzimmer1
|
|
- type: custom:button-card
|
|
template: vacuum_room
|
|
entity: sensor.deebot_obi_wan_cleanobi_queue_kuche1
|
|
icon: mdi:stove
|
|
name: Küche
|
|
tap_action:
|
|
service_data:
|
|
room: kuche1
|
|
- type: custom:button-card
|
|
template: vacuum_room
|
|
entity: sensor.deebot_obi_wan_cleanobi_queue_flur1
|
|
icon: mdi:foot-print
|
|
name: Flur
|
|
tap_action:
|
|
service_data:
|
|
room: flur1
|
|
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: custom:button-card
|
|
template: vacuum_room
|
|
entity: sensor.deebot_obi_wan_cleanobi_queue_buro1
|
|
icon: mdi:desk
|
|
name: Büro
|
|
tap_action:
|
|
service_data:
|
|
room: buro1
|
|
- type: custom:button-card
|
|
template: vacuum_room
|
|
entity: sensor.deebot_obi_wan_cleanobi_queue_badezimmer1
|
|
icon: mdi:shower-head
|
|
name: Bad
|
|
tap_action:
|
|
service_data:
|
|
room: badezimmer1
|
|
|
|
- type: vertical-stack
|
|
title: Settings
|
|
cards:
|
|
- type: entities
|
|
entities:
|
|
- entity: switch.obi_wan_cleanobi_continuous_cleaning
|
|
- entity: select.obi_wan_cleanobi_water_flow_level
|
|
- entity: switch.obi_wan_cleanobi_clean_preference
|
|
|
|
- type: horizontal-stack
|
|
cards:
|
|
- type: conditional
|
|
conditions:
|
|
- entity: vacuum.obi_wan_cleanobi
|
|
state_not: cleaning
|
|
- entity: vacuum.obi_wan_cleanobi
|
|
state_not: paused
|
|
card:
|
|
type: custom:button-card
|
|
template: vacuum_service
|
|
icon: mdi:play
|
|
name: Start
|
|
tap_action:
|
|
action: call-service
|
|
service: script.deepbot_clean
|
|
variables:
|
|
enabled: "[[[ \n return ((!states['input_text.deebot_obi_wan_cleanobi_queue'].state || \n states['input_text.deebot_obi_wan_cleanobi_queue'].state.length === 0)\n && ['docked', 'idle', 'error', 'returning'].includes(entity.state))\n]]]\n"
|
|
|
|
- type: conditional
|
|
conditions:
|
|
- entity: vacuum.obi_wan_cleanobi
|
|
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.obi_wan_cleanobi
|
|
styles:
|
|
card:
|
|
- height: 80px
|
|
- background-color: "var(-color)"
|
|
|
|
- type: conditional
|
|
conditions:
|
|
- entity: vacuum.obi_wan_cleanobi
|
|
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.obi_wan_cleanobi
|
|
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: "[[[ \n return !(['cleaning', 'paused', 'returning'].includes(entity.state))\n]]]\n"
|
|
|
|
- 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: "[[[ \n return ['docked', 'returning'].includes(entity.state)\n]]]\n"
|
|
- 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.obi_wan_cleanobi
|
|
styles:
|
|
card:
|
|
- height: 80px
|
|
- background-color: "var(-color)"
|
|
|
|
- type: picture-entity
|
|
entity: image.obi_wan_cleanobi_map
|
|
show_state: false
|
|
show_name: false
|
|
camera_view: auto
|
|
tap_action:
|
|
action: none
|
|
hold_action:
|
|
action: none
|