विषयसूची:

ESPHOME SONOF S26 समयबद्ध प्रकाश: 11 कदम (चित्रों के साथ)
ESPHOME SONOF S26 समयबद्ध प्रकाश: 11 कदम (चित्रों के साथ)

वीडियो: ESPHOME SONOF S26 समयबद्ध प्रकाश: 11 कदम (चित्रों के साथ)

वीडियो: ESPHOME SONOF S26 समयबद्ध प्रकाश: 11 कदम (चित्रों के साथ)
वीडियो: Sonoff S26 R2 - how to flash ESPHome or Tasmota 2024, जुलाई
Anonim
ESPHOME SONOF S26 समयबद्ध प्रकाश
ESPHOME SONOF S26 समयबद्ध प्रकाश

शुभ दिवस। इसलिए मेरे पास एक फिश टैंक लाइट है जिसे मैं दिन के एक निश्चित समय पर चालू और बंद करना चाहता हूं। मुझे बस इसे अपने लिए जटिल बनाना था। मैं अपने होम असिस्टेंट डैशबोर्ड से इसके चालू और बंद होने के समय को बदलने में सक्षम होना चाहता हूं। शायद और भी।

तो चलिए देखते हैं कि मैं खुद को खरगोश के छेद में और कितना ले जा सकता हूं।

चरण 1: चरण 1: मुझे गृह सहायक से टाइम्स भेजने का एक तरीका चाहिए।

कुछ गुगलिंग मदद करता है। कुछ आपके बालों को खींचने में मदद करते हैं, अगर आपके पास वास्तव में कोई है: मेरा विजुअल स्टूडियो कोड संपादक ऐड-ऑन खोलें। कॉन्फ़िग फ़ोल्डर के अंतर्गत config.yaml फ़ाइल ढूंढें और कुछ सामग्री को कॉपी और पेस्ट करें जो मुझे किसी फ़ोरम में छिपी हुई मिलीं। क्षमा करें अगर मुझे याद आया तो मैं पावती दूंगा। कोड जोड़ा और गृह सहायक को पुनः आरंभ किया।

चरण 2: चरण 2: निम्नलिखित कोड को Configuration.yaml में जोड़ा गया

चरण 2: निम्नलिखित कोड को Configuration.yaml में जोड़ा गया
चरण 2: निम्नलिखित कोड को Configuration.yaml में जोड़ा गया

इनपुट_नंबर:

ft_start_hr:

नाम: एफटी लाइट प्रारंभ घंटे

आइकन: एमडीआई: क्लॉक-स्टार्ट

न्यूनतम: 0

अधिकतम: 23

चरण 1

# प्रारंभिक: 13

पहली पंक्ति इनपुट नंबर इकाई आईडी होगी।

आगे हमें इस छोटे से दोस्त के लिए कुछ विवरण चाहिए:

एक नाम कमाल का होगा: इस एक पीएस के लिए एफटी लाइट स्टार्ट ऑवर्स। एफटी फिश टैंक के लिए है… आप जो सोच रहे थे वह सही नहीं है?

अगला एक वैकल्पिक आइकन है। वहाँ से चुनने के लिए बहुत कुछ है तो पागल हो जाओ … या नहीं।

फिर हम न्यूनतम, अधिकतम और चरण मान डाल सकते हैं। चूंकि यह घंटे हैं इसलिए मैंने सिंगल स्टेप्स के साथ 0 - 23 को चुना।

प्रारंभ में मेरे पास प्रारंभिक मूल्य था और जब गृह सहायक ने पुनरारंभ किया तो यह इसे इस प्रारंभिक मूल्य में बदल देगा। मैंने इस पर टिप्पणी करने का फैसला किया क्योंकि मैं चाहता था कि होम असिस्टेंट मेरे द्वारा निर्धारित अंतिम मूल्य को याद रखने की कोशिश करे।

आप एक बॉक्स को चुनने के लिए मोड में डाल सकते हैं। लेकिन डिफ़ॉल्ट रूप से यह आपके लिए एक अच्छा स्लाइडर चुनता है। मुझे लगता है कि एक स्लाइडर अभी के लिए करेगा।

