فهرست مطالب:
- مرحله 1: مرحله 1: من به راهی برای ارسال زمان از دستیار خانه نیاز دارم
- مرحله 2: مرحله 2: کد زیر را به Configuration.yaml اضافه کنید
- مرحله 3: مرحله 3: اکنون باید اطلاعات را به ESPHOME API برسانیم
- مرحله 4: مرحله 4: بنابراین ESPHome Configuration of the Plug Now
- مرحله 5: مرحله 5: ESPHome Home Assistant Connection… Beam Me Up Scotty
- مرحله 6: مرحله 6: اجازه دهید کمی زمان اضافه کنیم
- مرحله 7: مرحله 7: فاصله
- مرحله 8: مرحله 8: بنابراین ما زمان و پول داریم … بعد چه؟
- مرحله 9: مرحله 9: اکنون برای برخی از اسکریپت ها: "بودن یا نبودن: این سوال است"
- مرحله 10: مرحله 10: برخی از اسکریپت های پاداش
- مرحله 11: مرحله 11: چند اندیشه نهایی
تصویری: ESPHOME SONOF S26 تنظیم نور: 11 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
روز خوب. بنابراین من چراغ مخزن ماهی دارم که می خواهم ساعت مشخصی از روز را روشن و خاموش کنم. فقط باید برای خودم پیچیده می کردم. من می خواهم بتوانم زمان روشن و خاموش شدن داشبورد دستیار خانگی خود را تغییر دهم. شاید حتی بیشتر.
بنابراین بگذارید ببینیم چقدر بیشتر می توانم خودم را به سوراخ خرگوش ببرم.
مرحله 1: مرحله 1: من به راهی برای ارسال زمان از دستیار خانه نیاز دارم
برخی از گوگل کمک می کند. در صورت وجود برخی از موهای شما کمک می کند: افزودنی Visual Studio Code Editor من را باز کنید. در پوشه Config فایل configuration.yaml را بیابید و برخی از مواردی را که در برخی انجمن ها پنهان شده بود کپی و جایگذاری کنید. ببخشید اگه یادم اومد تقدیر میکنم کد را اضافه کرد و دستیار خانه را مجدداً راه اندازی کرد.
مرحله 2: مرحله 2: کد زیر را به Configuration.yaml اضافه کنید
ورودی_شماره:
ft_start_hr:
نام: FT Light Start Hours
icon: mdi: start-clock
دقیقه: 0
حداکثر: 23
مرحله: 1
# اولیه: 13
اولین خط شناسه نهاد شماره ورودی خواهد بود.
در ادامه به جزئیاتی برای این شخص کوچک نیاز داریم:
یک نام عالی خواهد بود: ساعت شروع FT Light برای این P. S. FT مخصوص مخزن ماهی است … نه آن چیزی که شما درست فکر می کردید؟
بعد یک نماد اختیاری است. کارهای زیادی برای انتخاب از دیوانه شدن وجود دارد … یا نه.
سپس می توانیم مقدار min ، max و step را وارد کنیم. با توجه به این که ساعت ها صفر است - 23 را با یک مرحله انتخاب کردم.
در ابتدا من یک مقدار اولیه داشتم و هنگامی که دستیار خانگی مجدداً راه اندازی می شود ، آن را به این مقدار اولیه تغییر می دهد. من تصمیم گرفتم در مورد آن نظر بدهم زیرا می خواستم Home Assistant آخرین مقداری را که برای آن تعیین کرده بودم به خاطر بسپارد.
می توانید در حالت انتخاب جعبه قرار دهید. اما به طور پیش فرض یک اسلایدر خوب برای شما انتخاب می کند. من فکر می کنم یک اسلایدر در حال حاضر انجام دهد.
از تورفتگی ها مطلع باشید زیرا بسیار مهم هستند. تصویر را ببینید
بنابراین اینها به شما امکاناتی را در دستیار خانگی می دهند تا بتوانید آنها را تنظیم کنید.
در اینجا پیوندی برای اطلاعات بیشتر در مورد شماره های ورودی آمده است:
www.home-assistant.io/integrations/input_n…
مرحله 3: مرحله 3: اکنون باید اطلاعات را به ESPHOME API برسانیم
سنسور:
- پلت فرم: قالب
سنسورها:
ft_start_hr:
value_template: '{{States.input_number.ft_start_hr.state | int}} '
n
این به ESPHome API اتصال مورد نیاز را می دهد و همچنین به جای لغزنده متن فانتزی یک عدد صحیح است:-P
در اینجا حالت شماره ورودی را گرفته و آن را به یک عدد صحیح تبدیل کرده و در یک حسگر ذخیره می کند.
در اینجا اطلاعات بیشتری در مورد الگوها آورده شده است:
www.home-assistant.io/integrations/templat…
اوه ، من پسوند فایل فایل خود را به متن تغییر دادم تا بتوانم آن را بارگذاری کنم … دستورالعمل ها ممکن است با یک yaml قابل تخریب باشند…
مرحله 4: مرحله 4: بنابراین ESPHome Configuration of the Plug Now
من با پیکربندی پایه برای پلاگین s-on-off شروع کردم و سپس شروع به کار کردم.
من در مورد نحوه فلش کردن پلاگین S26 با ESPHome وارد جزئیات نمی شوم زیرا گوگل همه پاسخ ها را دارد.
فایل پیکربندی کامل من در انتها برای بارگیری در دسترس خواهد بود. دا دا دا…
بنابراین اجازه دهید با قسمت پیوندی به Home Assistant شروع کنیم:
ما باید سنسورهایی ایجاد کنیم که با سنسورهای دستیار خانگی مطابقت داشته باشد تا بتوانند با یکدیگر صحبت کنند.
مرحله 5: مرحله 5: ESPHome Home Assistant Connection… Beam Me Up Scotty
سنسور:
- پلت فرم: homeassistant
unit_id: sensor.ft_start_hr
شناسه: id_ft_start_hr
بنابراین اکنون ما یک سنسور در ESPHome از نوع homeassistant ایجاد می کنیم. چه کسی حدس می زد؟
شناسه نهاد باید با آنچه در فایل configuration.yaml خود تنظیم کرده اید مطابقت داشته باشد.
من یک شناسه تنظیم کردم تا ESPHome بتواند این حسگر را در تفکر فراوان خود ارجاع دهد.
مرحله 6: مرحله 6: اجازه دهید کمی زمان اضافه کنیم
بنابراین با توجه به این که یک پلاگین زمانبندی شده است … اجازه دهید در واقع کمی زمان اضافه کنیم … یا آن را کم می کنیم؟ اکنون در گذشته است؟
در اینجا برخی از اصول اجزای زمان آورده شده است. ما می توانیم موارد مختلف را انتخاب کنیم اما من homeassistant را انتخاب کردم. خیلی ساده؟
esphome.io/components/time.html
مرحله 7: مرحله 7: فاصله
نه این یک وقفه نیست ، یا اینطور است؟
فاصله:
- فاصله: 1 ثانیه
سپس:
- lambda: |-
id (gl_ft_start_hr) = id (id_ft_start_hr). دولت؛
بنابراین یک فاصله 1 ثانیه ای برای نوشتن مقدار سنسور از دستیار خانگی به متغیر سراسری تنظیم کردم.
من فقط می خواهم این کار را یک بار در ثانیه انجام دهم زیرا زمان در حال تیک تاک است … تیک تاک
مرحله 8: مرحله 8: بنابراین ما زمان و پول داریم … بعد چه؟
بنابراین تصمیم گرفتم از یک الگوی سنسور دودویی برای تعیین اینکه آیا زمان روشن شدن سوئیچ سوئیچ … رله زمان آن است یا خیر استفاده کنم
من سه کلید با شناسه ایجاد کردم: start_time_valid ، stop_time_valid و run_time_valid
start_time_valid زمانی صادق است که زمان تنظیم شده برای روشن کردن رله گذشته باشد.
از عبارات nested if برای بررسی اینکه آیا ما بیشتر یا برابر ثانیه های مورد نیاز ، سپس دقیقه و در نهایت ساعت هستیم ، استفاده کردم.
stop_time_valid زمانی درست است که قبل از زمان تنظیم خاموش شدن کلید تنظیم شده باشد. این امر برای بررسی اینکه آیا زمان لازم برای خاموش کردن رله به پایان نرسیده است ، معکوس می شود
run_time_valid زمانی درست است که هر دو start_time_valid و stop_time_valid درست باشند. من فکر می کنم من فقط می توانستم از یک حالت عادی و شرط برای این مورد استفاده کنم. من تازه با lambdas وارد نوسان چیزها شدم.
- پلت فرم: قالب
نام: "زمان شروع معتبر است"
شناسه: start_time_valid
لامبدا: |-
if (id (homeassistant_time). Now (). ساعت> id (gl_ft_start_hr)) {
بازگشت واقعی ؛
}
else if (id (homeassistant_time). Now (). ساعت == id (gl_ft_start_hr) &&
id (homeassistant_time). Now (). minute> id (gl_ft_start_mn)) {
بازگشت واقعی ؛
}
else if (id (homeassistant_time). Now (). ساعت == id (gl_ft_start_hr) &&
id (homeassistant_time). Now (). دقیقه == id (gl_ft_start_mn) &&
id (homeassistant_time). Now (). second> = id (gl_ft_start_ss)) {
بازگشت واقعی ؛
}
دیگری {
false false؛
}
مرحله 9: مرحله 9: اکنون برای برخی از اسکریپت ها: "بودن یا نبودن: این سوال است"
هوم اسکریپت غلط داداش!
بنابراین اگر سوئیچ را وصل کردم … یا برق خانه تازه روشن شد ، می خواستم سوئیچ بداند که آیا روشن یا خاموش است و مطابق آن عمل کند. (بله همه ما برای بازیگری می رویم)
اولین شناسه اسکریپت: checkingstatuson ، بررسی این است که آیا ما قصد داریم در این زمینه کار کنیم یا مطابق آن عمل کنیم. من همچنین یک پرچم جهانی با شناسه: trackingon قرار دادم تا اطمینان حاصل شود که این اسکریپت فقط یکبار اجرا می شود و مانع از انجام سایر نقش های من در نمایشنامه نمی شود.
این دارای 3 شرط است: رله خاموش است ، قرار است روشن شود و من هنوز وظیفه خود را انجام نداده ام. سپس اسکریپت های دیگر در حال اجرا خاموش می شوند ، رله را روشن کرده و پرچم های ردیابی را تنظیم می کنند.
شناسه دوم اسکریپت: checkingstatusoff ، درست برعکس اول است. ما فقط بررسی می کنیم که آیا اکنون باید پرده ها را ببندیم یا خیر. پرچم ردیابی برای این یکی trackingoff است
من این دو اسکریپت را در فاصله 1 ثانیه ای اجرا می کنم تا هر ثانیه را بررسی کنم.
مرحله 10: مرحله 10: برخی از اسکریپت های پاداش
دو ویژگی دیگر که می خواستم اضافه کنم این بود که چراغ مخزن را خاموش می کنم که اگر قرار باشد چراغ در آن زمان روشن شود بعد از 5 ثانیه دوباره روشن می شود. همچنین ، اگر چراغ خاموش بود و من می خواستم آن را روشن کنم تا ماهیهای خود را ببینم و در موعد مقرر نبود ، باید 5 دقیقه روشن شود. بله 5 دقیقه به اندازه کافی طولانی است … به کار خود بازگردید.
اولین شناسه اسکریپت: relayisoff در صورت خاموش شدن به موقع چراغ را به مدت 5 دقیقه روشن می کند و سپس خاموش می شود.
شناسه اسکریپت دوم: relayison عملاً از حالت اول معکوس می شود و درصورت روشن بودن 5 ثانیه بعد چراغ را دوباره روشن می کند. کی گفته شما می توانید آقای چراغ من را خاموش کنید!
در اینجا اطلاعات بیشتری در مورد اسکریپت ها وجود دارد:
esphome.io/guides/automations.html
برخی از اطلاعات اضافی در مورد اسکریپت ها مسدود نیستند. مگر اینکه در lambda تأخیر ایجاد کنید. Uh No No No
مرحله 11: مرحله 11: چند اندیشه نهایی
از دستیار خانه می خواستم سوئیچ همانند دکمه عمل کند.
من نامی برای سوئیچ محلی سنسور دودویی نگذاشتم زیرا نیازی به دیدن آن در دستیار خانگی نبود.
من برای سوئیچ رله نامی نگذاشتم زیرا می خواستم از اسکریپت ها برای انجام تعویض از دستیار خانگی استفاده کنم.
من یک سوئیچ قالب با نام ایجاد کردم تا بتوانم از آن برای تغییر از دستیار خانه استفاده کنم. اسکریپت های من همان سوئیچ محلی در پلاگین اجرا می شود.
من آزمایش نکرده ام که آیا همچنان پریز صحیح کار می کند یا خیر ، دستیار خانه را خاموش کنم یا خیر. من اینطور امیدوارم هنگام قطع ارتباط با API دستیار خانگی ، برخی از پست ها را در مورد برخی مسائل دیده ام.
من واقعاً امیدوارم که این آموزش کوچک به شما کمک کند و لطفاً در کمک به من در بهتر شدن آن کمک کنید. من متخصص نیستم و خیلی آهسته یاد می گیرم. من فقط فکر می کردم برخی از چیزهایی که یاد گرفته ام چگونه انجام دهم ممکن است به کسی که در تلاش برای کشف آن است کمک کند.
در حال حاضر برای تغییر زمان در دستیار خانگی بر اساس طلوع و غروب خورشید …+ - چند مورد
توصیه شده:
نور متحرک و نور شب: 6 مرحله (همراه با تصاویر)
Animated Mood Light & Night Light: با داشتن یک شیفتگی که وسواس نور را در بر می گیرد ، تصمیم گرفتم مجموعه ای از PCB های مدولار کوچک را ایجاد کنم که می توانند برای ایجاد نمایشگرهای نور RGB در هر اندازه استفاده شوند. با ساخت مدار چاپی مدولار ، با ایده ترتیب آنها به صورت تصادفی مواجه شدم
سنسور نور (مقاومت در برابر نور) با آردوینو در Tinkercad: 5 مرحله (همراه با تصاویر)
سنسور نور (Photoresistor) با آردوینو در Tinkercad: بیایید نحوه خواندن مقاومت نوری ، یک نوع مقاومت متغیر حساس به نور ، با استفاده از ورودی آنالوگ آردوینو را بیاموزیم. به آن LDR (مقاومت وابسته به نور) نیز گفته می شود. تا کنون شما کنترل LED ها را با خروجی آنالوگ آردوینو و
نور بسیار روشن دوچرخه با استفاده از PCB های پنل نور سفارشی: 8 مرحله (همراه با تصاویر)
چراغ دوچرخه بسیار روشن با استفاده از PCB های پنل نور سفارشی: اگر صاحب دوچرخه هستید ، می دانید که چاله های ناخوشایند روی لاستیک ها و بدن شما چقدر ناخوشایند است. به اندازه کافی لاستیک های خود را منفجر کرده بودم ، بنابراین تصمیم گرفتم پنل LED خود را به منظور استفاده از آن به عنوان چراغ دوچرخه طراحی کنم. یکی که بر E بودن متمرکز است
Angstrom - منبع نور LED قابل تنظیم: 15 مرحله (همراه با تصاویر)
Angstrom - منبع نور LED قابل تنظیم: Angstrom یک منبع نور LED 12 کانالی است که می تواند با قیمتی کمتر از 100 پوند ساخته شود. دارای 12 کانال LED کنترل شده با PWM به طول 390 نانومتر-780 نانومتر است و هر دو قابلیت ترکیب چندین کانال را در یک خروجی 6 میلی متری فیبر و همچنین
تنظیم کننده نور LED پایه: 5 مرحله (همراه با تصاویر)
Dimmer Basic LED: در این دستورالعمل می آموزید که چگونه با استفاده از پتانسیومتر یک دیمر ساده LED بسازید. کیت آردوینو که من استفاده می کنم توسط Kuman ارائه شده است (kumantech.com). میتوانید اینجا پیدایش کنید