Evolution of the Z-Wave JS UI service

Thanks @_Will_71 :slight_smile: It’s merged and it will be included in the next version of Gladys!

4 Likes

This feature is available in Gladys Assistant 4.38 :slight_smile:

Thank you to @Sescandell and @_Will_71 for the development work :folded_hands:

2 Likes

Hi @pierre-gilles and @Sescandell
I tried @Sescandell’s latest PR and I have feedback from real tests on my devices.

First of all, I do have the new features added to my devices, but if I take the case of my Qubino Flush Pilot device for my radiators I end up with 2 switches.
image


What does the 2nd switch (8-38-0-currentValue:state) represent?

If I look in zwave JS UI 8-38-0-currentValue corresponds to a numeric value for me!

Second point concerns my shutter where I have a Qubino Flush Shutter properly detected in Gladys.
image

I have the open command that closes my shutter and therefore the close command that opens my shutter. That’s annoying.

So I checked the wiring in case I had reversed the motor. But no, there’s no issue there — it is wired correctly.

The position with the dimmer works fine on both types of devices! :smiley:
Let me know if you need more details about my devices.

Thanks for these tests @_Will_71 !

For the shutter, in my zWaveJs-UI configuration I have this in Output Orientation:


From memory I changed this value because my wiring is reversed. Can you tell me if:

  1. you have access to this config via your device?
  2. its current value?

If you have this config available and its value is Q1 Down - Q2 UP :+1: => I’ll simply invert the states in the code (and either I’ll change my wiring, or I’ll tell zWave to invert, there is an option for that, but that’s my problem :smiley: ).

Regarding your radiator’s switch: as you show in your zwaveJS UI screenshot: you indeed have 2 currentValue: one at 8-37-0-currentValue (a binary switch) and one at 8-38-0-currentValue (the multilevel-switch). On my side, the device I’m testing is not in this configuration:


There is no Binary Switch associated with the MultilevelSwitch. One of the differences: you are on V3, I’m on V4. Is that a generality?.. I don’t know, I’m asking you questions further down to act differently…

The question « what does currentValue:state correspond to + the difference with zWave » is therefore legitimate. Gladys’s operating principle is to have a widget for a feature. For the same « zWave value » (8-38-0-currentValue here) if we want 2 different renderings and correct and simple management within Gladys, it is preferable to have 2 distinct features. So we enrich via this PR the fact that a zWave value can correspond to multiple features in Gladys. This is what allows, for example for currentValue, management of several functions: an ON/OFF or a more precise position management. Concretely, an X-38-Y-currentValue in zWave will offer in Gladys 2 features:

  1. a fine position management, identified by currentvalue:position (the dimmer feature in your screenshot)
  2. a global ON/OFF, identified by currentvalue:state (the well-known switch in your screenshot)

This allows you in the interface to choose between a global ON/OFF button or a Slider.

We could probably have gotten away with mapping targetValue. But from a Z-Wave point of view targetValue and currentValue are intimately linked… over the course of development this is the model that emerged. If I’m not mistaken, it’s similar to what the ZigBee integration does in the case of shutters (there is a notion of position and state for the same base functionality).
For a device that does not implement the Binary Switch CommandClass alongside the Multilevel Switch, it seems necessary to provide a quick ON/OFF derived from the Multilevel Switch CommandClass.

With the latest version (I think that between your test and your message there has been a new version of the PR), your device will even offer 3 switches (where the device I’m testing is limited to 2):

  • 1 for 8-37-currentValue: because your device reports a Binary Switch CommandClass
  • 1 for 8-38-currentValue: mapped to 8-38-currentvalue:state on the Gladys side. This is the ON/OFF functionality in Gladys for the Multilevel Switch
  • 1 for 8-38-restorePrevious: which we see in your zWaveJS UI screenshot.

This third switch is the last change of the day. The version you tested assumes that when the user does an ON => we actually ask the device to revert to the last state it had. In the scenario of a switch, if I press turn on => it restores to the same light intensity as the last known positive value (normal behavior of the Multilevel Switch Z-Wave according to the spec and observed on a physical switch). In the case of a radiator, I imagine doing ON restores it « to the last known level ».
But « after all why limit this behavior? Might as well let the user choose ». Thus, we offer 3 features to the user:

  1. 1 slider (currentValue:position);
  2. 1 ON/OFF that returns to the last known position (restorePosition);
  3. 1 ON/OFF that turns on to maximum (currentValue:state).

That thus leaves all possibilities for the user.
Concretely on my side, I currently have this:


Which gives

(in reality, in practice on a Dashboard, I would probably only use two of the three widgets. From a USER point of view, I make a decision about the expected behavior of an ON/OFF).

Does this make sense with what you see in your case?

However, your device seems different. There is one thing that intrigues me in your screenshot: the currentValues seem desynchronized. I have a few questions about your device that will help guide the modifications needed to the PR:

  1. Setting 8-37 to false, does it set 8-38 to 0?
  2. If 8-37 is false, does setting a targetValue > 0 on 8-38 change 8-37 to true? Does your radiator turn on in this scenario?
  3. If 8-37 is true, does setting a targetValue = 0 on 8-38 change 8-37 to false? Does your radiator turn off in this scenario?
  4. If 8-38 is at 0 and 8-37 is false. Setting 8-37 to true: what impact on 8-38? (be careful to do the test if 8-38 was at 99 or at 45 before being 0). Does your radiator turn on?
  5. If 8-37 is false, 8-38 is greater than 0, the radiator is off, change 8-38 to another value greater than 0. What happens to 8-37? Does the radiator turn on?

I’m trying here to understand the link between the CCs of your device. Depending on your answers: we’ll make sure that, in your situation, only 2 switches appear (the ON/OFF MAX and the ON/OFF RESTORE).
I have other Multilevel Switch devices on my side: I’ll connect them to see in which situations they are.

We can then look to offer more limited options: « not distinguishing OFF/ON Max - OFF/ON restore => and just stick with restore ». On this point, I think leaving control to the user is interesting regarding the notion of ON MAX / ON Restore.

Feel free to send me the config of your shutter so I can adjust the OPEN/CLOSE values.
If you can also send me the Debug Info tab of your radiator device that interests me as well: I would like to check the deviceClass it exposes. The most important thing to correct the PR remains the 5 behavior questions about your device.

Thanks for your tests and your help!

Hello,

I found another Multilevel Switch at my place in V3:

Unlike @_Will_71’s device, although it’s in V3, this one does not have an associated Binary Switch. So we cannot generalize based on that criterion. Depending on the responses about the behavior of Will’s device requested in my previous post, we will therefore be able to:

  • either hide the fact that there is a Binary Switch in cases where it is present
  • or hide the « virtual » ON/OFF of the multilevel switch — the currentvalue:state — (to avoid having an « extra » one)
  • or leave it as is

