Для того, чтобы заработала связка Node-RED с Z-Wave (open-zwave) на RPI3, нужно выполнить следующий набор манипуляций:
- Сначала ставим из коробки Node-RED (настоятельно рекомендую делать все операции из-под юзера, например pi, без sudo)
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered sudo systemctl enable nodered.service
- Собираем руками open-zwave
sudo apt install libudev-dev # ставим зависимости git clone https://github.com/OpenZWave/open-zwave make -j 4 sudo make install # чтобы npm смог найти потом либу # если это не сделать, то потом при запуске node-red в логе # будут жалобы на линк: Error: libopenzwave.so.1.4: cannot open shared object file: No such file or directory export LD_LIBRARY_PATH=/usr/local/lib sudo ldconfig
- Для корректной работоспособности Razberry на RPI3 нужно отключить bluetooth, потому что они оба используют один и тот же UART
в /boot/config.txt добавить строчку dtoverlay=pi3-disable-bt
- Устанавливаем в node-red нужные ноды
cd ~/.node-red npm install openzwave-shared npm install node-red-contrib-openzwave
- Для того, чтобы node-red смогла открыть порт /dev/ttyAMA0 (через который работает razberry) меняем настройку
systemctl mask serial-getty@ttyAMA0.service в файле /boot/cmdline.txt убираем
console=serial0,115200
чтобы ядро перестало писать в serial - reboot