इंडेंटेशन से अवगत रहें क्योंकि वे बहुत महत्वपूर्ण हैं। चित्र देखें

तो ये आपको समायोजित करने में सक्षम होने के लिए गृह सहायक में इकाइयाँ देंगे।

इनपुट नंबरों के बारे में अधिक जानकारी के लिए यहां एक लिंक दिया गया है:

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

चरण 3: चरण 3: अब हमें ESPHOME API की जानकारी प्राप्त करने की आवश्यकता है

चरण 3: अब हमें ESPHOME API की जानकारी प्राप्त करने की आवश्यकता है
चरण 3: अब हमें ESPHOME API की जानकारी प्राप्त करने की आवश्यकता है

सेंसर:

- मंच: टेम्पलेट

सेंसर:

ft_start_hr:

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

एन

यह ESPHome API को आवश्यक कनेक्शन देगा, साथ ही यह अब फैंसी टेक्स्ट स्लाइडर के बजाय एक पूर्णांक है:-P

यहां यह इनपुट नंबर की स्थिति ले रहा है और इसे एक पूर्णांक में परिवर्तित कर रहा है और इसे एक सेंसर में संग्रहीत कर रहा है।

यहां टेम्प्लेट के बारे में कुछ और जानकारी दी गई है:

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

ओह, मैंने अपनी फ़ाइल के फ़ाइल एक्सटेंशन को टेक्स्ट में बदल दिया है ताकि मैं इसे अपलोड कर सकूं … निर्देशयोग्य एक यमल के साथ विनाशकारी हो सकते हैं …

चरण 4: चरण 4: तो अब प्लग का ESPHome कॉन्फ़िगरेशन

चरण 4: तो अब प्लग का ESPHome कॉन्फ़िगरेशन
चरण 4: तो अब प्लग का ESPHome कॉन्फ़िगरेशन

मैंने एस-ऑन-ऑफ प्लग के लिए बेस कॉन्फिगरेशन के साथ शुरुआत की और फिर टिंकरिंग शुरू की।

मैं ईएसपीहोम के साथ S26 प्लग को फ्लैश करने के तरीके के बारे में विस्तार से नहीं बताऊंगा क्योंकि Google के पास सभी उत्तर हैं।

मेरी पूरी कॉन्फ़िगरेशन फ़ाइल अंत में डाउनलोड करने के लिए उपलब्ध होगी। दा दा दाह…

तो चलिए शुरू करते हैं होम असिस्टेंट से जुड़े हिस्से से:

हमें ऐसे सेंसर बनाने होंगे जो होम असिस्टेंट के सेंसर से मेल खाते हों ताकि वे एक-दूसरे से बात कर सकें।

चरण 5: चरण 5: ईएसपीहोम होम असिस्टेंट कनेक्शन… बीम मी अप स्कॉटी

चरण 5: ईएसपीहोम होम असिस्टेंट कनेक्शन… बीम मी अप स्कॉटी
चरण 5: ईएसपीहोम होम असिस्टेंट कनेक्शन… बीम मी अप स्कॉटी

सेंसर:

- मंच: गृह सहायक

entity_id: sensor.ft_start_hr

आईडी: id_ft_start_hr

तो अब हम ESPHome में होमेसिस्टेंट प्रकार का एक सेंसर बनाते हैं। किसने अनुमान लगाया होगा?

इकाई आईडी का मिलान आपके द्वारा अपनी कॉन्फ़िगरेशन.yaml फ़ाइल में सेट अप से होना होगा।

मैंने एक आईडी सेट की ताकि ESPHome इस सेंसर को इसकी प्रचुर सोच में संदर्भित कर सके।

चरण 6: चरण 6: कुछ समय जोड़ें

चरण 6: कुछ समय जोड़ें
चरण 6: कुछ समय जोड़ें

तो यह एक समयबद्ध प्लग होने के साथ … वास्तव में कुछ समय जोड़ते हैं … या यह घटाना है? यह अब अतीत में है?

यहाँ समय घटक की कुछ मूल बातें दी गई हैं। हम कुछ अलग चुन सकते हैं लेकिन मैंने होमअसिस्टेंट को चुना। बहुत आसान?

