Умный дверной звонок на базе Mi Wireless Switch [WXKG01LM]
Беспроводная кнопка Xiaomi Mi Smart Home Wireless Switch – беспроводной, компактный, выключатель для удаленного контроля за домашними приборами, который можно использовать как дверной звонок.
Размер | 3,60 х 3,60 х 1,15 см |
Вес | 50 г |
Материал | Пластик |
Батарея | CR1632 |
Рабочая температура: | 0° – 40° C |
Добавляем автоматизацию, теперь при нажатии на кнопку (одинарное, двойное, долгое) будет приходить пуш на телефон.
- alias: zvonok
trigger:
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_button
action:
- service: notify.mobile_app_m2101k6g
data:
title: Дом
message: Звонок в дверь!
На этом можно было бы и закончить, но мы сделаем наш звонок немного умнее. Добавим возможность ввода секретной комбинации нажатий на кнопку.
Для этого нам потребует текстовая переменная:
input_text:
ring_pass:
name: ring_pass
min: 0
max: 8
Таймер, для обнуления текстовой переменной:
timer:
time_password:
duration: "00:00:10"
При одиночном нажатии на кнопку мы прибавляем к текстовой переменной ring_pass «1» и перезапускаем таймер:
- alias: zvonok_code
trigger:
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_button
action:
- service: input_text.set_value
target:
entity_id: input_text.ring_pass
data:
value: "{{ states('input_text.ring_pass') +'1' }} "
- service: timer.cancel
entity_id: timer.time_password
- service: timer.start
entity_id: timer.time_password
При двойном нажатии на кнопку мы прибавляем к текстовой переменной ring_pass «2» и перезапускаем таймер:
- alias: zvonok_duble_code
trigger:
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_button
action:
- service: input_text.set_value
target:
entity_id: input_text.ring_pass
data:
value: "{{ states('input_text.ring_pass') +'2' }} "
- service: timer.cancel
entity_id: timer.time_password
- service: timer.start
entity_id: timer.time_password
При долгом нажатии на кнопку мы прибавляем к текстовой переменной ring_pass «-» и перезапускаем таймер:
- alias: zvonok_long_code
trigger:
- platform: event
event_type: xiaomi_aqara.click
event_data:
entity_id: binary_sensor.switch_button
action:
- service: input_text.set_value
target:
entity_id: input_text.ring_pass
data:
value: "{{ states('input_text.ring_pass') + '-' }} "
- service: timer.cancel
entity_id: timer.time_password
- service: timer.start
entity_id: timer.time_password
По истечении таймера time_password обнуляем переменную ring_pass и :
- alias: code_timer_finished
initial_state: true
trigger:
platform: event
event_type: timer.finished
event_data:
entity_id: timer.time_password
action:
- service: input_text.set_value
target:
entity_id: input_text.ring_pass
data:
value: ""
- service: timer.cancel
entity_id: timer.time_password
Осталось только отслеживать состояние переменной ring_pass и при нужном нам значении выполнять действие. Например пусть секретный код будет 3 коротких 1 долгое нажатие :
- alias: code_entered
initial_state: true
trigger:
platform: state
entity_id: input_text.ring_pass
to: '111-'
action:
- service: notify.mobile_app_m2101k6g
data:
title: Дом
message: Кодовый звонок в дверь
Умный звонок готов!
Если ты не знаешь куда этот код вставлять, тебе это не надо
Такой же ответ
api_id и api_hash проверяй
Не понимаю куда вставлять код, почему вы не можете нормально объяснить
Traceback (most recent call last): File "main.py", line 121, in with TelegramClient('CLIENT_ID', api_id, api_hash) as client: File "/home/runner/111/venv/lib/python3.8/site-packages/telethon/helpers.py", line 219,…