Evolution du service Z-Wave JS UI

Merci @_Will_71 :slight_smile: C’est mergé et ça partira dans la prochaine version de Gladys !

4 « J'aime »

Cette fonctionnalité est disponible dans Gladys Assistant 4.38 :slight_smile:

Merci à @Sescandell et @_Will_71 pour les développements :pray:

2 « J'aime »

Salut @pierre-gilles et @Sescandell
J’ai essayé la dernière PR de @Sescandell et j’ai des retours avec le test en réel sur mes devices.

Tout d’abord j’ai bien les nouvelles fonctionnalités qui se sont ajoutés à mes devices mais si je prends le cas de mon device Qubino Flush Pilot pour mes radiateurs je me retrouve avec 2 commutateurs.


Que représente le 2ème commutateur (8-38-0-currentValue:state) ?

Si je regarde dans zwave JS UI 8-38-0-currentValue correspont à une valeur numérique chez moi!

2 ème point concerne mon volet où j’ai un Qubino Flush Shutter bien détecté dans Gladys.
image
image

J’ai la commande ouvrir qui ferme mon volet et donc la commande fermer qui ouvre mon volet. C’est embêtant.

Du coup j’ai vérifié le câblage au cas où, si j’ai inversé le moteur. Mais non pas de souci de se côté il est bien branché correctement.

La position avec le dimmer lui fonctionne bien sur mes 2 types de devices! :smiley:
Dit moi si jamais tu as besoin de plus de détails sur mes devices.

Merci pour ces tests @_Will_71 !

Pour le volet, dans ma configuration zWaveJs-UI j’ai ceci en Output Orientation :


De mémoire j’ai changé cette valeur car mon câblage est inversé. Peux-tu me dire si :

  1. tu as accès à cette config’ via ton device ?
  2. sa valeur actuelle ?

Si tu as cette config’ dispo et que sa valeur est Q1 Down - Q2 UP :+1: => j’inverserai simplement les états côté code (et soit je changerai mon câblage, soit je dirai à zWave d’inverser, il y a une option pour ça, mais ça c’est mon problème :smiley: ).

Concernant le commutateur de ton radiateur : comme tu le montres dans ta capture zwaveJS UI : tu as bien 2 currentValue : un en 8-37-0-currentValue (un binary switch) et un en 8-38-0-currentValue (le multilevel-switch). De mon côté, le device que je teste n’est pas dans cette configuration :


Il n’y a pas de Binary Switch associé au MultilevelSwitch. L’une des différences : tu es en V3, je suis en V4. Est-ce une généralité ?.. je ne sais, pas je te pose des questions plus loin pour agir différemment…

La question « à quoi correspond le currentValue:state + la différence avec zWave » est du coup légitime. Le principe de fonctionnement de Gladys est d’avoir un widget pour une fonctionnalité. Pour une même « value zWave » (8-38-0-currentValue ici) si on veut 2 rendus différents et une gestion correcte et simple au sein de Gladys, il est préférable d’avoir 2 fonctionnalités distinctes. On enrichie donc via cette PR le fait qu’une valeur zWave puisse correspondre à plusieurs fonctionnalités dans Gladys. C’est ce qui permet d’avoir, par exemple pour currentValue, une gestion de plusieurs fonctions : un ON/OFF ou une gestion de position plus précise. Concrètement, un X-38-Y-currentValue dans zWave va proposer dans Gladys 2 fonctionnalités :

  1. une gestion fine de la position, identifié par currentvalue:position (la fonctionnalité variateur de ta capture)
  2. un ON/OFF global, identifié par currentvalue:state (le fameux commutateur de ta capture)

Ca te permet dans l’interface d’avoir le choix entre un bouton ON/OFF global ou un Slider.

On aurait probablement pu s’en sortir en mappant targetValue. Mais comme d’un point de vu zWave targetValue et currentValue sont intimement liés… au fil des développement c’est ce modèle qui est ressorti. Si je ne me trompe pas, c’est similaire à ce que fait l’intégration ZigBee dans le cas des volets (il y a une notion de position et de state pour une même fonctionnalité de base).
Dans le cadre d’un device n’implémentant pas le CommandClass Binary Switch aux côté du Multilevel Switch, il semble nécessaire de fournir un ON/OFF rapide décliné de la CommandClass Multilevel Switch.

