Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Device Support Request] Tuya Soil Sensor (_TZE284_sgabhwa6 TS0601) #3266

Closed
treyd opened this issue Jul 20, 2024 · 4 comments · Fixed by #3315
Closed

[Device Support Request] Tuya Soil Sensor (_TZE284_sgabhwa6 TS0601) #3266

treyd opened this issue Jul 20, 2024 · 4 comments · Fixed by #3315
Labels
Tuya Request/PR regarding a Tuya device

Comments

@treyd
Copy link

treyd commented Jul 20, 2024

Problem description

New Tuya Soil Sensor does not appear to have any clusters with temp/humidity readings after adding

https://www.aliexpress.us/item/3256806923087260.html

Solution description

Device supported, reporting soil temp, humidity and battery level

Screenshots/Video

Screenshots/Video

[Paste/upload your media here]

Device signature

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=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=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": "0x0104",
      "device_type": "0x0051",
      "input_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xed00",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE284_sgabhwa6",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

Diagnostic information

Diagnostic information
{
  "home_assistant": {
    "installation_type": "Home Assistant Container",
    "version": "2024.7.3",
    "dev": false,
    "hassio": false,
    "virtualenv": false,
    "python_version": "3.12.4",
    "docker": true,
    "arch": "x86_64",
    "timezone": "America/New_York",
    "os_name": "Linux",
    "os_version": "3.10.0-957.27.2.el7.x86_64",
    "run_as_root": true
  },
  "custom_components": {
    "sp108e_ws2815": {
      "documentation": "https://www.home-assistant.io/integrations/sp108e_ws2815",
      "version": "0.2.0",
      "requirements": []
    },
    "localtuya": {
      "documentation": "https://github.com/rospogrigio/localtuya/",
      "version": "5.2.1",
      "requirements": []
    },
    "eufy_security": {
      "documentation": "https://github.com/fuatakgun/eufy_security",
      "version": "7.7.4",
      "requirements": [
        "websocket-client==1.4.2",
        "aiortsp==1.3.7"
      ]
    },
    "hacs": {
      "documentation": "https://hacs.xyz/docs/configuration/start",
      "version": "1.34.0",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "bhyve": {
      "documentation": "https://github.com/sebr/bhyve-home-assistant/blob/main/README.md",
      "version": "3.2.4",
      "requirements": []
    },
    "openweathermaphistory": {
      "documentation": "https://github.com/petergridge/openweathermaphistory",
      "version": "2.0.12",
      "requirements": [
        "pyowm==3.2.0"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "dmulcahey",
      "adminiuga",
      "puddly",
      "TheJulianJES"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp",
      "universal_silabs_flasher"
    ],
    "requirements": [
      "bellows==0.39.1",
      "pyserial==3.5",
      "zha-quirks==0.0.117",
      "zigpy-deconz==0.23.2",
      "zigpy==0.64.1",
      "zigpy-xbee==0.20.1",
      "zigpy-zigate==0.12.1",
      "zigpy-znp==0.12.2",
      "universal-silabs-flasher==0.0.20",
      "pyserial-asyncio-fast==0.11"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*slzb-07*",
        "known_devices": [
          "smlight slzb-07"
        ]
      },
      {
        "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": "0403",
        "pid": "6015",
        "description": "*conbee*",
        "known_devices": [
          "Conbee III"
        ]
      },
      {
        "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"
        ]
      }
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_uzg-01._tcp.local.",
        "name": "uzg-01*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      },
      {
        "type": "_xzg._tcp.local.",
        "name": "xzg*"
      },
      {
        "type": "_czc._tcp.local.",
        "name": "czc*"
      }
    ],
    "is_built_in": true
  },
  "setup_times": {
    "null": {
      "setup": 0.0001849830150604248
    },
    "3d2c866ed2de507c75ae2277a654467a": {
      "wait_import_platforms": -0.0005826279520988464,
      "config_entry_setup": 29.70109256543219
    }
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 46680,
    "manufacturer": "_TZE284_sgabhwa6",
    "model": "TS0601",
    "name": "_TZE284_sgabhwa6 TS0601",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "quirk_id": null,
    "manufacturer_code": 4417,
    "power_source": "Battery or Unknown",
    "lqi": 51,
    "rssi": null,
    "last_seen": "2024-07-20T16:23: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=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=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": "0x0104",
          "device_type": "0x0051",
          "input_clusters": [
            "0x0000",
            "0x0004",
            "0x0005",
            "0xed00",
            "0xef00"
          ],
          "output_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      },
      "manufacturer": "_TZE284_sgabhwa6",
      "model": "TS0601"
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "update.green_soil_sensor_deck_pot_firmware",
        "name": "_TZE284_sgabhwa6 TS0601"
      }
    ],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      }
    ],
    "user_given_name": "Green Soil Sensor - Deck Pot",
    "device_reg_id": "e5903ec6af30fc40bf73dc154cb81a68",
    "area_id": "backyard",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {
              "0xfffd": {
                "attribute_name": "cluster_revision",
                "value": 2
              },
              "0x0000": {
                "attribute_name": "name_support",
                "value": 0
              }
            },
            "unsupported_attributes": {
              "0xfffe": {
                "attribute_name": "reporting_status"
              }
            }
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {
              "0xfffd": {
                "attribute_name": "cluster_revision",
                "value": 2
              },
              "0x0000": {
                "attribute_name": "count",
                "value": 0
              },
              "0x0002": {
                "attribute_name": "current_group",
                "value": 0
              },
              "0x0001": {
                "attribute_name": "current_scene",
                "value": 0
              },
              "0x0004": {
                "attribute_name": "name_support",
                "value": 0
              },
              "0x0003": {
                "attribute_name": "scene_valid",
                "value": 0
              }
            },
            "unsupported_attributes": {
              "0xfffe": {
                "attribute_name": "reporting_status"
              },
              "0x0005": {
                "attribute_name": "last_configured_by"
              }
            }
          },
          "0xef00": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 77
              },
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZE284_sgabhwa6"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0601"
              }
            },
            "unsupported_attributes": {}
          },
          "0xed00": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {
              "0x0002": {
                "attribute_name": "current_file_version",
                "value": 77
              }
            },
            "unsupported_attributes": {}
          },
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {
              "0xfffd": {
                "attribute_name": "cluster_revision",
                "value": 1
              }
            },
            "unsupported_attributes": {
              "0x0000": {
                "attribute_name": "time"
              },
              "0x0001": {
                "attribute_name": "time_status"
              },
              "0x0002": {
                "attribute_name": "time_zone"
              },
              "0x0003": {
                "attribute_name": "dst_start"
              },
              "0x0004": {
                "attribute_name": "dst_end"
              },
              "0x0005": {
                "attribute_name": "dst_shift"
              },
              "0x0006": {
                "attribute_name": "standard_time"
              },
              "0x0007": {
                "attribute_name": "local_time"
              },
              "0x0008": {
                "attribute_name": "last_set_time"
              },
              "0x0009": {
                "attribute_name": "valid_until_time"
              },
              "0xfffe": {
                "attribute_name": "reporting_status"
              }
            }
          }
        }
      }
    }
  }
}

