تتبع أجهزة البلوتوث حسب المنطقة (الغرفة) في HomeAssistant، باستخدام أجهزة ESPHome bluetooth_proxy.
(في النهاية) قم بتثليث مواضع الجهاز! مثل، على الخريطة. ربما.
تهدف برمودا إلى السماح لك بتتبع أي جهاز بلوتوث، وجعل Homeassistant يخبرك بمكان وجود هذا الجهاز في منزلك. الأجهزة الإضافية الوحيدة التي تحتاجها هي أجهزة esp32 التي تعمل بنظام esphome والتي تعمل بمثابة بروكسي بلوتوث. وبدلاً من ذلك، يمكن لأجهزة Shelly Plus أيضًا تنفيذ هذه الوظيفة.
device_tracker
للأجهزة المختارة، والتي يمكن ربطها بـ "الشخص" لتتبع المنزل/ليس المنزلbermuda.dump_devices
. جهاز واحد أو أكثر يوفر معلومات وكيل البلوتوث إلى HA باستخدام مكون bluetooth_proxy
الخاص بـ esphome. تعجبني لوحات D1-Mini32 لأنها رخيصة الثمن وسهلة النشر. تم الإبلاغ عن أن أجهزة وكيل البلوتوث Shelly Plus تعمل بشكل جيد. يتم دعم أجهزة البلوتوث المدعومة محليًا فقط، مما يعني أنه لا يوجد دعم حالي أو مخطط له لأجهزة MQTT وما إلى ذلك.
لا يعد USB Bluetooth الموجود على مضيف HA الخاص بك مثاليًا، نظرًا لأنه لا يضع طابعًا زمنيًا على حزم الإعلانات. ومع ذلك، يمكن استخدامه لتتبع "المنزل/ليس المنزل" البسيط، ويتم تمكين دعم مسافة المنطقة حاليًا.
بعض أجهزة البلوتوث BLE التي تريد تتبعها. الساعات الذكية وبلاط المنارة ومقاييس الحرارة وما إلى ذلك
تثبيت برمودا عبر HACS:
راجع Wiki لمزيد من المعلومات حول كيفية عمله وكيفية تكوين برمودا لمنزلك.
بعد التثبيت، يجب أن يكون التكامل مرئيًا في الإعدادات والأجهزة والخدمات
اضغط على زر CONFIGURE
لرؤية مربع حوار التكوين. يوجد في الأسفل حقل يمكنك من خلاله إدخال/إدراج أي أجهزة بلوتوث يمكن للنظام رؤيتها. سيؤدي اختيار الأجهزة إلى إضافتها إلى قائمة الأجهزة التي تم تكوينها وإنشاء كيانات استشعار لها. انظر كيف تعمل الإعدادات؟ لمزيد من المعلومات.
يؤدي اختيار شاشة الجهاز إلى إظهار المستشعرات الحالية والمعلومات الأخرى. لاحظ أن هناك أجهزة استشعار إضافية في القسم "غير معروض" يتم تعطيلها افتراضيًا (تظهر لقطة الشاشة العديد من هذه المستشعرات ممكّنة بالفعل). يمكنك تحرير خصائصها لتمكينها من الحصول على بيانات أكثر تفصيلاً عن مواقع جهازك. هذا مخصص في المقام الأول لاستكشاف الأخطاء وإصلاحها أو التطوير.
تتضمن معلومات المستشعر أيضًا اسم منطقة السمات والمعرف وعناوين MAC ذات الصلة وما إلى ذلك.
في الإعدادات، والأشخاص، يمكنك تحديد أي جهاز برمودا لتتبع حالة المنزل/الخارج لأي شخص/مستخدم.
راجع الأسئلة الشائعة في الويكي!
هل تريد تحسين هذا؟ مذهل! ضع في اعتبارك أن هذا هو أول تكامل لي على الإطلاق في HA، وأنا مسؤول نظام رمادي اللون أكثر مني مبرمج، لذا لو عندما أفعل أشياء غبية، فإنني أرحب حقًا ببعض التحسينات!
يمكنك البدء باستخدام الخدمة bermuda.dump_devices
لفحص الحالة الداخلية.
bermuda.dump_devices
مجرد الاتصال بالخدمة bermuda.dump_devices
سيمنحك تفريغًا كاملاً لهياكل البيانات الداخلية التي تستخدمها برمودا لتتبع حالتها وحسابها. يمكن أن يكون هذا مفيدًا لمعرفة ما يحدث واستكشاف الأخطاء وإصلاحها، أو استخدامه إذا كانت لديك حاجة مخصصة جدًا يمكنك حلها باستخدام مستشعرات القالب وما إلى ذلك.
إذا تم استدعاؤها بدون أي معلمات، فسوف تقوم الخدمة بإرجاع جميع البيانات. تتوفر المعلمات التي تتيح لك تحديد البيانات الناتجة أو إعادة تنسيقها لتسهيل التعامل معها. على وجه الخصوص، تعد معلمات addresses
مفيدة في إرجاع البيانات ذات الصلة لواحد أو أكثر من عناوين MAC (أو معرفات iBeacon UUIDs) فقط. اطلع على المعلومات المتعلقة بالمعاملات في صفحة Services
في المساعد المنزلي، ضمن Developer Tools
.
هام: إذا قررت استخدام نتائج هذه الدعوة لقوالبك الخاصة وما إلى ذلك، فضع في اعتبارك أن التنسيق قد يتغير في أي إصدار، ولن يتم اعتباره بالضرورة "تغييرًا جذريًا". وذلك لأن البنية تُستخدم داخليًا، بدلاً من كونها واجهة برمجة تطبيقات منشورة. ومع ذلك، سيتم بذل الجهود للإشارة في ملاحظات الإصدار إلى ما إذا تمت إعادة تسمية الحقول الموجودة في البنية أو نقلها، ولكن ليس لإضافة عناصر جديدة.
تم تصميم تكامل bluetooth_tracker
و ble_tracker
فقط لإعطاء تحديد "المنزل/ليس المنزل"، ولا يتم تحديد الموقع استنادًا إلى "المنطقة". (ملاحظة: "المناطق" هي أماكن خارج المنزل، بينما "المناطق" هي غرف/مناطق داخل المنزل). أردت أن أكون حرًا في تجربة هذا بطرق قد لا تناسب النواة، ولكن آمل أن يجد بعض هذا على الأقل موطنًا في قاعدة التعليمات البرمجية الأساسية يومًا ما.
يستخدم البرنامج النصي "الشاشة" Pi's المستقلة لجمع بيانات البلوتوث ثم ضخها إلى MQTT. إنه لا يستخدم إمكانيات bluetooth_proxy
التي أشعر أنها مستقبل شبكات البلوتوث المنزلية (حسنًا، إنها لمنزلي، على أي حال!).
يبدو ESPrescens رائعًا، لكنني لا أرغب في تخصيص العقد الخاصة بي لاستخدام غير esphome، ومرة أخرى، فهو لا يستفيد من ميزات وكيل البلوتوث الموجودة الآن في 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
. من الممكن أن يقوم بالكشف تلقائيًا لك فقط من خلال ملاحظة أجهزة البلوتوث القريبة.
بمجرد إضافة التكامل، ستحتاج إلى إعداد أجهزتك بالنقر فوق Configure
في Devices and Services
، Bermuda BLE Trilateration
.
في مربع حوار Configuration
، يمكنك اختيار أجهزة البلوتوث التي ترغب في أن يتتبعها التكامل.
التعليمات الواردة أدناه هي الملاحظات العامة من القالب:
configuration.yaml
).custom_components
هناك، فأنت بحاجة إلى إنشائه.custom_components
قم بإنشاء مجلد جديد يسمى bermuda
.custom_components/bermuda/
الموجود في هذا المستودع.إذا كنت تريد المساهمة في هذا، يرجى قراءة إرشادات المساهمة
تم إنشاء هذا المشروع من قالب Home Assistant Custom Component Cookiecutter الخاص بـ @oncleben31.
تم أخذ قالب الكود بشكل أساسي من دليل مستخدم قالب Cookiecutter الخاص بـLudeeus**