
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
OmniLink Bridge为HAI/Leviton OmniPro II控制器提供MQTT桥接、Web服务API、时间同步和日志记录功能。支持通过Web服务API与https://github.com/excaliburpartners/SmartThings-OmniPro%EF%BC%8C%E4%BB%A5%E5%8F%8A%E9%80%9A%E8%BF%87MQTT%E4%B8%8Ehttps://www.home-assistant.io/components/mqtt/%E3%80%82
注意:OmniLink Bridge不在积极开发中。MQTT和Home Assistant集成处于维护模式,SmartThings Web API和MySQL日志已弃用,且与MQTT功能不一致。
基本控制台日志模式
指定控制器地址和加密密钥快速启动:
bashdocker run --name="omnilink-bridge" \ -v /etc/localtime:/etc/localtime:ro \ -e CONTROLLER_ADDRESS='' \ -e CONTROLLER_KEY1='00-00-00-00-00-00-00-00' \ -e CONTROLLER_KEY2='00-00-00-00-00-00-00-00' \ --net=host docker.xuanyuan.run/excaliburpartners/omnilink-bridge
后台运行(启用时间同步和MQTT)
bashdocker run -d --name="omnilink-bridge" --restart always \ -v /etc/localtime:/etc/localtime:ro \ -e CONTROLLER_ADDRESS='' \ -e CONTROLLER_KEY1='00-00-00-00-00-00-00-00' \ -e CONTROLLER_KEY2='00-00-00-00-00-00-00-00' \ -e TIME_SYNC='yes' \ -e MQTT_ENABLED='yes' \ -e MQTT_SERVER='' \ -e MQTT_USERNAME='' \ -e MQTT_PASSWORD='' \ --net=host docker.xuanyuan.run/excaliburpartners/omnilink-bridge
bashmkdir /opt/omnilink-bridge curl https://raw.githubusercontent.com/excaliburpartners/OmniLinkBridge/master/OmniLinkBridge/OmniLinkBridge.ini -o /opt/omnilink-bridge/OmniLinkBridge.ini vim /opt/omnilink-bridge/OmniLinkBridge.ini
bashdocker run -d --name="omnilink-bridge" -v /opt/omnilink-bridge:/config -v /etc/localtime:/etc/localtime:ro --net=host --restart always docker.xuanyuan.run/excaliburpartners/omnilink-bridge
bashdocker logs omnilink-bridge
bashgit clone https://github.com/excaliburpartners/OmniLinkBridge.git cd OmniLinkBridge docker build --tag="omnilink-bridge" .
bashmkdir /opt/omnilink-bridge cp OmniLinkBridge/OmniLinkBridge.ini /opt/omnilink-bridge vim /opt/omnilink-bridge/OmniLinkBridge.ini
bashdocker run -d --name="omnilink-bridge" -v /opt/omnilink-bridge:/config -v /etc/localtime:/etc/localtime:ro --net=host --restart always docker.xuanyuan.run/omnilink-bridge
bashdocker logs omnilink-bridge
基本状态
SUB omnilink/status # 状态:online/offline SUB omnilink/model # 控制器型号 SUB omnilink/version # 控制器版本
系统状态
SUB omnilink/system/phone/state # 电话状态:secure/trouble SUB omnilink/system/ac/state # AC状态:secure/trouble SUB omnilink/system/battery/state # 电池状态:secure/trouble SUB omnilink/system/dcm/state # DCM状态:secure/trouble
区域(Area)
SUB omnilink/areaX/name # 区域名称 SUB omnilink/areaX/state # 详细状态:triggered/arming/armed_night/armed_night_delay/armed_home/armed_home_instant/armed_away/armed_vacation/disarmed SUB omnilink/areaX/basic_state # 基本状态:triggered/arming/armed_night/armed_home/armed_away/armed_vacation/disarmed SUB omnilink/areaX/json_state # JSON格式状态 PUB omnilink/areaX/command # 命令:arm_home/arm_away/arm_night/disarm/arm_home_instant/arm_night_delay/arm_vacation # 注:area 0表示所有区域;可指定用户代码号如'disarm,1';可指定安全码如'disarm,validate,1234' PUB omnilink/areaX/alarm_command # 警报命令:burglary/fire/auxiliary
区域(Zone)
SUB omnilink/zoneX/name # 区域名称 SUB omnilink/zoneX/state # 状态:secure/not_ready/trouble/armed/tripped/bypassed SUB omnilink/zoneX/basic_state # 基本状态:OFF/ON SUB omnilink/zoneX/current_temperature # 当前温度(华氏度,可选) SUB omnilink/zoneX/current_humidity # 当前湿度(可选) PUB omnilink/zoneX/command # 命令:bypass/restore # 注:zone 0表示恢复所有区域;可指定用户代码号如'bypass,1'
单元(Unit)
SUB omnilink/unitX/name # 单元名称 SUB omnilink/unitX/state # 状态:OFF/ON PUB omnilink/unitX/command # 命令:OFF/ON SUB omnilink/unitX/brightness_state # 亮度状态 PUB omnilink/unitX/brightness_command # 亮度命令(0-100%) SUB omnilink/unitX/flag_state # 标志状态 PUB omnilink/unitX/flag_command # 标志命令(0-255) SUB omnilink/unitX/scene_state # 场景状态 PUB omnilink/unitX/scene_command # 场景命令(A-L)
恒温器(Thermostat)
SUB omnilink/thermostatX/name # 恒温器名称 SUB omnilink/thermostatX/status # 状态:online/offline SUB omnilink/thermostatX/current_operation # 当前运行模式:idle/cooling/heating SUB omnilink/thermostatX/current_temperature # 当前温度(华氏度) SUB omnilink/thermostatX/current_humidity # 当前湿度 SUB omnilink/thermostatX/temperature_heat_state # 制热温度设定 SUB omnilink/thermostatX/temperature_cool_state # 制冷温度设定 PUB omnilink/thermostatX/temperature_heat_command # 制热温度命令(华氏度) PUB omnilink/thermostatX/temperature_cool_command # 制冷温度命令(华氏度) SUB omnilink/thermostatX/humidify_state # 加湿设定 SUB omnilink/thermostatX/dehumidify_state # 除湿设定 PUB omnilink/thermostatX/humidify_command # 加湿命令(湿度百分比) PUB omnilink/thermostatX/dehumidify_command # 除湿命令(湿度百分比) SUB omnilink/thermostatX/mode_state # 模式状态:auto/off/cool/heat/e_heat PUB omnilink/thermostatX/mode_command # 模式命令:auto/off/cool/heat/e_heat SUB omnilink/thermostatX/mode_basic_state # 基本模式:auto/off/cool/heat SUB omnilink/thermostatX/fan_mode_state # 风扇模式状态:auto/on/cycle PUB omnilink/thermostatX/fan_mode_command # 风扇模式命令:auto/on/cycle SUB omnilink/thermostatX/hold_state # 保持状态:off/on/vacation PUB omnilink/thermostatX/hold_command # 保持命令:off/on
其他MQTT主题
omnilink/buttonX/name、omnilink/buttonX/state(OFF/ON)、omnilink/buttonX/command(ON)omnilink/messageX/name、omnilink/messageX/state(off/displayed/displayed_not_acknowledged)、omnilink/messageX/command(show/show_no_beep/show_no_beep_or_led/clear)omnilink/lockX/name、omnilink/lockX/state(locked/unlocked)、omnilink/lockX/command(lock/unlock)omnilink/sourceXX/nameomnilink/audioXX/name、状态/命令(OFF/ON)、静音状态/命令(OFF/ON)、源状态/命令、音量状态/命令(0-100%)测试示例
使用PowerShell测试:
powershellInvoke-WebRequest -Uri "http://localhost:8000/SetUnit" -Method POST -ContentType "application/json" -Body (convertto-json -InputObject @{"id"=1;"value"=100}) -UseBasicParsing
订阅
POST /Subscribe { "callback": url } # 回调URL接收POST通知,包含Type头和JSON体 # Type:area/contact/motion/water/smoke/co/temp/unit/thermostat
主要API端点
GET /ListAreas、GET /GetArea?id=XGET /ListZonesContact、GET /ListZonesMotion、GET /ListZonesWater、GET /ListZonesSmoke、GET /ListZonesCO、GET /ListZonesTemp、GET /GetZone?id=XGET /ListUnits、GET /GetZone?id=X、POST /SetUnit、POST /SetUnitKeypadPress(请求体:{"id":X, "value":0-100})GET /ListThermostats、GET /GetThermostat?id=X、POST /SetThermostatCoolSetpoint、POST /SetThermostatHeatSetpoint、POST /SetThermostatMode(模式:0=off/1=heat/2=cool/3=auto/4=emergency heat)、POST /SetThermostatFanMode(风扇模式:0=auto/1=on/2=circulate)、POST /SetThermostatHold(保持:0=off/1=on)GET /ListButtons、POST /PushButton(请求体:{"id":X, "value":1})MySQL日志需要http://dev.mysql.com/downloads/connector/odbc/%EF%BC%88Docker%E9%95%9C%E5%83%8F%E5%B7%B2%E5%86%85%E7%BD%AE%EF%BC%8CWindows/Linux%E9%9C%80%E5%8D%95%E7%8B%AC%E5%AE%89%E8%A3%85%EF%BC%8CHome Assistant插件不支持)。在OmniLinkBridge.ini中配置:
inimysql_connection = DRIVER={MySQL};SERVER=localhost;DATABASE=OmniLinkBridge;USER=root;PASSWORD=myPassword;OPTION=3;
Windows需将DRIVER={MySQL}改为ODBC数据源管理员中显示的驱动名称。
OmniLink Bridge收集***遥测数据以改进软件,可通过设置环境变量TELEMETRY_OPTOUT=1选择退出。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务