جدول المحتويات:

مصباح التوقيت ESPHOME SONOF S26: 11 خطوة (بالصور)
مصباح التوقيت ESPHOME SONOF S26: 11 خطوة (بالصور)

فيديو: مصباح التوقيت ESPHOME SONOF S26: 11 خطوة (بالصور)

فيديو: مصباح التوقيت ESPHOME SONOF S26: 11 خطوة (بالصور)
فيديو: HOW TO CONNECT TO SONOFF S26 Smart WIFI Socket Smart Home Switch 10A AC90V-250V Work With Alexa 2024, شهر نوفمبر
Anonim
مصباح توقيت ESPHOME SONOF S26
مصباح توقيت ESPHOME SONOF S26

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

لذا دعنا نرى فقط كم يمكنني أن آخذ نفسي في حفرة أرنب.

الخطوة 1: الخطوة 1: أحتاج إلى طريقة لإرسال Times From Home Assistant

يساعد بعض البحث في googling. يساعد البعض في سحب شعرك ، إذا كان لديك بالفعل أي: قم بفتح الوظيفة الإضافية Visual Studio Code Editor. ضمن مجلد التكوين ، ابحث عن ملف configuration.yaml وقم بنسخ ولصق بعض الأشياء التي وجدتها مخفية في بعض المنتديات. آسف إذا تذكرت سأعطي الشكر. تمت إضافة الرمز وإعادة تشغيل مساعد المنزل.

الخطوة 2: الخطوة 2: تمت إضافة الكود التالي إلى Configuration.yaml

الخطوة 2: تمت إضافة الكود التالي إلى Configuration.yaml
الخطوة 2: تمت إضافة الكود التالي إلى Configuration.yaml

رقم الإدخال:

ft_start_hr:

الاسم: ساعات بدء ضوء FT

رمز: mdi: بدء التشغيل على مدار الساعة

الحد الأدنى: 0

الحد الأقصى: 23

الخطوة 1

# الأولي: 13

سيكون السطر الأول هو معرف كيان رقم الإدخال.

بعد ذلك نحتاج إلى بعض التفاصيل لهذا الرجل الصغير:

سيكون الاسم رائعًا: ساعات بدء ضوء FT لهذا واحد ملاحظة. FT مخصص لـ Fish Tank… ليس ما كنت تفكر فيه بشكل صحيح؟

التالي هو رمز اختياري. يوجد الكثير للاختيار من بينها ، لذا كن مجنونًا … أو لا.

ثم يمكننا وضع قيمة min و max و step. لأن هذه ساعات اخترت 0 - 23 بخطوات فردية.

في البداية كان لدي قيمة أولية وعندما أعيد تشغيل المساعد المنزلي ، فإنه سيغيرها إلى هذه القيمة الأولية. قررت التعليق عليها لأنني أردت أن يحاول مساعد Home تذكر القيمة الأخيرة التي حددتها له.

يمكنك وضع في الوضع لاختيار مربع. ولكن كإعداد افتراضي ، فإنه يختار شريط تمرير لطيفًا لك. أعتقد أن شريط التمرير سيفي بالغرض الآن.

انتبه إلى المسافات البادئة لأنها مهمة جدًا انظر الصورة

لذلك ستمنحك هذه الكيانات في المساعد المنزلي لتكون قادرًا على التكيف.

فيما يلي رابط لمزيد من المعلومات حول أرقام الإدخال:

www.home-assistant.io/integrations/input_n…

الخطوة 3: الخطوة 3: نحتاج الآن إلى الحصول على المعلومات إلى واجهة برمجة تطبيقات ESPHOME

الخطوة 3: الآن نحن بحاجة إلى الحصول على المعلومات إلى واجهة برمجة تطبيقات ESPHOME
الخطوة 3: الآن نحن بحاجة إلى الحصول على المعلومات إلى واجهة برمجة تطبيقات ESPHOME

المستشعر:

- المنصة: نموذج

مجسات:

ft_start_hr:

value_template: '{{States.input_number.ft_start_hr.state | int}} '

ن

سيعطي هذا ESPHome API الاتصال المطلوب ، كما أنه أصبح الآن عددًا صحيحًا بدلاً من شريط تمرير النص الرائع:-P