As soon as I have the responses I’ll adapt the PR!

Thanks again,

Hello,
Thank you for your reply. I’ll give you the answers at the end of the morning.

Pour le volet je n’ai pas le paramètre pour inverser le sens.
Ci dessous ce qu’il y a dans DEBUG INFO pour le volet

{
  "id": 17,
  "name": "Volet",
  "loc": "Salle_de_bain",
  "values": [
    {
      "id": "17-37-0-currentValue",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 37,
      "commandClassName": "Binary Switch",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Current value",
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": "unknown",
      "isCurrentValue": true,
      "targetValue": "37-0-targetValue",
      "lastUpdate": 1683546798534,
      "newValue": "unknown"
    },
    {
      "id": "17-37-0-targetValue",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 37,
      "commandClassName": "Binary Switch",
      "endpoint": 0,
      "property": "targetValue",
      "propertyName": "targetValue",
      "type": "boolean",
      "readable": true,
      "writeable": true,
      "label": "Target value",
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": true,
      "lastUpdate": 1714424589674,
      "newValue": true
    },
    {
      "id": "17-38-0-currentValue",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Current value",
      "stateless": false,
      "commandClassVersion": 3,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 99,
      "isCurrentValue": true,
      "targetValue": "38-0-targetValue",
      "lastUpdate": 1714882938752,
      "newValue": 99
    },
    {
      "id": "17-38-0-Down",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "Down",
      "propertyName": "Down",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Perform a level change (Down)",
      "ccSpecific": {
        "switchType": 2
      },
      "stateless": false,
      "commandClassVersion": 3,
      "list": false,
      "value": false,
      "lastUpdate": 1714759677586,
      "newValue": false
    },
    {
      "id": "17-38-0-Up",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "Up",
      "propertyName": "Up",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Perform a level change (Up)",
      "ccSpecific": {
        "switchType": 2
      },
      "stateless": false,
      "commandClassVersion": 3,
      "list": false,
      "value": true,
      "lastUpdate": 1714759957500,
      "newValue": true
    },
    {
      "id": "17-38-0-targetValue",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "targetValue",
      "propertyName": "targetValue",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Target value",
      "stateless": false,
      "commandClassVersion": 3,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 99,
      "lastUpdate": 1714882920466,
      "newValue": 99
    },
    {
      "id": "17-38-0-duration",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "duration",
      "propertyName": "duration",
      "type": "duration",
      "readable": true,
      "writeable": false,
      "label": "Remaining duration",
      "stateless": false,
      "commandClassVersion": 3,
      "list": false,
      "value": {
        "unit": "seconds"
      },
      "lastUpdate": 1714424589682,
      "newValue": {
        "unit": "seconds"
      }
    },
    {
      "id": "17-38-0-restorePrevious",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "restorePrevious",
      "propertyName": "restorePrevious",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Restore previous value",
      "stateless": false,
      "commandClassVersion": 3,
      "list": true,
      "states": [
        {
          "text": "Restore",
          "value": true
        }
      ],
      "lastUpdate": 1714424589684
    },
    {
      "id": "17-50-0-value-65537",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 50,
      "commandClassName": "Meter",
      "endpoint": 0,
      "property": "value",
      "propertyName": "value",
      "propertyKey": 65537,
      "propertyKeyName": "Electric_kWh_Consumed",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Electric Consumption [kWh]",
      "ccSpecific": {
        "meterType": 1,
        "scale": 0,
        "rateType": 1
      },
      "stateless": false,
      "commandClassVersion": 4,
      "unit": "kWh",
      "list": false,
      "value": 55.1,
      "lastUpdate": 1714869062794,
      "newValue": 55.1
    },
    {
      "id": "17-50-0-value-66049",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 50,
      "commandClassName": "Meter",
      "endpoint": 0,
      "property": "value",
      "propertyName": "value",
      "propertyKey": 66049,
      "propertyKeyName": "Electric_W_Consumed",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Electric Consumption [W]",
      "ccSpecific": {
        "meterType": 1,
        "scale": 2,
        "rateType": 1
      },
      "stateless": false,
      "commandClassVersion": 4,
      "unit": "W",
      "list": false,
      "value": 0,
      "lastUpdate": 1714882939785,
      "newValue": 0
    },
    {
      "id": "17-50-0-reset",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 50,
      "commandClassName": "Meter",
      "endpoint": 0,
      "property": "reset",
      "propertyName": "reset",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Reset accumulated values",
      "stateless": false,
      "commandClassVersion": 4,
      "list": false,
      "lastUpdate": 1714424589689
    },
    {
      "id": "17-112-0-10",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 10,
      "propertyName": "ALL ON/ALL OFF",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Responds to commands ALL ON / ALL OFF from Main Controller",
      "label": "ALL ON/ALL OFF",
      "default": 255,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 255,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "ALL ON is not active ALL OFF is not active",
          "value": 0
        },
        {
          "text": "ALL ON is not active ALL OFF active",
          "value": 1
        },
        {
          "text": "ALL ON is not active ALL OFF is not active",
          "value": 2
        },
        {
          "text": "ALL ON active, ALL OFF active",
          "value": 255
        }
      ],
      "value": 255,
      "lastUpdate": 1683240330224,
      "newValue": 255
    },
    {
      "id": "17-112-0-40",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 40,
      "propertyName": "Power reporting in watts on power change",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Power consumption change threshold for sending updates",
      "label": "Power reporting in watts on power change",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 100,
      "list": false,
      "value": 10,
      "lastUpdate": 1683240330318,
      "newValue": 10
    },
    {
      "id": "17-112-0-42",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 42,
      "propertyName": "Power reporting in Watts by time interval",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Power reporting in Watts by time interval",
      "default": 300,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 32767,
      "unit": "seconds",
      "list": false,
      "value": 0,
      "lastUpdate": 1683240330406,
      "newValue": 0
    },
    {
      "id": "17-112-0-71",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 71,
      "propertyName": "Operating modes",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Operation Mode (Shutter or Venetian)",
      "label": "Operating modes",
      "default": 0,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Shutter mode",
          "value": 0
        },
        {
          "text": "Venetian mode (up/down and slate rotation)",
          "value": 1
        }
      ],
      "value": 0,
      "lastUpdate": 1683240330494,
      "newValue": 0
    },
    {
      "id": "17-112-0-72",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 72,
      "propertyName": "Slats tilting full turn time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Slat full turn time in tenths of a second.",
      "label": "Slats tilting full turn time",
      "default": 150,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 32767,
      "unit": "0.1 second",
      "list": false,
      "value": 150,
      "lastUpdate": 1683240330588,
      "newValue": 150
    },
    {
      "id": "17-112-0-73",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 73,
      "propertyName": "Slats position",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Slats position after up/down movement.",
      "label": "Slats position",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "ret. to previous position for Z-wave control only",
          "value": 0
        },
        {
          "text": "return to previous position in all cases",
          "value": 1
        }
      ],
      "value": 1,
      "lastUpdate": 1683240330674,
      "newValue": 1
    },
    {
      "id": "17-112-0-74",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 74,
      "propertyName": "Motor moving up/down time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Shutter motor moving time of complete opening or complete closing",
      "label": "Motor moving up/down time",
      "default": 0,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 32767,
      "list": false,
      "value": 0,
      "lastUpdate": 1683240330762,
      "newValue": 0
    },
    {
      "id": "17-112-0-76",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 76,
      "propertyName": "Motor operation detection",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Power threshold to be interpreted when motor reach the limit switch",
      "label": "Motor operation detection",
      "default": 10,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 127,
      "list": false,
      "value": 10,
      "lastUpdate": 1683240330849,
      "newValue": 10
    },
    {
      "id": "17-112-0-78",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 78,
      "propertyName": "Forced Shutter calibration",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Enters calibration mode if set to 1",
      "label": "Forced Shutter calibration",
      "default": 0,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Default",
          "value": 0
        },
        {
          "text": "Start Calibration Process",
          "value": 1
        }
      ],
      "value": 0,
      "lastUpdate": 1683240330951,
      "newValue": 0
    },
    {
      "id": "17-112-0-85",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 85,
      "propertyName": "Power consumption max delay time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Time delay for detecting motor errors",
      "label": "Power consumption max delay time",
      "default": 8,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 50,
      "list": false,
      "value": 10,
      "lastUpdate": 1683240332115,
      "newValue": 10
    },
    {
      "id": "17-112-0-90",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 90,
      "propertyName": "Relay delay time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Defines the minimum time delay between next motor movement",
      "label": "Relay delay time",
      "default": 5,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 1,
      "max": 30,
      "unit": "milliseconds",
      "list": false,
      "value": 5,
      "lastUpdate": 1683240333293,
      "newValue": 5
    },
    {
      "id": "17-112-0-110",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 110,
      "propertyName": "Temperature sensor offset settings",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Adds or removes an offset from the measured temperature.",
      "label": "Temperature sensor offset settings",
      "default": 32536,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 1,
      "max": 32536,
      "list": false,
      "value": 32536,
      "lastUpdate": 1683240333405,
      "newValue": 32536
    },
    {
      "id": "17-112-0-120",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 120,
      "propertyName": "Digital temperature sensor reporting",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Threshold for sending temperature change reports",
      "label": "Digital temperature sensor reporting",
      "default": 5,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 127,
      "list": false,
      "value": 5,
      "lastUpdate": 1683240333486,
      "newValue": 5
    },
    {
      "id": "17-112-0-80",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 80,
      "propertyName": "Reporting to Controller",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Defines if reporting regarding power level, etc is reported to controller.",
      "label": "Reporting to Controller",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Reporting to Controller Disabled",
          "value": 0
        },
        {
          "text": "Reporting to Controller Enabled",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589715
    },
    {
      "id": "17-112-0-86",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 86,
      "propertyName": "Power consumption at limit switch delay time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Sets the time delay for detecting limit switches",
      "label": "Power consumption at limit switch delay time",
      "default": 8,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 3,
      "max": 50,
      "list": false,
      "lastUpdate": 1714424589716
    },
    {
      "id": "17-113-0-alarmType",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "alarmType",
      "propertyName": "alarmType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Alarm Type",
      "stateless": false,
      "commandClassVersion": 5,
      "min": 0,
      "max": 255,
      "list": false,
      "value": 0,
      "lastUpdate": 1714898628517,
      "newValue": 0
    },
    {
      "id": "17-113-0-alarmLevel",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "alarmLevel",
      "propertyName": "alarmLevel",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Alarm Level",
      "stateless": false,
      "commandClassVersion": 5,
      "min": 0,
      "max": 255,
      "list": false,
      "value": 0,
      "lastUpdate": 1714898628520,
      "newValue": 0
    },
    {
      "id": "17-113-0-Power Management-unknown",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Power Management",
      "propertyName": "Power Management",
      "propertyKey": "unknown",
      "propertyKeyName": "unknown",
      "type": "any",
      "readable": true,
      "writeable": true,
      "label": "Power Management (property)",
      "stateless": false,
      "commandClassVersion": 5,
      "list": false,
      "value": 254,
      "lastUpdate": 1714898628528,
      "newValue": 254
    },
    {
      "id": "17-113-0-Power Management-Over-load status",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 113,
      "commandClassName": "Notification",
      "endpoint": 0,
      "property": "Power Management",
      "propertyName": "Power Management",
      "propertyKey": "Over-load status",
      "propertyKeyName": "Over-load status",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Over-load status",
      "ccSpecific": {
        "notificationType": 8
      },
      "stateless": false,
      "commandClassVersion": 5,
      "min": 0,
      "max": 255,
      "list": true,
      "states": [
        {
          "text": "idle",
          "value": 0
        },
        {
          "text": "Over-load detected",
          "value": 8
        }
      ],
      "lastUpdate": 1714424589721
    },
    {
      "id": "17-114-0-manufacturerId",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "manufacturerId",
      "propertyName": "manufacturerId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Manufacturer ID",
      "stateless": false,
      "commandClassVersion": 2,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 345,
      "lastUpdate": 1683574035533,
      "newValue": 345
    },
    {
      "id": "17-114-0-productType",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productType",
      "propertyName": "productType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product type",
      "stateless": false,
      "commandClassVersion": 2,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 3,
      "lastUpdate": 1683574035538,
      "newValue": 3
    },
    {
      "id": "17-114-0-productId",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productId",
      "propertyName": "productId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product ID",
      "stateless": false,
      "commandClassVersion": 2,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 82,
      "lastUpdate": 1683574035541,
      "newValue": 82
    },
    {
      "id": "17-134-0-libraryType",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "libraryType",
      "propertyName": "libraryType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Library type",
      "stateless": false,
      "commandClassVersion": 2,
      "list": true,
      "states": [
        {
          "text": "Unknown",
          "value": 0
        },
        {
          "text": "Static Controller",
          "value": 1
        },
        {
          "text": "Controller",
          "value": 2
        },
        {
          "text": "Enhanced Slave",
          "value": 3
        },
        {
          "text": "Slave",
          "value": 4
        },
        {
          "text": "Installer",
          "value": 5
        },
        {
          "text": "Routing Slave",
          "value": 6
        },
        {
          "text": "Bridge Controller",
          "value": 7
        },
        {
          "text": "Device under Test",
          "value": 8
        },
        {
          "text": "N/A",
          "value": 9
        },
        {
          "text": "AV Remote",
          "value": 10
        },
        {
          "text": "AV Device",
          "value": 11
        }
      ],
      "value": 3,
      "lastUpdate": 1683574035640,
      "newValue": 3
    },
    {
      "id": "17-134-0-protocolVersion",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "protocolVersion",
      "propertyName": "protocolVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol version",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": "4.38",
      "lastUpdate": 1683574035642,
      "newValue": "4.38"
    },
    {
      "id": "17-134-0-firmwareVersions",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "firmwareVersions",
      "propertyName": "firmwareVersions",
      "type": "string[]",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip firmware versions",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": [
        "71.0",
        "71.0"
      ],
      "lastUpdate": 1683574035643,
      "newValue": [
        "71.0",
        "71.0"
      ]
    },
    {
      "id": "17-134-0-hardwareVersion",
      "nodeId": 17,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "hardwareVersion",
      "propertyName": "hardwareVersion",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip hardware version",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": 2,
      "lastUpdate": 1683574035645,
      "newValue": 2
    }
  ],
  "groups": [
    {
      "text": "lifeline",
      "endpoint": 0,
      "value": 1,
      "maxNodes": 1,
      "isLifeline": true,
      "multiChannel": true
    },
    {
      "text": "BasicSetKey1",
      "endpoint": 0,
      "value": 2,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "BasicSetKey2",
      "endpoint": 0,
      "value": 3,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "BasicSetMovement",
      "endpoint": 0,
      "value": 4,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "BasicSetEndPosition",
      "endpoint": 0,
      "value": 5,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "BasicSetAtClosed",
      "endpoint": 0,
      "value": 6,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "RollerPosition",
      "endpoint": 0,
      "value": 7,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "TiltPosition",
      "endpoint": 0,
      "value": 8,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "Temperatur",
      "endpoint": 0,
      "value": 9,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    }
  ],
  "neighbors": [],
  "ready": true,
  "available": true,
  "hassDevices": {},
  "failed": false,
  "inited": true,
  "eventsQueue": [
    {
      "time": "2024-05-03T04:25:00.377Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T04:25:01.889Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 68.4,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T04:25:02.885Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 93.5,
          "prevValue": 68.4,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T04:25:05.664Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 31,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T04:25:18.782Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 31,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T04:25:19.817Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 93.5,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T09:58:30.478Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-03T09:58:30.482Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-03T09:58:30.492Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    },
    {
      "time": "2024-05-03T10:55:45.565Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 65537,
          "endpoint": 0,
          "newValue": 55,
          "prevValue": 55,
          "propertyName": "value",
          "propertyKeyName": "Electric_kWh_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T10:55:45.962Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T16:39:15.927Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-03T16:39:15.931Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-03T16:39:15.940Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    },
    {
      "time": "2024-05-03T17:36:30.992Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 65537,
          "endpoint": 0,
          "newValue": 55,
          "prevValue": 55,
          "propertyName": "value",
          "propertyKeyName": "Electric_kWh_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T17:36:31.400Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:03:29.018Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 43.3,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:03:30.019Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 97,
          "prevValue": 43.3,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:03:46.616Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 14,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:03:47.650Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 97.3,
          "prevValue": 97,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:04:02.041Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 14,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:04:03.070Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 97.3,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:38.041Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "Up",
          "newValue": true,
          "prevValue": false,
          "propertyName": "Up"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:42.505Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "Down",
          "newValue": true,
          "prevValue": false,
          "propertyName": "Down"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:42.673Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:44.708Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 78.6,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:45.732Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 97.3,
          "prevValue": 78.6,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:46.641Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "Up",
          "newValue": false,
          "prevValue": true,
          "propertyName": "Up"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:48.200Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "Down",
          "newValue": false,
          "prevValue": true,
          "propertyName": "Down"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:50.631Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 75,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:51.655Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 97.3,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:57.515Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "Up",
          "newValue": false,
          "prevValue": false,
          "propertyName": "Up"
        }
      ]
    },
    {
      "time": "2024-05-03T18:07:57.588Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "Down",
          "newValue": false,
          "prevValue": false,
          "propertyName": "Down"
        }
      ]
    },
    {
      "time": "2024-05-03T18:08:00.448Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 75,
          "prevValue": 75,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:09:40.823Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 21.1,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:09:41.844Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 97,
          "prevValue": 21.1,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:09:46.807Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 75,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:09:47.890Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 97,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:10:06.590Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 93,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:10:07.790Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:12:37.503Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "Up",
          "newValue": true,
          "prevValue": false,
          "propertyName": "Up"
        }
      ]
    },
    {
      "time": "2024-05-03T18:12:39.072Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 28.6,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:12:43.039Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 93,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:12:44.071Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 28.6,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:14:45.364Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 14.6,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:14:48.364Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 66.1,
          "prevValue": 14.6,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:14:49.366Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 97.6,
          "prevValue": 66.1,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:14:57.182Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 49.6,
          "prevValue": 97.6,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:14:58.184Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 97.5,
          "prevValue": 49.6,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:15:09.771Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:15:10.805Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 97.5,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:55:00.358Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 0,
          "prevValue": 99,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:55:00.363Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:55:01.870Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 42.8,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:55:02.871Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 96.8,
          "prevValue": 42.8,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T18:55:05.646Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 68,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:55:18.463Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 68,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-03T18:55:19.496Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 96.8,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-03T23:20:01.351Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-03T23:20:01.356Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-03T23:20:01.365Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    },
    {
      "time": "2024-05-04T01:14:31.485Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 65537,
          "endpoint": 0,
          "newValue": 55,
          "prevValue": 55,
          "propertyName": "value",
          "propertyKeyName": "Electric_kWh_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T01:14:31.898Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T04:23:00.414Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 99,
          "prevValue": 0,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-04T04:23:00.417Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-04T04:23:01.937Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 35.3,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T04:23:02.939Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 99.8,
          "prevValue": 35.3,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T04:23:05.706Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 31,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-04T04:23:18.828Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 31,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-04T04:23:19.862Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 99.8,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T06:00:46.785Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-04T06:00:46.789Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-04T06:00:46.798Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    },
    {
      "time": "2024-05-04T10:47:02.100Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 65537,
          "endpoint": 0,
          "newValue": 55,
          "prevValue": 55,
          "propertyName": "value",
          "propertyKeyName": "Electric_kWh_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T10:47:02.504Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T12:41:32.217Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-04T12:41:32.221Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-04T12:41:32.229Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    },
    {
      "time": "2024-05-04T17:27:47.535Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 65537,
          "endpoint": 0,
          "newValue": 55,
          "prevValue": 55,
          "propertyName": "value",
          "propertyKeyName": "Electric_kWh_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T17:27:47.945Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T18:13:18.681Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 95.6,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T18:13:33.870Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-04T18:13:34.903Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 95.6,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-04T19:22:17.650Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-04T19:22:17.653Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-04T19:22:17.663Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    },
    {
      "time": "2024-05-05T00:31:02.799Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 65537,
          "endpoint": 0,
          "newValue": 55.1,
          "prevValue": 55,
          "propertyName": "value",
          "propertyKeyName": "Electric_kWh_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-05T02:03:03.085Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-05T02:03:03.089Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-05T02:03:03.097Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    },
    {
      "time": "2024-05-05T04:22:00.469Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 99,
          "prevValue": 99,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T04:22:00.472Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T04:22:02.058Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 79.9,
          "prevValue": 0,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-05T04:22:03.058Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 98.5,
          "prevValue": 79.9,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-05T04:22:05.761Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 31,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T04:22:18.755Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 31,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T04:22:19.789Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Meter",
          "commandClass": 50,
          "property": "value",
          "propertyKey": 66049,
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 98.5,
          "propertyName": "value",
          "propertyKeyName": "Electric_W_Consumed"
        }
      ]
    },
    {
      "time": "2024-05-05T08:43:48.520Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmType",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmType"
        }
      ]
    },
    {
      "time": "2024-05-05T08:43:48.523Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "alarmLevel",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "alarmLevel"
        }
      ]
    },
    {
      "time": "2024-05-05T08:43:48.533Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Notification",
          "commandClass": 113,
          "property": "Power Management",
          "propertyKey": "unknown",
          "endpoint": 0,
          "newValue": 254,
          "prevValue": 254,
          "propertyName": "Power Management",
          "propertyKeyName": "unknown"
        }
      ]
    }
  ],
  "status": "Alive",
  "interviewStage": "Complete",
  "priorityReturnRoute": {},
  "customReturnRoute": {},
  "prioritySUCReturnRoute": false,
  "customSUCReturnRoutes": [],
  "hexId": "0x0159 0x0003-0x0052",
  "dbLink": "https://devices.zwave-js.io/?jumpTo=0x0159:0x0003:0x0052:71.0",
  "manufacturerId": 345,
  "productId": 82,
  "productType": 3,
  "deviceConfig": {
    "filename": "/usr/src/app/store/.config-db/devices/0x0159/zmnhcd.json",
    "isEmbedded": true,
    "manufacturer": "Qubino",
    "manufacturerId": 345,
    "label": "ZMNHCD",
    "description": "Flush Shutter",
    "devices": [
      {
        "productType": 3,
        "productId": 82
      }
    ],
    "firmwareVersion": {
      "min": "0.0",
      "max": "255.255"
    },
    "preferred": false,
    "paramInformation": {
      "_map": {}
    }
  },
  "productLabel": "ZMNHCD",
  "productDescription": "Flush Shutter",
  "manufacturer": "Qubino",
  "firmwareVersion": "71.0",
  "protocolVersion": 3,
  "zwavePlusVersion": 1,
  "zwavePlusNodeType": 0,
  "zwavePlusRoleType": 5,
  "nodeType": 1,
  "endpointsCount": 0,
  "endpoints": [
    {
      "index": 0,
      "label": "Root Endpoint"
    }
  ],
  "isSecure": false,
  "security": "None",
  "supportsSecurity": false,
  "supportsBeaming": true,
  "isControllerNode": false,
  "isListening": true,
  "isFrequentListening": false,
  "isRouting": true,
  "keepAwake": false,
  "maxDataRate": 100000,
  "deviceClass": {
    "basic": 4,
    "generic": 17,
    "specific": 7
  },
  "lastActive": 1714898628514,
  "firmwareCapabilities": {
    "firmwareUpgradable": false
  },
  "protocol": 0,
  "deviceId": "345-82-3",
  "statistics": {
    "commandsTX": 83,
    "commandsRX": 134,
    "commandsDroppedRX": 0,
    "commandsDroppedTX": 0,
    "timeoutResponse": 0,
    "rtt": 169.3,
    "lastSeen": "2024-05-05T08:43:48.514Z",
    "rssi": -66,
    "lwr": {
      "protocolDataRate": 1,
      "repeaters": [
        2
      ],
      "rssi": -66,
      "repeaterRSSI": [
        127
      ]
    }
  },
  "supportsTime": false,
  "_name": "Volet (Salle_de_bain)",
  "applicationRoute": false
}

