-
Notifications
You must be signed in to change notification settings - Fork 908
Closed
Labels
TuyaRequest/PR regarding a Tuya deviceRequest/PR regarding a Tuya device
Description
This device isn't available to use in ZHA, only zigbee2mqtt and I'd rather not change providers when my network is already working beautifully.
Would it be possible to port this device from Z2MQTT to ZHA?
Device signature
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0xf000",
"in_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0xe004",
"0xed00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZ3290_ot6ewjvmejq5ekhl",
"model": "TS1201",
"class": "zigpy.device.Device"
}Diagnostic information
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2022.9.4",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.10.5",
"docker": true,
"arch": "aarch64",
"timezone": "America/New_York",
"os_name": "Linux",
"os_version": "5.15.61-v8",
"supervisor": "2022.09.1",
"host_os": "Home Assistant OS 9.0",
"docker_version": "20.10.17",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {
"midea_ac_lan": {
"version": "v0.3.10",
"requirements": []
},
"smartir": {
"version": "1.17.6",
"requirements": [
"aiofiles==0.6.0"
]
},
"hacs": {
"version": "1.27.1",
"requirements": [
"aiogithubapi>=22.2.4"
]
},
"adaptive_lighting": {
"version": "1.1.0",
"requirements": []
}
},
"integration_manifest": {
"domain": "zha",
"name": "Zigbee Home Automation",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/zha",
"requirements": [
"bellows==0.33.1",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.79",
"zigpy-deconz==0.18.1",
"zigpy==0.50.3",
"zigpy-xbee==0.15.0",
"zigpy-zigate==0.9.2",
"zigpy-znp==0.8.2"
],
"usb": [
{
"vid": "10C4",
"pid": "EA60",
"description": "*2652*",
"known_devices": [
"slae.sh cc2652rb stick"
]
},
{
"vid": "1A86",
"pid": "55D4",
"description": "*sonoff*plus*",
"known_devices": [
"sonoff zigbee dongle plus v2"
]
},
{
"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": "0403",
"pid": "6015",
"description": "*zigate*",
"known_devices": [
"ZiGate+"
]
},
{
"vid": "10C4",
"pid": "EA60",
"description": "*zigate*",
"known_devices": [
"ZiGate"
]
},
{
"vid": "10C4",
"pid": "8B34",
"description": "*bv 2010/10*",
"known_devices": [
"Bitron Video AV2010/10"
]
}
],
"codeowners": [
"@dmulcahey",
"@adminiuga",
"@puddly"
],
"zeroconf": [
{
"type": "_esphomelib._tcp.local.",
"name": "tube*"
},
{
"type": "_zigate-zigbee-gateway._tcp.local.",
"name": "*zigate*"
}
],
"dependencies": [
"file_upload"
],
"after_dependencies": [
"onboarding",
"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": 36667,
"manufacturer": "_TZ3290_ot6ewjvmejq5ekhl",
"model": "TS1201",
"name": "_TZ3290_ot6ewjvmejq5ekhl TS1201",
"quirk_applied": false,
"quirk_class": "zigpy.device.Device",
"manufacturer_code": 4098,
"power_source": "Battery or Unknown",
"lqi": 192,
"rssi": -52,
"last_seen": "2022-09-24T07:59:40",
"available": true,
"device_type": "EndDevice",
"signature": {
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0xf000",
"in_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0xe004",
"0xed00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
}
},
"active_coordinator": false,
"entities": [
{
"entity_id": "sensor.moer_universal_remote_battery",
"name": "_TZ3290_ot6ewjvmejq5ekhl TS1201"
},
{
"entity_id": "button.moer_universal_remote_identifybutton",
"name": "_TZ3290_ot6ewjvmejq5ekhl TS1201"
},
{
"entity_id": "switch.moer_universal_remote_switch",
"name": "_TZ3290_ot6ewjvmejq5ekhl TS1201"
}
],
"neighbors": [],
"endpoint_names": [
{
"name": "undefined_0xf000"
}
],
"user_given_name": "Moer Universal Remote",
"device_reg_id": "13118963cb015bb67c687b64d09eb55b",
"area_id": "living_room",
"cluster_details": {
"1": {
"device_type": {
"name": "undefined_0xf000",
"id": 61440
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0004": {
"attribute_name": "manufacturer",
"value": "_TZ3290_ot6ewjvmejq5ekhl"
},
"0x0005": {
"attribute_name": "model",
"value": "TS1201"
}
},
"unsupported_attributes": {}
},
"0x0004": {
"endpoint_attribute": "groups",
"attributes": {},
"unsupported_attributes": {}
},
"0x0005": {
"endpoint_attribute": "scenes",
"attributes": {},
"unsupported_attributes": {}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {
"0x0020": {
"attribute_name": "battery_voltage",
"value": 15
},
"0x0021": {
"attribute_name": "battery_percentage_remaining",
"value": 200
}
},
"unsupported_attributes": {
"0x0031": {
"attribute_name": "battery_size"
},
"0x0033": {
"attribute_name": "battery_quantity"
}
}
},
"0xed00": {
"endpoint_attribute": null,
"attributes": {},
"unsupported_attributes": {}
},
"0xe004": {
"endpoint_attribute": null,
"attributes": {},
"unsupported_attributes": {}
},
"0x0006": {
"endpoint_attribute": "on_off",
"attributes": {
"0x0000": {
"attribute_name": "on_off",
"value": 1
}
},
"unsupported_attributes": {
"0x4003": {
"attribute_name": "start_up_on_off"
}
}
}
},
"out_clusters": {
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
},
"0x000a": {
"endpoint_attribute": "time",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}Additional logs
Paste any additional debug logs here.
Don't remove the extra line breaks outside the ``` marks.
Additional context
The Z2MQTT integration/setup some people seem to have used is:
[
{
"type": "switch",
"features": [
{
"type": "binary",
"name": "state",
"property": "learn_ir_code",
"access": 2,
"value_on": "ON",
"value_off": "OFF",
"description": "Turn on to learn new IR code"
}
]
},
{
"type": "text",
"name": "learned_ir_code",
"property": "learned_ir_code",
"access": 1,
"description": "The IR code learned by device"
},
{
"type": "text",
"name": "ir_code_to_send",
"property": "ir_code_to_send",
"access": 2,
"description": "The IR code to send by device"
},
{
"type": "numeric",
"name": "battery",
"property": "battery",
"access": 1,
"unit": "%",
"description": "Remaining battery in %",
"value_min": 0,
"value_max": 100
},
{
"type": "numeric",
"name": "voltage",
"property": "voltage",
"access": 1,
"unit": "mV",
"description": "Voltage of the battery in millivolts"
},
{
"type": "numeric",
"name": "linkquality",
"property": "linkquality",
"access": 1,
"unit": "lqi",
"description": "Link quality (signal strength)",
"value_min": 0,
"value_max": 255
}
]
tombuben and crtvrmn
Metadata
Metadata
Assignees
Labels
TuyaRequest/PR regarding a Tuya deviceRequest/PR regarding a Tuya device