Hi, Looking for some hints or guidance to get me unblocked. So, first of all, I need to state that I am a little confused about the various versions and options around Zwave integrations (I migrated a while back to running a stand-alone zwavejs2mqtt server based on some recommendation that I read) … however, key takeaway is that I had a nice working system until a few weeks ago and now I can’t control my Zwave devices. This didn’t happen during an HA upgrade … although I do have unattended security upgrades on most of my containers.
The issue is that my zwavejs2mqtt service won’t start properly. It dies looping with this error:
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16504]: #033[90m2022-05-07 01:43:03.042#033[39m #033[32mINFO#033[39m #033[1mMQTT#033[22m: Connecting to mqtt://mqtt.mydomain.com:2883
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16504]: [Error: ENOENT: no such file or directory, mkdir 'null'] {
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16504]: errno: -2,
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16504]: code: 'ENOENT',
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16504]: syscall: 'mkdir',
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16504]: path: 'null'
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16504]: }
May 7 01:43:03 zwavejs2mqtt systemd[1]: snap.zwavejs2mqtt.zwavejs2mqtt.service: Main process exited, code=exited, status=1/FAILURE
May 7 01:43:03 zwavejs2mqtt systemd[1]: snap.zwavejs2mqtt.zwavejs2mqtt.service: Failed with result 'exit-code'.
May 7 01:43:03 zwavejs2mqtt systemd[1]: snap.zwavejs2mqtt.zwavejs2mqtt.service: Scheduled restart job, restart counter is at 136.
May 7 01:43:03 zwavejs2mqtt systemd[1]: Stopped Service for snap application zwavejs2mqtt.zwavejs2mqtt.
May 7 01:43:03 zwavejs2mqtt systemd[1]: Started Service for snap application zwavejs2mqtt.zwavejs2mqtt.
May 7 01:43:03 zwavejs2mqtt zwavejs2mqtt.zwavejs2mqtt[16549]: Missing plug: «serial-port»
My setup is as follows:
HA runs in an LXC container managed by LXD ( I install and upgrade in a venv)
ZWaveJS2MQTT runs in a different LXC container on the same host - it is installed as a snap
My USB devices (Zwave and Zgbee dongles) are passed through to the HA container from the host
I have a “Zwave JS” integration in HA that points to the zwavejs2mqttcontainer ip on port 3000
This setup WAS working well for more than a year or two. It stopped a few weeks ago and I can’t pinpoint any change I made as a trigger. I’ve reviewed my bash_history to double check the various permission tweaks on the ttyACM* devices as well as any sysctl commands needed to be sure the containerization doesn’t get in the way (usually needed after host reboots).
While troubleshooting, I ran sudo zwavejs2mqtt.help and saw:
Info on the serial-port plug:
This plug requires the experimental hotplug feature in snapd.
Enable it with
$ sudo snap set system experimental.hotplug=true
And restart snapd with:
$ sudo systemctl restart snapd
Now list available serial slots with:
$ sudo snap iterface serial-port
And connect it to zwavejs2mqtt with:
$ sudo snap connect zwavejs2mqtt:serial-port slotname
I ran through that (fixing iterface for interface) … but I didn’t succeed with the last command … not sure what to use for the slotname. Although all that might be unrelated:
sudo snap interface serial-port
name: serial-port
summary: allows accessing a specific serial port
plugs:
- zwavejs2mqtt
uname@zwavejs2mqtt:~$ sudo snap connect zwavejs2mqtt:serial-port zwavejs2mqtt
error: snap "zwavejs2mqtt" has no "serial-port" interface slots
Anybody stumbled across anything similar? Any hints or ideas appreciated!
Thanks!