You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ioBroker是否具备适配器实例健康检测与重启的HTTP API?

用ioBroker HTTP API检测并重启故障适配器实例

完全可行,ioBroker原生提供的HTTP API支持查询实例状态和重启实例的操作,以下是具体实现步骤:

1. 检测zendure-solarflow实例状态

通过/getInstanceStates接口可以获取所有适配器实例的状态信息:

  • 发送GET请求:
    curl -X GET http://<你的ioBroker主机IP>:8082/getInstanceStates
    
  • 响应结果中找到对应实例(通常ID为zendure-solarflow.0,以实际后台显示为准),查看其state字段值:若为error则说明实例处于故障状态。

2. 重启故障实例

通过/restartInstance接口可以指定重启目标实例:

  • 发送POST请求,携带实例ID参数:
    curl -X POST http://<你的ioBroker主机IP>:8082/restartInstance \
    --data '{"instance": "zendure-solarflow.0"}' \
    -H "Content-Type: application/json"
    

3. 自动检测并重启的脚本示例

可以编写脚本实现定时检测+自动重启,以下是Shell脚本示例(需提前安装jq用于JSON解析):

#!/bin/bash
IOBROKER_HOST="192.168.1.100"  # 替换为你的ioBroker主机IP
INSTANCE_ID="zendure-solarflow.0"

# 获取实例当前状态
INSTANCE_STATE=$(curl -s "http://$IOBROKER_HOST:8082/getInstanceStates" | jq -r ".\"$INSTANCE_ID\".state")

# 状态为error时执行重启
if [ "$INSTANCE_STATE" = "error" ]; then
    curl -X POST "http://$IOBROKER_HOST:8082/restartInstance" \
    --data "{\"instance\": \"$INSTANCE_ID\"}" \
    -H "Content-Type: application/json"
    echo "$(date): 已重启故障的zendure-solarflow实例" >> /var/log/iobroker_zendure_restart.log
fi

将脚本保存为check_zendure_instance.sh,添加可执行权限后,通过系统定时任务(如Linux的cron)定期执行,比如每5分钟检测一次:

*/5 * * * * /path/to/check_zendure_instance.sh

注意事项

  • 确保ioBroker的HTTP API服务已启用(默认启用,端口为8082,若修改过需对应调整)
  • 若ioBroker设置了API认证,需在请求中添加Authorization头,格式为-H "Authorization: Bearer <你的API令牌>",令牌可在ioBroker管理后台生成
  • 实例ID需与ioBroker后台“实例”页面显示的一致,避免因ID错误导致操作无效

内容的提问来源于stack exchange,提问作者andig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:22:09