
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
将Ecobee的运行时数据、传感器数据和天气数据发送到InfluxDB和/或MQTT。
该连接器旨在将Ecobee恒温器的运行时数据、传感器读数和天气信息集成到InfluxDB时序数据库和/或MQTT消息代理中,便于数据存储、分析和智能家居系统集成。
适用于需要收集、存储和分析Ecobee恒温器数据的用户,特别是:
ecobee_influx_connector -list-thermostats -config $WORK_DIR/config.json,将生成一个PIN码。确保将$WORK_DIR替换为您的配置路径ecobee_influx_connector命令行界面,按Enter键之后将显示您Ecobee账户中的恒温器列表及其ID。
配置通过JSON文件指定。基于仓库中的config.example.json模板创建文件并自定义:
api_key:在步骤1和2中创建thermostat_id:可从步骤5获取,通常是设备序列号work_dir:存储客户端凭据、config.json和(尚未实现的)上次写入水印的目录influx_*配置字段设置发送数据到InfluxDB:如果使用令牌进行桶认证,保持用户和密码配置字段为空mqtt配置部分设置发送数据到MQTT broker:
enabled:设为true启用MQTT发布server:MQTT broker主机名或IP地址port:MQTT broker端口(通常1883为未加密,8883为TLS)username和password:MQTT broker的可选凭据topic_root:所有数据发布的根主题(例如"ecobee")timeout:MQTT发布操作的超时时间(秒,可选,默认:3)write_*配置字段指定要使用的设备组件注意:必须配置至少一种输出方式(InfluxDB或MQTT)。如果两者均未正确配置,连接器将报错退出。
提供了Dockerfile。要构建Docker镜像,进入项目目录并运行docker build -t ecobee_influx_connector .
还提供了可通过环境变量配置的Docker镜像。https://hub.docker.com/r/cdzombak/ecobee_influx_connector%EF%BC%8C%E6%88%96%E9%80%9A%E8%BF%87%60docker pull docker.xuanyuan.run/cdzombak/ecobee_influx_connector`拉取。
使用Docker容器时,确保将config.json的路径作为卷挂载到/config路径。此位置还将用于存储刷新令牌和config.json。
在构建持久化容器之前,应执行docker run --rm -it -v $HOME/ecobee:/config cdzombak/ecobee_influx_connector -config "/config/config.json" -list-thermostats以获取令牌缓存(/config/ecobee-cred-cache)。这将提供用于Ecobee API应用认证的密钥。认证后,将显示所有设备的thermostat_ids。
如果在执行上述操作前构建持久化容器,初始令牌请求将循环,难以获取缓存令牌。
提供了示例docker-compose.yml文件。确保修改volumes部分,将您的/config文件夹映射到容器的/config文件夹。
示例:
yamlvolumes: - $DOCKERAPPPATH/ecobee_influx_connector:/config
示例:
如果使用从Dockerfile构建的镜像:
shelldocker run -d --name ecobeetest --restart=always -v ./config:/config -it docker.xuanyuan.run/ecobee_influx_connector
如果使用Docker Hub镜像:
shelldocker run -d --name ecobeetest --restart=always -v ./config:/config -it docker.xuanyuan.run/cdzombak/ecobee_influx_connector:latest
如果尚未安装我的Debian仓库,请执行:
shellsudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://dist.cdzombak.net/deb.key | sudo gpg --dearmor -o /etc/apt/keyrings/dist-cdzombak-net.gpg sudo chmod 0644 /etc/apt/keyrings/dist-cdzombak-net.gpg echo -e "deb [signed-by=/etc/apt/keyrings/dist-cdzombak-net.gpg] https://dist.cdzombak.net/deb/oss any oss\n" | sudo tee -a /etc/apt/sources.list.d/dist-cdzombak-net.list > /dev/null sudo apt-get update
然后通过apt-get安装ecobee_influx_connector:
shellsudo apt-get install ecobee-influx-connector
shellmake build
交叉编译(例如Linux/amd64):
shellenv GOOS=linux GOARCH=amd64 go build -ldflags="-X main.version=$(./.version.sh)" -o ./ecobee_influx_connector .
ecobee_influx_connector二进制文件或按照上述说明安装/usr/local/bin或您偏好的位置$HOME/.ecobee_influx_connector)chmod 700 $YOUR_NEW_WORK_DIR(例如chmod 700 $HOME/.ecobee_influx_connector)$HOME/.ecobee_influx_connector/config.json)ecobee-influx-connector.service复制到/etc/systemd/systemchown root:root /etc/systemd/system/ecobee-influx-connector.servicesystemctl daemon-reload && systemctl enable ecobee-influx-connector.service && systemctl start ecobee-influx-connector.servicesystemctl status ecobee-influx-connector.service检查服务状态启用MQTT时,连接器将数据发布到以下主题结构:
<topic_root>/<thermostat_id>/<category>/<measurement>
其中:
<topic_root>是配置的根主题(例如"ecobee")<thermostat_id>是配置中的恒温器ID<category>是数据类别(runtime、sensor、weather)<measurement>是要发布的特定指标示例:如果主题根为"home/sensors"且恒温器ID为"***",则室内温度将发布到:home/sensors/123456789/runtime/temperature_f
连接器不直接支持多个恒温器。建议运行多个连接器实例,每个实例需要自己的工作目录和配置文件,但可以为每个连接器实例使用相同的API密钥。
(如果使用"在Linux上通过systemd运行"的说明部署,可为每个连接器的服务文件指定唯一名称,如ecobee-influx-connector-1.service、ecobee-influx-connector-2.service等。)
Apache 2.0;参见仓库中的LICENSE文件。
Chris Dzombak(GitHub:https://github.com/cdzombak%EF%BC%89%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务