Alfen Eve电动汽车充电单元的API客户端。
项目描述
Alfen Eve电动汽车充电单元的API客户端。
安装
作为CLI工具
$ pip install alfeneve[cli]
作为库
$ pip install alfeneve
配置
CLI工具使用omniconf。这允许您通过文件或环境(或两者的组合)提供任何CLI参数。
直接作为参数
$ alfen-eve --alfen-endpoint https://192.168.1.23 --alfen-username admin --alfen-password foo
使用YAML文件(请确保安装PyYAML,或使用omniconf[yaml])
$ cat settings.yaml
alfen:
endpoint: https://192.168.1.23
username: admin
password: foo
$ alfen-eve --yaml-filename settings.yaml
使用环境变量
$ ALFEN_ENDPOINT=https://192.168.1.23 ALFEN_USERNAME=admin ALFEN_PASSWORD=foo alfen-eve
API凭证
Alfen提供了一款名为ACE Service Installer(或简称Service Installer)的工具,允许您配置您的Alfen充电单元。此工具需要一个服务帐户,您可以从Alfen请求该服务帐户。
尽管API实际上并没有直接使用此帐户,但API凭证似乎是硬编码的,Service Installer要么附带此密码,要么可以从Alfen推断或请求此密码。无论如何,您可以使用Service Installer工具嗅探凭证。
目前此过程有些复杂,需要您知道如何在Windows中将自己作为代理插入到Service Installer和您的充电单元之间。大致步骤如下(使用mitmproxy)
安装mitmproxy。
至少启动一次mitmproxy以生成证书:mitmproxy –listen-port 8090。
将mitmproxy证书安装为受信任根证书(您可以在用户帐户中的.mitmproxy文件夹中找到它)。
启动mitmproxy mitmproxy –listen-port 8090 –insecure 并使用 Internet Options 将其设置为操作系统全局代理。
如果一切配置正确,现在您可以启动服务安装程序并使用服务帐户登录。
连接到您的Alfen充电器,并在mitmproxy窗口中查看。应该有一个请求到 /api/login。您可以在该请求中找到用户名和密码。
按照上述说明配置这些凭据。
务必将mitmproxy从操作系统全局代理中删除。
示例
作为CLI工具使用
$ alfen-eve --mode categories
category
----------
generic
generic2
accelero
temp
states
meter1
meter4
leds
ocpp
display
comm
MbusTCP
$ alfen-eve --mode properties --properties-category meter4
name value id cat
----------------------------- ------------- ------- ------
OD_sensOptionalEnergyMeter4 5 5217_0 meter4
OD_sensEnergyMeterType4 1 5218_0 meter4
meter4_voltageL1N 225.1 5221_3 meter4
meter4_voltageL2N 225.7 5221_4 meter4
meter4_voltageL3N 228.6 5221_5 meter4
...
作为库使用
from alfeneve.alfen import Alfen
from pprint import pprint
with Alfen("https://192.168.1.23", ("admin", "foo")) as eve:
cats = eve.categories()
pprint(cats)
# ['generic',
# 'generic2',
# 'accelero',
# 'temp',
# 'states',
# 'meter1',
# 'meter4',
# 'leds',
# 'ocpp',
# 'display',
# 'comm',
# 'MbusTCP']
properties = eve.properties(category="generic")
pprint(list(properties))
# [<AlfenProperty(name=OD_manufacturerDeviceName, value=NG910, id=1008_0, cat=generic)>,
# <AlfenProperty(name=OD_manufacturerHardwareVersion, value=G0, id=1009_0, cat=generic)>,
# <AlfenProperty(name=OD_manufacturerSoftwareVersion, value=4.8.0-3168, id=100A_0, cat=generic)>,
# ... ]
许可协议
MIT
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
构建分布
alfeneve-0.6.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9f8eaef9d5ae2c640a947dd6bcc9c92c046ec20872860d7d114ce01950732a8f |
|
MD5 | 75cdd11e6f037a5bbf4670c4c774bd2a |
|
BLAKE2b-256 | a9eb5619a73844f188683115a6ed14729abcc690ea3e88e39105242ada554cc5 |
alfeneve-0.6.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e1622ad01a72d223fffe05358cfdb54093fed9040b5267a9a6df801b034b24e0 |
|
MD5 | b2c046d913be5cb01afb2627c76d1fb7 |
|
BLAKE2b-256 | 02e6c16b0941df9e5c2fd08a384b32ea3d7bf5a7b477b6b50f59263d0f0578f7 |