عن المشروع

python-miio هي مكتبة بايثون مجتمعية وأداة سطر أوامر مرافقة، miiocli، للتحكم في أجهزة Xiaomi الذكية التي تتحدث بروتوكولي miIO وMIoT. وهي غير تابعة لشركة Xiaomi أو أي بائع تدعم أجهزته. يتم التثبيت عبر pip (python-miio)، أو من مستودع GitHub للحصول على نسخة التطوير. يشير ملف README إلى جهود إعادة هيكلة مستمرة ويوصي باستخدام نسخة git أو الإصدارات التجريبية للتحكم في أجهزة MIoT الحديثة حتى يتم إصدار النسخة 0.6.0. البدء: يمكن لأداة miiocli التحكم في الأجهزة المدعومة باستخدام عنوان IP والرمز الخاص بها. يمكن جلب الرموز من حساب Xiaomi السحابي باستخدام أمر miiocli cloud (باستخدام مكتبة micloud)، أو الحصول عليها بطرق أخرى موثقة. يعرض أمر info العام الطراز وإصدارات العتاد والبرامج الثابتة وفئة التكامل المدعومة والأمر الدقيق المستخدم للتحكم. تتم معالجة أجهزة MIoT الحديثة بواسطة تكامل genericmiot الذي يقوم بتنزيل وتخزين ملفات مواصفات طراز الجهاز لاكتشاف المستشعرات والإعدادات والإجراءات. تشمل الأوامر الشائعة status (عرض الحالة والقيم المقبولة للإعدادات القابلة للقراءة والكتابة)، وset (تغيير إعداد بالاسم)، وactions (عرض الإجراءات المتاحة)، وcall (تنفيذ إجراء). يتم دعم أجهزة miIO الأقدم من خلال وحدات لكل جهاز مثل roborockvacuum أو fan، حيث تعرض كل وحدة أوامرها الفرعية الخاصة. يتم اكتشاف الطراز تلقائيًا ولكن يمكن تجاوزه باستخدام علامة --model عندما لا يتوفر الاتصال السحابي. يشمل دعم استكشاف الأخطاء وإصلاحها علامات --debug/-d قابلة للتكرار لزيادة تفاصيل السجلات، وقسم توثيق لاستكشاف الأخطاء وإصلاحها، ومشكلات ومناقشات GitHub، وغرفة دردشة Matrix. استخدام واجهة برمجة التطبيقات: تعرض وحدة miio جميع الوظائف. يقوم DeviceFactory.create(ip, token) بإجراء استعلام معلومات لاكتشاف الطراز وإنشاء فئة الجهاز المطابقة. يمكن فحص فئات الأجهزة من خلال sensors() وsettings() وactions()، التي تعيد كائنات واصفة تصف الميزات المتاحة؛ لا تعرف جميع التكاملات الواصفات بعد. نرحب بالمساهمات في إصلاحات الأخطاء والميزات والتوثيق، مع توفير دليل مساهمة قصير. للمطورين الذين لا يملكون عتادًا، يوفر المشروع محاكيات بسيطة لبروتوكولي miIO وMIoT لاختبار الكود. يسرد ملف README مجموعة واسعة من الأجهزة المدعومة، بما في ذلك مكانس Xiaomi الروبوتية (Mi Robot Vacuum V1 وS4 وS4 MAX وS5 وS5 MAX وS6 Pure وM1S وS7 وطرازات Dreame وViomi المختلفة)، وأجهزة تنقية الهواء، وأجهزة الترطيب، ومكيفات الهواء، والكاميرات، والبوابات، والمقابس، وشرائط الطاقة، والمصابيح، وأجهزة التحكم عن بعد بالأشعة تحت الحمراء، والمراوح العمودية، وأجهزة تنقية المياه، وأجهزة مراقبة جودة الهواء، ومكبرات الصوت، ومكررات Wi-Fi، وأجهزة طبخ الأرز، وأنظمة الهواء النقي، ومصابيح Yeelight، والمدافئ، وجهاز تحكم بالستائر، وغسالة أطباق، وآلة قهوة، وموزع ماء للحيوانات الأليفة والمزيد. يُقال إن جميع أجهزة MIoT مدعومة من خلال genericmiot. يستخدم Home Assistant هذه المكتبة رسميًا لعدة منصات (المكنسة، الإضاءة، المروحة، المفتاح، جهاز التحكم عن بعد، المستشعر، لوحة التحكم في الإنذار، متتبع الأجهزة)، كما تعتمد عليها مكونات Home Assistant مخصصة مختلفة. تشمل المشاريع ذات الصلة المذكورة dustcloud وValetudo وmicloud وmicloudfaker وXiaomi Cloud Tokens Extractor.