
jasonacox/pypowerwallpyPowerwall缓存代理服务器处理Powerwall网关的认证,并代理/api/meters/aggregates(电力指标)、/api/system_status/soe(电池电量)等API调用(完整列表见帮助文档)。通过以下说明,你可以将此代理容器化并作为端点运行,供telegraf等工具拉取指标,无需单独认证。
由于pyPowerwall设计用于缓存认证信息和高频API调用,同时利用HTTP持久连接,这将减少网关负载,防止因网关上创建过多会话而可能发生的崩溃/重启问题。
Docker镜像拉取:docker pull jasonacox/pypowerwall([***]
运行Docker容器,监听端口8675。根据你的Powerwall更新-e环境变量值。
bashdocker run \ -d \ -p 8675:8675 \ -e PW_PORT='8675' \ -e PW_PASSWORD='password' \ -e PW_EMAIL='***' \ -e PW_HOST='Powerwall网关IP' \ -e PW_TIMEZONE='America/Los_Angeles' \ -e PW_CACHE_EXPIRE='5' \ -e PW_DEBUG='no' \ -e PW_HTTPS='no' \ --name pypowerwall \ --restart unless-stopped \ jasonacox/pypowerwall
测试代理
bash# 获取Powerwall数据 curl -i http://localhost:8675/soe curl -i http://localhost:8675/aggregates curl -i http://localhost:8675/vitals curl -i http://localhost:8675/strings # 获取代理统计信息 curl -i http://localhost:8675/stats # 清除代理统计信息 curl -i http://localhost:8675/stats/clear
代理会将已认证的调用透传到Powerwall Web界面,允许显示电力流动画:
查看。你可以在iFrame中嵌入此动画,详见web/example.html。
代理现在支持HTTPS协议,通过可选环境变量PW_HTTPS配置。这对于在安全iFrame中放置数据(包括Powerwall门户的电力流动画,通过https://localhost:8675/访问)非常有用。
PW_HTTPS有三种设置:
在docker run中开启调试模式:
bash-e PW_DEBUG='yes'
查看日志:
bash# 查看日志 docker logs pypowerwall
如果看到Python错误,请确保在docker run中正确输入了凭据。
iFrame中内容不渲染或提示登录:




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务