esphome.io/components/time.html

चरण 7: चरण 7: अंतराल

चरण 7: अंतराल
चरण 7: अंतराल

नहीं, यह विराम नहीं है, या है?

मध्यान्तर:

- अंतराल: 1sec

फिर:

- लैम्ब्डा: |-

आईडी (gl_ft_start_hr) = आईडी (id_ft_start_hr)। राज्य;

इसलिए मैंने होम असिस्टेंट से ग्लोबल वेरिएबल में सेंसर वैल्यू लिखने के लिए 1 सेकंड का अंतराल निर्धारित किया।

मैं इसे एक बार एक बार करना चाहता हूं क्योंकि समय टिक रहा है … टिक टॉक

चरण 8: चरण 8: तो हमारे पास समय और पैसा है… आगे क्या?

चरण 8: तो हमारे पास समय और पैसा है… आगे क्या?
चरण 8: तो हमारे पास समय और पैसा है… आगे क्या?

इसलिए मैंने यह निर्धारित करने के लिए एक बाइनरी सेंसर टेम्पलेट का उपयोग करने का निर्णय लिया कि क्या स्विच स्विच स्विच पर स्विच करने का समय है … रिले

मैंने आईडी के साथ तीन स्विच बनाए: start_time_valid, stop_time_valid और run_time_valid

start_time_valid सत्य है जब यह अब रिले पर स्विच करने के लिए निर्धारित समय से पहले हो गया है।

मैंने नेस्टेड का उपयोग किया अगर बयानों की जांच करने के लिए कि क्या हम आवश्यक सेकंड के बराबर या बराबर थे, फिर मिनट, और अंत में घंटे।

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) &&

आईडी (होमेसिस्टेंट_टाइम)। अब ()। मिनट> आईडी (gl_ft_start_mn)) {

सच लौटना;

}

और अगर (id(homeassistant_time).now().hour == id(gl_ft_start_hr) &&

आईडी (होमेसिस्टेंट_टाइम)। अब ()। मिनट == आईडी (gl_ft_start_mn) &&

आईडी (होमेसिस्टेंट_टाइम)। अब ()। दूसरा> = आईडी (gl_ft_start_ss)) {

सच लौटना;

}

अन्यथा {

विवरण झूठा है;

}

चरण 9: चरण 9: अब कुछ लिपियों के लिए: 'होना या न होना: यही प्रश्न है'

चरण 9: अब कुछ लिपियों के लिए: 'होना या न होना: यही प्रश्न है'
चरण 9: अब कुछ लिपियों के लिए: 'होना या न होना: यही प्रश्न है'

हम्म गलत स्क्रिप्ट यार!

इसलिए अगर मैंने स्विच में प्लग लगाया … या घर की बिजली अभी-अभी वापस आई, तो मैं चाहता था कि स्विच को पता चले कि यह चालू है या बंद है और उसके अनुसार कार्य करें। (हाँ हम सब अभिनय के पाठ के लिए जा रहे हैं)

पहली स्क्रिप्ट आईडी: चेकिंग स्टेटस, यह जांच रहा है कि क्या हम चालू होने के लिए हैं और उसके अनुसार कार्य कर रहे हैं। मैंने आईडी के साथ एक वैश्विक ध्वज भी शामिल किया: ट्रैकिंग, यह सुनिश्चित करने के लिए कि यह स्क्रिप्ट सिर्फ एक बार चलती है और मेरी अन्य स्क्रिप्ट को नाटक में अपनी भूमिका निभाने से नहीं रोकती है।

इसमें 3 और शर्तें हैं: रिले बंद है, इसका मतलब चालू होना है और मैंने पहले से ही अपना हिस्सा नहीं किया है। यह तब चल रही किसी भी अन्य स्क्रिप्ट को बंद कर देगा, रिले चालू कर देगा और ट्रैकिंग फ़्लैग सेट कर देगा।

दूसरी स्क्रिप्ट आईडी: checkstatusoff, पहले के ठीक विपरीत है। हम अभी जांच कर रहे हैं कि क्या हमें अभी पर्दे बंद करने की जरूरत है। इसके लिए ट्रैकिंग फ़्लैग ट्रैकिंग ऑफ़ है