Avec la dernière version (je pense qu’entre ton test et ton message, il y a eu une nouvelle version de la PR), ton device va même te proposer 3 commutateurs (là où le device que je teste se limite à 2) :

  • 1 pour 8-37-currentValue : parce que ton device remonte une CommandClass binary switch
  • 1 pour 8-38-currentValue : mappé en 8-38-currentvalue:state côté Gladys. C’est la fonctionnalité ON/OFF côté Gladys pour le Multilevel Switch
  • 1 pour 8-38-restorePrevious : que l’on voit dans ta capture zWaveJS UI.

Ce troisième commutateur, c’est la dernière modif’ du jour. La version que tu as testé a pour parti pris, quand l’utilisateur fait un ON => on demande en fait au device de se remettre dans le dernier état qu’il avait. Dans le scénario d’un inter, si j’appuie sur allumer => ça remet à la même intensité de lumière que la dernière valeur positive connue (comportement normal du multi level Switch zwave d’après la spec’ et identifié sur un inter physique). Dans le cas d’un radiateur, j’imagine que faire un ON le remet « au dernier niveau connu ».
Mais « après tout pourquoi limiter ce comportement ? Autant laisser le choix à l’utilisateur ». Ainsi, on propose 3 fonctionnalités à l’utilisateur :

  1. 1 slider (currentValue:position) ;
  2. 1 ON/OFF qui revient à la dernière position connue (restorePosition) ;
  3. 1 ON/OFF qui fait un allumage max’ (currentValue:state).

Ca laisse ainsi toutes les possibilités côté user.
Concrètement de mon côté, j’ai actuellement ça :
image
Qui donne
image
(en réalité, dans les faits sur un Tableau de bord, je n’utiliserais à priori que deux des 3 widgets. D’un point de vu USER, je prends une décision du comportement attendu d’un ON/OFF).

Est-ce que cela donne du sens à ce que tu vois dans ton cas ?

Pour autant, ton device semble différent. Il y a 1 chose qui m’intrigue dans ta capture : les currentValue semblent désynchronisées. J’ai quelques questions concernant ton device qui vont aider à orienter les modifications nécessaires à la PR :

  1. Passer à false le 8-37, positionne-t-il le 8-38 à 0 ?
  2. Si 8-37 est à false, positionner une targetValue > 0 sur 8-38 change-t-il 8-37 à true ? Ton radiateur s’allume-t-il dans ce scénario ?
  3. Si 8-37 est true, positionner une targetValue = 0 sur 8-38 change-t-il 8-37 à false ? Ton radiateur s’éteint-t-il dans ce scénario ?
  4. Si 8-38 est à 0 et que 8-37 est à false. Passer 8-37 à true : quel impact sur 8-38 ? (attention à faire le test si 8-38 était à 99 ou à 45 avant d’être à 0). Ton radiateur s’allume-t-il ?
  5. Si 8-37 est false, 8-38 est supérieur à 0, que le radiateur est éteint, changer 8-38 pour une autre valeur supérieure à 0. Que devient 8-37 ? Le radiateur s’allume-t-il ?

J’essaie ici de comprendre le lien des CCs de ton device. En fonction de tes réponses : on fera en sorte que, dans ta situation, seuls 2 commutateurs apparaissent (le ON/OFF MAX et le ON/OFF RESTORE).
J’ai d’autres appareil Multilevel Switch de mon côté : je vais les connecter pour voir dans quelles situations ils sont.

On peut ensuite chercher à proposer des choses plus limitées : « ne pas faire de distinction OFF/ON Max - OFF/ON restore => et se contenter du restore ». Sur ce point, je pense que laisser du contrôle à l’utilisateur est intéressant sur la notion de ON MAX / ON Restore.

N’hésite pas à me transmettre la conf’ de ton volet pour que j’ajuste les valeurs OUVRIR/FERMER.
Si tu peux également me transmettre l’onglet Debug Info de ton device du radiateur ça m’intéresse aussi : je souhaiterais vérifier le deviceClass qu’il expose. Le plus important pour corriger la PR reste les 5 questions de comportement de ton device.

