zwave-js / zwave-js-ui

Full featured Z-Wave Control Panel UI and MQTT gateway. Built using Nodejs, and Vue/Vuetify
https://zwave-js.github.io/zwave-js-ui
MIT License
982 stars 202 forks source link

Insufficient support for multisound sirens (Zipatto PSE02, Philio PH-PSE02 and devolo MT02758) #2213

Closed Frank-D-HB closed 2 years ago

Frank-D-HB commented 2 years ago

Checklist

Deploy method

Docker

Zwavejs2Mqtt version

6.4.1

ZwaveJS version

8.11.1

Describe the bug

Missing the ability to play different sounds.

zwave_js_dump.zip

Device documentaion:

devolo MT02758 (see chapter "play sound", page 3): MT02758_manual.pdf

Zipato PH-PSE02 (front page, right lower corner): Zipato_Siren-UserManual.pdf

device config in zwave2jsmqtt: zwaejs2mqtt_Screenshot-Sirendevice_2022-01-29 065516

device config in HA: HA_Siren_device_config_Screenshot 2022-01-29 070628

To Reproduce

static, permanent

Expected behavior

ability to select the different tones, as described in the device description

Additional context

yesterday i discussed the problem in HA discord, and a user (AlCalzone) give me the advise to open here an issue. What i researched about that problem until now: 1.) In a forum of another software (domoticz) a user seems to got a "workaround" for it: sending a raw message to the siren node. He mentioned: MQTT.publish and "zwaveJS2mqtt api/service "sendCommand" for each different sound. 2.) the devolo device and the zipato device are integrated in zwavejf(2mqtt) as the "same" device. But are they really equal? See the device descriptions: in Zipato is mentioned "SWITCH_MULTILEVEL SET" for playing differnt tones, in the devolo documentation not. See chapter "Z-WAVE COMMAND CLASSES" in both documentations - they differ. I don't now if thats importent for integration in zwaveJS(2mqtt) or HA.

Sorry i am a absolut beginer, amateur (created my github account today) - no computer expert and with limited abilities in the english language (using g... translate). So i am not able to implement the mentioned "workaround".

AlCalzone commented 2 years ago

@robertsLando I might need you for the HA -> MQTT part once we've figured out what to send here.

AlCalzone commented 2 years ago

@Frank-D-HB both devices identify the same, so I'm not sure why there are different descriptions in their manuals. Nonetheless, this should allow you to send the notification reports mentioned in the MT02758 manual.

For example, the payload for the Door chime would be (remove the //s and everything after it in each line)

{
  "args": [
    {
      "nodeId": 23, // <- your node ID here
      "commandClass": 113
    },
    "sendReport",
    [
      {
        "notificationType": 6, // <- notification type from the first column, converted from hexadecimal (0x06) to decimal (6)
        "notificationEvent": 22 // <- notification event from the second column, converted from hexadecimal (0x16) to decimal (22)
      }
    ]
  ]
}

Notification type and event are taken from grafik

Note that they are in hexadecimal and have to be converted to decimal here. There are plently of calculators that can do that if you're not able to.


You're not seeing specific controls for this in the UI because the devices are using Z-Wave features in a non-standard way. There is a specific CC for Sirens/Sound but for some reason they are not using them.

Frank-D-HB commented 2 years ago

Thank you for all the support - i will try to implement the workaround as described. I contacted the origin device designer (in Taiwan) of that siren and ask him "Why did you realised that device in a such "complicated" manner?" Now i understand the idea/clue behind that siren device design. The designer of that siren expect a) in the case of burglar activities, that their first step of "work" will be disconnecting the building from electric power b) that the most fires are motivated by defect electric devices, which will also lead to the loss of elektric power, and c) that the loss of electric power will shutdown the most of the zwave-controlers. The clue of that siren device design is, that it is able to "act" independendly of electric power (battery backup) and of a controler, by "listening" to that "notification reports", which will/should send out by battery powered devices like smoke detectors, door/window detectors, despite of the absence of an acting controler.

AlCalzone commented 2 years ago

The clue of that siren device design is, that it is able to "act" independendly of electric power (battery backup) and of a controler, by "listening" to that "notification reports", which will/should send out by battery powered devices like smoke detectors, door/window detectors, despite of the absence of an acting controler.

Ok, I get that. But implementing the Sound Switch CC for easily using the device in non-emergency situations, which should be more common, seems like a no-brainer to me. 🤷🏻‍♂️

Frank-D-HB commented 2 years ago

@AlCalzone : After contacting the origin device designer again, and submitting him your hint about "Sound Switch CC", he replies to me (suprise!): He totaly agrees with your statement, but the design of that device begun in 2014 and the "Sound Switch CC" was (stable) specified in 2016. On my question "There is the ability of "firmware update". Is that functionality not exactly for such changes designed?" He replies: devlopement is stopped on that device, may be some oems do. And he isnt still working for that company". :-( So it seems that i bought old rubbish?!? :-( Means "seems like a no-brainer to you", that you are able to implement the "Sound Switch CC" to that device(s)? ;-)

AlCalzone commented 2 years ago

that you are able to implement the "Sound Switch CC" to that device(s)?

That's not possible without having the firmware sources etc... With no-brainer I meant using Sound Switch CC from the get-go, but if it was only standardized 2 years after the development, that makes sense that they don't have it.

So it seems that i bought old rubbish?

Seems so :(

Frank-D-HB commented 2 years ago

The workaround solution is implemented and tested :-): MT02758_PH-PSE02_playsound_scripts.zip see 0_README.txt in the zip-file. Now it is possible to trigger each individual sound by executing one of the scripts.

@robertsLando , @AlCalzone : What comes next? (keep in mind, that was my first issue and my first published peace of code). Closing the issue? Where to place the the scripts? (may be at device-related docs or HA-templates...?)

AlCalzone commented 2 years ago

There has been an idea of collecting such device-specific scripts somewhere, but it hasn't been fleshed out really. I'd still like to have a place to link users to, like "your problem has been solved there: ...".

robertsLando commented 2 years ago

I think the best we can do is to leave it there or move to discussions. What do you think @AlCalzone ?

Maybe moving this to discussions and mark @Frank-D-HB answer would be ggod

AlCalzone commented 2 years ago

I'm thinking about a more general collection of such solutions and examples. Maybe a wiki in the repo is easiest actually.