Concernant le radiateur, ce device est un peu a part car, en vrai je n’utilise pas les binary switch.
C’est le dimmer qui permet de piloter le radiateur.
En faite le radiateur attends 6 ordres différents pour fonctionner et en fonction de l’état du dimmer cela correspond à un ordre.
Voilà ci dessous la correspondance entre la valeur du dimmer et l’ordre envoyé au radiateur.

Qubino fil pilote :

  • 0-10 : Arret total
  • 11-20 : Hors Gel
  • 21-30 : Eco
  • 31-40 : Confort - 2°C
  • 41-50 : Confort - 1°C
  • 51-99 : Confort

Pour répondre à tes questions, si je change l’état du 8.37 cela change bien l’état du 8.38.
Si 8.37 = true alors 8.38 = 99 la valeur max du dimmer.
Et inversement si 8.37 = false alors 8.38 = 0.
Et dans tous les cas si on change le 8.38 alors cela vient piloter mon radiateur en fonction de la valeur.
Ci dessous des captures d’écrans.


Si tu veux rajouter des commutateurs, j’en ai aussi 2 autres dans le Multilevel Switch


image

Et pour finir voilà le DEBUG INFO du device radiateur

{
  "id": 8,
  "name": "Radiateur",
  "loc": "Bureau",
  "values": [
    {
      "id": "8-37-0-currentValue",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 37,
      "commandClassName": "Binary Switch",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Current value",
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "isCurrentValue": true,
      "targetValue": "37-0-targetValue",
      "lastUpdate": 1714853230143,
      "newValue": false
    },
    {
      "id": "8-37-0-targetValue",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 37,
      "commandClassName": "Binary Switch",
      "endpoint": 0,
      "property": "targetValue",
      "propertyName": "targetValue",
      "type": "boolean",
      "readable": true,
      "writeable": true,
      "label": "Target value",
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1714853230140,
      "newValue": false
    },
    {
      "id": "8-38-0-currentValue",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Current value",
      "stateless": false,
      "commandClassVersion": 3,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 30,
      "isCurrentValue": true,
      "targetValue": "38-0-targetValue",
      "lastUpdate": 1714900657808,
      "newValue": 30
    },
    {
      "id": "8-38-0-targetValue",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "targetValue",
      "propertyName": "targetValue",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Target value",
      "stateless": false,
      "commandClassVersion": 3,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 30,
      "lastUpdate": 1714900653764,
      "newValue": 30
    },
    {
      "id": "8-38-0-Up",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "Up",
      "propertyName": "Up",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Perform a level change (Up)",
      "ccSpecific": {
        "switchType": 2
      },
      "stateless": false,
      "commandClassVersion": 3,
      "list": false,
      "value": true,
      "lastUpdate": 1714424589362,
      "newValue": true
    },
    {
      "id": "8-38-0-Down",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "Down",
      "propertyName": "Down",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Perform a level change (Down)",
      "ccSpecific": {
        "switchType": 2
      },
      "stateless": false,
      "commandClassVersion": 3,
      "list": false,
      "lastUpdate": 1714424589364
    },
    {
      "id": "8-38-0-duration",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "duration",
      "propertyName": "duration",
      "type": "duration",
      "readable": true,
      "writeable": false,
      "label": "Remaining duration",
      "stateless": false,
      "commandClassVersion": 3,
      "list": false,
      "value": {
        "unit": "seconds"
      },
      "lastUpdate": 1714424589365,
      "newValue": {
        "unit": "seconds"
      }
    },
    {
      "id": "8-38-0-restorePrevious",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "restorePrevious",
      "propertyName": "restorePrevious",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Restore previous value",
      "stateless": false,
      "commandClassVersion": 3,
      "list": true,
      "states": [
        {
          "text": "Restore",
          "value": true
        }
      ],
      "value": true,
      "lastUpdate": 1714853287177,
      "newValue": true
    },
    {
      "id": "8-49-0-Air temperature",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Air temperature",
      "propertyName": "Air temperature",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Air temperature",
      "ccSpecific": {
        "sensorType": 1,
        "scale": 0
      },
      "stateless": false,
      "commandClassVersion": 3,
      "unit": "°C",
      "list": false,
      "value": -999.9,
      "lastUpdate": 1714891799442,
      "newValue": -999.9
    },
    {
      "id": "8-112-0-1",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 1,
      "propertyName": "Input 1 switch type",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 1 switch type",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "mono-stable switch type (push button)",
          "value": 0
        },
        {
          "text": "bi-stable switch type",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589378
    },
    {
      "id": "8-112-0-2",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 2,
      "propertyName": "Input 2 switch type",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 2 switch type",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "mono-stable switch type (push button)",
          "value": 0
        },
        {
          "text": "bi-stable switch type",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589380
    },
    {
      "id": "8-112-0-3",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 3,
      "propertyName": "Input 3 switch type",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 3 switch type",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "mono-stable switch type (push button)",
          "value": 0
        },
        {
          "text": "bi-stable switch type",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589381
    },
    {
      "id": "8-112-0-4",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 4,
      "propertyName": "Input 1 contact type",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 1 contact type",
      "default": 0,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "NO (normally open) input type",
          "value": 0
        },
        {
          "text": "NC (normally close) input type",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589383
    },
    {
      "id": "8-112-0-5",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 5,
      "propertyName": "Input 2 contact type",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 2 contact type",
      "default": 0,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "NO (normally open) input type",
          "value": 0
        },
        {
          "text": "NC (normally close) input type",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589384
    },
    {
      "id": "8-112-0-6",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 6,
      "propertyName": "Input 3 contact type",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 3 contact type",
      "default": 0,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "NO (normally open) input type",
          "value": 0
        },
        {
          "text": "NC (normally close) input type",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589386
    },
    {
      "id": "8-112-0-11",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 11,
      "propertyName": "Input 1 operation mode selection",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 1 operation mode selection",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 6,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Button does not influence on selected mode",
          "value": 0
        },
        {
          "text": "Comfort",
          "value": 1
        },
        {
          "text": "Comfort-1°C",
          "value": 2
        },
        {
          "text": "Comfort-2°C",
          "value": 3
        },
        {
          "text": "Eco Mode",
          "value": 4
        },
        {
          "text": "Frost Protection",
          "value": 5
        },
        {
          "text": "Stop",
          "value": 6
        }
      ],
      "lastUpdate": 1714424589388
    },
    {
      "id": "8-112-0-12",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 12,
      "propertyName": "Input 2 operation mode selection",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 2 operation mode selection",
      "default": 4,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 6,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Button does not influence on selected mode",
          "value": 0
        },
        {
          "text": "Comfort",
          "value": 1
        },
        {
          "text": "Comfort-1°C",
          "value": 2
        },
        {
          "text": "Comfort-2°C",
          "value": 3
        },
        {
          "text": "Eco Mode",
          "value": 4
        },
        {
          "text": "Frost Protection",
          "value": 5
        },
        {
          "text": "Stop",
          "value": 6
        }
      ],
      "lastUpdate": 1714424589389
    },
    {
      "id": "8-112-0-13",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 13,
      "propertyName": "Input 3 operation mode selection",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Input 3 operation mode selection",
      "default": 5,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 6,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Button does not influence on selected mode",
          "value": 0
        },
        {
          "text": "Comfort",
          "value": 1
        },
        {
          "text": "Comfort-1°C",
          "value": 2
        },
        {
          "text": "Comfort-2°C",
          "value": 3
        },
        {
          "text": "Eco Mode",
          "value": 4
        },
        {
          "text": "Frost Protection",
          "value": 5
        },
        {
          "text": "Stop",
          "value": 6
        }
      ],
      "lastUpdate": 1714424589391
    },
    {
      "id": "8-112-0-30",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 30,
      "propertyName": "State After Power Failure",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "State After Power Failure",
      "default": 0,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 1,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "Previous state",
          "value": 0
        },
        {
          "text": "Always off",
          "value": 1
        }
      ],
      "lastUpdate": 1714424589392
    },
    {
      "id": "8-114-0-manufacturerId",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "manufacturerId",
      "propertyName": "manufacturerId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Manufacturer ID",
      "stateless": false,
      "commandClassVersion": 2,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 345,
      "lastUpdate": 1683240051004,
      "newValue": 345
    },
    {
      "id": "8-114-0-productType",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productType",
      "propertyName": "productType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product type",
      "stateless": false,
      "commandClassVersion": 2,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 4,
      "lastUpdate": 1683240051006,
      "newValue": 4
    },
    {
      "id": "8-114-0-productId",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productId",
      "propertyName": "productId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product ID",
      "stateless": false,
      "commandClassVersion": 2,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 81,
      "lastUpdate": 1683240051008,
      "newValue": 81
    },
    {
      "id": "8-134-0-libraryType",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "libraryType",
      "propertyName": "libraryType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Library type",
      "stateless": false,
      "commandClassVersion": 2,
      "list": true,
      "states": [
        {
          "text": "Unknown",
          "value": 0
        },
        {
          "text": "Static Controller",
          "value": 1
        },
        {
          "text": "Controller",
          "value": 2
        },
        {
          "text": "Enhanced Slave",
          "value": 3
        },
        {
          "text": "Slave",
          "value": 4
        },
        {
          "text": "Installer",
          "value": 5
        },
        {
          "text": "Routing Slave",
          "value": 6
        },
        {
          "text": "Bridge Controller",
          "value": 7
        },
        {
          "text": "Device under Test",
          "value": 8
        },
        {
          "text": "N/A",
          "value": 9
        },
        {
          "text": "AV Remote",
          "value": 10
        },
        {
          "text": "AV Device",
          "value": 11
        }
      ],
      "value": 3,
      "lastUpdate": 1683240054168,
      "newValue": 3
    },
    {
      "id": "8-134-0-protocolVersion",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "protocolVersion",
      "propertyName": "protocolVersion",
      "type": "string",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol version",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": "5.3",
      "lastUpdate": 1683240054170,
      "newValue": "5.3"
    },
    {
      "id": "8-134-0-firmwareVersions",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "firmwareVersions",
      "propertyName": "firmwareVersions",
      "type": "string[]",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip firmware versions",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": [
        "2.0",
        "1.0"
      ],
      "lastUpdate": 1683240054172,
      "newValue": [
        "2.0",
        "1.0"
      ]
    },
    {
      "id": "8-134-0-hardwareVersion",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "hardwareVersion",
      "propertyName": "hardwareVersion",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip hardware version",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": 1,
      "lastUpdate": 1683240054173,
      "newValue": 1
    },
    {
      "id": "8-38-0-event",
      "nodeId": 8,
      "toUpdate": false,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "event",
      "propertyName": "event",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Event value",
      "stateless": true,
      "commandClassVersion": 3,
      "min": 0,
      "max": 255,
      "list": false,
      "lastUpdate": 1714708022222
    }
  ],
  "groups": [
    {
      "text": "Lifeline",
      "endpoint": 0,
      "value": 1,
      "maxNodes": 1,
      "isLifeline": true,
      "multiChannel": true
    },
    {
      "text": "Multilevel",
      "endpoint": 0,
      "value": 2,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "Basic on/off",
      "endpoint": 0,
      "value": 3,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "Basic on/off - input I2",
      "endpoint": 0,
      "value": 4,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "Basic on/off - input I3",
      "endpoint": 0,
      "value": 5,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    },
    {
      "text": "Unnamed group 6",
      "endpoint": 0,
      "value": 6,
      "maxNodes": 16,
      "isLifeline": false,
      "multiChannel": true
    }
  ],
  "neighbors": [],
  "ready": true,
  "available": true,
  "hassDevices": {},
  "failed": false,
  "inited": true,
  "eventsQueue": [
    {
      "time": "2024-05-05T09:12:33.608Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:12:33.612Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:12:34.915Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:13:33.644Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:13:33.647Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:13:34.812Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:14:33.658Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:14:33.661Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:14:35.826Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:15:33.675Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:15:33.679Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:15:35.583Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:16:33.726Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:16:33.730Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:16:35.669Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:33.770Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:33.780Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:35.717Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:35.807Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:35.914Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:36.061Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:36.281Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:36.324Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:36.360Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:37.591Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:17:37.813Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:18:30.269Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:18:33.821Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:18:33.827Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:18:34.340Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:04.208Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:33.894Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:33.900Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:34.155Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:34.203Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:34.289Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:34.930Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:35.880Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:35.891Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:35.987Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:19:37.147Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:20:33.919Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:20:33.923Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:20:34.073Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:20:34.149Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:20:34.759Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:21:34.920Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:21:34.924Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:21:37.054Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:22:34.215Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:22:34.221Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:22:36.026Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:34.662Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:34.667Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:36.154Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:36.232Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:36.308Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:36.553Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:36.657Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:23:37.507Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:24:34.126Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:24:34.129Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:24:34.662Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:24:34.748Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:34.175Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:34.182Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:34.488Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:34.549Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:35.100Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:35.160Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:37.021Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:37.035Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:25:37.766Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:34.233Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:34.239Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:51.350Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:53.073Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "restorePrevious",
          "newValue": true,
          "prevValue": true,
          "propertyName": "restorePrevious"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:53.347Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 99,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:57.811Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:57.817Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 99,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:26:58.327Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:04.933Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 10,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:04.941Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 10,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:06.318Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 10,
          "prevValue": 10,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:08.076Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 0,
          "prevValue": 10,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:08.079Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 10,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:08.306Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 0,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:34.251Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 0,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:34.257Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 0,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:27:35.262Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:34.300Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:34.304Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:35.943Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:36.054Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:37.209Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:37.585Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:37.626Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:28:41.009Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:29:34.343Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "endpoint": 0,
          "property": "targetValue",
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "targetValue"
        }
      ]
    },
    {
      "time": "2024-05-05T09:29:34.346Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Multilevel Switch",
          "commandClass": 38,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": 30,
          "prevValue": 30,
          "propertyName": "currentValue"
        }
      ]
    }
  ],
  "status": "Alive",
  "interviewStage": "Complete",
  "priorityReturnRoute": {},
  "customReturnRoute": {},
  "prioritySUCReturnRoute": false,
  "customSUCReturnRoutes": [],
  "hexId": "0x0159 0x0004-0x0051",
  "dbLink": "https://devices.zwave-js.io/?jumpTo=0x0159:0x0004:0x0051:2.0",
  "manufacturerId": 345,
  "productId": 81,
  "productType": 4,
  "deviceConfig": {
    "filename": "/usr/src/app/store/.config-db/devices/0x0159/zmnhjd.json",
    "isEmbedded": true,
    "manufacturer": "Qubino",
    "manufacturerId": 345,
    "label": "ZMNHJD",
    "description": "Flush Pilot",
    "devices": [
      {
        "productType": 4,
        "productId": 81
      }
    ],
    "firmwareVersion": {
      "min": "0.0",
      "max": "255.255"
    },
    "preferred": false,
    "associations": {},
    "paramInformation": {
      "_map": {}
    }
  },
  "productLabel": "ZMNHJD",
  "productDescription": "Flush Pilot",
  "manufacturer": "Qubino",
  "firmwareVersion": "2.0",
  "protocolVersion": 3,
  "zwavePlusVersion": 1,
  "zwavePlusNodeType": 0,
  "zwavePlusRoleType": 5,
  "nodeType": 1,
  "endpointsCount": 3,
  "endpoints": [
    {
      "index": 0,
      "label": "Root Endpoint"
    }
  ],
  "isSecure": false,
  "security": "None",
  "supportsSecurity": false,
  "supportsBeaming": true,
  "isControllerNode": false,
  "isListening": true,
  "isFrequentListening": false,
  "isRouting": true,
  "keepAwake": false,
  "maxDataRate": 100000,
  "deviceClass": {
    "basic": 4,
    "generic": 17,
    "specific": 1
  },
  "lastActive": 1714901379459,
  "firmwareCapabilities": {
    "firmwareUpgradable": false
  },
  "protocol": 0,
  "deviceId": "345-81-4",
  "statistics": {
    "commandsTX": 8836,
    "commandsRX": 18183,
    "commandsDroppedRX": 0,
    "commandsDroppedTX": 0,
    "timeoutResponse": 482,
    "rtt": 126,
    "lastSeen": "2024-05-05T09:29:39.459Z",
    "rssi": -66,
    "lwr": {
      "protocolDataRate": 2,
      "repeaters": [
        2,
        4
      ],
      "rssi": -65,
      "repeaterRSSI": [
        -65,
        -44
      ]
    },
    "nlwr": {
      "protocolDataRate": 2,
      "repeaters": [
        20,
        17
      ],
      "rssi": -69,
      "repeaterRSSI": [
        127,
        127
      ]
    }
  },
  "supportsTime": false,
  "_name": "Radiateur (Bureau)",
  "applicationRoute": false,
  "lastReceive": 1714901320998,
  "lastTransmit": 1714901379459,
  "errorReceive": false,
  "errorTransmit": true
}
1 Like

