Приобрести его можно тут: http://alii.pub/5xhi23
ESP32: http://ali.pub/5e1frn
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Данный брелок iTag у меня валялся очень давно. Он позиционируется как брелок для того, чтоб не потерять ключи. Но на деле оказалась абсолютно бесполезная хрень. Хотя и стоимость данного устройства 3 копейки.
Это устройство имеет на борту блютуз и кнопку и динамик. По задумке с мобильного приложения я должен найти этот брелок по блютузу и брелок начнет издавать звук, призывая найти его. Но на деле и динамик тихий и как-то работало оно через раз…
В общем как только оно пришло и повозившись с ним 5 минут, сразу же выкинул его в долгий ящик.
И вот, прошло лет пять ( если не больше). Я изучая ESPHome наткнулся на статью: https://esphome.io/cookbook/ble_itag.html
Там описано, как подключить iTag брелок по блютузу к ESP32 и использовать его как бинарный сенсер.
И так как на брелоке iTag имеется кнопка. Я подумал, что это вполне себе может послужить альтернативой беспроводной кнопке от XIaomi: http://alii.pub/5xhfip Так как стоит в 10 раз дешевле.
Забегая в перед, устройство действительно достойное получилось и гораздо интереснее стало чем было изначально.
Итак давайте теперь всетаки расскажу как-же все это дело добавить в ESPHome и Home Assistant.
В ESPHome добавляем следующее:
# Заставляет ESP32 сканировать Bluetooth сеть на наличие устройств и показывать маки этих устройств в логе.
# это нужно для того чтобы найти мак адрес itag устройства и вписать его в строчку "-mac-address: " ниже.
esp32_ble_tracker:
ble_client:
# Тут указывается мак адрес itag брелока.
- mac_address: FF:FF:20:00:0F:15
id: itag_black
binary_sensor:
- platform: template
id: black_button
name: "Black iTag Button"
filters:
delayed_off: 200ms
sensor:
# эта часть отвечает за статус нажатой кнопки.
- platform: ble_client
ble_client_id: itag_black
name: "Black iTag btn"
service_uuid: 'ffe0'
characteristic_uuid: 'ffe1'
notify: true
update_interval: never
on_notify:
then:
- binary_sensor.template.publish:
id: black_button
state: ON
- binary_sensor.template.publish:
id: black_button
state: OFF
# Эта часть отвечает за показ Уровня батареи
- platform: ble_client
ble_client_id: itag_black
name: "Black iTag Battery"
service_uuid: '180f'
characteristic_uuid: '2a19'
icon: 'mdi:battery'
unit_of_measurement: '%'
После того как добавите этот код, и загрузили его в контроллер. Нужно будет открыть лог и нажать кнопку на iTag устройстве, чтоб найти его мак адрес.
После нажатия кнопки увидим этот мак адрес копируем его и вставим в скетч в графу “-mac-address:"
Остальное все оставим без изменений.
Теперь после вставки мака правильного нужно еще раз залить этот код ( уже с верным маком) в ESP32.
Ну и после этого добавляем интеграцию ESPHome в Home Assistant как обычно в Настройках->Интеграции.
Все после этого у нас появится новый бинарный сенсор с именем Black iTag Button
Ну и теперь давайте сделаем какую-нибудь автоматизацию, чтоб у нас к примеру при нажатии кнопки iTag брелока включался свет.
В качестве осветителя, я буду использовать настольную лампу xiaomi. Как ее добавить в Home Assistant, я описывал в этой статье:
В общем сделаем так, чтоб при нажатии кнопки на iTag у нас включался светильник. А при еще одном нажатии выключался.
ЧТоб это сделать, нам нужно в файл /configs/automations.yaml добавить следующее:
- id: turn_on_ble_track_on # это произвольное id под которым эта автоматизация добавится в Home Assistant
alias: Turn on light by motion sensor # Это произвольное имя
trigger:
- platform: state
entity_id: binary_sensor.black_itag_button #Это id устройства iTag под которым оно добавлено в систему Home Assistant
to: 'on' #какое состояние кнопки считывать
action:
- service: light.toggle # Этот сервис означает, что при улавливании нажатой кнопки iTag менять состояние лампы на противоположное нынешнему состоянию.
entity_id: light.desk_lamp #Это id устройства Xiaomi лампы под которым оно добавлено в систему Home Assistant
Постарался каждую строчку автоматизации описать в комментариях после знака решетки ‘#’.
Ну и все, сохраняем файл автоматизации и переходим в Настройки->Сервер-> Перезапуск сервера Home Assistant.
После перезапуска сервера у нас автоматизация должна заработать. И теперь после нажатия на брелок, у нас будет запускаться Лампа. А после еще одного нажатия выключаться соответственно.
В итоге получилась очень не плохая альтернатива кнопки xiaomi. А такая кнопка всегда полезна будет. У меня по крайней мере всегда возникает желание делать кнопки дистанционного управления, чтоб управлять чем либо.
Устройство мне настолько понравилось, что планирую себе еще поназаказывать этих брелоков. Лишними теперь уж точно не будут.