Logs

Logs
[Paste the logs here]

Custom quirk

Custom quirk
[Paste your custom quirk here]

Additional information

No response

@treyd
Copy link
Author

treyd commented Jul 24, 2024

I did a scan using zhatoolkit of the device. I'm not sure which attributes are the temperatures, since they're reporting "1"

ZHA Toolkit Scan
{
  "ieee": "REDACTED",
  "nwk": "REDACTED",
  "model": "TS0601",
  "manufacturer": "_TZE284_sgabhwa6",
  "manufacturer_id": "0x4417",
  "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": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 3
            },
            "0x0001": {
              "attribute_id": "0x0001",
              "attribute_name": "app_version",
              "value_type": [
                "0x20",
                "uint8_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 77
            },
            "0x0002": {
              "attribute_id": "0x0002",
              "attribute_name": "stack_version",
              "value_type": [
                "0x20",
                "uint8_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            },
            "0x0003": {
              "attribute_id": "0x0003",
              "attribute_name": "hw_version",
              "value_type": [
                "0x20",
                "uint8_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 1
            },
            "0x0004": {
              "attribute_id": "0x0004",
              "attribute_name": "manufacturer",
              "value_type": [
                "0x42",
                "CharacterString",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": "_TZE284_sgabhwa6"
            },
            "0x0005": {
              "attribute_id": "0x0005",
              "attribute_name": "model",
              "value_type": [
                "0x42",
                "CharacterString",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": "TS0601"
            },
            "0x0006": {
              "attribute_id": "0x0006",
              "attribute_name": "date_code",
              "value_type": [
                "0x42",
                "CharacterString",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": ""
            },
            "0x0007": {
              "attribute_id": "0x0007",
              "attribute_name": "power_source",
              "value_type": [
                "0x30",
                "enum8",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 3
            },
            "0xffcf": {
              "attribute_id": "0xffcf",
              "attribute_name": "65487",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ|WRITE|REPORT",
              "access_acl": 7
            },
            "0xffde": {
              "attribute_id": "0xffde",
              "attribute_name": "65502",
              "value_type": [
                "0x20",
                "uint8_t",
                "Analog"
              ],
              "access": "READ|WRITE|REPORT",
              "access_acl": 7,
              "attribute_value": 13
            },
            "0xffe2": {
              "attribute_id": "0xffe2",
              "attribute_name": "65506",
              "value_type": [
                "0x20",
                "uint8_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 56
            },
            "0xffe3": {
              "attribute_id": "0xffe3",
              "attribute_name": "65507",
              "value_type": [
                "0x48",
                "Array",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5
            },
            "0xfffd": {
              "attribute_id": "0xfffd",
              "attribute_name": "cluster_revision",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 2
            },
            "0xfffe": {
              "attribute_id": "0xfffe",
              "attribute_name": "reporting_status",
              "value_type": [
                "0x30",
                "enum8",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            }
          },
          "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": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            },
            "0xfffd": {
              "attribute_id": "0xfffd",
              "attribute_name": "cluster_revision",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "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": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            },
            "0x0001": {
              "attribute_id": "0x0001",
              "attribute_name": "current_scene",
              "value_type": [
                "0x20",
                "uint8_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            },
            "0x0002": {
              "attribute_id": "0x0002",
              "attribute_name": "current_group",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            },
            "0x0003": {
              "attribute_id": "0x0003",
              "attribute_name": "scene_valid",
              "value_type": [
                "0x10",
                "Bool",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            },
            "0x0004": {
              "attribute_id": "0x0004",
              "attribute_name": "name_support",
              "value_type": [
                "0x18",
                "bitmap8",
                "Discrete"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            },
            "0xfffd": {
              "attribute_id": "0xfffd",
              "attribute_name": "cluster_revision",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 2
            }
          },
          "commands_received": {},
          "commands_generated": {}
        },
        "0xed00": {
          "cluster_id": "0xed00",
          "title": "Cluster",
          "name": null,
          "attributes": {
            "0xfffd": {
              "attribute_id": "0xfffd",
              "attribute_name": "65533",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 1
            }
          },
          "commands_received": {},
          "commands_generated": {}
        },
        "0xef00": {
          "cluster_id": "0xef00",
          "title": "Cluster",
          "name": null,
          "attributes": {
            "0x0000": {
              "attribute_id": "0x0000",
              "attribute_name": "0",
              "value_type": [
                "0x20",
                "uint8_t",
                "Analog"
              ],
              "access": "READ|REPORT",
              "access_acl": 5,
              "attribute_value": 0
            }
          },
          "commands_received": {},
          "commands_generated": {}
        }
      },
      "out_clusters": {
        "0x000a": {
          "cluster_id": "0x000a",
          "title": "Time",
          "name": "time",
          "attributes": {
            "0xfffd": {
              "attribute_id": "0xfffd",
              "attribute_name": "cluster_revision",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 1
            }
          },
          "commands_received": {},
          "commands_generated": {}
        },
        "0x0019": {
          "cluster_id": "0x0019",
          "title": "Ota",
          "name": "ota",
          "attributes": {
            "0x0000": {
              "attribute_id": "0x0000",
              "attribute_name": "upgrade_server_id",
              "value_type": [
                "0xf0",
                "EUI64",
                "Discrete"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": [
                255,
                255,
                255,
                255,
                255,
                255,
                255,
                255
              ]
            },
            "0x0001": {
              "attribute_id": "0x0001",
              "attribute_name": "file_offset",
              "value_type": [
                "0x23",
                "uint32_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 4294967295
            },
            "0x0002": {
              "attribute_id": "0x0002",
              "attribute_name": "current_file_version",
              "value_type": [
                "0x23",
                "uint32_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 77
            },
            "0x0003": {
              "attribute_id": "0x0003",
              "attribute_name": "current_zigbee_stack_version",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 2
            },
            "0x0004": {
              "attribute_id": "0x0004",
              "attribute_name": "downloaded_file_version",
              "value_type": [
                "0x23",
                "uint32_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 4294967295
            },
            "0x0005": {
              "attribute_id": "0x0005",
              "attribute_name": "downloaded_zigbee_stack_version",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 65535
            },
            "0x0006": {
              "attribute_id": "0x0006",
              "attribute_name": "image_upgrade_status",
              "value_type": [
                "0x30",
                "enum8",
                "Discrete"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 0
            },
            "0x0007": {
              "attribute_id": "0x0007",
              "attribute_name": "manufacturer_id",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 4417
            },
            "0x0008": {
              "attribute_id": "0x0008",
              "attribute_name": "image_type_id",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 65535
            },
            "0x0009": {
              "attribute_id": "0x0009",
              "attribute_name": "minimum_block_req_delay",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 0
            },
            "0xfffd": {
              "attribute_id": "0xfffd",
              "attribute_name": "cluster_revision",
              "value_type": [
                "0x21",
                "uint16_t",
                "Analog"
              ],
              "access": "READ",
              "access_acl": 1,
              "attribute_value": 3
            }
          },
          "commands_received": {},
          "commands_generated": {}
        }
      }
    }
  ]
}

@GeoffWy
Copy link
Contributor

GeoffWy commented Aug 6, 2024

I have exactly the same problem.

I tried adding the quirks file at zhaquirks/tuya/ts0601_sensor.py, with ("_TZE284_sgabhwa6", "TS0601") added to the MODELS_INFO for class TuyaSoilSensor, but that didn't work. The diagnostics show "quirk_applied": false.

I see one has been produced for zigbee2mqtt, see Koenkk/zigbee-herdsman-converters#7741, in case that helps.

@TheJulianJES TheJulianJES added the Tuya Request/PR regarding a Tuya device label Aug 10, 2024
@abertolin
Copy link

Is it possible to convert the zigbee2mqtt configuration to ZHA ?

@skypyxis
Copy link

skypyxis commented Aug 24, 2024

I tried with ChatGPT and this was the result:

_TZE284_sgabhwa6 TS0601.py.txt

However it doesn't work, of course, there are errors on the log

ImportError: cannot import name 'TuyaTemperatureMeasurement' from 'zhaquirks.tuya' (/usr/local/lib/python3.12/site-packages/zhaquirks/tuya/__init__.py)

To try it I added this to configuration.yaml:

 zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks

and copied the ...TS0601.py file to that folder

I'm sure someone with experience creating these zha-device-handlers can do it now that the equivalent zigbee2mqtt converter exists. I hope someone has some time to do it.

PS:
Having these two 'platforms' (ZHA and zigbee2mqtt) comes with its downsides. Development efforts are divided between ZHA and Zigbee2MQTT, spreading focus and impacting device support.
We have a new device supported by zigbee2mqtt but not yet by ZHA. So, what do we do?
Do we switch our entire setup to zigbee2mqtt, only to discover that a previous device does not works with it? It creates a frustrating cycle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tuya Request/PR regarding a Tuya device
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants