[Device Support Request] TS130F - _TZ3000_kmsbwdol
See original GitHub issueIs your feature request related to a problem? Please describe. This device gets recognized and connected by ZHA out of the box. It’s a switch for two shutters/curtains/covers with physical buttons (up, pause, down) for both outputs of them However, the percentages are the wrong way around (so when it’s closed it says its 0% and when it’s open it says it’s 100%), and I’m not able to calibrate properly.
I’ve been trying to fix it myself, but I have never done this before and I’m probably doing it completely wrong!
There are also two toggles which seem to do nothing And the rssi is not shown either.
Product that I purchased: https://nl.aliexpress.com/item/1005003308586552.html?srcSns=sns_Copy&spreadType=socialShare&bizType=ProductDetail&social_params=60161453943&aff_fcid=b68f242928344655ae91979f35502ba9-1653409970693-02737-_u76szN&tt=MG&aff_fsk=_u76szN&aff_platform=default&sk=_u76szN&aff_trace_key=b68f242928344655ae91979f35502ba9-1653409970693-02737-_u76szN&shareId=60161453943&businessType=ProductDetail&platform=AE&terminal_id=a4e2cde960db4c23a78d82206988e934&afSmartRedirect=y
Describe the solution you’d like A roller shutter that works properly would be nice!
Device signature
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0202",
"in_clusters": [
"0x0000",
"0x0004",
"0x0005",
"0x0006",
"0x0102"
],
"out_clusters": [
"0x000a",
"0x0019"
]
},
"2": {
"profile_id": 260,
"device_type": "0x0202",
"in_clusters": [
"0x0004",
"0x0005",
"0x0006",
"0x0102"
],
"out_clusters": []
},
"242": {
"profile_id": 41440,
"device_type": "0x0061",
"in_clusters": [],
"out_clusters": [
"0x0021"
]
}
},
"manufacturer": "_TZ3000_kmsbwdol",
"model": "TS130F",
"class": "zigpy.device.Device"
}
Diagnostic Information
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2022.5.5",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.9.9",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Amsterdam",
"os_name": "Linux",
"os_version": "5.15.41",
"supervisor": "2022.05.3",
"host_os": "Home Assistant OS 8.1",
"docker_version": "20.10.14",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"untappd": {
"version": "0.1.6",
"requirements": [
"pyuntappd==0.0.5"
]
},
"google_home": {
"version": "1.9.10",
"requirements": [
"glocaltokens==0.6.3",
"google-api-python-client==2.38.0"
]
},
"hacs": {
"version": "1.25.1",
"requirements": [
"aiogithubapi>=22.2.4"
]
},
"cryptoinfo": {
"version": "0.0.10",
"requirements": []
},
"yi_hack": {
"version": "0.3.0",
"requirements": []
},
"afvalinfo": {
"version": "1.0.6",
"requirements": [
"Babel==2.8.0",
"python-dateutil==2.8.1"
]
},
"dwains_dashboard": {
"version": "3.1.1",
"requirements": []
},
"fontawesome": {
"version": "2.1.5",
"requirements": []
},
"watchman": {
"version": "0.5.1",
"requirements": [
"prettytable==3.0.0"
]
},
"webrtc": {
"version": "v2.3.0",
"requirements": []
},
"breaking_changes": {
"version": "21.12.0",
"requirements": [
"pyhaversion>=21.3.0",
"integrationhelper>=0.2.2",
"awesomeversion"
]
},
"zha_toolkit": {
"version": "v0.8.8",
"requirements": []
},
"arris_dcx960": {
"version": "1.2.0",
"requirements": [
"arris-dcx960==0.2.1"
]
},
"schedule_state": {
"version": "0.13.3",
"requirements": [
"portion==2.2.0"
]
},
"spotcast": {
"version": "v3.6.29",
"requirements": [
"spotify_token==1.0.0"
]
},
"localtuya": {
"version": "3.2.1",
"requirements": []
}
},
"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.73",
"zigpy-deconz==0.16.0",
"zigpy==0.45.1",
"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": 37422,
"manufacturer": "_TZ3000_kmsbwdol",
"model": "TS130F",
"name": "_TZ3000_kmsbwdol TS130F",
"quirk_applied": false,
"quirk_class": "zigpy.device.Device",
"manufacturer_code": 4417,
"power_source": "Mains",
"lqi": 105,
"rssi": null,
"last_seen": "2022-05-24T17:33:54",
"available": true,
"device_type": "Router",
"signature": {
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0202",
"in_clusters": [
"0x0000",
"0x0004",
"0x0005",
"0x0006",
"0x0102"
],
"out_clusters": [
"0x000a",
"0x0019"
]
},
"2": {
"profile_id": 260,
"device_type": "0x0202",
"in_clusters": [
"0x0004",
"0x0005",
"0x0006",
"0x0102"
],
"out_clusters": []
},
"242": {
"profile_id": 41440,
"device_type": "0x0061",
"in_clusters": [],
"out_clusters": [
"0x0021"
]
}
}
},
"entities": [
{
"entity_id": "cover.rolluik_masterbedroom_links",
"name": "_TZ3000_kmsbwdol TS130F"
},
{
"entity_id": "cover.rolluik_masterbedroom_rechts",
"name": "_TZ3000_kmsbwdol TS130F"
},
{
"entity_id": "sensor.rolluik_masterbedroom_basic_rssi",
"name": "_TZ3000_kmsbwdol TS130F"
},
{
"entity_id": "sensor.rolluik_masterbedroom_basic_lqi",
"name": "_TZ3000_kmsbwdol TS130F"
},
{
"entity_id": "switch.rolluik_masterbedroom_on_off",
"name": "_TZ3000_kmsbwdol TS130F"
},
{
"entity_id": "switch.rolluik_masterbedroom_on_off_2",
"name": "_TZ3000_kmsbwdol TS130F"
}
],
"neighbors": [],
"endpoint_names": [
{
"name": "WINDOW_COVERING_DEVICE"
},
{
"name": "WINDOW_COVERING_DEVICE"
},
{
"name": "unknown 97 device_type of 0xa1e0 profile id"
}
],
"user_given_name": "Rolluiken Master Bedroom",
"device_reg_id": "e9c111e1ea39aa847286fb5476f54e7e",
"area_id": "c6c9153cd0da4c2996d3b14d43157310"
}
}
``` </details>
**Additional context**



Issue Analytics
- State:
- Created a year ago
- Comments:6

Top Related StackOverflow Question
Thanks for fixing the format. I’ve updated the code because I had forgotten about the new endpoint in the replacement part.
Goodnight 😴
Thanks for your reply. I already noticed none of them were duals, but I was assuming adding an extra endpoint would solve this.
I’ll give the file you added a try tomorrow, bedtime for now!
Also updated the opening post 😃