controlSiren method

Future<bool> controlSiren(
  1. bool siren, {
  2. int timeout = 5,
})

Implementation

Future<bool> controlSiren(bool siren, {int timeout = 5}) async {
  print(
      "-----------controlSiren--------siren-$siren----_command-$_command---------");
  bool ret = await _command.writeCgi(
      "trans_cmd_string.cgi?cmd=2109&command=0&siren=${siren == true ? 1 : 0}&",
      timeout: timeout);
  print("-----------ret--------$ret---------");
  if (ret) {
    CommandResult result =
        await _command.waitCommandResult((int cmd, Uint8List data) {
      if (cmd == 24785) {
        String str = utf8.decode(data);
        return str.contains("cmd=2109;") && str.contains("command=0;");
      }
      return false;
    }, timeout);
    if (result.isSuccess == true) {
      Map data = result.getMap();
      if (data["result"] == "0") sirenSwitch = data["sirenStatus"] == "1";
      return data["result"] == "0";
    }
  }
  return false;
}