با Esphome می توانید از انواع مختلف سنسورهای باینری استفاده کنید. آنها به طور خودکار در قسمت جلوی خانه ظاهر می شوند و چندین گزینه پیکربندی دارند.
پیکربندی سنسور باینری پایه ¶
تمام سنسورهای باینری دارای یک سکو و کلاس دستگاه اختیاری هستند. به طور پیش فرض ، باینری خود کلاس دستگاه مناسب را انتخاب می کند ، اما همیشه می توانید آن را نادیده بگیرید.
Binary_sensor: - سکو: . کلاس_: حرکت - جنبش
- دستگاه_کلاس (اختیاری ، رشته): کلاس دستگاه برای سنسور. برای لیستی از گزینه های موجود ، به https://developers. home-assistant. io/docs/core/entity/binary-sensor/#available-device-classes مراجعه کنید.
- نماد (اختیاری ، نماد): آیکون را به صورت دستی تنظیم کنید تا از سنسور باینری در جلوی آن استفاده کند.
- فیلترها (اختیاری ، لیست): لیستی از فیلترها برای اعمال در مقادیر سنسور باینری مانند سیگنال های معکوس. به فیلترهای سنسور باینری مراجعه کنید.
- on_press (اختیاری ، اتوماسیون): اتوماسیون برای انجام هنگام فشار دادن دکمه. on_press را ببینید.
- ON_RELEASE (اختیاری ، اتوماسیون): اتوماسیون برای انجام هنگام انتشار دکمه. on_release را ببینید.
- on_state (اختیاری ، اتوماسیون): اتوماسیون برای انجام هنگام انتشار یک حالت. on_state را ببینید.
- ON_CLICK (اختیاری ، اتوماسیون): اتوماسیون برای انجام وقتی دکمه برای مدت زمان مشخصی انجام می شود. on_click را ببینید.
- ON_DOUBLE_CLICK (اختیاری ، اتوماسیون): اتوماسیون برای انجام هنگامی که دکمه دو بار برای مدت زمان مشخص فشار داده می شود. on_double_click را ببینید.
- on_multi_click (اختیاری ، اتوماسیون): اتوماسیون برای انجام هنگام فشار دادن دکمه در یک دنباله خاص. on_multi_click را ببینید.
- داخلی (اختیاری ، بولی): این مؤلفه را به عنوان داخلی علامت گذاری کنید. اجزای داخلی در معرض جبهه قرار نمی گیرند (مانند دستیار خانه). فقط مشخص کردن شناسه بدون نام ، به طور ضمنی این موضوع را به درستی تنظیم می کند.
- disabled_by_default (اختیاری ، بولی): اگر درست باشد ، پس این نهاد نباید به جلوی مشتری اضافه شود ، (معمولاً دستیار خانه) بدون اینکه کاربر به صورت دستی آن را فعال کند (از طریق دستیار خانه UI). به دستیار خانه 2021. 9 یا جدیدتر نیاز دارد. پیش فرض به غلط.
- Publish_Initial_State (اختیاری ، بولی): اگر درست باشد ، سنسور بسته به سیستم عامل ، حالت اولیه خود را در بوت یا هنگامی که HA برای اولین بار به هم وصل می شود ، منتشر می کند. این بدان معنی است که هر محرک قابل اجرا اجرا می شود. پیش فرض به غلط.
- entity_category ( Optional , string): دسته موجودیت. برای مشاهده لیستی از گزینه های موجود به https://developers. home-assistant. io/docs/core/entity/#generic-properties مراجعه کنید. به دستیار خانگی 2021. 11 یا جدیدتر نیاز دارد. برای حذف دسته موجودیت پیش فرض، روی «» تنظیم کنید.
- اگر MQTT فعال باشد، همه گزینه های دیگر از MQTT Component .
فیلترهای حسگر باینری
با فیلترهای حسگر باینری می توانید نحوه عملکرد ESPHome با مقادیر سنسور باینری را حتی بیشتر سفارشی کنید. آنها شبیه فیلترهای حسگر هستند. تمام فیلترها در یک خط لوله پردازش می شوند. این بدان معناست که تمام فیلترهای حسگر باینری به ترتیبی که در پیکربندی داده شده پردازش می شوند (بنابراین ترتیب این ورودی ها مهم است!)
Binary_sensor: - سکو: . # . فیلترها: - معکوس کردن: - delayed_on: 100 میلی ثانیه - delayed_off: 100 میلی ثانیه - delayed_on_off: 100 میلی ثانیه - تکرار خودکار: - تاخیر انداختن: 1s time_off: 100 میلی ثانیه time_on: 900 میلی ثانیه - تاخیر انداختن: 5s time_off: 100 میلی ثانیه time_on: 400 میلی ثانیه - لامبدا: |- if (id(other_binary_sensor). state)بازگشت x; >دیگربرگشت<>; >
معکوس ¶
فیلتر ساده ای که فقط هر مقدار از سنسور باینری را معکوس می کند.
با تاخیر ¶
(الزامی، زمان): هنگامی که سیگنال ON دریافت می شود، منتظر بازه زمانی مشخص شده تا زمان انتشار وضعیت روشن باشید. اگر مقدار OFF در حین انتظار دریافت شود، عمل ON کنار گذاشته می شود. یا به عبارت دیگر: فقط در صورتی یک مقدار ON ارسال کنید که سنسور باینری حداقل برای مدت زمان مشخص روشن باقی مانده باشد. برای از بین بردن دکمه های فشاری مفید است.
تاخیری ¶
(الزامی، زمان): هنگامی که سیگنال OFF دریافت می شود، منتظر بازه زمانی مشخص شده تا زمان انتشار وضعیت OFF باشید. اگر مقدار ON در حین انتظار دریافت شود، عمل OFF کنار گذاشته می شود. یا به عبارت دیگر: فقط در صورتی یک مقدار OFF ارسال کنید که سنسور باینری حداقل برای مدت زمان مشخص خاموش مانده باشد. برای از بین بردن دکمه های فشاری مفید است.
delayed_on_off ¶
(لازم، زمان): فقط در صورتی یک مقدار ON یا OFF ارسال کنید که حسگر باینری حداقل برای مدت زمان مشخص در همان حالت باقی مانده باشد. برای حذف سوئیچ های باینری مفید است.
تکرار خودکار ¶
فیلتر اجرای رفتار Autorepeat. فیلتر توسط لیستی از توضیحات زمان بندی پارامتر می شود. هنگامی که سیگنال دریافت می شود ، به خروجی منتقل می شود و اولین تأخیر شروع می شود. هنگامی که این بازه منقضی می شود ، خروجی خاموش می شود و با استفاده از مدت زمان تا زمان و زمان_ون برای خاموش و حالت خاموش می شود. در همان زمان تأخیر توضیحات زمان دوم شروع می شود و روند تکرار می شود تا لیست خسته شود ، در این صورت زمان آخرین توضیحات در حال استفاده است. دریافت سیگنال خاموش کل فرآیند را متوقف می کند و بلافاصله خروجی می شود.
مثال در نتیجه یک ثانیه با خروجی منتظر می ماند ، آن را به مدت پنج ثانیه یک بار در ثانیه می چرخاند ، سپس دو بار در ثانیه می پیچد تا خاموش شود.
یک فیلتر AutorePeat بدون توضیحات زمان بندی معادل یک زمان بندی با تمام پارامترهای تنظیم شده روی مقادیر پیش فرض است.
- تأخیر (اختیاری ، زمان): تأخیر برای ادامه زمان بعدی. پیش فرض به 1s.
- time_off (اختیاری ، زمان): فاصله برای نگه داشتن خروجی در خاموش. پیش فرض به 100ms.
- time_on (اختیاری ، زمان): فاصله برای نگه داشتن خروجی در. پیش فرض 900ms.
لامبدا
برای فیلترهای پیچیده تر هر لامبدا را مشخص کنید. مقدار ورودی از سنسور باینری x است و می توانید برای خاموش کردن ، و برای خاموش کردن ، و<>برای متوقف کردن زنجیره فیلتر.
اتوماسیون سنسور دودویی ¶
محرک سنسورهای باینری در Esphome از زبان های رایانه ای از زبان استفاده می کند. به عنوان مثال ، یک مطبوعات در اولین لحظه که دکمه روی موش شما به پایین فشار می یابد ، ایجاد می شود.
با استفاده از شناسه (binary_sensor_id) می توانید به وضعیت فعلی سنسور باینری در لامبدا دسترسی پیدا کنید.
on_press
این اتوماسیون با فشار دادن دکمه برای اولین بار یا به عبارت دیگر در لبه پیشرو سیگنال آغاز می شود.
Binary_sensor: - سکو: معالج # . on_press: سپس: - Switch. tu_on: Relay_1
متغیرهای پیکربندی: به اتوماسیون مراجعه کنید.
در ازادی ¶
این اتوماسیون هنگامی که یک دکمه به پایان می رسد ، یا به عبارت دیگر در لبه در حال سقوط سیگنال آغاز می شود.
Binary_sensor: - سکو: معالج # . در ازادی: سپس: - Switch. tu_off: Relay_1
متغیرهای پیکربندی: به اتوماسیون مراجعه کنید.
on_state
این اتوماسیون با دریافت حالت جدید ایجاد می شود (و بنابراین On_press و on_release را در یک ماشه ترکیب می کند). حالت جدید به عنوان متغیر X به عنوان بولی داده می شود و می تواند در لامبدا استفاده شود.
Binary_sensor: - سکو: معالج # . on_state: سپس: - Switch. tu_off: Relay_1
متغیرهای پیکربندی: به اتوماسیون مراجعه کنید.
on_lick
این اتوماسیون زمانی فعال می شود که یک دکمه برای یک دوره زمانی به طول min_length تا max_length فشار داده شود. هر کلیک طولانی تر یا کوتاه تر از این، اتوماسیون را راه اندازی نمی کند. بنابراین اتوماسیون نیز در لبه سقوط سیگنال فعال می شود.
Binary_sensor: - سکو: معالج # . on_click: حداقل_طول: 50 میلی ثانیه بیشترین طول: 350 میلی ثانیه سپس: - Switch. tu_off: Relay_1
- min_length (اختیاری، زمان): حداقل مدت زمانی که کلیک باید طول بکشد. پیش فرض تا 50 میلی ثانیه است.
- max_length (اختیاری، زمان): حداکثر مدت زمانی که کلیک باید طول بکشد. پیش فرض 350 میلی ثانیه است.
- به اتوماسیون مراجعه کنید.
چندین ورودی on_click را می توان به این صورت تعریف کرد (برای تطبیق پیچیده تر، on_multi_click را نیز ببینید):
Binary_sensor: - سکو: معالج # . on_click: - حداقل_طول: 50 میلی ثانیه بیشترین طول: 350 میلی ثانیه سپس: - Switch. tu_off: Relay_1 - حداقل_طول: 500 میلی ثانیه بیشترین طول: 1000 میلی ثانیه سپس: - Switch. tu_on: Relay_1
on_double_click ¶
این اتوماسیون زمانی فعال می شود که یک دکمه دو بار فشار داده شود و اولین کلیک بین min_length و max_length طول بکشد. هنگامی که لبه اصلی دوم در min_length و max_length اتفاق می افتد، اتوماسیون راه اندازی می شود.
Binary_sensor: - سکو: معالج # . on_double_click: حداقل_طول: 50 میلی ثانیه بیشترین طول: 350 میلی ثانیه سپس: - Switch. tu_off: Relay_1
- min_length (اختیاری، زمان): حداقل مدت زمانی که کلیک باید طول بکشد. پیش فرض تا 50 میلی ثانیه است.
- max_length (اختیاری، زمان): حداکثر مدت زمانی که کلیک باید طول بکشد. پیش فرض 350 میلی ثانیه است.
- به اتوماسیون مراجعه کنید.
on_multi_click ¶
این اتوماسیون زمانی فعال می شود که یک دکمه در یک دنباله مشخص شده توسط کاربر فشار داده شود.
Binary_sensor: - سکو: معالج # . on_multi_click: - زمان سنجی: - حداکثر برای 1 ثانیه روشن است - خاموش برای حداکثر 1 ثانیه - روشن برای 0. 5 ثانیه تا 1 ثانیه - خاموش برای حداقل 0. 2 ثانیه سپس: - logger. log: "دوبار کلیک کنید"
- زمان بندی (لازم): زمان چند کلیک. این از یک گرامر مبتنی بر زبان با استفاده از این سبک ها استفاده می کند:
- برای به
- برای حداقل
- برای حداکثر
تعیین زمان مناسب برای مورد استفاده شما گاهی اوقات می تواند کمی دشوار باشد. اگر سطح ثبت جهانی را روی VERBOSE تنظیم کنید، ماشه چند کلیک گزارش هایی را نشان می دهد که چه چیزی باعث متوقف شدن این ماشه شده است.
برای تمایز بین انواع مختلف پرس ها، می توانید از زمان بندی OFF در انتهای ترتیب زمان بندی استفاده کنید. به عنوان مثال پیکربندی زیر بین فشارهای دوبل، بلند و کوتاه تفاوت قائل می شود.
on_multi_click: - زمان سنجی: - حداکثر برای 1 ثانیه روشن است - خاموش برای حداکثر 1 ثانیه - حداکثر برای 1 ثانیه روشن است - خاموش برای حداقل 0. 2 ثانیه سپس: - logger. log: "دو برابر کلیک کرد" - زمان سنجی: - برای 1 تا 2 ثانیه روشن است - خاموش برای حداقل 0. 5 ثانیه سپس: - logger. log: "تنها طولانی کلیک کرد" - زمان سنجی: - حداکثر برای 1 ثانیه روشن است - خاموش برای حداقل 0. 5 ثانیه سپس: - logger. log: "تنها کوتاه کلیک کرد"
binary_sensor. is_on / binary_sensor. is_off شرایط
این شرایط در صورت روشن بودن سنسور باینری داده شده (یا خاموش) بررسی می کند.
# در برخی از ماشه ها: بر_. : if: وضعیت: # همان نحو برای is_off binary_sensor. is_on: my_binary_sensor
Lambda تماس می گیرد
از Lambdas ، می توانید چندین روش در تمام سنسورهای باینری برای انجام برخی موارد پیشرفته تماس بگیرید.
- Publish_State (): به صورت دستی باعث می شود سنسور باینری یک کشور را از هر جای برنامه منتشر و ذخیره کند.
// در لامبدا ، یک حالت خاموش را منتشر کنید. شناسه (my_binary_sensor) . Publish_State (نادرست) ؛ // در لامبدا ، یک ایالت را منتشر کنید. شناسه (my_binary_sensor) . Publish_State (درست) ؛
// در لامبدا ، حالت سنسور باینری را بدست آورید و به طور مشروط کاری انجام دهید if (id (my_binary_sensor) . state)// سنسور باینری روشن است ، اینجا کاری انجام دهید >دیگر// سنسور باینری خاموش است ، اینجا کار دیگری انجام دهید >
همچنین ببینید¶
- مرجع API
- این صفحه را در GitHub ویرایش کنید
- سنسور باینری آستانه آنالوگ
- دستگاه انرژی کم بلوتوث ESP32
- سنسور لمسی خازنی CAP1188
- سنسور دودویی سفارشی
- پد لمسی ESP32
- سنسور باینری GPIO
- سنسور باینری دستیار خانگی
- سنسور باینری سنسور باران هایدرون
- سنسور باینری کنترلر Modbus
- سنسور لمسی خازنی MPR121
- مؤلفه حسگر باینری Nextion
- PN532 NFC/RFID
- NDEF
- RC522 RFID
- RDM6300 NFC/RFID
- سنسور دودویی وضعیت
- سنسور باینری الگوی
- سنسور لمس خازنی TTP229
- سنسور باینری تویا
استراتژیهای اسکالپ...
ما را در سایت استراتژیهای اسکالپ دنبال می کنید
برچسب :
نویسنده : ناصر تقوایی
بازدید : 36
تاريخ : چهارشنبه
15 شهريور
1402 ساعت: 5:01