Closed wishie closed 2 months ago
@tube0013 I'm getting diferents DPs from your Zigbee sniffs:
set_data_response(data=TuyaCommand(status=0, tsn=222, dp=107, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'^\x00\x00\x00', *payload=94)))
set_data_response(data=TuyaCommand(status=0, tsn=220, dp=108, data=TuyaData(dp_type=<TuyaDPType.BOOL: 1>, function=0, raw=b'\x00', *payload=<Bool.false: 0>)))
set_data_response(data=TuyaCommand(status=0, tsn=1, dp=101, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'2\x00\x00\x00', *payload=50)))
set_data_response(data=TuyaCommand(status=0, tsn=2, dp=101, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'(\x00\x00\x00', *payload=40)))
set_data_response(data=TuyaCommand(status=0, tsn=2, dp=101, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'(\x00\x00\x00', *payload=40)))
set_data_response(data=TuyaCommand(status=0, tsn=3, dp=110, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'd\x00\x00\x00', *payload=100)))
set_data_response(data=TuyaCommand(status=0, tsn=4, dp=101, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x1e\x00\x00\x00', *payload=30)))
set_data_response(data=TuyaCommand(status=0, tsn=5, dp=101, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x14\x00\x00\x00', *payload=20)))
set_data_response(data=TuyaCommand(status=0, tsn=6, dp=101, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\n\x00\x00\x00', *payload=10)))
set_data_response(data=TuyaCommand(status=0, tsn=7, dp=110, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'd\x00\x00\x00', *payload=100)))
set_data_response(data=TuyaCommand(status=0, tsn=8, dp=2, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0)))
set_data_response(data=TuyaCommand(status=0, tsn=9, dp=101, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0)))
set_data_response(data=TuyaCommand(status=0, tsn=10, dp=107, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'd\x00\x00\x00', *payload=100)))
I believe that a custom quirk would be needed for your device.
Getting DPs from Zigbee snifs is quite slow and laborious, so it would be easier if you could attach the device logs from HA with the debug enabled. It is also necessary to analyze the relationship between the DPs and the functionalities. It is much easier to do if, while manipulating the device, the logs are reviewed and the functionalities of each DP and its range of values are deduced. This will reduce most of the trial and error tests.
By the way, it seems that Zigbee messaging is set to False with the manufacturer_specific
flag.
Could you confirm @MattWestb that you see it that way too? (I'm refreshing what I learned in our previous adventure)
I haven't had time to review the Zigbee messaging sniff (I have to look where I have the Wireshark...), but I have a new proposal:
ts0601_valve.py I have fixed the DP3 values. Now the range must be 0-254 (same as dim values) Now the
NO_MANUFACTURER_ID
is used in Zigbee.
I will try this quirk now.
Turning the switch in HA from 'off' to 'on'
2022-05-16 16:06:56 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=light, service=turn_on, service_data=entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off>
2022-05-16 16:06:56 DEBUG (MainThread) [homeassistant.components.zha.entity] light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off: turned on: {'on_off': Default_Response(command_id=1, status=<Status.SUCCESS: 0>)}
2022-05-16 16:06:56 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=off; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:45.165582+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=3, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
Changing 'brightness' from '0' to '50' in HA
2022-05-16 16:07:45 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=light, service=turn_on, service_data=entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, brightness_pct=50>
2022-05-16 16:07:45 DEBUG (MainThread) [homeassistant.components.zha.entity] light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off: turned on: {'move_to_level_with_on_off': Default_Response(command_id=4, status=<Status.SUCCESS: 0>)}
2022-05-16 16:07:45 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=3, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=128, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
Pressing the button on the device itself (from closed to open)
2022-05-16 16:08:23 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=128, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=51, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
2022-05-16 16:08:28 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=51, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=204, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
2022-05-16 16:08:30 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=204, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=254, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
Pressing the button on the device itself (from open to close)
2022-05-16 16:09:06 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=254, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=204, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
2022-05-16 16:09:07 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=204, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=178, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
2022-05-16 16:09:09 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=178, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=127, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
2022-05-16 16:09:10 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=127, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=102, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
2022-05-16 16:09:13 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off, old_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=102, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>, new_state=<state light.tze200_arge1ptm_ts0601_bcc7f40d_level_on_off=on; supported_color_modes=[<ColorMode.BRIGHTNESS: 'brightness'>], color_mode=brightness, brightness=0, off_brightness=None, friendly_name=_TZE200_arge1ptm TS0601 bcc7f40d level, on_off, supported_features=33 @ 2022-05-16T16:06:56.720736+10:00>>
NOTE: The switch and slider in HA do not actually make the device react.
@wishie the logs from ZHA are needed to understand what can be happening here. Can you enable it and attach the logs with this part also? https://www.home-assistant.io/integrations/zha/#debug-logging
That is tail -f home-assistant.log |grep ts0601
I wasn't including the full ZHA logs and I figured it would be too 'noisy' as I have a lot of devices.
Ahhhh, I see.
Ok, but we also need the zigpy.zcl
logs from your device. They look like:
2022-05-10 22:47:00 DEBUG (MainThread) [zigpy.zcl] [0x873E:1:0xef00] tuya_mcu_command: cluster_data=TuyaClusterData(endpoint_id=1, cluster_attr='on_off', attr_value=1, expect_reply=True)
but instead of 0x873E
the id that your device has. Would it be possible to include these logs as well?
I will get these now for you.. hold on
Toggling the switch in HA from 'on' to 'off' gives:
2022-05-16 17:29:36 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0x0006] Setting the NO manufacturer id in command: 0
2022-05-16 17:29:36 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0x0006] Sending Tuya Cluster Command... Cluster Command is 0, Arguments are ()
2022-05-16 17:29:36 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] tuya_mcu_command: cluster_data=TuyaClusterData(endpoint_id=1, cluster_attr='on_off', attr_value=0, expect_reply=True, manufacturer=-1)
2022-05-16 17:29:36 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] from_cluster_data: None, None
2022-05-16 17:29:36 WARNING (MainThread) [zigpy.zcl] [0x3148:1:0xef00] No cluster_dp found for 1, on_off
2022-05-16 17:29:36 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] tuya_command: None
2022-05-16 17:29:36 WARNING (MainThread) [zigpy.zcl] [0x3148:1:0xef00] no MCU command for data TuyaClusterData(endpoint_id=1, cluster_attr='on_off', attr_value=0, expect_reply=True, manufacturer=-1)
2022-05-16 17:29:36 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x3148:1:0x0006]: executed 'off' command with args: '()' kwargs: '{}' result: Default_Response(command_id=0, status=<Status.SUCCESS: 0>)
With device off, changing the slider in HA from '0' to '50' gives:
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0x0008] Setting the NO manufacturer id in command: 4
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0x0008] Sending Tuya Cluster Command. Cluster Command is 4, Arguments are (128, 1)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] tuya_mcu_command: cluster_data=TuyaClusterData(endpoint_id=1, cluster_attr='on_off', attr_value=1, expect_reply=True, manufacturer=-1)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] from_cluster_data: None, None
2022-05-16 17:30:27 WARNING (MainThread) [zigpy.zcl] [0x3148:1:0xef00] No cluster_dp found for 1, on_off
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] tuya_command: None
2022-05-16 17:30:27 WARNING (MainThread) [zigpy.zcl] [0x3148:1:0xef00] no MCU command for data TuyaClusterData(endpoint_id=1, cluster_attr='on_off', attr_value=1, expect_reply=True, manufacturer=-1)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] tuya_mcu_command: cluster_data=TuyaClusterData(endpoint_id=1, cluster_attr='current_level', attr_value=128, expect_reply=True, manufacturer=-1)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] get_dp_mapping --> found DP: 3
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] from_cluster_data: 3, DPToAttributeMapping(ep_attribute='level', attribute_name='current_level', dp_type=<TuyaDPType.VALUE: 2>, converter=<function TuyaValveManufCluster.<lambda> at 0x14bc8b82b940>, dp_converter=<function TuyaValveManufCluster.<lambda> at 0x14bc8b82baf0>, endpoint_id=None)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] converted: 50
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] ztype: 50
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] from_value: [4, 0, 0, 0, 50]
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] raw: b'\x00\x00\x002'
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] tuya_command: TuyaCommand(status=0, tsn=84, dp=3, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x002', *payload=838860800))
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=85, command_id=0, *is_reply=False)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] Sending request: set_data(data=TuyaCommand(status=0, tsn=84, dp=3, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x002', *payload=838860800)))
2022-05-16 17:30:27 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x3148:1:0x0008]: executed 'move_to_level_with_on_off' command with args: '(128, 1)' kwargs: '{}' result: Default_Response(command_id=4, status=<Status.SUCCESS: 0>)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.device] [0x3148] Extending timeout for 0x55 request
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x3148), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=85, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=30, Data=b'\x01\x55\x00\x00\x54\x03\x02\x00\x04\x00\x00\x00\x32')
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x3148, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=84, SecurityUse=<Bool.false: 0>, TimeStamp=8683973, TSN=0, Data=b'\x18\x55\x0B\x00\x00', MacSrcAddr=0x4E2C, MsgResultRadius=28)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] Received ZCL frame: b'\x18\x55\x0B\x00\x00'
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=85, command_id=11, *is_reply=True)
2022-05-16 17:30:27 DEBUG (MainThread) [zigpy.zcl] [0x3148:1:0xef00] Decoded ZCL frame: TuyaValveManufCluster:Default_Response(command_id=0, status=<Status.SUCCESS: 0>)
Is that enough information, or you need something else?
The logs show that the commands are sent and the device responds with a success(Default_Response(command_id=0, status=<Status.SUCCESS: 0>)
)
We can try with another version:
I have switched DP2 and DP3.
Enabled DP1 linked to the OnOff
switch.
Enabled DP110 linked to the PowerConfiguration cluster.
@tube0013 Maybe they are the same device. Can you attach some sniff from a few commands. I'm interested in the on, off and 'dim' ones. It's hard to get from the previous sniffs.
I will try this when I get home later today. Thanks
@javicalle You the man! Changing the level brightness changes the percentage the water valve is open. 100% brightness = fully open and 0 = closed. I will have other log data in a bit.
@javicalle You the man! Changing the level brightness changes the percentage the water valve is open. 100% brightness = fully open and 0 = closed. I will have other log data in a bit.
Does 50% make it half open etc?
new sniff, it's filtered to be just the traffic to and from 0xef44 (the valve).
I was interrupted so I may not have the sequence perfect, but I think it is:
On Off 25% 50% 100% (never got there per the app*) Off
The App has a gauge that ticks up or down after you change the opening percentage - not sure if the valve is sending feedback or it's just a visual (likely).
@wishie Yes 50% = value 50% closed. I don't know if that really equates to half water flow.
After about a minute the valve changes to 0% on its own. This is updated on the GUI showing 0% brightness.
@javicalle I tried to get the log of just talking to this device during the time I adjusted the brightness from 0 to 100%. I think it captured it automatically going back to zero after a minute. Sorry if the log data is not right.
Is your feature request related to a problem? Please describe. I have a new Zigbee "Smart Water Valve". It's a battery/solar powered device that connects to an external garden tap. It is sold as a Tuya SmartLife compatible device.
Describe the solution you'd like I would like this device to be supported via ZHA
Device signature - this can be acquired by clicking on the "Zigbee Device Signature" button in the device settings
``` { "node_descriptor": "NodeDescriptor(logical_type=Diagnostic information - this can be acquired by clicking on the "Download Diagnostics" button in the device settings
``` { "home_assistant": { "installation_type": "Home Assistant Container", "version": "2022.4.7", "dev": false, "hassio": false, "virtualenv": false, "python_version": "3.9.9", "docker": true, "arch": "x86_64", "timezone": "Australia/Brisbane", "os_name": "Linux", "os_version": "5.10.28-Unraid", "run_as_root": true }, "custom_components": { "unifigateway": { "version": "0.3.3", "requirements": [ "pyunifi==2.21" ] }, "bayislandsguide": { "version": "1.0.0", "requirements": [] }, "iotawatt": { "version": "0.2.1", "requirements": [ "iotawattpy==0.1.0" ] }, "plex_recently_added": { "version": "0.3.8", "requirements": [] }, "fullykiosk": { "version": "1.0.1", "requirements": [ "python-fullykiosk==0.0.11" ] }, "weatherflow": { "version": "1.0.4", "requirements": [ "pyweatherflowrest==1.0.8" ] }, "smartthinq_sensors": { "version": "0.12.12", "requirements": [ "pycountry>=20.7.3", "xmltodict>=0.12.0" ] }, "bureau_of_meteorology": { "version": "1.1.2", "requirements": [] }, "goodwe": { "version": "1.0.0", "requirements": [ "goodwe==0.2.17" ] }, "hacs": { "version": "1.24.5", "requirements": [ "aiogithubapi>=21.11.0" ] }, "spotcast": { "version": "v3.6.29", "requirements": [ "spotify_token==1.0.0" ] }, "sonoff": { "version": "3.0.3", "requirements": [ "pycryptodome>=3.6.6" ] }, "watchman": { "version": "0.5.0", "requirements": [ "prettytable==3.0.0" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/zha", "requirements": [ "bellows==0.29.0", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.72", "zigpy-deconz==0.14.0", "zigpy==0.44.2", "zigpy-xbee==0.14.0", "zigpy-zigate==0.7.4", "zigpy-znp==0.7.0" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "*2652*", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "vid": "10C4", "pid": "EA60", "description": "*sonoff*plus*", "known_devices": [ "sonoff zigbee dongle plus" ] }, { "vid": "10C4", "pid": "EA60", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*zigstar*", "known_devices": [ "ZigStar Coordinators" ] }, { "vid": "1CF1", "pid": "0030", "description": "*conbee*", "known_devices": [ "Conbee II" ] }, { "vid": "10C4", "pid": "8A2A", "description": "*zigbee*", "known_devices": [ "Nortek HUSBZB-1" ] }, { "vid": "10C4", "pid": "8B34", "description": "*bv 2010/10*", "known_devices": [ "Bitron Video AV2010/10" ] } ], "codeowners": [ "@dmulcahey", "@adminiuga" ], "zeroconf": [ { "type": "_esphomelib._tcp.local.", "name": "tube*" } ], "after_dependencies": [ "usb", "zeroconf" ], "iot_class": "local_polling", "loggers": [ "aiosqlite", "bellows", "crccheck", "pure_pcapy3", "zhaquirks", "zigpy", "zigpy_deconz", "zigpy_xbee", "zigpy_zigate", "zigpy_znp" ], "is_built_in": true }, "data": { "ieee": "**REDACTED**", "nwk": 45888, "manufacturer": "_TZE200_arge1ptm", "model": "TS0601", "name": "_TZE200_arge1ptm TS0601", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 4417, "power_source": "Battery or Unknown", "lqi": 87, "rssi": null, "last_seen": "2022-05-06T20:18:03", "available": true, "device_type": "EndDevice", "signature": { "node_descriptor": "NodeDescriptor(logical_type=