Skip to content

Commit cd3e884

Browse files
committed
feat: tinkerforge warp http api
1 parent 0d609af commit cd3e884

File tree

10 files changed

+1843
-0
lines changed

10 files changed

+1843
-0
lines changed

charger/warp-http.go

Lines changed: 484 additions & 0 deletions
Large diffs are not rendered by default.

charger/warp-http_decorators.go

Lines changed: 1247 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charger/warp/types.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ const (
55
FeatureMeterAllValues = "meter_all_values"
66
FeatureMeterPhases = "meter_phases"
77
FeatureNfc = "nfc"
8+
FeatureMeters = "meters"
9+
FeaturePowerManager = "power_manager"
810
)
911

1012
// https://www.warp-charger.com/api.html#evse_state
@@ -54,6 +56,29 @@ type MeterAllValues struct {
5456
PhasesConnected []bool `json:"phases_connected"`
5557
}
5658

59+
// Meter value IDs according to Tinkerforge meter_value_id.csv
60+
const (
61+
MetersValueIDVoltageL1N = 1 // Voltage L1-N
62+
MetersValueIDVoltageL2N = 2 // Voltage L2-N
63+
MetersValueIDVoltageL3N = 3 // Voltage L3-N
64+
MetersValueIDCurrentImExSumL1 = 13 // Current L1 Im-Ex Sum
65+
MetersValueIDCurrentImExSumL2 = 17 // Current L2 Im-Ex Sum
66+
MetersValueIDCurrentImExSumL3 = 21 // Current L3 Im-Ex Sum
67+
MetersValueIDPowerImExSum = 74 // Power Im-Ex Sum L1 L2 L3
68+
MetersValueIDEnergyAbsImExSum = 213 // Energy Im+Ex Sum L1 L2 L3
69+
)
70+
71+
type MetersValues struct {
72+
VoltageL1N float64
73+
VoltageL2N float64
74+
VoltageL3N float64
75+
CurrentImExSumL1 float64
76+
CurrentImExSumL2 float64
77+
CurrentImExSumL3 float64
78+
PowerImExSum float64
79+
EnergyAbsImExSum float64
80+
}
81+
5782
type UsersConfig struct {
5883
Users []User `json:"users"`
5984
}
File renamed without changes.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
template: tinkerforge-warp-http
2+
products:
3+
- brand: TinkerForge
4+
description:
5+
generic: WARP Charger Smart
6+
- brand: TinkerForge
7+
description:
8+
generic: WARP Charger Pro
9+
capabilities: ["mA", "1p3p", "rfid"]
10+
requirements:
11+
description:
12+
en: Firmware v2 required. Automatic phase switching requires the additional WARP Energy Manager.
13+
de: Firmware v2 erforderlich. Für automatische Phasenumschaltung wird zusätzlich der WARP Energy Manager benötigt.
14+
evcc: ["skiptest"]
15+
params:
16+
- name: uri
17+
required: true
18+
- name: user
19+
- name: password
20+
- name: energyManagerUri
21+
description:
22+
generic: Energy Manager URI
23+
help:
24+
de: HTTP(S) Adresse des WARP Energy Manager
25+
en: HTTP(S) address of the WARP Energy Manager
26+
- name: energyManagerUser
27+
description:
28+
de: Energy Manager Benutzerkonto
29+
en: Energy Manager Username
30+
help:
31+
de: bspw. E-Mail Adresse, User Id, etc.
32+
en: e.g. email address, user id, etc.
33+
- name: energyManagerPassword
34+
description:
35+
de: Energy Manager Passwort
36+
en: Energy Manager Password
37+
help:
38+
de: Bei führenden Nullen bitte in einfache Hochkommata setzen
39+
en: Use single quotes in case of leading zeros
40+
- name: meterIndex
41+
default: 0
42+
required: true
43+
description:
44+
de: Stromzähler Index
45+
en: Energy Meter Index
46+
render: |
47+
type: warp-http
48+
uri: {{ .uri }}
49+
user: {{ .user }}
50+
password: {{ .password }}
51+
energyManagerUri: {{ .energyManagerUri }}
52+
energyManagerUser: {{ .energyManagerUser }}
53+
energyManagerPassword: {{ .energyManagerPassword }}
54+
disablePhaseAutoSwitch: false
55+
energyMeterIndex: {{ .meterIndex }}

templates/definition/charger/tinkerforge-warp.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
template: tinkerforge-warp
2+
deprecated: true
23
covers:
34
- tinkerforge-warp-pro
45
products:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
template: tinkerforge-warp3-http
2+
products:
3+
- brand: TinkerForge
4+
description:
5+
generic: WARP3 Charger Smart
6+
- brand: TinkerForge
7+
description:
8+
generic: WARP3 Charger Pro
9+
capabilities: ["mA", "1p3p", "rfid"]
10+
requirements:
11+
evcc: ["skiptest"]
12+
params:
13+
- name: uri
14+
required: true
15+
- name: user
16+
- name: password
17+
- name: meterIndex
18+
default: 0
19+
required: true
20+
description:
21+
de: Stromzähler Index
22+
en: Energy Meter Index
23+
render: |
24+
type: warp-http
25+
uri: {{ .uri }}
26+
user: {{ .user }}
27+
password: {{ .password }}
28+
disablePhaseAutoSwitch: true
29+
energyMeterIndex: {{ .meterIndex }}

templates/definition/charger/tinkerforge-warp3-smart.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
template: tinkerforge-warp3-smart
2+
deprecated: true
23
products:
34
- brand: TinkerForge
45
description:

templates/definition/charger/tinkerforge-warp3.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
template: tinkerforge-warp3
2+
deprecated: true
23
products:
34
- brand: TinkerForge
45
description:

0 commit comments

Comments
 (0)