একটি অটোমেশন টেমপ্লেট তৈরি করুন

1. ভূমিকা

তুমি কি শিখবে

  • কিভাবে একটি অটোমেশন টেমপ্লেট ডিজাইন এবং লিখবেন।
  • গুগল হোম ডেভেলপার কনসোল ব্যবহার করে কীভাবে একটি অটোমেশন টেমপ্লেট পরীক্ষা করবেন।

তোমার যা লাগবে

  • গুগল হোম অ্যাপ চালিত একটি অ্যান্ড্রয়েড বা আইওএস ফোন।
  • হয় আপনার বাড়িতে লাগানো একটি স্মার্ট লাইট, অথবা গুগল হোম প্লেগ্রাউন্ডে একটি সিমুলেটেড ডিভাইস।

পূর্বশর্ত

গুগল হোম অটোমেশন কীভাবে লিখতে হয় তার সাথে আপনার পরিচিত হওয়া উচিত। যদি আপনি কখনও অটোমেশন না লিখে থাকেন, তাহলে এটি লেখার আগে একটি স্ক্রিপ্টেড অটোমেশন কোডল্যাব তৈরি করার কথা বিবেচনা করুন।

2. অটোমেশন টেমপ্লেট এবং উদাহরণ

ডেভেলপাররা গুগল হোম ডেভেলপার কনসোলে অটোমেশন টেমপ্লেট এডিটর ব্যবহার করে অটোমেশন টেমপ্লেট তৈরি করে। অটোমেশন টেমপ্লেটগুলিতে স্ক্রিপ্ট লজিকের সারাংশ থাকে, ডিভাইসের ধরণ উল্লেখ করে, কিন্তু নির্দিষ্ট ডিভাইস নয়।

গুগল হোম ফর ওয়েবের অটোমেশন স্ক্রিপ্ট এডিটর ব্যবহার করে, ব্যবহারকারীরা একটি অটোমেশন টেমপ্লেট নেন এবং একটি ব্যক্তিগতকৃত ইনস্ট্যান্স তৈরি করেন যা তাদের নিজস্ব বাড়ির নির্দিষ্ট ডিভাইসগুলিতে কাজ করে। একবার সংরক্ষণ করা হলে, ইনস্ট্যান্সটি গুগল হোম অ্যাপে (GHA) হাউসহোল্ড রুটিনের অধীনে প্রদর্শিত হয়।

৩. আপনার অটোমেশন টেমপ্লেট পরিকল্পনা করুন

একটি অটোমেশন তৈরি করার সময়, একজন ব্যক্তি যে সমস্যাটি সমাধান করার চেষ্টা করছেন এবং সমস্যাটি সমাধানের জন্য অটোমেশন কী করবে তা নিয়ে চিন্তা করে শুরু করেন। এর মধ্যে নিম্নলিখিত বিবেচনাগুলি অন্তর্ভুক্ত রয়েছে:

  • আপনি কোন ডিভাইসগুলি স্বয়ংক্রিয় করতে চান।
  • কোন স্টার্টার (বা ইভেন্ট) অটোমেশনের কার্যকরকরণকে ট্রিগার করবে?
  • অটোমেশন চালু হওয়ার পরে এটি চালু হবে কিনা তা নিয়ন্ত্রণ করার জন্য কোন অতিরিক্ত শর্তগুলি, যদি থাকে, তা নির্ধারণ করে।
  • কি কি কাজ সম্পাদন করতে হবে।

এই কোডল্যাবের উদ্দেশ্যে, আপনার অটোমেশন দুটি কাজ করবে:

  1. একটি নির্দিষ্ট সময়ে আলো জ্বালান।
  2. নির্দিষ্ট সময়ে একই আলো নিভিয়ে দিন।

এটি মাথায় রেখে, আপনি টেমপ্লেট সম্পাদক খুলতে এবং অটোমেশন লিখতে প্রস্তুত।

৪. অটোমেশন টেমপ্লেটটি লিখুন

YAML ডেটা-সিরিয়ালাইজেশন ভাষা ব্যবহার করে অটোমেশনগুলি ঘোষণামূলক পদ্ধতিতে লেখা হয়।

একটি অটোমেশন টেমপ্লেটের তিনটি প্রাথমিক বিভাগ থাকে:

  1. মেটাডেটা - অটোমেশনের নাম, এটি কী করে তার বর্ণনা, এবং ঐচ্ছিকভাবে, অটোমেশনকে শ্রেণীবদ্ধ করতে ব্যবহৃত কিছু ট্যাগ। কীওয়ার্ডগুলি হল:
    • আলো এবং প্লাগ
    • জলবায়ু এবং শক্তি
    • নিরাপত্তা এবং সচেতনতা
    • বিনোদন
    • যন্ত্রপাতি এবং আরও অনেক কিছু
  2. ইনপুট - অটোমেশন কোন ধরণের ডিভাইস(গুলি) নিয়ন্ত্রণ করার উদ্দেশ্যে তৈরি তা নির্ধারণ করে। অটোমেশন ইঞ্জিন এই তথ্য ব্যবহার করে জানার জন্য যে উদ্দিষ্ট ডিভাইসগুলির জন্য কী ধরণের ক্রিয়া বৈধ।
  3. অটোমেশন নিয়ম — অটোমেশনের সূচনা যুক্তি এবং আচরণ সংজ্ঞায়িত করে।

