setAlarmZone method

Future<bool> setAlarmZone(
  1. int command,
  2. int pd_reign0,
  3. int pd_reign1,
  4. int pd_reign2,
  5. int pd_reign3,
  6. int pd_reign4,
  7. int pd_reign5,
  8. int pd_reign6,
  9. int pd_reign7,
  10. int pd_reign8,
  11. int pd_reign9,
  12. int pd_reign10,
  13. int pd_reign11,
  14. int pd_reign12,
  15. int pd_reign13,
  16. int pd_reign14,
  17. int pd_reign15,
  18. int pd_reign16,
  19. int pd_reign17, {
  20. int timeout = 5,
})

设置绘制区域 command ===1 /移动侦测区域 command ===3 /人形侦测区域

Implementation

Future<bool> setAlarmZone(
    int command,
    int pd_reign0,
    int pd_reign1,
    int pd_reign2,
    int pd_reign3,
    int pd_reign4,
    int pd_reign5,
    int pd_reign6,
    int pd_reign7,
    int pd_reign8,
    int pd_reign9,
    int pd_reign10,
    int pd_reign11,
    int pd_reign12,
    int pd_reign13,
    int pd_reign14,
    int pd_reign15,
    int pd_reign16,
    int pd_reign17,
    {int timeout = 5}) async {
  bool ret = await writeCgi(
      "trans_cmd_string.cgi?cmd=2123&command=$command&pd_reign0=$pd_reign0&pd_reign1=$pd_reign1&pd_reign2=$pd_reign2&pd_reign3=$pd_reign3&pd_reign4=$pd_reign4&pd_reign5=$pd_reign5&pd_reign6=$pd_reign6&pd_reign7=$pd_reign7&pd_reign8=$pd_reign8&pd_reign9=$pd_reign9&pd_reign10=$pd_reign10&pd_reign11=$pd_reign11&pd_reign12=$pd_reign12&pd_reign13=$pd_reign13&pd_reign14=$pd_reign14&pd_reign15=$pd_reign15&pd_reign16=$pd_reign16&pd_reign17=$pd_reign17&",
      timeout: timeout);
  if (ret) {
    CommandResult result = await waitCommandResult((int cmd, Uint8List data) {
      if (cmd == 24785) {
        String str = utf8.decode(data);
        return str.contains("cmd=2126;") && str.contains("command=0;");
      }
      return false;
    }, timeout);
    if (result.isSuccess) {
      Map data = result.getMap();
      if (data["result"] == "0") {
        return true;
      }
    }
  }
  return false;
}