هنا يتم أخذ حالة رقم الإدخال وتحويلها إلى عدد صحيح وتخزينها في جهاز استشعار.

فيما يلي مزيد من المعلومات حول القوالب:

www.home-assistant.io/integrations/templat…

لقد غيرت امتداد الملف لملفي إلى نص حتى أتمكن من تحميله … قد تكون التعليمات قابلة للتدمير باستخدام yaml …

الخطوة 4: الخطوة 4: إذن تكوين ESPHome من Plug Now

الخطوة 4: إذن تكوين ESPHome الخاص بـ Plug Now
الخطوة 4: إذن تكوين ESPHome الخاص بـ Plug Now

لقد بدأت بتكوين أساسي لقابس s-on-off ثم بدأت في الترقيع.

لن أخوض في التفاصيل حول كيفية وميض قابس S26 باستخدام ESPHome حيث أن Google لديها جميع الإجابات.

سيكون ملف التكوين الكامل الخاص بي متاحًا للتنزيل في النهاية. دا دا داه …

لذلك لنبدأ بالجزء المرتبط بـ Home Assistant:

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

الخطوة 5: الخطوة 5: اتصال ESPHome Home Assistant… Beam Me Up Scotty

الخطوة 5: اتصال ESPHome Home Assistant… Beam Me Up Scotty
الخطوة 5: اتصال ESPHome Home Assistant… Beam Me Up Scotty

المستشعر:

- المنصة: homeassistant

معرف الكيان: sensor.ft_start_hr

المعرف: id_ft_start_hr

لذلك نقوم الآن بإنشاء مستشعر في ESP Home من النوع homeassistant. من كان ليخمن؟

يجب أن يتطابق معرّف الكيان مع ما قمت بإعداده في ملف config.yaml الخاص بك.

لقد قمت بإعداد معرف حتى يتمكن ESPHome من الإشارة إلى هذا المستشعر في وفرة تفكيره.

الخطوة 6: الخطوة 6: لنضيف بعض الوقت

الخطوة 6: لنضيف بعض الوقت
الخطوة 6: لنضيف بعض الوقت

إذن مع كون هذا قابسًا موقوتًا … دعنا نضيف بعض الوقت … أم أنه يطرح؟ هو الآن في الماضي؟

فيما يلي بعض أساسيات عنصر الوقت. يمكننا اختيار بعض الأنواع المختلفة لكنني اخترت المساعدة في المنزل. سهل جدا؟

esphome.io/components/time.html

الخطوة 7: الخطوة 7: الفاصل الزمني

الخطوة 7: الفاصل الزمني
الخطوة 7: الفاصل الزمني

لا ليست استراحة ، أم هي؟

فترة:

- الفاصل الزمني: 1 ثانية

من ثم:

- لامدا: | -

id (gl_ft_start_hr) = id (id_ft_start_hr).state ؛

لذلك قمت بتعيين فاصل زمني مدته ثانية واحدة لكتابة قيمة المستشعر من المساعد المنزلي إلى المتغير العام.

أريد فقط أن أفعل هذا مرة واحدة في الثانية لأن الوقت يمر …

الخطوة 8: الخطوة 8: إذن لدينا الوقت والمال … وماذا بعد؟

الخطوة 8: إذن لدينا الوقت والمال … ماذا بعد؟
الخطوة 8: إذن لدينا الوقت والمال … ماذا بعد؟

لذلك قررت استخدام قالب مستشعر ثنائي لتحديد ما إذا كان الوقت قد حان لتشغيل مفتاح التبديل … الترحيل

لقد أنشأت ثلاثة مفاتيح مع المعرف: start_time_valid و stop_time_valid و run_time_valid

يكون start_time_valid صحيحًا عندما يكون الآن قد تجاوز الوقت الذي تم إعداده لتشغيل التتابع.

لقد استخدمت عبارات if المتداخلة للتحقق مما إذا كنا أكبر أو يساوي الثواني المطلوبة ، ثم الدقائق ، وأخيراً الساعات.

يكون stop_time_valid صحيحًا عندما يحين الآن قبل أن يحين وقت الإعداد لإيقاف تشغيل المفتاح. يتم عكس هذا للتحقق من أنه لم يتجاوز الوقت المطلوب لإيقاف تشغيل التتابع

