هذا المشروع يغلق أبوابه. مع ظهور https://github.com/cgarwood/homeassistant-zwave_mqtt باستخدام https://github.com/OpenZWave/qt-openzwave المعروف أيضًا باسم ozwdaemon
، لم يعد هناك الكثير مما يمكن أن أرغب فيه (دعنا نقول أنهم سرقوا فكرتي إذا كان أي شخص يسأل؟). بطريقة جيدة مفتوحة المصدر، من الأفضل أن أستثمر في هذه المشاريع بدلاً من إعادة اختراع العجلة. لقد كانت رحلة قصيرة ولكنها ممتعة..
ليكون أرشيفا قريبا
الوضع الحالي:
واجهة Z-Wave الخلفية / واجهة برمجة تطبيقات REST: تجريبية
الواجهة الأمامية للمتصفح: ألفا
تعريض شبكة Z-Wave الخاصة بك كعميل MQTT ألفا، وليس للاستخدام اليومي، حتى الآن
mqtt
(داخل HA) واكتشافه تكوينًا كاملاً قائمًا على واجهة المستخدم الرسومية ابدأ في مكان ما، على سبيل المثال، cd /tmp
git clone [email protected]:daringer/zwave-core.git
تأكد من تثبيت python> 3.x
تثبيت venv باستخدام النقطة: python -m pip install venv
إنشاء بيئة افتراضية جديدة وتفعيلها:
python -m venv /tmp/zwave_core_venv
source /tmp/zwave_core_venv/bin/activate
cd /tmp/zwave-core
python -m pip install -r requirements.txt
# for example for home-assistant
cd ~ /.homeassistant
cp zwcfg_0xf5b17667.xml pyozw.sqlite zwscene.xml options.xml /tmp/zwave-core/
حدد موقع (وحدد) تثبيت (نكهة) openzwave الخاص بك، راجع openzwave. بالنسبة لي، أفضّل النظام على مستوى النظام حيث تم تثبيت open-zwave من خلال جهاز pacman-ager الخاص بي. لذلك بالنسبة لي: /etc/openzwave
تحقق مما إذا كان جهاز التحكم التسلسلي الخاص بك (شيء مثل /dev/ttyACM0
) قابلاً للكتابة
ببساطة قم بتشغيل:
cd /tmp/zwave-core
python zwave_core/start.py
الآن لبدء تشغيل الشبكة، فقط تأكد من صحة حقول الإدخال الأربعة الموجودة في الجزء العلوي الأيسر. جهاز التحكم /dev/ttyACM0
، دليل قاعدة بيانات openzwave /etc/openzwave
، user-dir هو دليل العمل الحالي لدينا، حيث قمنا بنسخ ملفات openzwave إلى الأمان: .
.
بمجرد الانتهاء، انقر فوق "ON" في الزاوية العلوية اليسرى وانتظر أثناء مشاهدة سجل الأحداث الذي يتم ملؤه بالمهام التي تنفذها وحدة التحكم...
يجب أن يكون ZWave-core — كما يوحي الاسم — هو المكون الأساسي للتفاعل مع أجهزة Z-Wave والشبكة. توفير واجهة شفافة ودقيقة للغاية في بروتوكول Z-Wave وعدم إخفاء أي تفاصيل. باستخدام REST API، يتم توفير هذه الشفافية بطريقة مستقلة عن النظام الأساسي وسهلة الوصول إليها.
تعرض الواجهة الديناميكية والمبنية على الويب والمتفاعلة واجهة REST API للمتصفح، وتعمل كنافذة واضحة على عالم Z-Wave. من أجل نقل الديناميكية العالية لشبكة Z-Wave، يعد الدفع المستند إلى websocket أمرًا ضروريًا للسماح لجانب المستقبل بعدم تفويت أي معلومات داخل الشبكة بأقل زمن وصول ممكن.
على النقيض من هذا النهج البسيط، فإن الميزة المميزة الرئيسية ستكون طبقة MQTT، التي تقدم طبقة تجريد بين أي نظام أتمتة منزلي وشبكة Z-Wave من أجل فصل ما لا ينتمي معًا: المادي والوظيفي طبقات. في حين أن الأول يمكن نشره بشكل مستقل، دون معرفة مسبقة بالبيئة المحيطة على الرغم من شبكة Z-Wave نفسها، فإن الأخير يتمتع بحرية عدم الاهتمام بالطبقة المادية على الإطلاق والتركيز على التحديات الوظيفية التي تركز على المستخدم النهائي. لذلك، بكلمات بسيطة، يوفر zwave-core جسر Z-Wave إلى IP مما يسمح بالبساطة في إدارة Z-Wave لسد الفجوة بين WiFi ونطاق ISM.
عنوان URL | طُرق | وصف |
---|---|---|
/شبكة | يحصل | ... |
/net/actions | يحصل | |
/ صافي / العمل / الإجراء | بريد | |
/net/ctrl/actions | يحصل | |
/net/ctrl/action/action | بريد | |
/net/opts | الحصول على، حذف، التصحيح، النشر | |
/net/signals | يحصل | |
/nodes | يحصل | |
/عقدة/int:node_id | احصل على التصحيح | |
/node/int:node_id/value/int:value_id | احصل على، انشر | |
/عقدة/إجراءات | يحصل | |
/node/int:node_id/action/action | بريد | |
/toc | يحصل |
127.0.0.1:5000/الواجهة الأمامية...
هناك عدة طرق للوصول إلى عقد وكيانات zwave.
zwave/raw/<node_id>/#
قائمة شاملة حول جميع أجهزة الشبكة المحلية، بما في ذلك إعدادات c، وأجهزة القراءة فقط، ...homeassistant/<component type (eg, sensor)>/<node_id>/state#'
تلقائيًا