轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
kpine/zwave-js-server
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

zwave-js-server Docker 镜像下载 - 轩辕镜像

zwave-js-server 镜像详细信息和使用指南

zwave-js-server 镜像标签列表和版本信息

zwave-js-server 镜像拉取命令和加速下载

zwave-js-server 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

zwave-js-server
kpine/zwave-js-server

zwave-js-server 镜像详细信息

zwave-js-server 镜像标签列表

zwave-js-server 镜像使用说明

zwave-js-server 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

一个用于zwave-js-server的极简容器,提供基础的Z-Wave JS Server功能,需持久化缓存文件以确保网络信息在容器重启后可用,支持多种Z-Wave安全密钥配置及控制器固件更新。
5 收藏0 次下载activekpine镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

zwave-js-server 镜像详细说明

zwave-js-server 使用指南

zwave-js-server 配置说明

zwave-js-server 官方文档

zwave-js-server-docker

一个极简的Docker容器,用于运行Z-Wave JS Server。此容器仅提供可用的Z-Wave JS Server,其他功能较少。

如需同时提供服务器和更多功能的应用,请使用Z-Wave JS UI。

Docker配置

Z-Wave JS驱动将Z-Wave网络信息存储在一组缓存文件中。服务器重启时,驱动会从缓存加载网络信息。若无此信息,网络无法立即完全使用。因此,容器重启之间必须持久化缓存文件。

以下docker run示例使用环境文件提供所有Z-Wave网络密钥。

$ cat .env
S2_ACCESS_CONTROL_KEY=7764841BC794A54442E324682A550CEF
S2_AUTHENTICATED_KEY=66EA86F088FFD6D7497E0B32BC0C8B99
S2_UNAUTHENTICATED_KEY=2FAB1A27E19AE9C7CC6D18ACEB90C357
S0_LEGACY_KEY=17DFB0C1BED4CABFF54E4B5375E257B3
LR_S2_ACCESS_CONTROL_KEY=61BEF779F9DF0827CD9870B719D074BB
LR_S2_AUTHENTICATED_KEY=905B869063266296AE5159EEDBEE038D
RF_REGION=USA (Long Range)

使用卷挂载运行

# 创建持久卷用于驱动缓存
$ docker volume create zjs-storage

# 启动服务器并使用卷作为持久缓存目录
$ docker run -d -p 3000:3000 --name=zjs -v zjs-storage:/cache --env-file=.env --device "/dev/serial/by-id/usb-0658_0200-if00:/dev/zwave" ghcr.io/kpine/zwave-js-server:latest

使用绑定挂载运行

# 启动服务器并使用本地文件夹作为持久缓存目录
$ docker run -d -p 3000:3000 --name=zjs -v "$PWD/cache:/cache" --env-file=.env --device "/dev/serial/by-id/usb-0658_0200-if00:/dev/zwave" ghcr.io/kpine/zwave-js-server:latest

Docker Compose配置

Docker Compose是维护容器配置的简单方式。

最小化docker-compose.yaml文件示例:

services:
  zjs:
    container_name: zjs
    image: ghcr.io/kpine/zwave-js-server:latest
    restart: unless-stopped
    environment:
      - "S2_ACCESS_CONTROL_KEY=7764841BC794A54442E324682A550CEF"
      - "S2_AUTHENTICATED_KEY=66EA86F088FFD6D7497E0B32BC0C8B99"
      - "S2_UNAUTHENTICATED_KEY=2FAB1A27E19AE9C7CC6D18ACEB90C357"
      - "S0_LEGACY_KEY=17DFB0C1BED4CABFF54E4B5375E257B3"
      - "LR_S2_ACCESS_CONTROL_KEY=61BEF779F9DF0827CD9870B719D074BB"
      - "LR_S2_AUTHENTICATED_KEY=905B869063266296AE5159EEDBEE038D"
      - "RF_REGION=USA (Long Range)"
    devices:
      - "/dev/serial/by-id/usb-0658_0200-if00:/dev/zwave"
    volumes:
      - ./cache:/cache
    ports:
      - "3000:3000"

环境变量

  • LOGTOFILE: 设置为true可配置驱动记录日志到文件。
  • LOGFILENAME: 配置驱动日志文件名(仅当LOGTOFILE为true时使用)。默认值为/logs/zwavejs,生成文件名格式为zwavejs_%DATE%.log。驱动会自动按日期轮转日志文件。
  • LOGMAXFILES: 配置保留日志文件的最大数量。Z-Wave JS每天轮转一次日志,因此此值对应保留日志的天数。
  • LOGLEVEL: 配置驱动日志级别,详见文档。
  • S2_ACCESS_CONTROL_KEY: S2访问控制安全类的网络密钥。
  • S2_AUTHENTICATED_KEY: S2认证安全类的网络密钥。
  • S2_UNAUTHENTICATED_KEY: S2未认证安全类的网络密钥。
  • S0_LEGACY_KEY: S0(传统)安全类的网络密钥。
  • LR_S2_ACCESS_CONTROL_KEY: 长距离S2访问控制安全类的网络密钥。
  • LR_S2_AUTHENTICATED_KEY: 长距离S2认证安全类的网络密钥。
  • RF_REGION: 无线电调谐的RF区域。设置后,驱动会确保区域为指定值。默认未设置,控制器保持当前区域。
  • USB_PATH: Z-Wave USB控制器的设备路径。默认为/dev/zwave。若主机设备路径已映射为/dev/zwave,则无需此变量。
  • FIRMWARE_UPDATE_API_KEY: 用于访问Z-Wave JS固件更新服务的API密钥。默认未配置。通常无需配置,除非是商业用户。详见固件更新API密钥部分。
  • ENABLE_DNS_SD: 设置为true启用DNS服务发现。默认禁用。仅在使用主机网络时生效。

