NetPulse 将网络状态写入你为 Home Assistant 已有的 MQTT broker。之后,路由器和它们的指标就可用于面板、自动化和提醒,就像一盏灯或一个温度传感器。
一个设备,包含全局健康(评分和标签)、在线与总客户端数、在线与总路由器数,以及未读提醒。
每台路由器一个设备,包含是否在线、健康、CPU、内存、温度和客户端数。与安装关联,以便在面板中分组。
每条提醒在触发的那一刻就作为事件发布(温度、WAN 断开、新设备……),你可以把它变成任意自动化。
NetPulse 只写入,不监听:它是一个发布者。在 Home Assistant 里你读取网络;要对路由器进行操作,用 NetGrip,它的面板,同样说 MQTT,也接受命令。
默认关闭:在你开启之前,NetPulse 不发布任何内容。它通过环境变量配置(on-box 模式下用 UCI 选项)。
NETPULSE_MQTT_ENABLED=1
NETPULSE_MQTT_HOST=10.0.0.10
NETPULSE_MQTT_USER=netpulse
NETPULSE_MQTT_PASS=...
NETPULSE_MQTT_INSTANCE=casa
重启后,日志显示“[mqtt] connected ... as instance \"home\"”。首个状态最多需要一个间隔。
安装一个设备,每台路由器一个,都挂在安装设备之下。以下是自动创建的实体:
| 设备 | 实体 | 类型 | 单位 |
|---|---|---|---|
| NetPulse <instancia> | Health score | 传感器 | |
| Clients online | 传感器 | ||
| Routers online | 传感器 | ||
| Unread alerts | 传感器 | ||
| NetPulse version | 传感器(诊断) | ||
| 每台路由器 | Online | 二进制(连通性) | |
| Health | 传感器 | ||
| CPU usage | 传感器 | % | |
| Memory usage | 传感器 | % | |
| Temperature | 传感器 | °C | |
| Clients | 传感器(诊断) |
如果某台路由器运行 NetGrip 且开启了 MQTT,则由 NetGrip 将其暴露给 Home Assistant,NetPulse 不再发布:每台路由器只会看到一个设备。
Home Assistant 中一台路由器的设备,实体由发现自动创建。
NetPulse 只发布,但运行 NetGrip(它的面板)的路由器也接受通过 MQTT 下发的命令。开启 NetGrip 后,Home Assistant 不只是看到路由器:还能驱动它。
| 操作 | 命令 topic | 值 |
|---|---|---|
| 访客 Wi-Fi | netgrip/<router>/command/guest_wifi | ON / OFF |
| banIP | netgrip/<router>/command/banip | ON / OFF / RELOAD |
| IPv6 | netgrip/<router>/command/ipv6 | ON / OFF |
| SQM | netgrip/<router>/command/sqm | ON / OFF |
| 重启 | netgrip/<router>/command/reboot | PRESS |
每台路由器在 netgrip/<router>/result 上回复结果。它还发布自己的 17 个传感器:各频段客户端数、最弱和平均 WiFi 信号,以及局域网流量。
带有局域网流量和安装健康的 Home Assistant 面板。