كيفية تكوين صداقات أليس و HomeBridge

الصورة

UPD 08/06/2019: حدث ذلك ، أصبح من الممكن أن تطلب من أليس نفسها أن تشعل النور . المشروع على جيثب . فحص على جسره المنزلي ، كل شيء يعمل. أنا أعتبر المزيد من الدعم لمهاراتي غير مناسب.

أردت منذ فترة طويلة ، بالإضافة إلى المنزل الذكي ، مساعد صوتي يفهم ويتحدث الروسية. كنتيجة لذلك ، قررت أن أغتنم الفرصة وأخذ عمودًا جديدًا خامًا من Yandex.Station مع شاب ولكن محبوب بالفعل من قبل العديد من أليس. كان الانطباع الأول ممتازًا ، لكن عندما سمعت الكثير من النكات وتحدثت بما فيه الكفاية ، بدأت أتعلم الجانب العملي من العمود. الأهم من ذلك كله ، كنت مهتمًا بقضية تفاعل أليس مع المنزل الذكي.

وصف المشكلة
يعتمد منزلي على خادم HomeBridge . تمت كتابة الكثير من المقالات ( واحد ، اثنان ، ثلاثة ) حول تكوينها واستخدامها على المحور وغيرها من الموارد ، وبالتالي لن أتناول هذا. لعدم دراستي لهذا السؤال بدقة ، كنت متأكداً من أن كتالوج مهارات Alice لديه بالفعل الكثير من الحلول للتفاعل مع أنظمة التحكم الذكي بالمنزل. اتضح أنه في وقت كتابة هذا التقرير ، تتطلب معظم المهارات المتعلقة بموضوع "المنزل الذكي" جهازًا مع عرض للعمل ، وهو غير مناسب للمحطة. المهارة الوحيدة التي بدت تفي بالمتطلبات ومعرفة كيفية العمل دون عرض كانت الفريد . المهارة لم تناسبني لأنها مرتبطة بخدمة - IFTTT. افترض أنني أريد إنشاء محول افتراضي يعمل في نظام المنزل الذكي ويسمح لك بربط البرامج النصية بحالتها الحالية. يستخدم Alfred خدمة WebHook لـ IFTTT التي يمكنك من خلالها فقط تشغيل المشغل الذي تم إنشاؤه في التطبيق الصغير IFTTT ، ولكن لا توجد طريقة للحصول على الحالة الحالية للبرنامج الصغير (يمكنك تشغيل التبديل أو إيقاف تشغيله ، لكن لا يمكنك معرفة حالة التبديل الآن).

لحل المشكلة المذكورة أعلاه ، تم إنشاء خدمة Alice-HomeBridge ، وهي مصممة لتوصيل مساعد صوت Yandex.Alice والعديد من أنظمة التحكم في المنزل الذكي. علاوة على ذلك ، وكمثال على الإعدادات ، سننظر في تكوين HomeBridge ، ولكن هذا النهج ينطبق أيضًا على الأنظمة الأخرى مثل Home Assistant و openHAB وغيرها.

تتيح الخدمة للمستخدمين ، بعد التسجيل على الموقع ، إنشاء مفاتيح افتراضية.



يمكنك تغيير أو معرفة حالة رموز التبديل باستخدام طلب خدمة GET الذي تم إنشاؤه خصيصًا.



لكي تتفاعل الخدمة مع المساعد الصوتي "Alice" ، تم إنشاء مهارة "Lazy Jimmy".

جيمي كسول
أخبر أليس: "قم بتشغيل مهارة كسول Jimmy" وسيقدم لك إخبارك برمز التفعيل الذي يمكنك العثور عليه في حسابك الشخصي .



بعد التنشيط ، يمكنك تغيير حالة رموز التبديل الخاصة بك باستخدام أوامر "تشغيل أو إيقاف". على سبيل المثال ، إذا قلت "تشغيل الضوء" ، فإن حالة مفتاح "الضوء" تتغير إلى إيجابية. إذا قلت "الضوء" ، فستتغير حالة التبديل إلى الاتجاه المعاكس.

لكي يبدو الحوار أكثر طبيعية ، هناك فرصة لإنشاء مفاتيح بأسماء أكثر قابلية للفهم ، على سبيل المثال ، "مع Utrechk" ، ثم يمكنك إخبار Alice "Tell Jimmy With Utrechk" وستتغير حالة التبديل.

يبقى لتكوين HomeBridge. على سبيل المثال ، سوف نستخدم امتداد cmdswitch2 . قم بإنشاء مفتاح HomeKit يسمى "Alice Button 1".

{ "platform": "cmdSwitch2", "name": "CMD Switch", "switches": [ { "name": "Alice Button 1", "on_cmd": "curl --silent \"http://alicehomebridge.org/alice/switches.php?switch=34&hb=ADB7BYBT728O&state=set&val=true\"", "off_cmd": "curl --silent \"http://alicehomebridge.org/alice/switches.php?switch=34&hb=ADB7BYBT728O&state=set&val=false\"", "state_cmd": "curl --silent \"http://alicehomebridge.org/alice/switches.php?switch=34&hb=ADB7BYBT728O&state=get\" | grep -oh \"true\"", "polling": true, "interval": 2 } ] } 

لكي لا تفرط في الخادم مع الطلبات غير الضرورية ، قم بتعيين المعلمة الفاصل الزمني إلى 2 ثانية على الأقل.

كل شيء جاهز.



الآن ، إذا قلت ، "أخبر أليس جيمي الكسول بكلمة الصباح" ، فإن مفتاح "Alice Button 1" سيغير الحالة. إليك عرض توضيحي لكيفية عمل كل شيء جنبًا إلى جنب مع البرامج النصية HomeKit المخصصة:


النسخة الكاملة من ملف تكوين HomeBridge

ملاحظة: تدعم معظم أنظمة إدارة المنازل الذكية ، مثل HomeKit ، البرمجة النصية. يمكنك إنشاء برنامج نصي ترغب في استخدامه في موقف معين ، على سبيل المثال ، عند الاستيقاظ وتعيين مكالمته إلى الحدث "تشغيل مفتاح التبديل Utrechok".

ملاحظة: إن خدمتي تتطور وما زالت ، بعبارة ملطفة ، بعيدة عن المثالية. لكن أليس ترفض أيضًا قبول عبارات معينة من وقت لآخر. على سبيل المثال ، تنقل تمامًا عبارة "تشغيل النور" إلى المهارة ، لكنها لن تنقل عبارة "صباح الخير". آمل أن يعرف ياندكس عن المشكلة وأن يعمل على حلها قريبًا. في انتظار تعليقاتكم.

Source: https://habr.com/ru/post/ar434184/


All Articles