agittins / agittins/bermuda

Implement trilateration of devices

オープン
#21 コメント 38 件 リアクション 19 件 担当者 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 を短くまとめたダイジェスト。