zigpy / zha-device-handlers

ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.
Apache License 2.0
731 stars 673 forks source link

[Device Support Request] Tuya Neo Outdoor Siren with Solar (TZE200_nlrfgpny) #2375

Open JMoratelli opened 1 year ago

JMoratelli commented 1 year ago

Problem description

Hello good afternoon! I recently bought this solar siren from aliexpress, very well built product, however I couldn't get it to work within the ZHA, I checked and found a support request for zigbee2mqtt, but I didn't find anything about adding it to the ZHA, not even a device handler that was compatible with her, I attached her diagnosis.

this was the thread I found about this equipment (but zigbee2mqtt) https://github.com/Koenkk/zigbee2mqtt/discussions/17325

This is the product i bought: https://pt.aliexpress.com/item/1005005264809268.html And this is the product on the manufacturer's website https://www.szneo.com/en/products/show.php?id=251 (but mine is zigbee version).

Solution description

The device has a battery, is powered by solar energy, however if I could at least trigger the siren, that would be great for me, would anyone be able to help me?

Screenshots/Video

Screenshots/Video ![sireneNeoTuyaSolar](https://user-images.githubusercontent.com/17861018/236022944-2865f74a-8d7b-43bc-99c7-1f2fbc01575c.png)

Device signature

Device signature ```json { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *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", "0x0004", "0x0005", "0xef00" ], "out_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_nlrfgpny", "model": "TS0601", "class": "zigpy.device.Device" } ```

Diagnostic information

Diagnostic information ```json { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.4.6", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.10", "docker": true, "arch": "x86_64", "timezone": "America/Cuiaba", "os_name": "Linux", "os_version": "6.1.25", "supervisor": "2023.04.1", "host_os": "Home Assistant OS 10.1", "docker_version": "23.0.3", "chassis": "vm", "run_as_root": true }, "custom_components": { "ui_lovelace_minimalist": { "version": "v1.3.4", "requirements": [ "aiofiles==0.8.0", "aiogithubapi>=22.2.4" ] }, "smartthinq_sensors": { "version": "0.31.6", "requirements": [ "pycountry>=20.7.3", "xmltodict>=0.12.0", "charset_normalizer>=2.0.0" ] }, "scheduler": { "version": "v0.0.0", "requirements": [] }, "alexa_media": { "version": "4.6.2", "requirements": [ "alexapy==1.26.5", "packaging>=20.3", "wrapt>=1.12.1" ] }, "hass_agent": { "version": "2022.11.9", "requirements": [] }, "xiaomi_miot_raw": { "version": "v1.3.1", "requirements": [ "construct", "python-miio>=0.5.3" ] }, "samsungtv_smart": { "version": "0.11.6", "requirements": [ "websocket-client!=1.4.0,>=0.58.0", "wakeonlan>=2.0.0", "aiofiles>=0.8.0", "casttube>=0.2.1" ] }, "hacs": { "version": "1.32.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "xiaomi_miot": { "version": "0.7.8", "requirements": [ "construct==2.10.56", "python-miio>=0.5.6", "micloud>=0.3" ] }, "localtuya": { "version": "5.0.0", "requirements": [] }, "sonoff": { "version": "3.5.1", "requirements": [ "pycryptodome>=3.6.6" ] }, "edge_tts": { "version": "0.0.1", "requirements": [ "edge-tts==6.1.5" ] }, "alarmo": { "version": "v1.9.9", "requirements": [] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "after_dependencies": [ "onboarding", "usb" ], "codeowners": [ "@dmulcahey", "@adminiuga", "@puddly" ], "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" ], "requirements": [ "bellows==0.35.1", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.97", "zigpy-deconz==0.20.0", "zigpy==0.54.1", "zigpy-xbee==0.17.0", "zigpy-zigate==0.10.3", "zigpy-znp==0.10.0" ], "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" ] } ], "zeroconf": [ { "type": "_esphomelib._tcp.local.", "name": "tube*" }, { "type": "_zigate-zigbee-gateway._tcp.local.", "name": "*zigate*" }, { "type": "_zigstar_gw._tcp.local.", "name": "*zigstar*" }, { "type": "_slzb-06._tcp.local.", "name": "slzb-06*" } ], "is_built_in": true }, "data": { "ieee": "**REDACTED**", "nwk": 7312, "manufacturer": "_TZE200_nlrfgpny", "model": "TS0601", "name": "_TZE200_nlrfgpny TS0601", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 4417, "power_source": "Battery or Unknown", "lqi": null, "rssi": null, "last_seen": "2023-04-30T19:47:18", "available": false, "device_type": "EndDevice", "signature": { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *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", "0x0004", "0x0005", "0xef00" ], "out_clusters": [ "0x000a", "0x0019" ] } } }, "active_coordinator": false, "entities": [], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "SMART_PLUG" } ], "user_given_name": "Sirene Externa", "device_reg_id": "0fcba819b87fe06aa34f60fdfadd8a86", "area_id": "externo", "cluster_details": { "1": { "device_type": { "name": "SMART_PLUG", "id": 81 }, "profile_id": 260, "in_clusters": { "0x0004": { "endpoint_attribute": "groups", "attributes": {}, "unsupported_attributes": {} }, "0x0005": { "endpoint_attribute": "scenes", "attributes": {}, "unsupported_attributes": {} }, "0xef00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0001": { "attribute_name": "app_version", "value": 72 }, "0x0004": { "attribute_name": "manufacturer", "value": "_TZE200_nlrfgpny" }, "0x0005": { "attribute_name": "model", "value": "TS0601" } }, "unsupported_attributes": {} } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} }, "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} } } } } } } ```

Logs

Logs ```python [Paste the logs here] ```

Custom quirk

Custom quirk ```python [Paste your custom quirk here] ```

Additional information

19/05/2023 I found more information that might be helpful (not for me, as I don't understand the process of creating a custom quirk). https://github.com/dresden-elektronik/deconz-rest-plugin/issues/6941

Cityboy3 commented 1 year ago

There is a solution using zigbee2mqtt:[https://github.com/junbing2006/zigbee_siren_TZE200_nlrfgpny/blob/main/zigbee_siren_TZE200_nlrfgpny.js] I have a Tuya Gateway so I am still looking for a solution to get the entities visible by using local tuya in HACS.

JMoratelli commented 1 year ago

There is a solution using zigbee2mqtt:[https://github.com/junbing2006/zigbee_siren_TZE200_nlrfgpny/blob/main/zigbee_siren_TZE200_nlrfgpny.js] I have a Tuya Gateway so I am still looking for a solution to get the entities visible by using local tuya in HACS.

Yes, I had seen this solution, but I only use the ZHA, as it is more integrated with the home assistant. Unfortunately at ZHA there is no discussion about it, probably because it is a newly launched product, I had difficulty finding any information about it even on google. Anyway, thank you for your attention.

JMoratelli commented 1 year ago

I clicked the wrong button...

coasttech commented 1 year ago

Anyone how to add this in Home Assistant using zigbee2mqtt?

JMoratelli commented 1 year ago

Anyone how to add this in Home Assistant using zigbee2mqtt?

This is the external converter file to support zigbee siren _TZE200_nlrfgpny on zigbee2mqtt, there's just nothing in the zha. https://github.com/junbing2006/zigbee_siren_TZE200_nlrfgpny/tree/main

JMoratelli commented 1 year ago

I bought a zigbee2mqtt compatible adapter and migrated to it. It is working without any convert on it.

wappinghigh commented 1 year ago

I'd also like a ZHA version if it could be done. Thanks

nric commented 1 year ago

Is this not planned or completed? Says it is both sequentially. Would be great if this could get a ZHA version.

JMoratelli commented 1 year ago

not planned, I could only make it work by z2m only

miawgogo commented 1 year ago

Picking this up by making a quirk, I have ordered one and i am waiting for it to arrive, but If someone with one already could get the Simple Descriptor as mentioned here that would help a lot in getting the quirk written.

Also if me commenting on this gets any of the people have worked on the Tuya stuff before looking here, i need a bit of help understanding where the hex values came from here so i can make a new/expand the existing cluster class for the outdoor alarm.(im currently making it from scratch so that the quirk can be installed as a custom one for now)

miawgogo commented 1 year ago

also could this issue get reopened, it was prematurely closed because the reporter was not getting attention, its still a issue as the device isnt supported and should have been left open even if the OP's solution is diffrent software

JMoratelli commented 1 year ago

ok, i'll leave it open. hope it helps you.

nric commented 1 year ago

but If someone with one already could get the Simple Descriptor as mentioned here that would help a lot in getting the quirk written.

I'm new to this but is this what you need? zha-db386a20c9c68f5ceaa30276e1ec743c-_TZE200_nlrfgpny TS0601-34a5825e72845a4d109167aad3342f11.json.txt

miawgogo commented 1 year ago

nah, it's something that comes up in the logs while pairing, mines arrived now so it can get it there

still not fully sure on how I can use the zigbee2mqtt converter to get the information needed to write the quirk.

I think I'll dedicate sometime to it next weekend to try and get it semi working

Cityboy3 commented 1 year ago

Great you keep working on it and keep us updated!

miawgogo commented 1 year ago

@FrnchFrgg sorry for pinging you out of the blue 2 years after your contributions, where did these values come from?

Puppetmaster91 commented 11 months ago

@ioangogo i used your temporary quirk and it gets some functionality out of the product. i am starting to look into how to read attributes on zigbee devices because i want this device to work. Outdoor sirens are apperently rare in the smart home scene. I hope once i get some more info i can help alittle with it.

Are you still working on a quirk for this?

miawgogo commented 10 months ago

yeah, although I currently don't have much time to fully investigate the other attributes

Puppetmaster91 commented 10 months ago

yeah, although I currently don't have much time to fully investigate the other attributes

Sounds awesome, i wrote an e-mail to szneo in order to get the technical documentation describing which attributes and clusters they use for the product, hopefully i will get a response. I have tried looking through the configuration of the device in Z2M in order to find the right cluster attributes, but without much luck.

They got it to somewhat work in Z2M so in someway there must be some code where we can find the right attributes so we can make it work in ZHA.

liouma commented 10 months ago

I also would be very interested by a custom quirck for this siren! @ioangogo : I see that you submited "Add support for Tuya Neo Outdoor Siren with Solar (TZE200_nlrfgpny)" but it's not currently working. -> do you have a custom quirck we could use for the moment? That would be wonderful, thank you :)

dominikamann commented 10 months ago

Thank you for opening the thread I would also be very interested in an integration. I bought the sierene a while ago and unfortunately can't get it integrated. Triggering the siren and stopping it would be enough for me. Is there perhaps already a way via HACS? Thank you!

grafik

nric commented 10 months ago

@dominikamann I looked for it last time a couple of weeks ago and couldn't find any :(

It would be wonderful if someone would make it work, I just really don't want to throw it away. Happy to donate.

liouma commented 9 months ago

Same here. @ioangogo seems to have it working. He submitted a code that unfortunately is not yet validated. I'd love to get a custom quirck or anything to make it work. I think I'll end up installing zigbee2mqtt on an other vm just for it :(

harishvelli commented 9 months ago

Quirk would be great interim solution if possible!

liouma commented 9 months ago

Quirk would be great interim solution if possible!

I've been waiting too long to keep hope ! I gave up and installed zigbee2mqtt on a pi zero 2w with a conbee2. One more device to maintain but it work

JMoratelli commented 9 months ago

Quirk would be great interim solution if possible!

I've been waiting too long to keep hope ! I gave up and installed zigbee2mqtt on a pi zero 2w with a conbee2. One more device to maintain but it work

I did exactly the same thing and I didn't regret it. ZHA is great, works well. But Z2M has much more community support overall

masi commented 8 months ago

But Z2M has much more community support overall Sadly all questions on how to write a quirk are either ignored or answered with "read the README". I've read the thing but it's so short that I really wonder how the devs of ZHA expect anyone outside their group to understand it.

Puppetmaster91 commented 8 months ago

So someone has made a quirk for Z2M in order for it to work there.

What ioangogo is needing is to know which clusters that was used where he defined 0x0000 ini the quirk. i have tried looking through the config in Z2M in order to find the right clusters, unfortunately the TUYA config for Z2M is hugh and cotains a huge amount of lines of code.

I think the best bet to get the info of the clusters needed is to ask the code owner of the Z2M TUYA config.

TUYA_BATTERY_ATTR = 0x020F  # [0, 0, 0, 100] battery percentage
TUYA_ALARM_ATTR = 0x0168  # [0]/[1] Alarm!
TUYA_ALARM_DURATION_ATTR = 0x0267  # [0,0,0,10] alarm duration in seconds: 0-1800
TUYA_MELODY_ATTR = 0x0466  # [5] Melody
TUYA_VOLUME_ATTR = 0x0474  # [0]/[1]/[2] Volume 0-low, 2-high
TUYA_TAMPER_ATTR = 0x0000  < --- Missing Cluster
TUYA_TAMPER_ALARM_ATTR = 0x0000 < --- Missing Cluster
TUYA_ALARM_MODE_ATTR = 0x0000 < --- Missing Cluster
TUYA_CHARGE_STATE_ATTR = 0x0000 < --- Missing Cluster
TUYA_ALARM_STATE_ATTR = 0x0000 < --- Missing Cluster
nils-82 commented 8 months ago

Interested in thisas well, That would be great to make this work natively with zha.

constapel commented 7 months ago

Please continue working on the zha integration of NAS-AB06B2 _TZE204_nlrfgpny TS0601 https://nl.aliexpress.com/item/1005005827808088.html

mycanaletto commented 7 months ago

I'm also interested and hope it will be integrated into ZHA...

masi commented 7 months ago

Got mine yesterday. Hope to figure out at least so much I can send "raw Zigbee data" to make the sirene sing.

voyagerft commented 6 months ago
Schermata 2024-03-22 alle 10 09 30

I succeeded, I created a quirks for ZHA at least now the TS0601 _TZE204_nlrfgpny siren has the ability to activate and deactivate it from the Home assistant. "!Long life and prosperity!"

liouma commented 6 months ago

I succeeded, I created a quirks for ZHA at least now the TS0601 _TZE204_nlrfgpny siren has the ability to activate and deactivate it from the Home assistant. "!Long life and prosperity!"

Congrats! that's a great news!!! I'm looking forward testing it !

lboue commented 6 months ago

I succeeded, I created a quirks for ZHA at least now the TS0601 _TZE204_nlrfgpny siren has the ability to activate and deactivate it from the Home assistant. "!Long life and prosperity!"

@voyagerft Can you tell us how to do it?

voyagerft commented 6 months ago

Sharing is life.. sorry for my English I studied French at school.

Yesterday I received this siren but I realized that it didn't expose any entity, then I saw that many of you had been fighting it for about 1 year, so this morning after coffee (I'm more active in the morning after coffee) I wrote my first quirks, in 20 minutes everything resolved, at least for the activation/deactivation of the alarm, in the future I would like to try to expose the volume and melody clusters.

In the meantime, I'll give you the procedure for installing ZHA in home assistant

zha: enable_quirks: true custom_quirks_path: config/custom_zha_quirks/

I remind everyone that it works exclusively with TS0601 _TZE204_nlrfgpny

If you help me I could insert volume level and melody Quirks_Ts601_by_Voyagerft_ver_1_0.zip

dominikamann commented 6 months ago

@voyagerft awesome. Made my day! Thank you. I will test as soon as possible 💪👍May you can upload the code to a GitHub repo instead to provide it as ZIP? Will make change tracking much easier.

lboue commented 6 months ago

@voyagerft Thanks a lot. It works for me:

image

image

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": "0x0403",
      "input_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": "0xa1e0",
      "device_type": "0x0061",
      "input_clusters": [],
      "output_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZE200_nlrfgpny",
  "model": "TS0601",
  "class": "ts0601_siren.TuyaSirenGPP_NoSensors"
}
dominikamann commented 6 months ago

Working fine for me as well. Just damaged my hearing 📢😃 👍

voyagerft commented 6 months ago

Good.. code on github https://github.com/voyagerft/ZHA-TS0601-_TZE204_nlrfgpny

liouma commented 6 months ago

@voyagerft : how can I help you? I have 2 models of this siren. Zigbee and also wifi. Do you think I can get interesting info for you from tuya wifi integration? Or from tuya dev platform?

EDIT: As I have no answer, I add: -> From TUYA dev platform I can get endpoints and many info for the wifi version of this sirene. I don't know how similare are the WIFI and ZIGBEE models but if they are close I could provide you with the data from the WIFI version to help you develop the quirk for ZHA. Please just tell me if I can help you.

voyagerft commented 6 months ago

From ZHA's device management it is possible to set the ringtone, volume and duration and many other things... try it! I set ringtone 2 to be the loudest ever, now I'd like to read the battery level

lboue commented 6 months ago

From ZHA's device management it is possible to set the ringtone, volume and duration and many other things... try it! I set ringtone 2 to be the loudest ever, now I'd like to read the battery level

NeoAlarmMelody

Yes, you can change AlarmMelody with one from the following list:

image

NeoAlarmVolume

you can change volume:

image

alarm_duration

Alarm duration in seconds: 0-1800

image

voyagerft commented 6 months ago

can anyone read the battery level?

Puppetmaster91 commented 6 months ago

@voyagerft Nice work, if we want it to be auto recognizeable in the futrue. Commit it to this https://github.com/zigpy/zha-device-handlers/pull/2557/commits/3306f730361f5f02a6efbd6c6d77ea388964d7d7

@ioangogo already added a couple of clusters

TUYA_BATTERY_ATTR = 0x020F  # [0, 0, 0, 100] battery percentage
TUYA_ALARM_ATTR = 0x0168  # [0]/[1] Alarm!
TUYA_ALARM_DURATION_ATTR = 0x0267  # [0,0,0,10] alarm duration in seconds: 0-1800
TUYA_MELODY_ATTR = 0x0466  # [5] Melody
TUYA_VOLUME_ATTR = 0x0474  # [0]/[1]/[2] Volume 0-low, 2-high
TUYA_TAMPER_ATTR = 0x0000                           <-------- missing
TUYA_TAMPER_ALARM_ATTR = 0x0000             <-------- missing
TUYA_ALARM_MODE_ATTR = 0x0000                <-------- missing
TUYA_CHARGE_STATE_ATTR = 0x0000               <-------- missing
TUYA_ALARM_STATE_ATTR = 0x0000                 <-------- missing

I have tried to reach out to the company who makes this to get more info regarding this sirens cluster but without any luck. We're missing a way to read these clusters of the device, but i do not persist the proper skill to reverse engineer it.

piggei commented 5 months ago

I bought the same siren and also have a zigbee gateway with Smart Life. I can connect the siren to my home assistant with a Sonoff dongle or use it with the gateway. There is a way to grab the infos and help you?

piggei commented 5 months ago

I think the battery sensor is fake and always set to 100%. I tried with a half charged battery and the app shows full charge. BTW the app shows when I charge the battery via usb but not via solar panel. Did anyone do some tries about it?

remoke1985 commented 1 month ago

Hi there,

I am a bit of a Noob in this matter and maybe you could help me out? After a few hours of trying I manage to pair the sirene and button. But my problem is, that when I turn the button "on" in HA (Lovelcae card) it wont make a sound or shows me any sign of life. So what I did to test it if the device was ok, is: push the button on the device (wall sensor, on the back of the device). This makes a really loud noise, so the device is working when its tempered.

When i make an automation, the device is not responding to any trigger...

I have no clue what to do to make it work with a alarm card or otherwise.

Thanks in advance

masi commented 1 month ago

@remoke1985 You need to use zha.set_zigbee_cluster_attribute to configure the device, eg to set the melody type 13

    service: zha.set_zigbee_cluster_attribute
    data:
      # change <MAC-address> in the line below with the address of the siren
      ieee: <MAC-address>
      endpoint_id: 1
      cluster_id: 6
      cluster_type: in
      attribute: 0x466
      value: 0x0D

You find the mac address as "IEEE" under "Zigbee info".

Use the postings as starting points for clusters, endpoints, attributes and their possible values. "Manage Zigbee device" will open the dialogue seen in the screenshots above.

To play a sound (turn on):

  - service: zha.issue_zigbee_cluster_command
    data:
      ieee: <MAC-address>
      endpoint_id: 1
      cluster_id: 6
      cluster_type: in
      command: 0x01
      command_type: server
      params: {}
asiersan commented 4 weeks ago

I can confirm that modern sirens comes with Tuya Neo Outdoor Siren with Solar (TZE204_nlrfgpny) same as this configuration quirks is runing, Only i have to change: MODELS_INFO: [ ("_TZE200_nlrfgpny", "TS0601"),
to MODELS_INFO: [ ("_TZE204_nlrfgpny", "TS0601"), in quirks