Why is this light turning on?

I have an older Z-wave plug-in dimmer that I recently added to ZwaveJS to MQTT without incident… and it’s been going on by itself for the past few days. It only turns on by itself, and not off by itself. I have a couple of Node-RED flows that result in it turning on, but none of those show that they’re executing. History shows accurate status; after turning off, the time that passes until it turns on by itself seems to be random: it could be a minute or two, or it could be five or more minutes. Earlier this morning it was off for almost three hours, then turned on inexplicably.

The logbook shows only, “[device] turned on,” not turned on by user, not turned on by Hass.io, not turned on by script. I do have one script that turns the light on, but only as part of a group. I’m physically in front of the light and no one is touching it when it goes on.

In the plugin, v0.18.1, there aren’t any timed off or on options, as this is an older Leviton RF+ device. When I used it with Vera some years ago, I never had this happen.

So… in a case like this, how do I suss out the gremlin? I’ve only had this happen once before with an Inovelli dimmer switch, but it stopped after a day or two of misbehavior.

Are there any configuration parameters for the dimmer that set timeout or trigger values?

Is the dimmer associated to any device groups on other devices?

[quote=“Prodigyplace, post:2, topic:315455, full:true”]
Are there any configuration parameters for the dimmer that set timeout or trigger values?[/quote]
No… this device, whether it’s due to age or something else, doesn’t have those capabilities:

I haven’t made any such associations. I manage groups through groups.yaml. I did an exclude and then an include when I added it.

I just noticed there was an update to ZwaveJS to MQTT, and I’ve upgraded to 0.19.1. Since upgrading, the light turned on again:

What brand and model is the dimmer? Perhaps it is not in the device database.

Click the dropdown for that device and then the debug info tab, Posting the informaiton from there could be useful.

I just had a look at it; it’s a Leviton VRP03. 300W dimming module. Vizia RF +.

Here’s the info from the debug tab:

