يتمثل نطاق Nuki Hub في توفير طريقة فعالة لدمج أجهزة Nuki في منصة محلية لأتمتة المنزل.
يعمل برنامج Nuki Hub على وحدة ESP32 ويعمل كجسر بين أجهزة Nuki ومنصة التشغيل الآلي للمنزل.
وهو يتواصل مع قفل Nuki و/أو فتاحة عبر تقنية Bluetooth (BLE) ويستخدم MQTT للتكامل مع الأنظمة الأخرى.
إنه يكشف حالة القفل (وأكثر من ذلك بكثير) من خلال MQTT ويسمح بتنفيذ أوامر مثل القفل وفتح القفل بالإضافة إلى تغيير تكوين Nuki Lock/Opener من خلال MQTT.
لا يتكامل Nuki Hub مع تطبيق Nuki للجوال، ولا يمكنه تسجيل نفسه كجسر في تطبيق Nuki للجوال الرسمي.
لا تتردد في الانضمام إلينا على Discord: https://discord.gg/9nPq85bP4p
الأجهزة المدعومة ESP32:
أجهزة ESP32 غير المدعومة:
أجهزة نوكي المدعومة:
لم يتم اختباره ولكن من المحتمل أن يكون مدعومًا:
أجهزة إيثرنت المدعومة:
كبديل لشبكة Wi-Fi (المتوفرة على أي ESP32 مدعوم)، يتم دعم وحدات ESP32 التالية المزودة بشبكة إيثرنت سلكية مدمجة:
من حيث المبدأ، يتم دعم جميع أجهزة ESP32 (والمتغيرات) المزودة بمنفذ إيثرنت مدمج، ولكنها قد تتطلب إعدادًا إضافيًا باستخدام خيار "Custom LAN setup". راجع قسم "الاتصال عبر Ethernet" لمزيد من المعلومات.
إذا كان WIFI6 مطلوبًا تمامًا: ESP32-C6
إذا كان PoE مطلوبًا: أي من الأجهزة المذكورة أعلاه المزودة بتقنية PoE أو أي جهاز ESP آخر مع وحدة SPI Ethernet (W5500) وPoE إلى Ethernet ومقسم USB من النوع B/C
إذا كنت تريد أقصى قدر من الأداء وتنوي تشغيل أي مما يلي أو أكثر:
ESP32-S3 مزود بذاكرة PSRAM سعة 2 ميجابايت أو أكثر (ابحث عن ESP32-S3 بالتعيين N>=4 وR>=2 مثل ESP32-S3 N16R8)
بشكل عام، عند شراء جهاز جديد عندما لا يمثل الحجم أو بضعة دولارات أكثر أو أقل مشكلة: ESP32-S3 بسعة 2 ميجابايت من ذاكرة PSRAM أو أكثر.
ESP32-S3 عبارة عن وحدة معالجة مركزية ثنائية النواة تحتوي على العديد من وحدات GPIO، والقدرة على تكبير ذاكرة الوصول العشوائي باستخدام PSRAM، والقدرة على توصيل وحدات Ethernet عبر SPI وتشغيل الجهاز بشكل اختياري باستخدام مقسم PoE. الوظائف الوحيدة المفقودة من ESP32-S3 مقارنة بأجهزة ESP الأخرى هي القدرة على استخدام بعض وحدات Ethernet المدعومة فقط بواسطة ESP32 الأصلي والقدرة على الاتصال عبر WIFI6 (C6)
ميزة | نوكي هب | جسر نوكي |
---|---|---|
واجهة برمجة تطبيقات الجسر | س | |
التحكم عن بعد القفل الذكي | س | س |
تكامل المنزل الذكي عبر Matter | س | |
تكامل Apple HomeKit عبر Matter | س | |
واجهة برمجة تطبيقات MQTT | س | x (فقط لموديلات SL 3 و4 و4 Pro) |
دعم الشبكة المحلية السلكية | س | |
الطاقة عبر الإيثرنت (PoE) | x (إذا كانت مدعومة من وحدة LAN/ESP) | |
دعم الشبكات المحلية اللاسلكية | س | x (فقط لطرازات SL 3 و4 Pro) |
تكامل منصة أتمتة المنزل | س | س |
دعم السحابة | x (اختياري عبر حل Smarthome) | س |
عملية بدون سحابة | س | س (منذ مهاجم 3.8.2) |
التكامل الرسمي لتطبيق Nuki | س | |
Nuki Smartlocks جميع الموديلات | س | س |
فتحت نوكي | س | س |
لوحة مفاتيح نوكي (1.0 و2.0) | س | س |
تشفير MQTT | س | |
التحكم الدقيق في الوصول إلى MQTT API | س | |
تصدير إجراءات القفل عبر MQTT API | س | |
التحكم عبر GPIO | س | |
الوضع المختلط لأقفال WiFI والأقفال المتصلة | س |
إذا لم تكن قد طلبت منتج Nuki الخاص بك بعد، فيمكنك دعمي باستخدام رمز الإحالة الخاص بي عند تقديم طلبك:
REF2BJHFVHZKK
سيعطيك هذا أيضًا خصمًا بنسبة 10٪ على طلبك.
هذا المشروع مجاني للاستخدام للجميع. ومع ذلك، إذا كنت ترغب في التبرع، يمكنك شراء القهوة لي على ko-fi.com:
قم بتفليش البرنامج الثابت إلى ESP32. أسهل طريقة للتثبيت هي استخدام مثبت الويب باستخدام متصفح متوافق مثل Chrome/Opera/Edge:
https://technyon.github.io/nuki_hub/
ملاحظة: Webflash غير متوفر لـ ESP32-Solo1
بدلاً من ذلك، قم بتنزيل أحدث إصدار لطراز ESP32 الخاص بك من https://github.com/technyon/nuki_hub/releases
قم بفك ضغط الأرشيف المضغوط واقرأ ملف how-to-flash.txt المتضمن للحصول على تعليمات التثبيت الخاصة بـ "Espressif Flash Download Tools" أو "esptool".
قم بتشغيل ESP32 وستظهر نقطة وصول Wi-Fi جديدة باسم "NukiHub".
كلمة المرور لنقطة الوصول هي "NukiHubESP32".
قم بتوصيل جهاز عميل بنقطة الوصول هذه وفي المتصفح انتقل إلى "http://192.168.4.1".
استخدم واجهة الويب لتوصيل ESP بشبكة Wi-Fi المفضلة لديك.
بعد تكوين Wi-Fi، يجب أن يتصل ESP تلقائيًا بشبكتك.
لتكوين الاتصال بوسيط MQTT، قم أولاً بتوصيل جهاز العميل الخاص بك بنفس شبكة Wi-Fi التي يتصل بها ESP32.
في المتصفح، انتقل إلى عنوان IP المخصص لـ ESP32 عبر DHCP (غالبًا ما يوجد في واجهة الويب الخاصة بجهاز توجيه الإنترنت الخاص بك).
انقر بعد ذلك على "تحرير" الموجود أسفل "تكوين MQTT" وأدخل العنوان والمنفذ (عادةً 1883) لوسيط MQTT الخاص بك واسم المستخدم وكلمة المرور إذا طلب ذلك وسيط MQTT الخاص بك.
يدعم البرنامج الثابت تشفير SSL لـ MQTT، إلا أن معظم الأشخاص وخاصة المستخدمين المنزليين لا يستخدمون هذا.
في هذه الحالة، اترك كافة الحقول التي تبدأ بـ "MQTT SSL" فارغة. بخلاف ذلك، راجع قسم "تشفير MQTT" في الملف التمهيدي هذا.
تأكد من تمكين "إقران Bluetooth" لجهاز Nuki من خلال تمكين هذا الإعداد في تطبيق Nuki الرسمي في "الإعدادات" > "الميزات والتكوين" > "الزر ومصباح LED". بعد تمكين الإعداد، اضغط على الزر الموجود على جهاز Nuki لبضع ثوان.
يجب أن يكون الاقتران تلقائيًا عند تشغيل ESP32.
عندما ينجح الاقتران، يجب أن تظهر واجهة الويب "Paired: Yes".
يجب أن تعكس عقد MQTT مثل حالة القفل ومستوى البطارية الآن القيم المبلغ عنها من القفل.
ملحوظة: من الممكن تشغيل Nuki Hub بجانب جسر Nuki. لا يُنصح بهذا (إلا عند استخدام الوضع المختلط) وسيؤدي إلى استنزاف مفرط للبطارية ويمكن أن يؤدي إلى فقدان التحديثات لأي من الجهازين. قم بتمكين "التسجيل كتطبيق" قبل الاقتران للسماح بذلك. وإلا فسيتم إلغاء تسجيل Bridge عند إقران Nuki Hub.
يتيح لك الوضع الهجين استخدام تطبيق Nuki MQTT الرسمي على Nuki Lock 3.0 Pro أو Nuki Lock 4.0 أو Nuki Lock 4.0 Pro بالتزامن مع Nuki Hub.
راجع الوضع المختلط لمزيد من المعلومات.
تتمتع أجهزة ESP32 بكمية محدودة من ذاكرة الوصول العشوائي المجانية المتوفرة.
في الإصدار 9.01 من Nuki Hub مع اتصال Nuki Lock فقط، تكون الكمية المجانية المتوقعة من ذاكرة الوصول العشوائي/الكومة المتوفرة حول:
يمكن تقليل هذه الكمية المجانية من ذاكرة الوصول العشوائي (مؤقتًا) من خلال إجراءات معينة (مثل تغيير تكوين جهاز Nuki) أو بشكل مستمر عند تمكين ما يلي:
يمكن العثور على ذاكرة الوصول العشوائي/الكومة المتوفرة حاليًا على صفحة المعلومات الخاصة بمكون الويب الخاص بـ Nuki Hub.
عندما ينفد ESP32 من ذاكرة الوصول العشوائي المتوفرة، يمكن أن يتعطل هذا الجهاز أو يمكن أن يحدث سلوك غير متوقع.
يسمح Nuki Hub باستخدام PSRAM المضمن على الثنائيات العادية كلما كان ذلك متاحًا.
يبلغ حجم ذاكرة الوصول العشوائي (PSRAM) عادةً 2 أو 4 أو 8 ميجابايت، وبالتالي يؤدي ذلك إلى زيادة كبيرة في حجم ذاكرة الوصول العشوائي الداخلية المتوفرة البالغة 320 كيلو بايت.
من المستحيل بشكل أساسي نفاد ذاكرة الوصول العشوائي (RAM) عندما يكون PSRAM متاحًا. يمكنك التحقق من صفحة المعلومات الخاصة بمكون الويب إذا كان PSRAM متاحًا.
لاحظ أن هناك إصدارين متاحين من Nuki Hub لـ ESP32-S3.
واحد للأجهزة التي لا تحتوي على PSRAM أو Quad SPI وواحد للأجهزة التي تحتوي على Octal SPI PSRAM.
إذا كان جهازك ESP32-S3 يحتوي على PSRAM ولكن لم يتم اكتشافه، فيرجى تحديث ثنائي S3 الآخر.
في المتصفح، انتقل إلى عنوان IP المخصص لـ ESP32.
يسمح خيار القائمة "استيراد/تصدير التكوين" باستيراد وتصدير إعدادات NukiHub بتنسيق JSON.
قم بإنشاء نسخة احتياطية (جزئية) لإعدادات NukiHub الحالية عن طريق تحديد أي مما يلي:
لن يقوم كلا الخيارين أعلاه بعمل نسخة احتياطية لبيانات الاقتران، لذلك سيتعين عليك إقران أجهزة Nuki يدويًا عند استيراد هذا التصدير على إعادة ضبط المصنع أو على جهاز جديد.
لتغيير إعدادات قفل/فتحات Nuki ، قم بتعيين موضوع configuration/action
على قيمة تنسيق JSON مع أي من الإعدادات التالية. يمكن تغيير إعدادات متعددة مرة واحدة. راجع Nuki Smart Lock API Config Basic و Nuki Smart Lock API Advanced Config و Nuki Opener API Config و Nuki Open API Advanced Config لمزيد من المعلومات حول الإعدادات المتاحة.
تغيير الإعدادات يجب تمكينه أولاً في بوابة التكوين. تحقق من الإعدادات التي تريد أن تكون قادرًا على التغيير ضمن "Control Control/Opener Config Control Nuki" في "تكوين مستوى الوصول" وحفظ التكوين.
جلسة | الاستخدام | القيم الممكنة | مثال |
---|---|---|---|
اسم | اسم القفل الذكي. | سلسلة أبجدية رقمية ، الحد الأقصى طول 32 chars | { "name": "Frontdoor" } |
خط العرض | خط العرض من الأقفال الذكية الجغرافية. | يطفو | { "latitude": "48.858093" } |
خط الطول | خط الطول الجغرافي لقطات Smart Locks | يطفو | { "longitude": "2.294694" } |
وستيك | ما إذا كان الباب يجب أن يتم تشغيله من خلال تشغيل مقبض الباب يدويًا من الخارج. | 1 = ممكّن ، 0 = معطل | { "autoUnlatch": "1" } |
FailingEnabled | ما إذا كان ينبغي تمكين وضع الاقتران عبر الزر أم لا. | 1 = ممكّن ، 0 = معطل | { "pairingEnabled": "0" } |
ButtonEnabled | ما إذا كان ينبغي تمكين الزر أم لا. | 1 = ممكّن ، 0 = معطل | { "buttonEnabled": "1" } |
LEDENABDE | ما إذا كان ينبغي تمكين LED الوامضة للإشارة إلى باب غير مؤمن. | 1 = ممكّن ، 0 = معطل | { "ledEnabled": "1" } |
ليدبرايت | مستوى سطوع LED | 0 = قبالة ، ... ، 5 = كحد أقصى | { "ledBrightness": "2" } |
TimeZoneOffset | إزاحة المنطقة الزمنية (UTC) في دقائق | عدد صحيح بين 0 و 60 | { "timeZoneOffset": "0" } |
DSTMode | وضع التوقيت الصيفي المطلوب. | 0 = معطل ، 1 = أوروبي | { "dstMode": "0" } |
fobaction1 | الإجراء المطلوب ، إذا تم الضغط على nuki fob مرة واحدة. | "لا عمل" ، "فتح" ، "قفل" ، "قفل n go" ، "ذكي" | { "fobAction1": "Lock n Go" } |
fobaction2 | الإجراء المطلوب ، إذا تم الضغط على Nuki Fob مرتين. | "لا عمل" ، "فتح" ، "قفل" ، "قفل n go" ، "ذكي" | { "fobAction2": "Intelligent" } |
fobaction3 | الإجراء المطلوب ، إذا تم الضغط على Nuki Fob ثلاث مرات. | "لا عمل" ، "فتح" ، "قفل" ، "قفل n go" ، "ذكي" | { "fobAction3": "Unlock" } |
Singlelock | ما إذا كان ينبغي تنفيذ قفل واحد أو قفل مزدوج فقط | 0 = قفل مزدوج ، 1 = قفل واحد | { "singleLock": "0" } |
AdvertisingMode | وضع الإعلان المطلوب. | "تلقائي" ، "عادي" ، "بطيء" ، "أبطأ" | { "advertisingMode": "Normal" } |
المنطقة الزمنية | المنطقة الزمنية الحالية أو "لا شيء" إذا لم يتم دعم المناطق الزمنية | "لا شيء" أو واحدة من المناطق الزمنية من المناطق الزمنية Nuki | { "timeZone": "Europe/Berlin" } |
UnlockedPositionOffSetDegrees | تعويض يغير الموضع غير المؤمن بالدرجات. | عدد صحيح بين -90 و 180 | { "unlockedPositionOffsetDegrees": "-90" } |
LockedPositionOffSetDegrees | تعويض يغير الموضع المقفل بالدرجات. | عدد صحيح بين -180 و 90 | { "lockedPositionOffsetDegrees": "80" } |
singloCkedPositionOffSetDegrees | تعويض يغير الموضع المقفل الفردي بالدرجات. | عدد صحيح بين 180 و 180 | { "singleLockedPositionOffsetDegrees": "120" } |
UnlockedTolockedTransitionOffSetDegrees | يعوض التعويض الذي يغير الموضع الذي يحدث فيه الانتقال من مقفلة إلى قفل بدرجات. | عدد صحيح بين 180 و 180 | { "unlockedToLockedTransitionOffsetDegrees": "180" } |
lockngotimeout | مهلة قفل 'n' اذهب في ثوان | عدد صحيح بين 5 و 60 | { "lockNgoTimeout": "60" } |
singlebuttonpressaction | الإجراء المطلوب ، إذا تم الضغط على الزر مرة واحدة. | "لا عمل" ، "ذكي" ، "فتح" ، "قفل" ، "inlatch" ، "lock n go" ، "حالة العرض" | { "singleButtonPressAction": "Lock n Go" } |
doublebuttonpressaction | الإجراء المطلوب ، إذا تم الضغط على الزر مرتين. | "لا عمل" ، "ذكي" ، "فتح" ، "قفل" ، "inlatch" ، "lock n go" ، "حالة العرض" | { "doubleButtonPressAction": "Show Status" } |
detachedcylinder | يتم فصل الجانب الداخلي من الأسطوانة المستخدمة من الجانب الخارجي. | 0 = غير منفصل ، 1 = منفصل | { "detachedCylinder": "1" } |
نوع البطارية | نوع البطاريات الموجودة في القفل الذكي. | "القلوية" ، "المتراكمون" ، "الليثيوم" | { "batteryType": "Accumulators" } |
AutomaticBatteryTypeDetection | ما إذا تم تمكين الكشف التلقائي لنوع البطارية. | 1 = ممكّن ، 0 = معطل | { "automaticBatteryTypeDetection": "Lock n Go" } |
infatchduration | مدة في ثوانٍ لعقد المزلاج في وضع غير محدود. | عدد صحيح بين 1 و 30 | { "unlatchDuration": "3" } |
AutolockTimeout | ثوانٍ حتى يتخلل القفل الذكي نفسه بعد فتحه. | عدد صحيح بين 30 و 1800 | { "autoLockTimeOut": "60" } |
AutounlockDisabled | ما إذا كان ينبغي تعطيل فتح السيارات بشكل عام. | 1 = تعطيل إلغاء القفل التلقائي ، 0 = تمكين إلغاء القفل التلقائي | { "autoUnLockDisabled": "1" } |
كابوس | ما إذا تم تمكين NightMode. | 1 = ممكّن ، 0 = معطل | { "nightModeEnabled": "1" } |
كابوديستارت الوقت | وقت البدء في NightMode إذا تم تمكينه. | الوقت في تنسيق "HH: MM" | { "nightModeStartTime": "22:00" } |
راديوميت | وقت الانتهاء من NightMode إذا تم تمكين. | الوقت في تنسيق "HH: MM" | { "nightModeEndTime": "07:00" } |
NightModeaUtolockabled | ما إذا كان يجب تمكين قفل السيارات خلال NightMode. | 1 = ممكّن ، 0 = معطل | { "nightModeAutoLockEnabled": "1" } |
NightModeAutOnlockDisabled | ما إذا كان ينبغي تعطيل فتح السيارات خلال NightMode. | 1 = تعطيل إلغاء القفل التلقائي ، 0 = تمكين إلغاء القفل التلقائي | { "nightModeAutoUnlockDisabled": "1" } |
NightModeimmediatelockonstart | ما إذا كان يجب قفل الباب على الفور في بداية Nightmode. | 1 = ممكّن ، 0 = معطل | { "nightModeImmediateLockOnStart": "1" } |
Autolockenabled | ما إذا تم تمكين قفل السيارات. | 1 = ممكّن ، 0 = معطل | { "autoLockEnabled": "1" } |
ForiateaUtolockendabled | ما إذا كان ينبغي إجراء قفل السيارات مباشرة بعد إغلاق الباب. | 1 = ممكّن ، 0 = معطل | { "immediateAutoLockEnabled": "1" } |
AutoupDateEnabled | ما إذا كان ينبغي تمكين تحديثات البرامج الثابتة التلقائية. | 1 = ممكّن ، 0 = معطل | { "autoUpdateEnabled": "1" } |
rebootnuki | أعد تشغيل جهاز Nuki على الفور | 1 = إعادة تشغيل nuki | { "rebootNuki": "1" } |
جلسة | الاستخدام | القيم الممكنة | مثال |
---|---|---|---|
اسم | اسم المباراة الافتتاحية. | سلسلة أبجدية رقمية ، الحد الأقصى طول 32 chars | { "name": "Frontdoor" } |
خط العرض | خط عرض الفتحات الجيولوجية. | يطفو | { "latitude": "48.858093" } |
خط الطول | خط طول الفتحات الجيولوجية | يطفو | { "longitude": "2.294694" } |
FailingEnabled | ما إذا كان ينبغي تمكين وضع الاقتران عبر الزر أم لا. | 1 = ممكّن ، 0 = معطل | { "pairingEnabled": "0" } |
ButtonEnabled | ما إذا كان ينبغي تمكين الزر أم لا. | 1 = ممكّن ، 0 = معطل | { "buttonEnabled": "1" } |
LedflashEnabled | ما إذا كان ينبغي تمكين LED الوامضة للإشارة إلى CM أو RTO أم لا. | 1 = ممكّن ، 0 = معطل | { "ledFlashEnabled": "1" } |
TimeZoneOffset | إزاحة المنطقة الزمنية (UTC) في دقائق | عدد صحيح بين 0 و 60 | { "timeZoneOffset": "0" } |
DSTMode | وضع التوقيت الصيفي المطلوب. | 0 = معطل ، 1 = أوروبي | { "dstMode": "0" } |
fobaction1 | الإجراء المطلوب ، إذا تم الضغط على nuki fob مرة واحدة. | "لا عمل" ، "تبديل rto" ، "تنشيط RTO" ، "Deactivate RTO" ، "Open" ، "Ring" | { "fobAction1": "Toggle RTO" } |
fobaction2 | الإجراء المطلوب ، إذا تم الضغط على Nuki Fob مرتين. | "لا عمل" ، "تبديل rto" ، "تنشيط RTO" ، "Deactivate RTO" ، "Open" ، "Ring" | { "fobAction2": "Open" } |
fobaction3 | الإجراء المطلوب ، إذا تم الضغط على Nuki Fob ثلاث مرات. | "لا عمل" ، "تبديل rto" ، "تنشيط RTO" ، "Deactivate RTO" ، "Open" ، "Ring" | { "fobAction3": "Ring" } |
العمليات | وضع التشغيل المطلوب | "فتاحة الأبواب العامة" ، "INTELOGUE INTELOGAN" ، "Intercom Digital" ، "Siedle" ، "TCS" ، "Bticino" ، "Siedle HTS" ، "Str" ، "Ritto" ، "Fermax" ، "Comelit" ، " ormet bibus "،" ormet 2voice "،" Golmar "،" SKS "،" | { "operatingMode": "TCS" } |
AdvertisingMode | وضع الإعلان المطلوب. | "تلقائي" ، "عادي" ، "بطيء" ، "أبطأ" | { "advertisingMode": "Normal" } |
المنطقة الزمنية | المنطقة الزمنية الحالية أو "لا شيء" إذا لم يتم دعم المناطق الزمنية | "لا شيء" أو واحدة من المناطق الزمنية من المناطق الزمنية Nuki | { "timeZone": "Europe/Berlin" } |
Intercomid | معرف قاعدة البيانات من الاتصال الداخلي المتصل. | عدد صحيح | { "intercomID": "1" } |
Busmodeswitch | طريقة للتبديل بين البيانات والوضع التماثلي | 0 = لا شيء ، 1 = دائرة Vshort | { "busModeSwitch": "0" } |
القصيرة | مدة الدائرة القصيرة لتبديل وضع ناقل في MS. | عدد صحيح | { "shortCircuitDuration": "250" } |
ElectricStrikedelay | التأخير في MS من تنشيط الإضراب الكهربائي في حالة تشغيل الإضراب الكهربائي بواسطة RTO | عدد صحيح بين 0 و 30000 | { "electricStrikeDelay": "2080" } |
عشوائي إلكترونيات | تأخير عشوائي (3-7s) من أجل محاكاة شخص داخل إضراب الإضراب الكهربائي. | 1 = ممكّن ، 0 = معطل | { "randomElectricStrikeDelay": "1" } |
electricsstrikeduration | المدة في MS of Electric Strike. . | عدد صحيح بين 1000 و 30000 | { "electricStrikeDuration": "5000" } |
عائق | سواء كان تعطيل RTO بعد الحلقة. | 1 = تعطيل RTO بعد الحلقة ، 0 = لا تعطيل RTO بعد الحلقة | { "disableRtoAfterRing": "0" } |
rtotimeout | بعد هذه الفترة الزمنية في دقائق ، يتم إلغاء تنشيط RTO تلقائيًا | عدد صحيح بين 5 و 60 | { "rtoTimeout": "60" } |
قمع جرس الباب | سواء تم قمع جرس الباب عندما تكون الحلقة ، CM و/أو RTO نشطة | "Off" ، "CM" ، "RTO" ، "CM & RTO" ، "Ring" ، "CM & RING" ، "RTO & RING" ، "CM & RTO & RING" | { "doorbellSuppression": "CM & Ring" } |
جرس الباب | المدة في MS من قمع جرس الباب. | عدد صحيح بين 500 و 10000 | { "doorbellSuppressionDuration": "2000" } |
صوتي | صوت الحلقة | "لا صوت" ، "صوت 1" ، "الصوت 2" ، "الصوت 3" | { "soundRing": "No Sound" } |
soundopen | الصوت المفتوح. | "لا صوت" ، "صوت 1" ، "الصوت 2" ، "الصوت 3" | { "soundOpen": "Sound 1" } |
Soundrto | صوت RTO. | "لا صوت" ، "صوت 1" ، "الصوت 2" ، "الصوت 3" | { "soundRto": "Sound 2" } |
SOUNDCM | صوت CM. | "لا صوت" ، "صوت 1" ، "الصوت 2" ، "الصوت 3" | { "soundCm": "Sound 3" } |
تأكيد الصوت | تأكيد الصوت | 0 = لا صوت ، 1 = الصوت | { "soundConfirmation": "1" } |
Soundlevel | مستوى الصوت للمباراة الافتتاحية | عدد صحيح بين 0 و 255 | { "soundLevel": "200" } |
singlebuttonpressaction | الإجراء المطلوب ، إذا تم الضغط على الزر مرة واحدة. | "لا إجراء" ، "تبديل rto" ، "تنشيط rto" ، "إلغاء تنشيط RTO" ، "Toggle CM" ، "تنشيط CM" ، "إلغاء تنشيط CM" ، "Open" | { "singleButtonPressAction": "Open" } |
doublebuttonpressaction | الإجراء المطلوب ، إذا تم الضغط على الزر مرتين. | "لا إجراء" ، "تبديل rto" ، "تنشيط rto" ، "إلغاء تنشيط RTO" ، "Toggle CM" ، "تنشيط CM" ، "إلغاء تنشيط CM" ، "Open" | { "doubleButtonPressAction": "No Action" } |
نوع البطارية | نوع البطاريات الموجودة في القفل الذكي. | "القلوية" ، "المتراكمون" ، "الليثيوم" | { "batteryType": "Accumulators" } |
AutomaticBatteryTypeDetection | ما إذا تم تمكين الكشف التلقائي لنوع البطارية. | 1 = ممكّن ، 0 = معطل | { "automaticBatteryTypeDetection": "1" } |
rebootnuki | أعد تشغيل جهاز Nuki على الفور | 1 = إعادة تشغيل nuki | { "rebootNuki": "1" } |
مثال على الاستخدام لتغيير الإعدادات المتعددة في وقت واحد:
{ "buttonEnabled": "1", "lockngoTimeout": "60", "automaticBatteryTypeDetection": "1" }
{ "fobAction1": "Unlock", "fobAction2": "Intelligent", "nightModeImmediateLockOnStart": "1" }
سيتم نشر نتيجة إجراء تغيير التكوين الأخير على موضوع configuration/commandResult
MQTT كبيانات JSON.
ستتضمن بيانات JSON عقدة تسمى "عام" وعقدة لكل إعداد تم اكتشافه في Nuki Hub في الإجراء.
القيم المحتملة للعقدة "العامة" هي "novalidpinset" ، "invalidjson" ، "invalidConfig" ، "Success" و "Nochange".
القيم المحتملة للعقدة لكل إعداد هي "غير متغيرة" ، "novalueset" ، "invalidvalue" ، "valuetoolong" ، "accessdenied" ، "النجاح" ، "الفشل" ، "المهلة" ، "العمل" ، "notpaired" ، "خطأ "و" غير محدد "
مثال:
{"advertisingMode":"success","general":"success"}
إذا تم تمكين Discovery المساعد المنزلي (انظر قسم اكتشاف Home Assistant في README) ، فسيقوم Nuki Hub بإنشاء كيانات لجميع الإعدادات المذكورة أعلاه تقريبًا.
بعد التثبيت الأولي للبرامج الثابتة NUKI HUB عبر الاتصال التسلسلي ، يمكن نشر المزيد من التحديثات عبر تحديث OTA من متصفح.
في بوابة التكوين ، حدد "تحديث البرامج الثابتة" من الصفحة الرئيسية.
أسهل طريقة لترقية Nuki Hub ، إذا كان Nuki Hub متصل بالإنترنت ، هي تحديد "تحديث إلى أحدث إصدار".
سيؤدي ذلك إلى تنزيل أحدث تحديث Nuki Hub و Nuki Hub وترقية كلا التطبيقين تلقائيًا.
سيقوم Nuki Hub بإعادة تشغيل 3 مرات خلال هذه العملية ، والتي ستستغرق حوالي 5 دقائق.
إذا قمت بتمكين "السماح بالتحديث باستخدام MQTT" ، فيمكنك أيضًا استخدام محدث المساعد المنزلي أو كتابة "1" إلى موضوع nukihub/maintanance/update
لبدء عملية التحديث.
بدلاً من ذلك ، يمكنك تحديد ملف ثنائي من نظام الملفات الخاص بك لتحديث Nuki Hub أو محول Nuki Hub يدويًا
يمكنك فقط تحديث Nuki Hub من محدث Nuki Hub وتحديث التحديث فقط من Nuki Hub
يمكنك إعادة التشغيل من Nuki Hub إلى Updater والعكس بالعكس من خلال تحديد خيار إعادة التشغيل من صفحة "تحديث Fireware"
عندما تكون في التطبيق الصحيح ، يمكنك تحميل Binary الجديد من خلال النقر على "Browse" وحدد "Nuki_Hub [board]
بعد حوالي دقيقة ، يجب تثبيت البرامج الثابتة الجديدة بعد ذلك والتي سيتم إعادة تشغيل ESP تلقائيًا إلى الثنائي المحدث.
سيؤدي اختيار الثنائي الخاطئ إلى تحديث غير ناجح
ملاحظة للمستخدمين الذين يتم ترقيتهم من Nuki Hub 8.35 أو Lower:
يتطلب التحديث إلى الإصدار 9.00 تغييرًا في جدول قسم ESP32.
يرجى اتباع الإرشادات لأول مرة التثبيت مرة واحدة عند التحديث إلى Nuki Hub 9.00 من إصدار سابق.
لن تتأثر الإعدادات الخاصة بك عند التحديث باستخدام التعليمات أعلاه (لا تحدد جهاز مسح عند التحديث باستخدام WebFlash).
يمكن تشفير الاتصالات عبر MQTT SSL.
لتمكين تشفير SSL ، قم بتزويد المعلومات اللازمة في صفحة تكوين MQTT.
التكوينات التالية مدعومة:
CA ، CERT و KEY فارغ -> لا تشفير
CA ممتلئ ولكن CERT والمفتاح فارغ -> MQTT مشفرة
يتم ملء CA و CERT و KEY -> MQTT المشفرة مع العميل vaildation
مثال إنشاء الشهادة لخادم MQTT الخاص بك:
# make a ca key
openssl genpkey -algorithm RSA -out ca.key
# make a CA cert
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/OU=YourUnit/CN=YourCAName"
# make a server key
openssl genpkey -algorithm RSA -out server.key
# Make a sign request, MAKE SURE THE CN MATCHES YOUR MQTT SERVERNAME
openssl req -new -key server.key -out server.csr -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/OU=YourUnit/CN=homeserver.local"
# sign it
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650
يدعم هذا البرنامج MQTT Discovery لدمج Nuki Hub مع مساعد المنزل.
لتمكين الاستكشاف التلقائي ، تمكين خانة الاختيار على صفحة "تكوين MQTT".
بمجرد تمكينه ، يجب أن يظهر قفل Nuki و/أو الافتتاح والكيانات ذات الصلة تلقائيًا في أجهزة MQTT المساعد المنزلي.
يتم إعداد التعيين التالي بين خدمات مساعد المنزل وأوامر NUKI عند تمكين الاستكشاف التلقائي:
Smartlock | فتاحة (افتراضي) | فتاحة (بديل) | |
---|---|---|---|
قفل | قفل | تعطيل الحلقة لفتح | تعطيل الوضع المستمر |
lock.unlock | فتح | قم بتمكين الحلقة | تمكين الوضع المستمر |
lock.Open | infatch | تشغيل الإضراب الكهربائي | تشغيل الإضراب الكهربائي |
ملاحظة: يستخدم MQTT Discovery رسائل MQTT المحتجزة لتخزين تكوينات الأجهزة. لتجنب تكوينات اليتيم على وسيطك ، يرجى تعطيل اكتشاف تلقائي أولاً إذا لم تعد ترغب في استخدام هذا البرنامج. يتم مسح الرسائل المحتجزة تلقائيًا عند إلغاء الالتزام وعند تغيير/تعطيل موضوع الاستكشاف التلقائي في صفحة تكوين MQTT.
ملاحظة 2: يمكن إعداد مساعد المنزل يدويًا باستخدام تكامل قفل MQTT ، ولكن لا ينصح بذلك
إذا تم توصيل لوحة المفاتيح بالقفل ، فيمكن إضافة رموز لوحة المفاتيح وتحديثها وإزالتها. يجب تمكين هذا أولاً في بوابة التكوين. تحقق من "إضافة وتعديل وحذف رموز لوحة المفاتيح" ضمن "تكوين مستوى الوصول" وحفظ التكوين.
يتم نشر معلومات حول رموز لوحة المفاتيح الحالية كبيانات JSON إلى موضوع "[قفل/فتاحة]/لوحة المفاتيح/JSON" MQTT.
يجب تمكين هذا بشكل منفصل عن طريق التحقق من "معلومات رموز لوحة المفاتيح" ضمن "تكوين مستوى الوصول" وحفظ التكوين. لأسباب أمنية ، لم يتم نشر الرمز نفسه ، ما لم يتم تمكين هذا بشكل صريح في إعدادات Nuki Hub. بشكل افتراضي يتم نشر 10 إدخالات كحد أقصى.
لتغيير إعدادات لوحة المفاتيح/فتحات الافتتاح Nuki ، قم بتعيين موضوع [lock/opener]/keypad/actionJson
إلى قيمة منسقة JSON التي تحتوي على العقد التالية.
العقدة | يمسح | يضيف | تحديث | يفحص | الاستخدام | القيم الممكنة |
---|---|---|---|---|---|---|
فعل | مطلوب | مطلوب | مطلوب | مطلوب | الإجراء للتنفيذ | "حذف" ، "إضافة" ، "تحديث" ، "تحقق" |
CodeID | مطلوب | غير مستخدم | مطلوب | مطلوب | معرف رمز الرمز الموجود لحذف أو تحديث | عدد صحيح |
شفرة | غير مستخدم | مطلوب | خياري | مطلوب | الرمز لإنشاء أو تحديث | عدد صحيح مكون من 6 أرقام بدون صفر ، لا يمكن أن يبدأ بـ "12" |
ممكّن | غير مستخدم | غير مستخدم | خياري | غير مستخدم | تمكين أو تعطيل الرمز ، وممكّن دائمًا عند إضافة | 1 = ممكّن ، 0 = معطل |
اسم | غير مستخدم | مطلوب | خياري | غير مستخدم | اسم الرمز لإنشاء أو تحديث | سلسلة ، كحد أقصى 20 شارز |
تحفيز | غير مستخدم | خياري | خياري | غير مستخدم | إذا كان هذا التفويض مقيدًا بالوصول فقط في أوقات معينة ، يتطلب تمكينًا = 1 | 1 = ممكّن ، 0 = معطل |
مسموح به | غير مستخدم | خياري | خياري | غير مستخدم | الطابع الزمني للبدء الذي يجب إمكانية الوصول منه (يتطلب تمكينًا = 1 و timelimited = 1) | "Yyyy-MM-DD HH: MM: SS" |
سمحت | غير مستخدم | خياري | خياري | غير مستخدم | الطابع الزمني النهائي حتى يجب السماح بالوصول (يتطلب تمكينًا = 1 و timelimited = 1) | "Yyyy-MM-DD HH: MM: SS" |
المسموح بها | غير مستخدم | خياري | خياري | غير مستخدم | أيام الأسبوع التي يجب إمكانية الوصول إليها (يتطلب تمكينًا = 1 و timelimited = 1) | مجموعة من الأيام: "Mon" ، "Tue" ، "Wed" ، "Thu" ، "Fri" "Sat" ، "Sun" |
مسموح به من الوقت | غير مستخدم | خياري | خياري | غير مستخدم | وقت البدء في اليوم الذي يجب أن يسمح به الوصول (يتطلب تمكينًا = 1 و timelimited = 1) | "HH: MM" |
سمحت بالمعايير | غير مستخدم | خياري | خياري | غير مستخدم | وقت الانتهاء يوميًا حتى يجب السماح بالوصول (يتطلب تمكينًا = 1 و timelimited = 1) | "HH: MM" |
أمثلة:
{ "action": "delete", "codeId": "1234" }
{ "action": "add", "code": "589472", "name": "Test", "timeLimited": "1", "allowedFrom": "2024-04-12 10:00:00", "allowedUntil": "2034-04-12 10:00:00", "allowedWeekdays": [ "wed", "thu", "fri" ], "allowedFromTime": "08:00", "allowedUntilTime": "16:00" }
{ "action": "update", "codeId": "1234", "enabled": "1", "name": "Test", "timeLimited": "1", "allowedFrom": "2024-04-12 10:00:00", "allowedUntil": "2034-04-12 10:00:00", "allowedWeekdays": [ "mon", "tue", "sat", "sun" ], "allowedFromTime": "08:00", "allowedUntilTime": "16:00" }
سيتم نشر نتيجة إجراء تغيير لوحة المفاتيح الأخير على موضوع [lock/opener]/configuration/commandResultJson
MQTT.
القيم المحتملة هي "novalidpinset" ، "لوحة المفاتيح المفاتيح" ، "keypadnotavailable" ، "لوحة المفاتيح" ، "invalidConfig" ، "invalidjson" ، "noActionSet" ، "NocodeCt" ، "NoExistingCodeSte ، "invalidallowedfrom" ، "invalidalloweduntil" ، "invalidallyedfromtime" ، "invalidalloweduntiltime" ، "النجاح" ، "الفشل" ، "المهلة" ، "العمل" ، "notpaired" ، "خطأ" و "غير محدد".
إذا تم توصيل لوحة المفاتيح بالقفل ، فيمكن إضافة رموز لوحة المفاتيح وتحديثها وإزالتها. يجب تمكين هذا أولاً في بوابة التكوين. تحقق من "إضافة وتعديل وحذف رموز لوحة المفاتيح" ضمن "تكوين مستوى الوصول" وحفظ التكوين.
يتم نشر معلومات حول الرموز ضمن "لوحة المفاتيح/CODE_X" ، X تبدأ من 0 أعلى عدد الرموز التي تم تكوينها. يجب تمكين هذا بشكل منفصل عن طريق التحقق من "معلومات رموز لوحة المفاتيح" ضمن "تكوين مستوى الوصول" وحفظ التكوين. بشكل افتراضي يتم نشر 10 إدخالات كحد أقصى.
لأسباب أمنية ، لم يتم نشر الرمز نفسه ، ما لم يتم تمكين هذا بشكل صريح في إعدادات Nuki Hub. لتعديل رموز لوحة المفاتيح ، يتم إعداد هيكل الأوامر ضمن لوحة المفاتيح/الأمر:
لتعديل رموز لوحة المفاتيح ، يجب تعيين العقد الأربعة الأولى المعلمة اعتمادًا على الأمر:
** ملاحظة: قواعد الرموز هي:
بعد تعيين المعلمات اللازمة ، اكتب الإجراء المراد تنفيذه إلى عقدة الأوامر. على سبيل المثال ، لإضافة رمز:
يمكن إضافة إدخالات timecontrol وتحديثها وإزالتها. يجب تمكين هذا أولاً في بوابة التكوين. تحقق من "إضافة وتعديل وحذف إدخالات timecontrol" ضمن "تكوين مستوى الوصول" وحفظ التكوين.
يتم نشر معلومات حول إدخالات Timecontrol الحالية كبيانات JSON إلى موضوع "[قفل/فتاحة]/Timecontrol/JSON" MQTT.
يجب تمكين هذا بشكل منفصل عن طريق التحقق من "نشر معلومات إدخالات timecontrol" ضمن "تكوين مستوى الوصول" وحفظ التكوين. بشكل افتراضي يتم نشر 10 إدخالات كحد أقصى.
لتغيير إعدادات قفل Nuki/فتحات TimeControl قم بتعيين موضوع [lock/opener]/timecontrol/actionJson
إلى قيمة منسقة JSON التي تحتوي على العقد التالية.
العقدة | يمسح | يضيف | تحديث | الاستخدام | القيم الممكنة |
---|---|---|---|---|---|
فعل | مطلوب | مطلوب | مطلوب | الإجراء للتنفيذ | "حذف" ، "إضافة" ، "تحديث" |
دخول | مطلوب | غير مستخدم | مطلوب | معرف الإدخال للإدخال الموجود لحذف أو تحديث | عدد صحيح |
ممكّن | غير مستخدم | غير مستخدم | خياري | تمكين أو تعطيل الإدخال ، وممكّن دائمًا عند إضافة | 1 = ممكّن ، 0 = معطل |
أيام الأسبوع | غير مستخدم | خياري | خياري | أيام الأسبوع التي يجب أن يتم فيها الخروج من إجراء القفل المختار (يتطلب تمكينًا = 1) | مجموعة من الأيام: "Mon" ، "Tue" ، "Wed" ، "Thu" ، "Fri" "Sat" ، "Sun" |
وقت | غير مستخدم | مطلوب | خياري | الوقت الذي يجب أن يتم فيه تنفيذ إجراء القفل المختار (يتطلب تمكينًا = 1) | "HH: MM" |
قفل | غير مستخدم | مطلوب | خياري | إجراء القفل الذي يجب تنفيذه في أيام الأسبوع المختارة في الوقت الذي تم اختياره (يتطلب تمكينًا = 1) | لقفل Nuki: "فتح" ، "Lock" ، "Unlatch" ، "Lockngo" ، "LockNgounlatch" ، "Fulllock". لمباراة نوكي: "activaterto" ، "deactivaterto" ، "electricstrikeactuation" ، "activatecm" ، "deactivateCMM |
أمثلة:
{ "action": "delete", "entryId": "1234" }
{ "action": "add", "weekdays": [ "wed", "thu", "fri" ], "time": "08:00", "lockAction": "Unlock" }
{ "action": "update", "entryId": "1234", "enabled": "1", "weekdays": [ "mon", "tue", "sat", "sun" ], "time": "08:00", "lockAction": "Lock" }
يمكن تحديث إدخالات التفويض وإزالتها. يجب تمكين هذا أولاً في بوابة التكوين. تحقق من "تعديل وحذف إدخالات التفويض" ضمن "تكوين مستوى الوصول" وحفظ التكوين. من غير الممكن (بعد) حاليًا إضافة إدخالات التفويض بهذه الطريقة.
يتم نشر معلومات حول إدخالات التفويض الحالية كبيانات JSON إلى موضوع "[قفل/فتاحة]/إذن/JSON" MQTT.
يجب تمكين هذا بشكل منفصل عن طريق التحقق من "معلومات إدخالات التفويض" ضمن "تكوين مستوى الوصول" وحفظ التكوين. بشكل افتراضي يتم نشر 10 إدخالات كحد أقصى.
لتغيير إعدادات ترخيص قفل Nuki/الافتتاحية ، قم بتعيين موضوع [lock/opener]/authorization/action
إلى قيمة منسقة JSON التي تحتوي على العقد التالية.
العقدة | يمسح | يضيف | تحديث | الاستخدام | القيم الممكنة |
---|---|---|---|---|---|
فعل | مطلوب | مطلوب | مطلوب | الإجراء للتنفيذ | "حذف" ، "إضافة" ، "تحديث" |
Authid | مطلوب | غير مستخدم | مطلوب | معرف المصادقة للإدخال الحالي لحذف أو تحديث | عدد صحيح |
ممكّن | غير مستخدم | غير مستخدم | خياري | تمكين أو تعطيل التفويض ، وتمكين دائمًا على إضافة | 1 = ممكّن ، 0 = معطل |
اسم | غير مستخدم | مطلوب | خياري | اسم التفويض لإنشاء أو تحديث | سلسلة ، كحد أقصى 20 شارز |
RemotealLowed | غير مستخدم | خياري | خياري | إذا تم السماح لهذا التفويض بالوصول عن بُعد ، يتطلب تمكينًا = 1 | 1 = ممكّن ، 0 = معطل |
تحفيز | غير مستخدم | خياري | خياري | إذا كان هذا التفويض مقيدًا بالوصول فقط في أوقات معينة ، يتطلب تمكينًا = 1 | 1 = ممكّن ، 0 = معطل |
مسموح به | غير مستخدم | خياري | خياري | الطابع الزمني للبدء الذي يجب إمكانية الوصول منه (يتطلب تمكينًا = 1 و timelimited = 1) | "Yyyy-MM-DD HH: MM: SS" |
سمحت | غير مستخدم | خياري | خياري | الطابع الزمني النهائي حتى يجب السماح بالوصول (يتطلب تمكينًا = 1 و timelimited = 1) | "Yyyy-MM-DD HH: MM: SS" |
المسموح بها | غير مستخدم | خياري | خياري | أيام الأسبوع التي يجب إمكانية الوصول إليها (يتطلب تمكينًا = 1 و timelimited = 1) | مجموعة من الأيام: "Mon" ، "Tue" ، "Wed" ، "Thu" ، "Fri" "Sat" ، "Sun" |
مسموح به من الوقت | غير مستخدم | خياري | خياري | وقت البدء في اليوم الذي يجب أن يسمح به الوصول (يتطلب تمكينًا = 1 و timelimited = 1) | "HH: MM" |
سمحت بالمعايير | غير مستخدم | خياري | خياري | وقت الانتهاء يوميًا حتى يجب السماح بالوصول (يتطلب تمكينًا = 1 و timelimited = 1) | "HH: MM" |
أمثلة:
{ "action": "delete", "authId": "1234" }
{ "action": "update", "authId": "1234", "enabled": "1", "name": "Test", "timeLimited": "1", "allowedFrom": "2024-04-12 10:00:00", "allowedUntil": "2034-04-12 10:00:00", "allowedWeekdays": [ "mon", "tue", "sat", "sun" ], "allowedFromTime": "08:00", "allowedUntilTime": "16:00" }
يمكن التحكم في القفل عبر GPIO. لتشغيل الإجراءات ، يجب أن يكون هناك اتصال بالأرض عند الإيجار 300 مللي ثانية (أو إلى +3.3V لـ "الإدخال العام (المنسدلة)").
لتمكين التحكم في GPIO ، انتقل إلى صفحة "تكوين GPIO" حيث يمكن لكل GPIO تكوينه لدور محدد:
إذا كنت تفضل الاتصال عبر Ethernet بدلاً من Wi-Fi ، فأنت إما تستخدم إحدى وحدات ESP32 المدعومة مع قسم Ethernet المدمج (انظر "الأجهزة المدعومة") أو توصيل وحدة Ethernet منفصلة.
حاليًا يتم دعم وحدة Wiznet W5x00 (W5100 و W5200 و W5500) و DN9051 و KSZ8851SNL.
لاستخدام الوحدة النمطية المدعومة ، قم بميض البرامج الثابتة ، قم بالاتصال عبر Wi-Fi وحدد أجهزة الشبكة الصحيحة في قسم "تكوين الشبكة".
لتوصيل وحدة W5x00 خارجية إلى ESP ، استخدم مخطط الأسلاك هذا:
قم الآن بالاتصال عبر Wi-Fi وقم بتغيير أجهزة الشبكة إلى "Generic W5500".
إذا لم يتم الكشف عن أجهزة Ethernet أو تهيئتها بشكل صحيح بعد تغيير جهاز الشبكة ، فسيتم استخدام Wi-Fi كاحتفال.
ملاحظة: يتم دعم وحدات LAN8720 فقط على ESP32 و ESP32-SOLO1 ، وليس على ESP32-S3 أو ESP32-C3 أو ESP-C6
لسوء الحظ ، يعاني ESP32 من مشاكل في بعض نقاط الوصول وإعادة الاتصال.
كحل بديل ، يمكنك الانتقال إلى "تكوين الشبكة" وتمكين "إعادة التشغيل عند الفصل".
سيؤدي ذلك إلى إعادة تشغيل ESP بمجرد فصلها عن Wi-Fi.
أيضًا ، يقلل هذا من مهلة بوابة التكوين إلى ثلاث دقائق لمنع ESP في وضع التكوين في حالة عدم اتصال نقطة الوصول مؤقتًا.
إذا كان هذا لا يزال لم يصلح الانفصال وتصبح ESP غير قابلة للوصول ، فيمكن استخدام خيار "إعادة التشغيل" كملاذ أخير.
ستعيد تشغيل ESP بعد مقدار الوقت المكون.
أولاً ، تأكد من أن إصدار البرنامج الثابت لجهاز NUKI محدّث ، فإن الإصدارات القديمة لديها مشكلات في إقران.
بعد ذلك ، حاول محو فلاش ESP32 ثم (إعادة) فلاش البرامج الثابتة.
لمحو الفلاش ، استخدم أداة تنزيل Espressif وانقر فوق الزر "محو".
بعد ذلك ، قم بميض البرامج الثابتة كما هو موضح في ملف "how-to-flash.txt" أو باستخدام WebFlash.
أيضا ، تحقق من أن الاقتران مسموح به. في تطبيق Nuki Smartphone ، انتقل إلى "الإعدادات" -> "الميزات والتكوين" -> "Button & LED" وتأكد من تمكين "Bluetooh".
بعد ذلك ، اضغط على الزر لعدة ثوانٍ حتى يظل ضوء LED مضاءًا.
ملاحظة حول وحدة M5stack POSP32. هنا حفل استقبال Bluetooth الأولي ضعيف للغاية (يتراوح أقل من متر واحد). والسبب هو أن الوحدة لا تحتوي على هوائي على ثنائي الفينيل متعدد الكلور ، ولكن فقط موصل IPEX. عن طريق إعادة التعديل الهوائي SMA خارجي (IPEX ، أو أسماء أخرى U.FL أو IPAX و IPX و AMC و MHF و UMCC) ، تعمل Bluetooth/Wi-Fi على مدار عدة أمتار.
تأكد من أنك تستخدم على الأقل الإصدار 2023.8.0 من مساعد المنزل.
قام مطورو المساعدين المنزليين بإجراء تغييرات على MQTT Auto Discovery الذي يكسر دعم الإصدار الأقدم و Nuki Hub قد تبنت هذه التغييرات.
هذا يعني للأسف أن الإصدارات الأقدم من مساعد المنزل لم يتم دعمها من قبل تنفيذ اكتشاف Nuki Hub بعد الآن.
وفقًا لـ Nuki ، هذا حسب التصميم وجزء من مواصفات قفل المحترفين.
يمكنك استخدام إما Wi-Fi المدمج أو الجسر (الذي يسجله Nuki Hub AS).
أو استخدم Nuki Hub في الوضع الهجين باستخدام Wi-Fi أو مؤشر الترابط ، انظر الوضع الهجين
باستخدام كلاهما في نفس الوقت لا يتم دعمه.
يتم تقييد بعض الوظائف بواسطة البرامج الثابتة القفل (أو الفتحة) ولا يمكن الوصول إليها إلا عند توفير دبوس.
عند إعداد القفل (أو الافتتاح) ، يجب عليك تعيين دبوس في تطبيق Nuki Smartphone.
انتقل إلى صفحة بيانات اعتماد Nuki Hub ، وأدخل هذا التعريف الشخصي وانقر فوق حفظ.
تحقق من الصفحة الرئيسية للمصنع لمعرفة ما إذا كان الدبوس الذي تم إدخاله صالحًا
انظر النقطة السابقة ، تحتاج هذه الوظيفة إلى تكوين الدبوس الصحيح.
تأكد من فحص خيار "inlatch" ضمن "تكوين مستوى الوصول".
يمكن تشغيل inflinging باستخدام خدمة lock.open.
بدلاً من ذلك ، يتعرض زر "inlatch" من خلال اكتشاف مساعد المنزل.
يتم تعطيل هذا الزر افتراضيًا ، ولكن يمكن تمكينه في واجهة المستخدم المساعد المنزلي.
عند استخدام أجهزة NUKI متعددة ، يجب تكوين مسارات مختلفة لكل جهاز.
انتقل إلى "تكوين MQTT" وتغيير "مسار MQTT Nukihub" ضمن "تكوين MQTT الأساسي" لأحد الأجهزة على الأقل.
غالبًا ما يكون هذا نتيجة لتمكين "التسجيل كتطبيق" عند عدم استخدام الوضع المختلط (تعاوني MQTT / NUKI HUB الرسمي).
إن القيام بذلك سيؤدي إلى استعلام Nuki Hub باستمرار عن القفل ، وبالتالي يسبب استنزاف البطارية المفرط.
لمنع هذا السلوك ، قم بتعطيل Unpair Nuki Hub ، وتعطيل "التسجيل كتطبيق" ، وإعادة تشغيل.
لا تقم مطلقًا بتمكين "التسجيل كتطبيق" إلا إذا كنت تنوي استخدام جسر Nuki بالإضافة إلى Nuki Hub أو كنت تستخدم الوضع الهجين!
Docker (المفضل)
راجع ReadMe في دليل Docker للحصول على تعليمات حول البناء باستخدام Docker.
منصة IO ، تعليمات لـ Linux Distro مقرها Debian (مثل Ubuntu)
apt-get update
apt-get install -y git python3 pip make
python3 -m venv .venv
source .venv/bin/activate
git clone https://github.com/technyon/nuki_hub --recursive
cd nuki_hub
# install tools platformio and esptool
make deps
# build all binary boards
make updater
make release
هذا هو برنامج طرف ثالث لأجهزة Nuki.
لا يرتبط هذا المشروع أو أي من المؤلفين مع Nuki Home Solutions GmbH.
يرجى الرجوع إلى المنتجات الرسمية والدعم إلى موقع NUKI الرسمي:
https://nuki.io/
لمزيد من تفاصيل الترخيص ، تحقق من ملف الترخيص المضمن.