目录

  • /cache - 驱动的缓存目录。必须挂载卷或绑定挂载此目录,以在容器重启间持久化网络信息。
  • /cache/config - 驱动的设备配置优先级目录。用于加载自定义设备配置文件。若/cache是命名卷,此目录会自动创建;否则需手动创建或挂载。
  • /logs - 启用文件日志时,驱动日志文件的存储目录。挂载卷或绑定挂载此目录可在容器外访问和保存日志文件。

端口

  • 3000 - zwave-js-server的WebSocket端口。外部应用(如Home Assistant)需连接此端口与服务器交互。

详细说明

网络密钥

所有网络密钥必须是16字节的十六进制字符串(32字符)。生成随机网络密钥的简单命令:

$ < /dev/urandom tr -dc A-F0-9 | head -c32 ; echo
8387D66323E8209C58B0C317FD1F4251

所有密钥应唯一;多个安全类共享密钥存在安全风险。详见Z-Wave JS的密钥管理文档。

至少需要S0(传统)网络密钥,否则zwave-js-server将无法启动。S2密钥可选但强烈推荐;若未指定,将无法使用S2包含。

USB路径

建议将USB控制器设备路径映射到容器的/dev/zwave,而非使用USB_PATH环境变量。

控制器固件更新(OTW)

Docker镜像包含@zwave-js/flash命令行工具,支持控制器的有线(OTW)固件更新。下载控制器对应的固件文件,执行以下命令(更新前需停止Z-Wave JS服务器):

docker run --rm -it -v "$PWD/fw:/fw" --device "/dev/ttyUSB0:/dev/zwave" ghcr.io/kpine/zwave-js-server:latest flash /fw/fw.gbl

命令默认使用/dev/zwave设备路径,或USB_PATH环境变量指定的路径。

更多信息见维基页面)。

用户设备配置文件

使用/cache/config目录可轻松测试新设备配置文件或修改现有文件。此目录中的文件会补充或覆盖内置设备配置数据库。容器重启后,驱动日志会指示加载的文件:

2021-06-19T06:19:18.506Z CNTRLR   [Node 007] 已加载内置设备配置
2021-06-19T06:21:43.793Z CNTRLR   [Node 008] 已加载用户提供的设备配置

串行软重置

Z-Wave JS在启动时及NVM备份/恢复等操作中会对Z-Wave控制器执行软重置(重启)。部分控制器可能因软重置导致USB断开,影响容器运行时或主机配置。若观察到USB设备无法识别,可通过设置ZWAVEJS_DISABLE_SOFT_RESET环境变量,或设置驱动功能选项softReset为false禁用软重置。详见softReset和ZWaveOptions文档。

若禁用软重置后仍有问题,可能需要禁用无响应控制器恢复功能。通过设置ZWAVEJS_DISABLE_UNRESPONSIVE_CONTROLLER_RECOVERY环境变量,或设置unresponsiveControllerRecovery驱动功能选项为false。详见ZWaveOptions文档。

缓存锁文件

Z-Wave JS使用目录作为锁文件,防止多个进程同时修改缓存文件,避免缓存损坏。锁文件位于缓存目录中,与实际缓存文件相邻。锁机制每约1秒更新锁文件的mtime(修改时间)。若存储介质(如SD卡)对频繁写入敏感,可将锁文件移至tmpfs等目录。通过设置ZWAVEJS_LOCK_DIRECTORY环境变量指定替代路径(建议为主机的tmpfs)。Compose文件示例片段:

services:
  zjs:
    environment:
      ZWAVEJS_LOCK_DIRECTORY: "/run/lock/zwave-js"
    volumes:
      - /run/lock/zwave-js:/run/lock/zwave-js

环境变量指示Z-Wave JS将锁文件存储在/run/lock/zwave-js。卷配置将主机的/run/lock/zwave-js(通常为tmpfs)映射到容器相同路径。最终锁文件存储在主机的tmpfs中。/run/lock通常挂载为tmpfs,/tmp/zwave-js也是可选路径。

注意:主机上集中存储锁文件可确保多个相同配置的容器感知锁机制。但若其他Z-Wave JS实例未配置相同锁目录,将绕过锁保护,可能导致缓存损坏。默认位置的锁文件对所有默认配置实例可见,使用此功能时需谨慎。

固件更新API密钥

Z-Wave JS提供在线Web服务获取设备固件更新信息,需API密钥。Z-Wave JS组织为该项目提供了非商业用途的密钥;商业用户必须申请并配置自己的密钥。

若使用Home Assistant的Z-Wave集成,无需启用或安装API密钥——集成访问固件更新API时会提供密钥。其他客户端应用若自带密钥也无需配置。

若客户端不支持自带密钥且为非商业用户,可将FIRMWARE_UPDATE_API_KEY设为-启用内置密钥,此时即表示您是非商业用户。

商业用户需将FIRMWARE_UPDATE_API_KEY设为自行申请的密钥。

默认FIRMWARE_UPDATE_API_KEY为空,不配置密钥。此时客户端应用需自行设置密钥,否则固件更新服务可能无法使用或受更严格的速率限制。

查看更多 zwave-js-server 相关镜像 →
linuxserver/code-server logo
linuxserver/code-server
by linuxserver.io
linuxserver/code-server是VS Code服务器版Docker镜像,可在浏览器中运行完整VS Code开发环境,无需本地安装即可跨设备访问。支持全部VS Code扩展、代码同步与终端功能,适配远程开发、团队协作或低配置设备场景。镜像经linuxserver优化,兼容ARM/AMD架构,内置持久化存储与安全配置,开箱即用,轻松打造云端IDE,提升开发灵活性与效率。
72050M+ pulls
上次更新:1 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.