Zigbee mesh in house with thick concrete walls and stairways

If you have Wifi connectivity (or LAN) across the floors then you could run Zigbee2MQTT on a pi (even a pi zero?) on each level. As long as they all talk back to the same MQTT server with different base topics it will work perfectly.

I have done this in my own home to get over similar issues (it was built in 1662 and the walls are between 3ft and 10ft thick - solid granite/sandstone/whatever mix :slight_smile:

4 Likes

One option might be to replace the in-wall light switch for the stairway with a Zigbee switch. Those would remain powered and act as a repeater even when switched off. And you’d gain control over the lights in the stairway. If you already have a Zigbee wall plug you could test it before purchase by plugging it into an extension cord and temporarily placing it close to the existing light switch.

2 Likes

Not all light switches are repeaters, especially if it is a “no-neutral” switch.

1 Like

In the critical area of stairway(s) there is no any junction box for fitting in it the zigbee switch. Negative of this option
1)The place with switches, both ends, are away from the stairway it self therefore no distance gain
2) need for changing the wiring for bringing L+N to the switch box.

Could you direct me to any URL with such tutorial? If I’ll do it, what should be installed in the raspberries?

Hi, normal raspian should do. Here’s a link.

https://www.zigbee2mqtt.io/guide/installation/01_linux.html

1 Like

This article is talking for configuration.yaml !!
Do I need to install complete HA in raspberries? In such case, Im not sure for the capacity of the zero or 3B that I have in my hands.

Nope, there is no requirement for HA on the pi. Zigbee2Mqtt is standalone (and also an add-on for your main HA install).

My second pi is running Raspian with no HA. The configuration.yaml mentioned is purely for Zigbee2MQTT :slight_smile:

All you will need are some extra zigbee dongles (which can found quite cheaply)

Thanks Neil, I’ll try it ASAP.
Just broke a pin of CC2531 while trying to bend it for soldering cables (again).
I have to buy a debug cable at least…
It should have coordinator firmware in it, eh?

if you still use a CC2531 as coordinator, move to a CC2652. It makes a lot of difference in your mesh.

No coordinator is a sonoff cc2652P, cc2531 is surplus from the upgrade

If you mean for the “remote” z2m instance, yes, coordinator firmware. You basically have two separate zigbee networks at that point.

An alternative to using a Pi if too hard to find (but pretty much any SBC could work), would be an ethernet connected coordinator like CC2652P2 based Zigbee to Ethernet/USB Serial Coordinator 2023 – TubesZB. Then run the extra instance of z2m on the HA machine.

1 Like

Be sure to also read and follow the tips here → Guide for Zigbee interference avoidance and network range/coverage optimization

1 Like

Guys, I have received cables, pins etc everything is available.

For the time being I have one cc251 in router mode which is not pairing with zigbee2mqtt of HA with cc2652P as coordinator. It is working and pairing perfect with ZHA!! I did some trials with its location and found that only with it in proper operation, in the middle of upper stairway I can reach a lot of remote places.

The other two cc2531 flashed with the standard coordinator firmware and I have spent a lot of time for installing the zigbee2mqttt in raspberry zero. Main problem was the node.js installation.

Presently I’m fixing the first of the two raspberries and this time I’m doing troubleshooting of the startup in the first one. Revering with a request of help or results.
I’m not sure if I have to make a new mqtt user in HA or I should put in raspberry’s yaml the credentials of the single user of mqtt in HA


Here we are stacked,
when checking running services I cant see anything there.
When starting with “npm start” I have this
Local ip is the ip of Home assistant, is this ok?

Use the same credentials for mqtt as the one installed on the HA server. Also make sure the base topic is different (i.e. zigbee2mqtt_pi or something similar).

Guys, I have use these instructions for getting there

  1. for installing node.js in rasperry pi zero this
  2. for installing the zigbee2mqtt this

checking in running services with " service --status-all" I have thisrasp-z-zigbee-services

when running manually “npm start” then this

I dont know what is going on, obviously nothing is stating up and nothing is running.
Any clue?

You have to run npm start in the directory you installed Zigbee2MQTT

1 Like

And here you have to change 2 lines

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
Environment=NODE_ENV=production
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
# Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5)
StandardError=inherit
Restart=always
RestartSec=10s
User=pi

[Install]
WantedBy=multi-user.target

On dietpi, there is no user pi, so change the line

User=pi

to

User=root

and this line

ExecStart=/usr/bin/npm start

should probably be (if you did exacly what was written here :Install NodeJS on a Raspberry Pi Zero)

ExecStart=/usr/local/npm start
1 Like

When I’m in /opt/zigbee2mqtt I can start it manually with “npm start”
but
auto start in boot is not functioning, although /etc/systemd/system/zigbee2mqtt.service has been revised, as advised above.

in this how to in the section “Install Zigbee2MQTT and it’s dependencies”
instead of “sudo chown -R pi:pi /opt/zigbee2mqtt”
replaced with “sudo chown -R root:root /opt/zigbee2mqtt” and this is the only point that didn’t comply 100%

Edit: Just realized that the path of npn is /usr/local/bin/npm and revised the accordingly the /etc/systemd/system/zigbee2mqtt.service …and zigbee2mqtt is up and running. Now Im repeating reboot for test.

Edit2: it’s up and running again and again. Raspberry zero needs 1 min and 55 seconds from reboot to see again the web interface of zigbee2mqtt.

Now, the next step. How to connect it with HA? in which point is connected ? just one more serial in /config/zigbee2mqtt or what?

Edit3. I got the devices of the z2m of raspberry at MQTT list (integrations/MQTT/DEVICES).

Now is remaining only the mystery of non pairing cc2531(router) to cc2652p(coordinator) or the
cc2531(coordinator)

Thanks guys!!!

1 Like