Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up| ################################################################# | |
| ## Roomba Automations | |
| ################################################################# | |
| ########################################################## | |
| ## Pause Main Floor Roomba when Doorbell Rings | |
| ########################################################## | |
| - alias: Roomba - Pause Main Floor Roomba when Doorbell Rings | |
| id: 'roomba_pause_main_floor_roomba_when_doorbell_rings' | |
| trigger: | |
| - platform: state | |
| entity_id: binary_sensor.ring_front_door_ding | |
| from: 'off' | |
| to: 'on' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_doorbell | |
| state: 'off' | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'cleaning' | |
| action: | |
| - service: vacuum.pause | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| - service: homeassistant.turn_on | |
| entity_id: | |
| - input_boolean.main_floor_roomba_pause | |
| ########################################################## | |
| ## Resume Main Floor Roomba after Doorbell Rings | |
| ########################################################## | |
| - alias: Roomba - Resume Main Floor Roomba after Doorbell Rings | |
| id: 'roomba_resume_main_floor_roomba_after_doorbell_rings' | |
| trigger: | |
| - platform: state | |
| entity_id: binary_sensor.ring_front_door_ding | |
| from: 'on' | |
| to: 'off' | |
| for: | |
| hours: 0 | |
| minutes: 5 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_doorbell | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.main_floor_roomba_pause | |
| state: 'on' | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'paused' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| - service: homeassistant.turn_off | |
| entity_id: | |
| - input_boolean.main_floor_roomba_pause | |
| ########################################################## | |
| ## Run Main Floor Roomba when Away | |
| ########################################################## | |
| - alias: Roomba - Run Main Floor Roomba when Away | |
| id: 'roomba_run_main_floor_roomba_when_away' | |
| trigger: | |
| - platform: state | |
| entity_id: group.household | |
| from: 'home' | |
| to: 'not_home' | |
| for: | |
| hours: 0 | |
| minutes: 15 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_home_away | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.main_floor_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| after: '08:00:00' | |
| before: '23:59:00' | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.main_floor_roomba_battery_level | |
| above: 99 | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| ########################################################## | |
| ## Run Upstairs Roomba when Away | |
| ########################################################## | |
| - alias: Roomba - Run Upstairs Roomba when Away | |
| id: 'roomba_run_upstairs_roomba_when_away' | |
| trigger: | |
| - platform: state | |
| entity_id: group.household | |
| from: 'home' | |
| to: 'not_home' | |
| for: | |
| hours: 0 | |
| minutes: 15 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_home_away | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.upstairs_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| after: '08:00:00' | |
| before: '23:59:00' | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.upstairs_roomba_battery_level | |
| above: 99 | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.upstairs_roomba | |
| ########################################################## | |
| ## Shut Off Roombas when Home | |
| ########################################################## | |
| - alias: Roomba - Shut Off Roombas when Home | |
| id: 'roomba_shut_off_roombas_when_home' | |
| trigger: | |
| - platform: state | |
| entity_id: group.household | |
| from: 'not_home' | |
| to: 'home' | |
| for: | |
| hours: 0 | |
| minutes: 0 | |
| seconds: 45 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_home_away | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: or | |
| conditions: | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'cleaning' | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'cleaning' | |
| - condition: state | |
| entity_id: vacuum.basement_roomba | |
| state: 'cleaning' | |
| action: | |
| - service: vacuum.return_to_base | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| - vacuum.upstairs_roomba | |
| - vacuum.basement_roomba | |
| ########################################################## | |
| ## Run Main Floor Roomba Weekdays | |
| ########################################################## | |
| - alias: Roomba - Run Main Floor Roomba Weekdays | |
| id: 'roomba_run_main_floor_roomba_weekdays' | |
| trigger: | |
| - platform: time | |
| at: '10:00:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.main_floor_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.main_floor_roomba_battery_level | |
| above: 99 | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| ########################################################## | |
| ## Run Upstairs Roomba Weekdays when not Home | |
| ########################################################## | |
| - alias: Roomba - Run Upstairs Roomba Weekdays when not Home | |
| id: 'roomba_run_upstairs_roomba_weekdays_when_not_home' | |
| trigger: | |
| - platform: time | |
| at: '10:00:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.upstairs_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.upstairs_roomba_battery_level | |
| above: 99 | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.upstairs_roomba | |
| ########################################################## | |
| ## Run Main Floor Roomba Weekends | |
| ########################################################## | |
| - alias: Roomba - Run Main Floor Roomba Weekends | |
| id: 'roomba_run_main_floor_roomba_weekends' | |
| trigger: | |
| - platform: time | |
| at: '13:00:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.main_floor_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - sat | |
| - sun | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.main_floor_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: input_select.living_room_tv_remote | |
| state: 'PowerOff' | |
| - condition: state | |
| entity_id: binary_sensor.living_room_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.dining_room_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.kitchen_motion | |
| state: 'off' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: person.USER2 | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| ########################################################## | |
| ## Run Upstairs Roomba Weekday Mornings | |
| ########################################################## | |
| - alias: Roomba - Run Upstairs Roomba Weekday Mornings | |
| id: 'roomba_run_upstairs_roomba_weekday_mornings' | |
| trigger: | |
| - platform: time | |
| at: '07:00:00' | |
| - platform: time | |
| at: '07:30:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.upstairs_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.upstairs_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| - condition: state | |
| entity_id: binary_sensor.USER1s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.stairs_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.upstairs_bathroom_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: person.USER1 | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: person.USER2 | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.upstairs_roomba | |
| ########################################################## | |
| ## Run Upstairs Roomba Weekdays Evenings | |
| ########################################################## | |
| - alias: Roomba - Run Upstairs Roomba Weekdays Evenings | |
| id: 'roomba_run_upstairs_roomba_weekdays_evenings' | |
| trigger: | |
| - platform: time | |
| at: '18:00:00' | |
| - platform: time | |
| at: '18:30:00' | |
| - platform: time | |
| at: '19:00:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.upstairs_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.upstairs_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: binary_sensor.USER1s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.stairs_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.upstairs_bathroom_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2_office_occupancy | |
| state: 'off' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.upstairs_roomba | |
| ########################################################## | |
| ## Run Upstairs Roomba Weekends | |
| ########################################################## | |
| - alias: Roomba - Run Upstairs Roomba Weekends | |
| id: 'roomba_run_upstairs_roomba_weekends' | |
| trigger: | |
| - platform: time | |
| at: '16:00:00' | |
| - platform: time | |
| at: '16:30:00' | |
| - platform: time | |
| at: '17:00:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.upstairs_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - sat | |
| - sun | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.upstairs_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: binary_sensor.USER1s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.stairs_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.upstairs_bathroom_motion | |
| state: 'off' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: person.USER2 | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.upstairs_roomba | |
| ########################################################## | |
| ## Run Basement Roomba Weekdays | |
| ########################################################## | |
| - alias: Roomba - Run Basement Roomba Weekdays | |
| id: 'roomba_run_basement_roomba_weekdays' | |
| trigger: | |
| - platform: time | |
| at: '10:00:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.basement_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - wed | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.basement_roomba | |
| state: 'docked' | |
| - condition: state | |
| entity_id: binary_sensor.basement_drain_water_sensor_liquid_detected | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.basement_door_water_sensor | |
| state: 'off' | |
| - condition: numeric_state | |
| entity_id: sensor.basement_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: person.USER1 | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: sensor.washer | |
| state: 'on' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: sensor.dryer | |
| state: 'on' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.basement_roomba | |
| ########################################################## | |
| ## Turn On low lights at night for Main Floor Roomba | |
| ########################################################## | |
| - alias: Roomba - Turn On low lights at night for Main Floor Roomba | |
| id: 'roomba_turn_on_low_lights_at_night_for_main_floor_roomba' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'cleaning' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: sun | |
| after: sunset | |
| after_offset: "-00:90:00" | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: light.turn_on | |
| entity_id: | |
| - light.bedroom_ceiling | |
| - light.bedroom_closet_ceiling | |
| data: | |
| brightness_pct: 50 | |
| color_temp: 447 | |
| - service: light.turn_on | |
| entity_id: | |
| - light.living_room_accent_lights | |
| data: | |
| brightness_pct: 50 | |
| color_temp: 447 | |
| - service: light.turn_on | |
| entity_id: | |
| - light.dining_room_table | |
| - light.bathroom_lights | |
| - light.kitchen_sink | |
| - light.kitchen_cabinets | |
| - light.hallway_light | |
| - light.stairs_light | |
| data: | |
| brightness_pct: 25 | |
| - service: homeassistant.turn_on | |
| entity_id: | |
| - input_boolean.disable_occupancy | |
| ########################################################## | |
| ## Turn On Lights at Sunset if Main Floor Roomba Running | |
| ########################################################## | |
| - alias: Roomba - Turn On Lights at Sunset if Main Floor Roomba Running | |
| id: 'roomba_turn_on_lights_at_sunset_if_main_floor_roomba_running' | |
| trigger: | |
| - platform: sun | |
| event: 'sunset' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'cleaning' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: light.turn_on | |
| entity_id: | |
| - light.bedroom_closet_ceiling | |
| - light.bedroom_ceiling | |
| data: | |
| brightness_pct: 50 | |
| color_temp: 447 | |
| - service: light.turn_on | |
| entity_id: | |
| - light.living_room_accent_lights | |
| data: | |
| brightness_pct: 75 | |
| color_temp: 447 | |
| - service: light.turn_on | |
| entity_id: | |
| - light.dining_room_table | |
| - light.bathroom_lights | |
| - light.kitchen_sink | |
| - light.kitchen_cabinets | |
| - light.hallway_light | |
| - light.stairs_light | |
| data: | |
| brightness_pct: 25 | |
| - service: homeassistant.turn_on | |
| entity_id: | |
| - input_boolean.disable_occupancy | |
| ########################################################## | |
| ## Turn On low lights at night for Upstairs Roomba | |
| ########################################################## | |
| - alias: Roomba - Turn On low lights at night for Upstairs Roomba | |
| id: 'roomba_turn_on_low_lights_at_night_for_upstairs_roomba' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'cleaning' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: sun | |
| after: sunset | |
| after_offset: "-00:90:00" | |
| action: | |
| - service: light.turn_on | |
| entity_id: | |
| - light.USER1_s_office_ceiling | |
| - light.USER2_s_office_ceiling | |
| - light.guest_bedroom_ceiling | |
| - light.stairs_light | |
| - light.upstairs_bathroom_vanity | |
| data: | |
| brightness_pct: 35 | |
| ########################################################## | |
| ## Turn On low lights morning for Upstairs Roomba | |
| ########################################################## | |
| - alias: Roomba - Turn On low lights morning for Upstairs Roomba | |
| id: 'roomba_turn_on_low_lights_morning_for_upstairs_roomba' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'cleaning' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: time | |
| after: '07:00:00' | |
| before: '08:00:00' | |
| action: | |
| - service: light.turn_on | |
| entity_id: | |
| - light.USER1_s_office_ceiling | |
| - light.USER2_s_office_ceiling | |
| - light.guest_bedroom_ceiling | |
| - light.stairs_light | |
| - light.upstairs_bathroom_vanity | |
| data: | |
| brightness_pct: 35 | |
| ########################################################## | |
| ## Turn On Lights at Sunrise if Upstairs Roomba Running | |
| ########################################################## | |
| - alias: Roomba - Turn On Lights at Sunrise if Upstairs Roomba Running | |
| id: 'roomba_turn_on_lights_at_sunrise_if_upstairs_roomba_running' | |
| trigger: | |
| - platform: sun | |
| event: 'sunrise' | |
| offset: '+00:45:00' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'cleaning' | |
| - condition: time | |
| after: '07:00:00' | |
| before: '08:30:00' | |
| action: | |
| - service: light.turn_on | |
| entity_id: | |
| - light.USER1_s_office_ceiling | |
| - light.USER2_s_office_ceiling | |
| - light.guest_bedroom_ceiling | |
| - light.stairs_light | |
| - light.upstairs_bathroom_vanity | |
| data: | |
| brightness_pct: 35 | |
| ########################################################## | |
| ## Turn On Lights at Sunset if Upstairs Roomba Running | |
| ########################################################## | |
| - alias: Roomba - Turn On Lights at Sunset if Upstairs Roomba Running | |
| id: 'roomba_turn_on_lights_at_sunset_if_upstairs_roomba_running' | |
| trigger: | |
| - platform: sun | |
| event: 'sunset' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'cleaning' | |
| action: | |
| - service: light.turn_on | |
| entity_id: | |
| - light.USER1_s_office_ceiling | |
| - light.USER2_s_office_ceiling | |
| - light.guest_bedroom_ceiling | |
| - light.stairs_light | |
| - light.upstairs_bathroom_vanity | |
| data: | |
| brightness_pct: 35 | |
| - service: homeassistant.turn_on | |
| entity_id: | |
| - input_boolean.disable_occupancy | |
| ########################################################## | |
| ## Turn On lights for Basement Roomba | |
| ########################################################## | |
| - alias: Roomba - Turn On lights for Basement Roomba | |
| id: 'roomba_turn_on_lights_for_basement_roomba' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.basement_roomba | |
| to: 'cleaning' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: light.turn_on | |
| entity_id: | |
| - light.basement_lighting | |
| data: | |
| brightness_pct: 100 | |
| ########################################################## | |
| ## Turn Off lights when Basement Roomba finished | |
| ########################################################## | |
| - alias: Roomba - Turn Off lights when Basement Roomba finished | |
| id: 'roomba_turn_off_lights_when_basement_roomba_finished' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.basement_roomba | |
| to: 'docked' | |
| for: | |
| hours: 0 | |
| minutes: 5 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.basement_roomba | |
| to: 'paused' | |
| for: | |
| hours: 0 | |
| minutes: 5 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.basement_motion | |
| state: 'off' | |
| action: | |
| - service: light.turn_off | |
| entity_id: | |
| - light.basement_lighting | |
| ########################################################## | |
| ## Turn Off lights at night when Main Floor Roomba finished | |
| ########################################################## | |
| - alias: Roomba - Turn Off lights at night when Main Floor Roomba finished | |
| id: 'roomba_turn_off_lights_at_night_when_main_floor_roomba_finished' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'docked' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'paused' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'stopped' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: sun | |
| after: sunset | |
| after_offset: "-00:90:00" | |
| - condition: state | |
| entity_id: group.interior_lights | |
| state: 'on' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| action: | |
| - service: light.turn_off | |
| entity_id: | |
| - group.interior_lights | |
| ########################################################## | |
| ## Turn Off lights at night when Upstairs Roomba finished when Home | |
| ########################################################## | |
| - alias: Roomba - Turn Off lights at night when Upstairs Roomba finished when Home | |
| id: 'roomba_turn_off_lights_at_night_when_upstairs_roomba_finished_when_home' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'docked' | |
| for: | |
| hours: 0 | |
| minutes: 4 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'paused' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'stopped' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: sun | |
| after: sunset | |
| after_offset: "-00:90:00" | |
| - condition: state | |
| entity_id: binary_sensor.USER1s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.upstairs_bathroom_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.stairs_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| action: | |
| - service: light.turn_off | |
| entity_id: | |
| - light.USER1_office_lights | |
| - light.USER2_office_lights | |
| - light.guest_bedroom_lights | |
| - light.stairs_light | |
| - light.upstairs_bathroom_lights | |
| ########################################################## | |
| ## Turn Off lights Morning when Upstairs Roomba finished when Home | |
| ########################################################## | |
| - alias: Roomba - Turn Off lights Morning when Upstairs Roomba finished when Home | |
| id: 'roomba_turn_off_lighst_morning_when_upstairs_roomba_finished_when_home' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'docked' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'paused' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'stopped' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER1s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.upstairs_bathroom_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.stairs_motion | |
| state: 'off' | |
| - condition: time | |
| after: '07:00:00' | |
| before: '09:00:00' | |
| action: | |
| - service: light.turn_off | |
| entity_id: | |
| - light.USER1_office_lights | |
| - light.USER2_office_lights | |
| - light.guest_bedroom_lights | |
| - light.stairs_light | |
| - light.upstairs_bathroom_lights | |
| ########################################################## | |
| ## Turn Off lights at night when Upstairs Roomba finished when not Home | |
| ########################################################## | |
| - alias: Roomba - Turn Off lights at night when Upstairs Roomba finished when not Home | |
| id: 'roomba_turn_off_lights_at_night_when_upstairs_roomba_finished_when_not_home' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'docked' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'paused' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'stopped' | |
| for: | |
| hours: 0 | |
| minutes: 2 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: sun | |
| after: sunset | |
| after_offset: "-00:90:00" | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| action: | |
| - service: light.turn_off | |
| entity_id: | |
| - light.USER1_s_office_ceiling | |
| - light.USER2_s_office_ceiling | |
| - light.guest_bedroom_ceiling | |
| - light.stairs_light | |
| - light.upstairs_bathroom_vanity | |
| ########################################################## | |
| ## Enable Occupancy Automations when Roomba finished | |
| ########################################################## | |
| - alias: Roomba - Enable Occupancy Automations when Roomba finished | |
| id: 'roomba_enable_occupancy_automations_when_roomba_finished' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'docked' | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'paused' | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'stopped' | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'docked' | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'paused' | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'stopped' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: homeassistant.turn_off | |
| entity_id: | |
| - input_boolean.disable_occupancy | |
| ########################################################## | |
| ## Run Main Floor Roomba when USER2 Leaves | |
| ########################################################## | |
| - alias: Roomba - Run Main Floor Roomba when USER2 Leaves | |
| id: 'roomba_run_main_floor_roomba_when_USER2_leaves' | |
| trigger: | |
| - platform: state | |
| entity_id: person.USER2 | |
| from: 'home' | |
| to: 'not_home' | |
| for: | |
| hours: 0 | |
| minutes: 5 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_home_away | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.main_floor_roomba_ran | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: time | |
| after: '10:01:00' | |
| before: '18:00:00' | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.main_floor_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: input_boolean.USER1_away | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: vacuum.start | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| ########################################################## | |
| ## Turn Off Roomba when USER2 Home | |
| ########################################################## | |
| - alias: Roomba - Turn Off Roomba when USER2 Home | |
| id: 'roomba_turn_off_roomba_when_USER2_home' | |
| trigger: | |
| - platform: state | |
| entity_id: person.USER2 | |
| from: 'not_home' | |
| to: 'home' | |
| for: | |
| hours: 0 | |
| minutes: 0 | |
| seconds: 45 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_home_away | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: time | |
| after: '10:01:00' | |
| before: '18:30:00' | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'cleaning' | |
| - condition: state | |
| entity_id: input_boolean.USER1_away | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.USER2_away | |
| state: 'on' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| action: | |
| - service: vacuum.return_to_base | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| ########################################################## | |
| ## Turn Off Roomba when Friends and Family Arrive | |
| ########################################################## | |
| - alias: Roomba - Turn Off Roomba when Friends and Family Arrive | |
| id: 'roomba_turn_off_roomba_when_frinds_and_family_arrive' | |
| trigger: | |
| - platform: state | |
| entity_id: group.friends_and_family | |
| from: 'not_home' | |
| to: 'home' | |
| for: | |
| hours: 0 | |
| minutes: 0 | |
| seconds: 90 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_home_away | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: or | |
| conditions: | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'cleaning' | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'cleaning' | |
| - condition: state | |
| entity_id: vacuum.basement_roomba | |
| state: 'cleaning' | |
| action: | |
| - service: vacuum.return_to_base | |
| entity_id: | |
| - vacuum.main_floor_roomba | |
| - vacuum.upstairs_roomba | |
| - vacuum.basement_roomba | |
| ########################################################## | |
| ## Set Upstairs Roomba has Ran for the Day | |
| ########################################################## | |
| - alias: Roomba - Set Upstairs Roomba has Ran for the Day | |
| id: 'roomba_set_upstairs_roomba_has_ran_for_the_day' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.upstairs_roomba | |
| to: 'cleaning' | |
| for: | |
| hours: 0 | |
| minutes: 35 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: homeassistant.turn_on | |
| entity_id: | |
| - input_boolean.upstairs_roomba_ran | |
| ########################################################## | |
| ## Set Main Floor Roomba has Ran for the Day | |
| ########################################################## | |
| - alias: Roomba - Set Main Floor Roomba has Ran for the Day | |
| id: 'roomba_set_main_floor_roomba_has_ran_for_the_day' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.main_floor_roomba | |
| to: 'cleaning' | |
| for: | |
| hours: 1 | |
| minutes: 0 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: homeassistant.turn_on | |
| entity_id: | |
| - input_boolean.main_floor_roomba_ran | |
| ########################################################## | |
| ## Set Basement Roomba has Ran for the Day | |
| ########################################################## | |
| - alias: Roomba - Set Basement Roomba has Ran for the Day | |
| id: 'roomba_set_basement_roomba_has_ran_for_the_day' | |
| trigger: | |
| - platform: state | |
| entity_id: vacuum.basement_roomba | |
| to: 'cleaning' | |
| for: | |
| hours: 1 | |
| minutes: 0 | |
| seconds: 0 | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: homeassistant.turn_on | |
| entity_id: | |
| - input_boolean.basement_roomba_ran | |
| ########################################################## | |
| ## Reset Roomba has ran for the day | |
| ########################################################## | |
| - alias: Roomba - Reset Roomba has ran for the day | |
| id: 'roomba_reset_roomba_has_ran_for_the_day' | |
| trigger: | |
| - platform: time | |
| at: '00:01:00' | |
| action: | |
| - service: homeassistant.turn_off | |
| entity_id: | |
| - input_boolean.main_floor_roomba_ran | |
| - input_boolean.upstairs_roomba_ran | |
| - input_boolean.basement_roomba_ran | |
| ################################################################# | |
| ## Notifications | |
| ################################################################# | |
| ########################################################## | |
| ## Main Floor Roomba is Stuck iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Main Floor Stuck iOS Notification | |
| id: 'roomba_main_floor_stuck_ios_notification' | |
| trigger: | |
| - platform: template | |
| value_template: "{%if is_state_attr('vacuum.main_floor_roomba', 'status', 'Stuck') %}true{%endif%}" | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: notify.mobile_app_USER1s_iphone | |
| data: | |
| message: Main Floor Roomba is Stuck, Please Help | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'main-floor-roomba-stuck' | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Main Floor Roomba is Stuck, Please Help | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'main-floor-roomba-stuck' | |
| ########################################################## | |
| ## Upstairs Roomba is Stuck iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Upstairs Stuck iOS Notification | |
| id: 'roomba_upstairs_stuck_ios_notification' | |
| trigger: | |
| - platform: template | |
| value_template: "{%if is_state_attr('vacuum.upstairs_roomba', 'status', 'Stuck') %}true{%endif%}" | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: notify.mobile_app_USER1s_iphone | |
| data: | |
| message: Upstairs Roomba is Stuck, Please Help | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'upstairs-roomba-stuck' | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Upstairs Roomba is Stuck, Please Help | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'upstairs-roomba-stuck' | |
| ########################################################## | |
| ## Basement Roomba is Stuck iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Basement Stuck iOS Notification | |
| id: 'roomba_basement_stuck_ios_notification' | |
| trigger: | |
| - platform: template | |
| value_template: "{%if is_state_attr('vacuum.basement_roomba', 'status', 'Stuck') %}true{%endif%}" | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: notify.mobile_app_USER1s_iphone | |
| data: | |
| message: Basement Roomba is Stuck, Please Help | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'basement-roomba-stuck' | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Basement Roomba is Stuck, Please Help | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'basement-roomba-stuck' | |
| ########################################################## | |
| ## Main Floor Roomba is Full iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Main Floor Full iOS Notification | |
| id: 'roomba_main_floor_full_ios_notification' | |
| trigger: | |
| - platform: state | |
| entity_id: binary_sensor.main_floor_roomba_bin_full | |
| to: 'True' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: notify.mobile_app_USER1s_iphone | |
| data: | |
| message: Main Floor Roomba is Full, Empty It | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'main-floor-roomba-full' | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Main Floor Roomba is Full, Empty It | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'main-floor-roomba-full' | |
| ########################################################## | |
| ## Upstairs Roomba is Full iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Upstairs Full iOS Notification | |
| id: 'roomba_upstairs_full_ios_notification' | |
| trigger: | |
| - platform: state | |
| entity_id: binary_sensor.upstairs_roomba_bin_full | |
| to: 'True' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: notify.mobile_app_USER1s_iphone | |
| data: | |
| message: Upstairs Roomba is Full, Empty It | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'upstairs-roomba-full' | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Upstairs Roomba is Full, Empty It | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'upstairs-roomba-full' | |
| ########################################################## | |
| ## Basement Roomba is Full iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Basement Full iOS Notification | |
| id: 'roomba_basement_full_ios_notification' | |
| trigger: | |
| - platform: state | |
| entity_id: binary_sensor.basement_roomba_bin_full | |
| to: 'True' | |
| condition: | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| action: | |
| - service: notify.mobile_app_USER1s_iphone | |
| data: | |
| message: Basement Roomba is Full, Empty It | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'basement-roomba-full' | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Basement Roomba is Full, Empty It | |
| data: | |
| apns_headers: | |
| 'apns-collapse-id': 'basement-roomba-full' | |
| ################################################################# | |
| ## Temp Notifications for Quarantine | |
| ################################################################# | |
| ########################################################## | |
| ## Main Floor Roomba Weekdays iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Main Floor Roomba Weekdays iOS Notification | |
| id: 'roomba_mainfloor_roomba_weekdays_ios_notifications' | |
| trigger: | |
| - platform: time | |
| at: '09:55:00' | |
| condition: | |
| - condition: state | |
| entity_id: person.USER2 | |
| state: 'home' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.main_floor_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.main_floor_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.main_floor_roomba_battery_level | |
| above: 99 | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Main Floor Roomba will Run in 5 Mins | |
| ########################################################## | |
| ## Upstairs Roomba Weekdays iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Upstairs Roomba Weekdays iOS Notification | |
| id: 'roomba_upstairs_roomba_weekdays_ios_notification' | |
| trigger: | |
| - platform: time | |
| at: '17:55:00' | |
| - platform: time | |
| at: '18:25:00' | |
| - platform: time | |
| at: '18:55:00' | |
| condition: | |
| - condition: state | |
| entity_id: person.USER2 | |
| state: 'home' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.upstairs_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - tue | |
| - wed | |
| - thu | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.upstairs_roomba | |
| state: 'docked' | |
| - condition: numeric_state | |
| entity_id: sensor.upstairs_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: group.household | |
| state: 'home' | |
| - condition: state | |
| entity_id: binary_sensor.USER1s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2s_office_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.stairs_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.upstairs_bathroom_motion | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.USER2_office_occupancy | |
| state: 'off' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Upstairs Roomba will Run in 5 Mins | |
| ########################################################## | |
| ## Basement Roomba Weekdays iOS Notification | |
| ########################################################## | |
| - alias: Roomba - Basement Roomba Weekdays iOS Notification | |
| id: 'roomba_basement_roomba_weekday_ios_notification' | |
| trigger: | |
| - platform: time | |
| at: '09:55:00' | |
| condition: | |
| - condition: state | |
| entity_id: person.USER2 | |
| state: 'home' | |
| - condition: state | |
| entity_id: input_boolean.disable_roomba | |
| state: 'off' | |
| - condition: state | |
| entity_id: input_boolean.basement_roomba_ran | |
| state: 'off' | |
| - condition: time | |
| weekday: | |
| - mon | |
| - wed | |
| - fri | |
| - condition: state | |
| entity_id: vacuum.basement_roomba | |
| state: 'docked' | |
| - condition: state | |
| entity_id: binary_sensor.basement_drain_water_sensor_liquid_detected | |
| state: 'off' | |
| - condition: state | |
| entity_id: binary_sensor.basement_door_water_sensor | |
| state: 'off' | |
| - condition: numeric_state | |
| entity_id: sensor.basement_roomba_battery_level | |
| above: 99 | |
| - condition: state | |
| entity_id: person.USER1 | |
| state: 'home' | |
| - condition: not | |
| conditions: | |
| - condition: state | |
| entity_id: group.friends_and_family | |
| state: 'home' | |
| action: | |
| - service: notify.mobile_app_USER2_s_iphone | |
| data: | |
| message: Basement Roomba will Run in 5 Mins |