agittins / agittins/bermuda

Implement trilateration of devices

未关闭
#21 38 条评论 19 个 reaction 已指派 1 人 已被 @agittins 认领 在 GitHub 查看
discussion enhancement
主要语言
Python
星标
2k
派生
70
PR 合并指标
30 天内没有已合并 PR

描述

This is the primary goal of this integration, but the first milestones to hit are:

- [x] Sensors to state the `Area` of a device, based on the `Area` of the closest bluetooth receiver
- [x] Implement the `device_tracker_ble` functionality of providing `home|not_home` state for Person entities.
- [x] UI for configuring device selections and options

The milestones for this feature are:
- [x] ~~Improve filtering of distance estimates for accuracy and stability. Currently thinking [Extended Kalman Filters](https://en.wikipedia.org/wiki/Extended_Kalman_filter) with [FilterPy](https://filterpy.readthedocs.io/en/latest/kalman/ExtendedKalmanFilter.html)? I wonder if [Wouter](https://www.wouterbulten.nl/posts/kalman-filters-explained-removing-noise-from-rssi-signals/) is looking for projects :)~~ (current filtering seems reasonably stable while also responsive. I don't think Kalman is well-suited to the noise distribution, so this is "good enough" for now).
- [ ] Using beacon-receiver distances, "solve" all receiver-receiver distances using [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality)
- [ ] Using those solved "edges", estimate solutions for a 2D plane with all devices
- [ ] UI/Config Flow:
- [ ] Allow user to choose an "origin" beacon and a vector beacon to place the solution in a constrained space.
- [ ] Allow entry of 1-metre rssi calibration offsets for both receivers and devices.
- [ ] Create new sensors to provide location data (also lat/long?)

Extension goals:
- [ ] Solve for 3D space (some peeps have multiple floors, and as of HA 2024.4 floors are now a "thing")
- [ ] Smarter solutions.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。