Zwave-JS-UI in place of OH Zwave binding

Just a short update to a side-problem:
(solved):Zwave remote connection rfc2217 vs tcp (raw). running zwave-js-ui with zwave binding - #10 by Oekel

My working stack/docker-compose:

version: '3.7'

services:
  openhab:
    image: "openhab/openhab:4.1.1"
    container_name: openhab-bremen
    restart: unless-stopped
    ports:
      - "8081:8080"
      - "8444:8443"
      - "9004:9001"
    #network_mode: host
    networks:
      vlan50:
        ipv4_address: 192.168.5.201
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "openhab_addons:/openhab/addons"
      - "openhab_conf:/openhab/conf"
      - "openhab_userdata:/openhab/userdata"
    environment:
      CRYPTO_POLICY: "unlimited"
      EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin"
      OPENHAB_HTTP_PORT: "8080"
      OPENHAB_HTTPS_PORT: "8443"

  mosquitto:
    image: eclipse-mosquitto
    container_name: mosquitto-bremen
    volumes:
      - /var/lib/docker/custom/mosquitto/config:/mosquitto/config
      - mosquitto_data:/mosquitto/data
      - mosquitto_log:/mosquitto/log
    ports:
      - 1884:1883
      - 9002:9001
    networks:
      vlan50:
        ipv4_address: 192.168.5.202
    environment:
      MOSQUITTO_USERNAME: "openhab"
      MOSQUITTO_PASSWORD: "mqtt63535"

  zwave-js-ui:
    container_name: zwave-js-ui-bremen
    image: zwavejs/zwave-js-ui:latest
    restart: unless-stopped
    tty: true
    stop_signal: SIGINT
    environment:
      - SESSION_SECRET=mysupersecretkey
      - ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db
      # Uncomment if you want logs time and dates to match your timezone instead of UTC
      # Available at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      - TZ=Europe/Berlin
    networks:
      vlan50:
        ipv4_address: 192.168.5.203
    #devices:
      # Do not use /dev/ttyUSBX serial devices, as those mappings can change over time.
      # Instead, use the /dev/serial/by-id/X serial device for your Z-Wave stick.
      #- 'tcp://192.168.1.102:4000'
    volumes:
      - zwave-config:/usr/src/app/store
    #ports:
      #- '8091:8091' # port for web interface
      #- '3000:3000' # port for Z-Wave JS websocket server

volumes:
  openhab_addons:
    driver: local
  openhab_conf:
    driver: local
  openhab_userdata:
    driver: local

  mosquitto_data:
    driver: local
  mosquitto_log:
    driver: local

  zwave-config:
    name: zwave-config

networks:
  vlan50:
    external: true

1 Like

Just for feedback, I moved from zwave binding to zwavejsui mqtt too.
I spent too much time trying to debug and optimize the old binding with my new aeotec zstick7 (which os not very performant).
Now with zwavejsui it is more powerfull and resilent in my case and my configuration.
I moved all devices from zwavebinding to MQTT, with same endpoint names, so I just had to change the channel prefix in my item file (from zwave:xxx to mqtt:xxx) with a replace all and voila.
With previous configuration examples (thanks again to them), I successfullly reconfigure all my devices that work flawlessly, and here is the list for information :

  • FGD212
  • FGS223
  • FGS213
  • FGMS001
  • NAS-PD07Z
  • ZW100
  • NAS-DS01Z
  • NEO-DS07Z
  • FGDW002

Tempting to move over, but question is when mqtt support will be dropped :grimacing:.

As I understand it, the whole point of ZUI is to make Z-Wave available over MQTT, so I don’t see any reason they’d drop it. Is there a particular reason for your concern?

My impression was that they are moving over to websockets?

Websockets is their preferred interface, but I’ve never heard anything about dropping MQTT altogether. The Home Assistant Discovery via MQTT isn’t well maintained, but I’ve made a few PRs recently and they’ve been accepted. I fully use Home Assistant Discovery with openHAB and zwave-js-ui now. No manually configured MQTT things.

3 Likes

For anyone wondering whether a move to an 800 series controller is possible as part of this migration I’m happy to report following the recent addition of 800 series backup/restore to Zwave-JS in Feb that this works really well.

I took the plunge and moved to a Zooz ZST39 800 series controller, the migration was trivial and my network has been as stable as with my 500 series controller with most of my nodes now talking directly with the controller where previously several of them had 2-3 hops via other nodes.

Thank you.
It works as you described.