Roller Shutter

You have a deviceClass 17-7. This is a device that knows the exact position of the shutter a priori (much better than what I use :smile:!). I don’t know whether that’s related or not. I’ll simply invert the handling of the values in the code. My setup is atypical; I’ll manage (either by reversing the wiring or by asking zWave to invert on its side).

Thanks for your useful file!

Radiator

Just to be sure then: changing the DIMMER to a value different from 0 won’t impact the Binary Switch? (even if you click REFRESH in ZwaveJS UI?). However, it’s impossible for us to know that between 0-10 means OFF… From a generic point of view I’m forced to base it on > 0. (I’ll check your file; there might be something that indicates this point).

Thanks for these details, that will help me handle it. From what I understand: it’s enough to hide the Binary Switch in your case. But is this general? I don’t have a strong opinion on the matter. You could say that for user simplicity, we’ll limit the number of features displayed.

I’ll take this into account this afternoon. So you’ll have 3 functions on your device:

  1. Dimmer
  2. ON/OFF Max
  3. ON/OFF Restore

This remains compatible with your use case as well as with a more classic light dimmer (like the ones I test). Does that seem OK to you?

I’ll let you know when the PR is up to date.

Thanks again @_Will_71 for your feedback :+1:

So if I change the binary switch 8.37, it does change the dimmer’s state to the extreme values, i.e. either 0 or 99.
However, if I change the dimmer, it does not change the state of that binary switch.

