handleQuery_State_WithData function
处理 查询门锁状态 返回的数据
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});
}