AutomationDataset/ngocjohn/ngocjohn_automations.yaml

1611 lines
45 KiB
YAML

- id: '1668864895588'
alias: Main Door Open
description: ''
trigger:
- platform: event
event_type: ios.action_fired
event_data:
actionName: Main Door Open
condition: []
action:
- service: lock.open
data: {}
target:
entity_id: lock.nuki_vchod_lock
mode: single
- id: '1677334681247'
alias: Dock lock state
description: ''
trigger:
- platform: state
entity_id:
- binary_sensor.nuki_neklanka_byt_locked
from:
- 'on'
- 'off'
to:
- 'on'
- 'off'
action:
- service: input_boolean.toggle
data: {}
target:
entity_id: input_boolean.door_lock
mode: parallel
- id: '1681905795903'
alias: camera snapshot
description: ''
triggers:
- at: 05:00:00
id: delete
trigger: time
- hours: /1
trigger: time_pattern
conditions:
- condition: time
after: 05:00:00
before: 00:00:00
actions:
- if:
- condition: trigger
id: delete
then:
- data:
folder: /config/www/tmp/snapshots/
time: 0
only_extensions:
- .png
- .jpg
action: delete.files_in_folder
- data:
folder: /config/www/tmp/kids/
time: 0
only_extensions:
- .png
- .jpg
action: delete.files_in_folder
- parallel:
- action: button.press
metadata: {}
data: {}
target:
entity_id: button.kids_room_start_rtsp_stream
- data: {}
target:
entity_id:
- camera.doorway
- camera.terasa
- camera.zahrada
action: camera.turn_on
- condition: state
entity_id: camera.doorway
state: streaming
for:
hours: 0
minutes: 0
seconds: 3
- condition: state
entity_id: camera.terasa
state: streaming
for:
hours: 0
minutes: 0
seconds: 3
- condition: state
entity_id: camera.kids_room
state: streaming
for:
hours: 0
minutes: 0
seconds: 3
- condition: state
entity_id: camera.zahrada
state: streaming
for:
hours: 0
minutes: 0
seconds: 3
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- parallel:
- data:
filename: /config/www/tmp/snapshots/camera.doorway{{ now().strftime("%Y%m%d-%H%M%S")
}}.jpg
target:
entity_id: camera.doorway
action: camera.snapshot
- data:
filename: /config/www/tmp/snapshots/camera.kids_room{{ now().strftime("%Y%m%d-%H%M%S")
}}.jpg
target:
entity_id: camera.kids_room
action: camera.snapshot
- data:
filename: /config/www/tmp/snapshots/camera.terasa{{ now().strftime("%Y%m%d-%H%M%S")
}}.jpg
target:
entity_id: camera.terasa
action: camera.snapshot
- data:
filename: /config/www/tmp/snapshots/camera.zahrada{{ now().strftime("%Y%m%d-%H%M%S")
}}.jpg
target:
entity_id: camera.zahrada
action: camera.snapshot
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- parallel:
- data:
filename: /config/www/tmp/camera.doorway-latest.jpg
target:
entity_id: camera.doorway
action: camera.snapshot
- data:
filename: /config/www/tmp/kids/camera.kids_room-latest{{now().strftime("%Y%m%d%H%M%S")}}.jpg
target:
entity_id: camera.kids_room
action: camera.snapshot
- action: input_text.set_value
metadata: {}
data:
value: kids_room-latest{{now().strftime("%Y%m%d%H%M%S")}}.jpg
target:
entity_id: input_text.kids_camera_snapshot
- data:
filename: /config/www/tmp/camera.terasa-latest.jpg
target:
entity_id: camera.terasa
action: camera.snapshot
- data:
filename: /config/www/tmp/camera.zahrada-latest.jpg
target:
entity_id: camera.zahrada
action: camera.snapshot
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- data: {}
target:
entity_id:
- camera.doorway
- camera.terasa
- camera.zahrada
action: camera.turn_off
- action: button.press
metadata: {}
data: {}
target:
entity_id: button.kids_room_stop_rtsp_stream
mode: single
- id: '1683903230879'
alias: Bedroom Cover Night
description: ''
trigger:
- platform: sun
event: sunset
offset: 00:30:00
condition: []
action:
- service: cover.close_cover
data: {}
target:
area_id: bedroom
mode: single
- id: '1684613417245'
alias: Cover Night Mode
description: ''
trigger: []
condition: []
action:
- service: cover.close_cover
data: {}
target:
entity_id:
- cover.bedroom_shutters
- cover.living_room_cover
mode: single
- id: '1688809817206'
alias: Guest Mode notify
description: ''
trigger:
- platform: zone
entity_id: person.viet_ngoc
zone: zone.home
event: leave
condition:
- condition: state
entity_id: input_boolean.guest_mode
state: 'on'
action:
- alias: Set up variables for the actions
variables:
action_yes: '{{ ''YES_'' ~ context.id }}'
action_no: '{{ ''NO_'' ~ context.id }}'
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- alias: Ask to stop or no guest mode
service: notify.mobile_app_viet_ngoc
data:
message: Do you want to stop this?
data:
actions:
- action: '{{ action_yes }}'
title: 'YES'
- action: '{{ action_no }}'
title: 'NO'
title: Guest mode
- alias: Wait for a response
wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: '{{ action_yes }}'
- platform: event
event_type: mobile_app_notification_action
event_data:
action: '{{ action_no }}'
- alias: Perform the action
choose:
- conditions: '{{ wait.trigger.event.data.action == action_yes }}'
sequence:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.guest_mode
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
for:
hours: 0
minutes: 0
seconds: 2
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.leaving_home
- conditions: '{{ wait.trigger.event.data.action == action_no }}'
sequence:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.guest_mode
enabled: false
- stop: ''
mode: single
- id: '1688940697804'
alias: Alarm
description: ''
triggers:
- entity_id:
- script.homepod_alarm
for:
hours: 0
minutes: 0
seconds: 5
enabled: true
to: 'on'
trigger: state
conditions: []
actions:
- alias: Set up variables for the actions
variables:
action_stop: '{{ ''STOP_'' ~ context.id }}'
- delay:
hours: 0
minutes: 0
seconds: 3
milliseconds: 0
- alias: Ask to close or open the blinds
data:
message: Do you want to stop this?
data:
push:
sound:
name: findmy.wav
critical: 1
volume: 1
actions:
- action: '{{ action_stop }}'
title: Stop alarm
title: Alarm Clock
action: notify.mobile_app_viet_ngoc
- alias: Wait for a response
wait_for_trigger:
- event_type: mobile_app_notification_action
event_data:
action: '{{ action_stop }}'
trigger: event
- alias: Perform the action
choose:
- conditions:
- condition: template
value_template: '{{ wait.trigger.event.data.action == action_stop }}'
sequence:
- data: {}
action: media_player.media_pause
target:
entity_id: media_player.bedroom
- action: media_player.turn_off
metadata: {}
data: {}
target:
entity_id: media_player.bedroom
mode: single
- id: '1693488019712'
alias: Nuki Vchod Open
description: ''
trigger:
- platform: state
entity_id:
- input_button.nuki_vchod
condition: []
action:
- service: lock.open
data: {}
target:
entity_id: lock.nuki_vchod_lock
mode: single
- id: '1694516012171'
alias: Only update vaze information every 20 minutes when I'm home
description: ''
triggers:
- minutes: /20
id: 20min
trigger: time_pattern
conditions:
- condition: state
entity_id: device_tracker.viet_ngoc_samsung
state: not_home
actions:
- data:
entity_id:
- device_tracker.viet_ngoc_samsung
- sensor.waze_ngoc_home
action: homeassistant.update_entity
- id: '1694721012171'
alias: Spotify Vibrant Color
description: ''
trigger:
- platform: state
entity_id:
- sensor.vibrant_color
condition:
- condition: and
conditions:
- condition: state
entity_id: light.office_led_light_strip
state: 'on'
- condition: or
conditions:
- condition: device
device_id: d8496daf7e926630a7431da013a83590
domain: media_player
entity_id: 952057f8ccc2766d1d825168186a225a
type: is_playing
- condition: state
entity_id: media_player.mass_universal_airplay
state: playing
action:
- service: light.turn_on
data:
transition: 5
rgb_color: '{{states(''sensor.vibrant_color'')}}'
target:
entity_id: light.office_led_light_strip
mode: single
- id: '1695149693530'
alias: Notify HA started
description: ''
triggers:
- event: start
trigger: homeassistant
enabled: true
conditions: []
actions:
- data:
message: Home assistant started
data:
tag: hastarted
action: notify.mobile_app_viet_ngoc_samsung
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- data:
message: clear_notification
data:
tag: hastarted
action: notify.mobile_app_viet_ngoc_samsung
- action: readme.generate
data: {}
mode: single
- id: '1695935011647'
alias: dismiss_lovelace_updated
description: ''
triggers:
- event_type: lovelace_updated
trigger: event
conditions: []
actions:
- target:
entity_id: sensor.code_line_count
data: {}
action: homeassistant.update_entity
- parallel:
- repeat:
count: 3
sequence:
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- data:
duration: 1
message: ' '
target:
device_id:
- 44ebbefcd0dad5b66b4d90ff566c1030
action: browser_mod.notification
- data:
duration: 1
message: ' '
target:
device_id:
- e5211b8956d56a9d80b84665dfb8e957
action: browser_mod.notification
- data:
duration: 1
message: ' '
target:
device_id:
- 4f43e0dc2e03b71c2e137f9696a04a2c
action: browser_mod.notification
mode: restart
- id: '1696553366478'
alias: 'Dishwasher Set Timer '
description: ''
triggers:
- entity_id:
- sensor.mycka_nadobi_operation_state
to: run
trigger: state
conditions:
- condition: or
conditions:
- condition: not
conditions:
- condition: state
entity_id: sensor.mycka_nadobi_remaining_program_time
state: unknown
- condition: not
conditions:
- condition: state
entity_id: sensor.mycka_nadobi_remaining_program_time
state: unavailable
actions:
- action: timer.set_duration
metadata: {}
data:
duration: '{% set seconds = (as_timestamp(states(''sensor.mycka_nadobi_remaining_program_time''))
- as_timestamp(now())) | int %} {% set hours = (seconds // 3600) %} {% set
minutes = (seconds % 3600) // 60 %} {% set secs = seconds % 60 %} {{ ''%02d:%02d:%02d''
| format(hours, minutes, secs) }}'
target:
entity_id: timer.dishwasher_remaining
initial_state: true
mode: restart
- id: 34ba1897-ec7a-4cb3-a12b-fb0a1e9e495e
alias: vacuum_start_cleaning
mode: queued
trigger:
- platform: state
entity_id: sensor.vacuum_status
from: '9'
to: '4'
- platform: state
entity_id: sensor.vacuum_status
from: '6'
to: '4'
action:
service: script.vacuum_notify
data:
title: Little messy there
message: The vacuum cleaner started cleaning!
- id: 2dedd749-b65a-49e0-8747-2dce6dd995a4
alias: vacuum_show_error
trigger:
- platform: state
entity_id:
- sensor.vacuum_fault
from: No Faults
condition:
- condition: template
value_template: '{% if is_state_attr(''vacuum.roidmi_eve'',''vacuum.fault'',0)
or is_state_attr(''vacuum.roidmi_eve'',''vacuum.fault'',None) %}False{% else
%}True{% endif %}'
enabled: true
action:
- service: script.vacuum_notify
data:
title: Something is wrong with robot
message: '{{states(''sensor.vacuum_fault'')}}.'
mode: queued
- id: '1700514428812'
alias: Notify HA System usage
description: Memory or CPU leak
triggers:
- entity_id:
- sensor.ha_system_memory_usage
- sensor.ha_system_cpu_usage
for:
hours: 0
minutes: 7
seconds: 0
above: 70
trigger: numeric_state
conditions: []
actions:
- parallel:
- data:
message: Memory {{ states.sensor.ha_system_memory_usage.state }}% - CPU {{
states.sensor.ha_system_cpu_usage.state }}%
title: System
action: notify.ngoc_devices
mode: single
- id: '1701556784590'
alias: Update YouTube Sensor
description: ''
triggers:
- entity_id:
- media_player.living_room_tv
attribute: media_title
trigger: state
id: title_change
for:
hours: 0
minutes: 0
seconds: 2
- entity_id:
- media_player.living_room_tv
trigger: state
id: state_changed
for:
hours: 0
minutes: 0
seconds: 2
from: null
to: playing
- entity_id:
- media_player.living_room_tv
trigger: state
id: state_changed
for:
hours: 0
minutes: 0
seconds: 2
attribute: app_id
to: com.google.ios.youtube
- entity_id:
- media_player.living_room_tv
trigger: state
id: reset_title
attribute: app_id
from: com.google.ios.youtube
enabled: true
to: null
conditions: []
actions:
- choose:
- conditions:
- condition: and
conditions:
- condition: trigger
id:
- title_change
- state_changed
- condition: or
conditions:
- condition: template
value_template: "{% if state_attr('media_player.living_room_tv', 'media_title')\
\ != None %} \n{{ is_state_attr('media_player.living_room_tv', 'app_id',\
\ 'com.google.ios.youtube') and state_attr('media_player.living_room_tv',\
\ 'media_title') != state_attr('sensor.youtube_thumbnail', 'title')\
\ }}\n{% endif %}"
sequence:
- event: youtube_update
event_data: {}
- conditions:
- condition: trigger
id:
- reset_title
sequence:
- event: youtube_reset
event_data: {}
max_exceeded: silent
mode: single
- id: '1702444277863'
alias: 'Event_Unifi Archive Alert '
description: ''
trigger:
- platform: state
entity_id:
- input_button.unifi_archive_alerts
condition: []
action:
- event: archive_alerts
event_data: {}
mode: single
- id: '1706827614119'
alias: kodi_lib_scan
description: ''
trigger:
- platform: state
entity_id:
- input_button.kodi_lib_scan
to: null
condition: []
action:
- event: kodi_library_scan
event_data: {}
- event: fetch_upcoming_movies
event_data: {}
- event: kodi_video_scan
event_data: {}
mode: single
- id: '1715819993809'
alias: Kodi Update Picture Sensor
description: ''
trigger:
- platform: state
entity_id:
- media_player.kodi_atv
attribute: media_title
condition: []
action:
- service: kodi.call_method
target:
entity_id: media_player.kodi_atv
data:
method: Player.GetItem
playerid: 0
properties:
- title
- art
mode: single
- id: '1716484682108'
alias: Vacum Set Property
description: Set Roidmi Vacuum sensors value
trigger:
- platform: state
entity_id: vacuum.roidmi_eve
- platform: state
entity_id: input_boolean.vacuum_led_switch
id: led_switch
- platform: state
entity_id: input_boolean.vacuum_lidar_collision
id: lidar_collision
- platform: state
entity_id: input_boolean.vacuum_auto_boost
id: auto_boost
- platform: state
entity_id: input_number.vacuum_volume
id: volume
- platform: state
entity_id: input_boolean.vacuum_double_clean
id: double_clean
- platform: state
entity_id: input_boolean.vacuum_edge_sweep
id: edge_sweep
- platform: state
entity_id: input_select.vacuum_water_level
id: water_level
- platform: state
entity_id: input_boolean.vacuum_station_key
id: station_key
- platform: state
entity_id: input_boolean.vacuum_station_led
id: station_led
- platform: state
entity_id: input_boolean.vacuum_mute
id: mute
- platform: state
entity_id: input_select.vacuum_work_station_freq
id: work_station_freq
- platform: state
entity_id: input_select.vacuum_mode
id: vacuum_mode
- platform: state
entity_id: input_select.vacuum_sweep_type
id: vacuum_sweep_type
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: led_switch
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 22
value: '{{ 0 if is_state(''input_boolean.vacuum_led_switch'', ''off'') else
1 }}'
- conditions:
- condition: trigger
id: lidar_collision
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 23
value: '{{ 0 if is_state(''input_boolean.vacuum_lidar_collision'', ''off'')
else 1 }}'
- conditions:
- condition: trigger
id: auto_boost
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 9
value: '{{ 0 if is_state(''input_boolean.vacuum_auto_boost'', ''off'') else
1 }}'
- conditions:
- condition: trigger
id: volume
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 9
piid: 1
value: '{{states(''input_number.vacuum_volume'')|round(0)}}'
- conditions:
- condition: trigger
id: double_clean
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 20
value: '{{ 0 if is_state(''input_boolean.vacuum_double_clean'', ''off'')
else 1 }}'
- conditions:
- condition: trigger
id: edge_sweep
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 13
piid: 8
value: '{{ 0 if is_state(''input_boolean.vacuum_edge_sweep'', ''off'') else
1 }}'
- conditions:
- condition: trigger
id: water_level
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 11
value: "{%- if is_state(\"input_select.vacuum_water_level\", \"No water\"\
) -%}\n 0\n{%- elif is_state(\"input_select.vacuum_water_level\", \"\
Small\") -%}\n 1\n{%- elif is_state(\"input_select.vacuum_water_level\"\
, \"Middle\") -%}\n 2\n{%- elif is_state(\"input_select.vacuum_water_level\"\
, \"MAX\") -%}\n 3\n{% else %} {% endif %}\n"
- conditions:
- condition: trigger
id: station_key
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 24
value: '{{ 0 if is_state(''input_boolean.vacuum_station_key'', ''off'')
else 1 }}'
- conditions:
- condition: trigger
id: station_led
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 25
value: '{{ 0 if is_state(''input_boolean.vacuum_station_led'', ''off'')
else 1 }}'
- conditions:
- condition: trigger
id: mute
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 9
piid: 2
value: '{{ 0 if is_state(''input_boolean.vacuum_mute'', ''off'') else 1
}}'
- conditions:
- condition: trigger
id: work_station_freq
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 8
piid: 2
value: "{%- if is_state(\"input_select.vacuum_work_station_freq\", \"Not\
\ to throw away\") -%}\n 0\n{%- elif is_state(\"input_select.vacuum_work_station_freq\"\
, \"Every time\") -%}\n 1\n{%- elif is_state(\"input_select.vacuum_work_station_freq\"\
, \"Every second\") -%}\n 2\n{%- elif is_state(\"input_select.vacuum_work_station_freq\"\
, \"Every third\") -%}\n 3\n{% else %} {% endif %}\n"
- conditions:
- condition: trigger
id: vacuum_mode
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 2
piid: 4
value: "{%- if is_state(\"input_select.vacuum_mode\", \"Sweep\") -%}\n \
\ 0\n{%- elif is_state(\"input_select.vacuum_mode\", \"Silent\") -%}\n\
\ 1\n{%- elif is_state(\"input_select.vacuum_mode\", \"Basic\") -%}\n\
\ 2\n{%- elif is_state(\"input_select.vacuum_mode\", \"Strong\") -%}\n\
\ 3\n{%- elif is_state(\"input_select.vacuum_mode\", \"Full Speed\")\
\ -%}\n 4\n{% else %} {% endif %}\n"
- conditions:
- condition: trigger
id: vacuum_sweep_type
sequence:
- service: xiaomi_miot.set_miot_property
data:
entity_id: vacuum.roidmi_eve
did: 558429891
siid: 2
piid: 8
value: "{%- if is_state(\"input_select.vacuum_sweep_type\", \"Sweep\") -%}\n\
\ 0\n{%- elif is_state(\"input_select.vacuum_sweep_type\", \"Mop\") -%}\n\
\ 1\n{%- elif is_state(\"input_select.vacuum_sweep_type\", \"Mop And\
\ Sweep\") -%}\n 2\n{% else %} {% endif %}\n"
mode: single
- id: '1716484803294'
alias: Vacuum Get Property
description: ''
trigger:
- platform: state
entity_id: vacuum.roidmi_eve
condition: []
action:
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'custom.led_switch', 1) %}\n\
\ input_boolean.turn_on\n{% else %}\n input_boolean.turn_off\n{% endif %}\n"
data:
entity_id: input_boolean.vacuum_led_switch
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'custom.lidar_collision', 1)\
\ %}\n input_boolean.turn_on\n{% else %}\n input_boolean.turn_off\n{% endif\
\ %}\n"
data:
entity_id: input_boolean.vacuum_lidar_collision
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'custom.auto_boost', 1) %}\n\
\ input_boolean.turn_on\n{% else %}\n input_boolean.turn_off\n{% endif %}\n"
data:
entity_id: input_boolean.vacuum_auto_boost
- service: input_number.set_value
entity_id: input_number.vacuum_volume
data_template:
value: '{{ state_attr("vacuum.roidmi_eve","speaker.volume") }}'
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'custom.double_clean', 1) %}\n\
\ input_boolean.turn_on\n{% else %}\n input_boolean.turn_off\n{% endif %}\n"
data:
entity_id: input_boolean.vacuum_double_clean
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'map.path_type', 1) %}\n input_boolean.turn_on\n\
{% else %}\n input_boolean.turn_off\n{% endif %}\n"
data:
entity_id: input_boolean.vacuum_edge_sweep
- service: input_select.select_option
entity_id: input_select.vacuum_water_level
data_template:
option: "{%- if is_state_attr('vacuum.roidmi_eve','custom.water_level',0) -%}\n\
\ No water\n{%- elif is_state_attr('vacuum.roidmi_eve','custom.water_level',1)\
\ -%}\n Small\n{%- elif is_state_attr('vacuum.roidmi_eve','custom.water_level',2)\
\ -%}\n Middle\n{%- elif is_state_attr('vacuum.roidmi_eve','custom.water_level',3)\
\ -%}\n MAX\n{%- else -%} {%- endif -%}\n"
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'custom.station_key', 1) %}\n\
\ input_boolean.turn_on\n{% else %}\n input_boolean.turn_off\n{% endif %}\n"
data:
entity_id: input_boolean.vacuum_station_key
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'custom.station_led', 1) %}\n\
\ input_boolean.turn_on\n{% else %}\n input_boolean.turn_off\n{% endif %}\n"
data:
entity_id: input_boolean.vacuum_station_led
- service: "{% if is_state_attr('vacuum.roidmi_eve', 'speaker.mute', 1) %}\n input_boolean.turn_on\n\
{% else %}\n input_boolean.turn_off\n{% endif %}\n"
data:
entity_id: input_boolean.vacuum_mute
- service: input_select.select_option
entity_id: input_select.vacuum_work_station_freq
data_template:
option: "{%- if is_state_attr('vacuum.roidmi_eve','custom.work_station_freq',0)\
\ -%}\n Not to throw away\n{%- elif is_state_attr('vacuum.roidmi_eve','custom.work_station_freq',1)\
\ -%}\n Every time\n{%- elif is_state_attr('vacuum.roidmi_eve','custom.work_station_freq',2)\
\ -%}\n Every second\n{%- elif is_state_attr('vacuum.roidmi_eve','custom.work_station_freq',3)\
\ -%}\n Every third\n{%- else -%} {%- endif -%}\n"
- service: input_select.select_option
entity_id: input_select.vacuum_mode
data_template:
option: "{%- if is_state_attr('vacuum.roidmi_eve','vacuum.mode',0) -%}\n Sweep\n\
{%- elif is_state_attr('vacuum.roidmi_eve','vacuum.mode',1) -%}\n Silent\n\
{%- elif is_state_attr('vacuum.roidmi_eve','vacuum.mode',2) -%}\n Basic\n\
{%- elif is_state_attr('vacuum.roidmi_eve','vacuum.mode',3) -%}\n Strong\n\
{%- elif is_state_attr('vacuum.roidmi_eve','vacuum.mode',4) -%}\n Full Speed\n\
{%- else -%} {%- endif -%}\n"
- service: input_select.select_option
entity_id: input_select.vacuum_sweep_type
data_template:
option: "{%- if is_state_attr('vacuum.roidmi_eve','vacuum.sweep_type',0) -%}\n\
\ Sweep\n{%- elif is_state_attr('vacuum.roidmi_eve','vacuum.sweep_type',1)\
\ -%}\n Mop\n{%- elif is_state_attr('vacuum.roidmi_eve','vacuum.sweep_type',2)\
\ -%}\n Mop And Sweep\n{%- else -%} {%- endif -%}\n"
mode: single
- id: '1719583633037'
alias: Vanny skolka
description: ''
triggers:
- value_template: '{% set lag_in_minute = 10 %} {% set travel_time_in_minute = states("sensor.waze_ngoc_skolka")|int
%} {% set target_time = now().replace(hour=16).replace(minute=45).replace(second=0)
%} {{ as_timestamp(target_time) - (travel_time_in_minute+lag_in_minute)*60 <=
as_timestamp(now())}}'
trigger: template
conditions:
- condition: not
conditions:
- condition: zone
entity_id: device_tracker.viet_ngoc_samsung
zone: zone.smichov
- condition: time
weekday:
- fri
- thu
- wed
actions:
- data:
message: '{{ states(''sensor.waze_ngoc_skolka'')}}min {{ state_attr(''sensor.waze_ngoc_skolka'',''route'')}}'
title: Vanesska Skolka
action: notify.mobile_app_viet_ngoc_samsung
mode: single
- id: '1719583833596'
alias: Vanny skolka waze
description: ''
triggers:
- minutes: /2
id: 20min
trigger: time_pattern
conditions:
- condition: time
after: '14:00:00'
before: '17:00:00'
weekday:
- fri
- thu
actions:
- target:
entity_id:
- sensor.waze_ngoc_skolka
- sensor.waze_ngoc_smichov_oc
action: homeassistant.update_entity
data:
entity_id:
- sensor.waze_ngoc_skolka
- sensor.waze_ngoc_smichov_oc
mode: single
- id: '1727802647185'
alias: person_home_change
description: ''
trigger:
platform: state
entity_id:
- person.viet_ngoc
from:
- home
- not_home
to:
- home
- not_home
action:
data:
topic: 'homeassistant/persistence/{{ trigger.to_state.name | lower }}
'
payload: '{{ now() }}
'
retain: true
action: mqtt.publish
mode: parallel
- id: '1739425730318'
alias: Samsung Alarm
description: ''
triggers:
- trigger: time
at: sensor.viet_ngoc_samsung_next_alarm
conditions: []
actions:
- action: script.homepod_alarm
metadata: {}
data: {}
mode: restart
- id: '1741648805445'
alias: ATV Force quit app
description: 'Quit all ATV app with sony off timeout '
triggers:
- trigger: state
entity_id:
- media_player.sony_bravia_tv
to: 'off'
for:
hours: 0
minutes: 5
seconds: 30
from: null
conditions:
- condition: template
value_template: '{{ state_attr(''media_player.atv'', ''app_name'') != none }} '
actions:
- action: script.atv_quit
metadata: {}
data: {}
mode: single
- id: '1743952304385'
alias: Front door open
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.contact_sensor_entrance_door
from: null
to: 'on'
for:
hours: 0
minutes: 5
seconds: 0
id: door5min
- trigger: state
entity_id:
- binary_sensor.contact_sensor_entrance_door
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id:
- door5min
sequence:
- action: notify.ngoc_devices
data:
title: Front Door Open!
message: Door is open
data:
ttl: 0
priority: high
channel: alarm_stream
default:
- action: notify.ngoc_devices
metadata: {}
data:
title: Door
message: 'Front door is {{ state_translated(trigger.entity_id) }} '
data:
group: security-notify
tag: front-door
mode: single
- id: '1744393666745'
alias: HA Calendar
description: ''
triggers:
- trigger: calendar
entity_id: calendar.home_assistant_devs
event: start
offset: 0:12:0
conditions: []
actions:
- action: persistent_notification.create
metadata: {}
data:
message: '{{ state_attr(''calendar.home_assistant_devs'', ''message'') }}'
title: HA Calendar
mode: restart
- id: '1746378396403'
alias: Disable vacuum camera
description: ''
triggers:
- trigger: state
entity_id:
- vacuum.roidmi_eve
id: state_changed
conditions:
- condition: template
value_template: '{{ trigger.to_state.state != trigger.from_state.state }}'
actions:
- if:
- condition: template
value_template: '{{ trigger.to_state.state in ["unavailable", "unknown", "docked",
"idle", "paused", "charging"] }}'
then:
- action: camera.turn_off
metadata: {}
data: {}
target:
entity_id: camera.roidmi_eve
else:
- action: camera.turn_on
metadata: {}
data: {}
target:
entity_id: camera.roidmi_eve
mode: single
- homeassistant:
customize:
vacuum.roidmi_eve:
miot_local: true
miot_cloud: false
miot_cloud_write: true
miot_cloud_action: true
sensor.vacuum_cleaner_battery_level:
friendly_name: Charge level
icon: mdi:battery
sensor.vacuum_charging_state:
friendly_name: Charging status
icon: mdi:state-machine
sensor.vacuum_status:
friendly_name: Mode of operation
icon: mdi:state-machine
sensor.vacuum_status_fix:
friendly_name: Vacuum Cleaner Status
icon: mdi:autorenew
sensor.vacuum_sweep_mode:
friendly_name: Cleaning type
icon: mdi:format-list-bulleted-type
sensor.vacuum_fan_speed:
friendly_name: Fan speed
icon: mdi:speedometer
sensor.vacuum_fault:
friendly_name: Error
icon: mdi:alert-circle
sensor.vacuum_on:
friendly_name: Switch state
icon: mdi:nintendo-switch
binary_sensor.vacuum_mop:
friendly_name: Water container
icon: mdi:cup-water
sensor.vacuum_cleaner_filter_life_level:
friendly_name: Percentage left
icon: mdi:percent-outline
sensor.vacuum_cleaner_filter_left_time:
friendly_name: Time left
icon: mdi:calendar-clock
sensor.vacuum_cleaner_brush_life_level:
friendly_name: Percentage left
icon: mdi:percent-outline
sensor.vacuum_cleaner_brush_left_time:
friendly_name: Time left
icon: mdi:calendar-clock
sensor.vacuum_cleaner_brush_life_level_2:
friendly_name: Percentage left
icon: mdi:percent-outline
sensor.vacuum_cleaner_brush_left_time_2:
friendly_name: Time left
icon: mdi:calendar-clock
sensor.vacuum_cleaner_brush_life_level_3:
friendly_name: Percentage left
icon: mdi:percent-outline
sensor.vacuum_cleaner_brush_left_time_3:
friendly_name: Time left
icon: mdi:calendar-clock
sensor.vacuum_cleaning_time:
friendly_name: Time of last harvest
unit_of_measurement: min.
icon: mdi:timer-outline
sensor.vacuum_total_cleaning_time:
friendly_name: Total cleaning time
unit_of_measurement: min.
icon: mdi:timer-outline
sensor.vacuum_cleaned_area:
friendly_name: Area of the last cleaning
unit_of_measurement: m ²
icon: mdi:ruler
sensor.vacuum_total_cleaned_area:
friendly_name: Total cleaning area
unit_of_measurement: m ²
icon: mdi:ruler
sensor.vacuum_cleaning_count:
friendly_name: Number of cleanings
icon: mdi:robot-vacuum
sensor.vacuum_operation:
friendly_name: Operation
sensor.vacuum_accessories:
friendly_name: Working time
camera:
- platform: xiaomi_cloud_map_extractor
name: Roidmi EVE
host: secret roidmi_host
token: secret roidmi_token
username: secret vacuum_username
password: secret vacuum_password
country: de
force_api: roidmi
scan_interval:
seconds: 10
auto_update: false
colors:
color_robo:
- 255
- 89
- 9
color_charger:
- 27
- 117
- 27
color_path:
- 147
- 194
- 238
color_goto_path:
- 30
- 80
- 113
color_obstacle:
- 30
- 30
- 30
color_virtual_walls:
- 255
- 0
- 0
- 60
color_no_go_zones_outline:
- 255
- 0
- 0
- 60
color_no_go_zones:
- 255
- 0
- 0
- 28
color_map_inside:
- 115
- 115
- 115
- 40
color_map_outside:
- 0
- 0
- 0
- 0
color_grey_wall:
- 0
- 0
- 0
- 0
color_map_wall:
- 255
- 255
- 255
- 80
color_zones_outline:
- 0
- 0
- 0
- 0
color_zones:
- 0
- 0
- 0
- 0
color_unknown:
- 0
- 0
- 0
- 0
room_colors:
1:
- 0
- 0
- 0
- 0
2:
- 0
- 0
- 0
- 0
3:
- 0
- 0
- 0
- 0
4:
- 0
- 0
- 0
- 0
5:
- 0
- 0
- 0
- 0
6:
- 0
- 0
- 0
- 0
7:
- 0
- 0
- 0
- 0
8:
- 0
- 0
- 0
- 0
9:
- 0
- 0
- 0
- 0
draw:
- charger
- path
- goto_path
- predicted_path
- no_go_zones
- no_mopping_zones
- vacuum_position
- virtual_walls
- cleaned_area
map_transformation:
scale: 3
sizes:
charger_radius: 16
vacuum_radius: 15
attributes:
- calibration_points
- charger
- cleaned_rooms
- country
- goto
- goto_path
- goto_predicted_path
- ignored_obstacles_with_photo
- ignored_obstacles
- image
- is_empty
- map_name
- no_go_areas
- no_mopping_areas
- obstacles
- path
- room_numbers
- rooms
- vacuum_position
- vacuum_room
- walls
- zones
template:
- sensor:
- name: vacuum_operation
state: Operation
- name: vacuum_accessories
state: Working time
- name: vacuum_status_fix
state: "{% set val = state_attr('vacuum.roidmi_eve','vacuum.status') %} {%\
\ if val == 1 %}\n Sleeping\n{% elif val == 2 %}\n In Standby\n{% elif val\
\ == 3 %}\n Suspend\n{% elif val == 4 %}\n Cleaning\n{% elif val == 5 %}\n\
\ Go Charging\n{% elif val == 6 %}\n Charging\n{% elif val == 7 %}\n Fault\n\
{% elif val == 8 %}\n Remote control\n{% elif val == 9 %}\n The battery\
\ is full\n{% elif val == 10 %}\n Shut down\n{% elif val == 11 %}\n Recharge\
\ pause\n{% else %}\n Device offline\n{% endif %}\n"
- name: vacuum_fan_speed
state: '{{ state_attr(''vacuum.roidmi_eve'',''fan_speed'') }}'
- name: vacuum_status
state: '{{ state_attr(''vacuum.roidmi_eve'',''vacuum.status'') }}'
- name: vacuum_fault
state: "{% set val = state_attr('vacuum.roidmi_eve','vacuum.fault') %} {% if\
\ (val == 0) or (val == None) %}\n No Faults\n{% elif val == 1 %}\n Low\
\ battery, start recharging\n{% elif val == 2 %}\n Low power, start shutting\
\ down\n{% elif val == 3 %}\n The main wheel is abnormal, please check whether\
\ the main wheel is stuck\n{% elif val == 4 %}\n Please check if the edge\
\ is jammed\n{% elif val == 5 %}\n Machine tilt, please move to level and\
\ start\n{% elif val == 6 %}\n Please check whether the top radar is blocked\
\ or jammed\n{% elif val == 7 %}\n Front collision sensor abnormal\n{% elif\
\ val == 8 %}\n Abnormal sensor on the right side along the wall\n{% elif\
\ val == 9 %}\n Please check whether the main brush is entangled or jammed\n\
{% elif val == 10 %}\n Please check whether the side brush is entangled or\
\ jammed\n{% elif val == 11 %}\n Abnormal fan\n{% elif val == 12 %}\n The\
\ radar cover is jammed\n{% elif val == 13 %}\n Please clean the dust box\
\ and filter screen, or check whether the dust box and filter screen are in\
\ place\n{% elif val == 14 %}\n Take out the dust box\n{% elif val == 15\
\ %}\n Please clean the dust box and filter screen\n{% elif val == 16 %}\n\
\ The machine is trapped, please move to the new position and start\n{% elif\
\ val == 17 %}\n The machine is suspended. Please put it back on the level\
\ ground before starting\n{% elif val == 18 %}\n The water tank has been\
\ taken out. Please put it back into the water tank before starting\n{% elif\
\ val == 19 %}\n There is not enough water in the tank\n{% elif val == 20\
\ %}\n The specified area cannot be reached\n{% elif val == 21 %}\n Please\
\ move out of the restricted area before starting\n{% elif val == 22 %}\n\
\ Please stay away from the cliff before starting\n{% elif val == 23 %}\n\
\ Pump current error\n{% elif val == 24 %}\n Recharge failed, charging point\
\ not found\n{% elif val == 25 %}\n Radar speed error\n{% elif val == 27\
\ %}\n Please check whether the top radar is jammed\n{% elif val == 30 %}\n\
\ Radar open circuit abnormal\n{% elif val == 31 %}\n Battery abnormal\n\
{% elif val == 32 %}\n Middle brush abnormal\n{% elif val == 33 %}\n Main\
\ wheel abnormal\n{% elif val == 34 %}\n Side brush abnormal\n{% elif val\
\ == 35 %}\n Fan abnormal\n{% elif val == 37 %}\n Firmware upgrade failed\
\ due to insufficient conditions\n{% else %}\n Unknown error №{{state_attr('vacuum.roidmi_eve','vacuum.fault')}}\n\
{% endif %}\n"
- name: vacuum_on
state: "{% set val = state_attr('vacuum.roidmi_eve','vacuum.on') %} {% if val\
\ == 0 %}\n Close\n{% elif val == 1 %}\n Open\n{% else %}\n Unknown\n{%\
\ endif %}\n"
- name: vacuum_cleaner_battery_level
state: '{{ state_attr(''vacuum.roidmi_eve'', ''battery_level'') }}
'
- name: vacuum_charging_state
state: "{% set val = state_attr('vacuum.roidmi_eve','battery.charging_state')\
\ %} {% if val == 1 %}\n Charging\n{% elif val == 2 %}\n No charging\n{%\
\ elif val == 3 %}\n No need\n{% else %}\n Unknown\n{% endif %}\n"
- name: vacuum_sweep_mode
state: "{% set val = state_attr('vacuum.roidmi_eve','sweep.sweep_mode') %} {%\
\ if val == 0 %}\n Waiting\n{% elif val == 1 %}\n Cleaning the entire apartment\n\
{% elif val == 2 %}\n Cleaning the area\n{% elif val == 3 %}\n Local cleaning\n\
{% elif val == 4 %}\n Moving to the point\n{% elif val == 7 %}\n Smart\n\
{% elif val == 8 %}\n Cleaning the segment\n{% elif val == 9 %}\n DepthTotal\n\
{% elif val == 10 %}\n Along the wall\n{% else %}\n Unknown\n{% endif %}\n"
- name: vacuum_station_type
state: '{{ state_attr(''vacuum.roidmi_eve'',''custom.station_type'') }}'
- name: vacuum_cleaning_time
state: "{% if (state_attr('vacuum.roidmi_eve','custom.clean_time') == None)\
\ %}\n 0\n{% else %}\n {{(state_attr('vacuum.roidmi_eve','custom.clean_time')/60)|round(1)}}\n\
{% endif %}\n"
- name: vacuum_total_cleaning_time
state: "{% if (state_attr('vacuum.roidmi_eve','custom.total_clean_time') ==\
\ None) %}\n 0\n{% else %}\n {{(state_attr('vacuum.roidmi_eve','custom.total_clean_time')/60)|round(1)}}\n\
{% endif %}\n"
- name: vacuum_cleaned_area
state: '{{ state_attr(''vacuum.roidmi_eve'',''custom.clean_area'') }}'
- name: vacuum_total_cleaned_area
state: '{{ state_attr(''vacuum.roidmi_eve'',''custom.total_clean_areas'') }}'
- name: vacuum_cleaning_count
state: '{{ state_attr(''vacuum.roidmi_eve'',''custom.clean_counts'') }}'
- name: vacuum_position
state: "{% set room_dict = {\n 1: \"Kitchen\",\n 2: \"Utility\",\n 3: \"\
Office\",\n 4: \"Bedroom\",\n 5: \"Kids Room\",\n 6: \"Living Room\",\n\
\ 7: \"Hallway\",\n 8: \"Bathroom\"\n} %} {{ room_dict[state_attr('camera.roidmi_eve',\
\ 'vacuum_room')] }}\n"
- binary_sensor:
- name: vacuum_mop
state: '{{ state_attr(''vacuum.roidmi_eve'',''custom.mop'') }}'
input_boolean:
vacuum_lidar_collision:
name: Collision Radar
icon: mdi:radar
vacuum_led_switch:
name: Button light
icon: mdi:alarm-light
vacuum_auto_boost:
name: Carpet inflation mode
icon: mdi:rug
vacuum_double_clean:
name: Cleaning x2
icon: mdi:map-marker-distance
vacuum_edge_sweep:
name: Y-Mopping
icon: mdi:transit-detour
vacuum_station_key:
name: Display status when touched
icon: mdi:account-arrow-right
vacuum_station_led:
name: Display backlight
icon: mdi:lightbulb-on-outline
vacuum_mute:
name: Silent mode
icon: mdi:volume-off
vacuum_room1:
name: Kitchen
icon: mdi:silverware-variant
vacuum_room2:
name: Utility
icon: mdi:washing-machine
vacuum_room3:
name: Office
icon: mdi:laptop
vacuum_room4:
name: Bedroom
icon: mdi:bed-king
vacuum_room5:
name: Children
icon: mdi:teddy-bear
vacuum_room6:
name: Lounge
icon: mdi:sofa
vacuum_room7:
name: Hallway
icon: mdi:mirror
vacuum_room8:
name: Bathroom
icon: mdi:shower
input_number:
vacuum_volume:
name: Volume level
icon: mdi:volume-high
unit_of_measurement: '%'
min: 0
max: 100
step: 1
input_select:
vacuum_water_level:
name: Water use
icon: mdi:waves
options:
- No water
- Small
- Middle
- MAX
vacuum_work_station_freq:
name: Throwing away trash
icon: mdi:delete
options:
- Not to throw away
- Every time
- Every second
- Every third
vacuum_mode:
name: Cleaning power
icon: mdi:wind-power-outline
options:
- Sweep
- Silent
- Basic
- Strong
- Full Speed
vacuum_sweep_type:
name: Cleaning function
icon: mdi:vacuum-outline
options:
- Sweep
- Mop
- Mop And Sweep