zha-device-handlers icon indicating copy to clipboard operation
zha-device-handlers copied to clipboard

[Device Support Request] Woox R7060 Irrigation Controller

Open overas opened this issue 3 years ago • 3 comments

Describe the bug Woox R7060 Irrigation Controller device joins zigbee network and it's recognized by home-assistant. ZHA has support for the device already: https://github.com/zigpy/zha-device-handlers/issues/939. Zigbee2mqtt has also support for this device: https://www.zigbee2mqtt.io/devices/R7060.html.

The device gives a lot of WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02' in the HA log.

Entities are created for: On/Off switch (switch.vanning_bringebar_on_off): It works. Sensor battery power in procent (sensor.vanning_bringebar_power): Values updates correctly. Sensor lqi (sensor.tz3210_eymunffl_ts0101_3d24d4fe_basic_lqi): Values updates correctly. The sensor is disabled and must be enabled before working. Sensor rssi (sensor.tz3210_eymunffl_ts0101_3d24d4fe_basic_rssi): Values do not updated. Give state "Unknown". The sensor is disabled and must be enabled before working.

To Reproduce Steps to reproduce the behavior:

  1. Start a scheduled irrigation automation which open the switch for watering and closing the switch after watering.
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.vanning_pergola_on_off
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - service: switch.turn_off
    data: {}
    target:
      entity_id: switch.vanning_pergola_on_off
  1. In the HA log I get a lot of these warnings WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b' . I have six Woox R7060 Irrigation Controller placed in my garden. The watering starts 06:00 and ends 08:30.

Expected behavior No warnings in the HA log.

Screenshots image image

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": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZ3210_eymunffl",
  "model": "TS0101",
  "class": "zigpy.device.Device"
}
Diagnostic information
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.6.7",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.9.12",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Oslo",
    "os_name": "Linux",
    "os_version": "5.15.45",
    "supervisor": "2022.05.3",
    "host_os": "Home Assistant OS 8.2",
    "docker_version": "20.10.14",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "frigate": {
      "version": "2.3",
      "requirements": []
    },
    "easee": {
      "version": "0.9.43",
      "requirements": [
        "pyeasee==0.7.44"
      ]
    },
    "pyscript": {
      "version": "1.3.3",
      "requirements": [
        "croniter==1.3.4",
        "watchdog==2.1.6"
      ]
    },
    "hacs": {
      "version": "1.25.5",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    },
    "nordpool": {
      "version": "0.0.7",
      "requirements": [
        "nordpool>=0.2"
      ]
    },
    "apsystems": {
      "version": "1.0.4",
      "requirements": [
        "mechanize==0.4.5"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "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.30.0",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.75",
      "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": "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"
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      }
    ],
    "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": 42779,
    "manufacturer": "_TZ3210_eymunffl",
    "model": "TS0101",
    "name": "_TZ3210_eymunffl TS0101",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4098,
    "power_source": "Battery or Unknown",
    "lqi": 80,
    "rssi": null,
    "last_seen": "2022-06-26T08:55:48",
    "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": "0x0051",
          "in_clusters": [
            "0x0000",
            "0x0001",
            "0x0004",
            "0x0005",
            "0x0006",
            "0xef00"
          ],
          "out_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      }
    },
    "entities": [
      {
        "entity_id": "sensor.vanning_bringebar_power",
        "name": "_TZ3210_eymunffl TS0101"
      },
      {
        "entity_id": "sensor.tz3210_eymunffl_ts0101_3d24d4fe_basic_rssi",
        "name": "_TZ3210_eymunffl TS0101"
      },
      {
        "entity_id": "sensor.tz3210_eymunffl_ts0101_3d24d4fe_basic_lqi",
        "name": "_TZ3210_eymunffl TS0101"
      },
      {
        "entity_id": "switch.vanning_bringebar_on_off",
        "name": "_TZ3210_eymunffl TS0101"
      }
    ],
    "neighbors": [],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      }
    ],
    "user_given_name": "Vanning bringeb\u00e6r",
    "device_reg_id": "88244f8c0b5769b7fc66a8404f1122f5",
    "area_id": "ute"
  }
}
Additional logs
2022-06-25 07:50:40 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x88f\x04\x00\x01\x00'
2022-06-25 07:50:41 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x88f\x04\x00\x01\x00'
2022-06-25 08:20:35 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:35 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:35 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:36 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:36 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:37 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:37 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:38 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:38 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:38 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:39 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:39 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:39 WARNING (MainThread) [zigpy.zcl] [0xFA23:1:0xef00] Unknown cluster command 6 b'\x00\x89f\x04\x00\x01\x02'
2022-06-25 08:20:39 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:41 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:41 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:41 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:41 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:42 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:42 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:43 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:43 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Mf\x04\x00\x01\x00'
2022-06-25 08:20:44 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:45 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:45 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:46 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:46 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:46 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:47 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:47 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:48 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:48 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:49 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:20:49 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Nf\x04\x00\x01\x00'
2022-06-25 08:50:47 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:48 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:48 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:49 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:49 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:50 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:50 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:51 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:51 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:51 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'
2022-06-25 08:50:52 WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02'