يكون run_time_valid صحيحًا عندما يكون كل من start_time_valid و stop_time_valid صحيحًا. أفترض أنه كان بإمكاني استخدام حالة طبيعية وحالة لهذا. لقد دخلت للتو في تأرجح الأشياء مع لامدا.

- المنصة: نموذج

الاسم: "وقت البدء صالح"

المعرف: start_time_valid

لامدا: | -

إذا (id (homeassistant_time).now (). hour> id (gl_ft_start_hr)) {

العودة صحيح

}

وإلا إذا (id (homeassistant_time).now (). hour == id (gl_ft_start_hr) &&

معرف (homeassistant_time).now (). minutes> id (gl_ft_start_mn)) {

العودة صحيح

}

وإلا إذا (id (homeassistant_time).now (). hour == id (gl_ft_start_hr) &&

معرف (homeassistant_time).now (). minutes == id (gl_ft_start_mn) &&

معرف (homeassistant_time).now (). second> = id (gl_ft_start_ss)) {

العودة صحيح

}

آخر {

عودة كاذبة؛

}

الخطوة 9: الخطوة 9: الآن لبعض النصوص: "أكون أو لا أكون: هذا هو السؤال"

الخطوة 9: الآن بالنسبة لبعض النصوص: "أكون أو لا أكون: هذا هو السؤال"
الخطوة 9: الآن بالنسبة لبعض النصوص: "أكون أو لا أكون: هذا هو السؤال"

هممم سيناريو خاطئ يا صاح!

لذلك إذا قمت بتوصيل المفتاح … أو عادت الطاقة المنزلية لتوها ، أردت أن يعرف المفتاح ما إذا كان من المفترض أن يكون في وضع التشغيل أو الإيقاف والعمل وفقًا لذلك. (نعم كلنا ذاهبون لدروس التمثيل)

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

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

معرف البرنامج النصي الثاني: checkstatusoff ، هو عكس الأول تمامًا. نحن فقط نتحقق مما إذا كنا بحاجة إلى إغلاق الستائر الآن. علامة التعقب لهذا هو trackoff

أقوم بتشغيل هذين البرنامجين في الفاصل الزمني 1 ثانية للتحقق من كل ثانية.

الخطوة 10: الخطوة 10: بعض البرامج النصية الإضافية

الخطوة 10: بعض النصوص الإضافية
الخطوة 10: بعض النصوص الإضافية

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

معرّف البرنامج النصي الأول: relayisoff سوف يضيء الضوء لمدة 5 دقائق إذا تم إيقاف تشغيله في الموعد المحدد ثم ينطفئ.

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

فيما يلي بعض المعلومات الإضافية حول البرامج النصية:

esphome.io/guides/automations.html

بعض المعلومات الإضافية حول البرامج النصية هي أنها غير محظورة. ما لم تضع تأخيرًا في لامدا. آه لا لا لا

الخطوة 11: الخطوة 11: بعض الأفكار النهائية

الخطوة 11: بعض الأفكار النهائية
الخطوة 11: بعض الأفكار النهائية
الخطوة 11: بعض الأفكار النهائية
الخطوة 11: بعض الأفكار النهائية

من مساعد المنزل ، أردت أن يعمل المفتاح بنفس طريقة الزر.

لم أضع اسمًا للمفتاح المحلي للمستشعر الثنائي حيث لم أكن بحاجة إلى رؤيته يتم دفعه في المساعد المنزلي.

لم أضع اسمًا لمفتاح الترحيل لأنني أردت استخدام البرامج النصية لإجراء التبديل من مساعد المنزل.

لقد أنشأت مفتاح تبديل مع اسم حتى أتمكن من استخدامه للتبديل من مساعد المنزل. سيتم تشغيل البرامج النصية الخاصة بي بنفس طريقة التبديل المحلية في القابس.

لم أختبر ما إذا كان إيقاف تشغيل مساعد منزلي إذا كان القابس لا يزال يعمل بشكل صحيح. أنا آمل ذلك. لقد رأيت بعض المنشورات حول بعض المشكلات عند فقدان الاتصال بواجهة برمجة تطبيقات Home Assistant.

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

الآن لتغيير الأوقات في المنزل المساعد على أساس شروق الشمس وغروبها … + - عدد قليل

موصى به: