ESPHome bluetooth_proxy デバイスを使用して、HomeAssistant のエリア (部屋) ごとに Bluetooth デバイスを追跡します。
(最終的には) デバイスの位置を三角測量します。たとえば、地図上で。多分。
Bermuda は、あらゆる Bluetooth デバイスを追跡し、そのデバイスが家のどこにあるかをホームアシスタントに教えてもらえるようにすることを目指しています。必要な追加ハードウェアは、Bluetooth プロキシとして機能する esphome を実行する esp32 デバイスのみです。あるいは、Shelly Plus デバイスでもこの機能を実行できます。
device_tracker
エンティティを作成します。これを在宅/不在追跡用の「人」にリンクできます。bermuda.dump_devices
サービスを介して、デバイスと各 Bluetooth レシーバーからの距離の包括的な json/yaml ダンプを提供します。 esphome のbluetooth_proxy
コンポーネントを使用して、Bluetooth プロキシ情報を HA に提供する 1 つ以上のデバイス。 D1-Mini32 ボードは安価で導入が簡単なので気に入っています。 Shelly Plus Bluetooth プロキシ デバイスは良好に動作すると報告されています。ネイティブにサポートされている Bluetooth デバイスのみがサポートされています。つまり、MQTT デバイスなどのサポートは現在、または予定されていません。
HA ホスト上の USB Bluetooth は、アドバタイズメント パケットにタイムスタンプを付けないため、理想的ではありません。ただし、単純な「在宅/非在宅」追跡には使用でき、エリア距離のサポートは現在有効になっています。
追跡したい一部の Bluetooth BLE デバイス。スマートウォッチ、ビーコンタイル、温度計など
HACS 経由でバミューダをインストールします。
仕組みとバミューダを自宅に合わせて設定する方法の詳細については、Wiki を参照してください。
インストール後、統合は設定、デバイス、サービスに表示されるはずです
CONFIGURE
ボタンを押すと、設定ダイアログが表示されます。下部には、システムが認識できる Bluetooth デバイスを入力/リストできるフィールドがあります。デバイスを選択すると、構成されたデバイスのリストに追加され、それらのセンサー エンティティが作成されます。設定がどのように機能するかを参照してください。詳細については。
デバイス画面を選択すると、現在のセンサーとその他の情報が表示されます。 「表示されていない」セクションには、デフォルトで無効になっている追加のセンサーがあることに注意してください (スクリーンショットでは、これらのセンサーのいくつかがすでに有効になっていることが示されています)。これらのプロパティを編集して、デバイスの位置に関するより詳細なデータを有効にすることができます。ただし、これは主にトラブルシューティングまたは開発を目的としています。
センサー情報には、エリア名と ID、関連する MAC アドレスなどの属性も含まれます。
[設定]、[ユーザー] で、バミューダ デバイスを定義して、あらゆる個人/ユーザーの在宅/外出ステータスを追跡できます。
Wiki の FAQ を参照してください。
これを改善したいですか?素晴らしい!これが私にとって初めての HA 統合であり、私はプログラマーというよりもグレイビアードのシステム管理者であることに留意してください。もし私が愚かなことをしているところは、いくつかの改善を心から歓迎します。
まず、サービスbermuda.dump_devices
を使用して内部状態を調べることができます。
bermuda.dump_devices
サービスの使用サービスbermuda.dump_devices
を呼び出すだけで、bermuda がその状態を追跡および計算するために使用する内部データ構造の完全なダンプが得られます。これは、何が起こっているのかを解明してトラブルシューティングを行う場合に役立ちます。また、テンプレート センサーなどで解決できる非常にカスタムなニーズがある場合に使用することもできます。
パラメーターを指定せずに呼び出された場合、サービスはすべてのデータを返します。結果のデータを制限したり再フォーマットしたりして、作業を容易にするパラメータを使用できます。特に、 addresses
パラメータは、1 つ以上の MAC アドレス (または iBeacon UUID) に関連するデータのみを返す場合に役立ちます。ホーム アシスタントの [ Services
ページのDeveloper Tools
でパラメータに関する情報を参照してください。
重要: この呼び出しの結果を独自のテンプレートなどに使用する場合は、どのリリースでも形式が変更される可能性があり、必ずしも「重大な変更」とはみなされないことに留意してください。これは、構造が公開された API ではなく内部で使用されているためです。ただし、新しい項目の追加ではなく、構造内のフィールドの名前が変更または移動された場合は、リリース ノートに記載するよう努めます。
bluetooth_tracker
とble_tracker
統合は、「自宅/非自宅」を判断するためにのみ構築されており、「エリア」ベースの位置情報は提供しません。 (注:「ゾーン」は家の外の場所であり、「エリア」は家の中の部屋/エリアです)。コアには合わないかもしれない方法でこれを自由に実験したかったのですが、いつかこのうちの少なくとも一部がコアのコードベースに定着することを願っています。
「モニター」スクリプトはスタンドアロン Pi を使用して Bluetooth データを収集し、それを MQTT に送り込みます。これは、家庭用 Bluetooth ネットワークの未来であると私が感じているbluetooth_proxy
機能を使用しません (まあ、とにかく私の家用です!)。
ESPrescent は見た目はクールですが、ノードを ESPhome 以外の用途に専用にしたくありません。また、HA の Bluetooth プロキシ機能も利用しません。私はおそらく、かなりの量の ESPresense の車輪を再発明していると思います。
HACS インターフェイスを必ず使用してください。 HACS をインストールしたら、 Integrations
に移動し、右上のミートボール メニューをクリックして、 Custom Repositories
を選択します。 agittins/bermuda
Repository
フィールドに貼り付け、 Category
としてIntegration
を選択します。 Add
をクリックします。
これで、 Bermuda BLE Trilateration
統合を追加できるようになります。それが完了したら、Homeassistant を再起動し、 Settings
、 Devices & Services
でAdd Integration
を選択し、 Bermuda BLE Trilateration
を検索する必要があります。近くの Bluetooth デバイスに気づくだけで自動検出される可能性があります。
統合が追加されたら、 Devices and Services
、 Bermuda BLE Trilateration
のConfigure
をクリックしてデバイスをセットアップする必要があります。
Configuration
ダイアログでは、統合で追跡する Bluetooth デバイスを選択できます。
以下の手順は、テンプレートの一般的なメモです。
configuration.yaml
あります)。custom_components
ディレクトリ(フォルダ)がない場合は、作成する必要があります。custom_components
ディレクトリ (フォルダー) に、 bermuda
という新しいフォルダーを作成します。custom_components/bermuda/
ディレクトリ(フォルダ)からすべてのファイルをダウンロードします。これに貢献したい場合は、貢献ガイドラインをお読みください。
このプロジェクトは、@oncleben31 の Home Assistant Custom Component Cookiecutter テンプレートから生成されました。
コード テンプレートは主に @Ludeeus の統合ブループリント テンプレート Cookiecutter ユーザー ガイドから取得されました**