ينشر Projector Pilot الحالة المباشرة لجهاز العرض وكل عناصر التحكم إلى Home Assistant وHubitat وأي Webhook تريده. أعدّه مرة واحدة، فيدير منزلك الذكي جهاز العرض بنفسه - دون هاتف على الشبكة ودون سحابة في الوسط.
تحوّل أتمتة المنزل Projector Pilot من جهاز تحكم في يدك إلى جهاز يراه منزلك كله. فهي تعرض ما يفعله جهاز العرض - التشغيل والمدخل ووضع الألوان وأرقام الصورة وساعات المصباح - وتمنح منزلك الذكي عنصر تحكم لكل ما يستطيع التطبيق تغييره.
الإعدادات › أتمتة المنزل هي المركز. اختر المنصة التي تستخدمها - Home Assistant أو Hubitat أو Webhooks - وأعدّها من هناك. يمكنك ربط أكثر من واحدة في الوقت نفسه؛ فهي مستقلة.
سجّل الدخول من التطبيق، وانشر جهاز العرض كمستشعر، والصق كتلة واحدة في إعداداتك، ثم زامن. ومن بعدها يدير Home Assistant جهاز العرض بنفسه.
http://homeassistant.local:8123 أو عنوان IP الخاص به)، ثم المس تسجيل الدخول. إنه تسجيل دخول عبر المتصفح إلى نسختك الخاصة - ولا يوجد رمز للصقه. استخدم بيانات دخولك المعتادة إلى Home Assistant، بما فيها التحقق بخطوتين.sensor.projector_pilot_epson_qb1000b_qb1000w، يحمل التشغيل والمدخل ووضع الألوان وأرقام الصورة وساعات المصباح.configuration.yaml لديك، وأعد تشغيل Home Assistant، ثم المس المزامنة مع HA.
هذه هي الحيلة كلها لتعمل دون خادم. يكتب التطبيق أمرًا واحدًا يشغّله Home Assistant للتحدث إلى Web Control في جهاز العرض، ويستدعي كل نص برمجي يزامنه هذا الأمر بفعل مختلف. المس نسخ الكتلة في التطبيق والصقها في configuration.yaml. المثال أدناه توضيحي - فالتطبيق يملأ عنوان جهاز العرض واسم الأمر الخاصين بك:
shell_command:
projector_pilot_epson: >-
curl -s --max-time 5 --digest -u 'EPSONWEB:'
-H "X-Requested-With: XMLHttpRequest"
-H "Referer: http://192.168.1.50/cgi-bin/webconf"
"http://192.168.1.50/cgi-bin/directsend?{{ verb }}={{ value | urlencode }}"
مثال فقط. ينشئ التطبيق كتلتك بعنوان IP الحقيقي لجهاز العرض واسم مشتق من رقمه التسلسلي.
curl هذا على جهاز Home Assistant، لا على هاتفك. يصل Home Assistant إلى عنوان IP لجهاز العرض مباشرة عبر Web Control، فتعمل الأتمتة سواء كان التطبيق مفتوحًا أم لا، وسواء كان هاتفك في المنزل أم لا. ومستخدم EPSONWEB هو بيانات دخول Web Control؛ ويستخدم التطبيق كلمة مرور Web Control المحفوظة أصلًا لجهاز العرض.shell_command الملصوق فعلًا، لتكتشف أي خطأ مطبعي قبل أن تبني شيئًا فوقه.تحمل شاشة Home Assistant قائمة الإعداد ولوحة ما لدى Home Assistant لديك، فلا تضطر أبدًا إلى تخمين الخطوة المتبقية. يذكر كل صف ما إذا كان منجزًا أو ناقصًا أو تعذّر تحديده، ويخبرك بما عليك فعله بعد ذلك.
configuration.yaml. يعرض كل منها تم العثور أو غير مثبّت أو تعذر التحديد، مع زرّي طريقة التثبيت وفتح في HACS حيث يفيدان.يكتشف Projector Pilot ما ثبّته Home Assistant لديك ويبني عليه. وهو يعمل مع تكامل PJLink الأساسي الذي يأتي مع Home Assistant أصلًا، فجهاز عرض PJLink أضفته هناك بالفعل يُعامل معاملة كاملة.
configuration.yaml، وأعد تشغيل Home Assistant، ثم المس المزامنة مرة أخرى.يبلّغ جهاز العرض في وضع الاستعداد بالقليل جدًا، فتفرغ لوحة التحكم عادةً. أما مستشعر آخر قيمة معروفة الاختياري فيحتفظ بآخر قراءات جهاز العرض - المدخل وساعات المصباح أو الليزر - في Home Assistant بينما جهاز العرض متوقف.
configuration.yaml (أو أضف أسطرها فقط تحت قسم template: موجود) وأعد تشغيل Home Assistant. وفي التطبيق زر تحقق من وجودها يخبرك ما إذا كانت موجودة في Home Assistant.بعد المزامنة، لا تبقى مشاهدك حبيسة التطبيق. يُكتب كل واحد منها، إضافة إلى التشغيل وكل مدخل وكل وضع ألوان وكل ذاكرة عدسة يملكها جهاز العرض فعلًا، كنص برمجي في Home Assistant.
لا تحتاج إلى بناء عرض Lovelace يدويًا، ولم تعد مضطرًا إلى لصق واحد أيضًا. عندما تلمس المزامنة مع HA، يبني التطبيق لوحة Projector Pilot كاملة مباشرة داخل Home Assistant عبر واجهته البرمجية: الحالة المباشرة لجهاز العرض وزرًا لكل مشهد وعنصر تحكم زامنه. وتظهر في الشريط الجانبي لـ Home Assistant باسم Projector Pilot - افتحها وانتهى الأمر.
configuration.yaml مرة واحدة وأعد تشغيل Home Assistant (الخطوة اليدوية الوحيدة - فـ Home Assistant لا يسمح للتطبيقات بإضافة ذلك الأمر عن بُعد).سواء بُنيت لك أو لصقتها بنفسك، فاللوحة هي نفسها - بطاقة حالة وزر لكل عنصر تحكم (مقتطف توضيحي):
views:
- title: Projector
cards:
- type: entity
entity: sensor.projector_pilot_epson_qb1000b_qb1000w
name: Projector
- type: button
name: Power On
tap_action:
action: perform-action
perform_action: script.turn_on
target:
entity_id: script.projector_pilot_power_on
- type: button
name: Movie Night
tap_action:
action: perform-action
perform_action: script.turn_on
target:
entity_id: script.projector_pilot_scene_movie_night
مثال فقط. تحمل لوحتك كيان جهاز العرض الحقيقي لديك ومشاهدك أنت.
في Hubitat، يعكس Projector Pilot جهاز العرض على جهاز في المركز لديك عبر Maker API، فيستطيع Rule Machine قراءة التشغيل وكتم الصوت والمدخل والتصرف بناءً عليها.
Webhooks هي الحل الشامل. يرسل التطبيق طلبًا إلى رابط تحدده عندما يعمل جهاز العرض أو يتوقف أو يتغير المدخل أو يُستدعى مشهد - Webhook في Home Assistant أو Node-RED أو IFTTT أو أي شيء يقبل JSON.
http://homeassistant.local:8123/api/webhook/your-id.الحمولة الافتراضية JSON عادي - حدث وجهاز العرض والقيمة التي تغيّرت:
{
"event": "scene_recalled",
"projector": "Epson QB1000B/QB1000W",
"scene": "Movie Night",
"power": "on",
"input": "HDMI1",
"color_mode": "Cinema",
"timestamp": "2026-09-23T20:14:07Z"
}
حمولة مثال. يحمل حدث تغيّر المدخل أو التشغيل الحقول المتعلقة به.
تأكد من أن العنوان الذي أدخلته هو الذي تصل به فعلًا إلى Home Assistant، بما في ذلك المنفذ (عادةً :8123). تسجيل الدخول هو دخول حقيقي عبر المتصفح إلى نسختك، لذا تنطبق كلمة مرورك واسم المستخدم ورمز التحقق بخطوتين كلها. وفي الهاتف يكتمل تسجيل الدخول سواء أعاد المتصفح داخل التطبيق النتيجة أم عاد الاستدعاء المحلي أولًا؛ وإن ظل متعثرًا فأغلق الصفحة وامس تسجيل الدخول مرة أخرى.
يُنشر المستشعر بينما التطبيق مفتوح وإرسال حالة جهاز العرض مفعّل، لذا افتح التطبيق وتأكد من ذلك المفتاح. ثم تحقق من أدوات المطوّر › الحالات في Home Assistant وصفِّ بحسب projector_pilot. ينشر جهاز العرض في وضع الاستعداد القليل جدًا؛ أيقظه فتمتلئ القراءات.
تكتب النصوص البرمجية المزامنة مع HA، وهي تحتاج إلى كتلة shell_command ملصوقة مسبقًا في configuration.yaml وإلى إعادة تشغيل Home Assistant مرة واحدة. شغّل اختبار الاتصال أولًا - فهو يخبرك ما إذا كانت الكتلة موجودة. ثم زامن مرة أخرى. وإن كانت نصوص برمجية قديمة ميتة تزدحم بها القائمة فاستخدم إزالة النصوص البرمجية اليتيمة.
هذا هو جوهر كتلة shell_command - فهي ما يتيح لـ Home Assistant الوصول إلى عنوان IP لجهاز العرض بنفسه. وإن كان يعمل فقط والتطبيق مفتوح فالأرجح أن الكتلة لم تُلصق أو أن Home Assistant لم يُعد تشغيله بعد لصقها. تأكد باختبار الاتصال، وأعد تشغيل Home Assistant، ثم زامن.
أتمتة المنزل إضافة لمرة واحدة. دون اشتراك ودون حساب ودون سحابة. عملية شراء واحدة تفتحها على كل منصة تملكها.
شاهد المجاني مقابل Pro مقابل أتمتة المنزل → · دليل المستخدم الكامل →
لا. بمجرد لصق كتلة shell_command الواحدة في Home Assistant وإجراء المزامنة، يرسل Home Assistant الأوامر مباشرة إلى عنوان IP لجهاز العرض. Projector Pilot مجرد أداة إعداد؛ وبعدها يتحدث Home Assistant مع جهاز العرض بنفسه، سواء كان هاتفك في المنزل أم لا.
كمستشعر، مثل sensor.projector_pilot_epson_qb1000b_qb1000w، يحمل التشغيل والمدخل ووضع الألوان وأرقام الصورة وساعات المصباح، ويتحدّث كلما تغيّرت بينما التطبيق مفتوح. فعّل مزامنة عناصر التحكم المتقدمة فيكتب التطبيق أيضًا نصًا برمجيًا في Home Assistant لكل مشهد، إضافة إلى التشغيل وكل مدخل وكل وضع ألوان وكل ذاكرة عدسة يملكها جهاز العرض.
أتمتة المنزل إضافة مدفوعة، بعملية شراء لمرة واحدة، منفصلة عن Projector Pilot Pro. وتتيح الحزمة شراء الاثنين معًا بسعر أوفر. انظر صفحة الأسعار.