iobroker.go-e-charger 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -13
- package/admin/i18n/de.json +6 -6
- package/admin/i18n/es.json +6 -6
- package/admin/i18n/fr.json +6 -6
- package/admin/i18n/it.json +6 -6
- package/admin/i18n/nl.json +6 -6
- package/admin/i18n/pl.json +6 -6
- package/admin/i18n/pt.json +6 -6
- package/admin/i18n/ru.json +6 -6
- package/admin/i18n/uk.json +6 -6
- package/admin/i18n/zh-cn.json +6 -6
- package/build/lib/chargeManagerUtils.js +53 -0
- package/build/lib/chargeManagerUtils.js.map +1 -0
- package/build/main.js +130 -120
- package/build/main.js.map +1 -1
- package/io-package.json +14 -14
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ For more information about the go-e Charger hardware, visit the manufacturer's w
|
|
|
45
45
|
- energy statistics per RFID card (card name, ID, and charged energy)
|
|
46
46
|
- read-only mode per wallbox – monitor a charger purely, without sending **any** control commands to it (no charge release, no charging current, no phase switching), e.g. when charging is controlled elsewhere or access is managed via RFID tags
|
|
47
47
|
|
|
48
|
-
Tested with firmware V033, V040.0, V041.0, V054.7, V054.11, V055.5, V055.7, V055.8, V56.1, V56.2, V56.8, V56.9, V56.11, V57.0, V57.1, V59.4, V60.0, V60.1, V60.2 and with up to 3 chargers operated in parallel.
|
|
48
|
+
Tested with firmware V033, V040.0, V041.0, V054.7, V054.11, V055.5, V055.7, V055.8, V56.1, V56.2, V56.8, V56.9, V56.11, V57.0, V57.1, V59.4, V60.0, V60.1, V60.2, V60.5, V60.6 and with up to 3 chargers operated in parallel.
|
|
49
49
|
|
|
50
50
|
### Requirements
|
|
51
51
|
|
|
@@ -58,15 +58,104 @@ Add one entry per go-e Charger to the wallbox list and enter its IP address. Opt
|
|
|
58
58
|
|
|
59
59
|
Enable **read-only mode** for a charger if the adapter should only read its data and never write to it. In read-only mode the adapter sends no control commands at all – neither the charge release, nor the charging current, nor phase switching. The ChargeNOW and ChargeManager states can still be toggled, but they have no effect on a read-only charger. Use this mode when the charging of that wallbox is controlled by another system or managed locally via RFID tags.
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
The poll cycle time defines how often the adapter reads data from the chargers and adjusts the charging current (minimum 3 seconds, default 10 seconds).
|
|
62
|
+
|
|
63
|
+
### PV surplus charging with ChargeManager
|
|
64
|
+
|
|
65
|
+
ChargeManager calculates the charging current from numeric ioBroker states supplied by an energy-management, inverter, meter, or user-created data source. It does not depend on a particular vendor, but the selected states must represent the quantities described below.
|
|
66
|
+
|
|
67
|
+
Configure the object IDs of the following states:
|
|
62
68
|
|
|
63
69
|
- currently available solar power [W]
|
|
64
70
|
- current home power consumption [W]
|
|
65
71
|
- current state of charge of your home battery [%]
|
|
66
72
|
|
|
67
|
-
|
|
73
|
+
#### Input requirements
|
|
68
74
|
|
|
69
|
-
|
|
75
|
+
| Input | Expected value | Unit | Sign |
|
|
76
|
+
| ---------------------------- | ------------------------------ | ---- | -------------------- |
|
|
77
|
+
| Solar power | Total current PV generation | W | Positive generation |
|
|
78
|
+
| Home power consumption | Total current household demand | W | Positive consumption |
|
|
79
|
+
| Home battery state of charge | Current battery charge level | % | 0 to 100 |
|
|
80
|
+
|
|
81
|
+
All three states must contain numeric values. Power values in kW must be converted to W before they are selected. A grid import/export state cannot be used directly because ChargeManager currently expects separate generation and consumption values.
|
|
82
|
+
|
|
83
|
+
If no home battery is installed, create a numeric helper state and select it as the battery state of charge. Set this helper to the **same constant value** as `Settings.Setpoint_HomeBatSoC` (for example `70` for both). This keeps the battery offset at zero, so ChargeManager charges purely from the available PV surplus.
|
|
84
|
+
|
|
85
|
+
#### Wallbox consumption in the home-consumption value
|
|
86
|
+
|
|
87
|
+
Enable **Charger consumption is included in the home power consumption value** when the selected home-consumption state rises by approximately the charging power after charging starts. ChargeManager then adds the measured wallbox power back before calculating the available surplus. This prevents the controller from treating its own charging load as additional household demand.
|
|
88
|
+
|
|
89
|
+
Leave the option disabled when the selected state already excludes wallbox consumption.
|
|
90
|
+
|
|
91
|
+
#### Calculation
|
|
92
|
+
|
|
93
|
+
ChargeManager uses the following calculation once per poll cycle:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
available power =
|
|
97
|
+
solar power
|
|
98
|
+
- home power consumption
|
|
99
|
+
+ wallbox power, if it is included in home power consumption
|
|
100
|
+
- 100 W reserve
|
|
101
|
+
+ battery SoC offset
|
|
102
|
+
|
|
103
|
+
target current = floor(available power / 230 V / active phases)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The battery offset is zero when the battery is exactly at the configured minimum state of charge and increases up to 2,000 W as the battery approaches 100%. Below `Settings.Setpoint_HomeBatSoC`, EV charging is disabled so that the home battery has priority.
|
|
107
|
+
|
|
108
|
+
The calculated current is limited to a maximum of 16 A. The internal current target changes by at most 1 A per poll cycle to reduce sudden changes.
|
|
109
|
+
|
|
110
|
+
#### Enabling ChargeManager
|
|
111
|
+
|
|
112
|
+
After the adapter has started, use the writable states below. Replace instance `0` and wallbox number `0` where necessary.
|
|
113
|
+
|
|
114
|
+
| State | Purpose |
|
|
115
|
+
| ------------------------------------------------- | --------------------------------------------------------------- |
|
|
116
|
+
| `go-e-charger.0.Settings.Setpoint_HomeBatSoC` | Minimum home-battery SoC before surplus charging is allowed |
|
|
117
|
+
| `go-e-charger.0.Wallbox_0.Settings.ChargeManager` | Enables or disables PV surplus control |
|
|
118
|
+
| `go-e-charger.0.Wallbox_0.Settings.ChargeNOW` | Overrides ChargeManager and forces charging |
|
|
119
|
+
| `go-e-charger.0.Wallbox_0.Settings.ChargeCurrent` | Current used by ChargeNOW |
|
|
120
|
+
| `go-e-charger.0.Wallbox_0.Settings.Charge3Phase` | Selects one-phase or three-phase charging on supported hardware |
|
|
121
|
+
|
|
122
|
+
For surplus charging, set `ChargeNOW` to `false` and `ChargeManager` to `true`. When both are enabled, ChargeNOW takes precedence and uses the configured `ChargeCurrent` without considering the available surplus.
|
|
123
|
+
|
|
124
|
+
#### One-phase and three-phase charging
|
|
125
|
+
|
|
126
|
+
ChargeManager does not automatically switch between one and three phases according to the available surplus. On hardware generation 3 and newer, `Charge3Phase` selects the phase mode:
|
|
127
|
+
|
|
128
|
+
- `false`: one-phase charging
|
|
129
|
+
- `true`: three-phase charging
|
|
130
|
+
|
|
131
|
+
Because the current implementation starts charging when its internal target exceeds 9 A, the effective starting point is 10 A. This requires approximately 2.3 kW in one-phase mode or 6.9 kW in three-phase mode after the reserve and battery adjustments. One-phase mode therefore provides a wider operating range for smaller PV systems or variable weather.
|
|
132
|
+
|
|
133
|
+
#### Operating modes
|
|
134
|
+
|
|
135
|
+
| ChargeNOW | ChargeManager | Result |
|
|
136
|
+
| --------- | ------------- | ------------------------------------------ |
|
|
137
|
+
| `false` | `false` | Charging is disabled |
|
|
138
|
+
| `false` | `true` | Charging follows the calculated PV surplus |
|
|
139
|
+
| `true` | `false` | Forced charging at `ChargeCurrent` |
|
|
140
|
+
| `true` | `true` | ChargeNOW takes precedence |
|
|
141
|
+
|
|
142
|
+
In read-only mode, these states can still be changed but no resulting control command is sent to the charger.
|
|
143
|
+
|
|
144
|
+
#### Verification and troubleshooting
|
|
145
|
+
|
|
146
|
+
Before relying on automatic charging, verify the selected input states in the ioBroker object view:
|
|
147
|
+
|
|
148
|
+
1. Solar power is close to zero at night and follows current generation during the day.
|
|
149
|
+
2. Home power consumption remains positive and reacts plausibly when household loads are switched on.
|
|
150
|
+
3. Battery state of charge remains between 0 and 100.
|
|
151
|
+
4. All power values are expressed in W rather than kW.
|
|
152
|
+
5. The wallbox-consumption option matches whether charging power is included in the selected home-consumption value.
|
|
153
|
+
6. `Wallbox_0.info.connection` is `true`.
|
|
154
|
+
7. `Wallbox_0.Power.Charge`, `Wallbox_0.Power.GridPhases`, and, on supported hardware, `Wallbox_0.Power.EnabledPhases` contain plausible values.
|
|
155
|
+
|
|
156
|
+
Charging may take several poll cycles to start because the internal target increases by only 1 A per cycle. With the default 10-second cycle and an initial target of 0 A, reaching the 10 A starting point can take approximately 100 seconds.
|
|
157
|
+
|
|
158
|
+
ChargeManager is currently intended to control one charger. Enabling it for multiple chargers at the same time results in each charger independently using the same surplus and can cause incorrect allocation.
|
|
70
159
|
|
|
71
160
|
## Sentry
|
|
72
161
|
|
|
@@ -83,6 +172,14 @@ If you enjoyed this project – or are just feeling generous – consider buying
|
|
|
83
172
|
Placeholder for the next version (at the beginning of the line):
|
|
84
173
|
### **WORK IN PROGRESS**
|
|
85
174
|
-->
|
|
175
|
+
### 1.2.1 (2026-07-31)
|
|
176
|
+
|
|
177
|
+
- (typhosj) made ChargeManager surplus control more fail-safe: input validation, current clamped to 0-16 A, resilience of state-machine loop (#841)
|
|
178
|
+
- (hombach) added support for firmware V60.5 (#800) and V60.6 (#844)
|
|
179
|
+
- (typhosj) added ChargeManager PV surplus configuration guide (#842)
|
|
180
|
+
- (hombach) corrected no-battery helper-state recommendation for ChargeManager
|
|
181
|
+
- (hombach) updated dependencies
|
|
182
|
+
|
|
86
183
|
### 1.2.0 (2026-07-12)
|
|
87
184
|
|
|
88
185
|
- (hombach) added statisticsGlobal.chargePower state with the current total charging power of all chargers
|
|
@@ -111,15 +208,6 @@ If you enjoyed this project – or are just feeling generous – consider buying
|
|
|
111
208
|
- (hombach) added translations
|
|
112
209
|
- (hombach) fixed state roles
|
|
113
210
|
|
|
114
|
-
### 1.0.2 (2026-07-01)
|
|
115
|
-
|
|
116
|
-
- (hombach) fix RFID data readout for gen 3+ chargers via API V2 (#802)
|
|
117
|
-
- (hombach) prepared for beta repo
|
|
118
|
-
- (hombach) eliminate yarn
|
|
119
|
-
- (hombach) upgraded adapter-core
|
|
120
|
-
- (hombach) updated axios
|
|
121
|
-
- (hombach) updated dependencies
|
|
122
|
-
|
|
123
211
|
[Older changelogs can be found there](CHANGELOG_OLD.md)
|
|
124
212
|
|
|
125
213
|
## License
|
package/admin/i18n/de.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Name der Wallbox",
|
|
3
3
|
"LBL_cycleTime": "Zeit zwischen Datenabfragen von der Wallbox [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "IP-Adresse des go-eChargers",
|
|
5
|
+
"LBL_readOnlyMode": "Nur-Lese-Modus - Ladefreigabe wird nicht an die Wallbox gesendet (zur Nutzung von RFID-Tags)",
|
|
6
|
+
"LBL_standardSettings": "Standardeinstellungen",
|
|
5
7
|
"LBL_stateHomeBatSoc": "Objekt-ID für den aktuellen Ladezustand der Hausbatterie [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "Objekt-ID für den aktuellen Hausstromverbrauch [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "Objekt-ID für die aktuell verfügbare Solarleistung [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "Verbrauch der Wallbox ist im Hausstromverbrauch enthalten",
|
|
8
|
-
"LBL_wallBoxList": "Wallbox-Liste"
|
|
9
|
-
"LBL_chargerName": "Name der Wallbox",
|
|
10
|
-
"LBL_ipAddress": "IP-Adresse des go-eChargers",
|
|
11
|
-
"LBL_readOnlyMode": "Nur-Lese-Modus - Ladefreigabe wird nicht an die Wallbox gesendet (zur Nutzung von RFID-Tags)"
|
|
11
|
+
"LBL_wallBoxList": "Wallbox-Liste"
|
|
12
12
|
}
|
package/admin/i18n/es.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Nombre del cargador",
|
|
3
3
|
"LBL_cycleTime": "Tiempo entre consultas de datos del cargador [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "Dirección IP del go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Modo de solo lectura - la autorización de carga no se envía al cargador (para usar etiquetas RFID)",
|
|
6
|
+
"LBL_standardSettings": "Configuración estándar",
|
|
5
7
|
"LBL_stateHomeBatSoc": "ID de objeto para el estado de carga actual de la batería doméstica [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "ID de objeto para el consumo eléctrico actual del hogar [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "ID de objeto para la potencia solar disponible actualmente [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "El consumo del cargador está incluido en el valor del consumo eléctrico del hogar",
|
|
8
|
-
"LBL_wallBoxList": "Lista de wallboxes"
|
|
9
|
-
"LBL_chargerName": "Nombre del cargador",
|
|
10
|
-
"LBL_ipAddress": "Dirección IP del go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Modo de solo lectura - la autorización de carga no se envía al cargador (para usar etiquetas RFID)"
|
|
11
|
+
"LBL_wallBoxList": "Lista de wallboxes"
|
|
12
12
|
}
|
package/admin/i18n/fr.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Nom de la borne",
|
|
3
3
|
"LBL_cycleTime": "Intervalle entre les interrogations de données de la borne [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "Adresse IP du go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Mode lecture seule - l'autorisation de charge n'est pas envoyée à la borne (pour l'utilisation de badges RFID)",
|
|
6
|
+
"LBL_standardSettings": "Paramètres standard",
|
|
5
7
|
"LBL_stateHomeBatSoc": "ID d'objet pour l'état de charge actuel de la batterie domestique [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "ID d'objet pour la consommation électrique actuelle du domicile [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "ID d'objet pour la puissance solaire actuellement disponible [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "La consommation de la borne est incluse dans la valeur de consommation électrique du domicile",
|
|
8
|
-
"LBL_wallBoxList": "Liste des wallbox"
|
|
9
|
-
"LBL_chargerName": "Nom de la borne",
|
|
10
|
-
"LBL_ipAddress": "Adresse IP du go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Mode lecture seule - l'autorisation de charge n'est pas envoyée à la borne (pour l'utilisation de badges RFID)"
|
|
11
|
+
"LBL_wallBoxList": "Liste des wallbox"
|
|
12
12
|
}
|
package/admin/i18n/it.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Nome della wallbox",
|
|
3
3
|
"LBL_cycleTime": "Intervallo tra le letture dei dati dalla wallbox [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "Indirizzo IP del go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Modalità di sola lettura - l'autorizzazione alla ricarica non viene inviata alla wallbox (per l'uso di tag RFID)",
|
|
6
|
+
"LBL_standardSettings": "Impostazioni standard",
|
|
5
7
|
"LBL_stateHomeBatSoc": "ID oggetto per l'attuale stato di carica della batteria domestica [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "ID oggetto per il consumo elettrico domestico attuale [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "ID oggetto per la potenza solare attualmente disponibile [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "Il consumo della wallbox è incluso nel valore del consumo elettrico domestico",
|
|
8
|
-
"LBL_wallBoxList": "Elenco delle wallbox"
|
|
9
|
-
"LBL_chargerName": "Nome della wallbox",
|
|
10
|
-
"LBL_ipAddress": "Indirizzo IP del go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Modalità di sola lettura - l'autorizzazione alla ricarica non viene inviata alla wallbox (per l'uso di tag RFID)"
|
|
11
|
+
"LBL_wallBoxList": "Elenco delle wallbox"
|
|
12
12
|
}
|
package/admin/i18n/nl.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Naam van de wallbox",
|
|
3
3
|
"LBL_cycleTime": "Tijd tussen gegevensopvragingen van de wallbox [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "IP-adres van de go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Alleen-lezen modus - laadvrijgave wordt niet naar de wallbox gestuurd (voor gebruik met RFID-tags)",
|
|
6
|
+
"LBL_standardSettings": "Standaardinstellingen",
|
|
5
7
|
"LBL_stateHomeBatSoc": "Object-ID voor de huidige laadtoestand van de thuisbatterij [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "Object-ID voor het huidige stroomverbruik van de woning [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "Object-ID voor het momenteel beschikbare zonnevermogen [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "Het verbruik van de wallbox is inbegrepen in het stroomverbruik van de woning",
|
|
8
|
-
"LBL_wallBoxList": "Wallbox-lijst"
|
|
9
|
-
"LBL_chargerName": "Naam van de wallbox",
|
|
10
|
-
"LBL_ipAddress": "IP-adres van de go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Alleen-lezen modus - laadvrijgave wordt niet naar de wallbox gestuurd (voor gebruik met RFID-tags)"
|
|
11
|
+
"LBL_wallBoxList": "Wallbox-lijst"
|
|
12
12
|
}
|
package/admin/i18n/pl.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Nazwa ładowarki",
|
|
3
3
|
"LBL_cycleTime": "Czas między odczytami danych z ładowarki [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "Adres IP go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Tryb tylko do odczytu - zezwolenie na ładowanie nie jest wysyłane do ładowarki (do użycia z tagami RFID)",
|
|
6
|
+
"LBL_standardSettings": "Ustawienia standardowe",
|
|
5
7
|
"LBL_stateHomeBatSoc": "ID obiektu dla aktualnego stanu naładowania baterii domowej [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "ID obiektu dla aktualnego zużycia energii w domu [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "ID obiektu dla aktualnie dostępnej mocy solarnej [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "Zużycie ładowarki jest uwzględnione w wartości zużycia energii w domu",
|
|
8
|
-
"LBL_wallBoxList": "Lista wallboxów"
|
|
9
|
-
"LBL_chargerName": "Nazwa ładowarki",
|
|
10
|
-
"LBL_ipAddress": "Adres IP go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Tryb tylko do odczytu - zezwolenie na ładowanie nie jest wysyłane do ładowarki (do użycia z tagami RFID)"
|
|
11
|
+
"LBL_wallBoxList": "Lista wallboxów"
|
|
12
12
|
}
|
package/admin/i18n/pt.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Nome do carregador",
|
|
3
3
|
"LBL_cycleTime": "Tempo entre consultas de dados do carregador [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "Endereço IP do go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Modo somente leitura - a autorização de carregamento não é enviada ao carregador (para uso com etiquetas RFID)",
|
|
6
|
+
"LBL_standardSettings": "Configurações padrão",
|
|
5
7
|
"LBL_stateHomeBatSoc": "ID do objeto para o estado de carga atual da bateria doméstica [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "ID do objeto para o consumo de energia atual da casa [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "ID do objeto para a potência solar atualmente disponível [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "O consumo do carregador está incluído no valor do consumo de energia da casa",
|
|
8
|
-
"LBL_wallBoxList": "Lista de wallboxes"
|
|
9
|
-
"LBL_chargerName": "Nome do carregador",
|
|
10
|
-
"LBL_ipAddress": "Endereço IP do go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Modo somente leitura - a autorização de carregamento não é enviada ao carregador (para uso com etiquetas RFID)"
|
|
11
|
+
"LBL_wallBoxList": "Lista de wallboxes"
|
|
12
12
|
}
|
package/admin/i18n/ru.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Название зарядной станции",
|
|
3
3
|
"LBL_cycleTime": "Интервал между опросами данных зарядной станции [мс]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "IP-адрес go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Режим только для чтения - разрешение на зарядку не отправляется на зарядную станцию (для использования RFID-меток)",
|
|
6
|
+
"LBL_standardSettings": "Стандартные настройки",
|
|
5
7
|
"LBL_stateHomeBatSoc": "ID объекта для текущего уровня заряда домашнего аккумулятора [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "ID объекта для текущего энергопотребления дома [Вт]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "ID объекта для текущей доступной солнечной мощности [Вт]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "Потребление зарядной станции включено в значение энергопотребления дома",
|
|
8
|
-
"LBL_wallBoxList": "Список зарядных станций"
|
|
9
|
-
"LBL_chargerName": "Название зарядной станции",
|
|
10
|
-
"LBL_ipAddress": "IP-адрес go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Режим только для чтения - разрешение на зарядку не отправляется на зарядную станцию (для использования RFID-меток)"
|
|
11
|
+
"LBL_wallBoxList": "Список зарядных станций"
|
|
12
12
|
}
|
package/admin/i18n/uk.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "Назва зарядної станції",
|
|
3
3
|
"LBL_cycleTime": "Інтервал між опитуваннями даних зарядної станції [мс]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "IP-адреса go-eCharger",
|
|
5
|
+
"LBL_readOnlyMode": "Режим лише для читання - дозвіл на заряджання не надсилається на зарядну станцію (для використання RFID-міток)",
|
|
6
|
+
"LBL_standardSettings": "Стандартні налаштування",
|
|
5
7
|
"LBL_stateHomeBatSoc": "ID об'єкта для поточного рівня заряду домашньої батареї [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "ID об'єкта для поточного енергоспоживання будинку [Вт]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "ID об'єкта для поточної доступної сонячної потужності [Вт]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "Споживання зарядної станції включено у значення енергоспоживання будинку",
|
|
8
|
-
"LBL_wallBoxList": "Список зарядних станцій"
|
|
9
|
-
"LBL_chargerName": "Назва зарядної станції",
|
|
10
|
-
"LBL_ipAddress": "IP-адреса go-eCharger",
|
|
11
|
-
"LBL_readOnlyMode": "Режим лише для читання - дозвіл на заряджання не надсилається на зарядну станцію (для використання RFID-міток)"
|
|
11
|
+
"LBL_wallBoxList": "Список зарядних станцій"
|
|
12
12
|
}
|
package/admin/i18n/zh-cn.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"LBL_chargerName": "充电桩名称",
|
|
3
3
|
"LBL_cycleTime": "从充电桩轮询数据的时间间隔 [ms]",
|
|
4
|
-
"
|
|
4
|
+
"LBL_ipAddress": "go-eCharger 的 IP 地址",
|
|
5
|
+
"LBL_readOnlyMode": "只读模式 - 充电许可不会发送到充电桩(用于 RFID 标签)",
|
|
6
|
+
"LBL_standardSettings": "标准设置",
|
|
5
7
|
"LBL_stateHomeBatSoc": "家庭电池当前充电状态的对象ID [%]",
|
|
6
8
|
"LBL_stateHomePowerConsumption": "家庭当前用电量的对象ID [W]",
|
|
9
|
+
"LBL_stateHomeSolarPower": "当前可用太阳能功率的对象ID [W]",
|
|
7
10
|
"LBL_subtractSelfConsumption": "充电桩的耗电量已包含在家庭用电量数值中",
|
|
8
|
-
"LBL_wallBoxList": "充电桩列表"
|
|
9
|
-
"LBL_chargerName": "充电桩名称",
|
|
10
|
-
"LBL_ipAddress": "go-eCharger 的 IP 地址",
|
|
11
|
-
"LBL_readOnlyMode": "只读模式 - 充电许可不会发送到充电桩(用于 RFID 标签)"
|
|
11
|
+
"LBL_wallBoxList": "充电桩列表"
|
|
12
12
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_CHARGE_CURRENT = exports.MIN_CHARGE_CURRENT = void 0;
|
|
4
|
+
exports.calculateOptimalChargeCurrent = calculateOptimalChargeCurrent;
|
|
5
|
+
exports.stepChargeCurrent = stepChargeCurrent;
|
|
6
|
+
exports.updateShutdownDelay = updateShutdownDelay;
|
|
7
|
+
exports.buildChargerCommands = buildChargerCommands;
|
|
8
|
+
exports.MIN_CHARGE_CURRENT = 6;
|
|
9
|
+
exports.MAX_CHARGE_CURRENT = 16;
|
|
10
|
+
function calculateOptimalChargeCurrent(input) {
|
|
11
|
+
const numericInputs = [input.solarPower, input.houseConsumption, input.chargerPower, input.batterySoc, input.minBatterySoc, input.phases];
|
|
12
|
+
if (!numericInputs.every(value => Number.isFinite(value))) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
if ((input.phases !== 1 && input.phases !== 3) || input.batterySoc < 0 || input.batterySoc > 100 || input.minBatterySoc < 0 || input.minBatterySoc > 100) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const batteryOffset = input.minBatterySoc < 100 ? (2000 / (100 - input.minBatterySoc)) * (input.batterySoc - input.minBatterySoc) : 0;
|
|
19
|
+
const availablePower = input.solarPower - input.houseConsumption + (input.subtractChargerPower ? input.chargerPower : 0) - 100 + batteryOffset;
|
|
20
|
+
const calculatedCurrent = Math.floor(availablePower / 230 / input.phases);
|
|
21
|
+
return Math.max(0, Math.min(calculatedCurrent, exports.MAX_CHARGE_CURRENT));
|
|
22
|
+
}
|
|
23
|
+
function stepChargeCurrent(current, target) {
|
|
24
|
+
const safeCurrent = Number.isFinite(current) ? Math.max(0, Math.min(Math.trunc(current), exports.MAX_CHARGE_CURRENT)) : 0;
|
|
25
|
+
const safeTarget = Number.isFinite(target) ? Math.max(0, Math.min(Math.trunc(target), exports.MAX_CHARGE_CURRENT)) : 0;
|
|
26
|
+
if (safeCurrent < safeTarget) {
|
|
27
|
+
return safeCurrent + 1;
|
|
28
|
+
}
|
|
29
|
+
if (safeCurrent > safeTarget) {
|
|
30
|
+
return safeCurrent - 1;
|
|
31
|
+
}
|
|
32
|
+
return safeCurrent;
|
|
33
|
+
}
|
|
34
|
+
function updateShutdownDelay(current, minimum, previousDelay) {
|
|
35
|
+
if (!Number.isFinite(current) || !Number.isFinite(minimum) || current >= minimum) {
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
const safePreviousDelay = Number.isFinite(previousDelay) ? Math.max(0, Math.trunc(previousDelay)) : 0;
|
|
39
|
+
return safePreviousDelay + 1;
|
|
40
|
+
}
|
|
41
|
+
function buildChargerCommands(allow, ampere, firmware) {
|
|
42
|
+
if (!allow) {
|
|
43
|
+
return [{ parameter: "alw", value: 0 }];
|
|
44
|
+
}
|
|
45
|
+
if (!Number.isInteger(ampere) || ampere < exports.MIN_CHARGE_CURRENT || ampere > exports.MAX_CHARGE_CURRENT) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return [
|
|
49
|
+
{ parameter: firmware === "033" ? "amp" : "amx", value: ampere },
|
|
50
|
+
{ parameter: "alw", value: 1 },
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=chargeManagerUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chargeManagerUtils.js","sourceRoot":"","sources":["../../src/lib/chargeManagerUtils.ts"],"names":[],"mappings":"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"}
|
package/build/main.js
CHANGED
|
@@ -38,6 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
const utils = __importStar(require("@iobroker/adapter-core"));
|
|
40
40
|
const axios_1 = __importDefault(require("axios"));
|
|
41
|
+
const chargeManagerUtils_1 = require("./lib/chargeManagerUtils");
|
|
41
42
|
const projectUtils_1 = require("./lib/projectUtils");
|
|
42
43
|
const axiosInstance = axios_1.default.create({
|
|
43
44
|
timeout: 5000,
|
|
@@ -50,8 +51,9 @@ let totalChargeEnergy = 0;
|
|
|
50
51
|
let totalChargePower = 0;
|
|
51
52
|
class go_e_charger extends utils.Adapter {
|
|
52
53
|
projectUtils = new projectUtils_1.ProjectUtils(this);
|
|
53
|
-
timeoutList;
|
|
54
54
|
wallboxInfoList = [];
|
|
55
|
+
stateMachineTimeout;
|
|
56
|
+
isUnloading = false;
|
|
55
57
|
constructor(options = {}) {
|
|
56
58
|
super({
|
|
57
59
|
...options,
|
|
@@ -60,7 +62,6 @@ class go_e_charger extends utils.Adapter {
|
|
|
60
62
|
this.on("ready", this.onReady.bind(this));
|
|
61
63
|
this.on("stateChange", this.onStateChange.bind(this));
|
|
62
64
|
this.on("unload", this.onUnload.bind(this));
|
|
63
|
-
this.timeoutList = [];
|
|
64
65
|
this.wallboxInfoList = [];
|
|
65
66
|
}
|
|
66
67
|
async onReady() {
|
|
@@ -170,10 +171,7 @@ class go_e_charger extends utils.Adapter {
|
|
|
170
171
|
}
|
|
171
172
|
this.log.debug(`Start init done, launching state machine interval`);
|
|
172
173
|
void this.setState(`info.connection`, { val: true, ack: true });
|
|
173
|
-
|
|
174
|
-
if (stateMachine != null) {
|
|
175
|
-
this.timeoutList.push(stateMachine);
|
|
176
|
-
}
|
|
174
|
+
this.scheduleStateMachine();
|
|
177
175
|
}
|
|
178
176
|
onStateChange(id, state) {
|
|
179
177
|
try {
|
|
@@ -268,7 +266,11 @@ class go_e_charger extends utils.Adapter {
|
|
|
268
266
|
}
|
|
269
267
|
onUnload(callback) {
|
|
270
268
|
try {
|
|
271
|
-
this.
|
|
269
|
+
this.isUnloading = true;
|
|
270
|
+
if (this.stateMachineTimeout) {
|
|
271
|
+
this.clearTimeout(this.stateMachineTimeout);
|
|
272
|
+
this.stateMachineTimeout = undefined;
|
|
273
|
+
}
|
|
272
274
|
this.log.info(`Adapter go-eCharger cleaned up everything...`);
|
|
273
275
|
for (const [iWB] of this.config.wallBoxList.entries()) {
|
|
274
276
|
void this.setState(`Wallbox_${iWB}.info.connection`, { val: false, ack: true });
|
|
@@ -311,6 +313,8 @@ class go_e_charger extends utils.Adapter {
|
|
|
311
313
|
case "60.0":
|
|
312
314
|
case "60.1":
|
|
313
315
|
case "60.2":
|
|
316
|
+
case "60.5":
|
|
317
|
+
case "60.6":
|
|
314
318
|
this.log.debug(`Init done, launching state machine`);
|
|
315
319
|
await this.setState(`Wallbox_${iWB}.info.connection`, { val: true, ack: true });
|
|
316
320
|
reachableChargers++;
|
|
@@ -340,71 +344,100 @@ class go_e_charger extends utils.Adapter {
|
|
|
340
344
|
}
|
|
341
345
|
return true;
|
|
342
346
|
}
|
|
347
|
+
scheduleStateMachine() {
|
|
348
|
+
if (this.isUnloading || this.stateMachineTimeout) {
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
this.stateMachineTimeout = this.setTimeout(() => {
|
|
352
|
+
this.stateMachineTimeout = undefined;
|
|
353
|
+
void this.StateMachine();
|
|
354
|
+
}, Number(this.config.cycleTime));
|
|
355
|
+
}
|
|
343
356
|
async StateMachine() {
|
|
344
|
-
this.
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
}
|
|
354
|
-
if (this.wallboxInfoList[iWB].ChargeNOW) {
|
|
355
|
-
await this.Charge_Config("1", this.wallboxInfoList[iWB].ChargeCurrent, `activate go-eCharger for forced charging`, iWB);
|
|
356
|
-
await this.Switch_3Phases(this.wallboxInfoList[iWB].Charge3Phase, iWB);
|
|
357
|
-
if (this.wallboxInfoList[iWB].HardwareMin3) {
|
|
358
|
-
await this.Read_ChargerAPIV2(iWB);
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
else if (this.wallboxInfoList[iWB].ChargeManager) {
|
|
362
|
-
batSoC = await this.projectUtils.asyncGetForeignStateVal(this.config.stateHomeBatSoc);
|
|
363
|
-
this.log.debug(`Got external state of battery SoC: ${batSoC}%`);
|
|
364
|
-
if (batSoC >= minHomeBatVal) {
|
|
365
|
-
await this.Switch_3Phases(this.wallboxInfoList[iWB].Charge3Phase, iWB);
|
|
366
|
-
await this.Charge_Manager(iWB);
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
if ((await this.projectUtils.getStateValue(`Wallbox_${iWB}.Power.ChargingAllowed`)) == true) {
|
|
370
|
-
this.wallboxInfoList[iWB].SetAmp = 6;
|
|
371
|
-
await this.Charge_Config("0", this.wallboxInfoList[iWB].SetAmp, `Charging home battery until ${minHomeBatVal}%`, iWB);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
else {
|
|
376
|
-
if ((await this.projectUtils.getStateValue(`Wallbox_${iWB}.Power.ChargingAllowed`)) == true) {
|
|
357
|
+
if (this.isUnloading) {
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
try {
|
|
361
|
+
this.log.debug(`StateMachine cycle start`);
|
|
362
|
+
totalChargeEnergy = 0;
|
|
363
|
+
totalChargePower = 0;
|
|
364
|
+
for (let iWB = 0; iWB < this.config.wallBoxList.length; iWB++) {
|
|
365
|
+
if (this.wallboxInfoList[iWB].ChargeNOW || this.wallboxInfoList[iWB].ChargeManager) {
|
|
377
366
|
await this.Read_ChargerAPIV1(iWB);
|
|
378
367
|
if (this.wallboxInfoList[iWB].HardwareMin3) {
|
|
379
368
|
await this.Read_ChargerAPIV2(iWB);
|
|
380
369
|
}
|
|
381
|
-
this.wallboxInfoList[iWB].SetAmp = 6;
|
|
382
|
-
await this.Charge_Config("0", this.wallboxInfoList[iWB].SetAmp, `Deactivate go-eCharger`, iWB);
|
|
383
370
|
}
|
|
384
|
-
|
|
385
|
-
await this.
|
|
371
|
+
if (this.wallboxInfoList[iWB].ChargeNOW) {
|
|
372
|
+
await this.Charge_Config("1", this.wallboxInfoList[iWB].ChargeCurrent, `activate go-eCharger for forced charging`, iWB);
|
|
373
|
+
await this.Switch_3Phases(this.wallboxInfoList[iWB].Charge3Phase, iWB);
|
|
386
374
|
if (this.wallboxInfoList[iWB].HardwareMin3) {
|
|
387
375
|
await this.Read_ChargerAPIV2(iWB);
|
|
388
376
|
}
|
|
389
377
|
}
|
|
378
|
+
else if (this.wallboxInfoList[iWB].ChargeManager) {
|
|
379
|
+
batSoC = await this.projectUtils.asyncGetForeignStateVal(this.config.stateHomeBatSoc);
|
|
380
|
+
this.log.debug(`Got external state of battery SoC: ${batSoC}%`);
|
|
381
|
+
if (typeof batSoC !== "number" ||
|
|
382
|
+
!Number.isFinite(batSoC) ||
|
|
383
|
+
batSoC < 0 ||
|
|
384
|
+
batSoC > 100 ||
|
|
385
|
+
!Number.isFinite(minHomeBatVal) ||
|
|
386
|
+
minHomeBatVal < 0 ||
|
|
387
|
+
minHomeBatVal > 100) {
|
|
388
|
+
await this.stopChargeManager(`Invalid battery state of charge or setpoint`, iWB);
|
|
389
|
+
}
|
|
390
|
+
else if (batSoC >= minHomeBatVal) {
|
|
391
|
+
await this.Switch_3Phases(this.wallboxInfoList[iWB].Charge3Phase, iWB);
|
|
392
|
+
await this.Charge_Manager(iWB);
|
|
393
|
+
}
|
|
394
|
+
else {
|
|
395
|
+
await this.stopChargeManager(`Charging home battery until ${minHomeBatVal}%`, iWB);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
if ((await this.projectUtils.getStateValue(`Wallbox_${iWB}.Power.ChargingAllowed`)) == true) {
|
|
400
|
+
await this.Read_ChargerAPIV1(iWB);
|
|
401
|
+
if (this.wallboxInfoList[iWB].HardwareMin3) {
|
|
402
|
+
await this.Read_ChargerAPIV2(iWB);
|
|
403
|
+
}
|
|
404
|
+
this.wallboxInfoList[iWB].SetAmp = 0;
|
|
405
|
+
await this.Charge_Config("0", this.wallboxInfoList[iWB].MinAmp, `Deactivate go-eCharger`, iWB);
|
|
406
|
+
}
|
|
407
|
+
else if (Number(await this.projectUtils.getStateValue(`Wallbox_${iWB}.Power.Charge`)) > 0) {
|
|
408
|
+
await this.Read_ChargerAPIV1(iWB);
|
|
409
|
+
if (this.wallboxInfoList[iWB].HardwareMin3) {
|
|
410
|
+
await this.Read_ChargerAPIV2(iWB);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
totalChargeEnergy += Number(await this.projectUtils.getStateValue(`Wallbox_${iWB}.statistics.chargedEnergy`)) || 0;
|
|
415
|
+
totalChargePower += Number(await this.projectUtils.getStateValue(`Wallbox_${iWB}.Power.Charge`)) || 0;
|
|
390
416
|
}
|
|
391
|
-
|
|
392
|
-
|
|
417
|
+
await this.projectUtils.checkAndSetValueNumber(`statisticsGlobal.chargedEnergy`, totalChargeEnergy, `Totally charged sum of all go-e in lifetime`, "kWh", "value.energy.consumed");
|
|
418
|
+
await this.projectUtils.checkAndSetValueNumber(`statisticsGlobal.chargePower`, totalChargePower, `Current charging power sum of all chargers`, "W", "value.power");
|
|
393
419
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
this.
|
|
420
|
+
catch (error) {
|
|
421
|
+
this.log.error(`Unhandled error in state machine cycle: ${error.message}`);
|
|
422
|
+
}
|
|
423
|
+
finally {
|
|
424
|
+
this.scheduleStateMachine();
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
async stopChargeManager(reason, iWB) {
|
|
428
|
+
this.wallboxInfoList[iWB].SetAmp = 0;
|
|
429
|
+
this.wallboxInfoList[iWB].DelayOff = 0;
|
|
430
|
+
if ((await this.projectUtils.getStateValue(`Wallbox_${iWB}.Power.ChargingAllowed`)) == true) {
|
|
431
|
+
await this.Charge_Config("0", this.wallboxInfoList[iWB].MinAmp, reason, iWB);
|
|
399
432
|
}
|
|
400
433
|
}
|
|
401
434
|
async Read_ChargerAPIV1(iWB) {
|
|
402
435
|
await axiosInstance
|
|
403
436
|
.get(`http://${this.config.wallBoxList[iWB].ipAddress}/status`, { transformResponse: r => r })
|
|
404
|
-
.then(response => {
|
|
437
|
+
.then(async (response) => {
|
|
405
438
|
const result = JSON.parse(response.data);
|
|
406
439
|
this.log.debug(`Read charger ${iWB} API V1: ${response.data}`);
|
|
407
|
-
|
|
440
|
+
await this.ParseStatusAPIV1(result, iWB);
|
|
408
441
|
})
|
|
409
442
|
.catch(error => {
|
|
410
443
|
if (error.message && error.message.includes("EHOSTUNREACH")) {
|
|
@@ -556,57 +589,32 @@ class go_e_charger extends utils.Adapter {
|
|
|
556
589
|
this.log.debug(`Charger ${iWB} is in read-only mode - skipping charge config write`);
|
|
557
590
|
return;
|
|
558
591
|
}
|
|
559
|
-
|
|
560
|
-
.
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
this.log.warn(`
|
|
566
|
-
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
await axiosInstance
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
this.
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
switch (result.alw) {
|
|
577
|
-
case "0":
|
|
578
|
-
await this.projectUtils.checkAndSetValueBoolean(`${basePath}.Power.ChargingAllowed`, false, `Charging allowed`, `indicator`);
|
|
579
|
-
break;
|
|
580
|
-
case "1":
|
|
581
|
-
await this.projectUtils.checkAndSetValueBoolean(`${basePath}.Power.ChargingAllowed`, true, `Charging allowed`, `indicator`);
|
|
582
|
-
break;
|
|
583
|
-
}
|
|
584
|
-
})
|
|
585
|
-
.catch(error => {
|
|
586
|
-
this.log.warn(`Error: ${error} by writing to charger ${iWB}: ${this.config.wallBoxList[iWB].ipAddress} amp=${Ampere}`);
|
|
587
|
-
this.log.error(`Please verify IP address of charger ${iWB}: ${this.config.wallBoxList[iWB].ipAddress} !!!`);
|
|
588
|
-
});
|
|
589
|
-
break;
|
|
590
|
-
default:
|
|
591
|
-
await axiosInstance
|
|
592
|
-
.get(`http://${this.config.wallBoxList[iWB].ipAddress}/mqtt?payload=amx=${Ampere}`, { transformResponse: r => r })
|
|
593
|
-
.then(async (response) => {
|
|
594
|
-
this.log.debug(`Sent to charger ${iWB} with firmware > 033: ${response.data}`);
|
|
592
|
+
if (Allow !== "0" && Allow !== "1") {
|
|
593
|
+
this.log.warn(`Invalid charge release value for charger ${iWB}: ${Allow}`);
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
const commands = (0, chargeManagerUtils_1.buildChargerCommands)(Allow === "1", Ampere, this.wallboxInfoList[iWB].Firmware);
|
|
597
|
+
if (!commands) {
|
|
598
|
+
this.log.warn(`Invalid charging current for charger ${iWB}: ${Ampere} A`);
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
for (const command of commands) {
|
|
602
|
+
try {
|
|
603
|
+
const response = await axiosInstance.get(`http://${this.config.wallBoxList[iWB].ipAddress}/mqtt?payload=${command.parameter}=${command.value}`, { transformResponse: r => r });
|
|
604
|
+
this.log.debug(`Sent to charger ${iWB}: ${command.parameter}=${command.value}`);
|
|
605
|
+
if (command.parameter === "alw") {
|
|
606
|
+
await this.projectUtils.checkAndSetValueBoolean(`${basePath}.Power.ChargingAllowed`, command.value === 1, `Charging allowed`, `indicator`);
|
|
607
|
+
}
|
|
608
|
+
else {
|
|
595
609
|
const result = JSON.parse(response.data);
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
}
|
|
605
|
-
})
|
|
606
|
-
.catch(error => {
|
|
607
|
-
this.log.warn(`Error: ${error} by writing to charger ${iWB}: ${this.config.wallBoxList[iWB].ipAddress} amx=${Ampere}`);
|
|
608
|
-
this.log.error(`Please verify IP address of charger ${iWB}: ${this.config.wallBoxList[iWB].ipAddress} !!!`);
|
|
609
|
-
});
|
|
610
|
+
await this.projectUtils.checkAndSetValueNumber(`${basePath}.Power.ChargeCurrent`, Number(result.amp), `Charge current output`, "A", "level.current");
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
catch (error) {
|
|
614
|
+
this.log.warn(`Error: ${String(error)} by writing to charger ${iWB}: ${this.config.wallBoxList[iWB].ipAddress} ${command.parameter}=${command.value}`);
|
|
615
|
+
this.log.error(`Please verify IP address of charger ${iWB}: ${this.config.wallBoxList[iWB].ipAddress} !!!`);
|
|
616
|
+
return;
|
|
617
|
+
}
|
|
610
618
|
}
|
|
611
619
|
}
|
|
612
620
|
async Charge_Manager(iWB) {
|
|
@@ -620,29 +628,31 @@ class go_e_charger extends utils.Adapter {
|
|
|
620
628
|
const Phases = this.wallboxInfoList[iWB].HardwareMin3 && this.wallboxInfoList[iWB].EnabledPhases
|
|
621
629
|
? this.wallboxInfoList[iWB].EnabledPhases
|
|
622
630
|
: this.wallboxInfoList[iWB].GridPhases;
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
if (
|
|
633
|
-
this.
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
this.wallboxInfoList[iWB].SetAmp--;
|
|
631
|
+
const optimalCurrent = (0, chargeManagerUtils_1.calculateOptimalChargeCurrent)({
|
|
632
|
+
solarPower,
|
|
633
|
+
houseConsumption,
|
|
634
|
+
chargerPower: this.wallboxInfoList[iWB].ChargePower,
|
|
635
|
+
subtractChargerPower: this.config.subtractSelfConsumption,
|
|
636
|
+
batterySoc: batSoC,
|
|
637
|
+
minBatterySoc: minHomeBatVal,
|
|
638
|
+
phases: Phases,
|
|
639
|
+
});
|
|
640
|
+
if (optimalCurrent === null) {
|
|
641
|
+
this.log.warn(`ChargeManager inputs are invalid for charger ${iWB}; charging will be disabled`);
|
|
642
|
+
await this.stopChargeManager(`Invalid ChargeManager input`, iWB);
|
|
643
|
+
return;
|
|
637
644
|
}
|
|
645
|
+
this.wallboxInfoList[iWB].SetOptAmp = optimalCurrent;
|
|
646
|
+
this.log.debug(`Optimal charging current would be: ${this.wallboxInfoList[iWB].SetOptAmp} A`);
|
|
647
|
+
this.wallboxInfoList[iWB].SetAmp = (0, chargeManagerUtils_1.stepChargeCurrent)(this.wallboxInfoList[iWB].SetAmp, this.wallboxInfoList[iWB].SetOptAmp);
|
|
638
648
|
this.log.debug(`ZielAmpere: ${this.wallboxInfoList[iWB].SetAmp} A; Solar: ${solarPower} W; House: ${houseConsumption} W; Charger: ${this.wallboxInfoList[iWB].ChargePower} W`);
|
|
649
|
+
this.wallboxInfoList[iWB].DelayOff = (0, chargeManagerUtils_1.updateShutdownDelay)(this.wallboxInfoList[iWB].SetAmp, this.wallboxInfoList[iWB].MinAmp, this.wallboxInfoList[iWB].DelayOff);
|
|
639
650
|
if (this.wallboxInfoList[iWB].SetAmp > 5 + 4) {
|
|
640
651
|
await this.Charge_Config("1", this.wallboxInfoList[iWB].SetAmp, `Charging current: ${this.wallboxInfoList[iWB].SetAmp} A`, iWB);
|
|
641
652
|
}
|
|
642
|
-
else if (this.wallboxInfoList[iWB].SetAmp <
|
|
643
|
-
this.wallboxInfoList[iWB].DelayOff++;
|
|
653
|
+
else if (this.wallboxInfoList[iWB].SetAmp < this.wallboxInfoList[iWB].MinAmp) {
|
|
644
654
|
if (this.wallboxInfoList[iWB].DelayOff > 12) {
|
|
645
|
-
await this.Charge_Config("0", this.wallboxInfoList[iWB].
|
|
655
|
+
await this.Charge_Config("0", this.wallboxInfoList[iWB].MinAmp, `Insufficient surplus`, iWB);
|
|
646
656
|
this.wallboxInfoList[iWB].DelayOff = 0;
|
|
647
657
|
}
|
|
648
658
|
}
|
package/build/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "go-e-charger",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.1",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.2.1": {
|
|
7
|
+
"en": "made ChargeManager surplus control more fail-safe: input validation, current clamped to 0-16 A, resilience of state-machine loop (#841)\nadded support for firmware V60.5 (#800) and V60.6 (#844)\nadded ChargeManager PV surplus configuration guide (#842)\ncorrected no-battery helper-state recommendation for ChargeManager\nupdated dependencies",
|
|
8
|
+
"de": "machte ChargeManager Überschusskontrolle ausfallsicherer: Eingangsvalidierung, Strom auf 0-16 A geklemmt, Widerstandsfähigkeit der State-Machine-Schleife (#841)\nzusätzliche Unterstützung für Firmware V60.5 (#800) und V60.6 (#844)\nzusätzliches ChargeManager PV Überschusskonfigurationshandbuch (#842)\nkorrigierte No-Battery-Helfer-State-Empfehlung für ChargeManager\naktualisierte abhängigkeiten",
|
|
9
|
+
"ru": "сделал избыточный контроль ChargeManager более отказоустойчивым: валидация входа, ток, зажатый до 0-16 А, устойчивость петли государственной машины (#841)\nдобавлена поддержка прошивки V60.5 (#800) и V60.6 (#844)\nруководство по конфигурации излишков зарядного устройства ChargeManager PV (#842)\nисправлена рекомендация штата без батареи для ChargeManager\nобновленные зависимости",
|
|
10
|
+
"pt": "feito ChargeManager superávit controle mais fail-safe: validação de entrada, corrente fixada a 0-16 A, resiliência do estado-máquina loop (#841)\nsuporte adicionado para firmware V60.5 (# 800) e V60.6 (# 844)\nguia de configuração do excedente PV do ChargeManager (# 842)\nrecomendação de estado de ajuda não-bateria corrigida para ChargeManager\ndependências atualizadas",
|
|
11
|
+
"nl": "chargeManager overtollige controle meer fail-safe: input validatie, stroom geklemd op 0-16 A, veerkracht van state-machine loop (#841)\ntoegevoegde ondersteuning voor firmware V60.5 (#800) en V60,6 (#844)\ntoegevoegde ChargeManager PV surplus configuratie gids (#842)\ngecorrigeerde no-battery helper-state aanbeveling voor ChargeManager\nbijgewerkte afhankelijkheden",
|
|
12
|
+
"fr": "made ChargeManager contrôle de surplus plus sûr-échec: validation d'entrée, courant serré à 0-16 A, résilience de la boucle de machine d'état (#841)\nsoutien supplémentaire au firmware V60.5 (#800) et V60.6 (#844)\najouté ChargeManager PV surplus guide de configuration (#842)\ncorrection de la recommandation de l'aide sans batterie pour ChargeManager\ndépendances actualisées",
|
|
13
|
+
"it": "ha reso ChargeManager il controllo in eccesso più sicuro: la validazione dell'ingresso, la corrente bloccata a 0-16 A, la resilienza del loop della macchina statale (#841)\nsupporto aggiunto per firmware V60.5 (#800) e V60.6 (#844)\naggiunto ChargeManager PV surplus di configurazione guida (#842)\nraccomandazione corretto no-battery helper-stato per ChargeManager\ndipendenze aggiornate",
|
|
14
|
+
"es": "hecho ChargeManager control de excedentes más seguro de fallo: validación de entrada, corriente sujeta a 0-16 A, resiliencia del bucle de máquina de estado (#841)\nsoporte añadido para firmware V60.5 (#800) y V60.6 (#844)\nañadido ChargeManager PV guía de configuración sobrante (#842)\ncorregido recomendación de estado-ayuda de no-batería para ChargeManager\ndependencias actualizadas",
|
|
15
|
+
"pl": "sprawiła, że kontrola nadmiaru ChargeManager była bardziej bezpieczna: walidacja wejścia, prąd zaciśnięty do 0-16 A, odporność pętli state- machine (# 841)\ndodane wsparcie dla firmware V60.5 (# 800) i V60.6 (# 844)\ndodany poradnik konfiguracji nadwyżek PV ChargeManager (# 842)\npoprawiona rekomendacja dla ChargeManager\nzaktualizowane zależności",
|
|
16
|
+
"uk": "зроблено ChargeManager надлишок управління більш небезпечним: вентиляція введення, затисканий до 0-16 А, стійкість петля державного двигуна (#841)\nдодана підтримка прошивки V60.5 (#800) і V60.6 (#844)\nдоданий контролер для налаштування Surplus ChargeManager PV (#842)\nвиправлено no-battery helper-state рекомендації для ChargeManager\nоновлені залежності",
|
|
17
|
+
"zh-cn": "使充电管理器剩余控制更安全:输入验证,当前被夹到0-16 A,国家机器循环的弹性(# 841)\n添加对固件 V60.5 (# 800) 和 V60.6 (# 844)的支持\n添加充电管理器 PV 剩余配置指南 (# 842)\n纠正关于充电管理器的无电池助手状态建议\n更新的依赖关系"
|
|
18
|
+
},
|
|
6
19
|
"1.2.0": {
|
|
7
20
|
"en": "added statisticsGlobal.chargePower state with the current total charging power of all chargers\nremoved chai-based unit test dependencies; modernized test harness to Node.js assert (fixes Appveyor, #836)",
|
|
8
21
|
"de": "Der Status „Global.chargePower“ wurde um die aktuelle Gesamtladeleistung aller Ladegeräte erweitert.\nChai-basierte Unit-Test-Abhängigkeiten entfernt; Test-Framework auf Node.js-Assert modernisiert (behebt Appveyor, #836)",
|
|
@@ -80,19 +93,6 @@
|
|
|
80
93
|
"pl": "napraw statystyki całkowite\nnapraw wyniki sprawdzania adaptera\nnapraw dokument\nnapraw tsconfig",
|
|
81
94
|
"uk": "виправити загальну статистику\nвиправити висновки перевірки адаптера\nвиправити док\nвиправити tsconfig",
|
|
82
95
|
"zh-cn": "修复总统计数据\n修复适配器检查器结果\n修复文档\n修复 tsconfig"
|
|
83
|
-
},
|
|
84
|
-
"1.0.0": {
|
|
85
|
-
"en": "BREAKING: switched to multi charger support (#801), (#807)\nBREAKING: adapter needs node 22 now\nadapter requires admin >=7.6.20 now\nupdated typescript from 5.9.3 to 6.0.3\nadded RFID info (name, id, consumption) (#802)",
|
|
86
|
-
"de": "BREAKING: auf Multi-Ladegerät-Unterstützung umgestellt (#801), (#807)\nBREAKING: Der Adapter benötigt jetzt node 22\nDer Adapter erfordert jetzt admin >=7.6.20\nAktualisiertes Typeskript von 5.9.3 auf 6.0.3\nRFID-Info hinzugefügt (Name, ID, Verbrauch) (#802)",
|
|
87
|
-
"ru": "СРОЧНО: переключено на поддержку нескольких зарядных устройств (#801), (#807).\nСРОЧНО: адаптеру теперь нужен узел 22\nадаптеру сейчас требуется администратор >=7.6.20\nобновлен машинописный текст с 5.9.3 до 6.0.3\nдобавлена информация RFID (имя, идентификатор, потребление) (#802)",
|
|
88
|
-
"pt": "QUEBRANDO: mudou para suporte a vários carregadores (#801), (#807)\nQUEBRANDO: o adaptador precisa do nó 22 agora\nadaptador requer admin >=7.6.20 agora\ntexto datilografado atualizado de 5.9.3 para 6.0.3\nadicionadas informações RFID (nome, id, consumo) (#802)",
|
|
89
|
-
"nl": "BREAKING: overgeschakeld naar ondersteuning voor meerdere opladers (#801), (#807)\nBREAKING: adapter heeft nu knooppunt 22 nodig\nadapter vereist nu admin >=7.6.20\nbijgewerkt typoscript van 5.9.3 naar 6.0.3\nRFID-info toegevoegd (naam, id, verbruik) (#802)",
|
|
90
|
-
"fr": "RUPTURE : passage au support multi-chargeurs (#801), (#807)\nRUPTURE : l'adaptateur a besoin du nœud 22 maintenant\nl'adaptateur nécessite un administrateur >=7.6.20 maintenant\ndactylographié mis à jour de 5.9.3 à 6.0.3\najout d'informations RFID (nom, identifiant, consommation) (#802)",
|
|
91
|
-
"it": "ROTTURA: passato al supporto per caricabatterie multipli (#801), (#807)\nBREAKING: l'adattatore necessita ora del nodo 22\nl'adattatore richiede ora l'amministratore >=7.6.20\ndattiloscritto aggiornato da 5.9.3 a 6.0.3\naggiunte informazioni RFID (nome, ID, consumo) (#802)",
|
|
92
|
-
"es": "ÚLTIMA HORA: cambiado a soporte de cargador múltiple (#801), (#807)\nÚLTIMA HORA: el adaptador necesita el nodo 22 ahora\nEl adaptador requiere administrador >=7.6.20 ahora\nmecanografiado actualizado de 5.9.3 a 6.0.3\ninformación RFID agregada (nombre, identificación, consumo) (#802)",
|
|
93
|
-
"pl": "ŁAMANIE: przełączono na obsługę wielu ładowarek (#801), (#807)\nŁAMANIE: adapter potrzebuje teraz węzła 22\nadapter wymaga teraz administratora >=7.6.20\nzaktualizowano maszynopis z wersji 5.9.3 do 6.0.3\ndodano informacje RFID (nazwa, identyfikator, zużycie) (#802)",
|
|
94
|
-
"uk": "ПОЛИМКА: переведено на підтримку кількох зарядних пристроїв (#801), (#807)\nПОРУШЕННЯ: адаптеру зараз потрібен вузол 22\nдля адаптера потрібен адміністратор >=7.6.20\nоновлено машинопис з 5.9.3 до 6.0.3\nдодана інформація RFID (ім'я, ідентифікатор, споживання) (#802)",
|
|
95
|
-
"zh-cn": "突破:切换到多充电器支持 (#801)、(#807)\n中断:适配器现在需要节点 22\n适配器现在需要 admin >=7.6.20\n将打字稿从 5.9.3 更新到 6.0.3\n添加了 RFID 信息(名称、ID、消费)(#802)"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.go-e-charger",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Adapter for reading go-eCharger data",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Hombach",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"node": ">= 22.18.0"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@iobroker/adapter-core": "^3.4.
|
|
26
|
+
"@iobroker/adapter-core": "^3.4.3",
|
|
27
27
|
"axios": "^1.18.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"@alcalzone/release-script-plugin-manual-review": "^5.2.0",
|
|
34
34
|
"@iobroker/adapter-dev": "^1.5.0",
|
|
35
35
|
"@iobroker/eslint-config": "^2.3.4",
|
|
36
|
-
"@iobroker/testing": "^5.
|
|
36
|
+
"@iobroker/testing": "^5.3.0",
|
|
37
37
|
"@iobroker/types": "^7.2.2",
|
|
38
38
|
"@tsconfig/node22": "^22.0.5",
|
|
39
|
-
"@types/node": "^22.20.
|
|
39
|
+
"@types/node": "^22.20.1",
|
|
40
40
|
"source-map-support": "^0.5.21",
|
|
41
41
|
"ts-node": "^10.9.2",
|
|
42
42
|
"typescript": "^6.0.3"
|