Uni-Meter项目中的Tibber Pulse数据解析与Shelly设备模拟问题分析

Uni-Meter项目中的Tibber Pulse数据解析与Shelly设备模拟问题分析

uni-meter A universal electric meter data converter (emulator) uni-meter 项目地址: https://gitcode.com/gh_mirrors/un/uni-meter

项目背景

Uni-Meter是一个通用的电能计量转换工具,能够将不同品牌的智能电表数据转换为统一格式,特别是支持将Tibber Pulse智能电表的数据转换为Shelly Pro 3EM设备兼容的输出格式。这一功能对于需要将Tibber Pulse数据集成到支持Shelly协议的能源管理系统中的用户尤为重要。

Tibber Pulse数据解析机制

在Uni-Meter项目中,Tibber Pulse输入模块的实现基于社区贡献的代码。根据技术分析,Tibber Pulse Bridge仅提供总功率数据,而不提供各相位的独立功率数据。因此,Uni-Meter采用了以下数据处理逻辑:

  1. 从Tibber Pulse API获取的总功率值会自动除以3
  2. 将计算得到的单相功率值分别赋给三个虚拟相位
  3. 最终输出的三相功率总和与原始Tibber Pulse提供的总功率保持一致

这种处理方式虽然导致三相数据相同,但确保了总功率值的准确性。实际测试数据显示,当Tibber Pulse报告120.68W总功率时,Uni-Meter会将其分解为三个40.23W的相位功率,验证了数据处理逻辑的正确性。

Shelly设备模拟的技术挑战

在尝试将Uni-Meter模拟的Shelly Pro 3EM设备与AP Systems EZHI逆变器集成时,发现了以下技术问题:

  1. 设备发现机制:EZHI逆变器期望通过特定HTTP端点获取设备信息,包括设备ID、MAC地址、型号等关键参数。其中设备型号"SPEM-003CEBEU120"的匹配可能影响设备识别。

  2. 配置协议差异:EZHI采用主动推送模式,要求设备通过WebSocket将数据主动发送到指定端点(如"ws://192.168.1.99/meter")。而当前Uni-Meter仅支持被动响应模式,通过UDP或WebSocket被动响应查询请求。

  3. RPC方法支持:EZHI尝试调用"/rpc/Ws.SetConfig"等RPC方法进行设备配置,这些方法在当前Uni-Meter版本中尚未实现,导致返回"unknown RPC method"错误。

技术解决方案建议

针对上述问题,可以考虑以下技术改进方向:

  1. 增强设备信息配置:在Uni-Meter配置文件中增加对Shelly设备型号、固件版本等参数的完整支持,确保与目标设备的兼容性。

  2. 实现主动推送模式:扩展Uni-Meter的WebSocket功能,增加对主动数据推送模式的支持,满足EZHI等设备的通信需求。

  3. 完善RPC方法集:根据目标设备的需求,逐步实现缺失的RPC方法,如Ws.SetConfig等配置相关接口。

  4. 调试与日志增强:在开发阶段启用DEBUG日志级别,详细记录数据转换过程和通信交互,便于问题定位。

实际应用建议

对于当前需要临时解决方案的用户,可以考虑以下替代方案:

  1. 使用中间转换服务,将Uni-Meter的被动响应转换为EZHI所需的主动推送模式
  2. 调整EZHI配置(如支持),使其能够以轮询方式获取数据
  3. 等待Uni-Meter官方版本增加对主动WebSocket推送的支持

通过以上技术分析和建议,希望能帮助用户更好地理解Uni-Meter与Tibber Pulse及Shelly设备模拟相关的工作机制,并为解决实际集成问题提供思路。

uni-meter A universal electric meter data converter (emulator) uni-meter 项目地址: https://gitcode.com/gh_mirrors/un/uni-meter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐彬纪Estelle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值