मैं इन दो लिपियों को हर सेकेंड की जांच के लिए 1 सेकंड के अंतराल में चलाता हूं।

चरण १०: चरण १०: कुछ बोनस स्क्रिप्ट

चरण 10: कुछ बोनस स्क्रिप्ट
चरण 10: कुछ बोनस स्क्रिप्ट

दो और विशेषताएं जो मैं जोड़ना चाहता था, वह यह थी कि यदि मैंने टैंक पर प्रकाश बंद कर दिया तो यह 5 सेकंड के बाद वापस चालू हो जाएगा यदि प्रकाश उस समय चालू होना है। इसके अलावा, अगर प्रकाश बंद था और मैं अपनी मछलियों को देखने के लिए इसे चालू करना चाहता था और यह अपने निर्धारित समय से बाहर था, तो यह 5 मिनट के लिए चालू हो जाएगा। हाँ ५ मिनट काफ़ी है… काम पर वापस जाओ।

पहली स्क्रिप्ट आईडी: यदि निर्धारित समय पर बंद हो जाती है तो रिलेऑफ़ 5 मिनट के लिए प्रकाश चालू कर देगा और फिर बंद कर देगा।

दूसरी स्क्रिप्ट आईडी: रिलेसन व्यावहारिक रूप से पहले से उलट है और 5 सेकंड बाद में प्रकाश को वापस स्विच कर देगा यदि इसका मतलब चालू होना है। किसने कहा कि आप मेरे लाइट मिस्टर को बंद कर सकते हैं!

यहाँ स्क्रिप्ट के बारे में कुछ और जानकारी दी गई है:

esphome.io/guides/automations.html

लिपियों के बारे में कुछ बोनस जानकारी यह है कि वे गैर-अवरुद्ध हैं। जब तक आप लैम्ब्डा में देरी नहीं करते।उह नहीं नहीं नहीं

चरण 11: चरण 11: कुछ अंतिम विचार

चरण 11: कुछ अंतिम विचार
चरण 11: कुछ अंतिम विचार
चरण 11: कुछ अंतिम विचार
चरण 11: कुछ अंतिम विचार

होम असिस्टेंट से मैं चाहता था कि स्विच बटन की तरह ही काम करे।

मैंने बाइनरी सेंसर लोकल स्विच के लिए कोई नाम नहीं रखा क्योंकि इसे होम असिस्टेंट में धकेले जाने की जरूरत नहीं थी।

मैंने रिले स्विच के लिए कोई नाम नहीं रखा क्योंकि मैं होम असिस्टेंट से स्विचिंग करने के लिए स्क्रिप्ट का उपयोग करना चाहता था।

मैंने एक नाम के साथ एक टेम्प्लेट स्विच बनाया ताकि मैं उसका उपयोग होम असिस्टेंट से स्विच करने के लिए कर सकूं। यह मेरी स्क्रिप्ट को प्लग पर स्थानीय स्विच के समान ही चलाएगा।

मैंने यह परीक्षण नहीं किया है कि क्या प्लग अभी भी सही ढंग से काम करेगा या नहीं, मेरे गृह सहायक को बंद कर रहा है या नहीं। मैं ऐसा उम्मीद कर रहा हूँ। मैंने Home Assistant API से कनेक्शन खोते समय कुछ समस्याओं के बारे में कुछ पोस्ट देखी हैं।

मुझे वास्तव में उम्मीद है कि यह छोटा ट्यूटोरियल आपकी मदद करेगा और कृपया इसे बेहतर बनाने में मेरी मदद करने के लिए स्वतंत्र महसूस करें। मैं कोई विशेषज्ञ नहीं हूं और बहुत धीरे-धीरे सीख रहा हूं। मैंने अभी सोचा था कि कुछ चीजें जो मैंने सीखी हैं, उन्हें समझने में संघर्ष करने वाले किसी व्यक्ति की मदद कर सकती हैं।

अब गृह सहायक में सूर्योदय और सूर्यास्त के आधार पर समय बदलने के लिए…+ - कुछ

सिफारिश की: