al-one / hass-xiaomi-miot

Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成
https://miot-spec.com
Apache License 2.0
4.32k stars 606 forks source link

Viomi S9 vacuum property update issue #1298

Open bfg100k opened 11 months ago

bfg100k commented 11 months ago

My device Viomi S9 vacuum aka viomi.vacuum.v18 started showing "properties value error" today. Initially I thought it was due to the version 0.7.12 update which I updated this morning. However, I've since rolled back to 0.7.11 and the error is still there. So looks like Viomi may have changed the message format?

Please see debug log below.

`2023-09-06 14:23:30.087 INFO (MainThread) [custom_components.xiaomi_miot.vacuum] Viomi S9(viomi.vacuum.v18): Got MiioException while fetching the state: Unable to discover the device 192.168.100.152, mapping: {'vacuum.status': {'siid': 2, 'piid': 1}, 'vacuum.fault': {'siid': 2, 'piid': 2}, 'vacuum.wdr_mode': {'siid': 2, 'piid': 11}, 'vacuum.door_state': {'siid': 2, 'piid': 12}, 'vacuum.mop_state': {'siid': 2, 'piid': 13}, 'vacuum-2.contact_state': {'siid': 2, 'piid': 15}, 'vacuum-2.contact_state-16': {'siid': 2, 'piid': 16}, 'vacuum.mute': {'siid': 2, 'piid': 17}, 'vacuum.sweep_type': {'siid': 2, 'piid': 4}, 'vacuum.mode': {'siid': 2, 'piid': 19}, 'point_zone.target_point': {'siid': 6, 'piid': 1}, 'viomi_vacuum.repeat_state': {'siid': 4, 'piid': 1}, 'viomi_vacuum.remember_state': {'siid': 4, 'piid': 3}, 'viomi_vacuum.mop_route': {'siid': 4, 'piid': 6}, 'viomi_vacuum.side_brush_life': {'siid': 4, 'piid': 8}, 'viomi_vacuum.side_brush_hours': {'siid': 4, 'piid': 9}, 'viomi_vacuum.main_brush_life': {'siid': 4, 'piid': 10}, 'viomi_vacuum.main_brush_hours': {'siid': 4, 'piid': 11}, 'viomi_vacuum.hypa_life': {'siid': 4, 'piid': 12}, 'viomi_vacuum.hypa_hours': {'siid': 4, 'piid': 13}, 'viomi_vacuum.mop_life': {'siid': 4, 'piid': 14}, 'viomi_vacuum.mop_hours': {'siid': 4, 'piid': 15}, 'viomi_vacuum.suction_grade': {'siid': 4, 'piid': 17}, 'viomi_vacuum.water_grade': {'siid': 4, 'piid': 18}, 'viomi_vacuum.map_num': {'siid': 4, 'piid': 23}, 'viomi_vacuum.clean_start_time': {'siid': 4, 'piid': 25}, 'viomi_vacuum.clean_use_time': {'siid': 4, 'piid': 26}, 'viomi_vacuum.clean_area': {'siid': 4, 'piid': 27}, 'viomi_vacuum.clean_map_url': {'siid': 4, 'piid': 28}, 'viomi_vacuum.clean_mode': {'siid': 4, 'piid': 29}, 'viomi_vacuum.clean_way': {'siid': 4, 'piid': 30}, 'viomi_vacuum.last_update_time': {'siid': 4, 'piid': 34}, 'viomi_vacuum.dust_collection': {'siid': 4, 'piid': 41}, 'battery_level': {'siid': 3, 'piid': 1}}, max_properties: 7/34

2023-09-06 14:23:32.051 DEBUG (SyncWorker_7) [custom_components.xiaomi_miot.core.xiaomi_cloud] Request miot api: miotspec/prop/get {'params': [{'did': '378455517', 'siid': 2, 'piid': 1}, {'did': '378455517', 'siid': 2, 'piid': 2}, {'did': '378455517', 'siid': 2, 'piid': 11}, {'did': '378455517', 'siid': 2, 'piid': 12}, {'did': '378455517', 'siid': 2, 'piid': 13}, {'did': '378455517', 'siid': 2, 'piid': 15}, {'did': '378455517', 'siid': 2, 'piid': 16}, {'did': '378455517', 'siid': 2, 'piid': 17}, {'did': '378455517', 'siid': 2, 'piid': 4}, {'did': '378455517', 'siid': 2, 'piid': 19}, {'did': '378455517', 'siid': 6, 'piid': 1}, {'did': '378455517', 'siid': 4, 'piid': 1}, {'did': '378455517', 'siid': 4, 'piid': 3}, {'did': '378455517', 'siid': 4, 'piid': 6}, {'did': '378455517', 'siid': 4, 'piid': 8}, {'did': '378455517', 'siid': 4, 'piid': 9}, {'did': '378455517', 'siid': 4, 'piid': 10}, {'did': '378455517', 'siid': 4, 'piid': 11}, {'did': '378455517', 'siid': 4, 'piid': 12}, {'did': '378455517', 'siid': 4, 'piid': 13}, {'did': '378455517', 'siid': 4, 'piid': 14}, {'did': '378455517', 'siid': 4, 'piid': 15}, {'did': '378455517', 'siid': 4, 'piid': 17}, {'did': '378455517', 'siid': 4, 'piid': 18}, {'did': '378455517', 'siid': 4, 'piid': 23}, {'did': '378455517', 'siid': 4, 'piid': 25}, {'did': '378455517', 'siid': 4, 'piid': 26}, {'did': '378455517', 'siid': 4, 'piid': 27}, {'did': '378455517', 'siid': 4, 'piid': 28}, {'did': '378455517', 'siid': 4, 'piid': 29}, {'did': '378455517', 'siid': 4, 'piid': 30}, {'did': '378455517', 'siid': 4, 'piid': 34}, {'did': '378455517', 'siid': 4, 'piid': 41}, {'did': '378455517', 'siid': 3, 'piid': 1}]} result: bytearray(b'{"code":0,"message":"ok","result":[{"did":"378455517","iid":"0.2.1","siid":2,"piid":1,"value":4,"code":0,"updateTime":1693966413,"exe_time":0},{"did":"378455517","iid":"0.2.2","siid":2,"piid":2,"value":0,"code":0,"updateTime":1693801263,"exe_time":0},{"did":"378455517","iid":"0.2.11","siid":2,"piid":11,"value":0,"code":0,"updateTime":1693806635,"exe_time":0},{"did":"378455517","iid":"0.2.12","siid":2,"piid":12,"value":3,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.2.13","siid":2,"piid":13,"value":0,"code":0,"updateTime":1693806625,"exe_time":0},{"did":"378455517","iid":"0.2.15","siid":2,"piid":15,"code":-704220043,"exe_time":0},{"did":"378455517","iid":"0.2.16","siid":2,"piid":16,"value":59,"code":0,"updateTime":1693966266,"exe_time":0},{"did":"378455517","iid":"0.2.17","siid":2,"piid":17,"value":6,"code":0,"updateTime":1691551866,"exe_time":0},{"did":"378455517","iid":"0.2.4","siid":2,"piid":4,"value":0,"code":0,"updateTime":1693963272,"exe_time":0},{"did":"378455517","iid":"0.2.19","siid":2,"piid":19,"value":2,"code":0,"updateTime":1692232470,"exe_time":0},{"did":"378455517","iid":"0.6.1","siid":6,"piid":1,"value":"0,0","code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.1","siid":4,"piid":1,"value":0,"code":0,"updateTime":1689776863,"exe_time":0},{"did":"378455517","iid":"0.4.3","siid":4,"piid":3,"value":1,"code":0,"updateTime":1691551866,"exe_time":0},{"did":"378455517","iid":"0.4.6","siid":4,"piid":6,"value":1,"code":0,"updateTime":1691551866,"exe_time":0},{"did":"378455517","iid":"0.4.8","siid":4,"piid":8,"value":61,"code":0,"updateTime":1693966430,"exe_time":0},{"did":"378455517","iid":"0.4.9","siid":4,"piid":9,"value":111,"code":0,"updateTime":1693966430,"exe_time":0},{"did":"378455517","iid":"0.4.10","siid":4,"piid":10,"code":-704220043,"exe_time":0},{"did":"378455517","iid":"0.4.11","siid":4,"piid":11,"code":-704220043,"exe_time":0},{"did":"378455517","iid":"0.4.12","siid":4,"piid":12,"code":-704220043,"exe_time":0},{"did":"378455517","iid":"0.4.13","siid":4,"piid":13,"code":-704220043,"exe_time":0},{"did":"378455517","iid":"0.4.14","siid":4,"piid":14,"value":100,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.15","siid":4,"piid":15,"value":180,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.17","siid":4,"piid":17,"value":2,"code":0,"updateTime":1692232470,"exe_time":0},{"did":"378455517","iid":"0.4.18","siid":4,"piid":18,"value":0,"code":0,"updateTime":1692148789,"exe_time":0},{"did":"378455517","iid":"0.4.23","siid":4,"piid":23,"value":0,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.25","siid":4,"piid":25,"value":0,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.26","siid":4,"piid":26,"code":-704220043,"exe_time":0},{"did":"378455517","iid":"0.4.27","siid":4,"piid":27,"code":-704220043,"exe_time":0},{"did":"378455517","iid":"0.4.28","siid":4,"piid":28,"value":"00000","code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.29","siid":4,"piid":29,"value":0,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.30","siid":4,"piid":30,"value":0,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.34","siid":4,"piid":34,"value":0,"code":0,"updateTime":1693974211,"exe_time":0,"otlocalts":1693974211680839,"oa_cost":-1,"_oa_rpc_cost":319},{"did":"378455517","iid":"0.4.41","siid":4,"piid":41,"value":1,"code":0,"updateTime":1691551866,"exe_time":0},{"did":"378455517","iid":"0.3.1","siid":3,"piid":1,"value":92,"code":0,"updateTime":1693974129,"exe_time":0}]}')

2023-09-06 14:23:32.064 DEBUG (MainThread) [custom_components.xiaomi_miot.vacuum] Viomi S9(viomi.vacuum.v18): Got new state: {'vacuum.status': 4, 'vacuum.fault': 0, 'vacuum.wdr_mode': 0, 'vacuum.door_state': 3, 'vacuum.mop_state': 0, 'vacuum-2.contact_state.error': '-704220043 Property value error', 'vacuum-2.contact_state-16': 59, 'vacuum.mute': 6, 'vacuum.sweep_type': 0, 'vacuum.mode': 2, 'point_zone.target_point': '0,0', 'viomi_vacuum.repeat_state': 0, 'viomi_vacuum.remember_state': 1, 'viomi_vacuum.mop_route': 1, 'viomi_vacuum.side_brush_life': 61, 'viomi_vacuum.side_brush_hours': 111, 'viomi_vacuum.main_brush_life.error': '-704220043 Property value error', 'viomi_vacuum.main_brush_hours.error': '-704220043 Property value error', 'viomi_vacuum.hypa_life.error': '-704220043 Property value error', 'viomi_vacuum.hypa_hours.error': '-704220043 Property value error', 'viomi_vacuum.mop_life': 100, 'viomi_vacuum.mop_hours': 180, 'viomi_vacuum.suction_grade': 2, 'viomi_vacuum.water_grade': 0, 'viomi_vacuum.map_num': 0, 'viomi_vacuum.clean_start_time': 0, 'viomi_vacuum.clean_use_time.error': '-704220043 Property value error', 'viomi_vacuum.clean_area.error': '-704220043 Property value error', 'viomi_vacuum.clean_map_url': '00000', 'viomi_vacuum.clean_mode': 0, 'viomi_vacuum.clean_way': 0, 'viomi_vacuum.last_update_time': 0, 'viomi_vacuum.dust_collection': 1, 'battery_level': 92, 'state_updater': 'cloud'}`

bfg100k commented 11 months ago

HA state info for the vacuum below. So it looks like the 3 attributes are perhaps out of range? Looking in mihome app clean_use_time is 52mins and clean_area=60m2.

vacuum-2.contact_state viomi_vacuum.clean_use_time viomi_vacuum.clean_area

fan_speed_list: Silent, Basic, Medium, Strong battery_level: 96 battery_icon: mdi:battery-charging-100 fan_speed: Medium model: viomi.vacuum.v18 entity_class: MiotVacuumEntity exclude_miot_services: order, map, voice exclude_miot_properties: direction, stream_address, restrict_points, clean_room_mode, consumable_index, clean_room_oper, clean_room_ids, cur_map_url, cur_map_id, time_zone, has_map, has_newmap, cur_lang miot_type: urn:miot-spec-v2:device:vacuum:0000A006:viomi-v18:1 vacuum.status: 4 vacuum.fault: 0 vacuum.wdr_mode: 0 vacuum.door_state: 3 vacuum.mop_state: 0 vacuum-2.contact_state.error: -704220043 Property value error vacuum-2.contact_state-16: 60 vacuum.mute: 6 vacuum.sweep_type: 0 vacuum.mode: 2 point_zone.target_point: 0,0 viomi_vacuum.repeat_state: 0 viomi_vacuum.remember_state: 1 viomi_vacuum.mop_route: 1 viomi_vacuum.side_brush_life: 60 viomi_vacuum.side_brush_hours: 108 viomi_vacuum.mop_life: 100 viomi_vacuum.mop_hours: 180 viomi_vacuum.suction_grade: 2 viomi_vacuum.water_grade: 0 viomi_vacuum.map_num: 0 viomi_vacuum.clean_start_time: 0 viomi_vacuum.clean_use_time.error: -704220043 Property value error viomi_vacuum.clean_area.error: -704220043 Property value error viomi_vacuum.clean_map_url: 00000 viomi_vacuum.clean_mode: 0 viomi_vacuum.clean_way: 0 viomi_vacuum.last_update_time: 0 viomi_vacuum.dust_collection: 1 state_updater: cloud vacuum.status_desc: Charging friendly_name: Viomi S9 Robot Cleaner supported_features: 13052 sub_entities: vacuum-2.status-1, vacuum-2.fault-2, vacuum-2.door_state-12, vacuum-2.mop_state-13, viomi_vacuum-4.side_brush_life-8, viomi_vacuum-4.side_brush_hours-9, viomi_vacuum-4.mop_life-14, viomi_vacuum-4.mop_hours-15, viomi_vacuum-4.repeat_state-1, viomi_vacuum-4.remember_state-3, viomi_vacuum-4.dust_collection-41, vacuum-2.mute-17, vacuum-2.wdr_mode-11, vacuum-2.sweep_type-4, viomi_vacuum-4.mop_route-6, viomi_vacuum-4.water_grade-18, battery-3.battery_level-1, viomi_vacuum-4.main_brush_life-10, viomi_vacuum-4.main_brush_hours-11, viomi_vacuum-4.hypa_life-12, viomi_vacuum-4.hypa_hours-13 viomi_vacuum.main_brush_life: 100 viomi_vacuum.main_brush_hours: 360 viomi_vacuum.hypa_life: 100 viomi_vacuum.hypa_hours: 180