{
  "id": 88,
  "name": "Basement_Floor_Lamp",
  "loc": "Basement",
  "values": [
    {
      "id": "88-38-0-targetValue",
      "nodeId": 88,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "targetValue",
      "propertyName": "targetValue",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Target value",
      "stateless": false,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 0,
      "lastUpdate": 1623608194603,
      "newValue": 0
    },
    {
      "id": "88-38-0-duration",
      "nodeId": 88,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "duration",
      "propertyName": "duration",
      "type": "duration",
      "readable": true,
      "writeable": true,
      "label": "Transition duration",
      "stateless": false,
      "list": false,
      "value": {
        "unit": "seconds"
      },
      "lastUpdate": 1623608194604,
      "newValue": {
        "unit": "seconds"
      }
    },
    {
      "id": "88-38-0-currentValue",
      "nodeId": 88,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Current value",
      "stateless": false,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 99,
      "isCurrentValue": true,
      "targetValue": "38-0-targetValue",
      "lastUpdate": 1623613064096,
      "newValue": 99
    },
    {
      "id": "88-38-0-Up",
      "nodeId": 88,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "Up",
      "propertyName": "Up",
      "type": "boolean",
      "readable": true,
      "writeable": true,
      "label": "Perform a level change (Up)",
      "ccSpecific": {
        "switchType": 2
      },
      "stateless": false,
      "list": false,
      "lastUpdate": 1623608194607
    },
    {
      "id": "88-38-0-Down",
      "nodeId": 88,
      "commandClass": 38,
      "commandClassName": "Multilevel Switch",
      "endpoint": 0,
      "property": "Down",
      "propertyName": "Down",
      "type": "boolean",
      "readable": true,
      "writeable": true,
      "label": "Perform a level change (Down)",
      "ccSpecific": {
        "switchType": 2
      },
      "stateless": false,
      "list": false,
      "lastUpdate": 1623608194607
    },
    {
      "id": "88-43-0-sceneId",
      "nodeId": 88,
      "commandClass": 43,
      "commandClassName": "Scene Activation",
      "endpoint": 0,
      "property": "sceneId",
      "propertyName": "sceneId",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Scene ID",
      "stateless": false,
      "min": 1,
      "max": 255,
      "list": false,
      "lastUpdate": 1623608194607
    },
    {
      "id": "88-43-0-dimmingDuration",
      "nodeId": 88,
      "commandClass": 43,
      "commandClassName": "Scene Activation",
      "endpoint": 0,
      "property": "dimmingDuration",
      "propertyName": "dimmingDuration",
      "type": "any",
      "readable": true,
      "writeable": true,
      "label": "Dimming duration",
      "stateless": false,
      "list": false,
      "lastUpdate": 1623608194608
    },
    {
      "id": "88-114-0-manufacturerId",
      "nodeId": 88,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "manufacturerId",
      "propertyName": "manufacturerId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Manufacturer ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 29,
      "lastUpdate": 1623608194608,
      "newValue": 29
    },
    {
      "id": "88-114-0-productType",
      "nodeId": 88,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productType",
      "propertyName": "productType",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product type",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 514,
      "lastUpdate": 1623608194609,
      "newValue": 514
    },
    {
      "id": "88-114-0-productId",
      "nodeId": 88,
      "commandClass": 114,
      "commandClassName": "Manufacturer Specific",
      "endpoint": 0,
      "property": "productId",
      "propertyName": "productId",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Product ID",
      "stateless": false,
      "min": 0,
      "max": 65535,
      "list": false,
      "value": 779,
      "lastUpdate": 1623608194609,
      "newValue": 779
    },
    {
      "id": "88-134-0-libraryType",
      "nodeId": 88,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "libraryType",
      "propertyName": "libraryType",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Library type",
      "stateless": false,
      "list": false,
      "value": 3,
      "lastUpdate": 1623608194609,
      "newValue": 3
    },
    {
      "id": "88-134-0-protocolVersion",
      "nodeId": 88,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "protocolVersion",
      "propertyName": "protocolVersion",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave protocol version",
      "stateless": false,
      "list": false,
      "value": "3.11",
      "lastUpdate": 1623608194610,
      "newValue": "3.11"
    },
    {
      "id": "88-134-0-firmwareVersions",
      "nodeId": 88,
      "commandClass": 134,
      "commandClassName": "Version",
      "endpoint": 0,
      "property": "firmwareVersions",
      "propertyName": "firmwareVersions",
      "type": "any",
      "readable": true,
      "writeable": false,
      "label": "Z-Wave chip firmware versions",
      "stateless": false,
      "list": false,
      "value": [
        "0.6"
      ],
      "lastUpdate": 1623608194610,
      "newValue": [
        "0.6"
      ]
    }
  ],
  "groups": [
    {
      "text": "Group 1",
      "endpoint": 0,
      "value": 1,
      "maxNodes": 232,
      "isLifeline": true,
      "multiChannel": false
    }
  ],
  "neighbors": [],
  "ready": true,
  "available": true,
  "hassDevices": {},
  "failed": false,
  "inited": true,
  "hexId": "0x001d-0x0202-0x030b",
  "dbLink": "https://devices.zwave-js.io/?jumpTo=0x001d:0x0202:0x030b:0.6",
  "manufacturerId": 29,
  "productId": 779,
  "productType": 514,
  "productLabel": "VRP03",
  "productDescription": "300W Scene Capable Plug-In Lamp Dimming Module",
  "manufacturer": "Leviton",
  "firmwareVersion": "0.6",
  "protocolVersion": 3,
  "nodeType": 1,
  "endpointsCount": 0,
  "endpointIndizes": [],
  "isSecure": false,
  "supportsSecurity": false,
  "supportsBeaming": true,
  "isControllerNode": false,
  "isListening": true,
  "isFrequentListening": false,
  "isRouting": true,
  "keepAwake": false,
  "maxDataRate": 40000,
  "deviceClass": {
    "basic": 4,
    "generic": 17,
    "specific": 4
  },
  "deviceId": "29-779-514",
  "status": "Alive",
  "interviewStage": "Complete",
  "lastActive": 1623613064096,
  "_name": "Basement_Floor_Lamp (Basement)"
}

Thanks for having a look.

I do not think you looked the right place :frowning: I am interested in the information in the lower box.

1 Like

I just looked at the model and I do not think there are any configuration parameters, like you said.

I do not use Node-Red so I cannot help there.

Yes, that’s where I found that text:

The top part of that window was what I was looking for but the whole thing may be useful. Click the double sheet symbol to copy all that text & paste it here. The but you show me indicates it SHOULD have some configuration options myu I cannot find the information in my searching.

Sorry, I don’t understand; the entire debug tab text is posted above.

Are you using MQTT? Is there maybe a message “stuck” with the Retain flag set? (That turns on the light)
Does this happen when anything is restarted or a lost connection?

1 Like

No, I’m not using MQTT. I can sit in front of the light, turn it off via HA (and the log shows it as turned off by [username]), and then watch it go on. I played this little Zwave version of keep-away for a few hours yesterday, watching the light go on, checking logs/history, turning it off, and watching it go on again after anywhere between two minutes to a few hours.

I’ve ruled out Node-RED. There are only two flows with this light as a node, either alone or referenced in a group. The light module is referenced in a script, but if turned on by a script, it will show that in the logs ([device] turned on by script xxxxxx).

EDIT: I guess I’d like to know the conditions that lead to the logbook entry, “light turned on” with no additional info, as in post #3 above.

Have you truly ruled out Node-Red by stopping/disabling it and seeing if the light still changes?

I downloaded all of my Node-Red flows in text and searched for the entity to be sure there weren’t more instances of it than I thought… and there’s actually only one that’s still enabled, which I’ve been watching all along… that flow hasn’t executed during the time the light is going on. I disabled it anyway.

I have the light off now, and it’s been off for about 5 minutes. I’ll keep watching it.

EDIT: The light turned on some time ago… about an hour and 35 minutes after I turned it off. In the logbook, there is nothing else going on during that time: no scripts, no Hass.io events, nothing. I myself was just working at my desk when it went on.

You say you’re not using MQTT, yet the issue is with a device attached via “ZwaveJS to MQTT”. So you probably are using MQTT behind the scenes. You might try running MQTT Explorer (or equivalent) to see if it logs any MQTT data that could be helpful.

The only other thing I can think of would be to completely turn off (power off) HA for a few hours and see if the light still turns on - just in case the Z-wave signal is coming from somewhere else besides HA.

1 Like

Is there any chance the device is going bad. I have had multiple z-wave device failures and the system gets very flakey when this is happening. I have had the light cycle on/off, turn on other lights, crash the z-wave network etc. The problem node can be difficult to find but is usually associated with the node that is having problems in some way.

Just a thought.

I found another identical dimmer module to use as a test. I excluded/included it, then renamed the malfunctioning module as something generic, and named the newly-added module with the same entity ID as the malfunctioning one… and the new one is also turning on by itself.

This eliminates some potential causes, but I’m no closer to figuring out what is turning this thing on.

My first step would be to use MQTT Explorer or similar to find out what is initiating the turn on. If you see a command being sent via the /set topic when the light turns on, then HA is the cause. If there’s nothing in the /set topic, then the light is turning itself on and HA is just reporting the fact (or Zwave JS to MQTT could be at fault).

I have zero experience with MQTT, and no running broker that I’m aware of… unless ZwaveJS to MQTT behaves as one. I’ve downloaded the portable version of MQTT Explorer, but I have no idea what server to connect to or what the authentication would be.

I use zwavetomqtt, so the UI is very similar. If you look in settings, do you see an expandable section titled “MQTT”?