handleQuery_State_WithData function

void handleQuery_State_WithData(
  1. List<int> value
)

处理 查询门锁状态 返回的数据

Implementation

void handleQuery_State_WithData(List<int> value) async {
  // 0xFE 0x0f LEN VALUE ERR_CODE checksum
  String cmdName = '查询门锁状态';
  // 获取有效数据的长度
  int len = value[2];

  //获取解密后的有效数据
  List<int> dataDecrypt = await decryptTemp(value);

  // ERR_CODE为0x00时表示创建用户成功,为其他字段时则表示创建用户失败,其中为0X0B时表示用户已经重复
  int ERR_CODE = dataDecrypt[len - 1];
  if (ERR_CODE != 0) {
    print('$cmdName,失败,错误码:$ERR_CODE');
    ZygBluetoothTool.cmdMsgHandle('$cmdName,指令执行失败,错误码:$ERR_CODE',
        {'cmd': cmdName, 'ERR_CODE': ERR_CODE});
    return;
  }

  //  1)VALUE为锁的状态,
  // A.0x00:已锁门
  // B.0x01:已开门
  // C.0x02:正在忙
  // D.0x03:门为锁死状态,连接5次开门失败,锁会进入锁死状态,持续3分钟
  int VALUE = dataDecrypt[0];
  String stateStr = LockStateName.getStateName(VALUE);
  print('$cmdName,成功');

  ZygBluetoothTool.cmdMsgHandle(
      '$cmdName,指令执行成功,锁的状态:$stateStr', {'cmd': cmdName, 'state': stateStr});
}