Realice un seguimiento de los dispositivos bluetooth por área (habitación) en HomeAssistant, utilizando dispositivos ESPHome bluetooth_proxy.
(eventualmente) ¡Triangule las posiciones de los dispositivos! Como en un mapa. Tal vez.
Bermuda tiene como objetivo permitirle rastrear cualquier dispositivo Bluetooth y hacer que Homeassistant le diga en qué parte de su casa se encuentra ese dispositivo. El único hardware adicional que necesita son dispositivos esp32 que ejecuten esphome y que actúen como servidores proxy bluetooth. Alternativamente, los dispositivos Shelly Plus también pueden realizar esta función.
device_tracker
para los dispositivos elegidos, que se pueden vincular a "Persona" para el seguimiento en casa/no en casa.bermuda.dump_devices
. Uno o más dispositivos que proporcionan información de proxy bluetooth a HA utilizando el componente bluetooth_proxy
de esphome. Me gustan las placas D1-Mini32 porque son económicas y fáciles de implementar. Se informa que los dispositivos proxy bluetooth Shelly Plus funcionan bien. Solo se admiten dispositivos Bluetooth con soporte nativo, lo que significa que no hay soporte actual o planificado para dispositivos MQTT, etc.
El Bluetooth USB en su host HA no es ideal, ya que no marca la hora de los paquetes publicitarios. Sin embargo, se puede utilizar para un seguimiento simple "En casa/No en casa", y el soporte de distancia de área está habilitado actualmente.
Algunos dispositivos bluetooth BLE que deseas rastrear. Relojes inteligentes, balizas, termómetros, etc.
Instale Bermuda a través de HACS:
Consulte The Wiki para obtener más información sobre cómo funciona y cómo configurar Bermuda para su hogar.
Después de la instalación, la integración debería ser visible en Configuración, Dispositivos y Servicios
Presione el botón CONFIGURE
para ver el cuadro de diálogo de configuración. En la parte inferior hay un campo donde puede ingresar/enumerar cualquier dispositivo bluetooth que el sistema pueda ver. Al elegir dispositivos, se agregarán a la lista de dispositivos configurados y se crearán entidades de sensores para ellos. Vea ¿Cómo funcionan las configuraciones? para más información.
Al elegir la pantalla del dispositivo se muestran los sensores actuales y otra información. Tenga en cuenta que hay sensores adicionales en la sección "no mostrado" que están deshabilitados de forma predeterminada (la captura de pantalla muestra varios de estos ya habilitados). Puede editar las propiedades de estos para habilitarlos para obtener datos más detallados sobre las ubicaciones de su dispositivo. Sin embargo, esto está destinado principalmente a la resolución de problemas o al desarrollo.
La información del sensor también incluye el nombre y la identificación del área de atributos, direcciones MAC relevantes, etc.
En Configuración, Personas, puede definir cualquier dispositivo Bermuda para rastrear el estado de casa/ausente de cualquier persona/usuario.
¡Vea las preguntas frecuentes en la Wiki!
¿Quieres mejorar esto? ¡Impresionante! Tenga en cuenta que esta es mi primera integración de HA y que soy mucho más administrador de sistemas que programador, así que si donde estoy haciendo cosas estúpidas, ¡realmente agradecería algunas mejoras!
Puede comenzar utilizando el servicio bermuda.dump_devices
para examinar el estado interno.
bermuda.dump_devices
Simplemente llamando al servicio bermuda.dump_devices
obtendrá un volcado completo de las estructuras de datos internas que bermuda utiliza para rastrear y calcular su estado. Esto puede ser útil para determinar qué está pasando y solucionar problemas, o para usarlo si tiene una necesidad muy personalizada que puede resolver con sensores de plantilla, etc.
Si se llama sin parámetros, el servicio devolverá todos los datos. Hay parámetros disponibles que le permiten limitar o reformatear los datos resultantes para que sea más fácil trabajar con ellos. En particular, el parámetro addresses
es útil para devolver solo datos relevantes para una o más direcciones MAC (o UUID de iBeacon). Consulte la información sobre los parámetros en la página Services
del asistente de inicio, en Developer Tools
.
Importante: si decide utilizar los resultados de esta convocatoria para sus propias plantillas, etc., tenga en cuenta que el formato puede cambiar en cualquier versión y no necesariamente se considerará un "cambio importante". Esto se debe a que la estructura se usa internamente, en lugar de ser una API publicada. Dicho esto, se harán esfuerzos para indicar en las notas de la versión si se cambia el nombre o se mueven los campos en la estructura, pero no para agregar nuevos elementos.
Las integraciones bluetooth_tracker
y ble_tracker
solo están diseñadas para brindar una determinación de "hogar/no hogar", y no para una ubicación basada en "Área". (nb: "Zonas" son lugares fuera de la casa, mientras que "Áreas" son habitaciones/áreas dentro de la casa). Quería tener la libertad de experimentar con esto de maneras que tal vez no se adaptaran al núcleo, pero espero que al menos algo de esto pueda encontrar un hogar en el código base algún día.
El script "monitor" utiliza Pi independientes para recopilar datos de Bluetooth y luego los envía a MQTT. No utiliza las capacidades bluetooth_proxy
que creo que son el futuro de las redes bluetooth domésticas (bueno, ¡de todos modos lo es para mi hogar!).
ESPrescent se ve bien, pero no quiero dedicar mis nodos a usos que no sean de esphome y, nuevamente, no aprovecha las funciones de proxy bluetooth ahora en HA. Probablemente esté reinventando una buena cantidad de la rueda de ESPrescense.
¡Definitivamente use la interfaz HACS! Una vez que haya instalado HACS, vaya a Integrations
, haga clic en el menú de albóndigas en la parte superior derecha y elija Custom Repositories
. Pegue agittins/bermuda
en el campo Repository
y elija Integration
para la Category
. Haga clic en Add
.
Ahora debería poder agregar la integración Bermuda BLE Trilateration
. Una vez que haya hecho eso, debe reiniciar Homeassistant, luego en Settings
, Devices & Services
elija Add Integration
y busque Bermuda BLE Trilateration
. Es posible que lo detecte automáticamente con solo notar los dispositivos Bluetooth cercanos.
Una vez que se agrega la integración, debe configurar sus dispositivos haciendo clic en Configure
en Devices and Services
, Bermuda BLE Trilateration
.
En el cuadro de diálogo Configuration
, puede elegir qué dispositivos Bluetooth desea que rastree la integración.
Las instrucciones a continuación son las notas genéricas de la plantilla:
configuration.yaml
).custom_components
allí, debe crearlo.custom_components
cree una nueva carpeta llamada bermuda
.custom_components/bermuda/
en este repositorio.Si desea contribuir a esto, lea las pautas de contribución.
Este proyecto se generó a partir de la plantilla Cookiecutter de componentes personalizados de Home Assistant de @oncleben31.
La plantilla de código se tomó principalmente de la plantilla de integración_blueprint de @Ludeeus Guía del usuario de Cookiecutter**