Connect ZWA-2 anywhere: Use Z-Wave over Wi-Fi or PoE

fun fun

1 Like

Even to far away for the newest Z-Wave LR (Z-Wave Long Range, a.k.a. ZWLR) devices based on Z-Wave 800 Series hardware chip? See example → Z-Wave Long Range Devices - The Smartest House

When commission and choose to connect a such device via Z-Wave Long Range to the ZWA-2 adapter as controller it will not use mesh but instead connect directly using their LR technology which can be up to a 1-mile away in optimal conditions.

Again, another option is ti setup a second Z-Wave JS Server in the other location using for example a Raspberry Pi with its own dedicated ZWA-2 adapter as Z-Wave controller.

1 Like

Sorry to hijack this thread, but I’m having issues with a Waveshare ESP32-S3-POE board and a Sonoff Z-wave 800 stick. When configured direct to my HA host via USB, it seems to work just fine. Moving the transceiver to a Z-wave PoE bridge works for the most part, but I cannot include, exclude, or interview any devices. Tried using the zwave_proxy component in esphome and via esphome’s api. Also tried tube0013’s solution of using a stream_server direct to a tcp socket. I’m completely perplexed why these basic functions aren’t working, yet I can see existing devices on the network and all the events coming and going from them. Thanks in advance if anyone can see anything obviously wrong–I’ve been staring at this too long…

esphome:
  name: hub-zwave
  friendly_name: hub-zwave

esp32:
  variant: esp32s3
  flash_size: 16MB
  framework:
    type: esp-idf\
    ##sdkconfig_otpions added per https://raw.githubusercontent.com/tube0013/TubesZB-ESPHome-Builder/refs/heads/main/manifests/tubeszb-zw.yaml
    sdkconfig_options:
      CONFIG_LWIP_MAX_SOCKETS: "16"
      CONFIG_PM_ENABLE: "n"
      # Prevent IDF from trying to power-down UART in light sleep, which causes
      # uart_param_config to return ESP_ERR_NOT_SUPPORTED on some targets
      CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP: "n"
      CONFIG_UART_ISR_IN_IRAM: "y"

## reqs for tube0013's stream_server solution
# external_components:
#   - source: github://oxan/esphome-stream-server
#   - source: github://tjhorner/esphome-custom-components
#     components: [ project_version ]

psram:
  mode: octal
  speed: 80MHz

ethernet:
  type: W5500
  mosi_pin: GPIO11
  miso_pin: GPIO12
  clk_pin: GPIO13
  cs_pin: GPIO14
  reset_pin: GPIO9
  interrupt_pin: GPIO10

mdns:
  services:
    - service: "_zwave"
      protocol: "_tcp"
      port: 6053
      txt:
        protocol: "esphome"

button:
  - platform: restart
    id: restart_btn
    name: "Restart"
    entity_category: diagnostic
    disabled_by_default: true

# Enable logging
logger:
  hardware_uart: UART0

# Enable Home Assistant API
api:
  reboot_timeout: 0s

ota:
  - platform: esphome

usb_host:
  devices:
    - id: device_0
      vid: 0x10c4
      pid: 0xea60

usb_uart:
  - type: CP210X
    vid: 0x10c4
    pid: 0xea60
    channels:
      - id: uch_1
        baud_rate: 115200
        buffer_size: 2048
    
zwave_proxy:
  id: zw_proxy

## stream_server config
# stream_server:
#   uart_id: uch_1
#   port: 6638
#   buffer_size: 1024

Thank you for the info! Sorry for delay. I actually bought a LR stick and LR device, very excitedly, and was shocked to find that it’s range did not seem to be much more than normal zwave. That was about 6 months ago. If it worked well for you then maybe I will test it again.

If that does not work then I think the second JS server is the only option. I have never done that. Can both be controlled via the same HA instance or how does that work?

Thanks again!

You are now getting really off-topic so you start a new thread to ask for support to not hijack these comments, hence do not reply more about that here if have further questions. Anyway, in summery you first install a separate stand-alone Z-Wave JS Server with its own Z-Wave Controller on a different computer and then you just install another instans of the Z-Wave integration which you connect to that remote host instead of the local host → Z-Wave - Home Assistant

Update: I dug out my old Nortek HUSBZB-1 and tried that. No issues via zwave_proxy, so it’s something with the Sonoff adapter and/or how I’m commuictaing with it. Also validated that there weren’t any funny usb power drops from the waveshare. I’ll exit this thread for now, as my issue is clearly unique to the Sonoff. I’ve reached out to them for suggestions and will post an edit for posterity if I get anywhere.

Hi, So my PoE connected ZWA2 show multiple times per day the jammed message. The network has about 130 nodes and it seems to work fine.
I have researched a lot about the subject, can’t find anything conclusive.

Is your ZWA2 doing the same ?

FYI, ESPHome 2026.3.0 - March 2026 added a new experimental ā€œSerial Proxyā€ component (serial_proxy) via esphome/esphome#13944 which should open it up to connecting remote Zigbee Coordinator USB adapters like the ZBT-2 adapter to Home Assistant’s ZHA integration. See:

As I understand has the limitation of using the native ESHome API, so while it should work with internal components that uses serial-dongles like ZHA and EnOcean, etc., it will probably not suitable for example Zigbee2MQTT which runs in standalone container, and max throughput is only up to 256 bytes on each loop iteration, but at least it have all other features including encryption and runtime control.

PS: They also signifigantly improved the API and Protobuf encoding performance which this and other proxy components makes use of so should be less overhead to use many:

2 Likes

I’m using a raspberry pi for that purpose. It’s running docker zigbee2mqtt, docker zwave and ser2net for Plugwise circle stick.
Would love to run each device via an esp32 because the pi does not like a power outage and is I manual power it down I have to reset power of pi to get it restarted meaning I need and extra Shelly (which I can switch on/off via wifi) to do that since I’m not alway physically at the site.

Hi all, has anyone deployed more than one ZWA-2 over POE successfully? I see some mentions of running one more ZWave JS instance, is it possible to do this within HA itself?

I currently have a zooz 800 USB on the rack running HA, and a different Zooz800 with poe board running at another side of the property. It ā€œworksā€ but is finnicky, I have Z-Wave on HA & Z-Wave JS UI running as a container talking to HA. Its a bit of a pain, and the zooz radios perform much worse than the ZWA-2 in my experience at my home… I’d like to update this other location to ZWA-2 but its an interference heavy environment, with plenty of steel walls in between, so I’d rather go for more than one ZWA-2. I understand you cant run the ZWA-2 as a repater/router yet, correct? Thanks for all info!!

Actually they published experimental Z-Wave repeater firmware for ZWA-2 just last week → We now make the best repeaters

Many questions about it asked and answered on Reddit here:

1 Like

Hi @Hedda thanks so much for pointint this out! Will go down this route for now

WiFi transport works flawlessly with ZWA-2 and ZBT-2 for Z-Wave and Zigbee and Thread.

I spun up a way to do it here until the official methods are published:

2 Likes

Is this becoming a standard feature of the ZWA-2 with no need to flash the firmware?