راهنمای آب‌پاش خانه هوشمند

action.devices.types.SPRINKLER - آب‌پاش‌ها می‌توانند شروع و متوقف شوند (یا روشن و خاموش شوند). آن‌ها همچنین ممکن است از تایمر و/یا برنامه زمانی پشتیبانی کنند.

این نوع نشان می‌دهد که دستگاه نماد آب‌پاش و برخی مترادف‌ها و نام‌های مستعار مرتبط را دریافت می‌کند.

قابلیت‌های دستگاه

برای جزئیات پیاده‌سازی، مانند ویژگی‌ها و حالت‌هایی که سرویس شما باید پشتیبانی کند، و نحوه ساخت پاسخ‌های EXECUTE و QUERY، به مستندات مربوط به ویژگی‌ها مراجعه کنید.

صفات مورد نیاز

این ویژگی‌ها و دستورات، در صورت وجود برای دستگاه شما، الزامی هستند. اگر دستگاه شما از این ویژگی‌ها پشتیبانی نمی‌کند، کد خطای functionNotSupported را در یک پاسخ QUERY یا EXECUTE وارد کنید. برای اطلاعات بیشتر به بخش خطاها و استثنائات مراجعه کنید.

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

دستگاه نمونه: آب‌پاش ساده

این بخش شامل نمونه‌هایی از payloadهای intent است که نشان‌دهنده‌ی یک "آب‌پاش" رایج بر اساس نوع دستگاه و ویژگی‌های بالا هستند. اگر ویژگی‌هایی را در پیاده‌سازی خود اضافه یا حذف می‌کنید، پاسخ‌های خود را متناسب با آن تغییرات تغییر دهید.

نمونه پاسخ SYNC

درخواست
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.SPRINKLER",
        "traits": [
          "action.devices.traits.Timer",
          "action.devices.traits.StartStop"
        ],
        "name": {
          "name": "Simple sprinkler"
        },
        "willReportState": true,
        "attributes": {
          "availableZones": [
            "front",
            "back"
          ],
          "maxTimerLimitSec": 3600
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

نمونه پاسخ QUERY

درخواست
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "isRunning": true,
        "activeZones": [
          "front"
        ],
        "timerRemainingSec": 300
      }
    }
  }
}

نمونه دستورات اجرایی

تایمر شروع

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerStart",
                "params": {
                  "timerTimeSec": 300
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300
        }
      }
    ]
  }
}

تنظیم تایمر

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerAdjust",
                "params": {
                  "timerTimeSec": -10
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 290
        }
      }
    ]
  }
}

تایمرمکث

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654522",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerPause"
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654522",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300,
          "timerPaused": true
        }
      }
    ]
  }
}

تایمر رزومه

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654524",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerResume"
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654524",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300,
          "timerPaused": false
        }
      }
    ]
  }
}

تایمرلغو

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654526",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerCancel"
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654526",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": -1
        }
      }
    ]
  }
}

شروع/توقف

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.StartStop مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.StartStop",
                "params": {
                  "start": true,
                  "zone": "back"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isRunning": true,
          "activeZones": [
            "back"
          ]
        }
      }
    ]
  }
}

خطاهای دستگاه

لیست کامل خطاها و استثنائات را مشاهده کنید.

راهنمای آب‌پاش خانه هوشمند

action.devices.types.SPRINKLER - آب‌پاش‌ها می‌توانند شروع و متوقف شوند (یا روشن و خاموش شوند). آن‌ها همچنین ممکن است از تایمر و/یا برنامه زمانی پشتیبانی کنند.

این نوع نشان می‌دهد که دستگاه نماد آب‌پاش و برخی مترادف‌ها و نام‌های مستعار مرتبط را دریافت می‌کند.

قابلیت‌های دستگاه

برای جزئیات پیاده‌سازی، مانند ویژگی‌ها و حالت‌هایی که سرویس شما باید پشتیبانی کند، و نحوه ساخت پاسخ‌های EXECUTE و QUERY، به مستندات مربوط به ویژگی‌ها مراجعه کنید.

صفات مورد نیاز

این ویژگی‌ها و دستورات، در صورت وجود برای دستگاه شما، الزامی هستند. اگر دستگاه شما از این ویژگی‌ها پشتیبانی نمی‌کند، کد خطای functionNotSupported را در یک پاسخ QUERY یا EXECUTE وارد کنید. برای اطلاعات بیشتر به بخش خطاها و استثنائات مراجعه کنید.

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

دستگاه نمونه: آب‌پاش ساده

این بخش شامل نمونه‌هایی از payloadهای intent است که نشان‌دهنده‌ی یک "آب‌پاش" رایج بر اساس نوع دستگاه و ویژگی‌های بالا هستند. اگر ویژگی‌هایی را در پیاده‌سازی خود اضافه یا حذف می‌کنید، پاسخ‌های خود را متناسب با آن تغییرات تغییر دهید.

نمونه پاسخ SYNC

درخواست
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.SPRINKLER",
        "traits": [
          "action.devices.traits.Timer",
          "action.devices.traits.StartStop"
        ],
        "name": {
          "name": "Simple sprinkler"
        },
        "willReportState": true,
        "attributes": {
          "availableZones": [
            "front",
            "back"
          ],
          "maxTimerLimitSec": 3600
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

نمونه پاسخ QUERY

درخواست
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true,
        "isRunning": true,
        "activeZones": [
          "front"
        ],
        "timerRemainingSec": 300
      }
    }
  }
}

نمونه دستورات اجرایی

تایمر شروع

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerStart",
                "params": {
                  "timerTimeSec": 300
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300
        }
      }
    ]
  }
}

تنظیم تایمر

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654520",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerAdjust",
                "params": {
                  "timerTimeSec": -10
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654520",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 290
        }
      }
    ]
  }
}

تایمرمکث

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654522",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerPause"
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654522",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300,
          "timerPaused": true
        }
      }
    ]
  }
}

تایمر رزومه

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654524",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerResume"
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654524",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": 300,
          "timerPaused": false
        }
      }
    ]
  }
}

تایمرلغو

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.Timer مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654526",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.TimerCancel"
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654526",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "timerRemainingSec": -1
        }
      }
    ]
  }
}

شروع/توقف

برای جزئیات بیشتر در مورد پارامترهای دستور، به مرجع action.devices.traits.StartStop مراجعه کنید.

درخواست
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.StartStop",
                "params": {
                  "start": true,
                  "zone": "back"
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
پاسخ
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isRunning": true,
          "activeZones": [
            "back"
          ]
        }
      }
    ]
  }
}

خطاهای دستگاه

لیست کامل خطاها و استثنائات را مشاهده کنید.