Merci pour tes tests et ton aide !

Bonjour,

J’ai trouvé un autre Multilevel Switch chez moi en V3 :

A la différence du device de @_Will_71, bien qu’en V3, celui-ci n’a pas de Binary Switch associé. On ne peut donc pas faire de généralité en se basant sur ce critère. En fonction des réponses du comportement du device de Will demandées dans mon précédent poste on va donc pouvoir :

  • soit masquer le fait qu’il y ait un Binary Switch dans le cas où il est là
  • soit masquer le ON/OFF « virtuel » du multilevel switch - le currentvalue:state - (pour éviter d’en avoir un « superflu »)
  • soit laisser tel quel

Dès que j’ai les réponses j’adapte la PR !

Merci encore,

Bonjour,
Merci pour ton retour. Je te donne les réponses en fin de matinée.

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
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 « J'aime »

Volet Roulant

Tu as un deviceClass 17-7. Il s’agit d’un device qui connait la position exacte du volet à priori (nettement mieux que ce que j’utilise :smile: !). Je ne sais pas si cela a un lien ou pas. Je vais simplement inverser la gestion des valeurs dans le code. Mon installation est atypique, je vais m’en dépatouiller (en inversant les branchements ou en demandant à zWave d’inverser de son côté).

Merci pour ton fichier utile !

Radiateur

Juste pour être bien sûr du coup : changer le DIMMER pour une valeur différente de 0 ne va pas impacter le Binary Switch ? (même si tu cliques sur REFRESH dans ZwaveJS UI ?). Impossible par contre pour nous de savoir qu’entre 0-10 : cela veut dire OFF… D’un point de vu générique je suis obligé de me baser sur du > 0. (je vais contrôler ton fichier, il y a peut-être un truc qui m’indique ce point).

Merci pour ces précisions ça va m’aider à traiter. Ce que j’en comprends : c’est qu’il suffit de masquer le Binary Switch dans ton cas. Mais est-ce une généralité ? J’ai pas d’avis tranché sur la question. On peut se dire que par simplicité utilisateur : on va limiter le nombre de fonctionnalités affichées.

Je vais prendre en compte ceci cet aprem’. Tu auras donc 3 fonctions sur ton device :

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

Cela reste compatible avec ton cas d’utilisation ainsi qu’un dimmer plus classique de lumière (comme ceux que je teste). Cela te paraît ok ?

Je te fais signe quand la PR est à jour.

Merci encore @_Will_71 pour tes retours :+1:

Alors si je change le binary switch 8.37 cela change bien l’état du dimmer au valeur extreme donc soit 0 où 99.
Par contre si je change le dimmer cela ne change pas l’état de ce binary switch.

Concernant le 2ème binary switch lui est égal à true si le dimmer est supérieur à 0.

Après pour connaître la valeur et la correspondance, tout est indiqué dans la doc du device. Donc pour moi pas la peine de traduire dans Gladys.

J’ai l’impression qu’avec le zwave c’est difficile de définir quelque-chose qui est applicable pour tous les constructeur.

1 « J'aime »

Très clair merci.

Je vois quoi changer. Je te fais signe dans l’aprem

Merci :+1:

@_Will_71 la PR est à jour.

Tu dois normalement maintenant avoir le comportement suivant :

  • Avoir le bon sens pour tes volets roulants
  • Voir 3 fonctionnalités pour ton radiateur :
    • 1 variateur (currentvalue:position)
    • 1 commutateur (currentvalue:state) : il agit en tant que ON/OFF positionnant à 0 - 99
    • 1 commutateur (restorePrevious) : il agit en tant que ON/OFF positionnant à 0 sur OFF et « dernière valeur » sur ON

Je vais essayé :+1:

@Sescandell ,

Je viens d’essayé. Ok pour le sens du volet.
Pour le radiateur c’est bon aussi.

Mais il y a encore quelque-chose qui me dérange, tu peux dire que je suis chiant :joy:
Cela concerne le commutateur restorePrevious que tu as ajouté. Déjà pourquoi le mettre uniquement pour le radiateur alors qu’il est présent aussi sur le volet?
Et est-ce vraiment un commutateur OFF/ON? Dans l’interface zwave js ui j’ai pas l’impression.
Après je comprends car il n’y a pas encore la fonctionnalité adapté dans Gladys. Il faudrait la créer.