Regarding the 2nd binary switch, it is true if the dimmer is greater than 0.

As for knowing the value and the mapping, everything is indicated in the device’s documentation. So for me there is no need to translate that in Gladys.

I have the impression that with Z-Wave it’s difficult to define something that is applicable to all manufacturers.

1 Like

Very clear, thanks.

I see what to change. I’ll let you know this afternoon.

Thanks

@_Will_71 the PR is up to date.

You should now have the following behavior:

  • Have the correct direction for your roller shutters
  • See 3 features for your radiator:
    • 1 dimmer (currentvalue:position)
    • 1 switch (currentvalue:state): it acts as an ON/OFF setting the position to 0 - 99
    • 1 switch (restorePrevious): it acts as an ON/OFF setting the position to 0 when OFF and « last value » when ON

I’ll try :+1:

@Sescandell ,

I just tried. OK for the shutter direction.
The radiator is good too.

But there’s still something bothering me, you can say I’m being annoying :joy:
This concerns the restorePrevious switch you added. First, why put it only for the radiator when it’s also present on the shutter?
And is it really an OFF/ON switch? In the Zwave JS UI interface it doesn’t seem like it.
I understand because the appropriate functionality isn’t present in Gladys yet. It would need to be created.

I’ll explain with an example because the behavior is different between Gladys and Zwave JS UI.
In Zwave JS UI, I have the dimmer at 30.


