make-all / tuya-local

Local support for Tuya devices in Home Assistant
MIT License
1.38k stars 530 forks source link

Request support for O'TU R1O1 #2190

Closed inode- closed 2 months ago

inode- commented 3 months ago

Log message

Device matches None with quality of 0%. DPS: {"updated_at": 1723186902.2375538, "9": "high", "12": 157, "21": "wrong_finger"} ```text 2024-08-09 09:01:26.936 DEBUG (SyncWorker_20) [custom_components.tuya_local.config_flow] update_token 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found device: {'category': 'wg2', 'id': 'bff8d4e57a8d5e44d5rs55', 'ip': 'x.y.x.z', 'local_key': "XXXXXXXXXXX", 'name': 'GW002', 'node_id': '', 'online': True, 'product_id': 'harherwxralgjabo', 'product_name': 'GW002', 'uid': 'eu170566063406946yTb', 'uuid': 'c50fd166f6f5ed44', 'support_local': True, 'device_cid': None, 'version': None} 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Adding device: bff8d4e57a8d5e44d5rs55 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found device: {'category': 'dj', 'id': 'bf280b87ee6ad5ac845pfl', 'ip': '', 'local_key': "XXXXXXXXXXX", 'name': 'Luce_lore', 'node_id': 'a4c1384c4dc90a01', 'online': True, 'product_id': 'uos3hl9x', 'product_name': 'ZS-TY-CXD', 'uid': 'eu170566063406946yTb', 'uuid': 'a4c1384c4dc90a01', 'support_local': True, 'device_cid': None, 'version': None} 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Adding device: bf280b87ee6ad5ac845pfl 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found device: {'category': 'dj', 'id': 'bf27d0fa60c90863e6jaab', 'ip': '', 'local_key': "XXXXXXXXXXX", 'name': 'Luce_ingresso', 'node_id': 'a4c13826338c1ebe', 'online': True, 'product_id': 'uos3hl9x', 'product_name': 'ZS-TY-CXD', 'uid': 'eu170566063406946yTb', 'uuid': 'a4c13826338c1ebe', 'support_local': True, 'device_cid': None, 'version': None} 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Adding device: bf27d0fa60c90863e6jaab 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found device: {'category': 'dj', 'id': 'bfed75f8e14db47b43nukk', 'ip': '', 'local_key': "XXXXXXXXXXX", 'name': 'Luce_assicuratore', 'node_id': 'a4c1388f07d89888', 'online': True, 'product_id': 'uos3hl9x', 'product_name': 'ZS-TY-CXD', 'uid': 'eu170566063406946yTb', 'uuid': 'a4c1388f07d89888', 'support_local': True, 'device_cid': None, 'version': None} 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Adding device: bfed75f8e14db47b43nukk 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found device: {'category': 'dj', 'id': 'bf2174ba1ed5b82f305ooh', 'ip': '', 'local_key': "XXXXXXXXXXX", 'name': 'Luce_stampante', 'node_id': 'a4c13865f47be9e9', 'online': True, 'product_id': 'uos3hl9x', 'product_name': 'ZS-TY-CXD', 'uid': 'eu170566063406946yTb', 'uuid': 'a4c13865f47be9e9', 'support_local': True, 'device_cid': None, 'version': None} 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Device is already registered. 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found device: {'category': 'wg2', 'id': 'bf637f424161541bd3xzix', 'ip': '79.24.212.21', 'local_key': '', 'name': 'Wireless Bluetooth gateway', 'node_id': '0010', 'online': True, 'product_id': 'mzxmuvrg', 'product_name': 'Wireless Bluetooth gateway', 'uid': 'eu170566063406946yTb', 'uuid': '18c8683e82c635bd', 'support_local': True, 'device_cid': None, 'version': None} 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Adding device: bf637f424161541bd3xzix 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found device: {'category': 'ms', 'id': 'bfcb605b1868a8cb16amgr', 'ip': '', 'local_key': 'XXXXXXXXXXX', 'name': "O'TU R1O1", 'node_id': 'e27c8029e81880a8', 'online': True, 'product_id': 'jqpmkfj7', 'product_name': "O'TU R1O1", 'uid': 'eu170566063406946yTb', 'uuid': 'e27c8029e81880a8', 'support_local': True, 'device_cid': None, 'version': None} 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Adding device: bfcb605b1868a8cb16amgr 2024-08-09 09:01:28.327 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Device count: 5 2024-08-09 09:01:28.328 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Hub count: 2 2024-08-09 09:01:33.974 DEBUG (MainThread) [custom_components.tuya_local.device] Desk Lamp received {"1": false, "2": "white", "3": 200, "4": 500, "full_poll": true} 2024-08-09 09:01:35.068 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Scanning network to get IP address for bf637f424161541bd3xzix. 2024-08-09 09:01:38.279 DEBUG (MainThread) [custom_components.tuya_local.config_flow] Found: {'ip': '192.168.1.200', 'version': '3.4', 'id': 'bf637f424161541bd3xzix', 'product_id': 'key7mn9kc48xep73', 'data': {'ip': '192.168.1.200', 'gwId': 'bf637f424161541bd3xzix', 'active': 2, 'encrypt': True, 'productKey': 'key7mn9kc48xep73', 'version': '3.4', 'lan_cap': 500, 'lan_seq': 0, 'lan_ablilty': 1, 'token': True, 'wf_cfg': True, 'clientLink': 3, 'name': '', 'key': '', 'mac': '', 'id': 'bf637f424161541bd3xzix', 'ability': 0, 'dev_type': 'default', 'origin': 'broadcast'}} 2024-08-09 09:01:42.169 DEBUG (MainThread) [custom_components.tuya_local.device] Refreshing device state for Test 2024-08-09 09:01:42.169 INFO (MainThread) [custom_components.tuya_local.device] Setting protocol version for Test to 3.4 2024-08-09 09:01:42.237 DEBUG (SyncWorker_32) [custom_components.tuya_local.device] Test refreshed device state: {"dps": {"9": "high", "12": 157, "21": "wrong_finger"}, "cid": "e27c8029e81880a8", "device": "Non-JSON: (Device( 'bf637f424161541bd3xzix', address=None, local_key='', dev_type='default', connection_timeout=5, version=3.4, persist=False, cid='e27c8029e81880a8', parent='bf637f424161541bd3xzix', children={} ))"} 2024-08-09 09:01:42.237 DEBUG (SyncWorker_32) [custom_components.tuya_local.device] new state (incl pending): {"updated_at": 1723186902.2375538, "9": "high", "12": 157, "21": "wrong_finger"} 2024-08-09 09:01:42.261 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config 9in1_airquality_monitor.yaml 2024-08-09 09:01:42.261 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Air Quality, missing required DPs: [{'1': 'str'}, {'2': 'int'}, {'3': 'int'}, {'4': 'int'}, {'102': 'int'}, {'5': 'int'}, {'6': 'int'}, {'7': 'int'}, {'22': 'int'}, {'23': 'bool'}, {'28': 'str'}] 2024-08-09 09:01:42.261 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Air Quality, DPs have incorrect type: [{'9': 'int'}] 2024-08-09 09:01:42.269 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config AlecoAir_D25_Traditio.yaml 2024-08-09 09:01:42.269 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Dehumidifier, missing required DPs: [{'1': 'bool'}, {'2': 'int'}, {'5': 'str'}, {'6': 'int'}, {'19': 'int'}, {'1': 'bool'}, {'4': 'str'}, {'8': 'bool'}, {'10': 'bool'}, {'13': 'bool'}, {'19': 'int'}, {'16': 'bool'}, {'17': 'str'}] [...] 2024-08-09 09:01:47.797 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config zx_gs21_gasmonitor.yaml 2024-08-09 09:01:47.798 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Gas leak detector, missing required DPs: [{'2': 'int'}, {'1': 'str'}, {'7': 'int'}, {'8': 'bool'}, {'10': 'bool'}, {'16': 'bool'}, {'18': 'str'}, {'19': 'int'}, {'18': 'str'}] 2024-08-09 09:01:47.798 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for Gas leak detector, DPs have incorrect type: [{'12': 'bool'}] 2024-08-09 09:01:47.805 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config zym100_presence_sensor.yaml 2024-08-09 09:01:47.805 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, missing required DPs: [{'1': 'str'}, {'2': 'int'}, {'3': 'int'}, {'4': 'int'}, {'101': 'int'}, {'102': 'int'}, {'104': 'int'}] 2024-08-09 09:01:47.805 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, DPs have incorrect type: [{'9': 'int'}] 2024-08-09 09:01:47.812 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config zym100w_presence_sensor.yaml 2024-08-09 09:01:47.812 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, missing required DPs: [{'1': 'str'}, {'1': 'str'}, {'3': 'int'}, {'4': 'int'}, {'103': 'int'}, {'104': 'str'}, {'105': 'int'}] 2024-08-09 09:01:47.812 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, DPs have incorrect type: [{'9': 'int'}] 2024-08-09 09:01:47.819 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Loaded device config zym201_presence_sensor.yaml 2024-08-09 09:01:47.819 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, missing required DPs: [{'101': 'str'}, {'1': 'str'}, {'4': 'int'}, {'102': 'int'}, {'104': 'int'}] 2024-08-09 09:01:47.819 DEBUG (MainThread) [custom_components.tuya_local.helpers.device_config] Not match for mmWave presence sensor, DPs have incorrect type: [{'9': 'int'}] 2024-08-09 09:01:47.825 WARNING (MainThread) [custom_components.tuya_local.config_flow] Include the previous log message with any new device request to https://github.com/make-all/tuya-local/issues/ ```

