Отслеживайте устройства Bluetooth по площади (комнате) в HomeAssistant, используя устройства ESPHome bluetooth_proxy.
(в конце концов) Триангулируйте положения устройств! Например, на карте. Может быть.
Цель Бермудских островов — позволить вам отслеживать любое устройство Bluetooth, а Homeassistant сообщит вам, где в вашем доме находится это устройство. Единственное дополнительное оборудование, которое вам понадобится, — это устройства esp32, работающие под управлением esphome, которые действуют как прокси-серверы Bluetooth. Альтернативно, эту функцию также могут выполнять устройства Shelly Plus.
device_tracker
для выбранных устройств, которые можно связать с отслеживанием «Человек для дома/не дома».bermuda.dump_devices
. Одно или несколько устройств, предоставляющих информацию о прокси-сервере Bluetooth в HA с помощью компонента bluetooth_proxy
eshome. Мне нравятся платы D1-Mini32, потому что они дешевы и просты в установке. Сообщается, что прокси-устройства Bluetooth Shelly Plus работают хорошо. Поддерживаются только устройства Bluetooth с собственной поддержкой, что означает отсутствие текущей или планируемой поддержки устройств MQTT и т. д.
USB Bluetooth на вашем хосте высокой доступности не идеален, поскольку он не ставит временные метки рекламных пакетов. Однако его можно использовать для простого отслеживания «Дом/Не дом», и в настоящее время включена поддержка расстояния по области.
Некоторые устройства Bluetooth BLE, которые вы хотите отслеживать. Умные часы, маяки, термометры и т. д.
Установите Бермудские острова через HACS:
См. Wiki для получения дополнительной информации о том, как это работает и как настроить Бермудские острова для вашего дома.
После установки интеграция должна быть видна в разделе «Настройки», «Устройства и службы».
Нажмите кнопку CONFIGURE
, чтобы увидеть диалоговое окно конфигурации. Внизу находится поле, в котором вы можете ввести/перечислить любые устройства Bluetooth, которые может видеть система. Выбор устройств добавит их в список настроенных устройств и создаст для них объекты датчиков. Посмотрите, как работают настройки? для получения дополнительной информации.
При выборе экрана устройства отображаются текущие датчики и другая информация. Обратите внимание, что в разделе «не показано» есть дополнительные датчики, которые по умолчанию отключены (на снимке экрана видно, что некоторые из них уже включены). Вы можете отредактировать их свойства, чтобы включить более подробные данные о местоположении вашего устройства. Однако в первую очередь это предназначено для устранения неполадок или разработки.
Информация датчика также включает имя и идентификатор области атрибутов, соответствующие MAC-адреса и т. д.
В разделе «Настройки», «Люди» вы можете определить любое устройство Bermuda для отслеживания статуса «дома/отсутствует» для любого человека/пользователя.
См. FAQ в Wiki!
Хотите улучшить это? Потрясающий! Имейте в виду, что это моя первая интеграция высокой доступности, и я скорее седобородый сисадмин, чем программист, поэтому если там, где я делаю глупости, я бы очень приветствовал некоторые улучшения!
Вы можете начать с использования службы bermuda.dump_devices
для проверки внутреннего состояния.
bermuda.dump_devices
Просто вызов службы bermuda.dump_devices
предоставит вам полный дамп внутренних структур данных, которые Bermuda использует для отслеживания и расчета своего состояния. Это может быть полезно для выяснения того, что происходит, и устранения неполадок, или для использования, если у вас есть особые потребности, которые вы можете решить с помощью датчиков шаблонов и т. д.
Если вызвать без параметров, служба вернет все данные. Доступны параметры, которые позволяют ограничить или переформатировать полученные данные, чтобы с ними было легче работать. В частности, параметр addresses
полезен для возврата только данных, относящихся к одному или нескольким MAC-адресам (или UUID iBeacon). Информацию о параметрах см. на странице Services
в домашнем помощнике в разделе Developer Tools
.
Важно: если вы решите использовать результаты этого вызова для своих собственных шаблонов и т. д., имейте в виду, что формат может измениться в любой версии и не обязательно будет считаться «критическим изменением». Это связано с тем, что структура используется внутри компании, а не является опубликованным API. При этом в примечаниях к выпуску будут предприняты усилия для указания переименования или перемещения полей в структуре, но не для добавления новых элементов.
Интеграции bluetooth_tracker
и ble_tracker
созданы только для определения «дома/не дома» и не определяют местоположение на основе «области». (Примечание: «Зоны» — это места за пределами дома, а «Области» — это комнаты/зоны внутри дома). Я хотел иметь возможность свободно экспериментировать с этим способами, которые могут не подходить ядру, но надеюсь, что хотя бы часть этого однажды найдет свое место в базовой кодовой базе.
Сценарий «монитор» использует автономные Pi для сбора данных Bluetooth, а затем передает их в MQTT. Он не использует возможности bluetooth_proxy
которые, как мне кажется, представляют собой будущее домашних сетей Bluetooth (ну, во всяком случае, это для моего дома!).
ESPrescent выглядит круто, но я не хочу выделять свои узлы для использования без esphome, и опять же, он не использует функции прокси-сервера Bluetooth, которые теперь доступны в HA. Вероятно, я заново изобретаю колесо ESPrescense.
Обязательно используйте интерфейс HACS! После установки HACS перейдите в Integrations
, щелкните меню «фрикадельки» в правом верхнем углу и выберите Custom Repositories
. Вставьте agittins/bermuda
в поле Repository
и выберите Integration
для Category
. Нажмите Add
.
Теперь вы сможете добавить интеграцию Bermuda BLE Trilateration
. После этого вам необходимо перезапустить Homeassistant, затем в Settings
, Devices & Services
выбрать Add Integration
и выполнить поиск Bermuda BLE Trilateration
. Вполне возможно, что он автоматически обнаружит вас, просто заметив ближайшие устройства Bluetooth.
После добавления интеграции вам необходимо настроить устройства, нажав Configure
в Devices and Services
, Bermuda BLE Trilateration
.
В диалоговом окне Configuration
вы можете выбрать, какие устройства Bluetooth вы хотите отслеживать при интеграции.
Инструкции ниже представляют собой общие примечания из шаблона:
configuration.yaml
).custom_components
, вам необходимо его создать.custom_components
создайте новую папку с именем bermuda
.custom_components/bermuda/
в этом репозитории.Если вы хотите внести свой вклад в это, пожалуйста, прочтите правила внесения вклада.
Этот проект был создан на основе шаблона Cookiecutter Custom Component от @oncleben31 пользователя Home Assistant.
Шаблон кода в основном был взят из руководства пользователя шаблона Integration_blueprint @Ludeeus Cookiecutter**.