1. ভূমিকা
তুমি কি শিখবে
- কিভাবে একটি অটোমেশন টেমপ্লেট ডিজাইন এবং লিখবেন।
- গুগল হোম ডেভেলপার কনসোল ব্যবহার করে কীভাবে একটি অটোমেশন টেমপ্লেট পরীক্ষা করবেন।
তোমার যা লাগবে
- গুগল হোম অ্যাপ চালিত একটি অ্যান্ড্রয়েড বা আইওএস ফোন।
- হয় আপনার বাড়িতে লাগানো একটি স্মার্ট লাইট, অথবা গুগল হোম প্লেগ্রাউন্ডে একটি সিমুলেটেড ডিভাইস।
পূর্বশর্ত
গুগল হোম অটোমেশন কীভাবে লিখতে হয় তার সাথে আপনার পরিচিত হওয়া উচিত। যদি আপনি কখনও অটোমেশন না লিখে থাকেন, তাহলে এটি লেখার আগে একটি স্ক্রিপ্টেড অটোমেশন কোডল্যাব তৈরি করার কথা বিবেচনা করুন।
2. অটোমেশন টেমপ্লেট এবং উদাহরণ
ডেভেলপাররা গুগল হোম ডেভেলপার কনসোলে অটোমেশন টেমপ্লেট এডিটর ব্যবহার করে অটোমেশন টেমপ্লেট তৈরি করে। অটোমেশন টেমপ্লেটগুলিতে স্ক্রিপ্ট লজিকের সারাংশ থাকে, ডিভাইসের ধরণ উল্লেখ করে, কিন্তু নির্দিষ্ট ডিভাইস নয়।
গুগল হোম ফর ওয়েবের অটোমেশন স্ক্রিপ্ট এডিটর ব্যবহার করে, ব্যবহারকারীরা একটি অটোমেশন টেমপ্লেট নেন এবং একটি ব্যক্তিগতকৃত ইনস্ট্যান্স তৈরি করেন যা তাদের নিজস্ব বাড়ির নির্দিষ্ট ডিভাইসগুলিতে কাজ করে। একবার সংরক্ষণ করা হলে, ইনস্ট্যান্সটি গুগল হোম অ্যাপে (GHA) হাউসহোল্ড রুটিনের অধীনে প্রদর্শিত হয়।
৩. আপনার অটোমেশন টেমপ্লেট পরিকল্পনা করুন
একটি অটোমেশন তৈরি করার সময়, একজন ব্যক্তি যে সমস্যাটি সমাধান করার চেষ্টা করছেন এবং সমস্যাটি সমাধানের জন্য অটোমেশন কী করবে তা নিয়ে চিন্তা করে শুরু করেন। এর মধ্যে নিম্নলিখিত বিবেচনাগুলি অন্তর্ভুক্ত রয়েছে:
- আপনি কোন ডিভাইসগুলি স্বয়ংক্রিয় করতে চান।
- কোন স্টার্টার (বা ইভেন্ট) অটোমেশনের কার্যকরকরণকে ট্রিগার করবে?
- অটোমেশন চালু হওয়ার পরে এটি চালু হবে কিনা তা নিয়ন্ত্রণ করার জন্য কোন অতিরিক্ত শর্তগুলি, যদি থাকে, তা নির্ধারণ করে।
- কি কি কাজ সম্পাদন করতে হবে।
এই কোডল্যাবের উদ্দেশ্যে, আপনার অটোমেশন দুটি কাজ করবে:
- একটি নির্দিষ্ট সময়ে আলো জ্বালান।
- নির্দিষ্ট সময়ে একই আলো নিভিয়ে দিন।
এটি মাথায় রেখে, আপনি টেমপ্লেট সম্পাদক খুলতে এবং অটোমেশন লিখতে প্রস্তুত।
৪. অটোমেশন টেমপ্লেটটি লিখুন
YAML ডেটা-সিরিয়ালাইজেশন ভাষা ব্যবহার করে অটোমেশনগুলি ঘোষণামূলক পদ্ধতিতে লেখা হয়।
একটি অটোমেশন টেমপ্লেটের তিনটি প্রাথমিক বিভাগ থাকে:
- মেটাডেটা - অটোমেশনের নাম, এটি কী করে তার বর্ণনা, এবং ঐচ্ছিকভাবে, অটোমেশনকে শ্রেণীবদ্ধ করতে ব্যবহৃত কিছু ট্যাগ। কীওয়ার্ডগুলি হল:
- আলো এবং প্লাগ
- জলবায়ু এবং শক্তি
- নিরাপত্তা এবং সচেতনতা
- বিনোদন
- যন্ত্রপাতি এবং আরও অনেক কিছু
- ইনপুট - অটোমেশন কোন ধরণের ডিভাইস(গুলি) নিয়ন্ত্রণ করার উদ্দেশ্যে তৈরি তা নির্ধারণ করে। অটোমেশন ইঞ্জিন এই তথ্য ব্যবহার করে জানার জন্য যে উদ্দিষ্ট ডিভাইসগুলির জন্য কী ধরণের ক্রিয়া বৈধ।
- অটোমেশন নিয়ম — অটোমেশনের সূচনা যুক্তি এবং আচরণ সংজ্ঞায়িত করে।
এটি হল অটোমেশন টেমপ্লেট যা দিয়ে আপনি কাজ করবেন:
metadata:
name:
en: Scheduled light
description:
en: Turn the light on and off at specific times
tags:
- LIGHTING AND PLUGS
input:
the_light:
metadata:
name:
en: The light
description:
en: The light to be controlled
selector:
type: device
multiSelect: true
supportedTypes:
- LIGHT
time_on:
metadata:
name:
en: Time to turn on the light.
description:
en: The time of day to turn on the selected light.
selector:
type: time
default: sunset+30min
time_off:
metadata:
name:
en: Time to turn off the light.
description:
en: The time of day to turn off the selected light.
selector:
type: time
default: 10:00 pm
automations:
- name: Turn on the light
starters:
- type: time.schedule
at: $time_on
actions:
- type: device.command.OnOff
devices: $the_light
on: true
- name: Turn off the light
starters:
- type: time.schedule
at: $time_off
actions:
- type: device.command.OnOff
devices: $the_light
on: false
টেমপ্লেটটি পড়ুন এবং নিম্নলিখিত বিষয়গুলি লক্ষ্য করুন:
-
metadataবিভাগে এই অটোমেশনের নাম এবং বিবরণ রয়েছে। -
inputবিভাগটিthe_lightনামক একটি ভেরিয়েবলকে সংজ্ঞায়িত করে যাLIGHTধরণের একটি ডিভাইস নির্দিষ্ট করে। এর অর্থ হল এই টেমপ্লেটটি শুধুমাত্র আলোর জন্য ব্যবহার করা যেতে পারে, অন্যান্য ধরণের ডিভাইসের জন্য নয়। অন্য কথায়, যখন কোনও ব্যবহারকারী, তাদের বাড়িতে আপনার অটোমেশন সেট আপ করার সময়,$the_lightএর জন্য একটি ডিভাইস নির্বাচন করতে বলা হয়, তখন তাদের ডিভাইসের পছন্দ আপনার নির্দিষ্ট ধরণের ডিভাইসের মধ্যে সীমাবদ্ধ থাকে। -
inputবিভাগেtime_onএবংtime_offনামে দুটি ভেরিয়েবলও সংজ্ঞায়িত করা হয়েছে। এগুলি ব্যবহারকারীকে অটোমেশন কখন শুরু করতে হবে তা নির্দিষ্ট করতে দেয়।time_onআলো জ্বালানোর সময়কে প্রতিনিধিত্ব করে এবংtime_offআলো বন্ধ করার সময়কে প্রতিনিধিত্ব করে। যদি ব্যবহারকারীtime_onবাtime_offএর মান সেট না করেন, তাহলে ডিফল্ট মানগুলি ব্যবহার করা হয়। - আমাদের অটোমেশনের
automationsবিভাগে দুটি অটোমেশন নিয়ম রয়েছে। প্রতিটি নিয়মে একটি করেtime.scheduleস্টার্টার থাকে যা অটোমেশনকে বলে দেয় যে কখন সেই অটোমেশন শুরু করতে হবে।
টেমপ্লেট সম্পাদক
অটোমেশন টেমপ্লেট এডিটর হল সেই টুল যা আপনি অটোমেশন টেমপ্লেট লেখার জন্য ব্যবহার করেন।
- গুগল হোম ডেভেলপার কনসোলে যান।
- Google Home অ্যাপে আপনার ডিভাইস যে অ্যাকাউন্ট দিয়ে সেট আপ করা আছে, সেই অ্যাকাউন্ট দিয়েই সাইন-ইন করুন।
- একটি বিদ্যমান প্রকল্প তৈরি করুন বা নির্বাচন করুন।
- অটোমেশনের অধীনে, ডেভেলপ ক্লিক করুন।
- একটি টেমপ্লেট তৈরি করুন ক্লিক করুন।
- "নির্ধারিত আলো" অটোমেশন টেমপ্লেটটি অনুলিপি করুন।
- "Scheduled light" অটোমেশন টেমপ্লেটটি টেমপ্লেট এডিটরে পেস্ট করুন।
- Validate এ ক্লিক করুন। যেকোনো ত্রুটি সমাধান করুন এবং যতক্ষণ না কোনও ত্রুটি দেখা দেয় ততক্ষণ যাচাই এবং সংশোধন করতে থাকুন।
- টেমপ্লেটটি সংরক্ষণ করতে সংরক্ষণ করুন এ ক্লিক করুন।
৫. টেমপ্লেটটি পরীক্ষা করুন
এখন আপনি কনসোলে টেমপ্লেটটি পরীক্ষা করতে পারেন।
- নিশ্চিত করুন যে আপনার আলোটি প্লাগ ইন করা আছে এবং Google Home অ্যাপে দৃশ্যমান।
- যদি আলো জ্বলে থাকে, তাহলে তা নিভিয়ে দিন।
- গুগল হোম ডেভেলপার কনসোলে যান।
- আপনি যেখানে আপনার টেমপ্লেট তৈরি করেছেন সেই প্রকল্পটি খুলুন।
- Automations নির্বাচন করুন, তারপর Test ট্যাব নির্বাচন করুন।
- "Scheduled light" অটোমেশন টেমপ্লেটের পাশে " Open" এ ক্লিক করুন।
- আপনি যে কাঠামোতে টেমপ্লেটটি পরীক্ষা করতে চান তা নির্বাচন করুন, তারপর Next এ ক্লিক করুন।
- InputValue এডিটরে, আপনার আলোর নাম উল্লেখ করুন। উদাহরণস্বরূপ, যদি আপনার আলোর নাম "ডেস্ক লাইট - অফিস" হয়, তাহলে আপনি
lightsএর ডানদিকে ক্লিক করলে প্রদর্শিত ড্রপ-ডাউন মেনু থেকেDesk light - Officeনির্বাচন করতে পারেন। অথবা আপনি ডিভাইসের নাম টাইপ করতে পারেন। - এছাড়াও InputValue এডিটরে,
time_onসময়কে ভবিষ্যতের পাঁচ মিনিটের মতো সময় নির্দিষ্ট করুন এবংtime_onকিছুক্ষণ পরেtime_offসময়কে একটি সময়ে পরিবর্তন করুন। - আপনার কাজ শেষ হয়ে গেলে, InputValue এডিটরটি এরকম দেখাবে:
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am - পরীক্ষা সক্রিয় করুন ক্লিক করুন।
- দুটি স্টার্টার টাইম কেটে যাওয়া পর্যন্ত অপেক্ষা করুন। নির্দিষ্ট সময়ে আলো জ্বলে উঠবে এবং তারপর নিভে যাবে।
একবার আপনি আপনার টেমপ্লেটটি সফলভাবে পরীক্ষা করার পর, আপনি বুঝতে পারবেন যে আপনার অটোমেশন কার্যকরীভাবে সুস্থ।
৬. অভিনন্দন!
আপনি সফলভাবে একটি অটোমেশন টেমপ্লেট তৈরি করেছেন। অসাধারণ!
এই কোডল্যাবে আপনি শিখেছেন কিভাবে:
- কিভাবে একটি অটোমেশন টেমপ্লেট ডিজাইন এবং লিখবেন।
- গুগল হোম ডেভেলপার কনসোলে এটি কীভাবে পরীক্ষা করবেন।
পরবর্তী পদক্ষেপ
এই কোডল্যাবে, আপনি একটি খুব সহজ অটোমেশন তৈরি করেছেন। অটোমেশনগুলি আলোর টগলিংয়ের সময়সূচী ছাড়াও আরও অনেক কিছু করতে পারে। এখন আপনি একটি অটোমেশন টেমপ্লেট তৈরি এবং পরীক্ষা করার মূল বিষয়গুলি বুঝতে পেরেছেন, আপনি বিভিন্ন ধরণের ডিভাইসের অটোমেশন টেমপ্লেট তৈরি করার চেষ্টা করতে পারেন, বিভিন্ন স্টার্টার, শর্ত এবং ক্রিয়া ব্যবহার করে।
আরও পড়া
গুগল হোম অটোমেশন সম্পর্কে আরও জানতে, অটোমেশন রেফারেন্স ডকুমেন্টেশনটি দেখুন: