Files
home-assistant/packages/vacuum/vacuum.yaml
2023-10-18 09:56:37 -07:00

109 lines
3.3 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: ""
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