惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
Webroot Blog
Webroot Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
TaoSecurity Blog
TaoSecurity Blog
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News | PayPal Newsroom
S
Security Affairs
T
Tor Project blog
P
Proofpoint News Feed
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
Help Net Security
Help Net Security
U
Unit 42
云风的 BLOG
云风的 BLOG
The Hacker News
The Hacker News
Cisco Talos Blog
Cisco Talos Blog
量子位
F
Full Disclosure
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
有赞技术团队
有赞技术团队
T
Troy Hunt's Blog
P
Privacy & Cybersecurity Law Blog
Forbes - Security
Forbes - Security
人人都是产品经理
人人都是产品经理
L
Lohrmann on Cybersecurity
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
腾讯CDC
AI
AI
Last Week in AI
Last Week in AI
Latest news
Latest news
Google Online Security Blog
Google Online Security Blog
N
Netflix TechBlog - Medium
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
Martin Fowler
Martin Fowler
Blog — PlanetScale
Blog — PlanetScale
V2EX - 技术
V2EX - 技术
酷 壳 – CoolShell
酷 壳 – CoolShell

AUR Newest Packages

AUR (en) - xcute AUR (en) - wallrift AUR (en) - smolvm-git AUR (en) - smolvm-bin AUR (en) - smolvm AUR (en) - chess-cat-git AUR (en) - uac-launch-control-bin AUR (en) - openclaw AUR (en) - keyviz-zh-bin AUR (en) - runex-bin AUR (en) - sing-box-ref1nd-beta-bin AUR (en) - netscan-tui AUR (en) - koharu-appimage AUR (en) - pulsedb AUR (en) - android-cli AUR (en) - rudo-bin AUR (en) - marmalade-bin AUR (en) - clawx-appimage AUR (en) - echomusic-appimage AUR (en) - vermouth AUR (en) - mautrix-telegram-bin AUR (en) - ketesa AUR (en) - clawd-on-desk-bin AUR (en) - rebased-bin AUR (en) - oxideterm-bin AUR (en) - shed-sh AUR (en) - haus-bin AUR (en) - stably-orca-bin AUR (en) - reflection AUR (en) - emerald-legacy-launcher-git AUR (en) - kwim AUR (en) - pentest-ghostwriter AUR (en) - papagaia AUR (en) - outport-bin AUR (en) - carton-appimage AUR (en) - veila-git AUR (en) - veila-bin AUR (en) - vigil-baseline AUR (en) - byedroid AUR (en) - python-fastapi-sso AUR (en) - zeed-bin AUR (en) - dwl-git-azerty AUR (en) - libspatialaudio-git AUR (en) - opennow AUR (en) - rotki AUR (en) - kapi-bin AUR (en) - classfi-git AUR (en) - giff-git AUR (en) - budget-tracker-bin AUR (en) - budget-tracker AUR (en) - tasks-bin AUR (en) - ruri-git AUR (en) - gitmun-bin AUR (en) - python-cozempic AUR (en) - paintfe-bin AUR (en) - paintfe AUR (en) - drop-bin AUR (en) - tritium-launcher-bin AUR (en) - solidc-git AUR (en) - paseo-desktop-bin AUR (en) - dota2-minify-bin AUR (en) - yt-dvr AUR (en) - enneagram AUR (en) - excalidraw-desktop-bin AUR (en) - binaryobjectscanner-bin AUR (en) - openring-rs AUR (en) - openring-rs-bin AUR (en) - brave-origin-beta-bin AUR (en) - whisper.cpp-cuda-bin AUR (en) - libggml-cuda-bin AUR (en) - revdiff AUR (en) - tdesktop-nolimit AUR (en) - cert-checker AUR (en) - yaak-cli AUR (en) - yaak-cli-bin AUR (en) - deez-notes-bin AUR (en) - goosestation-libretro AUR (en) - whispers-cuda-bin AUR (en) - kei AUR (en) - foxguard AUR (en) - hyprlogin-git AUR (en) - kebiki AUR (en) - runex AUR (en) - ikuai-cli AUR (en) - whispers-bin AUR (en) - pipeweaver-app AUR (en) - pipeweaver AUR (en) - agentop-bin AUR (en) - cosmic-ext-connected-git AUR (en) - skwd-daemon AUR (en) - ter-music-cn AUR (en) - elio-bin AUR (en) - keyboard-chattering-fix-git AUR (en) - qtkeychain-qt5 AUR (en) - gesturecontrol AUR (en) - sharey AUR (en) - ouijit-bin AUR (en) - usque-bin AUR (en) - twig-bin AUR (en) - ascendara-bin
AUR (en) - zwave-js-server
2026-06-17 · via AUR Newest Packages

