1. مقدمه
چیزی که یاد خواهید گرفت
- نحوه برنامه ریزی و نوشتن یک اتوماسیون اسکریپت شده
- نحوه تست اتوماسیون اسکریپت شده
آنچه شما نیاز دارید
- تلفن Android یا iOS دارای برنامه Google Home.
- چراغ هوشمند یا دستگاه دیگری که برای کار با Google Home تأیید شده است و می تواند روشن یا خاموش شود.
2. دستگاه خود را راه اندازی کنید
اگر دستگاه شما قبلاً راهاندازی نشده است، آن را در خانه خود راهاندازی کنید.
تأیید کنید که دستگاه در برنامه Google Home ظاهر میشود و میتوانید با استفاده از برنامه Home آن را روشن یا خاموش کنید.
3. اتوماسیون اسکریپت شده خود را برنامه ریزی کنید
ما با فکر کردن در مورد آنچه میخواهیم اتوماسیون اسکریپتمان انجام دهد، شروع میکنیم. این شامل ملاحظاتی مانند:
- کدام دستگاه ها را می خواهید خودکار کنید.
- کدام شروع (یا رویداد) باید اجرای اتوماسیون اسکریپت شده را آغاز کند.
- چه شرایط اضافی، در صورت وجود، کنترل می کند که آیا اتوماسیون اسکریپت پس از راه اندازی اجرا می شود یا خیر.
- چه اقداماتی باید انجام شود.
برای هدف این نرم افزار کد، برنامه ما این است که اتوماسیون اسکریپت شده دو کار را انجام دهد:
- چراغ خود (یا دستگاه هوشمند دیگر) را در زمان مشخصی روشن کنید.
- دستگاه خود را در یک زمان خاص خاموش کنید.
اکنون که دقیقاً میخواهیم اتوماسیون اسکریپتمان چه کاری انجام دهد، روشن شدیم، ویرایشگر اسکریپت را باز میکنیم و اتوماسیون اسکریپتشده را مینویسیم.
4. اتوماسیون اسکریپت شده را بنویسید
اتوماسیونهای اسکریپتشده با استفاده از زبان سریالسازی دادههای YAML به صورت اعلامی نوشته میشوند.
یک اتوماسیون اسکریپت از دو بخش اصلی تشکیل شده است:
- فراداده - نام اتوماسیون اسکریپت شده و شرح کاری که انجام می دهد.
- قوانین اتوماسیون - منطق شروع و رفتار اتوماسیون را تعریف می کند.
فراداده
ابرداده اتوماسیون ما به کاربر می گوید که اتوماسیون چه نام دارد و چه کاری انجام می دهد. ابرداده در بلوک metadata
مشخص شده است که به شکل زیر است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
قوانین اتوماسیون
یک قانون اتوماسیون جایی است که کار واقعی اتفاق می افتد. این شامل سه بخش، شروع ، شرایط و اقدامات است که به ترتیب ارزیابی می شوند:
1 استارتر | 2 شرایط | 3 اقدامات |
استارت ها همان چیزی هستند که اتوماسیون را آغاز می کنند. حداقل یک شروع کننده باید | اینها اختیاری هستند و شامل یک یا چند محدودیت اضافی هستند که پس از فعال شدن استارت ارزیابی می شوند. اگر شرایط به هنگامی که محدودیت های متعدد را شامل می شود، آنها را با یک شرط با اعلان تغیی�� وضعیت یکسان نیست:
| کنشها عملیاتی هستند که زمانی انجام میشوند که شروع کننده و هر گونه شرایط محدودیت برآورده شده باشد. |
بلوک automations
ما شامل دو قانون است:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
به موارد زیر توجه کنید:
- دو قانون
automations
وجود دارد. اولی چراغ را روشن می کند و دومی چراغ را خاموش می کند. - هر قانون یک عمل واحد دارد.
-
on: true
به معنای روشن کردن چراغ است. به همین ترتیب،on: false
به معنای خاموش کردن چراغ است. - هر قانون یک شروع کننده
time.schedule
دارد که به اتوماسیون می گوید که چه زمانی اتوماسیون را شروع کند. - هیچ شرایطی در این اتوماسیون وجود ندارد.
5. اتوماسیون کامل اسکریپت
با کنار هم قرار دادن تمام این قطعات، اتوماسیون کامل اسکریپت به این صورت است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- اتوماسیون (در بالا) را کپی کنید.
- به Google Home برای وب بروید.
- برگه اتوماسیون ها را انتخاب کنید که با نمادی با سه ستاره نشان داده شده است:
- روی + افزودن جدید کلیک کنید.
- در ویرایشگر اسکریپت، الگوی اتوماسیون را حذف کنید.
- اتوماسیون خود را بچسبانید.
-
Desk light - Office
��ا با نام و مکان دستگاه خود جایگزین کنید. - روی اعتبار سنجی کلیک کنید. ویرایشگر اسکریپت قسمت هایی از اتوماسیون اسکریپت شده شما را که حاوی خطا هستند زیر خط می کشد. هر گونه خطای ایجاد شده را برطرف کنید و اعتبارسنجی و رفع آن را ادامه دهید تا زمانی که دیگر خطایی وجود نداشته باشد. به عنوان مثال، نام دستگاه شما ممکن است متفاوت باشد. اگر اینطور است، میتوانید از ویژگی تکمیل خودکار برای انتخاب نام دستگاه معتبر استفاده کنید.
- روی ذخیره کلیک کنید.
- مطمئن شوید که سوئیچ Activate در زیر متن اسکریپت شما در موقعیت روشن قرار دارد:
6. اتوماسیون را تست کنید
- مطمئن شوید که دستگاه شما به برق وصل است و در برنامه Google Home قابل مشاهده است.
- اگر دستگاه در حال حاضر روشن است، آن را خاموش کنید.
- در صفحه اتوماسیون در Google Home برای وب ، روی دکمه "اجرا" در کنار اتوماسیون خود کلیک کنید.
- دستگاه باید روشن شود.
حالا بیایید اتوماسیون را آزمایش کنیم.
- دستگاه را خاموش کنید.
- اتوماسیون را ویرایش کنید و زمان روشن بودن دستگاه را در خط 7 به زمان پنج دقیقه در آینده تغییر دهید.
- زمان «خاموش بودن دستگاه» در خط 14 را به زمانی کمی پس از «بهوقت روشن» تغییر دهید.
- روی اعتبار سنجی کلیک کنید. هرگونه خطای احتمالی را برطرف کنید.
- روی ذخیره کلیک کنید.
- اطمینان حاصل کنید که کلید Activate در موقعیت روشن است.
- صبر کنید تا دو زمان شروع به پایان برسد. دستگاه باید در زمان های مشخص شده روشن و سپس خاموش شود.
7. تبریک می گویم!
شما با موفقیت یک اتوماسیون اسکریپت ایجاد کردید - عالی!
در این کد لبه یاد گرفتید که چگونه:
- نحوه طراحی و نوشتن یک اتوماسیون
- نحوه تست اتوماسیون
مراحل بعدی
در این کد لبه، ما یک اتوماسیون بسیار ساده ایجاد کردیم. اتوماسیون ها می توانند بسیار بیشتر از برنامه ریزی برای تغییر کلید برق انجام دهند. اکنون که اصول ایجاد یک اتوماسیون را درک کردهاید، میتوانید انواع مختلفی از آغازگرها، شرایط و اقدامات موجود در اکوسیستم Google Home را بررسی کنید.
تمرینات زیر را امتحان کنید:
-
time.schedule
بیشتری را به اتوماسیون اضافه کنید. - اتوماسیون را تغییر دهید تا دستگاه دیگری را در همان زمان بندی روشن و خاموش کنید.
- بدون حذف استارترهای
time.schedule
، اتوماسیون را طوری تغییر دهید که فقط وقتی دستگاه دیگری روشن است، دستگاه ها روشن شوند. به نمونه اسکریپت هایی که از شرطcondition
استفاده می کنند مراجعه کنید. - اتوماسیون را طوری تغییر دهید که فقط وقتی شخصی در خانه است دستگاه ها را روشن کند.
در ادامه مطلب
برای کسب اطلاعات بیشتر درباره اتوماسیونهای Google Home، مستندات مرجع Automations را بررسی کنید:
1. مقدمه
چیزی که یاد خواهید گرفت
- نحوه برنامه ریزی و نوشتن یک اتوماسیون اسکریپت شده
- نحوه تست اتوماسیون اسکریپت شده
آنچه شما نیاز دارید
- تلفن Android یا iOS دارای برنامه Google Home.
- چراغ هوشمند یا دستگاه دیگری که برای کار با Google Home تأیید شده است و می تواند روشن یا خاموش شود.
2. دستگاه خود را راه اندازی کنید
اگر دستگاه شما قبلاً راهاندازی نشده است، آن را در خانه خود راهاندازی کنید.
تأیید کنید که دستگاه در برنامه Google Home ظاهر میشود و میتوانید با استفاده از برنامه Home آن را روشن یا خاموش کنید.
3. اتوماسیون اسکریپت شده خود را برنامه ریزی کنید
ما با فکر کردن در مورد آنچه میخواهیم اتوماسیون اسکریپتمان انجام دهد، شروع میکنیم. این شامل ملاحظاتی مانند:
- کدام دستگاه ها را می خواهید خودکار کنید.
- کدام شروع (یا رویداد) باید اجرای اتوماسیون اسکریپت شده را آغاز کند.
- چه شرایط اضافی، در صورت وجود، کنترل می کند که آیا اتوماسیون اسکریپت پس از راه اندازی اجرا می شود یا خیر.
- چه اقداماتی باید انجام شود.
برای هدف این نرم افزار کد، برنامه ما این است که اتوماسیون اسکریپت شده دو کار را انجام دهد:
- چراغ خود (یا دستگاه هوشمند دیگر) را در زمان مشخصی روشن کنید.
- دستگاه خود را در یک زمان خاص خاموش کنید.
اکنون که دقیقاً میخواهیم اتوماسیون اسکریپتمان چه کاری انجام دهد، روشن شدیم، ویرایشگر اسکریپت را باز میکنیم و اتوماسیون اسکریپتشده را مینویسیم.
4. اتوماسیون اسکریپت شده را بنویسید
اتوماسیونهای اسکریپتشده با استفاده از زبان سریالسازی دادههای YAML به صورت اعلامی نوشته میشوند.
یک اتوماسیون اسکریپت از دو بخش اصلی تشکیل شده است:
- فراداده - نام اتوماسیون اسکریپت شده و شرح کاری که انجام می دهد.
- قوانین اتوماسیون - منطق شروع و رفتار اتوماسیون را تعریف می کند.
فراداده
ابرداده اتوماسیون ما به کاربر می گوید که اتوماسیون چه نام دارد و چه کاری انجام می دهد. ابرداده در بلوک metadata
مشخص شده است که به شکل زیر است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
قوانین اتوماسیون
یک قانون اتوماسیون جایی است که کار واقعی اتفاق می افتد. این شامل سه بخش، شروع ، شرایط و اقدامات است که به ترتیب ارزیابی می شوند:
1 استارتر | 2 شرایط | 3 اقدامات |
استارت ها همان چیزی ه��تند که اتوماسیون ر�� ��غاز می کنند. حداقل یک شروع کننده باید | اینها اختیاری هستند و شامل یک یا چند محدودیت اضافی هستند که پس از فعال شدن استارت ارزیابی می شوند. اگر شرایط به هنگامی که محدودیت های متعدد را شامل می شود، آنها را با یک شرط با اعلان تغییر وضعیت یکسان نیست:
| کنشها عملیاتی هستند که زمانی انجام میشوند که شروع کننده و هر گونه شرایط محدودیت برآورده شده باشد. |
بلوک automations
ما شامل دو قانون است:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
به موارد زیر توجه کنید:
- دو قانون
automations
وجود دارد. اولی چراغ را روشن می کند و دومی چراغ را خاموش می کند. - هر قانون یک عمل واحد دارد.
-
on: true
یعنی روشن ک��دن چراغ . به همین ترتیب،on: false
به معنای خاموش کردن چراغ است. - هر قانون یک شروع کننده
time.schedule
دارد که به اتوماسیون می گوید که چه زمانی اتوماسیون را شروع کند. - هیچ شرایطی در این اتوماسیون وجود ندارد.
5. اتوماسیون کامل اسکریپت
با کنار هم قرار دادن تمام این قطعات، اتوماسیون کامل اسکریپت به این صورت است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- اتوماسیون (در بالا) را کپی کنید.
- به Google Home برای وب بروید.
- برگه اتوماسیون ها را انتخاب کنید که با نمادی با سه ستاره نشان داده شده است:
- روی + افزودن جدید کلیک کنید.
- در ویرایشگر اسکریپت، الگوی اتوماسیون را حذف کنید.
- اتوماسیون خود را بچسبانید.
-
Desk light - Office
را با نام و مکان دستگاه خود جایگزین کنید. - روی اعتبار سنجی کلیک کنید. ویرایشگر اسکریپت قسمت هایی از اتوماسیون اسکریپت شده شما را که حاوی خطا هستند زیر خط می کشد. هر گونه خطای ایجاد شده را برطرف کنید و اعتبارسنجی و رفع آن را ادامه دهید تا زمانی که دیگر خطایی وجود نداشته باشد. به عنوان مثال، نام دستگاه شما ممکن است متفاوت باشد. اگر اینطور است، میتوانید از ویژگی تکمیل خودکار برای انتخاب نام دستگاه معتبر استفاده کنید.
- روی ذخیره کلیک کنید.
- مطمئن شوید که سوئیچ Activate در زیر متن اسکریپت شما در موقعیت روشن قرار دارد:
6. اتوماسیون را تست کنید
- مطمئن شوید که دستگاه شما به برق وصل است و در برنامه Google Home قابل مشاهده است.
- اگر دستگاه در حال حاضر روشن است، آن را خاموش کنید.
- در صفحه اتوماسیون در Google Home برای وب ، روی دکمه "اجرا" در کنار اتوماسیون خود کلیک کنید.
- دستگاه باید روشن شود.
حالا بیایید اتوماسیون را آزمایش کنیم.
- دستگاه را خاموش کنید.
- اتوماسیون را ویرایش کنید و زمان روشن بودن دستگاه را در خط 7 به زمان پنج دقیقه در ��ینده تغییر دهید.
- زمان «خاموش بودن دستگاه» در خط 14 را به زمانی کمی پس از «بهوقت روشن» تغییر دهید.
- روی اعتبار سنجی کلیک کنید. هرگونه خطای احتمالی را برطرف کنید.
- روی ذخیره کلیک کنید.
- اطمینان حاصل کنید که کلید Activate در موقعیت روشن است.
- صبر کنید تا دو زمان شروع به پایان برسد. دستگاه باید در زمان های مشخص شده روشن و سپس خاموش شود.
7. تبریک می گویم!
شما با موفقیت یک اتوماسیون اسکریپت ایجاد کردید - عالی!
در این کد لبه یاد گرفتید که چگونه:
- نحوه طراحی و نوشتن یک اتوماسیون
- نحوه تست اتوماسیون
مراحل بعدی
در این کد لبه، ما یک اتوماسیون بسیار ساده ایجاد کردیم. اتوماسیون ها می توانند بسیار بیشتر از برنامه ریزی برای تغییر کلید برق انجام دهند. اکنون که اصول ایجاد یک اتوماسیون را درک کردهاید، میتوانید انواع مختلفی از آغازگرها، شرایط و اقدامات موجود در اکوسیستم Google Home را بررسی کنید.
تمرینات زیر را امتحان کنید:
-
time.schedule
بیشتری را به اتوماسیون اضافه کنید. - اتوماسیون را تغییر دهید تا دستگاه دیگری را در همان زمان بندی روشن و خاموش کنید.
- بدون حذف استارترهای
time.schedule
، اتوماسیون را طوری تغییر دهید که فقط وقتی دستگاه دیگری روشن است، دستگاه ها روشن شوند. به نمونه اسکریپت هایی که از شرطcondition
استفاده می کنند مراجعه کنید. - اتوماسیون را طوری تغییر دهید که فقط وقتی شخصی در خانه است دستگاه ها را روشن کند.
در ادامه مطلب
برای کسب اطلاعات بیشتر درباره اتوماسیونهای Google Home، مستندات مرجع Automations را بررسی کنید:
1. مقدمه
چیزی که یاد خواهید گرفت
- نحوه برنامه ریزی و نوشتن یک اتوماسیون اسکریپت شده
- نحوه تست اتوماسیون اسکریپت شده
آنچه شما نیاز دارید
- تلفن Android یا iOS دارای برنامه Google Home.
- چراغ هوشمند یا دستگاه دیگری که برای کار با Google Home تأیید شده است و می تواند روشن یا خاموش شود.
2. دستگاه خود را راه اندازی کنید
اگر دستگاه شما قبلاً راهاندازی نشده است، آن را در خانه خود راهاندازی کنید.
تأیید کنید که دستگاه در برنامه Google Home ظاهر میشود و میتوانید با استفاده از برنامه Home آن را روشن یا خاموش کنید.
3. اتوماسیون اسکریپت شده خود را برنامه ریزی کنید
ما با فکر کردن در مورد آنچه میخواهیم اتوماسیون اسکریپتمان انجام دهد، شروع میکنیم. این شامل ملاحظاتی مانند:
- کدام دستگاه ها را می خواهید خودکار کنید.
- کدام شروع (یا رویداد) باید اجرای اتوماسیون اسکریپت شده را آغاز کند.
- چه شرایط اضافی، در صورت وجود، کنترل می کند که آیا اتوماسیون اسکریپت پس از راه اندازی اجرا می شود یا خیر.
- چه اقداماتی باید انجام شود.
برای هدف این نرم افزار کد، برنامه ما این است که اتوماسیون اسکریپت شده دو کار را انجام دهد:
- چراغ خود (یا دستگاه هوشمند دیگر) را در زمان مشخصی روشن کنید.
- دستگاه خود را در یک زمان خاص خاموش کنید.
اکنون که دقیقاً میخواهیم اتوماسیون اسکریپتمان چه کاری انجام دهد، روشن شدیم، ویرایشگر اسکریپت را باز میکنیم و اتوماسیون اسکریپتشده را مینویسیم.
4. اتوماسیون اسکریپت شده را بنویسید
اتوماسیونهای اسکریپتشده با استفاده از زبان سریالسازی دادههای YAML به صورت اعلامی نوشته میشوند.
یک اتوماسیون اسکریپت شده از دو بخش اصلی تشکیل شده است:
- فراداده - نام اتوماسیون اسکریپت شده و شرح کاری که انجام می دهد.
- قوانین اتوماسیون - منطق شروع و رفتار اتوماسیون را تعریف می کند.
فراداده
ابرداده اتوماسیون ما به کاربر می گوید که اتوماسیون چه نام دارد و چه کاری انجام می دهد. ابرداده در بلوک metadata
مشخص شده است که به شکل زیر است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
قوانین اتوماسیون
یک قانون اتوماسیون جایی است که کار واقعی اتفاق می افتد. این شامل سه بخش، شروع ، شرایط و اقدامات است که به ترتیب ارزیابی می شوند:
1 استارتر | 2 شرایط | 3 اقدامات |
استارت ها همان چیزی هستند که اتوماسیون را آغاز می کنند. حداقل یک شروع کننده باید | اینها اختیاری هستند و شامل یک یا چند محدودیت اضافی هستند که پس از فعال شدن استارت ارزیابی می شوند. اگر شرایط به هنگامی که محدودیت های متعدد را شامل می شود، آنها را با یک شرط با اعلان تغییر وضعیت یکسان نیست:
| کنشها عملیاتی هستند که زمانی انجام میشوند که شروع کننده و هر گونه شرایط محدودیت برآورده شده باشد. |
بلوک automations
ما شامل دو قانون است:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
به موارد زیر توجه کنید:
- دو قانون
automations
وجود دارد. اولی چراغ را روشن می کند و دومی چراغ را خاموش می کند. - هر قانون یک عمل واحد دارد.
-
on: true
یعنی روشن کردن چراغ . به همین ترتیب،on: false
به معنای خاموش کردن چراغ است. - هر قانون یک شروع کننده
time.schedule
دارد که به اتوماسیون می گوید که چه زمانی اتوماسیون را شروع کند. - هیچ شرایطی در این اتوماسیون وجود ندارد.
5. اتوماسیون کامل اسکریپت
با کنار هم قرار دادن تمام این قطعات، اتوماسیون کامل اسکریپت به این صورت است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- اتوماسیون (در بالا) را کپی کنید.
- به Google Home برای وب بروید.
- برگه اتوماسیون ها را انتخاب کنید که با نمادی با سه ستاره نشان داده شده است:
- روی + افزودن جدید کلیک کنید.
- در ویرایشگر اسکریپت، الگوی اتوماسیون را حذف کنید.
- اتوماسیون خود را بچسبانید.
-
Desk light - Office
را با نام و مکان دستگاه خود جایگزین کنید. - روی اعتبار سنجی کلیک کنید. ویرایشگر اسکریپت قسمت هایی از اتوماسیون اسکریپت شده شما را که حاوی خطا هستند زیر خط می کشد. هر گونه خطای ایجاد شده را برطرف کنید و اعتبارسنجی و رفع آن را ادامه دهید تا زمانی که دیگر خطایی وجود نداشته باشد. به عنوان مثال، نام دستگاه شما ممکن است متفاوت باشد. اگر اینطور است، میتوانید از ویژگی تکمیل خودکار برای انتخاب نام دستگاه معتبر استفاده کنید.
- روی ذخیره کلیک کنید.
- مطمئن شوید که سوئیچ Activate در زیر متن اسکریپت شما در موقعیت روشن قرار دارد:
6. اتوماسیون را تست کنید
- مطمئن شوید که دستگاه شما به برق وصل است و در برنامه Google Home قابل م��اهده است.
- اگر دستگاه در حال حاضر روشن است، آن را خاموش کنید.
- در صفحه اتوماسیون در Google Home برای وب ، روی دکمه "اجرا" در کنار اتوماسیون خود کلیک کنید.
- دستگاه باید روشن شود.
حالا بیایید اتوماسیون را آزمایش کنیم.
- دستگاه را خاموش کنید.
- اتوماسیون را ویرایش کنید و زمان روشن بودن دستگاه را در خط 7 به زمان پنج دقیقه در آینده تغییر دهید.
- زمان «خاموش بودن دستگاه» در خط 14 را به زمانی کمی پس از «بهوقت روشن» تغییر دهید.
- روی اعتبار سنجی کلیک کنید. هرگونه خطای احتمالی را برطرف کنید.
- روی ذخیره کلیک کنید.
- اطمینان حاصل کنید که کلید Activate در موقعیت روشن است.
- صبر کنید تا دو زمان شروع به پایان برسد. دستگاه باید در زمان های مشخص شده روشن و سپس خاموش شود.
7. تبریک می گویم!
شما با موفقیت یک اتوماسیون اسکریپت ایجاد کردید - عالی!
در این کد لبه یاد گرفتید که چگونه:
- نحوه طراحی و نوشتن یک اتوماسیون
- نحوه تست اتوماسیون
مراحل بعدی
در این کد لبه، ما یک اتوماسیون بسیار ساده ایجاد کردیم. اتوماسیون ها می توانند بسیار بیشتر از برنامه ریزی برای تغییر کلید برق انجام دهند. اکنون که اصول ایجاد یک اتوماسیون را درک کردهاید، میتوانید انواع مختلفی از آغازگرها، شرایط و اقدامات موجود در اکوسیستم Google Home را بررسی کنید.
تمرینات زیر را امتحان کنید:
-
time.schedule
بیشتری را به اتوماسیون اضافه کنید. - اتوماسیون را تغییر دهید تا دستگاه دیگری را در همان زمان بندی روشن و خاموش کنید.
- بدون حذف استارترهای
time.schedule
، اتوماسیون را طوری تغییر دهید که فقط وقتی دستگاه دیگری روشن است، دستگاه ها روشن شوند. به نمونه اسکریپت هایی که از شرطcondition
استفاده می کنند مراجعه کنید. - اتوماسیون را طوری تغییر دهید که فقط وقتی شخصی در خانه است دستگاه ها را روشن کند.
در ادامه مطلب
برای کسب اطلاعات بیشتر درباره اتوماسیونهای Google Home، مستندات مرجع Automations را بررسی کنید:
1. مقدمه
چیزی که یاد خواهید گرفت
- نحوه برنامه ریزی و نوشتن یک اتوماسیون اسکریپت شده
- نحوه تست اتوماسیون اسکریپت شده
آنچه شما نیاز دارید
- تلفن Android یا iOS دارای برنامه Google Home.
- چراغ هوشمند یا دستگاه دیگری که برای کار با Google Home تأیید شده است و می تواند روشن یا خاموش شود.
2. دستگاه خود را راه اندازی کنید
اگر دستگاه شما قبلاً راهاندازی نشده است، آن را در خانه خود راهاندازی کنید.
تأیید کنید که دستگاه در برنامه Google Home ظاهر میشود و میتوانید با استفاده از برنامه Home آن را روشن یا خاموش کنید.
3. اتوماسیون اسکریپت شده خود را برنامه ریزی کنید
ما با فکر کردن در مورد آنچه میخواهیم اتوماسیون اسکریپتمان انجام دهد، شروع میکنیم. این شامل ملاحظاتی مانند:
- کدام دستگاه ها را می خواهید خودکار کنید.
- کدام شروع (یا رویداد) باید اجرای اتوماسیون اسکریپت شده را آغاز کند.
- چه شرایط اضافی، در صورت وجود، کنترل می کند که آیا اتوماسیون اسکریپت پس از راه اندازی اجرا می شود یا خیر.
- چه اقداماتی باید انجام شود.
برای هدف این نرم افزار کد، برنامه ما این است که اتوماسیون اسکریپت شده دو کار را انجام دهد:
- چراغ خود (یا دستگاه هوشمند دیگر) را در زمان مشخصی روشن کنید.
- دستگاه خود را در یک زمان خاص خاموش کنید.
اکنون که دقیقاً میخواهیم اتوماسیون اسکریپتمان چه کاری انجام دهد، روشن شدیم، ویرایشگر اسکریپت را باز میکنیم و اتوماسیون اسکریپتشده را مینویسیم.
4. اتوماسیون اسکریپت شده را بنویسید
اتوماسیونهای اسکریپتشده با استفاده از زبان سریالسازی دادههای YAML به صورت اعلامی نوشته میشوند.
یک اتوماسیون اسکریپت از دو بخش اصلی تشکیل شده است:
- فراداده - نام اتوماسیون اسکریپت شده و شرح کاری که انجام می دهد.
- قوانین اتوماسیون - منطق شروع و رفتار اتوماسیون را تعریف می کند.
فراداده
ابرداده اتوماسیون ما به کاربر می گوید که اتوماسیون چه نام دارد و چه کاری انجام می دهد. ابرداده در بلوک metadata
مشخص شده است که به شکل زیر است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
قوانین اتوماسیون
یک قانون اتوماسیون جایی است که کار واقعی اتفاق می افتد. این شامل سه بخش، شروع ، شرایط و اقدامات است که به ترتیب ارزیابی می شوند:
1 استارتر | 2 شرایط | 3 اقدامات |
استارت ها همان چیزی هستند که اتوماسیون را آغاز می کنند. حداقل یک شروع کننده باید | اینها اختیاری هستند و شامل یک یا چند محدودیت اضافی هستند که پس از فعال شدن استارت ارزیابی می شوند. اگر شرایط به هنگامی که محدودیت های متعدد را شامل می شود، آنها را با یک شرط با اعلان ��غییر و����ی�� یکس��ن نی��ت:
| کنشها عملیاتی هستند که زمانی انجام میشوند که شروع کننده و هر گونه شرایط محدودیت برآورده شده باشد. |
بلوک automations
ما شامل دو قانون است:
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
به موارد زیر توجه کنید:
- دو قانون
automations
وجود دارد. اولی چراغ را روشن می کند و دومی چراغ را خاموش می کند. - هر قانون یک عمل واحد دارد.
-
on: true
به معنای روشن کردن چراغ است. به همین ترتیب،on: false
به معنای خاموش کردن چراغ است. - هر قانون یک شروع کننده
time.schedule
دارد که به اتوماسیون می گوید که چه زمانی اتوماسیون را شروع کند. - هیچ شرایطی در این اتوماسیون وجود ندارد.
5. اتوماسیون کامل اسکریپت
با کنار هم قرار دادن تمام این قطعات، اتوماسیون کامل اسکریپت به این صورت است:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- اتوماسیون (در بالا) را کپی کنید.
- به Google Home برای وب بروید.
- برگه اتوماسیون ها را انتخاب کنید که با نمادی با سه ستاره نشان داده شده است:
- روی + افزودن جدید کلیک کنید.
- در ویرایشگر اسکریپت، الگوی اتوماسیون را حذف کنید.
- اتوماسیون خود را بچسبانید.
-
Desk light - Office
را با نام و مکان دستگاه خود جایگزین کنید. - روی اعتبار سنجی کلیک کنید. ویرایشگر اسکریپت قسمت هایی از اتوماسیون اسکریپت شده شما را که حاوی خطا هستند زیر خط می کشد. هر گونه خطای ایجاد شده را برطرف کنید و اعتبارسنجی و رفع آن را ادامه دهید تا زمانی که دیگر خطایی وجود نداشته باشد. به عنوان مثال، نام دستگاه شما ممکن است متفاوت باشد. اگر اینطور است، میتوانید از ویژگی تکمیل خودکار برای انتخاب نام دستگاه معتبر استفاده کنید.
- روی ذخیره کلیک کنید.
- مطمئن شوید که سوئیچ Activate در زیر متن اسکریپت شما در موقعیت روشن قرار دارد:
6. اتوماسیون را تست کنید
- مطمئن شوید که دستگاه شما به برق وصل است و در برنامه Google Home قابل مشاهده است.
- اگر دستگاه در حال حاضر روشن است، آن را خاموش کنید.
- در صفحه اتوماسیون در Google Home برای وب ، روی دکمه "اجرا" در کنار اتوماسیون خود کلیک کنید.
- دستگاه باید روشن شود.
حالا بیایید اتوماسیون را آزمایش کنیم.
- دستگاه را خاموش کنید.
- اتوماسیون را ویرایش کنید و زمان روشن بودن دستگاه را در خط 7 به زمان پنج دقیقه در آینده تغییر دهید.
- زمان «خاموش بودن دستگاه» در خط 14 را به زمانی کمی پس از «بهوقت روشن» تغییر دهید.
- روی اعتبار سنجی کلیک کنید. هرگونه خطای احتمالی را برطرف کنید.
- روی ذخیره کلیک کنید.
- اطمینان حاصل کنید که کلید Activate در موقعیت روشن است.
- صبر کنید تا دو زمان شروع به پایان برسد. دستگاه باید در زمان های مشخص شده روشن و سپس خاموش شود.
7. تبریک می گویم!
شما با موفقیت یک اتوماسیون اسکریپت ایجاد کردید - عالی!
در این کد لبه یاد گرفتید که چگونه:
- نحوه طراحی و نوشتن یک ��توماسیون
- نحوه تست اتوماسیون
مراحل بعدی
در این کد لبه، ما یک اتوماسیون بسیار ساده ایجاد کردیم. اتوماسیون ها می توانند بسیار بیشتر از برنامه ریزی برای تغییر کلید برق انجام دهند. اکنون که اصول ایجاد یک اتوماسیون را درک کردهاید، میتوانید انواع مختلفی از آغازگرها، شرایط و اقدامات موجود در اکوسیستم Google Home را بررسی کنید.
تمرینات زیر را امتحان کنید:
-
time.schedule
بیشتری را به اتوماسیون اضافه کنید. - اتوماسیون را تغییر دهید تا دستگاه دیگری را در همان زمان بندی روشن و خاموش کنید.
- بدون حذف استارترهای
time.schedule
، اتوماسیون را طوری تغییر دهید که فقط وقتی دستگاه دیگری روشن است، دستگاه ها روشن شوند. به نمونه اسکریپت هایی که از شرطcondition
استفاده می کنند مراجعه کنید. - اتوماسیون را طوری تغییر دهید که فقط وقتی شخصی در خانه است دستگاه ها را روشن کند.
در ادامه مطلب
برای کسب اطلاعات بیشتر درباره اتوماسیونهای Google Home، مستندات مرجع Automations را بررسی کنید: