অটোমেশন হলো বাড়ির বিভিন্ন কাজ এবং ডিভাইসের সেটিংস স্বয়ংক্রিয় করার একটি উপায়। গুগল হোম ইকোসিস্টেমে Google Home app (GHA) এর রুটিন হিসেবে এবং Google Home for web এর automation script editor মাধ্যমে অটোমেশনগুলো আগে থেকেই উপলব্ধ রয়েছে।
এখন, গুগল হোম ইকোসিস্টেমের অটোমেশনগুলো অ্যান্ড্রয়েডের জন্য হোম এপিআই (Home APIs)-এর মাধ্যমে পাওয়া যায়। এগুলোতে GHA রুটিন (GHA Routines) এবং script editor -এ ব্যবহৃত মৌলিক ধারণাগুলোই ব্যবহার করা হয়, তবে এতে এমন উন্নত বৈশিষ্ট্য ও সক্ষমতা রয়েছে যা শুধুমাত্র হোম এপিআই-এর মাধ্যমেই সম্ভব, যার মধ্যে অন্তর্ভুক্ত রয়েছে:
- হোম এপিআই-তে উপস্থাপিত Matter স্ট্যান্ডার্ড ও smart home সকল বৈশিষ্ট্য একটি ডিভাইসের জন্য ব্যবহারের সুযোগ।
- অনুক্রমিক, সমান্তরাল এবং নির্বাচিত নির্বাহ প্রবাহের জন্য সমর্থন।
অটোমেশন ডিএসএল (Automation DSL) ব্যবহার করে অটোমেশনগুলো লেখা হয়, যা কোটলিনে অটোমেশন তৈরির জন্য ডিজাইন করা একটি ডোমেইন-স্পেসিফিক ল্যাঙ্গুয়েজ।
আপনার অ্যাপে ডিভাইস ও স্ট্রাকচার অথবা অটোমেশন এপিআই-এর সাথে যে কোনো বৈশিষ্ট্য এবং প্রকার ব্যবহার করতে চাইলে, তা ইনিশিয়ালাইজেশনের সময় অবশ্যই রেজিস্টার করতে হবে। অ্যান্ড্রয়েডে হোম ইনিশিয়ালাইজ করা দেখুন।
ব্যবহারকারী সম্পূর্ণ অনুমতি প্রত্যাহার করলে নির্দেশিকা
যদি ব্যবহারকারী সম্পূর্ণ অনুমতি প্রত্যাহার করেন, তাহলে বিদ্যমান সমস্ত অটোমেশন কাজ করা বন্ধ করে দেবে। এছাড়াও, যদি ব্যবহারকারী নির্দিষ্ট ডিভাইসগুলিতে অ্যাক্সেস প্রত্যাহার করেন, তাহলে সেই ডিভাইসগুলির সাথে যুক্ত স্টার্টার, কন্ডিশন এবং অ্যাকশনগুলিও কাজ করা বন্ধ করে দেবে।
প্রতিবার অ্যাপটি চালু করার সময়, অনুমতিগুলো এখনও কার্যকর আছে কিনা তা পরীক্ষা করে দেখুন। যদি সেগুলো বাতিল করা হয়ে থাকে, তাহলে নিশ্চিত করুন যে অ্যাপ্লিকেশনে ক্যাশ করা ডেটা সহ পূর্বের সমস্ত ডেটা মুছে ফেলা হয়েছে।
ডেভেলপার যাত্রা
অটোমেশন এপিআই হলো একটি বৃহত্তর উন্নয়ন যাত্রার অংশ। স্ট্রাকচার এবং ডিভাইস এপিআই একীভূত করার পরে এটি আসে, যাতে কোনো ব্যবহারকারী যখন অটোমেশন ব্যবহার করতে চান, তখন তিনি তা করতে পারেন।
- ডেভেলপার তাদের অটোমেশনের পরিকল্পনা করেন এবং অটোমেশন ডিএসএল (Automation DSL) ব্যবহার করে তা সংজ্ঞায়িত করেন।
- ডেভেলপার একটি কোটলিন অ্যান্ড্রয়েড অ্যাপে অটোমেশন ডেফিনিশনটি এম্বেড করেন।
- অ্যাপটি ডিসকভারি এপিআই বা ডিভাইস এপিআই ব্যবহার করে সংগৃহীত ব্যবহারকারীর ডিভাইস সম্পর্কিত তথ্য, যেমন—বৈশিষ্ট্য, অ্যাট্রিবিউট, কমান্ড এবং ইভেন্টের ওপর ভিত্তি করে তাকে অটোমেশন উপস্থাপন করে।
- ডিসকভারি এপিআই-এর মাধ্যমে, অ্যাপটি ব্যবহারকারীর ইনপুট সহ বা ইনপুট ছাড়াই, ব্যবহারকারীর কাঠামোতে উপস্থিত ডিভাইসের ধরন এবং বৈশিষ্ট্য অনুযায়ী একটি খসড়া অটোমেশন তৈরি করতে পারে।
- ডিভাইস এপিআই ডিসকভারি এপিআই-এর মতোই বেশিরভাগ তথ্য সরবরাহ করতে পারে, কিন্তু এটি অটোমেশন ব্যবহারের জন্য অপ্টিমাইজ করা হয়নি। আরও বিস্তারিত জানতে ডিভাইস এপিআই এবং ডিসকভারি এপিআই-এর তুলনা দেখুন।
- অ্যাপটি নির্বাচিত কাঠামোর সাথে সংযুক্ত প্রকৃত অটোমেশনটি তৈরি করে।
- অটোমেশনটি এখন ব্যবহারকারীর স্ট্রাকচারে উপলব্ধ এবং স্ট্রাকচার এপিআই মেথড ব্যবহার করে এটি চালানো বা মুছে ফেলা যাবে।
ব্যবহারকারী যেকোনো সময় অটোমেশনটির নতুন ইনস্ট্যান্স তৈরি করতে পারেন, সেক্ষেত্রে তিনি একটি ভিন্ন কাঠামো অথবা, অ্যাপের লজিক অনুযায়ী, হয়তো ভিন্ন কোনো ডিভাইস সেট নির্বাচন করতে পারেন। প্রতিবার এমনটি করার ফলে, অ্যাপটি অটোমেশনটির একটি নতুন ইনস্ট্যান্স তৈরি করে।
সবচেয়ে সাধারণ পরিস্থিতিতে, আপনি আপনার ব্যবহারকারীদের একটি পূর্বনির্ধারিত অটোমেশনের পরামর্শ দিতে পারেন যা তুলনামূলকভাবে একটি সাধারণ কাজ সম্পাদন করে। বিকল্পভাবে, আপনি একটি অটোমেশনের প্রাথমিক কাঠামো উপস্থাপন করতে পারেন যা ব্যবহারকারী তার প্রয়োজন অনুযায়ী সাজিয়ে নিতে পারে। অথবা আপনি একটি উন্মুক্ত অটোমেশন এডিটর লিখতে পারেন যা ব্যবহারকারীকে অটোমেশন এপিআই-তে উপলব্ধ সমস্ত উপাদান ব্যবহার করে জটিল অটোমেশন তৈরি করার সুযোগ দেয়।
স্বয়ংক্রিয়করণের পরামর্শ
হোম এপিআইগুলো কোনো স্পেসে উপস্থিত ডিভাইসের ধরনের মতো বিষয়ের ওপর ভিত্তি করে একটি Structure জন্য অটোমেশনের পরামর্শ দিতে পারে।
অটোমেশন সাজেশনগুলো AutomationSuggestion ক্লাস দ্বারা প্রকাশ করা হয়।
Structure ইন্টারফেসের মধ্যে HasSuggestions ইন্টারফেসটি অন্তর্ভুক্ত, যা suggestions() ফাংশনটি প্রদান করে, এবং এই ফাংশনটি অটোমেশন সাজেশনের একটি সংগ্রহ রিটার্ন করে।
সম্পদের সীমাবদ্ধতা
হোম এপিআই-এর অটোমেশনগুলির ক্ষেত্রে নিম্নলিখিত সীমাবদ্ধতাগুলি প্রযোজ্য:
| মেট্রিক | সীমা |
|---|---|
| প্রতি কাঠামোতে অটোমেশনের সর্বোচ্চ সংখ্যা | ৬৪ |
| প্রতি অটোমেশনে নোডের সর্বোচ্চ সংখ্যা | ১২৮ |
| প্রতি অটোমেশনে এক্সপ্রেশন নোডের সর্বোচ্চ সংখ্যা | ৬৪ |
| প্রতি কাঠামোতে অটোমেশন ইনস্ট্যান্সের সর্বোচ্চ সংখ্যা | ১০২৪ |
| প্রতি স্ট্রাকচারে প্রতি ডেভেলপারের জন্য অটোমেশন ইনস্ট্যান্সের সর্বোচ্চ সংখ্যা | ৬৪ |
| প্রতিদিন প্রতি কাঠামোতে সর্বোচ্চ সংখ্যক মৃত্যুদণ্ড কার্যকর করা | ১০২৪ |
| প্রতিদিন প্রতি স্ট্রাকচারে প্রতি ডেভেলপারের সর্বোচ্চ এক্সিকিউশন সংখ্যা | ১২৮ |