175 lines
4.8 KiB
YAML
175 lines
4.8 KiB
YAML
# Vacuum Package
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Vacuum Helpers
|
|
input_number:
|
|
furbot_main_brush_life_hours:
|
|
unit_of_measurement: h
|
|
initial: 300
|
|
min: 10
|
|
max: 300
|
|
mode: box
|
|
|
|
furbot_right_brush_life_hours:
|
|
unit_of_measurement: h
|
|
initial: 200
|
|
min: 10
|
|
max: 300
|
|
mode: box
|
|
|
|
furbot_filter_life_hours:
|
|
unit_of_measurement: h
|
|
initial: 150
|
|
min: 10
|
|
max: 300
|
|
mode: box
|
|
|
|
furbot_sensor_life_hours:
|
|
unit_of_measurement: h
|
|
initial: 30
|
|
min: 10
|
|
max: 300
|
|
mode: box
|
|
|
|
input_text:
|
|
furbot_last_fan_speed:
|
|
name: Furbot Last Fan Speed
|
|
initial: ""
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Room/Segment Helpers
|
|
input_boolean:
|
|
furbot_segment_dining_room:
|
|
name: Dining Room
|
|
icon: mdi:table-furniture
|
|
|
|
furbot_segment_kitchen:
|
|
name: Kitchen
|
|
icon: mdi:silverware
|
|
|
|
furbot_segment_laundry:
|
|
name: Laundry Room
|
|
icon: mdi:washing-machine
|
|
|
|
furbot_segment_entry:
|
|
name: Entry
|
|
icon: mdi:coat-rack
|
|
|
|
furbot_segment_office:
|
|
name: Office
|
|
icon: mdi:chair-rolling
|
|
|
|
furbot_segment_hallway:
|
|
name: Hallway
|
|
icon: mdi:shoe-print
|
|
|
|
furbot_segment_bathroom:
|
|
name: Bathroom
|
|
icon: mdi:shower
|
|
|
|
furbot_segment_bedroom:
|
|
name: Bedroom
|
|
icon: mdi:bed
|
|
|
|
furbot_segment_living_room:
|
|
name: Living Room
|
|
icon: mdi:television
|
|
|
|
furbot_segment_guest_room:
|
|
name: Guest Room
|
|
icon: mdi:account
|
|
|
|
homeassistant:
|
|
customize:
|
|
input_boolean.furbot_segment_bathroom:
|
|
segment_id: '1'
|
|
input_boolean.furbot_segment_bedroom:
|
|
segment_id: '2'
|
|
input_boolean.furbot_segment_guest_room:
|
|
segment_id: '3'
|
|
input_boolean.furbot_segment_office:
|
|
segment_id: '4'
|
|
input_boolean.furbot_segment_living_room:
|
|
segment_id: '5'
|
|
input_boolean.furbot_segment_laundry:
|
|
segment_id: '6'
|
|
input_boolean.furbot_segment_kitchen:
|
|
segment_id: '7'
|
|
input_boolean.furbot_segment_entry:
|
|
segment_id: '8'
|
|
input_boolean.furbot_segment_dining_room:
|
|
segment_id: '9'
|
|
input_boolean.furbot_segment_hallway:
|
|
segment_id: '10'
|
|
|
|
template:
|
|
|
|
# Consumable Helpers
|
|
sensor:
|
|
- name: Furbot Main Brush Life Pct
|
|
state_class: measurement
|
|
unit_of_measurement: "%"
|
|
state: "{{ ((states('sensor.valetudo_furbot_main_brush')|default(120)|float) / (states('input_number.furbot_main_brush_life_hours')|float * 60) * 100) | round | int }}"
|
|
|
|
- name: Furbot Right Brush Life Pct
|
|
state_class: measurement
|
|
unit_of_measurement: "%"
|
|
state: "{{ ((states('sensor.valetudo_furbot_right_brush')|default(120)|float) / (states('input_number.furbot_right_brush_life_hours')|float * 60) * 100) | round | int }}"
|
|
|
|
- name: Furbot Filter Life Pct
|
|
state_class: measurement
|
|
unit_of_measurement: "%"
|
|
state: "{{ ((states('sensor.valetudo_furbot_main_filter')|default(120)|float) / (states('input_number.furbot_filter_life_hours')|float * 60) * 100) | round | int }}"
|
|
|
|
- name: Furbot Sensor Cleaning Pct
|
|
state_class: measurement
|
|
unit_of_measurement: "%"
|
|
state: "{{ ((states('sensor.valetudo_furbot_sensor_cleaning')|default(120)|float) / (states('input_number.furbot_sensor_life_hours')|float * 60) * 100) | round | int }}"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Vacuum Scripts
|
|
script:
|
|
|
|
# Vacuum the bedroom (room ) only with high suction and two passes
|
|
furbot_deep_clean_bedroom:
|
|
alias: "Furbot: Deep Clean Bedroom"
|
|
sequence:
|
|
# Cache the fan setting and reset it when cleaning finishes
|
|
- service: input_text.set_value
|
|
target:
|
|
entity_id: input_text.furbot_last_fan_speed
|
|
data:
|
|
value: "{{ states('select.valetudo_furbot_fan') }}"
|
|
|
|
# Start Cleaning
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: valetudo/furbot/FanSpeedControlCapability/preset/set
|
|
payload: max
|
|
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: valetudo/furbot/MapSegmentationCapability/clean/set
|
|
payload: '{"segment_ids": ["2"], "iterations": 2}'
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Vacuum Automations
|
|
automation:
|
|
|
|
# Reset the Fan Speed when cleaning is complete (if cached)
|
|
- alias: "Furbot: Reset Fan Speed"
|
|
trigger:
|
|
- platform: state
|
|
entity_id: vacuum.valetudo_furbot
|
|
to: docked
|
|
condition: "{{ states('input_text.furbot_last_fan_speed') != '' }}"
|
|
action:
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: valetudo/furbot/FanSpeedControlCapability/preset/set
|
|
payload_template: "{{ states('input_text.furbot_last_fan_speed') }}"
|
|
|
|
- service: input_text.reload
|
|
target:
|
|
entity_id: input_text.furbot_last_fan_speed
|