5087 lines
206 KiB
JSON
5087 lines
206 KiB
JSON
[
|
||
{
|
||
"id": "3d_printer_print_done",
|
||
"automation": "- alias: 3D Printer - Print Done\n id: 3d_printer_print_done\n triggers:\n - trigger: state\n entity_id: binary_sensor.octoprint_printing\n from: 'on'\n to: 'off'\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: 3D Printer\n message: 🎉 Печать завершена!",
|
||
"config": [
|
||
{
|
||
"name": "3D printer printing sensor",
|
||
"room": "3d_printer",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.octoprint_printing",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3d_printer_print_progress",
|
||
"automation": "- alias: 3D Printer - Print Progress\n id: 3d_printer_print_progress\n triggers:\n - trigger: state\n entity_id: sensor.octoprint_job_percentage\n conditions:\n - condition: template\n value_template: \"{{ (trigger.to_state.state | int(0)) > 0 and\\n ((trigger.to_state.state\\\n \\ | int(0)) != (trigger.from_state.state | int(0))) and\\n (trigger.to_state.state\\\n \\ | int(0)) % 10 == 0 }}\\n\"\n actions:\n - action: notify.mobile_app_sm_s901b\n data_template:\n title: 3D Printer\n message: 📈 Деталь готова на {{ states('sensor.octoprint_job_percentage') | int(0)\n }}%",
|
||
"config": [
|
||
{
|
||
"name": "3D printer job percentage sensor",
|
||
"room": "3d_printer",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.octoprint_job_percentage",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3d_printer_print_paused",
|
||
"automation": "- alias: 3D Printer - Print Paused\n id: 3d_printer_print_paused\n triggers:\n - trigger: state\n entity_id: sensor.octoprint_current_state\n from: Printing\n to:\n - Paused\n - Pausing\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: ⚠️ 3D Printer\n message: Печать приостановлена!",
|
||
"config": [
|
||
{
|
||
"name": "3D printer current state sensor",
|
||
"room": "3d_printer",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.octoprint_current_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3d_printer_print_resumed",
|
||
"automation": "- alias: 3D Printer - Print Resumed\n id: 3d_printer_print_resumed\n triggers:\n - trigger: state\n entity_id: sensor.octoprint_current_state\n from:\n - Paused\n - Pausing\n to: Printing\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: ⚠️ 3D Printer\n message: Печать возобновлена",
|
||
"config": [
|
||
{
|
||
"name": "3D printer current state sensor",
|
||
"room": "3d_printer",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.octoprint_current_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3d_printer_overheated",
|
||
"automation": "- alias: 3D Printer - Overheated\n id: 3d_printer_overheated\n triggers:\n - trigger: state\n entity_id:\n - sensor.octoprint_actual_bed_temp\n - sensor.octoprint_actual_tool0_temp\n conditions:\n - or:\n - condition: template\n value_template: '{{ states(''sensor.octoprint_actual_bed_temp'') | int(0) >\n 100 }}\n\n '\n - condition: template\n value_template: '{{ states(''sensor.octoprint_actual_tool0_temp'') | int(0)\n > 250 }}\n\n '\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: 🌡️ 3D Printer перегрелся!\n message: '🛏️ Температура стола: {{ states(''sensor.octoprint_actual_bed_temp'')\n }}°C\n\n 🔥 Температура хотенда: {{ states(''sensor.octoprint_actual_tool0_temp'') }}°C\n\n '",
|
||
"config": [
|
||
{
|
||
"name": "3D printer actual bed temperature sensor",
|
||
"room": "3d_printer",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.octoprint_actual_bed_temp",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "3D printer actual tool0 temperature sensor",
|
||
"room": "3d_printer",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.octoprint_actual_tool0_temp",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3d_printer_power_on",
|
||
"automation": "- alias: 3D Printer - Power On\n id: 3d_printer_power_on\n mode: restart\n triggers:\n - trigger: state\n entity_id: input_boolean.3d_printer_and_octo_power\n from: 'off'\n to: 'on'\n conditions:\n - condition: state\n entity_id: switch.3d_printer_socket\n state: 'off'\n actions:\n - action: switch.turn_on\n entity_id: switch.3d_printer_socket",
|
||
"config": [
|
||
{
|
||
"name": "3D printer and octoprint power input boolean",
|
||
"room": "3d_printer",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.3d_printer_and_octo_power",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "3D printer socket switch",
|
||
"room": "3d_printer",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.3d_printer_socket",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3d_printer_power_sync",
|
||
"automation": "- alias: 3D Printer - Power Sync\n id: 3d_printer_power_sync\n mode: single\n triggers:\n - trigger: state\n entity_id: switch.3d_printer_socket\n conditions:\n - condition: template\n value_template: '{{ states(''switch.3d_printer_socket'') != states(''input_boolean.3d_printer_and_octo_power'')\n }}\n\n '\n - condition: template\n value_template: '{{ is_state_attr(''automation.3d_printer_power_off'', ''current'',\n 0) }}\n\n '\n actions:\n - if:\n - condition: state\n entity_id: switch.3d_printer_socket\n state: 'on'\n then:\n - action: input_boolean.turn_on\n entity_id: input_boolean.3d_printer_and_octo_power\n else:\n - action: input_boolean.turn_off\n entity_id: input_boolean.3d_printer_and_octo_power",
|
||
"config": [
|
||
{
|
||
"name": "3D printer and octoprint power input boolean",
|
||
"room": "3d_printer",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.3d_printer_and_octo_power",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "3D printer socket switch",
|
||
"room": "3d_printer",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.3d_printer_socket",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "3D printer power off automation",
|
||
"room": "3d_printer",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.3d_printer_power_off",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "3d_printer_power_off",
|
||
"automation": "- alias: 3D Printer - Power Off\n id: 3d_printer_power_off\n mode: restart\n triggers:\n - trigger: state\n entity_id: input_boolean.3d_printer_and_octo_power\n from: 'on'\n to: 'off'\n conditions:\n - condition: state\n entity_id: switch.3d_printer_socket\n state: 'on'\n actions:\n - if:\n - condition: template\n value_template: '{{ states(''sensor.octoprint_current_state'') != ''Operational''\n }}'\n then:\n - action: input_boolean.turn_on\n entity_id: input_boolean.3d_printer_and_octo_power\n - action: notify.mobile_app_sm_s901b\n data:\n title: ⚠️ 3D Printer\n message: 'Невозможно выключить Octoprint сервер в состонии «{{ states(''sensor.octoprint_current_state'')\n }}».\n\n Питания НЕ отключено!\n\n '\n else:\n - action: script.turn_on\n entity_id: script.octoprint_shutdown\n - wait_template: '{{ states(''sensor.octoprint_current_state'') == ''unavailable''\n }}'\n timeout: 00:03:00\n - if:\n - condition: template\n value_template: '{{ states(''sensor.octoprint_current_state'') != ''unavailable''\n }}'\n then:\n - action: input_boolean.turn_on\n entity_id: input_boolean.3d_printer_and_octo_power\n - action: notify.mobile_app_sm_s901b\n data:\n title: ⚠️ 3D Printer\n message: 'Не удалось выключить Octoprint сервер.\n\n Питания НЕ отключено!\n\n '\n else:\n - action: switch.turn_off\n entity_id: switch.3d_printer_socket\n - action: input_boolean.turn_off\n entity_id: input_boolean.3d_printer_and_octo_power",
|
||
"config": [
|
||
{
|
||
"name": "3D printer current state sensor",
|
||
"room": "3d_printer",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.octoprint_current_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "3D printer and octoprint power input boolean",
|
||
"room": "3d_printer",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.3d_printer_and_octo_power",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "3D printer socket switch",
|
||
"room": "3d_printer",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.3d_printer_socket",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Octoprint shutdown script",
|
||
"room": "3d_printer",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.octoprint_shutdown",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_air_quality_bad",
|
||
"automation": "- alias: Notification Air Quality Bad\n id: notification_air_quality_bad\n triggers:\n - trigger: numeric_state\n entity_id: sensor.air_quality_station_iaq\n above: 200\n for: 00:02:00\n conditions:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n actions:\n - if:\n - condition: template\n value_template: '{{ not is_state(''media_player.yandex_station_midi'', ''playing'')\n }}'\n then:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_type: text\n media_content_id: \"Замечено плохое качество воздуха в доме,\\n{% if states('binary_sensor.windows')\\\n \\ == 'off' %}\\n советую открыть окно.\\n{% else %}\\n советую закрыть окно\\n\\\n \\ {% if states('binary_sensor.bedroom_window_contact') == 'on' %}\\n \\\n \\ в спальне\\n {% endif %}\\n {% if states('binary_sensor.kitchen_window_contact')\\\n \\ == 'on' %}\\n {% if states('binary_sensor.bedroom_window_contact') ==\\\n \\ 'on' %}\\n {% if states('binary_sensor.living_room_window_contact')\\\n \\ == 'on' %}\\n ,\\n {% else %}\\n и\\n {% endif %}\\n\\\n \\ {% endif %}\\n на кухне\\n {% endif %}\\n {% if states('binary_sensor.living_room_window_contact')\\\n \\ == 'on' %}\\n {% if states('binary_sensor.bedroom_window_contact') ==\\\n \\ 'on' or states('binary_sensor.kitchen_window_contact') == 'on' %}\\n \\\n \\ и\\n {% endif %}\\n в гостинной.\\n {% endif %}\\n{% endif %}\\n\"\n - action: notify.mobile_app_sm_s901b\n data:\n title: 🌬 Качество воздуха\n message: 'Качество воздуха в доме ухудшилось и составляет {{ states(''sensor.air_quality_station_iaq'')\n }}.\n\n '\n - action: automation.turn_on\n entity_id:\n - automation.notification_air_quality_restored\n - automation.notification_air_quality_open_window_greeting\n - action: input_datetime.set_datetime\n data:\n entity_id: input_datetime.air_quality_open_window_greeting_timeout\n datetime: '{{ now() + timedelta(minutes=2) }}'\n - action: automation.turn_off\n entity_id: automation.notification_air_quality_bad",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Air quality station IAQ sensor",
|
||
"room": "living_room",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.air_quality_station_iaq",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom window contact binary sensor",
|
||
"room": "bedroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.bedroom_window_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen window contact binary sensor",
|
||
"room": "kitchen",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.kitchen_window_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Living room window contact binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.living_room_window_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Air quality open window greeting timeout input datetime",
|
||
"room": "home",
|
||
"type": "input_datetime",
|
||
"id": {
|
||
"entity_id": "input_datetime.air_quality_open_window_greeting_timeout",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification air quality bad automation",
|
||
"room": "home",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_air_quality_bad",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification air quality restored automation",
|
||
"room": "home",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_air_quality_restored",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification air quality open window greeting automation",
|
||
"room": "home",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_air_quality_open_window_greeting",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_air_quality_open_window_greeting",
|
||
"automation": "- alias: Notification Air Quality Open Window Greeting\n id: notification_air_quality_open_window_greeting\n triggers:\n - trigger: state\n entity_id: binary_sensor.windows\n from: 'off'\n to: 'on'\n conditions:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n actions:\n - if:\n - condition: template\n value_template: '{{ as_timestamp(now()) < as_timestamp(states(''input_datetime.air_quality_open_window_greeting_timeout''),\n 0) }}'\n - condition: template\n value_template: '{{ not is_state(''media_player.yandex_station_midi'', ''playing'')\n }}'\n then:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_type: text\n media_content_id: Молодец! Рада, что вы заботитесь о своём здоровье.\n - action: automation.turn_off\n entity_id: automation.notification_air_quality_open_window_greeting",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Air quality open window greeting timeout input datetime",
|
||
"room": "home",
|
||
"type": "input_datetime",
|
||
"id": {
|
||
"entity_id": "input_datetime.air_quality_open_window_greeting_timeout",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification air quality open window greeting automation",
|
||
"room": "home",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_air_quality_open_window_greeting",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_air_quality_restored",
|
||
"automation": "- alias: Notification Air Quality Restored\n id: notification_air_quality_restored\n triggers:\n - trigger: numeric_state\n entity_id: sensor.air_quality_station_iaq\n below: 50\n for: 00:02:00\n conditions:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n actions:\n - if:\n - condition: template\n value_template: '{{ not is_state(''media_player.yandex_station_midi'', ''playing'')\n }}'\n then:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_type: text\n media_content_id: Качество воздуха в доме вернулось в норму.\n - action: notify.mobile_app_sm_s901b\n data:\n title: 🌬 Качество воздуха\n message: 'Качество воздуха в доме улучшилось и составляет {{ states(''sensor.air_quality_station_iaq'')\n }}.\n\n '\n - action: automation.turn_on\n entity_id: automation.notification_air_quality_bad\n - action: automation.turn_off\n entity_id:\n - automation.notification_air_quality_restored\n - automation.notification_air_quality_open_window_greeting",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Air quality station IAQ sensor",
|
||
"room": "living_room",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.air_quality_station_iaq",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification air quality bad automation",
|
||
"room": "home",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_air_quality_bad",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification air quality restored automation",
|
||
"room": "home",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_air_quality_restored",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification air quality open window greeting automation",
|
||
"room": "home",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_air_quality_open_window_greeting",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "alert_to_tts_handler",
|
||
"automation": "- alias: Alert to TTS Handler\n id: alert_to_tts_handler\n mode: single\n max_exceeded: silent\n variables:\n alerts_map:\n alert.water_leakage_bathroom:\n - Обнаружена утечка воды в ванной\n - Утечка воды в ванной устранена\n alert.water_leakage_kitchen:\n - Обнаружена утечка воды на кухне\n - Утечка воды на кухне устранена\n alert.carbon_monoxide_detected:\n - Обнаружена высокая концентрация угарного газа на кухне\n - Концентрация угарного газа на кухне вернулась в норму\n alert.natural_gas_detected:\n - Обнаружена утечка газа на кухне\n - Утечка газа на кухне устранена\n triggers:\n - trigger: state\n entity_id:\n - alert.water_leakage_bathroom\n - alert.water_leakage_kitchen\n - alert.carbon_monoxide_detected\n - alert.natural_gas_detected\n actions:\n - if:\n - condition: template\n value_template: '{{ trigger.to_state.state in [''on'', ''idle''] }}'\n then:\n - action: notify.mobile_app_sm_s901b\n data:\n message: TTS\n data:\n priority: high\n channel: alarm_stream_max\n media_stream: alarm_stream_max\n tts_text: \"{% if trigger.to_state.state == 'on' %}\\n Внимание! {{ alerts_map[trigger.entity_id][0]\\\n \\ }}!\\n{% else %}\\n {{ alerts_map[trigger.entity_id][1] }}.\\n{% endif\\\n \\ %}\\n\"",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Water leakage bathroom alert",
|
||
"room": "bathroom",
|
||
"type": "alert",
|
||
"id": {
|
||
"entity_id": "alert.water_leakage_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Water leakage kitchen alert",
|
||
"room": "kitchen",
|
||
"type": "alert",
|
||
"id": {
|
||
"entity_id": "alert.water_leakage_kitchen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Carbon monoxide detected alert",
|
||
"room": "kitchen",
|
||
"type": "alert",
|
||
"id": {
|
||
"entity_id": "alert.carbon_monoxide_detected",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Natural gas detected alert",
|
||
"room": "kitchen",
|
||
"type": "alert",
|
||
"id": {
|
||
"entity_id": "alert.natural_gas_detected",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "dcc_ex_enable_power_on_sunset",
|
||
"automation": "- alias: DCC-EX Enable Power on Sunset\n id: dcc_ex_enable_power_on_sunset\n triggers:\n - trigger: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: 4.0\n - trigger: state\n entity_id: person.sen\n to: home\n conditions:\n - condition: state\n entity_id: person.sen\n state: home\n - condition: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: 4.0\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n actions:\n - action: switch.turn_on\n target:\n entity_id:\n - switch.ex_commandstation_tracks_power\n - switch.loco_sbb_cargo_re_482_coupling",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sun sun entity",
|
||
"room": null,
|
||
"type": "sun",
|
||
"id": {
|
||
"entity_id": "sun.sun",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "EX commandstation tracks power switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.ex_commandstation_tracks_power",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Loco SBB cargo RE 482 coupling switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.loco_sbb_cargo_re_482_coupling",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "dcc_ex_layout_lights_by_motion_sensor",
|
||
"automation": "- alias: DCC-EX Layout Lights by Motion Sensor\n id: dcc_ex_layout_lights_by_motion_sensor\n description: Control train layout lights based on motion sensor\n mode: restart\n triggers:\n - trigger: state\n entity_id: binary_sensor.kitchen_motion_alarm\n conditions:\n - condition: state\n entity_id: switch.ex_commandstation_tracks_power\n state: 'on'\n - condition: template\n value_template: '{{ trigger.to_state.state in [''on'', ''off''] }}'\n actions:\n - action: switch.turn_{{ \"on\" if trigger.to_state.state == \"on\" else \"off\" }}\n entity_id:\n - switch.dcc_ex_vossloh_cabin_lights\n - switch.loco_sbb_cargo_re_482_inspection_lights",
|
||
"config": [
|
||
{
|
||
"name": "EX commandstation tracks power switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.ex_commandstation_tracks_power",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen motion alarm binary sensor",
|
||
"room": "kitchen",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.kitchen_motion_alarm",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "DCC-EX Vossloh cabin lights switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.dcc_ex_vossloh_cabin_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Loco SBB cargo RE 482 inspection lights switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.loco_sbb_cargo_re_482_inspection_lights",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "guest_mode_reset",
|
||
"automation": "- alias: Guest Mode Reset\n id: guest_mode_reset\n mode: restart\n triggers:\n - platform: time\n at: input_datetime.guest_mode_disable_time\n - platform: homeassistant\n event: start\n conditions:\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'on'\n - condition: template\n value_template: '{{ as_timestamp(now()) >= as_timestamp(states(''input_datetime.guest_mode_disable_time''),\n 0) }}\n\n '\n actions:\n - action: input_boolean.turn_off\n target:\n entity_id: input_boolean.guest_mode\n - variables:\n action_enable_back_on: '{{ ''action_enable_back_on'' ~ context.id }}'\n - action: notify.mobile_app_sm_s901b\n data:\n title: 👤 Гостевой режим\n message: Гостевой режим выключен автоматически в {{ states('sensor.time') }}.\n Включить обратно?\n data:\n actions:\n - action: '{{ action_enable_back_on }}'\n title: ↻ Включить снова\n - wait_for_trigger:\n - trigger: event\n event_type: mobile_app_notification_action\n event_data:\n action: '{{ action_enable_back_on }}'\n - if:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == action_enable_back_on\n }}'\n then:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.guest_mode\n - action: input_datetime.set_datetime\n data:\n entity_id: input_datetime.guest_mode_disable_time\n datetime: '{{ (now().date() + timedelta(days=1)).strftime(''%Y-%m-%d'') }}\n 09:00:00'\n - action: notify.mobile_app_sm_s901b\n data:\n title: 👤 Гостевой режим\n message: Гостевой режим включен снова до 9:00 утра завтрашнего дня",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode disable time input datetime",
|
||
"room": "home",
|
||
"type": "input_datetime",
|
||
"id": {
|
||
"entity_id": "input_datetime.guest_mode_disable_time",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notify_yandex_guest_mode_enabled",
|
||
"automation": "- alias: Notify Yandex Guest Mode Enabled\n id: notify_yandex_guest_mode_enabled\n trigger:\n - platform: state\n entity_id: input_boolean.guest_mode\n from: 'off'\n to: 'on'\n action:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: Гостевой режим активирован до 9:00 утра завтрашнего дня\n media_content_type: text",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "stop_heating_by_window_opened",
|
||
"automation": "- alias: Stop Heating by Window Opened\n id: stop_heating_by_window_opened\n mode: restart\n trigger:\n - platform: state\n entity_id: binary_sensor.windows\n from: 'off'\n to: 'on'\n for: 00:00:10\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.thermostat_active\n state: 'on'\n action:\n - action: timer.cancel\n entity_id: timer.pause_heating\n - if:\n - condition: state\n entity_id: timer.heating_quarantine\n state: active\n then:\n - action: timer.cancel\n entity_id: timer.heating_quarantine\n - action: input_text.set_value\n data:\n entity_id: input_text.heating_log\n value: Открыто окно → карантин перед включением отопления отменён\n - if:\n - condition: state\n entity_id: timer.short_heating\n state: active\n then:\n - action: timer.cancel\n entity_id: timer.short_heating\n - action: input_text.set_value\n data:\n entity_id: input_text.heating_log\n value: Открыто окно → кратковременное отопление отменено\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: Подогрев квартиры окончен из-за открытого окна\n media_content_type: text\n - action: script.thermostat_set_eco_mode\n data:\n message: Открыто окно → переход в режим экономии",
|
||
"config": [
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat active binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_active",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating log input text",
|
||
"room": "home",
|
||
"type": "input_text",
|
||
"id": {
|
||
"entity_id": "input_text.heating_log",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat set eco mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_set_eco_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "start_quarantine_by_window_closed",
|
||
"automation": "- alias: Start Quarantine by Window Closed\n id: start_quarantine_by_window_closed\n mode: restart\n trigger:\n - platform: state\n entity_id: binary_sensor.windows\n from: 'on'\n to: 'off'\n for: 00:00:10\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n action:\n - action: timer.start\n entity_id: timer.heating_quarantine\n - action: input_text.set_value\n data:\n entity_id: input_text.heating_log\n value: Окна закрыты → карантин перед включением отопления начат",
|
||
"config": [
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating log input text",
|
||
"room": "home",
|
||
"type": "input_text",
|
||
"id": {
|
||
"entity_id": "input_text.heating_log",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "restore_heating_after_quarantine",
|
||
"automation": "- alias: Restore Heating after Quarantine\n id: restore_heating_after_quarantine\n mode: single\n max_exceeded: silent\n trigger:\n - platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.heating_quarantine\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.windows\n state: 'off'\n action:\n - if:\n - condition: state\n entity_id: timer.pause_heating\n state: idle\n - or:\n - condition: state\n entity_id: binary_sensor.people_home\n state: 'on'\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'on'\n then:\n - action: script.thermostat_stop_heating\n data:\n message: Карантин перед включением отопления окончен → отопление включено\n else:\n - action: input_text.set_value\n data:\n entity_id: input_text.heating_log\n value: Карантин перед включением отопления окончен, но обогрев запрещён →\n отопление не включено",
|
||
"config": [
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating log input text",
|
||
"room": "home",
|
||
"type": "input_text",
|
||
"id": {
|
||
"entity_id": "input_text.heating_log",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "thermostat_freeze_alert_at_night",
|
||
"automation": "- alias: Thermostat Freeze Alert at Night\n id: thermostat_freeze_alert_at_night\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: binary_sensor.freeze_alert_at_night\n from: 'off'\n to: 'on'\n for: 00:05:00\n - trigger: time_pattern\n hours: /1\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.freeze_alert_at_night\n state: 'on'\n - condition: template\n value_template: \"{{ is_state('binary_sensor.people_home', 'on') or\\n is_state('input_boolean.guest_mode',\\\n \\ 'on')}}\\n\"\n actions:\n - action: timer.cancel\n entity_id:\n - timer.heating_quarantine\n - timer.short_heating\n - timer.pause_heating\n - action: script.notify_and_create_persistent_notification\n data:\n title: ⚠️ Предупреждение\n message: Температура упала ниже порога\n - action: input_text.set_value\n data:\n entity_id: input_text.heating_log\n value: Температура упала ниже порога\n - action: notify.mobile_app_sm_s901b\n data:\n title: 💬 Системное уведомление\n message: Термостат был снова включен в {{ states('sensor.time') }}, чтобы вы\n не замёрзли\n - action: script.thermostat_stop_heating\n data:\n message: Температура упала ниже порога ночью → термостат переведён на 22°C",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating log input text",
|
||
"room": "home",
|
||
"type": "input_text",
|
||
"id": {
|
||
"entity_id": "input_text.heating_log",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Freeze alert at night binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.freeze_alert_at_night",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "thermostat_preheat_alert",
|
||
"automation": "- alias: Thermostat Preheat Alert\n id: thermostat_preheat_alert\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: numeric_state\n entity_id: climate.family_room\n attribute: current_temperature\n above: 25.0\n for: 00:05:00\n - trigger: time_pattern\n hours: /1\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: numeric_state\n entity_id: climate.family_room\n attribute: current_temperature\n above: 25.0\n - condition: template\n value_template: \"{{ states('climate.family_room') == 'heat' and\\n state_attr('climate.family_room',\\\n \\ 'temperature') >= 25.0 }}\\n\"\n actions:\n - action: script.notify_and_create_persistent_notification\n data:\n title: ⚠️ Предупреждение\n message: 'Термостат был переведён в автоматический режим по причине высокой\n температуры в квартире в {{ states(''sensor.time'') }}\n\n '\n - action: script.thermostat_stop_heating\n data:\n message: Температура поднялась выше порога → термостат переведён на 22°C",
|
||
"config": [
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Family room climate",
|
||
"room": "living_room",
|
||
"type": "climate",
|
||
"id": {
|
||
"entity_id": "climate.family_room",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "thermostat_heating_duration_alert",
|
||
"automation": "- alias: Thermostat Heating Duration Alert\n id: thermostat_heating_duration_alert\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: binary_sensor.thermostat_heating\n from: 'off'\n to: 'on'\n for: 01:00:00\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n actions:\n - action: timer.cancel\n entity_id:\n - timer.heating_quarantine\n - timer.short_heating\n - timer.pause_heating\n - action: script.notify_and_create_persistent_notification\n data:\n title: ⚠️ Предупреждение\n message: Термостат работает более часа → отопление отключено на 1 час в {{ states('sensor.time')\n }}\n - action: timer.start\n entity_id: timer.pause_heating\n - action: script.thermostat_stop_heating\n data:\n message: Термостат работает более часа → отопление отключено на 1 час",
|
||
"config": [
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "short_heating_start",
|
||
"automation": "- alias: Short Heating Start\n id: short_heating_start\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: input_button.thermostat_10_minutes_heating\n actions:\n - if:\n - or:\n - condition: state\n entity_id: binary_sensor.thermostat_heating\n state: 'on'\n - condition: state\n entity_id: timer.short_heating\n state: active\n then:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: Квартира уже подогревается\n media_content_type: text\n else:\n - action: timer.cancel\n entity_id:\n - timer.heating_quarantine\n - timer.short_heating\n - timer.pause_heating\n - action: timer.start\n entity_id: timer.short_heating\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: Включен кратковременный подогрев квартиры\n media_content_type: text\n - action: script.thermostat_start_heating\n data:\n message: Включен кратковременный подогрев квартиры",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat 10 minutes heating input button",
|
||
"room": "living_room",
|
||
"type": "input_button",
|
||
"id": {
|
||
"entity_id": "input_button.thermostat_10_minutes_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat start heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_start_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "short_heating_end",
|
||
"automation": "- alias: Short Heating End\n id: short_heating_end\n mode: single\n max_exceeded: silent\n triggers:\n - platform: event\n event_type: timer.finished\n event_data:\n entity_id: timer.short_heating\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n actions:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: Кратковременный подогрев квартиры окончен\n media_content_type: text\n - if:\n - condition: state\n entity_id: binary_sensor.etrvs_requesting_heat\n state: 'off'\n - condition: state\n entity_id: binary_sensor.heating_request_bathroom\n state: 'off'\n then:\n - action: script.thermostat_stop_heating\n data:\n message: Кратковременный подогрев квартиры окончен",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "ETRVs requesting heat binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.etrvs_requesting_heat",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating request bathroom binary sensor",
|
||
"room": "bathroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.heating_request_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "disable_heating_when_noone_home",
|
||
"automation": "- alias: Disable Heating When Noone Home\n id: disable_heating_when_noone_home\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: binary_sensor.people_home\n from: 'on'\n to: 'off'\n for: 00:05:00\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.thermostat_active\n state: 'on'\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n actions:\n - action: timer.cancel\n entity_id:\n - timer.heating_quarantine\n - timer.short_heating\n - timer.pause_heating\n - action: script.thermostat_set_eco_mode\n data:\n message: Никого нет дома → переход в режим экономии",
|
||
"config": [
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat active binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_active",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat set eco mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_set_eco_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "restore_heating_when_someone_home",
|
||
"automation": "- alias: Restore Heating When Someone Home\n id: restore_heating_when_someone_home\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: binary_sensor.people_home\n from: 'off'\n to: 'on'\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.thermostat_active\n state: 'off'\n actions:\n - if:\n - condition: state\n entity_id: binary_sensor.windows\n state: 'on'\n then:\n - action: script.thermostat_set_eco_mode\n data:\n message: Окно открыто при возращении домой → сохранение режима экономии\n else:\n - action: script.thermostat_stop_heating\n data:\n message: Возвращение домой → отопление включено",
|
||
"config": [
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat active binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_active",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat set eco mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_set_eco_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "start_heating_by_etrv_request",
|
||
"automation": "- alias: Start Heating by ETRV Request\n id: start_heating_by_etrv_request\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: binary_sensor.etrvs_requesting_heat\n from: 'off'\n to: 'on'\n for: 00:01:00\n - trigger: time_pattern\n minutes: /2\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.etrvs_requesting_heat\n state: 'on'\n - condition: state\n entity_id: binary_sensor.windows\n state: 'off'\n for: 00:05:00\n - condition: state\n entity_id: timer.heating_quarantine\n state: idle\n - condition: state\n entity_id: timer.pause_heating\n state: idle\n - condition: state\n entity_id: timer.short_heating\n state: idle\n - condition: template\n value_template: \"{{ is_state('binary_sensor.people_home', 'on') or\\n is_state('input_boolean.guest_mode',\\\n \\ 'on')}}\\n\"\n - condition: state\n entity_id: binary_sensor.thermostat_heating\n state: 'off'\n actions:\n - action: script.thermostat_start_heating\n - action: input_boolean.turn_on\n entity_id: input_boolean.heating_allowed",
|
||
"config": [
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "ETRVs requesting heat binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.etrvs_requesting_heat",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat start heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_start_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating allowed input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_allowed",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "start_heating_in_bathroom",
|
||
"automation": "- alias: Start Heating in Bathroom\n id: start_heating_in_bathroom\n mode: single\n max_exceeded: silent\n trigger:\n - platform: state\n entity_id: binary_sensor.heating_request_bathroom\n from: 'off'\n to: 'on'\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: timer.pause_heating\n state: idle\n - condition: state\n entity_id: timer.short_heating\n state: idle\n - condition: template\n value_template: \"{{ is_state('binary_sensor.people_home', 'on') or\\n is_state('input_boolean.guest_mode',\\\n \\ 'on')}}\\n\"\n - condition: state\n entity_id: binary_sensor.thermostat_heating\n state: 'off'\n action:\n - action: script.thermostat_start_heating",
|
||
"config": [
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating request bathroom binary sensor",
|
||
"room": "bathroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.heating_request_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat start heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_start_heating",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "stop_heating_by_etrv_request",
|
||
"automation": "- alias: Stop Heating by ETRV Request\n id: stop_heating_by_etrv_request\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: binary_sensor.etrvs_requesting_heat\n from: 'on'\n to: 'off'\n for: 00:01:00\n - trigger: state\n entity_id: binary_sensor.heating_request_bathroom\n from: 'on'\n to: 'off'\n for: 00:01:00\n - trigger: time_pattern\n minutes: /2\n conditions:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.etrvs_requesting_heat\n state: 'off'\n - condition: state\n entity_id: binary_sensor.heating_request_bathroom\n state: 'off'\n - condition: state\n entity_id: timer.short_heating\n state: idle\n - condition: state\n entity_id: binary_sensor.thermostat_heating\n state: 'on'\n actions:\n - action: script.thermostat_stop_heating\n data:\n message: ETRVs не запрашивают отопление → температура возвращена на 22°C",
|
||
"config": [
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "ETRVs requesting heat binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.etrvs_requesting_heat",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating request bathroom binary sensor",
|
||
"room": "bathroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.heating_request_bathroom",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "start_pause_heating_manually",
|
||
"automation": "- alias: Start Pause Heating Manually\n id: start_pause_heating_manually\n mode: single\n max_exceeded: silent\n trigger:\n - platform: state\n entity_id: input_boolean.heating_allowed\n from: 'on'\n to: 'off'\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: binary_sensor.thermostat_heating\n state: 'on'\n action:\n - if:\n - condition: state\n entity_id: timer.short_heating\n state: active\n then:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: Подогрев квартиры окончен раньше вручную\n media_content_type: text\n - action: timer.cancel\n entity_id:\n - timer.heating_quarantine\n - timer.short_heating\n - timer.pause_heating\n - action: timer.start\n entity_id: timer.pause_heating\n - action: script.thermostat_stop_heating\n data:\n message: Отопление заблокировано вручную → температура возвращена на 22°C",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat stop heating script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.thermostat_stop_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating allowed input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_allowed",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "cancel_pause_heating_manually",
|
||
"automation": "- alias: Cancel Pause Heating Manually\n id: cancel_pause_heating_manually\n mode: single\n max_exceeded: silent\n trigger:\n - platform: state\n entity_id: input_boolean.heating_allowed\n from: 'off'\n to: 'on'\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: state\n entity_id: timer.pause_heating\n state: active\n action:\n - action: timer.cancel\n entity_id: timer.pause_heating\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: Блокировка отопления отменена вручную\n media_content_type: text\n - action: input_text.set_value\n data:\n entity_id: input_text.heating_log\n value: Блокировка отопления отменена вручную",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating log input text",
|
||
"room": "home",
|
||
"type": "input_text",
|
||
"id": {
|
||
"entity_id": "input_text.heating_log",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating allowed input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_allowed",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "log_heating_changes",
|
||
"automation": "- alias: Log Heating Changes\n id: log_heating_changes\n mode: parallel\n max: 10\n trigger:\n - platform: state\n entity_id:\n - binary_sensor.thermostat_heating\n - binary_sensor.thermostat_active\n - binary_sensor.etrvs_requesting_heat\n - binary_sensor.heating_request_bathroom\n - binary_sensor.freeze_alert_at_night\n - binary_sensor.windows\n - binary_sensor.people_home\n - input_boolean.heating_season\n - input_boolean.guest_mode\n - input_boolean.heating_allowed\n - input_number.thermostat_new_target_temperature\n - timer.heating_quarantine\n - timer.short_heating\n - timer.pause_heating\n actions:\n - condition: template\n value_template: '{{ trigger.from_state is not none and trigger.to_state is not\n none }}'\n - action: input_text.set_value\n data:\n entity_id: input_text.heating_log\n value: '{% set entity_name = states[trigger.entity_id].name | default(trigger.entity_id)\n %} {% set new_state = trigger.to_state.state %} {% set old_state = trigger.from_state.state\n %} Изменено состояние \"{{ entity_name }}\" с {{ old_state }} на {{ new_state\n }}'",
|
||
"config": [
|
||
{
|
||
"name": "Windows binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.windows",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat active binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_active",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Pause heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.pause_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating quarantine timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.heating_quarantine",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Short heating timer",
|
||
"room": "home",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.short_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating log input text",
|
||
"room": "home",
|
||
"type": "input_text",
|
||
"id": {
|
||
"entity_id": "input_text.heating_log",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Freeze alert at night binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.freeze_alert_at_night",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "ETRVs requesting heat binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.etrvs_requesting_heat",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating request bathroom binary sensor",
|
||
"room": "bathroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.heating_request_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating allowed input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_allowed",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat new target temperature input number",
|
||
"room": "living_room",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.thermostat_new_target_temperature",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "sync_danfoss_etrv_window_contact_kitchen",
|
||
"automation": "- alias: Sync Danfoss ETRV Window Contact Kitchen\n id: sync_danfoss_etrv_window_contact_kitchen\n mode: queued\n max: 3\n trigger:\n - platform: state\n entity_id: binary_sensor.kitchen_window_contact\n for: 00:00:10\n - platform: time_pattern\n minutes: /10\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: template\n value_template: '{{ states(''binary_sensor.kitchen_window_contact'') in [''on'',\n ''off''] }}\n\n '\n action:\n - action: switch.turn_{{ states('binary_sensor.kitchen_window_contact') }}\n target:\n entity_id: switch.danfoss_etrv0103_kitchen_external_window_sensor",
|
||
"config": [
|
||
{
|
||
"name": "Kitchen window contact binary sensor",
|
||
"room": "kitchen",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.kitchen_window_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Danfoss ETRV0103 kitchen external window sensor switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.danfoss_etrv0103_kitchen_external_window_sensor",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "sync_danfoss_etrv_window_contact_bedroom",
|
||
"automation": "- alias: Sync Danfoss ETRV Window Contact Bedroom\n id: sync_danfoss_etrv_window_contact_bedroom\n mode: queued\n max: 3\n trigger:\n - platform: state\n entity_id: binary_sensor.bedroom_window_contact\n for: 00:00:10\n - platform: time_pattern\n minutes: /10\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: template\n value_template: '{{ states(''binary_sensor.bedroom_window_contact'') in [''on'',\n ''off''] }}\n\n '\n action:\n - action: switch.turn_{{ states('binary_sensor.bedroom_window_contact') }}\n target:\n entity_id: switch.danfoss_etrv0100_bedroom_external_window_sensor",
|
||
"config": [
|
||
{
|
||
"name": "Bedroom window contact binary sensor",
|
||
"room": "bedroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.bedroom_window_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Danfoss ETRV0100 bedroom external window sensor switch",
|
||
"room": "bedroom",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.danfoss_etrv0100_bedroom_external_window_sensor",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "sync_danfoss_etrv_window_contact_living_room",
|
||
"automation": "- alias: Sync Danfoss ETRV Window Contact Living Room\n id: sync_danfoss_etrv_window_contact_living_room\n mode: queued\n max: 3\n trigger:\n - platform: state\n entity_id: binary_sensor.living_room_window_contact\n for: 00:00:10\n - platform: time_pattern\n minutes: /10\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: template\n value_template: '{{ states(''binary_sensor.living_room_window_contact'') in [''on'',\n ''off''] }}\n\n '\n action:\n - action: switch.turn_{{ states('binary_sensor.living_room_window_contact') }}\n target:\n entity_id: switch.danfoss_etrv0103_living_room_external_window_sensor",
|
||
"config": [
|
||
{
|
||
"name": "Living room window contact binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.living_room_window_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Danfoss ETRV0103 living room external window sensor switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.danfoss_etrv0103_living_room_external_window_sensor",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "sync_etrvs_heating_available_flag",
|
||
"automation": "- alias: Sync ETRVs Heating Available Flag\n id: sync_etrvs_heating_available_flag\n mode: queued\n max: 3\n trigger:\n - platform: state\n entity_id: binary_sensor.thermostat_heating\n for: 00:00:10\n - platform: time_pattern\n minutes: /10\n condition:\n - condition: state\n entity_id: input_boolean.heating_season\n state: 'on'\n - condition: template\n value_template: '{{ states(''binary_sensor.thermostat_heating'') in [''on'', ''off'']\n }}\n\n '\n action:\n - action: switch.turn_{{ states('binary_sensor.thermostat_heating') }}\n target:\n entity_id:\n - switch.danfoss_etrv0100_bedroom_heat_available\n - switch.danfoss_etrv0103_kitchen_heat_available\n - switch.danfoss_etrv0103_living_room_heat_available",
|
||
"config": [
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Thermostat heating binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.thermostat_heating",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Danfoss ETRV0100 bedroom heat available switch",
|
||
"room": "bedroom",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.danfoss_etrv0100_bedroom_heat_available",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Danfoss ETRV0103 kitchen heat available switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.danfoss_etrv0103_kitchen_heat_available",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Danfoss ETRV0103 living room heat available switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.danfoss_etrv0103_living_room_heat_available",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "hall_lights_and_alice_greeting",
|
||
"automation": "- id: hall_lights_and_alice_greeting\n alias: Hall Lights and Alice Greeting\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n id: SEN_CAME_HOME\n entity_id: person.sen\n to: home\n - trigger: state\n id: KRIS_CAME_HOME\n entity_id: person.kris\n to: home\n actions:\n - wait_template: '{{ states(''binary_sensor.hall_door_contact'') == ''on'' }}'\n timeout: 00:15:00\n continue_on_timeout: false\n - if:\n - condition: trigger\n id: SEN_CAME_HOME\n then:\n - action: light.turn_on\n entity_id: light.hall_lights\n - wait_template: '{{ states(''binary_sensor.hall_door_contact'') == ''off'' }}'\n timeout: 00:10:00\n continue_on_timeout: false\n - choose:\n - conditions:\n - condition: trigger\n id: SEN_CAME_HOME\n - condition: template\n value_template: '{{ ( as_timestamp(states.person.kris.last_changed, 0) | int(0)\n ) < ( as_timestamp(states.person.sen.last_changed, 0) | int(0) ) }}'\n sequence:\n - delay: 00:00:01\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: 'Добро пожаловать домой мистер Морган!\n\n '\n media_content_type: dialog\n extra:\n volume_level: 0.8\n - choose:\n - conditions:\n - condition: sun\n after: sunset\n before_offset: 00:15:00\n sequence:\n - action: light.turn_on\n entity_id: light.string_lights\n - delay: 00:00:01\n - action: light.turn_on\n entity_id: light.kitchen_ceiling_light\n - conditions:\n - condition: trigger\n id: KRIS_CAME_HOME\n - condition: template\n value_template: '{{ ( as_timestamp(states.person.sen.last_changed, 0) | int(0)\n ) < ( as_timestamp(states.person.kris.last_changed, 0) | int(0) ) }}'\n sequence:\n - action: media_player.play_media\n alias: Only welcome\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: 'Добро пожаловать домой миссис Морган\n\n '\n media_content_type: dialog\n extra:\n volume_level: 0.6\n - conditions:\n - condition: state\n entity_id: person.sen\n state: home\n - condition: state\n entity_id: person.kris\n state: home\n sequence:\n - alias: Switch on lights and welcome\n choose:\n - conditions:\n - condition: sun\n after: sunset\n before_offset: 00:15:00\n sequence:\n - action: light.turn_on\n entity_id: light.string_lights\n - action: media_player.play_media\n alias: Welcome everybody\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: 'Добро пожаловать домой мистер и миссис Морган\n\n '\n media_content_type: dialog\n extra:\n volume_level: 0.6\n default:\n - action: script.notify_and_create_persistent_notification\n data:\n title: ⚠️ Предупреждение\n message: Автоматизация приветствия не смогла определить кто пришел домой",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Hall door contact binary sensor",
|
||
"room": "hall",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.hall_door_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kris person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.kris",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Hall lights",
|
||
"room": "hall",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.hall_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "String lights",
|
||
"room": "living_room",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.string_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen ceiling light",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.kitchen_ceiling_light",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "home_all_lights_off",
|
||
"automation": "- id: home_all_lights_off\n alias: Home All Lights OFF\n mode: restart\n triggers:\n - trigger: state\n entity_id: binary_sensor.hall_door_contact\n from: 'on'\n to: 'off'\n conditions:\n - condition: state\n entity_id: binary_sensor.people_home\n state: 'on'\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n actions:\n - wait_template: '{{ states(''binary_sensor.people_home'') == ''off'' }}'\n timeout: 00:30:00\n continue_on_timeout: false\n - if:\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n then:\n - action: script.turn_on\n entity_id: script.turn_off_all_lights\n - action: scene.turn_on\n entity_id: scene.no_people_home\n - variables:\n action_enable_guest_mode: '{{ ''action_enable_guest_mode'' ~ context.id }}'\n - action: notify.mobile_app_sm_s901b\n data:\n title: 👋 До свидания\n message: \"{% if is_state('input_boolean.heating_season', 'on') %}\\n Термостат\\\n \\ и свет были отключены\\n{% else %}\\n Весь свет был отключен\\n{% endif\\\n \\ %}\\n\"\n data:\n actions:\n - action: '{{ action_enable_guest_mode }}'\n title: 👤 Включить гостевой режим\n - wait_for_trigger:\n - trigger: event\n event_type: mobile_app_notification_action\n event_data:\n action: '{{ action_enable_guest_mode }}'\n - if:\n - condition: template\n value_template: '{{ wait.trigger.event.data.action == action_enable_guest_mode\n }}'\n then:\n - action: script.enable_guest_mode",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Heating season input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.heating_season",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Hall door contact binary sensor",
|
||
"room": "hall",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.hall_door_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Turn off all lights script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.turn_off_all_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "No people home scene",
|
||
"room": "home",
|
||
"type": "scene",
|
||
"id": {
|
||
"entity_id": "scene.no_people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Enable guest mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.enable_guest_mode",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "hall_lights_by_motion_on",
|
||
"automation": "- id: hall_lights_by_motion_on\n alias: Hall Lights by Motion ON\n triggers:\n - trigger: state\n entity_id: binary_sensor.hall_door_contact\n to: 'on'\n - trigger: state\n entity_id: binary_sensor.aqara_hall_motion_sensor_occupancy\n to: 'on'\n conditions:\n - condition: state\n entity_id: light.hall_lights\n state: 'off'\n actions:\n - action: light.turn_on\n entity_id: light.hall_lights\n - action: input_boolean.turn_on\n entity_id: input_boolean.flag_hall_lights_triggered_by_motion",
|
||
"config": [
|
||
{
|
||
"name": "Hall door contact binary sensor",
|
||
"room": "hall",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.hall_door_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Hall lights",
|
||
"room": "hall",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.hall_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Aqara hall motion sensor occupancy binary sensor",
|
||
"room": "hall",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.aqara_hall_motion_sensor_occupancy",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Flag hall lights triggered by motion input boolean",
|
||
"room": "hall",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.flag_hall_lights_triggered_by_motion",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "hall_lights_by_motion_off",
|
||
"automation": "- id: hall_lights_by_motion_off\n alias: Hall Lights by Motion OFF\n triggers:\n - trigger: state\n entity_id: binary_sensor.aqara_hall_motion_sensor_occupancy\n to: 'off'\n conditions:\n - condition: state\n entity_id: input_boolean.flag_hall_lights_triggered_by_motion\n state: 'on'\n actions:\n - action: light.turn_off\n entity_id: light.hall_lights\n - action: input_boolean.turn_off\n entity_id: input_boolean.flag_hall_lights_triggered_by_motion",
|
||
"config": [
|
||
{
|
||
"name": "Hall lights",
|
||
"room": "hall",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.hall_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Aqara hall motion sensor occupancy binary sensor",
|
||
"room": "hall",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.aqara_hall_motion_sensor_occupancy",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Flag hall lights triggered by motion input boolean",
|
||
"room": "hall",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.flag_hall_lights_triggered_by_motion",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "kitchen_asus_pc_background_lights_on",
|
||
"automation": "- id: kitchen_asus_pc_background_lights_on\n alias: Kitchen Asus PC Background Lights ON\n triggers:\n - trigger: state\n entity_id: switch.asus_pc\n from: 'off'\n to: 'on'\n - trigger: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: 4.0\n - trigger: state\n entity_id: weather.home_assistant_blue\n conditions:\n - condition: state\n entity_id: person.sen\n state: home\n - condition: state\n entity_id: switch.asus_pc\n state: 'on'\n - or:\n - condition: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: 4.0\n - condition: template\n value_template: '{{ states(''weather.home_assistant_blue'') not in [''sunny'',\n ''partlycloudy''] }}'\n actions:\n - action: light.turn_on\n entity_id: light.gyver_lamp\n data:\n effect: Oгoнь\n brightness: 150\n rgb_color:\n - 255\n - 39\n - 25\n - if:\n - condition: template\n value_template: '{{ states(''person.kris'') == ''home''}}'\n then:\n - action: switch.turn_off\n entity_id: switch.pc_backlight_sync_send\n else:\n - action: light.turn_on\n entity_id:\n - light.shelf_lighting\n - light.pc_backlight\n - action: switch.turn_on\n entity_id: switch.pc_backlight_sync_send",
|
||
"config": [
|
||
{
|
||
"name": "Sun sun entity",
|
||
"room": null,
|
||
"type": "sun",
|
||
"id": {
|
||
"entity_id": "sun.sun",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kris person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.kris",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Asus PC switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.asus_pc",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Weather home assistant blue",
|
||
"room": "home",
|
||
"type": "weather",
|
||
"id": {
|
||
"entity_id": "weather.home_assistant_blue",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Gyver lamp",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.gyver_lamp",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "PC backlight sync send switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.pc_backlight_sync_send",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Shelf lighting",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.shelf_lighting",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "PC backlight",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.pc_backlight",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "kitchen_asus_pc_background_lights_off",
|
||
"automation": "- id: kitchen_asus_pc_background_lights_off\n alias: Kitchen Asus PC Background Lights OFF\n triggers:\n - trigger: state\n entity_id: switch.asus_pc\n from: 'on'\n to: 'off'\n actions:\n - action: light.turn_off\n entity_id:\n - light.gyver_lamp\n - light.shelf_lighting",
|
||
"config": [
|
||
{
|
||
"name": "Asus PC switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.asus_pc",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Gyver lamp",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.gyver_lamp",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Shelf lighting",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.shelf_lighting",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "kitchen_clock_disable_by_presence",
|
||
"automation": "- id: kitchen_clock_disable_by_presence\n alias: Kitchen Clock Disable by Presence\n triggers:\n - trigger: state\n entity_id: binary_sensor.people_home\n to: 'off'\n for: 00:01:00\n condition:\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n actions:\n - action: light.turn_off\n entity_id: light.7_seg_clock",
|
||
"config": [
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "7 segment clock light",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.7_seg_clock",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "kitchen_clock_reenable",
|
||
"automation": "- id: kitchen_clock_reenable\n alias: Kitchen Clock Reenable\n triggers:\n - trigger: state\n entity_id: light.7_seg_clock\n to: 'off'\n for: 00:00:05\n - trigger: state\n entity_id: binary_sensor.kitchen_motion_alarm\n to: 'on'\n - trigger: state\n entity_id: input_boolean.home_night_mode\n to: 'off'\n conditions:\n - condition: state\n entity_id: light.7_seg_clock\n state: 'off'\n - condition: state\n entity_id: binary_sensor.people_home\n state: 'on'\n - condition: time\n after: 05:00:00\n before: '22:00:00'\n actions:\n - action: light.turn_on\n entity_id: light.7_seg_clock",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen motion alarm binary sensor",
|
||
"room": "kitchen",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.kitchen_motion_alarm",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "7 segment clock light",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.7_seg_clock",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "interactive_cz_map_reenable",
|
||
"automation": "- id: interactive_cz_map_reenable\n alias: Interactive CZ Map Reenable\n triggers:\n - trigger: state\n entity_id: person.sen\n to: home\n - trigger: state\n entity_id: switch.asus_pc\n to: 'on'\n - trigger: state\n entity_id: input_boolean.home_night_mode\n to: 'off'\n conditions:\n - condition: state\n entity_id: switch.interactive_cz_map_enable\n state: 'off'\n - condition: state\n entity_id: person.sen\n state: home\n - condition: time\n after: 05:00:00\n before: '22:00:00'\n actions:\n - action: switch.turn_on\n entity_id: switch.interactive_cz_map_enable",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Asus PC switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.asus_pc",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Interactive CZ map enable switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.interactive_cz_map_enable",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wireless_charger_reenable",
|
||
"automation": "- id: wireless_charger_reenable\n alias: Wireless Charger Reenable\n triggers:\n - trigger: state\n entity_id: binary_sensor.people_home\n to: 'on'\n conditions:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n - condition: state\n entity_id: light.wireless_charger\n state: 'off'\n actions:\n - action: light.turn_on\n entity_id: light.wireless_charger",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Wireless charger light",
|
||
"room": "bedroom",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.wireless_charger",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "parking_lights_on",
|
||
"automation": "- id: parking_lights_on\n alias: Parking Lights ON\n mode: queued\n triggers:\n - trigger: state\n entity_id: input_button.parking_light\n actions:\n - action: script.turn_on\n target:\n entity_id: script.switch_on_parking_light",
|
||
"config": [
|
||
{
|
||
"name": "Parking light input button",
|
||
"room": "parking",
|
||
"type": "input_button",
|
||
"id": {
|
||
"entity_id": "input_button.parking_light",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Switch on parking light script",
|
||
"room": "parking",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.switch_on_parking_light",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "parking_light_emergency_on",
|
||
"automation": "- id: parking_light_emergency_on\n alias: Parking Light Emergency On\n triggers:\n - trigger: state\n entity_id: switch.parking_light\n to: 'off'\n for: 3600\n actions:\n - repeat:\n until:\n - condition: state\n entity_id: switch.parking_light\n state: 'on'\n sequence:\n - action: switch.turn_on\n entity_id: switch.parking_light\n - action: notify.mobile_app_sm_s901b\n data:\n title: 💬 Системное уведомление\n message: Реле освещения парковки было отключено более часа. Автоматическое\n включение в {{ states('sensor.time') }}\n - delay: 00:01:00",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Parking light switch",
|
||
"room": "parking",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.parking_light",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "kitchen_led_strip_sync_with_spotlights",
|
||
"automation": "- id: kitchen_led_strip_sync_with_spotlights\n alias: Kitchen LED Strip Sync with Spotlights\n triggers:\n - trigger: state\n entity_id: light.kitchen_spotlights\n conditions:\n - condition: template\n value_template: '{{ trigger.to_state.state in [''on'', ''off''] }}'\n actions:\n - action: light.turn_{{ trigger.to_state.state }}\n entity_id: light.kitchen_led_strip",
|
||
"config": [
|
||
{
|
||
"name": "Kitchen spotlights",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.kitchen_spotlights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen LED strip",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.kitchen_led_strip",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "activate_night_mode",
|
||
"automation": "- id: activate_night_mode\n alias: Activate Night Mode\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: input_button.activate_night_mode\n actions:\n - action: script.turn_on\n entity_id: script.activate_night_mode",
|
||
"config": [
|
||
{
|
||
"name": "Activate night mode input button",
|
||
"room": "bedroom",
|
||
"type": "input_button",
|
||
"id": {
|
||
"entity_id": "input_button.activate_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Activate night mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.activate_night_mode",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "busy_wall_switch_1",
|
||
"automation": "- id: busy_wall_switch_1\n alias: Busy Wall Switch 1\n mode: restart\n triggers:\n - trigger: state\n entity_id: binary_sensor.air_quality_station_digital_input_1\n from: 'off'\n to: 'on'\n - trigger: state\n entity_id: binary_sensor.air_quality_station_digital_input_1\n from: 'on'\n to: 'off'\n conditions:\n - condition: state\n entity_id: input_boolean.child_lock\n state: 'off'\n - condition: state\n entity_id: input_boolean.guest_mode\n state: 'off'\n actions:\n - action: light.toggle\n entity_id: light.living_room_ceiling_light",
|
||
"config": [
|
||
{
|
||
"name": "Guest mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.guest_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Air quality station digital input 1 binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.air_quality_station_digital_input_1",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Child lock input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.child_lock",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Living room ceiling light",
|
||
"room": "living_room",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.living_room_ceiling_light",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "busy_wall_switch_2",
|
||
"automation": "- id: busy_wall_switch_2\n alias: Busy Wall Switch 2\n mode: restart\n triggers:\n - trigger: state\n entity_id: binary_sensor.air_quality_station_digital_input_2\n from: 'off'\n to: 'on'\n - trigger: state\n entity_id: binary_sensor.air_quality_station_digital_input_2\n from: 'on'\n to: 'off'\n actions:\n - action: light.toggle\n entity_id: light.floor_lamp",
|
||
"config": [
|
||
{
|
||
"name": "Air quality station digital input 2 binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.air_quality_station_digital_input_2",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Floor lamp",
|
||
"room": "living_room",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.floor_lamp",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "silent_mode_handler",
|
||
"automation": "- alias: Silent Mode Handler\n id: silent_mode_handler\n triggers:\n - trigger: state\n entity_id: input_boolean.silent_mode\n actions:\n service_template: \"{% if is_state('input_boolean.silent_mode', 'on') %}\\n script.set_silent_mode\\n\\\n {% else %}\\n script.reset_silent_mode\\n{% endif %}\\n\"",
|
||
"config": [
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Set silent mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.set_silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Reset silent mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.reset_silent_mode",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "night_mode_handler",
|
||
"automation": "- alias: Night Mode Handler\n id: night_mode_handler\n triggers:\n - trigger: state\n entity_id: input_boolean.home_night_mode\n actions:\n service_template: \"{% if is_state('input_boolean.home_night_mode', 'on') %}\\n\\\n \\ script.home_night_mode\\n{% else %}\\n script.home_day_mode\\n{% endif %}\\n\"",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Home night mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Home day mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.home_day_mode",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "home_enable_night_mode_at_evening",
|
||
"automation": "- alias: Home Enable Night Mode at Evening\n id: home_enable_night_mode_at_evening\n mode: single\n triggers:\n - trigger: state\n entity_id: binary_sensor.bedroom_door_contact\n from: 'on'\n to: 'off'\n for: 00:00:30\n - trigger: time\n at: '21:00:00'\n conditions:\n - condition: time\n after: '20:00:00'\n before: 03:00:00\n - condition: state\n entity_id: binary_sensor.people_home\n state: 'on'\n actions:\n - action: input_boolean.turn_on\n entity_id:\n - input_boolean.home_night_mode\n - input_boolean.silent_mode",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom door contact binary sensor",
|
||
"room": "bedroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.bedroom_door_contact",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "yandex_volume_increased_handler",
|
||
"automation": "- alias: Yandex Volume Increased Handler\n id: yandex_volume_increased_handler\n mode: single\n triggers:\n - trigger: state\n entity_id: media_player.yandex_station_midi\n conditions:\n - condition: time\n after: 06:00:00\n before: '12:00:00'\n - condition: state\n entity_id: input_boolean.silent_mode\n state: 'on'\n - condition: template\n value_template: '{% set from = trigger.from_state.attributes.volume_level | float(0)\n %} {% set to = trigger.to_state.attributes.volume_level | float(0) %} {{ to\n > from }}\n\n '\n actions:\n - action: input_boolean.turn_off\n entity_id:\n - input_boolean.home_night_mode\n - input_boolean.silent_mode",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "good_morning_handler",
|
||
"automation": "- alias: Good Morning Handler\n id: good_morning_handler\n mode: single\n triggers:\n - trigger: time\n at: 09:00:00\n - trigger: state\n entity_id: cover.bedroom\n to: open\n conditions:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'on'\n - condition: time\n after: 06:00:00\n before: '12:00:00'\n actions:\n - action: input_boolean.turn_off\n entity_id:\n - input_boolean.home_night_mode\n - input_boolean.silent_mode",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Cover bedroom",
|
||
"room": "bedroom",
|
||
"type": "cover",
|
||
"id": {
|
||
"entity_id": "cover.bedroom",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "silent_mode_by_bedroom_door_enable",
|
||
"automation": "- alias: Silent Mode by Bedroom Door Enable\n id: silent_mode_by_bedroom_door_enable\n mode: single\n triggers:\n - trigger: state\n entity_id: binary_sensor.bedroom_door_contact\n to: 'off'\n for: 00:00:30\n actions:\n - action: input_boolean.turn_on\n entity_id: input_boolean.silent_mode",
|
||
"config": [
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom door contact binary sensor",
|
||
"room": "bedroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.bedroom_door_contact",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "silent_mode_by_bedroom_door_disable",
|
||
"automation": "- alias: Silent Mode by Bedroom Door Disable\n id: silent_mode_by_bedroom_door_disable\n mode: single\n triggers:\n - trigger: state\n entity_id: binary_sensor.bedroom_door_contact\n to: 'on'\n for: 00:00:30\n conditions:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n - condition: time\n after: 06:00:00\n before: '20:00:00'\n actions:\n - action: input_boolean.turn_off\n entity_id: input_boolean.silent_mode",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom door contact binary sensor",
|
||
"room": "bedroom",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.bedroom_door_contact",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "prevent_accidental_bedroom_lights_on",
|
||
"automation": "- alias: Prevent Accidental Bedroom Lights ON\n id: prevent_accidental_bedroom_lights_on\n triggers:\n - trigger: state\n entity_id:\n - light.bedroom_ceiling_light\n - light.bedroom_nightlight\n to: 'on'\n conditions:\n - condition: state\n entity_id: input_boolean.bedroom_lights_and_cover_safety_switch\n state: 'on'\n - condition: template\n value_template: '{{ trigger.to_state.context.user_id = None }}'\n actions:\n - action: light.turn_off\n data:\n entity_id: '{{ trigger.entity_id }}'",
|
||
"config": [
|
||
{
|
||
"name": "Bedroom ceiling light",
|
||
"room": "bedroom",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.bedroom_ceiling_light",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom nightlight",
|
||
"room": "bedroom",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.bedroom_nightlight",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom lights and cover safety switch input boolean",
|
||
"room": "bedroom",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.bedroom_lights_and_cover_safety_switch",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "prevent_accidental_bedroom_cover_open",
|
||
"automation": "- alias: Prevent Accidental Bedroom Cover Open\n id: prevent_accidental_bedroom_cover_open\n triggers:\n - trigger: state\n entity_id: cover.bedroom\n to: open\n conditions:\n - condition: state\n entity_id: input_boolean.bedroom_lights_and_cover_safety_switch\n state: 'on'\n - condition: template\n value_template: '{{ trigger.to_state.context.user_id = None }}'\n - condition: template\n value_template: secret TEMPLATE_NOT_A_YANDEX_USER_ID\n actions:\n - action: cover.close_cover\n data:\n entity_id: '{{ trigger.entity_id }}'",
|
||
"config": [
|
||
{
|
||
"name": "Cover bedroom",
|
||
"room": "bedroom",
|
||
"type": "cover",
|
||
"id": {
|
||
"entity_id": "cover.bedroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom lights and cover safety switch input boolean",
|
||
"room": "bedroom",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.bedroom_lights_and_cover_safety_switch",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "prevent_accidental_yandex_volume_increase_at_silent_mode",
|
||
"automation": "- alias: Prevent Accidental Yandex Volume Increase at Silent Mode\n id: prevent_accidental_yandex_volume_increase_at_silent_mode\n triggers:\n - trigger: state\n entity_id: media_player.yandex_station\n - trigger: state\n entity_id: media_player.yandex_station_midi\n conditions:\n - condition: state\n entity_id: input_boolean.silent_mode\n state: 'on'\n - condition: template\n value_template: '{% set from = trigger.from_state.attributes.volume_level | float(0)\n %} {% set to = trigger.to_state.attributes.volume_level | float(0) %} {{ to\n > from and to > 0.4 }}\n\n '\n actions:\n - action: script.set_volume_level_repeatedly\n data:\n media_player: media_player.yandex_station_midi\n volume_level: 0.2\n - action: script.set_volume_level_repeatedly\n data:\n media_player: media_player.yandex_station\n volume_level: 0.4",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Set volume level repeatedly script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.set_volume_level_repeatedly",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "prevent_accidental_yandex_mini_volume_increase",
|
||
"automation": "- alias: Prevent Accidental Yandex Mini Volume Increase\n id: prevent_accidental_yandex_mini_volume_increase\n mode: restart\n triggers:\n - trigger: state\n entity_id: media_player.yandex_station\n conditions:\n - condition: template\n value_template: '{{ trigger.to_state.context.user_id == None }}'\n - condition: template\n value_template: '{% set from = trigger.from_state.attributes.volume_level | float(0)\n %} {% set to = trigger.to_state.attributes.volume_level | float(0) %} {{ to\n > from and to > 0.6 }}\n\n '\n actions:\n - action: script.set_volume_level_repeatedly\n data:\n media_player: media_player.yandex_station\n volume_level: 0.6",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Set volume level repeatedly script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.set_volume_level_repeatedly",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_snow",
|
||
"automation": "- id: notification_snow\n alias: Notification Snow\n triggers:\n - trigger: numeric_state\n entity_id: sensor.openweathermap_snow\n above: 0\n actions:\n - action: notify.mobile_app_sm_s901b\n data_template:\n title: ❄️ Уведомление о снеге\n message: Должно выпадать {{ states('sensor.openweathermap_snow') }} мм/ч снега!",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "OpenWeatherMap snow sensor",
|
||
"room": null,
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.openweathermap_snow",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_door_opened",
|
||
"automation": "- id: notification_door_opened\n alias: Notification Door Opened\n triggers:\n - trigger: state\n entity_id: binary_sensor.hall_door_contact\n to: 'on'\n conditions:\n - condition: template\n value_template: '{{ not states(''person.sen'') == ''home''}}\n\n '\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: 💬 Системное уведомление\n message: Входная дверь была открыта в {{ states('sensor.time') }}",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Hall door contact binary sensor",
|
||
"room": "hall",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.hall_door_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_kris_arrived",
|
||
"automation": "- id: notification_kris_arrived\n alias: Notification Kris Arrived\n triggers:\n - entity_id: person.kris\n to: home\n trigger: state\n conditions:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n actions:\n - data:\n title: '{{ ''👩🦰'' }} Семейное уведомление'\n message: Кристина пришла домой в {{ states('sensor.time') }}\n action: notify.mobile_app_sm_s901b\n - if:\n - condition: template\n value_template: '{{ is_state(''person.sen'', ''home'') }}'\n then:\n - entity_id: script.notify_via_kitchen_spotlights\n action: script.turn_on\n - if:\n - condition: state\n entity_id: switch.asus_pc\n state: 'on'\n then:\n - target:\n entity_id: select.pc_backlight_preset\n data:\n option: Alarm\n action: select.select_option\n - delay: 00:00:10\n - target:\n entity_id: select.pc_backlight_preset\n data:\n option: Gender\n action: select.select_option",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kris person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.kris",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Asus PC switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.asus_pc",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notify via kitchen spotlights script",
|
||
"room": "kitchen",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_via_kitchen_spotlights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "PC backlight preset select",
|
||
"room": "kitchen",
|
||
"type": "select",
|
||
"id": {
|
||
"entity_id": "select.pc_backlight_preset",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_ads_b_receiver_disconnected",
|
||
"automation": "- id: notification_ads_b_receiver_disconnected\n alias: Notification ADS-B Receiver Disconnected\n triggers:\n - trigger: state\n entity_id: binary_sensor.fr24_feeder_receiver_connected\n from: 'on'\n to: 'off'\n for: 00:05:00\n actions:\n - variables:\n timestamp: '{{ trigger.to_state.last_changed.astimezone(now().tzinfo).strftime(''%H:%M:%S'')\n }}'\n - action: script.notify_and_create_persistent_notification\n data:\n title: ⚠️ Предупреждение\n message: Связь с ADS-B приёмником была потеряна в {{ timestamp }}\n - action: automation.turn_on\n entity_id: automation.notification_ads_b_receiver_connection_restored",
|
||
"config": [
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "FR24 feeder receiver connected binary sensor",
|
||
"room": "office",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.fr24_feeder_receiver_connected",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification ADS-B receiver connection restored automation",
|
||
"room": "office",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_ads_b_receiver_connection_restored",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_ads_b_receiver_connection_restored",
|
||
"automation": "- id: notification_ads_b_receiver_connection_restored\n alias: Notification ADS-B Receiver Connection Restored\n triggers:\n - trigger: state\n entity_id: binary_sensor.fr24_feeder_receiver_connected\n from: 'off'\n to: 'on'\n for: 00:01:00\n actions:\n - variables:\n timestamp: '{{ trigger.to_state.last_changed.astimezone(now().tzinfo).strftime(''%H:%M:%S'')\n }}'\n - action: script.notify_and_create_persistent_notification\n data:\n title: 💬 Системное уведомление\n message: Связь с ADS-B приёмником была восстановлена в {{ timestamp }}\n - action: automation.turn_off\n entity_id: automation.notification_ads_b_receiver_connection_restored",
|
||
"config": [
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "FR24 feeder receiver connected binary sensor",
|
||
"room": "office",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.fr24_feeder_receiver_connected",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Notification ADS-B receiver connection restored automation",
|
||
"room": "office",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.notification_ads_b_receiver_connection_restored",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_diesel_price_changed",
|
||
"automation": "- id: notification_diesel_price_changed\n alias: Notification Diesel Price Changed\n triggers:\n - trigger: state\n entity_id: sensor.diesel_price_ono\n conditions:\n - condition: template\n value_template: '{{ trigger.from_state.state != trigger.to_state.state }}\n\n '\n - condition: template\n value_template: '{{ is_number(trigger.from_state.state) and is_number(trigger.to_state.state)\n }}\n\n '\n actions:\n - action: script.notify_and_create_persistent_notification\n data:\n title: 💬 Системное уведомление\n message: 'Цена дизеля {{ ''упала'' if trigger.from_state.state | float(0) >\n trigger.to_state.state | float(0) else ''возрасла'' }} с {{ trigger.from_state.state\n }} до {{ trigger.to_state.state }} Kč/L\n\n '\n data:\n actions:\n - action: URI\n title: 📈 Open Chart\n uri: /lovelace/diesel-price",
|
||
"config": [
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Diesel price ONO sensor",
|
||
"room": null,
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.diesel_price_ono",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_gasoline_price_changed",
|
||
"automation": "- id: notification_gasoline_price_changed\n alias: Notification Gasoline Price Changed\n triggers:\n - trigger: state\n entity_id: sensor.gasoline_price_ono\n conditions:\n - condition: template\n value_template: '{{ trigger.from_state.state != trigger.to_state.state }}\n\n '\n - condition: template\n value_template: '{{ is_number(trigger.from_state.state) and is_number(trigger.to_state.state)\n }}\n\n '\n actions:\n - action: notify.mobile_app_sm_g991b\n data:\n title: 💬 Системное уведомление\n message: 'Цена бензина {{ ''упала'' if trigger.from_state.state | float(0) >\n trigger.to_state.state | float(0) else ''возрасла'' }} с {{ trigger.from_state.state\n }} до {{ trigger.to_state.state }} Kč/L\n\n '\n data:\n actions:\n - action: URI\n title: 📈 Open Chart\n uri: /lovelace/gasoline-price",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-G991B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_g991b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Gasoline price ONO sensor",
|
||
"room": null,
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.gasoline_price_ono",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_solar_panel_power_above_threshold",
|
||
"automation": "- id: notification_solar_panel_power_above_threshold\n alias: Notification Solar Panel Power Above Threshold\n triggers:\n - trigger: numeric_state\n entity_id: sensor.solar_panel_power\n above: 40\n for: 00:05:00\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: 🌞 Солнечная панель\n message: 'Мощность выше порога: {{ states(''sensor.solar_panel_power'') }} W'",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Solar panel power sensor",
|
||
"room": "roof",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.solar_panel_power",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_washing_finish",
|
||
"automation": "- id: notification_washing_finish\n alias: Notification Washing Finish\n triggers:\n - trigger: state\n entity_id: sensor.washing_machine_washer_job_state\n to: finish\n conditions:\n - condition: template\n value_template: '{{ (as_timestamp(now(), 0) - as_timestamp(states.sensor.washing_machine_washer_job_state.last_changed,\n 0)) < 14400 }}\n\n '\n actions:\n - action: script.yandex_joke_after_washing_clothes",
|
||
"config": [
|
||
{
|
||
"name": "Washing machine washer job state sensor",
|
||
"room": "bathroom",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.washing_machine_washer_job_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex joke after washing clothes script",
|
||
"room": "bathroom",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.yandex_joke_after_washing_clothes",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_shopping_list_sen",
|
||
"automation": "- id: notification_shopping_list_sen\n alias: Notification Shopping List for Sen\n description: Shopping list reminder when Sen enters the supermarket\n mode: single\n trigger:\n - platform: state\n entity_id: person.sen\n to: JIP\n for: 00:02:00\n condition:\n - condition: numeric_state\n entity_id: todo.shopping_list\n above: 0\n action:\n - action: notify.mobile_app_sm_s901b\n data:\n message: 🛒 Открыть список покупок?\n data:\n clickAction: /todo?entity_id=todo.shopping_list\n url: /todo?entity_id=todo.shopping_list",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Todo shopping list",
|
||
"room": "home",
|
||
"type": "todo",
|
||
"id": {
|
||
"entity_id": "todo.shopping_list",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_shopping_list_kris",
|
||
"automation": "- id: notification_shopping_list_kris\n alias: Notification Shopping List for Kris\n description: Shopping list reminder when Kris enters the supermarket\n mode: single\n trigger:\n - platform: state\n entity_id: person.kris\n to: JIP\n for: 00:02:00\n condition:\n - condition: numeric_state\n entity_id: todo.shopping_list\n above: 0\n action:\n - action: notify.mobile_app_sm_g991b\n data:\n message: 🛒 Открыть список покупок?\n data:\n clickAction: /todo?entity_id=todo.shopping_list\n url: /todo?entity_id=todo.shopping_list",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-G991B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_g991b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kris person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.kris",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Todo shopping list",
|
||
"room": "home",
|
||
"type": "todo",
|
||
"id": {
|
||
"entity_id": "todo.shopping_list",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notification_watch_charged",
|
||
"automation": "- id: notification_watch_charged\n alias: Notification Watch Charged\n trigger:\n - platform: numeric_state\n entity_id: sensor.galaxy_watch6_classic_r7dh_battery_level\n above: 79\n conditions:\n - condition: state\n entity_id: person.sen\n state: home\n action:\n - action: notify.mobile_app_sm_s901b\n data:\n title: '{{ ''🔋'' }} Часы заряжены'\n message: Твои Galaxy Watch заряжены уже на 80%!\n - if:\n - condition: state\n entity_id: input_boolean.silent_mode\n state: 'off'\n then:\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_type: text\n media_content_id: Часы заряжены на 80%",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Sen person",
|
||
"room": "home",
|
||
"type": "person",
|
||
"id": {
|
||
"entity_id": "person.sen",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Galaxy Watch6 Classic R7DH battery level sensor",
|
||
"room": "bedroom",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.galaxy_watch6_classic_r7dh_battery_level",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "update_plants_to_water_on_sensor_change",
|
||
"automation": "- alias: Update Plants to Water on Sensor Change\n id: update_plants_to_water_on_sensor_change\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: time_pattern\n minutes: /10\n actions:\n - action: python_script.update_plants_to_water",
|
||
"config": [
|
||
{
|
||
"name": "Python script update plants to water",
|
||
"room": "home",
|
||
"type": "python_script",
|
||
"id": {
|
||
"entity_id": "python_script.update_plants_to_water",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "notify_on_plants_to_water",
|
||
"automation": "- alias: Notify on Plants to Water\n id: notify_on_plants_to_water\n mode: single\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: input_text.plants_to_water\n conditions:\n - condition: template\n value_template: '{{ states(''input_text.plants_to_water'') | length > 0 }}'\n - condition: state\n entity_id: schedule.plant_watering_notification\n state: 'on'\n actions:\n - action: script.notify_and_create_persistent_notification\n data:\n title: 🪴 Домашние цветы\n message: 'Нужно полить следующие растения: {{ states(''input_text.plants_to_water'')\n }}'",
|
||
"config": [
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Plants to water input text",
|
||
"room": "home",
|
||
"type": "input_text",
|
||
"id": {
|
||
"entity_id": "input_text.plants_to_water",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Schedule plant watering notification",
|
||
"room": "home",
|
||
"type": "schedule",
|
||
"id": {
|
||
"entity_id": "schedule.plant_watering_notification",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "scooter_charger_enable",
|
||
"automation": "- alias: Scooter Charger Enable\n id: scooter_charger_enable\n mode: restart\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: input_boolean.scooter_charger\n to: 'on'\n actions:\n - action: switch.turn_on\n entity_id: switch.scooter_charger_socket\n - action: automation.turn_on\n entity_id: automation.scooter_charger_disable_when_idle\n - action: input_number.set_value\n data:\n entity_id: input_number.scooter_charger_energy_start\n value: '{{ states(''sensor.scooter_charger_summation_delivered'') | float(0)\n }}'\n - action: input_datetime.set_datetime\n data:\n entity_id: input_datetime.scooter_charger_energy_start_time\n datetime: '{{ now().strftime(''%Y-%m-%d %H:%M:%S'') }}'",
|
||
"config": [
|
||
{
|
||
"name": "Scooter charger input boolean",
|
||
"room": "hall",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.scooter_charger",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger socket switch",
|
||
"room": "hall",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.scooter_charger_socket",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger disable when idle automation",
|
||
"room": "hall",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.scooter_charger_disable_when_idle",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger summation delivered sensor",
|
||
"room": "hall",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.scooter_charger_summation_delivered",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger energy start input number",
|
||
"room": "hall",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.scooter_charger_energy_start",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger energy start time input datetime",
|
||
"room": "hall",
|
||
"type": "input_datetime",
|
||
"id": {
|
||
"entity_id": "input_datetime.scooter_charger_energy_start_time",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "scooter_charger_disable",
|
||
"automation": "- alias: Scooter Charger Disable\n id: scooter_charger_disable\n mode: restart\n max_exceeded: silent\n triggers:\n - trigger: state\n entity_id: input_boolean.scooter_charger\n to: 'off'\n actions:\n - action: switch.turn_off\n entity_id: switch.scooter_charger_socket\n - if:\n - condition: template\n value_template: '{{ states(''sensor.scooter_charger_energy_consumed'') | float(0)\n > 0 }}'\n then:\n - action: script.turn_on\n entity_id: script.scooter_charger_energy_consumed_notify\n - action: automation.turn_off\n entity_id: automation.scooter_charger_disable_when_idle",
|
||
"config": [
|
||
{
|
||
"name": "Scooter charger input boolean",
|
||
"room": "hall",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.scooter_charger",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger socket switch",
|
||
"room": "hall",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.scooter_charger_socket",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger disable when idle automation",
|
||
"room": "hall",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.scooter_charger_disable_when_idle",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger energy consumed sensor",
|
||
"room": "hall",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.scooter_charger_energy_consumed",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger energy consumed notify script",
|
||
"room": "hall",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.scooter_charger_energy_consumed_notify",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "scooter_charger_disable_when_idle",
|
||
"automation": "- alias: Scooter Charger Disable When Idle\n id: scooter_charger_disable_when_idle\n mode: restart\n max_exceeded: silent\n triggers:\n - trigger: numeric_state\n entity_id: sensor.scooter_charger_active_power\n below: 15\n for:\n minutes: 10\n actions:\n - action: switch.turn_off\n entity_id: switch.scooter_charger_socket\n - action: input_boolean.turn_off\n entity_id: input_boolean.scooter_charger\n - if:\n - condition: template\n value_template: '{{ states(''sensor.scooter_charger_energy_consumed'') | float(0)\n > 0 }}'\n then:\n - action: script.turn_on\n entity_id: script.scooter_charger_energy_consumed_notify\n - action: automation.turn_off\n entity_id: automation.scooter_charger_disable_when_idle",
|
||
"config": [
|
||
{
|
||
"name": "Scooter charger input boolean",
|
||
"room": "hall",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.scooter_charger",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger socket switch",
|
||
"room": "hall",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.scooter_charger_socket",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger disable when idle automation",
|
||
"room": "hall",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.scooter_charger_disable_when_idle",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger energy consumed sensor",
|
||
"room": "hall",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.scooter_charger_energy_consumed",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger energy consumed notify script",
|
||
"room": "hall",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.scooter_charger_energy_consumed_notify",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Scooter charger active power sensor",
|
||
"room": "hall",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.scooter_charger_active_power",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "tag_near_pc_was_scanned",
|
||
"automation": "- alias: Tag Near PC was scanned\n id: tag_near_pc_was_scanned\n mode: single\n triggers:\n - trigger: tag\n tag_id: c45d3b71-2ade-45e3-8663-f0028f52b01d\n actions:\n - action: input_boolean.toggle\n target:\n entity_id: input_boolean.show_cameras_in_lovelace\n - action: notify.mobile_app_sm_s901b\n data:\n title: 👁️ Режим камер\n message: \"{% if is_state('input_boolean.show_cameras_in_lovelace', 'on') %}\\n\\\n \\ Камеры включены\\n{% else %}\\n Камеры выключены\\n{% endif %}\"",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Show cameras in lovelace input boolean",
|
||
"room": "office",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.show_cameras_in_lovelace",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "reenable_cameras_if_hided",
|
||
"automation": "- alias: Reenable Cameras if Hided\n id: reenable_cameras_if_hided\n mode: single\n triggers:\n - trigger: state\n entity_id: input_boolean.show_cameras_in_lovelace\n to: 'off'\n for: 01:00:00\n actions:\n - action: input_boolean.turn_on\n target:\n entity_id: input_boolean.show_cameras_in_lovelace\n - action: notify.mobile_app_sm_s901b\n data:\n title: 👁️ Режим камер\n message: Камеры включены автоматически в {{ states('sensor.time') }}",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Show cameras in lovelace input boolean",
|
||
"room": "office",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.show_cameras_in_lovelace",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "tag_near_entrance_was_scanned",
|
||
"automation": "- alias: Tag Near Entrance was scanned\n id: tag_near_entrance_was_scanned\n mode: restart\n triggers:\n - trigger: tag\n tag_id: 5954e702-f87d-4955-969c-5231af33ece8\n actions:\n - action: script.enable_guest_mode",
|
||
"config": [
|
||
{
|
||
"name": "Enable guest mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.enable_guest_mode",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "living_room_tv_lights_by_sunset_or_tv_on",
|
||
"automation": "- alias: Living Room TV Lights by Sunset or TV ON\n id: living_room_tv_lights_by_sunset_or_tv_on\n description: Turn on TV lights automatically by sunset or when TV is turned on\n mode: restart\n triggers:\n - trigger: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: 4.0\n - trigger: state\n entity_id: media_player.samsung_tv\n to: 'on'\n conditions:\n - condition: state\n entity_id: media_player.samsung_tv\n state: 'on'\n - condition: numeric_state\n entity_id: sun.sun\n attribute: elevation\n below: 4.0\n actions:\n - wait_template: \"{{ states('switch.asus_pc') == 'off' and\\n states('light.kitchen_spotlights')\\\n \\ == 'off' and\\n states('light.kitchen_ceiling_light') == 'off' and\\n states('light.bedroom_nightlight')\\\n \\ == 'off' and\\n states('binary_sensor.kitchen_motion_alarm') == 'off' }}\\n\"\n timeout: 01:00:00\n continue_on_timeout: false\n - if:\n - condition: state\n entity_id: media_player.samsung_tv\n state: 'on'\n then:\n - action: scene.turn_on\n entity_id: scene.movies",
|
||
"config": [
|
||
{
|
||
"name": "Sun sun entity",
|
||
"room": null,
|
||
"type": "sun",
|
||
"id": {
|
||
"entity_id": "sun.sun",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen motion alarm binary sensor",
|
||
"room": "kitchen",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.kitchen_motion_alarm",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen ceiling light",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.kitchen_ceiling_light",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Asus PC switch",
|
||
"room": "kitchen",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.asus_pc",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Kitchen spotlights",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.kitchen_spotlights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom nightlight",
|
||
"room": "bedroom",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.bedroom_nightlight",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Samsung TV media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.samsung_tv",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Movies scene",
|
||
"room": "living_room",
|
||
"type": "scene",
|
||
"id": {
|
||
"entity_id": "scene.movies",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "living_room_speakers_power_on_with_tv",
|
||
"automation": "- alias: Living Room Speakers Power On with TV\n id: living_room_speakers_power_on_with_tv\n description: Turn on speakers automatically when TV is turned on\n mode: restart\n trigger:\n - platform: state\n entity_id: media_player.samsung_tv\n to: 'on'\n condition:\n - condition: state\n entity_id: switch.monolith_speakers\n state: 'off'\n action:\n - action: switch.turn_on\n entity_id: switch.monolith_speakers",
|
||
"config": [
|
||
{
|
||
"name": "Samsung TV media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.samsung_tv",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Monolith speakers switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.monolith_speakers",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "living_room_speakers_standby_off",
|
||
"automation": "- alias: Living Room Speakers Standby OFF\n id: living_room_speakers_standby_off\n description: Turn off speakers when in standby mode for a while and TV is off\n mode: restart\n trigger:\n - platform: state\n entity_id: binary_sensor.monolith_speakers_above_power_threshold\n to: 'off'\n for:\n minutes: 5\n condition:\n - condition: state\n entity_id: switch.monolith_speakers\n state: 'on'\n - condition: state\n entity_id: media_player.samsung_tv\n state: 'off'\n action:\n - action: switch.turn_off\n entity_id: switch.monolith_speakers",
|
||
"config": [
|
||
{
|
||
"name": "Samsung TV media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.samsung_tv",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Monolith speakers switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.monolith_speakers",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Monolith speakers above power threshold binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.monolith_speakers_above_power_threshold",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "living_room_speakers_auto_power_down",
|
||
"automation": "- alias: Living Room Speakers Auto Power Down\n id: living_room_speakers_auto_power_down\n description: Turn off speakers if power consumption remains low after powering on\n mode: restart\n trigger:\n - platform: state\n entity_id: switch.monolith_speakers\n to: 'on'\n action:\n - alias: Check if power consumption exceeds threshold\n wait_for_trigger:\n - platform: state\n entity_id: binary_sensor.monolith_speakers_above_power_threshold\n to: 'on'\n timeout:\n minutes: 5\n - if:\n - '{{ not wait.completed }}'\n - condition: state\n entity_id: media_player.samsung_tv\n state: 'off'\n then:\n - alias: Power off if threshold not exceeded\n action: switch.turn_off\n entity_id: switch.monolith_speakers",
|
||
"config": [
|
||
{
|
||
"name": "Samsung TV media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.samsung_tv",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Monolith speakers switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.monolith_speakers",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Monolith speakers above power threshold binary sensor",
|
||
"room": "living_room",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.monolith_speakers_above_power_threshold",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "ups_lost_grid_power_notification",
|
||
"automation": "- alias: UPS Lost Grid Power Notification\n id: ups_lost_grid_power_notification\n mode: single\n triggers:\n - trigger: state\n entity_id: sensor.ups_status_data\n to: OB DISCHRG\n actions:\n - action: script.notify_and_create_persistent_notification\n data:\n title: 🚨 Внимание!\n message: 'UPS потерял питание в {{ states(''sensor.time'') }} Рассчётное время\n работы: {{ states(''sensor.ups_battery_runtime'') | int(0) | timestamp_custom(''%M:%S'')\n }} минут\n\n '\n - action: automation.turn_on\n entity_id: automation.ups_grid_power_restored_notification",
|
||
"config": [
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS status data sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_status_data",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS battery runtime sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_battery_runtime",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS grid power restored notification automation",
|
||
"room": "office",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.ups_grid_power_restored_notification",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "ups_grid_power_restored_notification",
|
||
"automation": "- alias: UPS Grid Power Restored Notification\n id: ups_grid_power_restored_notification\n mode: single\n triggers:\n - trigger: template\n value_template: '{{ ''OL'' in states(''sensor.ups_status_data'') }}'\n actions:\n - action: script.notify_and_create_persistent_notification\n data:\n title: 🚨 Внимание!\n message: Питание восстановлено в {{ states('sensor.time') }}\n - action: automation.turn_off\n entity_id: automation.ups_grid_power_restored_notification",
|
||
"config": [
|
||
{
|
||
"name": "Notify and create persistent notification script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.notify_and_create_persistent_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS status data sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_status_data",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS grid power restored notification automation",
|
||
"room": "office",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.ups_grid_power_restored_notification",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "ups_low_battery_warning_notification",
|
||
"automation": "- alias: UPS Low Battery Warning Notification\n id: ups_low_battery_warning_notification\n mode: single\n triggers:\n - trigger: numeric_state\n entity_id: sensor.ups_battery_charge\n below: 21\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: 🚨 Внимание!\n message: 'Низкий заряд аккумулятора UPS: {{ states(''sensor.ups_battery_charge'')\n }}%\n\n '",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS battery charge sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_battery_charge",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "ups_shutdown_home_assistant_server",
|
||
"automation": "- alias: UPS Shutdown Home Assistant Server\n id: ups_shutdown_home_assistant_server\n mode: single\n triggers:\n - trigger: numeric_state\n entity_id: sensor.ups_battery_charge\n below: 10\n - trigger: numeric_state\n entity_id: sensor.ups_battery_runtime\n below: 300\n - trigger: template\n value_template: '{{ ''OB DISCHRG LB'' in states(''sensor.ups_status_data'') }}'\n actions:\n - action: notify.mobile_app_sm_s901b\n data:\n title: 🚨 Внимание!\n message: 'Критически низкий заряд батареи UPS.\n\n Немедленное отключение сервера Home Assistant в {{ states(''sensor.time'')\n }}\n\n '\n - delay: 00:00:05\n - action: hassio.host_shutdown",
|
||
"config": [
|
||
{
|
||
"name": "Mobile app SM-S901B notification",
|
||
"room": null,
|
||
"type": "notify",
|
||
"id": {
|
||
"entity_id": "notify.mobile_app_sm_s901b",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Time sensor",
|
||
"room": "home",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.time",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS status data sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_status_data",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS battery runtime sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_battery_runtime",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS battery charge sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_battery_charge",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "ups_lost_grid_power_light_notification",
|
||
"automation": "- alias: UPS Lost Grid Power Light Notification\n id: ups_lost_grid_power_light_notification\n mode: single\n triggers:\n - trigger: template\n value_template: '{{ ''OB'' in states(''sensor.ups_status_data'') }}'\n actions:\n - action: light.turn_on\n data:\n entity_id: light.tradfri_bulb\n brightness: 255\n effect: breathe\n - action: automation.turn_on\n entity_id: automation.ups_grid_power_restored_light_notification",
|
||
"config": [
|
||
{
|
||
"name": "UPS status data sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_status_data",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS grid power restored light notification automation",
|
||
"room": "office",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.ups_grid_power_restored_light_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Tradfri bulb",
|
||
"room": "office",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.tradfri_bulb",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "ups_grid_power_restored_light_notification",
|
||
"automation": "- alias: UPS Grid Power Restored Light Notification\n id: ups_grid_power_restored_light_notification\n mode: single\n triggers:\n - trigger: template\n value_template: '{{ ''OL'' in states(''sensor.ups_status_data'') }}'\n actions:\n - action: light.turn_on\n data:\n entity_id: light.tradfri_bulb\n brightness: 255\n - wait_template: '{{ not (''OL'' in states(''sensor.ups_status_data'')) }}'\n timeout: 00:00:10\n - if:\n - condition: template\n value_template: '{{ ''OL'' in states(''sensor.ups_status_data'') }}'\n then:\n - action: light.turn_off\n entity_id: light.tradfri_bulb\n - action: automation.turn_off\n entity_id: automation.ups_grid_power_restored_light_notification",
|
||
"config": [
|
||
{
|
||
"name": "UPS status data sensor",
|
||
"room": "office",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ups_status_data",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "UPS grid power restored light notification automation",
|
||
"room": "office",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.ups_grid_power_restored_light_notification",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Tradfri bulb",
|
||
"room": "office",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.tradfri_bulb",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_accupancy_set",
|
||
"automation": "- alias: WC Accupancy Set\n id: wc_accupancy_set\n triggers:\n - trigger: state\n entity_id: binary_sensor.wc_door_contact\n from: 'on'\n to: 'off'\n for:\n seconds: '{{ states(''input_number.wc_consider_occupied_after_seconds'') | default(0)\n | float(0) }}'\n conditions:\n - condition: state\n entity_id: input_boolean.wc_occupied\n state: 'off'\n actions:\n - action: input_boolean.turn_on\n entity_id: input_boolean.wc_occupied",
|
||
"config": [
|
||
{
|
||
"name": "WC door contact binary sensor",
|
||
"room": "wc",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.wc_door_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC consider occupied after seconds input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_consider_occupied_after_seconds",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC occupied input boolean",
|
||
"room": "wc",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.wc_occupied",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_accupancy_reset",
|
||
"automation": "- alias: WC Accupancy Reset\n id: wc_accupancy_reset\n triggers:\n - trigger: state\n entity_id: binary_sensor.wc_door_contact\n from: 'off'\n to: 'on'\n for:\n seconds: '{{ states(''input_number.wc_consider_unoccupied_after_seconds'') |\n default(0) | float(0) }}'\n conditions:\n - condition: state\n entity_id: input_boolean.wc_occupied\n state: 'on'\n actions:\n - action: input_boolean.turn_off\n entity_id: input_boolean.wc_occupied",
|
||
"config": [
|
||
{
|
||
"name": "WC door contact binary sensor",
|
||
"room": "wc",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.wc_door_contact",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC occupied input boolean",
|
||
"room": "wc",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.wc_occupied",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC consider unoccupied after seconds input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_consider_unoccupied_after_seconds",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_start_timer_manually",
|
||
"automation": "- alias: WC Ventilation Start Timer Manually\n id: wc_ventilation_start_timer_manually\n triggers:\n - trigger: state\n entity_id: fan.wc_and_bathroom\n from: 'off'\n to: 'on'\n conditions:\n - condition: template\n value_template: '{{ ((now() + timedelta(minutes=states(''input_number.wc_ventilate_for_minutes_after_manual_trigger'')\n | default(0) | float(0))).timestamp() > as_timestamp(state_attr(''timer.wc_ventilation'',\n ''finishes_at''), 0)) or (states(''timer.wc_ventilation'') in [''idle'', ''paused''])\n }}'\n actions:\n - action: timer.start\n data:\n entity_id: timer.wc_ventilation\n duration:\n minutes: '{{ states(''input_number.wc_ventilate_for_minutes_after_manual_trigger'')\n | default(0) | float(0) }}'\n - action: input_select.select_option\n data:\n entity_id: input_select.wc_ventilation_state\n option: MANUAL_ON\n - action: automation.turn_off\n entity_id: automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"config": [
|
||
{
|
||
"name": "WC and bathroom fan",
|
||
"room": "wc",
|
||
"type": "fan",
|
||
"id": {
|
||
"entity_id": "fan.wc_and_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilate for minutes after manual trigger input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_ventilate_for_minutes_after_manual_trigger",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_ventilation",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation state input select",
|
||
"room": "wc",
|
||
"type": "input_select",
|
||
"id": {
|
||
"entity_id": "input_select.wc_ventilation_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation stop humidity below threshold automation",
|
||
"room": "wc",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_stop_timer_manually",
|
||
"automation": "- alias: WC Ventilation Stop Timer Manually\n id: wc_ventilation_stop_timer_manually\n triggers:\n - trigger: state\n entity_id: fan.wc_and_bathroom\n from: 'on'\n to: 'off'\n conditions:\n - condition: state\n entity_id: timer.wc_ventilation\n state: active\n actions:\n - action: timer.cancel\n entity_id: timer.wc_ventilation\n - action: timer.cancel\n entity_id: timer.wc_wait_for_open_to_ventilate\n - action: input_select.select_option\n data:\n entity_id: input_select.wc_ventilation_state\n option: MANUAL_OFF\n - action: automation.turn_off\n entity_id: automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"config": [
|
||
{
|
||
"name": "WC and bathroom fan",
|
||
"room": "wc",
|
||
"type": "fan",
|
||
"id": {
|
||
"entity_id": "fan.wc_and_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_ventilation",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation state input select",
|
||
"room": "wc",
|
||
"type": "input_select",
|
||
"id": {
|
||
"entity_id": "input_select.wc_ventilation_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation stop humidity below threshold automation",
|
||
"room": "wc",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC wait for open to ventilate timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_wait_for_open_to_ventilate",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_timeout",
|
||
"automation": "- alias: WC Ventilation Timeout\n id: wc_ventilation_timeout\n triggers:\n - trigger: event\n event_type: timer.finished\n event_data:\n entity_id: timer.wc_ventilation\n actions:\n - action: fan.turn_off\n entity_id: fan.wc_and_bathroom\n - action: timer.cancel\n entity_id: timer.wc_wait_for_open_to_ventilate\n - action: input_select.select_option\n data:\n entity_id: input_select.wc_ventilation_state\n option: TIMEOUT\n - action: automation.turn_off\n entity_id: automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"config": [
|
||
{
|
||
"name": "WC and bathroom fan",
|
||
"room": "wc",
|
||
"type": "fan",
|
||
"id": {
|
||
"entity_id": "fan.wc_and_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_ventilation",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation state input select",
|
||
"room": "wc",
|
||
"type": "input_select",
|
||
"id": {
|
||
"entity_id": "input_select.wc_ventilation_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation stop humidity below threshold automation",
|
||
"room": "wc",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC wait for open to ventilate timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_wait_for_open_to_ventilate",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_start_timeout_for_door_open_state",
|
||
"automation": "- alias: WC Ventilation Start Timeout For Door Open State\n id: wc_ventilation_start_timeout_for_door_open_state\n triggers:\n - trigger: state\n entity_id: input_boolean.wc_occupied\n from: 'off'\n to: 'on'\n for:\n seconds: '{{ states(''input_number.wc_consider_ventilate_when_finished_if_occupied_for_seconds'')\n | default(0) | float(0) }}'\n actions:\n - action: timer.start\n data:\n entity_id: timer.wc_wait_for_open_to_ventilate\n duration:\n minutes: '{{ states(''input_number.wc_wait_for_opening_after_considered_to_ventilate_minutes'')\n | default(0) | float(0) }}'",
|
||
"config": [
|
||
{
|
||
"name": "WC occupied input boolean",
|
||
"room": "wc",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.wc_occupied",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC wait for open to ventilate timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_wait_for_open_to_ventilate",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC consider ventilate when finished if occupied for seconds input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_consider_ventilate_when_finished_if_occupied_for_seconds",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC wait for opening after considered to ventilate minutes input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_wait_for_opening_after_considered_to_ventilate_minutes",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_start_when_unoccupied",
|
||
"automation": "- alias: WC Ventilation Start When Unoccupied\n id: wc_ventilation_start_when_unoccupied\n triggers:\n - trigger: state\n entity_id: input_boolean.wc_occupied\n from: 'on'\n to: 'off'\n conditions:\n - condition: state\n entity_id: timer.wc_wait_for_open_to_ventilate\n state: active\n - condition: template\n value_template: '{{ ((now() + timedelta(minutes=states(''input_number.wc_ventilate_for_minutes_when_finished'')\n | default(0) | float(0))).timestamp() > as_timestamp(state_attr(''timer.wc_ventilation'',\n ''finishes_at''), 0)) or (states(''timer.wc_ventilation'') in [''idle'', ''paused''])\n }}'\n actions:\n - action: fan.turn_on\n entity_id: fan.wc_and_bathroom\n - action: timer.cancel\n entity_id: timer.wc_wait_for_open_to_ventilate\n - action: timer.start\n data:\n entity_id: timer.wc_ventilation\n duration:\n minutes: '{{ states(''input_number.wc_ventilate_for_minutes_when_finished'')\n | default(0) | float(0) }}'\n - action: input_select.select_option\n data:\n entity_id: input_select.wc_ventilation_state\n option: TOILET_ON",
|
||
"config": [
|
||
{
|
||
"name": "WC occupied input boolean",
|
||
"room": "wc",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.wc_occupied",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC and bathroom fan",
|
||
"room": "wc",
|
||
"type": "fan",
|
||
"id": {
|
||
"entity_id": "fan.wc_and_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_ventilation",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation state input select",
|
||
"room": "wc",
|
||
"type": "input_select",
|
||
"id": {
|
||
"entity_id": "input_select.wc_ventilation_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC wait for open to ventilate timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_wait_for_open_to_ventilate",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilate for minutes when finished input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_ventilate_for_minutes_when_finished",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_start_humidity_exceeds_threshold",
|
||
"automation": "- alias: WC Ventilation Start Humidity Exceeds Threshold\n id: wc_ventilation_start_humidity_exceeds_threshold\n triggers:\n - trigger: numeric_state\n entity_id: sensor.ble_humidity_atc_bathroom\n above: input_number.wc_ventilation_start_humidity_threshold\n for: 00:02:00\n actions:\n - action: timer.cancel\n entity_id: timer.wc_wait_for_open_to_ventilate\n - action: automation.turn_on\n entity_id: automation.wc_ventilation_stop_humidity_below_threshold\n - action: timer.start\n data:\n entity_id: timer.wc_ventilation\n duration:\n minutes: '{{ states(''input_number.wc_max_ventilation_duration_minutes'')\n | default(0) | float(0) }}'\n - action: fan.turn_on\n entity_id: fan.wc_and_bathroom\n - action: input_select.select_option\n data:\n entity_id: input_select.wc_ventilation_state\n option: HUMIDITY_ON",
|
||
"config": [
|
||
{
|
||
"name": "WC and bathroom fan",
|
||
"room": "wc",
|
||
"type": "fan",
|
||
"id": {
|
||
"entity_id": "fan.wc_and_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_ventilation",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation state input select",
|
||
"room": "wc",
|
||
"type": "input_select",
|
||
"id": {
|
||
"entity_id": "input_select.wc_ventilation_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation stop humidity below threshold automation",
|
||
"room": "wc",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC wait for open to ventilate timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_wait_for_open_to_ventilate",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "BLE humidity ATC bathroom sensor",
|
||
"room": "bathroom",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ble_humidity_atc_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation start humidity threshold input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_ventilation_start_humidity_threshold",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC max ventilation duration minutes input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_max_ventilation_duration_minutes",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_stop_humidity_below_threshold",
|
||
"automation": "- alias: WC Ventilation Stop Humidity Below Threshold\n id: wc_ventilation_stop_humidity_below_threshold\n triggers:\n - trigger: numeric_state\n entity_id: sensor.ble_humidity_atc_bathroom\n below: input_number.wc_ventilation_stop_humidity_threshold\n for: 00:02:00\n actions:\n - action: timer.cancel\n entity_id: timer.wc_ventilation\n - action: fan.turn_off\n entity_id: fan.wc_and_bathroom\n - action: input_select.select_option\n data:\n entity_id: input_select.wc_ventilation_state\n option: HUMIDITY_OFF\n - action: automation.turn_off\n entity_id: automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"config": [
|
||
{
|
||
"name": "WC and bathroom fan",
|
||
"room": "wc",
|
||
"type": "fan",
|
||
"id": {
|
||
"entity_id": "fan.wc_and_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_ventilation",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation state input select",
|
||
"room": "wc",
|
||
"type": "input_select",
|
||
"id": {
|
||
"entity_id": "input_select.wc_ventilation_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation stop humidity below threshold automation",
|
||
"room": "wc",
|
||
"type": "automation",
|
||
"id": {
|
||
"entity_id": "automation.wc_ventilation_stop_humidity_below_threshold",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "BLE humidity ATC bathroom sensor",
|
||
"room": "bathroom",
|
||
"type": "sensor",
|
||
"id": {
|
||
"entity_id": "sensor.ble_humidity_atc_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation stop humidity threshold input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_ventilation_stop_humidity_threshold",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "wc_ventilation_start_timer_emergency",
|
||
"automation": "- alias: WC Ventilation Start Timer Emergency\n id: wc_ventilation_start_timer_emergency\n triggers:\n - trigger: state\n entity_id: fan.wc_and_bathroom\n to: 'on'\n for: 00:01:00\n conditions:\n - or:\n - condition: state\n entity_id: timer.wc_ventilation\n state: idle\n - condition: state\n entity_id: timer.wc_ventilation\n state: paused\n actions:\n - action: timer.start\n data:\n entity_id: timer.wc_ventilation\n duration:\n minutes: '{{ states(''input_number.wc_max_ventilation_duration_minutes'')\n | default(0) | float(0) }}'\n - action: input_select.select_option\n data:\n entity_id: input_select.wc_ventilation_state\n option: EMERGENCY",
|
||
"config": [
|
||
{
|
||
"name": "WC and bathroom fan",
|
||
"room": "wc",
|
||
"type": "fan",
|
||
"id": {
|
||
"entity_id": "fan.wc_and_bathroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation timer",
|
||
"room": "wc",
|
||
"type": "timer",
|
||
"id": {
|
||
"entity_id": "timer.wc_ventilation",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC ventilation state input select",
|
||
"room": "wc",
|
||
"type": "input_select",
|
||
"id": {
|
||
"entity_id": "input_select.wc_ventilation_state",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "WC max ventilation duration minutes input number",
|
||
"room": "wc",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.wc_max_ventilation_duration_minutes",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "sync_shopping_list",
|
||
"automation": "- id: sync_shopping_list\n alias: Sync Shopping List\n mode: single\n triggers:\n - trigger: state\n entity_id: binary_sensor.people_home\n to: 'off'\n for: 00:05:00\n actions:\n - action: input_number.set_value\n target:\n entity_id: input_number.volume_yandex_station\n data:\n value: '{{ state_attr(''media_player.yandex_station_midi'', ''volume_level'')}}'\n - repeat:\n while:\n - condition: template\n value_template: '{{ not is_state_attr(''media_player.yandex_station_midi'',\n ''volume_level'', 0.01) }}'\n - condition: template\n value_template: '{{ repeat.index <= 3 }}'\n sequence:\n - action: media_player.volume_set\n data:\n entity_id: media_player.yandex_station_midi\n volume_level: 0.01\n - delay: 0.5\n - action: script.turn_on\n entity_id: script.update_shopping_list\n - delay: 1\n - action: media_player.play_media\n entity_id: media_player.yandex_station_midi\n data:\n media_content_id: stop\n media_content_type: command\n - delay: 1\n - repeat:\n while:\n - condition: template\n value_template: '{{ not is_state_attr(''media_player.yandex_station_midi'',\n ''volume_level'', states(''input_number.volume_yandex_station'')) }}'\n - condition: template\n value_template: '{{ repeat.index <= 3 }}'\n sequence:\n - action: media_player.volume_set\n data:\n entity_id: media_player.yandex_station_midi\n volume_level: '{{ states(''input_number.volume_yandex_station'')}}'\n - delay: 1",
|
||
"config": [
|
||
{
|
||
"name": "Yandex station midi media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station_midi",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "People home binary sensor",
|
||
"room": "home",
|
||
"type": "binary_sensor",
|
||
"id": {
|
||
"entity_id": "binary_sensor.people_home",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Yandex station media player",
|
||
"room": "living_room",
|
||
"type": "media_player",
|
||
"id": {
|
||
"entity_id": "media_player.yandex_station",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Volume yandex station input number",
|
||
"room": "living_room",
|
||
"type": "input_number",
|
||
"id": {
|
||
"entity_id": "input_number.volume_yandex_station",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Update shopping list script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.update_shopping_list",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "aqara_switch_1_handler",
|
||
"automation": "- alias: Aqara Switch 1 Handler\n id: aqara_switch_1_handler\n mode: restart\n max_exceeded: silent\n triggers:\n - trigger: event\n event_type: zha_event\n event_data:\n device_id: 6559eaaf60c9624465f762290ff9e825\n actions:\n - variables:\n command: '{{ trigger.event.data.command }}'\n - choose:\n - conditions:\n - '{{ command == ''single'' }}'\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.child_lock\n state: 'off'\n then:\n - action: script.activate_night_mode\n - conditions:\n - '{{ command == ''double'' }}'\n sequence:\n - if:\n - condition: state\n entity_id: input_boolean.home_night_mode\n state: 'off'\n - condition: state\n entity_id: light.bedroom_nightlight\n state: 'off'\n then:\n - action: light.turn_on\n entity_id: light.bedroom_nightlight\n data:\n brightness: 255\n else:\n - action: light.turn_off\n entity_id: light.bedroom_nightlight\n - conditions:\n - '{{ command == ''hold'' }}'\n sequence:\n - action: input_boolean.turn_off\n entity_id: input_boolean.bedroom_lights_and_cover_safety_switch\n - action: cover.open_cover\n entity_id: cover.bedroom\n - if:\n - condition: state\n entity_id: input_boolean.child_lock\n state: 'off'\n then:\n - action: input_boolean.turn_off\n entity_id:\n - input_boolean.home_night_mode\n - input_boolean.silent_mode\n default: []",
|
||
"config": [
|
||
{
|
||
"name": "Home night mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.home_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Activate night mode script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.activate_night_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Child lock input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.child_lock",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Silent mode input boolean",
|
||
"room": "home",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.silent_mode",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Cover bedroom",
|
||
"room": "bedroom",
|
||
"type": "cover",
|
||
"id": {
|
||
"entity_id": "cover.bedroom",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom nightlight",
|
||
"room": "bedroom",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.bedroom_nightlight",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Bedroom lights and cover safety switch input boolean",
|
||
"room": "bedroom",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.bedroom_lights_and_cover_safety_switch",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Aqara switch device",
|
||
"room": "bedroom",
|
||
"type": "device",
|
||
"id": {
|
||
"entity_id": null,
|
||
"device_id": "6559eaaf60c9624465f762290ff9e825"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "aqara_cube_1_handler",
|
||
"automation": "- alias: Aqara Cube 1 Handler\n id: aqara_cube_1_handler\n mode: restart\n max_exceeded: silent\n triggers:\n - trigger: event\n event_type: zha_event\n event_data:\n device_id: 48fad66663fc601ed1a63ac01e804fab\n actions:\n - if:\n - condition: state\n entity_id: input_boolean.cube_1_control\n state: 'on'\n then:\n - variables:\n command: '{{ trigger.event.data.command }}'\n flip_degrees: '{{ trigger.event.data.args.flip_degrees if trigger.event.data.args.flip_degrees\n is defined else 0 }}'\n relative_degrees: '{{ trigger.event.data.args.relative_degrees if trigger.event.data.args.relative_degrees\n is defined else 0 }}'\n - choose:\n - conditions:\n - '{{ flip_degrees == 90 }}'\n sequence:\n - action: light.toggle\n entity_id: light.string_lights\n - conditions:\n - '{{ flip_degrees == 180 }}'\n sequence:\n - action: light.toggle\n entity_id: light.floor_lamp\n - conditions:\n - '{{ command == ''shake'' }}'\n sequence:\n - action: script.turn_on\n entity_id: script.turn_off_all_lights\n - conditions:\n - '{{ command == ''tap'' }}'\n sequence:\n - action: scene.turn_on\n entity_id: scene.movies\n - conditions:\n - '{{ command == ''slide'' }}'\n sequence:\n - action: light.turn_on\n entity_id:\n - light.gyver_lamp\n - light.pc_backlight\n - conditions:\n - '{{ command == ''rotate_left'' or command == ''rotate_right'' }}'\n sequence:\n - action: light.turn_on\n entity_id: light.floor_lamp\n data_template:\n brightness: \"{% set suggested = state_attr('light.floor_lamp', 'brightness')\\\n \\ | int(0) + \\n relative_degrees | int(0) + 1 %}\\n{% if suggested >\\\n \\ 0 %} {{ suggested }} {% else %} 1 {% endif %}\\n\"",
|
||
"config": [
|
||
{
|
||
"name": "String lights",
|
||
"room": "living_room",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.string_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Turn off all lights script",
|
||
"room": "home",
|
||
"type": "script",
|
||
"id": {
|
||
"entity_id": "script.turn_off_all_lights",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Gyver lamp",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.gyver_lamp",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "PC backlight",
|
||
"room": "kitchen",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.pc_backlight",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Floor lamp",
|
||
"room": "living_room",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.floor_lamp",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Movies scene",
|
||
"room": "living_room",
|
||
"type": "scene",
|
||
"id": {
|
||
"entity_id": "scene.movies",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Aqara cube device",
|
||
"room": "living_room",
|
||
"type": "device",
|
||
"id": {
|
||
"entity_id": null,
|
||
"device_id": "48fad66663fc601ed1a63ac01e804fab"
|
||
}
|
||
},
|
||
{
|
||
"name": "Cube 1 control input boolean",
|
||
"room": "living_room",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.cube_1_control",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "tradfri_switch_1_handler",
|
||
"automation": "- alias: Tradfri Switch 1 Handler\n id: tradfri_switch_1_handler\n mode: restart\n max_exceeded: silent\n triggers:\n - trigger: event\n event_type: zha_event\n event_data:\n device_id: a64c98fa9b0c36e96ebe42160fcf78b5\n actions:\n - variables:\n command: '{{ trigger.event.data.command }}'\n - choose:\n - conditions:\n - '{{ command == ''on'' }}'\n sequence:\n - action: input_boolean.turn_on\n entity_id: input_boolean.scooter_charger\n - conditions:\n - '{{ command == ''off'' }}'\n sequence:\n - action: input_boolean.turn_off\n entity_id: input_boolean.scooter_charger",
|
||
"config": [
|
||
{
|
||
"name": "Scooter charger input boolean",
|
||
"room": "hall",
|
||
"type": "input_boolean",
|
||
"id": {
|
||
"entity_id": "input_boolean.scooter_charger",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Tradfri switch device",
|
||
"room": "hall",
|
||
"type": "device",
|
||
"id": {
|
||
"entity_id": null,
|
||
"device_id": "a64c98fa9b0c36e96ebe42160fcf78b5"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"id": "rodret_dimmer_1_handler",
|
||
"automation": "- alias: Rodret Dimmer 1 Handler\n id: rodret_dimmer_1_handler\n use_blueprint:\n path: damru/ikea-rodret_E2201_ZHA-Z2M_control-anything.yaml\n input:\n remote_device: 51724530dc1fcac3561d2fcb39f40048\n on_press_action:\n - action: light.turn_on\n entity_id:\n - light.mi_desk_lamp\n - light.tv_lights\n - action: switch.turn_on\n entity_id: switch.monolith_speakers\n off_press_action:\n - action: light.turn_off\n entity_id:\n - light.mi_desk_lamp\n - light.tv_lights\n - action: switch.turn_off\n entity_id: switch.monolith_speakers\n on_hold_action:\n - action: light.turn_on\n entity_id: light.mi_desk_lamp\n data:\n brightness_step_pct: 4\n off_hold_action:\n - action: light.turn_on\n entity_id: light.mi_desk_lamp\n data:\n brightness_step_pct: -4\n helper_hold_delay: 200\n helper_max_loops: 20",
|
||
"config": [
|
||
{
|
||
"name": "Monolith speakers switch",
|
||
"room": "living_room",
|
||
"type": "switch",
|
||
"id": {
|
||
"entity_id": "switch.monolith_speakers",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "Rodret dimmer device",
|
||
"room": "living_room",
|
||
"type": "device",
|
||
"id": {
|
||
"entity_id": null,
|
||
"device_id": "51724530dc1fcac3561d2fcb39f40048"
|
||
}
|
||
},
|
||
{
|
||
"name": "Mi desk lamp",
|
||
"room": "living_room",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.mi_desk_lamp",
|
||
"device_id": null
|
||
}
|
||
},
|
||
{
|
||
"name": "TV lights",
|
||
"room": "living_room",
|
||
"type": "light",
|
||
"id": {
|
||
"entity_id": "light.tv_lights",
|
||
"device_id": null
|
||
}
|
||
}
|
||
]
|
||
}
|
||
] |