J’explique avec un exemple car du coup le fonctionnement est différent entre Gladys et Zwave JS UI.
Dans Zwave JS UI, j’ai le dimmer à 30.


Si j’appui sur le bouton RESTORE, le dimmer va à la valeur précédente 99.

Dans Gladys, j’ai aussi le dimmer à 30
image
J’appui sur le bouton RESTORE il passe à FALSE et le dimmer aussi.
image
Si je veux aller à la valeur d’avant je suis obligé d’appuyer de nouveau sur le bouton.
image
Je ne suis pas sûr que tout le monde comprenne d’appuyer 2 fois pour rétablir la précédente valeur!
Sachant qu’en plus que le switch revient à TRUE dès que le dimmer change d’état.

1 « J'aime »

On a échangé en direct avec @_Will_71 plutôt que de polluer ici. La conclusion est la suivante : tout est OK.

  • Niveau volets roulants : c’est OK
  • Niveau restorePrevious du radiateur : le comportement est OK. C’est juste que son device ne le gère pas réellement. Il est exposé, mais il n’en fait rien (il agit comme un simple ON/OFF). Pour autant, pour d’autres devices : ce restorePrevious a tout son sens.

Donc en soit c’est OK.

On pourrait ne pas exposer le restorePrevious dans le cas précis de ce ProductId. Je n’ai pas d’avis tranché si on doit, ou pas, se mettre à gérer des cas spécifiques par device. Dans ce cas précis, ce n’est pas grand chose à faire, et ça pourrait être fait dans un second temps.

Autre possibilité : on pourrait prendre le parti pris de ne pas exposer explicitement 2 ON/OFF. On fait systématiquement du restorePrevious dans le cas d’un ON (qui au pire des cas agit comme un ON basique). Pour rappel, la différence entre le ON classique et le restorePrevious (visible typiquement dans le cas d’un variateur de lumière) :

  • un bouton ON/OFF qui permet d’éteindre / allumer au max’
  • un bouton ON/OFF qui permet d’éteindre / allumer selon la dernière intensité qu’il y avait (comme le font les interrupteurs physiques)

Je trouve pour ma part qu’avoir le choix est intéressant.

@pierre-gilles n’hésite pas à donner ton avis sur ce dernier point. Sinon en soit : ready to merge.

Merci encore à @_Will_71 pour les tests !

3 « J'aime »

Salut @Sescandell @_Will_71,

Merci beaucoup pour le travail sur cette PR ! J’ai vu qu’il y avait beaucoup de messages, et pas mal de changements sur la PR, c’est très chouette :slight_smile: Fonctionnellement ça a l’air très cool.

J’ai beaucoup de questions pour vous, je pense qu’il est plus sage de ne pas inclure cette PR dans la release d’aujourd’hui, on aura pas le temps de voir les points ensemble avant la release.

Je m’occupe du forum et de la release et ensuite je pense que je vais passer une ou deux heures sur la PR pour vous faire des retours !

De toute façon les releases sont tellement fréquentes sur Gladys ça partira dans la prochaine :wink:

Merci encore !!

2 « J'aime »

Salut @Sescandell,

En relisant la PR, je me rend compte que j’ai vraiment énormément de question, est-ce qu’on peut se faire un petit call dans la semaine quand tu es dispo ? :slight_smile:

Si non, je peux tout coucher à l’écrit mais ça économiserait du temps à tout le monde si tu pouvais m’expliquer les changements à l’oral en partage d’écran ^^

Je suis dispo:

  • demain soir (20h?)
  • mercredi soir (20h?)
  • jeudi et vendredi toute la journée quand tu veux :slight_smile:

Dis moi !

Merci pour l’appel @Sescandell !

Je viens de tester ta PR avec mon capteur d’ouverture Fibaro et ça marche toujours nickel donc beau boulot :slight_smile:

Je t’ai mis quelques remarques de style de code sur la PR, rien de très grave :

1 « J'aime »

J’ai mis à jour la PR selon les remarques.

C’est poussé, testé.

Veux tu que je teste de mon côté ?