分享个开源小工具: 让特斯拉只用光伏余电充电(阳光电源 Modbus + Tessie)
guiguan: 家里装了阳光电源 (Sungrow) 的光伏逆变器,白天经常有余电上网,可上网电价又低,就想让特斯拉尽量吃掉这部分余电,而不是从电网买电充。折腾了个小服务,分享一下。
原理不复杂:
- 通过 Modbus TCP 读逆变器的上网/余电功率(我这台是 input register 5600,不同型号寄存器可能不一样,README 里写了怎么找)
- 通过 Tessie API 读车辆状态、控制充电启停和电流(A)
- 每 30s 一个循环: 按「当前充电功率 + 余电 − 缓冲」算目标功率,取 5 分钟滑动平均。余电多就加大电流,余电少就减小甚至暂停
- GPS 地理围栏,只有停在家附近 50m 内才动作;valet 模式 / 没插枪直接跳过
按单相 230V 换算(澳洲电网),Go 写的,几百行。镜像用 Dagger 构建,配了 Makefile 和一套 k8s yaml,丢集群里就能跑。刚加了 GitHub Actions,push 自动 build/publish 镜像。
GitHub(MIT): [https://github.com/guiguan/tesla-sungrow-charge-controller](https://github.com/guiguan/tesla-sungrow-charge-controller)
开源出来分享一下,欢迎拍砖,尤其想请教两点:
1. 大家都用什么读阳光电源的余电功率?直接怼寄存器 / SunGather / Home Assistant?
2. 有没有更聪明的调节策略?我现在就是很朴素的滑动平均 + 限幅。
---
原文链接:[点击查看](https://www.v2ex.com/t/1227035)
原理不复杂:
- 通过 Modbus TCP 读逆变器的上网/余电功率(我这台是 input register 5600,不同型号寄存器可能不一样,README 里写了怎么找)
- 通过 Tessie API 读车辆状态、控制充电启停和电流(A)
- 每 30s 一个循环: 按「当前充电功率 + 余电 − 缓冲」算目标功率,取 5 分钟滑动平均。余电多就加大电流,余电少就减小甚至暂停
- GPS 地理围栏,只有停在家附近 50m 内才动作;valet 模式 / 没插枪直接跳过
按单相 230V 换算(澳洲电网),Go 写的,几百行。镜像用 Dagger 构建,配了 Makefile 和一套 k8s yaml,丢集群里就能跑。刚加了 GitHub Actions,push 自动 build/publish 镜像。
GitHub(MIT): [https://github.com/guiguan/tesla-sungrow-charge-controller](https://github.com/guiguan/tesla-sungrow-charge-controller)
开源出来分享一下,欢迎拍砖,尤其想请教两点:
1. 大家都用什么读阳光电源的余电功率?直接怼寄存器 / SunGather / Home Assistant?
2. 有没有更聪明的调节策略?我现在就是很朴素的滑动平均 + 限幅。
---
原文链接:[点击查看](https://www.v2ex.com/t/1227035)
评论
暂无评论。