evcc - evcc 是一个可扩展的 EV 充电控制器,在Go中实现了 PV 集成。PV杂志精选。

Created at: 2019-12-07 00:27:04
Language: Go
License: MIT

evcc 🚘☀️

构建状态 代码质量 译本 在Visual Studio Code中打开 OSS托管由Cloudsmith 最新版本

evcc 是一款可扩展的 EV 充电控制器,在 Go 中实现了光伏集成。在PV杂志上刊登。

截图

特征

  • 简单干净的用户界面
  • 支持多种充电器
    • ABL eMH1, Alfen (Eve), Bender (CC612/613), cFos (PowerBrain), Daheimladen, Ebee (Wallbox), Ensto (Chago Wallbox), EVSEWifi/ smartWB, Garo (GLB, GLB+, LS4), go-eCharger, HardyBarth (eCB1, cPH1, cPH2), Heidelberg (Energy Control), Innogy (eBox), Juice (Charger Me), KEBA/BMW, Menneckes (Amedio, Amtron Premium/Xtra, Amtron ChargeConrol), NRGkick, openWB (包括Pro), Optec (Mobility One), PC Electric(包括Garo), TechniSat(Technivolt), Tinkerforge Warp Charger,Ubitricity(Heinz),Vestel,Wallbe,Webasto(Live),Mobile Charger Connect等等
    • 实验性EEBus支持(Elli,PMCC)
    • 实验性 OCPP 支持
    • 自建:菲尼克斯电气(包括ESL Walli)、EVSE DIN
    • 智能家居网点:FritzDECT、Shelly、Tasmota、TP-Link
  • 支持多种电网、光伏、电池和充电器的仪表
    • ModBus:Eastron SDM,MPM3PM,ORNO WE,SBC ALE3等等,有关完整列表,请参阅 https://github.com/volkszaehler/mbmd#supported-devices
    • 集成系统:SMA阳光家居管理器和电能表,KOSTAL智能电能表(KSEM,EMxx)
    • Sunspec兼容逆变器或家用电池设备:伏能士,SMA,SolarEdge,KOSTAL,STECA,E3DC,...
    • 以及其他各种:Discovergy,Tesla PowerWall,LG ESS HOME,OpenEMS (FENECON)
  • 车辆集成(充电状态、远程充电、电池和预处理状态):
    • 奥迪,宝马,雪铁龙,达契亚,菲亚特,福特,现代,捷豹,起亚,路虎,梅赛德斯,迷你,日产,欧宝,标致,保时捷,雷诺,西雅特,智能,斯柯达,特斯拉,大众,沃尔沃,...
    • 服务: OVMS, 创益
    • 滑板车:牛,沉默
  • 用于与任何充电器/仪表/车辆集成的插件
    • Modbus、HTTP、MQTT、Javascript、WebSockets 和 shell 脚本
  • 使用电报推倒更多功能的状态通知
  • 使用 InfluxDBGrafana 进行日志记录
  • 使用支持的充电器(例如 smartWB 标记为 OLC)进行低至 mA 步长的精细充电功率控制)
  • 用于与家庭自动化系统集成的 REST 和 MQTT API
  • HomeAssistantOpenHAB 的附加组件(不由 evcc 核心团队维护)

开始

你可以在我们的文档(德语)中找到所需的一切。

贡献

要从源代码构建 evcc,需要 Go 1.18 和节点 18。

构建并运行后端。UI 在 http://127.0.0.1:7070/ 中可用

make
./evcc

对于前端开发,在开发模式下启动 Vue 工具链。打开 http://127.0.0.1:7071/ 以访问实时重新加载开发服务器。它从端口 7070 提取数据(见上文)。

npm install
npm run start

代码格式

我们使用linters(golangci-lint,Prettier)来保持连贯的源代码格式。建议使用编辑器的保存时格式化功能。对于VSCode,请使用GoPrettierVeture扩展。你可以通过运行以下命令手动重新格式化代码:

make lint
make lint-ui

更改 UI 代码

为了确保可重现性,构建前端工件是源代码存储库的一部分。如果对前端代码进行了更改,请确保在提交之前重新生成生产资产。

make ui

更改模板

EVCC支持大量不同的设备。为了使我们的文档和网站与最新软件保持同步,核心项目(此存储库)会生成推送到 and 存储库的元数据。确保每次更改模板时都更新此元数据。

docs
evcc.io

make docs

如果你错过了上述步骤之一,Gitub 操作可能会触发器错误。

添加或修改翻译

evcc 已经包含了许多 UI 的翻译。Weblate 托管用于维护所有语言。随意添加更多语言或验证和编辑现有翻译。Weblate 会自动定期将所有修改推送到 evcc 存储库。

网络托管 语言

https://hosted.weblate.org/projects/evcc/evcc/

赞助

EVCC相信开源软件。我们致力于提供一流的电动汽车充电体验。维护 evcc 会耗费时间和精力。由于有大量不同的设备需要支持,我们依靠社区和供应商的支持来保持evcc的活力。

虽然 evcc 是开源的,但我们也希望鼓励供应商提供开源硬件设备、公共文档和支持像我们这样的开源项目,为其他封闭的硬件提供额外的价值。如果不是这种情况,evcc需要“赞助商令牌”来资助evcc的持续开发和支持。

个人赞助令牌需要 Github 赞助,可以在 sponsor.evcc.io 请求。