DPS information

{
  "result": {
    "model": "{\"modelId\":\"000004t22a\",\"services\":[{\"actions\":[],\"code\":\"\",\"description\":\"\",\"events\":[],\"name\":\"默认服务\",\"properties\":[
{\"abilityId\":1,\"accessMode\":\"rw\",\"code\":\"unlock_method_create\",\"description\":\"【必选】App蓝牙近距离连接门锁后,进行开门方式的创建操作,支持指纹、密码、卡等方式的创建\",\"name\":\"添加开门方式\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":2,\"accessMode\":\"rw\",\"code\":\"unlock_method_delete\",\"description\":\"【必选】App蓝牙近距离连接门锁后,进行开门方式的删除操作,支持指纹、密码、卡等方式的删除\",\"name\":\"删除开门方式\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":3,\"accessMode\":\"rw\",\"code\":\"unlock_method_modify\",\"description\":\"【必选】App蓝牙近距离连接门锁后,进行开门方式的修改操作,支持指纹、密码、卡等方式的修改\",\"name\":\"修改开门方式\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":6,\"accessMode\":\"rw\",\"code\":\"bluetooth_unlock\",\"description\":\"【可选】App近距离连接后,进行解锁\",\"name\":\"蓝牙解锁\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":7,\"accessMode\":\"ro\",\"code\":\"bluetooth_unlock_fb\",\"description\":\"【可选】门锁接收到app的蓝牙开锁指令后,进行反馈\",\"name\":\"蓝牙解锁反馈\",\"typeSpec\":{\"type\":\"bool\"}},
{\"abilityId\":9,\"accessMode\":\"ro\",\"code\":\"battery_state\",\"description\":\"【可选,但必须二选一】电量状态与电量值,二选一\",\"name\":\"电池电量状态\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"high\",\"medium\",\"low\",\"poweroff\"]}},
{\"abilityId\":12,\"accessMode\":\"ro\",\"code\":\"unlock_fingerprint\",\"description\":\"【可选】指纹在门锁上录入,录入完成后由硬件分配id,发生指纹解锁后,门锁将上报该dp点。请用记录型上报\",\"name\":\"指纹解锁\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":13,\"accessMode\":\"ro\",\"code\":\"unlock_password\",\"description\":\"【可选】普通密码在门锁上录入,录入完成后由硬件分配id,发生普通密码解锁后,门锁将上报该dp点。普通密码指在门锁硬件上创建的密码,不包含通过app创建的临时密码。请用记录型上报\",\"extensions\":{\"iconName\":\"icon-dp_lock\",\"attribute\":\"1280\",\"trigger\":\"direct\"},\"name\":\"普通密码解锁\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":14,\"accessMode\":\"ro\",\"code\":\"unlock_dynamic\",\"description\":\"【可选】普通密码在门锁上录入,录入完成后由硬件分配id,发生普通密码解锁后,门锁将上报该dp点。普通密码指在门锁硬件上创建的密码,不包含通过app创建的临时密码。请用记录型上报\",\"extensions\":{\"iconName\":\"icon-shoushimima\",\"attribute\":\"1280\",\"trigger\":\"direct\"},\"name\":\"动态密码解锁\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":15,\"accessMode\":\"ro\",\"code\":\"unlock_card\",\"description\":\"【可选】卡片在门锁上录入,录入完成后由硬件分配id,发生卡片解锁后,门锁将上报该dp点。请用记录型上报\",\"extensions\":{\"iconName\":\"icon-dp_lock\",\"attribute\":\"1280\",\"trigger\":\"direct\"},\"name\":\"卡片解锁\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":19,\"accessMode\":\"ro\",\"code\":\"unlock_ble\",\"description\":\"【可选】请用记录型上报成功上报:成员+蓝牙开门+时间(开门记录)\",\"name\":\"蓝牙解锁记录\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":21,\"accessMode\":\"ro\",\"code\":\"alarm_lock\",\"description\":\"【可选】0=指纹试错报警、1=密码试错报警、2=卡试错报警、3=人脸试错报警、4=假锁(锁舌卡住)、5=高温报警、6=超时未关门、7=电子锁舌未弹出、8=防撬报警 、9=钥匙插入、10=低电报警、11=电量耗尽报警、12=震动报警。低电暂时保留使用单独的dp点的设计,如果使用了本dp点中的低电报警值,就不要使用11dp点\",\"name\":\"门锁告警\",\"typeSpec\":{\"type\":\"enum\",\"range\":[\"wrong_finger\",\"wrong_password\",\"wrong_card\",\"wrong_face\",\"tongue_bad\",\"too_hot\",\"unclosed_time\",\"tongue_not_out\",\"pry\",\"key_in\",\"low_battery\",\"power_off\",\"shock\"]}},
{\"abilityId\":22,\"accessMode\":\"ro\",\"code\":\"hijack\",\"description\":\"【可选】该功能默认不需要硬件实现,门锁不用做劫持判断,只要在app上标记解锁id即可\",\"name\":\"劫持告警\",\"typeSpec\":{\"type\":\"bool\"}},
{\"abilityId\":35,\"accessMode\":\"rw\",\"code\":\"synch_member\",\"description\":\"【必选】下发成员,查询该成员下的所有,同步门锁下该成员的所有开门方式,\",\"name\":\"同步成员开门方式\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":44,\"accessMode\":\"rw\",\"code\":\"rtc_lock\",\"description\":\"【注意】\\n如门锁硬件支持RTC,请勾选该dp;如不支持RTC,则不要勾选;如未勾选,则默认为不支持RTC\\n\\n该dp点表示,门锁硬件是否本地带有RTC时钟,如包含RTC时钟,才能在门锁上添加有时效限制的开门方式,否则硬件上添加的开门方式都是永久有效,时效性控制只会出现在app的时效性上,由云端控制\",\"extensions\":{\"iconName\":\"icon-dp_time3\",\"attribute\":\"1024\",\"trigger\":\"direct\"},\"name\":\"硬件本地RTC时钟\",\"typeSpec\":{\"type\":\"bool\"}},
{\"abilityId\":51,\"accessMode\":\"rw\",\"code\":\"temporary_password_creat\",\"description\":\"【可选】当支持通过app向硬件上添加指定生效时间的临时密码,则选择该dp(创建、删除、修改临时密码的dp需要同步选择)\",\"extensions\":{\"iconName\":\"icon-dp_add\",\"attribute\":\"1280\"},\"name\":\"蓝牙锁临时密码添加\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":52,\"accessMode\":\"rw\",\"code\":\"temporary_password_delete\",\"description\":\"管理员有临时密码删除入口,联网连蓝牙状态下,可删除临时密码\",\"extensions\":{\"iconName\":\"icon-dp_rabbish\",\"attribute\":\"1280\"},\"name\":\"蓝牙锁临时密码删除(新)\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":53,\"accessMode\":\"rw\",\"code\":\"temporary_password_modify\",\"description\":\"管理员有临时密码编辑入口,联网连蓝牙状态下,可编辑修改临时密码\",\"extensions\":{\"iconName\":\"icon-setting\",\"attribute\":\"1280\"},\"name\":\"蓝牙锁临时密码修改\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":54,\"accessMode\":\"rw\",\"code\":\"synch_method\",\"description\":\"【具备本地电子解锁条件下 必选】当智能锁上存在物理解锁方式,包括不限于指纹、密码、卡等方式,并且可以在门锁硬件上对这些解锁方式进行操作时,需要选择该dp\\n下发同步指令,全量同步门锁下的所有开门方式(本地存储数据量较大时选用)\",\"extensions\":{\"iconName\":\"icon-dp_upload\",\"attribute\":\"1792\"},\"name\":\"同步开门方式(数据量大)\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":55,\"accessMode\":\"ro\",\"code\":\"unlock_temporary\",\"description\":\"临时密码解锁记录上报\",\"extensions\":{\"iconName\":\"icon-shoushimima\",\"attribute\":\"1280\",\"trigger\":\"direct\"},\"name\":\"临时密码解锁上报\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":60,\"accessMode\":\"rw\",\"code\":\"remote_no_pd_setkey\",\"description\":\"【不支持配件,支持音箱开门选该dp,与70&73互斥】\\n配置远程网络加密解锁是否开启,包含密钥(次数、时效、内容)\",\"extensions\":{\"iconName\":\"icon-setting\",\"attribute\":\"1152\"},\"name\":\"配置新免密远程解锁\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":61,\"accessMode\":\"rw\",\"code\":\"remote_no_dp_key\",\"description\":\"远程网络解锁动作触发,下发和上报\",\"extensions\":{\"iconName\":\"icon-dp_lock\",\"attribute\":\"1152\"},\"name\":\"新免密远程开门-带密钥\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":62,\"accessMode\":\"ro\",\"code\":\"unlock_phone_remote\",\"description\":\"上报远程手机解锁的开门记录\",\"extensions\":{\"iconName\":\"icon-shouji\",\"attribute\":\"1152\",\"trigger\":\"direct\"},\"name\":\"远程解锁\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":63,\"accessMode\":\"ro\",\"code\":\"unlock_voice_remote\",\"description\":\"上报远程语音解锁的开门记录\",\"extensions\":{\"iconName\":\"icon-dp_mic\",\"attribute\":\"1152\",\"trigger\":\"direct\"},\"name\":\"远程语音解锁\",\"typeSpec\":{\"type\":\"value\",\"max\":999,\"min\":0,\"scale\":0,\"step\":1}},
{\"abilityId\":64,\"accessMode\":\"rw\",\"code\":\"password_offline_time\",\"description\":\"离线密码时间戳下发,使用离线密码功能必选\",\"extensions\":{\"iconName\":\"icon-dp_time2\",\"attribute\":\"1280\",\"trigger\":\"direct\"},\"name\":\"离线密码T0时间下发\",\"typeSpec\":{\"type\":\"string\",\"maxlen\":255}},
{\"abilityId\":66,\"accessMode\":\"ro\",\"code\":\"unlock_offline_clear\",\"description\":\"本地使用离线密码清空所有时间段的离线密码后上报记录\",\"extensions\":{\"iconName\":\"icon-dp_upload\",\"attribute\":\"1280\"},\"name\":\"离线密码清空上报\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":67,\"accessMode\":\"ro\",\"code\":\"unlock_offline_pd\",\"description\":\"本地使用离线密码解锁后上报记录\",\"extensions\":{\"iconName\":\"icon-dp_upload\",\"attribute\":\"1280\"},\"name\":\"离线密码解锁上报\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":69,\"accessMode\":\"rw\",\"code\":\"record\",\"description\":\"用于手机端主动向门锁拉取开门记录,门锁收到这条指令进行记录推送\",\"extensions\":{\"iconName\":\"icon-dp_book\",\"attribute\":\"1152\"},\"name\":\"记录\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}},
{\"abilityId\":72,\"accessMode\":\"ro\",\"code\":\"unlock_record_check\",\"description\":\"上报具体解锁方式的开门记录,包含具体解锁方式、解锁信息、触发配件id、校验码,上报云端内容,做联动需要在分别上报各个记录\\n\",\"extensions\":{\"iconName\":\"icon-tongji2\",\"attribute\":\"1152\"},\"name\":\"开关锁记录(带校验码)\",\"typeSpec\":{\"type\":\"raw\",\"maxlen\":128}}]}]}"
  },
  "success": true,
  "t": 1723124097962,
  "tid": "0113cf13558b11efa251ced150d28e81"
}

Product ID

jqpmkfj7

Product Name

O'TU R1O1

Information about how the device functions

Tuya APP Fingerprint WIFI RFID Card Bluetooth Euro Cylinder Lock Biometric Electronic Smart Door Lock Keyless Entry for Home

ex. https://www.aliexpress.com/item/1005006594161176.html?src=google

mityacor commented 2 weeks ago

I'm trying to use lock/unlock from within home assistant and getting the following error:

`Logger: homeassistant.components.websocket_api.http.connection Source: components/websocket_api/commands.py:245 integration: Home Assistant WebSocket API (documentation, issues) First occurred: 20:57:17 (19 occurrences) Last logged: 22:47:24

[546322394720] Unexpected exception [546462553792] Unexpected exception [546305003088] Unexpected exception Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service response = await hass.services.async_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/lock/init.py", line 226, in async_handle_lock_service await self.async_lock(**self.add_default_code(kwargs)) File "/config/custom_components/tuya_local/lock.py", line 136, in async_lock raise NotImplementedError() NotImplementedError`

make-all commented 2 weeks ago

It is expected. The lock does not provide a simple lock/unlock service locally.

mityacor commented 2 weeks ago

It is expected. The lock does not provide a simple lock/unlock service locally.

Is there any way to get it implemented? I can see the following sequence in tuya device debugging, when I unlock it using the tuya app:

image

I tried to rename "Code-free Remote Unlock" DP to 'name: lock' in _devices/otu_r1o1lock.yaml, but it doesn't unlock. Tuya log for this case look like this:

image