Latest Comments

synthead commented on 2026-04-24 07:45 (UTC)

synthead commented on 2026-02-28 10:31 (UTC)

synthead commented on 2026-02-13 15:38 (UTC)

In addition to @skunark's suggestions, please also have zwave-js-server restart on failure. Add this:

[Service]
Restart=on-failure
RestartSec=0

While the service should never crash (and never have bugs!), if it does, Z-Wave integration breaks until someone restarts the service. In my case, I have some sketch Z-Wave nodes that zwave-js-server occasionally has a hard time reaching, and the server has proven to be pretty fragile in these cases. Exceptions are raised, and the service terminates.

skunark commented on 2025-03-01 20:11 (UTC) (edited on 2025-03-01 20:29 (UTC) by skunark)

I would highly recommend not to run the zwave server as root.

Add to the service file:

[Service]
User=zwave-js
SupplementaryGroups=uucp

Most likely the service will need uucp group if using a usb dongle

And then you can include two more files:

tmpfiles.d

d /run/zwave-js/ 0755 zwave-js zwave-js
d /var/lib/zwave-js 0755 zwave-js zwave-js
d /var/log/zwave-js 0755 zwave-js zwave-js

sysusers.d

u zwave-js - "zwave-js server user"
m zwave-js uucp

And then within the PKGBUILD package() function add:

 
    install -Dm644 tmpfiles.d                                  "${pkgdir}"/usr/lib/tmpfiles.d/zwave-js.conf
    install -Dm644 sysusers.d                                  "${pkgdir}"/usr/lib/sysusers.d/zwave-js.conf

Thanks for the package and example btw

synthead commented on 2024-11-24 02:39 (UTC)

I'm really glad you liked the suggestions! <3 I upgraded the package, removed my local changes, and everything fired up perfectly. Thank you!

eta-carinae commented on 2024-11-20 19:23 (UTC)

Thanks for the suggestions synthead. They all seemed like good ones, so I've modified the package pretty much exactly as you suggested.

For anyone else, 1.40.0-2 is a breaking change. The systemd template is now instanced using a config file name rather than a device path. The config file should be in /etc/conf.d/zwave-js-server/. If your config file is nortek.conf, then do:

systemctl enable zwave-js-server@nortek systemctl start zwave-js-server@nortek

Of course, stop and disable your existing service first. There's an example config file in /etc/conf.d/zwave-js-server.

synthead commented on 2024-11-19 22:15 (UTC) (edited on 2024-11-19 22:16 (UTC) by synthead)

The zwave-js-server library has support for binding to an IP, choosing a port, setting up encryption keys, logging directories, etc. See https://github.com/zwave-js/zwave-js-server/issues/1345.

To support configuring these settings, I recommend including a /etc/conf.d/zwave-js-server/ directory with .conf files respective to the zwave-js-server deployment.

For example, this is what I have in /etc/conf.d/zwave-js-server/nortek.conf:

ZWAVE_JS_SERVER_ARGS="/dev/serial/by-id/usb-Silicon_Labs_HubZ_Smart_Home_Controller_C0F00A04-if00-port0 --host=zwave --port=3000 --config=/etc/zwave-js-server/nortek.js"

I also added /etc/zwave-js-server/nortek.js, with the contents being:

module.exports = {
  securityKeys: {
    S0_Legacy: Buffer.from("<censored>", "hex"),
    S2_AccessControl: Buffer.from("<censored>", "hex"),
    S2_Authenticated: Buffer.from("<censored>", "hex"),
    S2_Unauthenticated: Buffer.from("<censored>", "hex")
  }
};

To make this all work, I added my own /etc/systemd/system/zwave-js-server@.service (to override /usr/lib/systemd/system/zwave-js-server@.service from this package) with these contents:

[Unit]
Description=ZWave-JS Server Daemon "%i" instance
Before=home-assistant.service

[Service]
EnvironmentFile=/etc/conf.d/zwave-js-server/%I.conf
ExecStart=/usr/bin/zwave-server $ZWAVE_JS_SERVER_ARGS

[Install]
WantedBy=multi-user.target

It'd be great to have this included in this package :) As the above is written, it'd be a breaking change, so heads up.