نمای کلی API اتوماسیون

اتوماسیون راهی برای خودکارسازی وظایف و تنظیمات دستگاه در خانه است. اتوماسیون ها در اکوسیستم Google Home به عنوان روال در Google Home app (GHA) و از طریق automation script editor در Google Home for web در دسترس بوده است.

اکنون، اتوماسیون‌ها در اکوسیستم Google Home از طریق APIهای Home در دسترس هستند. آنها از همان مفاهیم اولیه مورد استفاده در روال GHA و script editor استفاده می کنند، اما با ویژگی ها و قابلیت های پیشرفته فقط از طریق API های Home، از جمله:

  • دسترسی به همه ویژگی‌های استاندارد Matter و smart home برای یک دستگاه، همانطور که در Home API ارائه شده است.
  • پشتیبانی از جریان های اجرای متوالی، موازی و انتخابی.

اتوماسیون ها با استفاده از Automation DSL، یک زبان دامنه خاص که برای اتوماسیون های ساختمانی در Kotlin طراحی شده است، نوشته می شوند.

هر گونه ویژگی و انواعی که قصد دارید در برنامه خود با APIهای Device & Structure یا Automation استفاده کنید باید در زمان اولیه ثبت شوند. به Initialize the home مراجعه کنید.

سفر توسعه دهنده

Automation API بخشی از یک سفر توسعه بزرگتر است. پس از ادغام ساختار و API های دستگاه می آید تا اطمینان حاصل شود که وقتی کاربر می خواهد از اتوماسیون استفاده کند، می تواند این کار را انجام دهد.

  1. توسعه دهنده اتوماسیون خود را برنامه ریزی می کند و آن را با استفاده از Automation DSL تعریف می کند.
  2. توسعه دهنده تعریف اتوماسیون را در برنامه اندروید Kotlin تعبیه می کند.
  3. این برنامه بر اساس اطلاعات مربوط به دستگاه‌های کاربر، از جمله ویژگی‌ها، ویژگی‌ها، دستورات و رویدادها، که با استفاده از Discovery API یا Device API جمع‌آوری شده است، خودکارسازی‌ها را به کاربر ارائه می‌کند.
    1. با Discovery API، این برنامه می‌تواند خودکارسازی پیش‌نویس سفارشی‌سازی شده برای انواع دستگاه و ویژگی‌های موجود در ساختار کاربر، با یا بدون ورودی کاربر ایجاد کند.
    2. Device API می تواند بیشتر اطلاعات مشابه Discovery API را ارائه دهد، اما برای موارد استفاده از اتوماسیون بهینه نشده است. برای جزئیات بیشتر به مقایسه Device API و Discovery API مراجعه کنید.
  4. برنامه اتوماسیون واقعی را ایجاد می کند که در ساختار انتخاب شده کلید خورده است.
  5. اتوماسیون در حال حاضر در ساختار کاربر موجود است و می تواند با استفاده از روش های Structure API اجرا یا حذف شود.

کاربر ممکن است در هر زمان نمونه‌های جدیدی از اتوماسیون ایجاد کند، ساختاری متفاوت یا بسته به منطق برنامه، شاید مجموعه‌ای از دستگاه‌های متفاوت را انتخاب کند. هر بار که آنها این کار را انجام می دهند، برنامه یک نمونه جدید از اتوماسیون تولید می کند.

در ابتدایی ترین سناریو، ممکن است به کاربران خود یک اتوماسیون از پیش تعریف شده را پیشنهاد دهید که یک کار نسبتاً اساسی را انجام می دهد. از طرف دیگر، می توانید اسکلت یک اتوماسیون را ارائه دهید که کاربر برای برآورده کردن نیازهای خود آن را سفارشی می کند. یا می توانید یک ویرایشگر اتوماسیون با پایان باز بنویسید که به کاربر اجازه می دهد تا با استفاده از تمام بلوک های ساختمان موجود در Automation API، اتوماسیون های پیچیده بسازد.

محدودیت منابع

محدودیت های زیر برای اتوماسیون ها در Home API اعمال می شود:

جدول: محدودیت های منابع API اتوماسیون
متریک محدود کنید
حداکثر تعداد اتوماسیون در هر سازه 64
حداکثر تعداد گره در هر اتوماسیون 128
حداکثر تعداد گره های بیان در هر اتوماسیون 64
حداکثر تعداد نمونه های اتوماسیون در هر ساختار 1024
حداکثر تعداد نمونه های اتوماسیون به ازای هر توسعه دهنده در هر ساختار 64
حداکثر تعداد اعدام در هر ساختار در روز 1024
حداکثر تعداد اجرا برای هر توسعه دهنده در هر ساختار در روز 128