If I press the RESTORE button, the dimmer goes to the previous value 99.

In Gladys, I also have the dimmer at 30


I press the RESTORE button it switches to FALSE and the dimmer does too.

If I want to go to the previous value I have to press the button again.

I’m not sure everyone will understand to press twice to restore the previous value!
Noting that the switch also returns to TRUE as soon as the dimmer changes state.

1 Like

We spoke directly with @_Will_71 instead of cluttering this thread. The conclusion is as follows: everything is OK.

  • Regarding roller shutters: it’s OK
  • Regarding the restorePrevious of the radiator: the behavior is OK. It’s just that its device doesn’t actually handle it. It is exposed, but it does nothing with it (it behaves like a simple ON/OFF). However, for other devices: this restorePrevious makes perfect sense.

So it’s OK as it stands.

We could choose not to expose the restorePrevious in the specific case of this ProductId. I don’t have a strong opinion on whether we should start handling device-specific cases. In this particular case, it’s not much to do, and it could be done later.

Another possibility: we could take the stance of not explicitly exposing two ON/OFFs. We systematically use restorePrevious in the case of an ON (which at worst behaves like a basic ON). As a reminder, the difference between the classic ON and the restorePrevious (typically visible in the case of a light dimmer) is:

  • an ON/OFF button that turns off / on at max
  • an ON/OFF button that turns off / on according to the last intensity it had (like physical switches do)

