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] Add support for Giex GX02 water timer #3052

Closed
Aazamandius opened this issue Mar 19, 2024 · 5 comments · Fixed by #3394
Closed

[Device Support Request] Add support for Giex GX02 water timer #3052

Aazamandius opened this issue Mar 19, 2024 · 5 comments · Fixed by #3394
Labels
Tuya Request/PR regarding a Tuya device

Comments

@Aazamandius
Copy link

Problem description

There are a new water timer Giex GX02

I tied to make it works with quirks - and now it show watering, litres and single switch

It's just need to replace here
MODELS_INFO: [("_TZE200_sh1btabb", "TS0601"), ("_TZE200_a7sghmms", "TS0601")],
with
MODELS_INFO: [("_TZE204_7ytb3h8u", "TS0601")]

I'm not sure can it show device settings like start or stop watering timers or other local automations (stop after 60 litres for example)

Solution description

Please add support this device to handler
And if possible make UI settings for locat device automations settings

Screenshots/Video

Screenshots/Video

[Paste/upload your media here]

Device signature

Device signature
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2024.2.4",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.12.1",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Moscow",
    "os_name": "Linux",
    "os_version": "6.6.16-haos",
    "supervisor": "2024.03.0",
    "host_os": "Home Assistant OS 12.0",
    "docker_version": "24.0.7",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.34.0",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "delete": {
      "version": "1.9",
      "requirements": []
    },
    "gismeteo": {
      "version": "2.5.2",
      "requirements": [
        "colorlog==6.7.0",
        "ruff==0.0.291"
      ]
    }
  },
  "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.38.0",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.111",
      "zigpy-deconz==0.23.0",
      "zigpy==0.62.3",
      "zigpy-xbee==0.20.1",
      "zigpy-zigate==0.12.0",
      "zigpy-znp==0.12.1",
      "universal-silabs-flasher==0.0.18",
      "pyserial-asyncio-fast==0.11"
    ],
    "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": "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*"
      }
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 14713,
    "manufacturer": "_TZE204_7ytb3h8u",
    "model": "TS0601",
    "name": "_TZE204_7ytb3h8u TS0601",
    "quirk_applied": true,
    "quirk_class": "TS0601_TZE204_7ytb3h8u.GiexValve",
    "quirk_id": null,
    "manufacturer_code": 4417,
    "power_source": "Battery or Unknown",
    "lqi": 216,
    "rssi": -46,
    "last_seen": "2024-03-13T10:08: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": "0x0000",
          "input_clusters": [
            "0x0000",
            "0x0001",
            "0x0004",
            "0x0005",
            "0x0006",
            "0x0702",
            "0xef00"
          ],
          "output_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      },
      "manufacturer": "_TZE204_7ytb3h8u",
      "model": "TS0601"
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "sensor.tze204_7ytb3h8u_ts0601_battery",
        "name": "_TZE204_7ytb3h8u TS0601"
      },
      {
        "entity_id": "sensor.kran_instantaneous_demand",
        "name": "_TZE204_7ytb3h8u TS0601"
      },
      {
        "entity_id": "sensor.kran_summation_delivered",
        "name": "_TZE204_7ytb3h8u TS0601"
      },
      {
        "entity_id": "switch.tze204_7ytb3h8u_ts0601_switch",
        "name": "_TZE204_7ytb3h8u TS0601"
      },
      {
        "entity_id": "update.tze204_7ytb3h8u_ts0601_firmware",
        "name": "_TZE204_7ytb3h8u TS0601"
      }
    ],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "ON_OFF_SWITCH"
      }
    ],
    "user_given_name": "\u041a\u0440\u0430\u043d",
    "device_reg_id": "6c6b6f86d6d09b3d3fba7a7b7ef4f502",
    "area_id": "teplitsa",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "ON_OFF_SWITCH",
          "id": 0
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 73
              },
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZE204_7ytb3h8u"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0601"
              }
            },
            "unsupported_attributes": {
              "0x0013": {
                "attribute_name": "alarm_mask"
              }
            }
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              }
            },
            "unsupported_attributes": {
              "0x4001": {
                "attribute_name": "on_time"
              },
              "0x4002": {
                "attribute_name": "off_wait_time"
              },
              "0x4003": {
                "attribute_name": "start_up_on_off"
              }
            }
          },
          "0x0001": {
            "endpoint_attribute": "power",
            "attributes": {
              "0x0021": {
                "attribute_name": "battery_percentage_remaining",
                "value": 160
              }
            },
            "unsupported_attributes": {}
          },
          "0x0702": {
            "endpoint_attribute": "smartenergy_metering",
            "attributes": {
              "0x0000": {
                "attribute_name": "current_summ_delivered",
                "value": 0
              },
              "0x0306": {
                "attribute_name": "metering_device_type",
                "value": 2
              },
              "0x0300": {
                "attribute_name": "unit_of_measure",
                "value": 7
              }
            },
            "unsupported_attributes": {
              "0x0020": {
                "attribute_name": "active_register_tier_delivered"
              },
              "0x0205": {
                "attribute_name": "remaining_battery_life_days"
              },
              "0x0019": {
                "attribute_name": "control_temperature"
              }
            }
          },
          "0xef00": {
            "endpoint_attribute": "tuya_manufacturer",
            "attributes": {
              "0xef72": {
                "attribute_name": "irrigation_duration",
                "value": "00:00:06,0"
              },
              "0xef66": {
                "attribute_name": "irrigation_end_time",
                "value": "13:53:19"
              },
              "0xef69": {
                "attribute_name": "irrigation_interval",
                "value": 0
              },
              "0xef01": {
                "attribute_name": "irrigation_mode",
                "value": 0
              },
              "0xef67": {
                "attribute_name": "irrigation_num_times",
                "value": 0
              },
              "0xef65": {
                "attribute_name": "irrigation_start_time",
                "value": "13:53:13"
              },
              "0xef68": {
                "attribute_name": "irrigation_target",
                "value": 0
              },
              "0xef00": {
                "attribute_name": "mcu_version",
                "value": "1.0.0"
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {
              "0xfffd": {
                "attribute_name": "cluster_revision",
                "value": 1
              }
            },
            "unsupported_attributes": {
              "0x0000": {
                "attribute_name": "time"
              }
            }
          },
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}

Diagnostic information

Diagnostic information
[Paste the diagnostic information here]

Logs

Logs
[Paste the logs here]

Custom quirk

Custom quirk
[Paste your custom quirk here]

Additional information

No response

@WJ4IoT
Copy link

WJ4IoT commented Apr 4, 2024

Install the latest version of Z2M (1.36.1 commit: ffc2ff1) and this device is supported, so far looks good, but my device is just arrived and garden does not need extra water yet.

@TheJulianJES TheJulianJES added the Tuya Request/PR regarding a Tuya device label Apr 25, 2024
@pablopezg
Copy link

I've seen that only battery and ON/OFF features are available right now. When do you expect to have the rest?

@Pokeypoet
Copy link

Hello, Could you please paste your custom quirk here please? I don't see to be able to make it work and unsure if it's the quirk or something else I am doing wrong.

@pablopezg
Copy link

Hello,

The custom quirk that I use is the one here: https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts0601_valve.py

Now I realized that after rebooting the HA two new sensors appears:
image

But I was wondering about the rest of sensors that should be available on such device:

  • battery (available already)
  • state (available already)
  • mode
  • cycle_irrigation_num_times
  • irrigation_start_time
  • irrigation_end_time
  • last_irrigation_duration
  • water_consumed (available already)
  • irrigation_target
  • cycle_irrigation_interval
  • linkquality (available already)

@Pokeypoet
Copy link

Great, thanks for the link to quirk, work for me now 👍

I would also be very interested in implementing the remaining sensors.

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