Additional context Add any other context about the problem here.

overas avatar Jun 26 '22 10:06 overas

Hi, I will try to clarify some things.

ZHA has support for the device already: #939.

No, not really. Issue #939 dealt with this same issue, but no action was taken on it, so there is no quirk created for the device and your device is handled as an standard Zigbee device:

"class": "zigpy.device.Device"

Zigbee2mqtt has also support for this device: https://www.zigbee2mqtt.io/devices/R7060.html.

Yes, but only the voltage (Voltage of the battery in millivolts) is diferent here.

The device gives a lot of WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02' in the HA log.

This is due to the reports that the device is sending by a manufacturer cluster. As the manufacturer does not document what these reports are, we can only try to guess their meaning based on the functionality of the device and the reported values.

For this reason, in #939 they were asked to use a quirk implementation that can provide information on the type of data and value reported by the device.

And that is what I am going to suggest to you.

Configure the custom_quirk in your installation and create the following quirk inside the folder:

"""Woox irrigation controller."""

from zigpy.profiles import zha
from zigpy.quirks import CustomDevice
from zigpy.zcl.clusters.general import (
    Basic,
    Groups,
    Ota,
    OnOff,
    PowerConfiguration,
    Scenes,
    Time,
)

from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODELS_INFO,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zhaquirks.tuya.mcu import (
    TUYA_MCU_COMMAND,
    DPToAttributeMapping,
    TuyaAttributesCluster,
    TuyaClusterData,
    TuyaDPType,
    TuyaMCUCluster,
)

class WooxR7060(CustomDevice):
    """Woox R7060 Irrigation Controller."""

    signature = {
        MODELS_INFO: [("_TZ3210_eymunffl", "TS0101")],
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    PowerConfiguration.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    OnOff.cluster_id,
                    TuyaMCUCluster.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            }
        },
    }

    replacement = {
        ENDPOINTS: {
            1: {
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    PowerConfiguration.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    OnOff.cluster_id,
                    TuyaMCUCluster,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            }
        }
    }

It's expected that these Unknown cluster command 6 will become something like:

2022-06-25 15:19:25 WARNING (MainThread) [zigpy.zcl] [0xC958:1:0xef00] No 'handle_set_data_response' tuya handler found for set_data_response(data=TuyaCommand(status=0, tsn=223, dp=6, data=TuyaData(dp_type=<TuyaDPType.BOOL: 1>, function=0, raw=b'\x00', *payload=<Bool.false: 0>)))

And that could give to us some information about what is in these reports and lead to a quirk for the device.

javicalle avatar Jun 28 '22 19:06 javicalle

Maybe not relevant, but here are Woox specifications for r7060: https://wooxhome.com/products-c10/other-c4/woox-r7060-smart-garden-irrigation-control-p61

And that could give to us some information about what is in these reports and lead to a quirk for the device.

image

➜ config grep -i -C5 "No 'handle_active_status_report'" home-assistant.log extract_home-assistant.log

overas avatar Jul 01 '22 08:07 overas

I did a scan_device with zha-toolkit. Here are the result:

{ "ieee": "bc:33:ac:ff:fe:46:1a:a5", "nwk": "0xab7b", "model": "TS0101", "manufacturer": "_TZ3210_eymunffl", "manufacturer_id": "0x4098", "endpoints": [ { "id": 1, "device_type": "0x0051", "profile": "0x0104", "in_clusters": { "0x0000": { "cluster_id": "0x0000", "title": "Basic", "name": "basic", "attributes": { "0x0000": { "attribute_id": "0x0000", "attribute_name": "zcl_version", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 3 }, "0x0001": { "attribute_id": "0x0001", "attribute_name": "app_version", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 69 }, "0x0002": { "attribute_id": "0x0002", "attribute_name": "stack_version", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x0003": { "attribute_id": "0x0003", "attribute_name": "hw_version", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 1 }, "0x0004": { "attribute_id": "0x0004", "attribute_name": "manufacturer", "value_type": [ "0x42", "CharacterString", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": "_TZ3210_eymunffl" }, "0x0005": { "attribute_id": "0x0005", "attribute_name": "model", "value_type": [ "0x42", "CharacterString", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": "TS0101" }, "0x0006": { "attribute_id": "0x0006", "attribute_name": "date_code", "value_type": [ "0x42", "CharacterString", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": "" }, "0x0007": { "attribute_id": "0x0007", "attribute_name": "power_source", "value_type": [ "0x30", "enum8", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 3 }, "0xffde": { "attribute_id": "0xffde", "attribute_name": "65502", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|WRITE|READ", "access_acl": 7, "attribute_value": 11 }, "0xffe0": { "attribute_id": "0xffe0", "attribute_name": "65504", "value_type": [ "0x48", "Array", "Discrete" ], "access": "REPORT|READ", "access_acl": 5 }, "0xffe1": { "attribute_id": "0xffe1", "attribute_name": "65505", "value_type": [ "0x48", "Array", "Discrete" ], "access": "REPORT|READ", "access_acl": 5 }, "0xffe2": { "attribute_id": "0xffe2", "attribute_name": "65506", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 31 }, "0xffe3": { "attribute_id": "0xffe3", "attribute_name": "65507", "value_type": [ "0x48", "Array", "Discrete" ], "access": "REPORT|READ", "access_acl": 5 }, "0xfffd": { "attribute_id": "0xfffd", "attribute_name": "cluster_revision", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 2 }, "0xfffe": { "attribute_id": "0xfffe", "attribute_name": "attr_reporting_status", "value_type": [ "0x30", "enum8", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 } }, "commands_received": {}, "commands_generated": {} }, "0x0001": { "cluster_id": "0x0001", "title": "Power Configuration", "name": "power", "attributes": { "0x0000": { "attribute_id": "0x0000", "attribute_name": "mains_voltage", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x0020": { "attribute_id": "0x0020", "attribute_name": "battery_voltage", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 9 }, "0x0021": { "attribute_id": "0x0021", "attribute_name": "battery_percentage_remaining", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 160 }, "0xfffd": { "attribute_id": "0xfffd", "attribute_name": "cluster_revision", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 1 } }, "commands_received": {}, "commands_generated": {} }, "0x0004": { "cluster_id": "0x0004", "title": "Groups", "name": "groups", "attributes": { "0x0000": { "attribute_id": "0x0000", "attribute_name": "name_support", "value_type": [ "0x18", "bitmap8", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0xfffd": { "attribute_id": "0xfffd", "attribute_name": "cluster_revision", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 2 } }, "commands_received": {}, "commands_generated": {} }, "0x0005": { "cluster_id": "0x0005", "title": "Scenes", "name": "scenes", "attributes": { "0x0000": { "attribute_id": "0x0000", "attribute_name": "count", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x0001": { "attribute_id": "0x0001", "attribute_name": "current_scene", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x0002": { "attribute_id": "0x0002", "attribute_name": "current_group", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x0003": { "attribute_id": "0x0003", "attribute_name": "scene_valid", "value_type": [ "0x10", "Bool", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x0004": { "attribute_id": "0x0004", "attribute_name": "name_support", "value_type": [ "0x18", "bitmap8", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0xfffd": { "attribute_id": "0xfffd", "attribute_name": "cluster_revision", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 2 } }, "commands_received": {}, "commands_generated": {} }, "0x0006": { "cluster_id": "0x0006", "title": "On/Off", "name": "on_off", "attributes": { "0x0000": { "attribute_id": "0x0000", "attribute_name": "on_off", "value_type": [ "0x10", "Bool", "Discrete" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x4001": { "attribute_id": "0x4001", "attribute_name": "on_time", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0x4002": { "attribute_id": "0x4002", "attribute_name": "off_wait_time", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 0 }, "0xfffd": { "attribute_id": "0xfffd", "attribute_name": "cluster_revision", "value_type": [ "0x21", "uint16_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5, "attribute_value": 2 } }, "commands_received": {}, "commands_generated": {} }, "0xef00": { "cluster_id": "0xef00", "title": "Tuya Manufacturer Specific", "name": "tuya_manufacturer", "attributes": { "0x0000": { "attribute_id": "0x0000", "attribute_name": "0", "value_type": [ "0x20", "uint8_t", "Analog" ], "access": "REPORT|READ", "access_acl": 5 } }, "commands_received": {}, "commands_generated": {} } }, "out_clusters": { "0x000a": { "cluster_id": "0x000a", "title": "Time", "name": "time", "attributes": {}, "commands_received": {}, "commands_generated": {} }, "0x0019": { "cluster_id": "0x0019", "title": "Ota", "name": "ota", "attributes": {}, "commands_received": {}, "commands_generated": {} } } } ] }

overas avatar Jul 12 '22 11:07 overas

Do you know the status of this issue? I am having problems with this device

giulio12 avatar May 22 '23 20:05 giulio12

The Woox R7060 Irrigation Controller works without any warning logging now. The device gives a lot of WARNING (MainThread) [zigpy.zcl] [0x48A5:1:0xef00] Unknown cluster command 6 b'\x00Of\x04\x00\x01\x02' in the HA log.

I use ZHA and Home Assistant 2023.5.3. I think ZHA have device_quirks for this device now. image

ZHA diagnostic: zha-7c3d20ba7a7f008249aa59370c96c47d-_TZ3210_eymunffl TS0101-88244f8c0b5769b7fc66a8404f1122f5.json.txt

overas avatar May 23 '23 09:05 overas

Thank you for the answer. May I ask you which coordinator are you using? I have the conbee2 and I think that might the problem

giulio12 avatar May 23 '23 10:05 giulio12

I use a ZigStar Stick v4 (https://zig-star.com/projects/zigbee-stick-v4/). Some people have reported with conbee unstable network with wrong firmware https://github.com/Koenkk/zigbee2mqtt/issues/9554

overas avatar May 24 '23 19:05 overas

I'm also getting these kinds of warnings: [0x77EE:1:0xef00] Unknown cluster command 6 b'\x00\xabf\x04\x00\x01\x00' Additionaly i'm running into errors when i'm trying to do a zha_toolkit scan_device on it:

got Status.UNSUP_GENERAL_COMMAND status for discover_commands starting 0
Failed 'discover_attributes_extended' starting 0x0005/0x0000. Error:
Failed 'discover_attributes_extended' starting 0x0000/0x0000. Error:
Couldn't read 0x0005/0xfffe:
Couldn't read 0xef00/0x0001: 

My Coordinator is a Sonoff Zigbee 3.0 USB Dongle. I've got two of those Woox R7060, both are behaving the same way.

I'm have zero experience with quirks so far - is it possible, that i am somehow missing a zha quirk?

Lifth1309 avatar May 30 '23 19:05 Lifth1309

From the ZHA diagnostic it seems the zigbee device do not use any quirks.

  "data": {
    "ieee": "**REDACTED**",
    "nwk": 5062,
    "manufacturer": "_TZ3210_eymunffl",
    "model": "TS0101",
    "name": "_TZ3210_eymunffl TS0101",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4098,
    "power_source": "Battery or Unknown",

Maybe it is the coordinator which logs the message

overas avatar May 31 '23 07:05 overas

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Nov 27 '23 08:11 github-actions[bot]