zwave-js / node-zwave-js

Z-Wave driver written entirely in JavaScript/TypeScript
https://zwave-js.github.io/node-zwave-js/
MIT License
741 stars 597 forks source link

Not able to set Smoke Sensor FGSD002 excess temperature #5392

Open Rouzax opened 1 year ago

Rouzax commented 1 year ago

Checklist

Deploy method

Docker

Z-Wave JS UI version

8.8.2.b5fcc4a

ZwaveJS version

10.5.4

Describe the bug

Unable to configure the excess temperature alarm on the Smoke Sensor FGSD002. Parameter 2 (https://manuals.fibaro.com/smoke-sensor/#post-1151) is used to enable the excess temperature alarm option. (If exceeding temp set in parameter 30 will trigger the alarm) Have tried to trigger it with a hairdryer and got the sensor to read 61 image

In the config the option now is a 0-255 option but none seem to enable the option. image

To Reproduce

As descibed above

Expected behavior

To be able to set the parameter so that the Alarm will trigger if device get to hot

Additional context

No response

robertsLando commented 1 year ago

@Rouzax This seems to me a device issue, I dunno how to help except tring to update device firmware and contact fibaro about your problem.

@AlCalzone any clue?

Rouzax commented 1 year ago

I feel like the Parameter 2 might be a binary on or off and not a value from 0-225, cannot find it anywhere though

Rouzax commented 1 year ago

Think might have found it image Will try with value 3

EDIT: Still no trigger

Rouzax commented 1 year ago

Managed to trigger it. Parameter 2 = 3 or 2 Parameter 4 = 2 – exceeding temperature threshold notification enabled Parameter 31 = 1 Time interval of signaling (visual indication/sound) excess temperature level. Available settings: 1-8640 (multiply by 10 seconds)

So maybe make Parameter 2 a drop-down with those 4 options instead of a free 0-255

robertsLando commented 1 year ago

Ok in this case it could be a config issue, need to fix it on db.

Tagging @AlCalzone and @blhoward2 for that. Would be easier if you could also provide the device id and the link to the device config, you can find it as first line when you expand a node in the table

Rouzax commented 1 year ago

@robertsLando , You mean this? 271-4099-3074 (0x010f-0x0c02-0x1003) https://devices.zwave-js.io/?jumpTo=0x010f:0x0c02:0x1002:0.0

If you are updating the DB, maybe also add (multiply by 10 seconds) at parameter 31

The other issue I'm running into which I'm not sure is due to Domoticz or the way ZwaveJS creates the device. I cannot get Alarms states anymore, since I'm using ZwaveJS. With OpenZwave there where Alarm devices, these are now Binary_Sensor in ZwaveJS and on/off switch in Domoticz Issue on Domoticz: https://github.com/domoticz/domoticz/issues/5579

robertsLando commented 1 year ago

That issue may be related to this: https://github.com/zwave-js/zwave-js-ui/issues/2929

zwave-js-assistant[bot] commented 1 year ago

Because of the large amount of Z-Wave devices, we cannot write all configuration files ourselves. Help from the community is required, so we can focus our time on improving Z-Wave JS itself. 🙏🏻

This issue has been labeled "Help wanted", meaning we kindly ask anyone who wants to help out for support. Here are a few resources to get you started - don't hesitate to ask if you are having problems:

We may get around to doing it ourselves at some point, but community support will speed up this process immensely.

Thanks!

Rouzax commented 1 year ago

@robertsLando, Am I correct to see that binary_sensor_alarm_status device on the Fibaro Smoke Sensor (https://devices.zwave-js.io/?jumpTo=0x010f:0x0c02:0x1002:0.0) can only send payload 0or 3?

{
    "type": "binary_sensor",
    "object_id": "alarm_status",
    "discovery_payload": {
        "payload_on": 3,
        "payload_off": 0,
        "value_template": "{{ value_json.value }}",
        "device_class": "problem",
        "state_topic": "zwave/Washok/Sensor/113/0/Smoke_Alarm/Alarm_status",
        "json_attributes_topic": "zwave/Washok/Sensor/113/0/Smoke_Alarm/Alarm_status",
        "device": {
            "identifiers": [
                "zwavejs2mqtt_0xc15d8aa6_node61"
            ],
            "manufacturer": "Fibargroup",
            "model": "Smoke Detector (FGSD002)",
            "name": "Washok-Sensor",
            "sw_version": "3.3"
        },
        "name": "Washok - Sensor - alarm_status",
        "unique_id": "zwavejs2mqtt_0xc15d8aa6_61-113-0-Smoke_Alarm-Alarm_status"
    },
    "discoveryTopic": "binary_sensor/Washok-Sensor/alarm_status/config",
    "values": [
        "113-0-Smoke Alarm-Alarm status"
    ],
    "persistent": false,
    "ignoreDiscovery": false,
    "id": "binary_sensor_alarm_status"
}

If so, I think that is why I'm not getting the results I previously got. I believe it can send other values depending on what is happing. 0 = Previous Event Cleared 3 = Smoke Test

But when actual smoke is detected it would send a value of 1

Rouzax commented 1 year ago

Testing using MQTT Explorer

Default resting state zwave/Washok/Sensor/113/0/Smoke_Alarm/Alarm_status

{
    "time": 1675853811453,
    "value": 0,
    "nodeName": "Sensor",
    "nodeLocation": "Washok"
}

Triggering the device to do Smoke Chamber test by holding B button zwave/Washok/Sensor/113/0/Smoke_Alarm/Alarm_status

{
    "time": 1675853799375,
    "value": 3,
    "nodeName": "Sensor",
    "nodeLocation": "Washok"
}

Actual Smoke triggering the device. Nothing coming in on zwave/Washok/Sensor/113/0/Smoke_Alarm/Alarm_status

Here is a debug log from the device in ZwaveJS https://pastebin.com/CiK6C7Nv

Rouzax commented 1 year ago

Attached is also the debug log from the device zwavejs_2023-02-08.log

first I trigger a Test Smoke Chamber test by pressing the B button at: 2023-02-08T15:15:30.521Z I see a value of 3 with MQTT Explorer and in Domoticz You can see:

2023-02-08T15:15:30.524Z CNTRLR   [Node 037] [~] [Notification] alarmType: 0 => 0                   [Endpoint 0]
2023-02-08T15:15:30.527Z CNTRLR   [Node 037] [~] [Notification] alarmLevel: 0 => 0                  [Endpoint 0]
2023-02-08T15:15:30.530Z DRIVER « [Node 037] [REQ] [ApplicationCommand]
                                  └─[NotificationCCReport]
                                      notification type:   Smoke Alarm
                                      notification status: 255
                                      notification state:  Smoke alarm test
2023-02-08T15:15:30.533Z CNTRLR   [Node 037] [~] [Notification] Smoke Alarm[Alarm status]: 0 => 3   [Endpoint 0]

The actual real smoke was at 2023-02-08T15:21:09.992Z Not seeing any value with MQTT Explorer and in Domoticz

2023-02-08T15:21:09.992Z CNTRLR   [Node 037] [~] [Notification] alarmType: 0 => 0                   [Endpoint 0]
2023-02-08T15:21:09.996Z CNTRLR   [Node 037] [~] [Notification] alarmLevel: 0 => 0                  [Endpoint 0]
2023-02-08T15:21:10.000Z DRIVER « [Node 037] [REQ] [ApplicationCommand]
                                  └─[NotificationCCReport]
                                      notification type:   Smoke Alarm
                                      notification status: 255
                                      notification state:  Smoke detected
2023-02-08T15:21:10.003Z CNTRLR   [Node 037] [~] [Notification] Smoke Alarm[Sensor status]: 0 => 2  [Endpoint 0]

If possible also take a look at the issue over at Domoticz as I'm not entirely sure where the issue lies https://github.com/domoticz/domoticz/issues/5579

robertsLando commented 1 year ago

@Rouzax I checked the linked issue on domoticz, did you find a fix to it so?

Rouzax commented 1 year ago

I think yes, but still wrapping my head around it. It looks like with OpenZwave Alarm Notification got send to the same device and and you could pick that up with the NotificationCCReport. Now with ZwaveJS it looks like all alarms are being send to a different end point.

I do see the NotificationCCReport in the debug log, they just don't show up anywhere else.

robertsLando commented 1 year ago

If it is a notification it should be sent to the corrisponding valueId topics based on what you find here: https://zwave-js.github.io/zwave-js-ui/#/guide/mqtt?id=node-notifications

I suggest to check on your node EVENTS tab to find the corrisponding notifications parameters and check if you find that valuieId topic it in mqtt explorer