Personally, I find having the choice interesting.

@pierre-gilles feel free to give your opinion on this last point. Otherwise: ready to merge.

Thanks again to @_Will_71 for the tests!

3 Likes

Hi @Sescandell @_Will_71,

Thank you very much for the work on this PR! I saw that there were a lot of messages, and quite a few changes on the PR, it’s really nice :slight_smile: Functionally it looks very cool.

I have many questions for you, I think it’s wiser not to include this PR in today’s release, we won’t have time to go over the points together before the release.

I’ll take care of the forum and the release and then I think I’ll spend an hour or two on the PR to give you feedback!

Anyway, releases are so frequent on Gladys that it will go out in the next one :wink:

Thanks again!!

2 Likes

Hi @Sescandell,

On rereading the PR, I realize I have a lot of questions — can we have a short call sometime this week when you’re available? :slight_smile:

If not, I can write everything down, but it would save everyone time if you could explain the changes verbally while sharing your screen ^^

I’m available:

  • tomorrow evening (8pm?)
  • Wednesday evening (8pm?)
  • Thursday and Friday all day whenever you want :slight_smile:

Let me know!

Thanks for the call @Sescandell!

I just tested your PR with my Fibaro door/window sensor and it still works flawlessly, so great job :slight_smile:

I’ve left a few code-style comments on the PR, nothing major:

1 Like

I updated the pull request (PR) according to the comments.

It’s pushed

Do you want me to test it on my end?