找回密码
 立即注册

微信扫码登录

搜索
查看: 674|回复: 1

HomeAssistant 成功适配向日葵 C4 插座(附修改代码)

[复制链接]

1

主题

29

回帖

1130

积分

金牌会员

积分
1130
金钱
1100
HASS币
0
发表于 2026-5-9 09:46:38 | 显示全部楼层 |阅读模式
本帖最后由 qings 于 2026-5-9 09:46 编辑

最近折腾了一下 HomeAssistant 下的向日葵插件:这边感谢作者提供如此好的项目。
https://github.com/cx3Y/sunlogin
发现作者已经很久没更新,而目前新版向日葵 C4 插座无法自动识别。
研究了下源码,最终已经成功适配:
✅ C4设备自动识别
✅ 开关控制
✅ 功率读取
✅ 电流/电压读取
✅ 耗电统计
✅ HomeAssistant Energy 面板支持
目前运行稳定。

一、问题原因插件本身其实已经支持:
  • C1
  • C2
  • P1
  • P2
  • P4
  • P8
甚至连:
  • 电量统计
  • 多路继电器
  • 电流/电压
框架都已经写好了。
真正的问题是在/homeassistant/custom_components/sunlogin/sunlogin.py这个脚本中:
get_sunlogin_device()
里面没有:

elif 'C4' in model:   
      return C4(hass, config)
导致虽然接口已经拿到设备,但HA 根本不会实例化 C4 设备。

二、解决方法1、增加 C4 实体映射找到:
def get_sunlogin_device(hass, config):增加:
      elif 'C4' in model:    return C4(hass, config)
2、增加 get_entities()找到:
def get_entities(tag):增加:
elif 'C4' in tag:    return slot_x_with_electric[:-7]因为:
C4 属于:
单路 + 电量统计结构上接近 C2。

3、增加型号识别找到:
async_guess_model()增加:
elif device_type == 'C4':    model = 'C4'
4、新增 C4 class新增:
class C4(SunloginPlug):实际上可以直接复用:
C2逻辑。
因为:
  • 都是单路
  • 都支持功率统计
  • 都支持电量统计

三、最终效果HA 自动生成:
开关实体switch.c4_relay0功率实体sensor.c4_powersensor.c4_currentsensor.c4_voltage电量统计sensor.c4_electricity_daysensor.c4_electricity_month已经可以直接接入:
HomeAssistant Energy Dashboard。

四、目前测试结果测试环境:
  • HA Core
  • HACS
  • 向日葵 C4
  • 插件:cx3Y/sunlogin
目前:
✅ 远程控制正常
✅ 数据刷新正常
✅ 功率统计正常


image.png

sunlogin.zip

9.58 KB, 下载次数: 6

回复

使用道具 举报

23

主题

213

回帖

1525

积分

金牌会员

积分
1525
金钱
1289
HASS币
0
发表于 2026-6-21 14:32:19 | 显示全部楼层
此帖仅作者可见

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )|网站地图

GMT+8, 2026-7-16 22:04 , Processed in 0.014973 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表