[zwaveJS]: feature additions for AEON Labs Smart Switch Gen5 ZW075

Hi @Sescandell
This module (plug-in) only retrieves the switch in Gladys. It would be great if you could add power, energy, voltage, and current if possible:
ZW075 AEON Labs / Smart Switch Gen5

MQTT Explorer

{"data":[{"id":67,"inited":true,"name":"67 - AEON Labs Smart Switch Gen5 ZW075","location":"Garage","status":4,"isControllerNode":false,"interviewStage":5,"deviceClass":{"basic":"Routing End Node","generic":"Binary Switch","specific":"Binary Power Switch"},"zwavePlusVersion":1,"ready":true,"zwavePlusRoleType":5,"isListening":true,"isFrequentListening":false,"canSleep":false,"isRouting":true,"supportedDataRates":[40000,100000],"maxDataRate":100000,"supportsSecurity":false,"isSecure":true,"supportsBeaming":true,"protocolVersion":3,"firmwareVersion":"3.26","manufacturerId":134,"manufacturer":"AEON Labs","productId":75,"productDescription":"Smart Switch Gen5","productType":3,"productLabel":"ZW075","deviceDatabaseUrl":"https://devices.zwave-js.io/?jumpTo=0x0086:0x0003:0x004b:3.26","keepAwake":false,"protocol":0},{"commandClassName":"Meter","commandClass":50,"property":"value","propertyKey":66049,"endpoint":0,"newValue":2264.711,"prevValue":2262.291,"propertyName":"value","propertyKeyName":"Electric_W_Consumed"}]}

ZwaveJS Debug Info

{
  "id": 67,
  "name": "67 - AEON Labs Smart Switch Gen5 ZW075",
  "loc": "Garage",
  "values": [
    {
      "id": "67-37-0-currentValue",
      "nodeId": 67,
      "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": true,
      "isCurrentValue": true,
      "targetValue": "37-0-targetValue",
      "lastUpdate": 1742936410358,
      "newValue": true
    },
    {
      "id": "67-37-0-targetValue",
      "nodeId": 67,
      "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": 1742587806457,
      "newValue": true
    },
    {
      "id": "67-43-0-sceneId",
      "nodeId": 67,
      "toUpdate": false,
      "commandClass": 43,
      "commandClassName": "Scene Activation",
      "endpoint": 0,
      "property": "sceneId",
      "propertyName": "sceneId",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Scene ID",
      "stateless": false,
      "commandClassVersion": 1,
      "min": 1,
      "max": 255,
      "list": false,
      "lastUpdate": 1742587806457
    },
    {
      "id": "67-43-0-dimmingDuration",
      "nodeId": 67,
      "toUpdate": false,
      "commandClass": 43,
      "commandClassName": "Scene Activation",
      "endpoint": 0,
      "property": "dimmingDuration",
      "propertyName": "dimmingDuration",
      "type": "duration",
      "readable": true,
      "writeable": true,
      "label": "Dimming duration",
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": {
        "unit": "seconds"
      },
      "lastUpdate": 1742587806457,
      "newValue": {
        "unit": "seconds"
      }
    },
    {
      "id": "67-44-0-level-1",
      "nodeId": 67,
      "toUpdate": false,
      "commandClass": 44,
      "commandClassName": "Scene Actuator Configuration",
      "endpoint": 0,
      "property": "level",
      "propertyName": "level",
      "propertyKey": 1,
      "propertyKeyName": "1",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Level (1)",
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 255,
      "list": false,
      "lastUpdate": 1742587806457
    },
    {
      "id": "67-44-0-dimmingDuration-1",
      "nodeId": 67,
      "toUpdate": false,
      "commandClass": 44,
      "commandClassName": "Scene Actuator Configuration",
      "endpoint": 0,
      "property": "dimmingDuration",
      "propertyName": "dimmingDuration",
      "propertyKey": 1,
      "propertyKeyName": "1",
      "type": "duration",
      "readable": true,
      "writeable": true,
      "label": "Dimming duration (1)",
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": {
        "unit": "seconds"
      },
      "lastUpdate": 1742587806457,
      "newValue": {
        "unit": "seconds"
      }
    },
...................

Hi @Sescandell
Have you already been able to take a look at this Z-Wave module?
Don’t hesitate to tell me if any information is missing.

Hello,

I’m watching

Hello,

PR available here: [zWaveJS] Support for Meter values (Energy consumption) by sescandell · Pull Request #2285 · GladysAssistant/Gladys · GitHub

ping @pierre-gilles (I don’t remember if it’s necessary to ping via the forum or if the PR is sufficient).

Enjoy the rest of the weekend!

Thanks @Sescandell for the PR, I just have a small comment: you set a feature in kWh as « power », but I think that’s not the right type :slight_smile:

My review: [zWaveJS] Support for Meter values (Energy consumption) by sescandell · Pull Request #2285 · GladysAssistant/Gladys · GitHub

Have you tested the PR in a real environment? If not, can you make a build so that @mutmut can test?

Thanks again Stéphane :folded_hands:

It’s always better to ping me, otherwise it’s impossible to know whether the PR is ready or not :stuck_out_tongue: Some people open PRs before they’re ready, and leave them abandoned for several months, so the only way for me to be aware is to tell me :smiley:

Hello @pierre-gilles

It’s fixed, thanks for your attention.

Yes I tested on my device:

And I have indeed made an image available if someone else wants to test: sescandell/gladys-test:pr-zwaveJsMeter

Good evening,

thanks @Sescandell, I installed your image and I’m letting the meters run.
For now I’m getting some instantaneous data.

A note about the switches. At first the 3 were at 0 while the 3 sockets are turned on.
When I click one of the switches it stays off in Gladys and the corresponding socket is indeed turned off. And when I click again the switch changes to On and the socket does too.

Do you have a way to set the switch to the correct value when the dashboard loads?

This is indeed an initialization bug globally on the Z-Wave service (I don’t know if it’s the same for the other modules). I’ll keep that in mind :+1:

A screenshot with several modules to validate @Sescandell’s great work on these new features!

If that’s good for you then, I’ll merge :slight_smile:

Thanks @Sescandell for this PR, great work as always! :smiley:

This new feature is available in Gladys Assistant 4.58: