Home assistant bluetooth remote

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Use a bluetooth remote control with Home Assistant

License

tjntomas/MI-Bluetooth-Remote-for-Home-Assistant

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Use a bluetooth remote control connected to a linux device with Home Assistant

NOTE: There is a dockerized version here that might suit some persons better. Docker version of bluetooth remote for HA

I wanted to be able to use a spare Xiaomi MI Remote control and get the keypresses as events into Home Assistant so I can use it as general purpose remote. The remote I used can be bought for around $12 on banggood.com or wish.com. Mi bluetooth remote

MM

The cheap WeChip G20S remotes will also work: WeChip remote

I paired the remote control with a NUC running Ubuntu that I use as a media player, but a Raspberry Pi or any other maching running a linux OS should work. I then wrote a simple python3 script to listen to the remote keypress events and send the events to Home Assistant.

To use the script, you need to:

  1. Install the dependencies in the script. They should all be present on your system with the exception of the evdev module which you can find here. https://pypi.org/project/evdev/
  2. Look in /dev/input and make a note of the highest numbered device
  3. Pair the remote control to the computer, as you would pair any bluetooth device.
  4. Look again in /dev/input and make note of the new device that has been created. This is your bluetooth remote control.
  5. Fill in the name of the path to your remote control device in the python script, i.e. /dev/input/event9
  6. Add the details for your Home Assistant instance in the script.
Читайте также:  Bluetooth гарнитура качестве наушников

In total, you will need to edit the following lines in the script:

BASE_API = "http://192.168.1.20:8123/api/" # URL to your HA instance. DEV_INPUT = "/dev/input/event9" API_KEY = "A valid HA long-lived access token" HA_EVENT_NAME = "mi_bt_remote" # Arbitrary name of the event that will get fired. GRAB_DEVICE = False # Set to True to lock the device to this script. The system will not receive any events from the device. # i.e, the remote will not work as a volume control by default.
sudo python3 bt_remote_event.py

to see that it works. Sudo is necessary to access the input device. Then, in Home Assistant, you can subscribe to the mi_bt_remote event in developer tools.

Now, set up the script as a daemon by copying the btmon.service file to your service directory. You need to edit the path to the python script in the service file. Enable the service and start it. The service need to run as user root.

You can now use the events as triggers in automations in Home Assistant.

About

Use a bluetooth remote control with Home Assistant

Источник

Добавляем поддержку BLE (bluetooth) устройств в Home Assistant

В последней публикации из своей трилогии я расскажу, как добавить поддержку Bluetooth устройств в умный дом на Home Assistant, а также напомню способ установки кастомных компонентов.

Translation to English is here . Также основной канал в telegram .

Первая часть заключалась в том, что я описал купленный стик:

Во второй части я описал как добавить поддержку сервисов Bluetooth в Linux, если таковой у Вас еще нет:

И вот — настало время все соединить воедино. Как я уже объяснил в прошлой статье, на сайте Home Assistant есть как минимум три интеграции, но они нам не нужны. Мы будем использовать интеграцию Passive BLE Monitor integration . Она себя зарекомендовала и множество (тысячи) пользователей установили ее себе и отметили ее на GitHub звездой.

Есть 2 способа установить эту интеграцию: а) Через HACS: писал про это тут:

б) Создаем рядом с файлом конфигурации Home Assistant папку custom_components и копируем в него интеграцию прямо с GItHub из этой папки .

Для копирования файлов на сервер очень удобно использовать ftp. Как его настроить, например, на Windows — писал тут:

1. Копируем файлы в папку или ставим из HACS (↑ описано выше ↑).

2. Далее перезагружаем HA и переходим в интеграции и набираем в поиске BLE. Если пункт №1 выполнен правильно, то найдется интеграция Passive BLE monitor

Читайте также:  Dexp колонка bluetooth p160

3. Выберем ее и нажмем «установить»

4. Как только установка закончится, появится менюшка. Если Bluetooth адаптер настроен верно, то мы увидим его в списке ниже(hcl0). Проверим что на нем стоит галка.

4. Я дополнительно установил галку на пункте «авто рестарт», но не уверен, что это требуется — скорее перестраховался.

5. После того, как я нажал кнопку «ок», в квартире мгновенно нашлись 4 устройства. Все устройства были от Xiaomi.

6. Нажимаем «финиш». Интеграция отображается в общем списке. Также показываются устройства и сущности.

7. Давайте нажмем на «устройства»:

8. Давайте нажмем на сущности:

Устройства заведенные в HA таким образом работают точно также как и WiFi или ZigBee устройства. За 2 недели у меня не было пока никаких проблем ни с одним из них. Не требуются никакие сопряжения устройств и прочие танцы с бубном, что я нахожу очень удобным. Всем добра!

Подпишитесь , чтобы не пропускать следующий контент.
Нажмите лайк , если интересно, так я пойму какие публикации больше нужны моей публике.
Также публикации можно найти на других площадках: Instagram , telegram ( RU , EN , DE ), Medium , LiveJournal , YouTube .

Мой блог является некоммерческим, поэтому позитивный комментарий, лайк или репост поможет публикациям выходить чаще ☺.

Источник

Добавление BLE iTag брелка в ESPHome и Home Assistant. Управление освещением с помощью кнопки брелока.

Данный брелок 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 устройстве, чтоб найти его мак адрес.

Читайте также:  Установить bluetooth acer 5750g

После нажатия кнопки увидим этот мак адрес копируем его и вставим в скетч в графу “ -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. А такая кнопка всегда полезна будет. У меня по крайней мере всегда возникает желание делать кнопки дистанционного управления, чтоб управлять чем либо.

Устройство мне настолько понравилось, что планирую себе еще поназаказывать этих брелоков. Лишними теперь уж точно не будут.

Источник

Оцените статью
Adblock
detector