এটি হল অটোমেশন টেমপ্লেট যা দিয়ে আপনি কাজ করবেন:

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 স্টার্টার থাকে যা অটোমেশনকে বলে দেয় যে কখন সেই অটোমেশন শুরু করতে হবে।

টেমপ্লেট সম্পাদক

অটোমেশন টেমপ্লেট এডিটর হল সেই টুল যা আপনি অটোমেশন টেমপ্লেট লেখার জন্য ব্যবহার করেন।

  1. গুগল হোম ডেভেলপার কনসোলে যান।
  2. Google Home অ্যাপে আপনার ডিভাইস যে অ্যাকাউন্ট দিয়ে সেট আপ করা আছে, সেই অ্যাকাউন্ট দিয়েই সাইন-ইন করুন।
  3. একটি বিদ্যমান প্রকল্প তৈরি করুন বা নির্বাচন করুন।
  4. অটোমেশনের অধীনে, ডেভেলপ ক্লিক করুন।
  5. একটি টেমপ্লেট তৈরি করুন ক্লিক করুন।
  6. "নির্ধারিত আলো" অটোমেশন টেমপ্লেটটি অনুলিপি করুন।
  7. "Scheduled light" অটোমেশন টেমপ্লেটটি টেমপ্লেট এডিটরে পেস্ট করুন।
  8. Validate এ ক্লিক করুন। যেকোনো ত্রুটি সমাধান করুন এবং যতক্ষণ না কোনও ত্রুটি দেখা দেয় ততক্ষণ যাচাই এবং সংশোধন করতে থাকুন।
  9. টেমপ্লেটটি সংরক্ষণ করতে সংরক্ষণ করুন এ ক্লিক করুন।

৫. টেমপ্লেটটি পরীক্ষা করুন

এখন আপনি কনসোলে টেমপ্লেটটি পরীক্ষা করতে পারেন।

  1. নিশ্চিত করুন যে আপনার আলোটি প্লাগ ইন করা আছে এবং Google Home অ্যাপে দৃশ্যমান।
  2. যদি আলো জ্বলে থাকে, তাহলে তা নিভিয়ে দিন।
  3. গুগল হোম ডেভেলপার কনসোলে যান।
  4. আপনি যেখানে আপনার টেমপ্লেট তৈরি করেছেন সেই প্রকল্পটি খুলুন।
  5. Automations নির্বাচন করুন, তারপর Test ট্যাব নির্বাচন করুন।
  6. "Scheduled light" অটোমেশন টেমপ্লেটের পাশে " Open" এ ক্লিক করুন।
  7. আপনি যে কাঠামোতে টেমপ্লেটটি পরীক্ষা করতে চান তা নির্বাচন করুন, তারপর Next এ ক্লিক করুন।
  8. InputValue এডিটরে, আপনার আলোর নাম উল্লেখ করুন। উদাহরণস্বরূপ, যদি আপনার আলোর নাম "ডেস্ক লাইট - অফিস" হয়, তাহলে আপনি lights এর ডানদিকে ক্লিক করলে প্রদর্শিত ড্রপ-ডাউন মেনু থেকে Desk light - Office নির্বাচন করতে পারেন। অথবা আপনি ডিভাইসের নাম টাইপ করতে পারেন।
  9. এছাড়াও InputValue এডিটরে, time_on সময়কে ভবিষ্যতের পাঁচ মিনিটের মতো সময় নির্দিষ্ট করুন এবং time_on কিছুক্ষণ পরে time_off সময়কে একটি সময়ে পরিবর্তন করুন।
  10. আপনার কাজ শেষ হয়ে গেলে, InputValue এডিটরটি এরকম দেখাবে:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. পরীক্ষা সক্রিয় করুন ক্লিক করুন।
  12. দুটি স্টার্টার টাইম কেটে যাওয়া পর্যন্ত অপেক্ষা করুন। নির্দিষ্ট সময়ে আলো জ্বলে উঠবে এবং তারপর নিভে যাবে।

একবার আপনি আপনার টেমপ্লেটটি সফলভাবে পরীক্ষা করার পর, আপনি বুঝতে পারবেন যে আপনার অটোমেশন কার্যকরীভাবে সুস্থ।

৬. অভিনন্দন!

আপনি সফলভাবে একটি অটোমেশন টেমপ্লেট তৈরি করেছেন। অসাধারণ!

এই কোডল্যাবে আপনি শিখেছেন কিভাবে:

  • কিভাবে একটি অটোমেশন টেমপ্লেট ডিজাইন এবং লিখবেন।
  • গুগল হোম ডেভেলপার কনসোলে এটি কীভাবে পরীক্ষা করবেন।

পরবর্তী পদক্ষেপ

এই কোডল্যাবে, আপনি একটি খুব সহজ অটোমেশন তৈরি করেছেন। অটোমেশনগুলি আলোর টগলিংয়ের সময়সূচী ছাড়াও আরও অনেক কিছু করতে পারে। এখন আপনি একটি অটোমেশন টেমপ্লেট তৈরি এবং পরীক্ষা করার মূল বিষয়গুলি বুঝতে পেরেছেন, আপনি বিভিন্ন ধরণের ডিভাইসের অটোমেশন টেমপ্লেট তৈরি করার চেষ্টা করতে পারেন, বিভিন্ন স্টার্টার, শর্ত এবং ক্রিয়া ব্যবহার করে।

আরও পড়া

গুগল হোম অটোমেশন সম্পর্কে আরও জানতে, অটোমেশন রেফারেন্স ডকুমেন্টেশনটি দেখুন: