graystorm/govee2mqtt将多个Govee设备和事件暴露到MQTT代理,主要设计用于Home Assistant。基于dlashua/govee2mqtt分支开发。
GOVEE_DEVICE_INTERVAL设置,因为Govee API每日请求限制为10,000次。bashgit clone https://github.com/weirdtangent/govee2mqtt.git cd govee2mqtt pip3 install -r ./requirements.txt cp config.yaml.sample config.yaml vi config.yaml python3 ./app.py -c ./
对于docker-compose,请使用本仓库中包含的配置。
Docker镜像可通过graystorm/govee2mqtt:latest获取。您可以将配置卷挂载到/config(并参考包含的config.yaml.sample文件),或使用环境变量:
支持以下环境变量:
MQTT_HOST: 10.10.10.1(MQTT主机地址)
MQTT_USERNAME: admin(MQTT用户名)
MQTT_PASSWORD: password(MQTT密码)
MQTT_PREFIX: govee(MQTT主题前缀)
MQTT_DISCOVERY_PREFIX: homeassistant(MQTT发现前缀)
GOVEE_API_KEY: [your_api_key](您的API密钥,参见[***]
GOVEE_DEVICE_INTERVAL: 30(设备轮询间隔,每10个设备约30秒,10-20个设备建议设为60等)
GOVEE_DEVICE_BOOST_INTERVAL: 5(设备快速轮询间隔)
GOVEE_LIST_INTERVAL: 300(设备列表刷新间隔,单位秒)
TZ: America/New_York(时区,参见[***]
DEBUG: True(启用详细日志)
部分高级功能Govee仅部分支持:
目前正在尝试寻找更自动化或更简便的实现方式。
在HomeAssistant中,您可以创建如下Helper:
注意:您可以通过查看MQTT设备的
MusicMode属性并点击"属性"查看"可能的状态",了解您的灯支持哪些MusicMode选项 - 您可以跳过不喜欢或从不使用的模式
yamlinput_select: office_light_music_mode: options: - Off - Energic - Dynamic - Calm - ... editable: true icon: mdi:dance-ballroom friendly_name: 设置办公室灯光音乐模式
然后创建如下自动化:
yamlalias: 设置办公室灯光音乐模式 description: "" triggers: - trigger: state entity_id: - input_select.office_light_music_mode conditions: - condition: template value_template: >- {% if states.input_select.office_light_music_mode.state != states.sensor.office_light_music_mode.state %} true {% else %} False {% endif %} actions: - action: mqtt.publish metadata: {} data: evaluate_payload: false qos: "0" retain: false topic: homeassistant/device/govee-XXXXXXXXXXXXXXXX/set/music_mode payload: "{{ states('input_select.office_light_music_mode') }}" mode: single
您可以将此下拉菜单添加到仪表板,选择音乐模式后命令会发送到MQTT,再转发给Govee。
然而:Govee不返回此模式、夜灯模式、渐变模式等的状态。此外,这些模式有时存在问题。例如,我的H6042智能电视灯条声称支持的MusicModes为:
json"options":[ {"name": "Energic", "value": 5}, {"name": "Rhythm", "value": 3}, {"name": "Spectrum", "value": 6}, {"name": "Rolling", "value": 4} ]
但向Govee发送这些值并不会改变灯条状态。发送其他值则会返回"参数值超出范围"错误。而在Govee应用中,我可以设置"Vivid"、"Rhythm"、"弹跳球"、"发光"、"节拍"、"火炬"、"彩虹圈"和"闪亮"模式。
此外,关闭某模式时,Govee可能会返回该模式已开启的响应,但不会更新其他模式已关闭的状态。例如,如果"Dreamview"模式开启,您开启"Gradient"模式,Govee不会通知您"Dreamview"已关闭。实际上,似乎没有文档说明如何关闭"MusicMode"。您可以强制设置纯色。关闭再打开灯光也无法关闭该模式。
另一个例子:关闭灯光后开启"Dreamview"模式会自动开灯,但开启"Gradient"模式则不会 - 灯光保持关闭。如果之后开灯,灯光会处于"Gradient"模式。
所有这些都使得Govee API的高级功能几乎无法使用 - 基本功能可用,但高级功能效果不稳定 :(
目前没有太多解决办法。由于担心局域网多播方式可能同样存在问题且浪费时间,暂不考虑实现。希望Govee能推出v2 API修复这些问题。其Android应用功能丰富,但API文档截至2025年3月仍不完善。
仅支持Docker部署。应用可通过Python直接运行,但不提供支持。
有几位用户希望提供小额方式。如果您愿意,可以通过"请我喝咖啡"页面进行小额。不必有任何义务 - 我开发此应用是因为对自己和他人有用,而非为了经济收益 - 但任何形式的感谢都非常感谢 🙂
请我喝咖啡






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务