Ik heb de firmware ook vanochtend geïnstalleerd en de modbus via lilygo werkt nog.Maxwp schreef op zondag 23 februari 2025 @ 12:13:
De laatste firmwade update van de marstek v147.212 doet mijn modbus niks meer
Althans de lilygo.
Edit
De reboot na firmware was niet voldoende
Zelf even aan en uit zetten modbus kabel los werkte het weer
Dag matrover,matrover schreef op zondag 12 januari 2025 @ 14:17:
Het is mij ook gelukt om verbinding te maken met de batterij via de Waveshare RS232/485 TO WIFI POE ETH
zou je eventueel jouw instellingen van de waveshare kunnen delen, deze die van toepassing zijn op de marstek?
Ik krijg het niet aan de praat

Mode Selection: Transparant Mode
Uart Setting: 115200, 8, None, 1, Enable RFC2117
UART AutoFrame: Disable
Modbus Polling: off
Network A Setting: Server, TCP, 502, 10.10.100.100, 24, 0, Disable
Socket B: on, TCP, 18899, 10.10.100.100, 0
Alle andere settings zijn niet van toepassing (volgens mij)
Alvast bedankt,
bvs
Geen reboot nodig ?hallorichard schreef op zondag 23 februari 2025 @ 12:18:
[...]
Ik heb de firmware ook vanochtend geïnstalleerd en de modbus via lilygo werkt nog.
Mss is het mijn voedings probleem dingetje
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Ik had wel een reboot gedaan omdat wifi niet terugkwam in de marstek app.Maxwp schreef op zondag 23 februari 2025 @ 15:43:
[...]
Geen reboot nodig ?
Mss is het mijn voedings probleem dingetje
Werkt hier ook gewoon na update
Vanavond de RTE grafiek erin gezet! Dank @superduper1969
Gelijk ook maar een grafiekje gemaakt met de waarden vanuit de HW energy socket en eentje met de 3x Temp van de batt erin. Wel handig om de komende zomer te monitoren ivm oplopende temps in berging van de veranda.
Ook weer een vaardigheid in de pocket ;-)
Vanavond de RTE grafiek erin gezet! Dank @superduper1969
Gelijk ook maar een grafiekje gemaakt met de waarden vanuit de HW energy socket en eentje met de 3x Temp van de batt erin. Wel handig om de komende zomer te monitoren ivm oplopende temps in berging van de veranda.
Ook weer een vaardigheid in de pocket ;-)
[ Voor 107% gewijzigd door SatScan op 24-02-2025 15:13 ]
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
He bvs,bvs schreef op zondag 23 februari 2025 @ 14:26:
[...]
Dag matrover,
zou je eventueel jouw instellingen van de waveshare kunnen delen, deze die van toepassing zijn op de marstek?
Ik krijg het niet aan de praat![]()
Mode Selection: Transparant Mode
Uart Setting: 115200, 8, None, 1, Enable RFC2117
UART AutoFrame: Disable
Modbus Polling: off
Network A Setting: Server, TCP, 502, 10.10.100.100, 24, 0, Disable
Socket B: on, TCP, 18899, 10.10.100.100, 0
Alle andere settings zijn niet van toepassing (volgens mij)
Alvast bedankt,
bvs
Geen probleem, ik had wat POE problemen met die POE versie dus ik heb nu een non POE maar settings zouden hetzelfde zijn:
:strip_exif()/f/image/YvQapVgJWYZUqWIECacQk27r.png?f=user_large)
Marstek Venus 5,12kwh V149 CT003 V110
Bedankt voor de moeite! Ik had het ondertussen werkende gekregen.matrover schreef op maandag 24 februari 2025 @ 09:14:
[...]
He bvs,
Geen probleem, ik had wat POE problemen met die POE versie dus ik heb nu een non POE maar settings zouden hetzelfde zijn:
[Afbeelding]
modbus: type: rtuovertcp ipv tcp in home assistant.
Jouw waveshare interface ziet er wel iets moderner uit. Effe de firmware versie checken hier (of toch maar afblijven, don't fix what ain't broken)
Btw, 2 stopbits ?
Na mijn update van de firmware was mijn SOC ineens 0% terwijl hij 5 minuten ervoor nog op 12% stond.
Dus hij begon gelijk de batterij op te laden naar 10% wat schijnbaar zijn ingebouwde ondergrens is.
Ik zie in het log steeds de volgende regels voorbij komen:
[13:17:43][W][component:237]: Component modbus_controller took a long time for an operation (52 ms).
[13:17:43][W][component:238]: Components should block for at most 30 ms.
Iemand enig idee welke componenten 237 en 238 vertegenwoordigen?
Voor zover ik nu kan overzien veroorzaakt het verder geen problemen.
Dus hij begon gelijk de batterij op te laden naar 10% wat schijnbaar zijn ingebouwde ondergrens is.
Ik zie in het log steeds de volgende regels voorbij komen:
[13:17:43][W][component:237]: Component modbus_controller took a long time for an operation (52 ms).
[13:17:43][W][component:238]: Components should block for at most 30 ms.
Iemand enig idee welke componenten 237 en 238 vertegenwoordigen?
Voor zover ik nu kan overzien veroorzaakt het verder geen problemen.
Ja dit is een ander device dus zoals gezegd.bvs schreef op maandag 24 februari 2025 @ 09:49:
[...]
Bedankt voor de moeite! Ik had het ondertussen werkende gekregen.
modbus: type: rtuovertcp ipv tcp in home assistant.
Jouw waveshare interface ziet er wel iets moderner uit. Effe de firmware versie checken hier (of toch maar afblijven, don't fix what ain't broken)
Btw, 2 stopbits ?
en 2 stopbits geen idee, heb er geen verstand van, maar het werkt zo, niet goed
Marstek Venus 5,12kwh V149 CT003 V110
Je verliest zo'n 10% aan bandbreedte door die extra stopbit, maar maakt hier mogelijk niet uitmatrover schreef op maandag 24 februari 2025 @ 15:05:
[...]
en 2 stopbits geen idee, heb er geen verstand van, maar het werkt zo, niet goed?
die meldingen heb ik er al vanaf dag 1 in staanArjen S schreef op maandag 24 februari 2025 @ 13:48:
Na mijn update van de firmware was mijn SOC ineens 0% terwijl hij 5 minuten ervoor nog op 12% stond.
Dus hij begon gelijk de batterij op te laden naar 10% wat schijnbaar zijn ingebouwde ondergrens is.
Ik zie in het log steeds de volgende regels voorbij komen:
[13:17:43][W][component:237]: Component modbus_controller took a long time for an operation (52 ms).
[13:17:43][W][component:238]: Components should block for at most 30 ms.
Iemand enig idee welke componenten 237 en 238 vertegenwoordigen?
Voor zover ik nu kan overzien veroorzaakt het verder geen problemen.
geen idee mogelijk iets met niet snel genoege ontvangst van data?
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
@superduper1969 super bedankt voor deze heldere howto, heb er een video van gemaakt op youtube met shoutout!
YouTube: Marstek Venus in Home Assistant integreren
groetuh
Denie
YouTube: Marstek Venus in Home Assistant integreren
groetuh
Denie
Dank, een groot deel van de info kwam ook van @scruysberghs dus ook dank aan hem!denievankleef schreef op maandag 24 februari 2025 @ 21:24:
@superduper1969 super bedankt voor deze heldere howto, heb er een video van gemaakt op youtube met shoutout!
YouTube: Marstek Venus in Home Assistant integreren
groetuh
Denie
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
De combinaties zijn:bvs schreef op maandag 24 februari 2025 @ 09:49:
[...]
Bedankt voor de moeite! Ik had het ondertussen werkende gekregen.
modbus: type: rtuovertcp ipv tcp in home assistant.
Jouw waveshare interface ziet er wel iets moderner uit. Effe de firmware versie checken hier (of toch maar afblijven, don't fix what ain't broken)
Btw, 2 stopbits ?
Wave share = Transparent > HA type: modbusoverip (modbus protocol wordt uitgevoerd op HA)
Waveshare = Modbus > HA type: tcp (modbus protocol wordt uitgevoerd in Waveshare)
De onderste is sneller/beter omdat de CRC afhandeling op de Waveshare plaatsvind.
En 1 stopbit is wat er op de datasheet staat, dat zou ik ook zeker aanhouden.
De Waveshare en de Elfin doen hetzelfde dus je kunt beter zoveel mogelijk de Elfin handleiding volgen.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
donatie knop makensuperduper1969 schreef op maandag 24 februari 2025 @ 21:34:
[...]
Dank, een groot deel van de info kwam ook van @scruysberghs dus ook dank aan hem!
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
In eerste instantie heb ik Marstek P1 monitor samen met een Smartgateway vervangen door een P1 naar USB kabel die nu gekoppeld zit rechtstreeks aan mijn NUC Home Assistant server.Maxwp schreef op maandag 24 februari 2025 @ 16:35:
[...]
die meldingen heb ik er al vanaf dag 1 in staan
geen idee mogelijk iets met niet snel genoege ontvangst van data?
Deze maakt gebruik van de Integratie DSMR Smart Meter van Netbeheer Nederland samen met de P1 emulator die je hier kan vinden: https://github.com/tomquist/b2500-meter Dank tomquist voor het ontwikkelen hiervan! Deze optie werd ook al vermeld in de video hierboven aangegeven. Leuk dat deze nu ook de drie fases aangeeft in de Marstek app wat volgens mij niet werkte in de Marstek P1 module.
Dit scheelt twee apparaten die de hele tijd energie stonden te verbruiken en het reageert naar mijn idee ook beter in de app die nu geconfigureerd staat als een Shelly Pro 3EM.
Het loste echter het probleem van de vertraging op de Modbus niet op.
Toen heb ik de Webserver en de fallback server op de Lilygo uitgeschakeld in de Yaml code.
De meldingen in het log werden al minder.
Hierna heb ik alle sensor namen ingekort (Marstek verwijderd in de benaming).
De foutmeldingen waren hierna verdwenen uit het log.
Toen ik de webserver als test weer inschakelde kwamen er nog wel een paar van de genoemde foutmeldingen bij het opstarten waarna er geen foutmeldingen meer volgde. Ik heb de Webserver dus uitgeschakeld gelaten want ik bedien de Lilygo via HA.
Bij de sensor " Battery State of Charge" heb ik skip_updates verlaagd van 30 naar 5 omdat deze sensor belangrijk is voor de automatiseringen die ik nog aan het maken ben, hiervoor gebruik ik ook de Netto " Verbruik sensor" gedefinieerd in configuration.yaml.
code:
1
2
3
4
5
6
7
8
9
10
11
12
| template: - sensor: - name: "Netto Verbruik" unique_id: netto_verbruik unit_of_measurement: "W" state_class: measurement device_class: power state: > {% set verbruik = states('sensor.electricity_meter_energieverbruik') | float(0) %} {% set productie = states('sensor.electricity_meter_energieproductie') | float(0) %} {% set batterij = states('sensor.lilygo_rs485_marstek_battery_power') | float(0) %} {{ (verbruik - productie - batterij) | round(0) }} |
Voor de volledigheid hierbij mijn gewijzigde configuratie van de Lilygo met alle eer en bloemen voor onze topper superduper1969 natuurlijk
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
| esphome: name: lilygo-rs485 friendly_name: LILYGO RS485 min_version: 2024.11.0 name_add_mac_suffix: false esp32: board: esp32dev framework: type: esp-idf # Enable logging logger: # level: VERY_VERBOSE # Enable Home Assistant API api: encryption: key: "zelf invullen" ota: - platform: esphome password: "password" wifi: ssid: !secret wifi_ssid password: !secret wifi_password #Enable fallback hotspot (captive portal) in case wifi connection fails # ap: # ssid: "Lilygo-Rs485 Fallback Hotspot" # password: "password" #web_server: # port: 80 # Set pins required for LilyGo T-CAN485 board output: - platform: gpio id: ENABLE_PIN # Enable the chip pin: number: GPIO19 inverted: true - platform: gpio id: SE_PIN # Enable autodirection pin: number: GPIO17 inverted: true - platform: gpio id: ENABLE_5V_PIN # Enable 5V pin for RS485 chip pin: number: GPIO16 inverted: true # Configure uart that will be used uart: - id: mod_bus rx_pin: GPIO21 tx_pin: GPIO22 baud_rate: 115200 data_bits: 8 stop_bits: 1 parity: NONE modbus: - uart_id: mod_bus id: modbus1 send_wait_time: 200ms modbus_controller: - id: marstek_venus address: 0x1 modbus_id: modbus1 command_throttle: 200ms update_interval: 1s #modbus registers # range 31000- text_sensor: - name: "Marstek device name" icon: "mdi:information" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 31000 register_count: 1 response_size: 20 skip_updates: 30 binary_sensor: - platform: modbus_controller name: "Battery Protection Active" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44001 bitmask: 0x01 skip_updates: 30 - platform: modbus_controller name: "Battery Overvoltage Warning" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44002 bitmask: 0x02 skip_updates: 30 - platform: modbus_controller name: "Battery Undervoltage Warning" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44003 bitmask: 0x04 skip_updates: 30 sensor: - name: "Battery Voltage" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32100 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "V" accuracy_decimals: 2 device_class: voltage state_class: measurement skip_updates: 5 filters: - multiply: 0.01 - name: "Battery Current" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32101 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "A" accuracy_decimals: 2 device_class: current state_class: measurement skip_updates: 5 filters: - multiply: 0.01 - name: "Battery power" platform: modbus_controller icon: mdi:battery-charging modbus_controller_id: marstek_venus register_type: holding address: 32102 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Battery State of Charge" icon: mdi:battery-70 platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32104 # Register address for Battery SOC value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "%" accuracy_decimals: 1 skip_updates: 5 - name: "AC Voltage" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32200 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "V" device_class: voltage state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "AC Current" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32201 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "A" device_class: current state_class: measurement skip_updates: 5 accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Total charging energy" platform: modbus_controller icon: mdi:battery-arrow-up modbus_controller_id: marstek_venus register_type: holding address: 33000 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 skip_updates: 300 filters: - multiply: 0.01 - name: "Total discharging energy" platform: modbus_controller icon: mdi:battery-arrow-down modbus_controller_id: marstek_venus register_type: holding address: 33002 value_type: U_DWORD #=U32 in marstek pdf unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 skip_updates: 300 filters: - multiply: 0.01 - name: "AC power" platform: modbus_controller icon: mdi:battery-charging modbus_controller_id: marstek_venus register_type: holding address: 32202 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Offgrid power" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32302 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Internal Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35000 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "MOS1 Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35001 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "MOS2 Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35002 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 select: - platform: modbus_controller name: "Forcible charge/discharge" icon: mdi:swap-horizontal modbus_controller_id: marstek_venus address: 42010 value_type: U_WORD optionsmap: "Stop": 0 "Charge": 1 "Discharge": 2 skip_updates: 10 - platform: modbus_controller name: "Backup function" icon: mdi:power-socket-fr modbus_controller_id: marstek_venus address: 41200 value_type: U_WORD optionsmap: "enable": 0 "disable": 1 skip_updates: 10 - platform: modbus_controller name: "User work mode" icon: mdi:auto-mode modbus_controller_id: marstek_venus address: 43000 value_type: U_WORD optionsmap: "manual": 0 "anti-feed": 1 "ai": 2 skip_updates: 10 - platform: modbus_controller name: "RS485 Control Mode Select" icon: mdi:swap-horizontal modbus_controller_id: marstek_venus address: 42000 value_type: U_WORD optionsmap: "Enable": 21930 "Disable": 21947 skip_updates: 10 number: - platform: modbus_controller name: "Forcible charge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 42020 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Forcible discharge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 42021 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Charge to SOC" icon: mdi:battery-charging-medium modbus_controller_id: marstek_venus mode: box register_type: holding address: 42011 value_type: U_WORD unit_of_measurement: "%" min_value: 12 max_value: 100 step: 1 skip_updates: 5 - name: "Charging cutoff capacity" platform: modbus_controller icon: mdi:battery-90 modbus_controller_id: marstek_venus register_type: holding address: 44000 #line to add : register_count: 4 # Read all 4 registers at once value_type: U_WORD #=u16 in marstek pdf unit_of_measurement: "%" skip_updates: 20 min_value: 80 max_value: 100 multiply: 10 - name: "Discharging cutoff capacity" platform: modbus_controller icon: mdi:battery-10 modbus_controller_id: marstek_venus register_type: holding address: 44001 value_type: U_WORD #=u16 in marstek pdf unit_of_measurement: "%" skip_updates: 20 min_value: 12 max_value: 30 multiply: 10 - platform: modbus_controller name: "Max charge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 44002 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Max discharge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 44003 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 |
netjes thxArjen S schreef op dinsdag 25 februari 2025 @ 07:38:
[...]
In eerste instantie heb ik Marstek P1 monitor samen met een Smartgateway vervangen door een P1 naar USB kabel die nu gekoppeld zit rechtstreeks aan mijn NUC Home Assistant server.
Deze maakt gebruik van de Integratie DSMR Smart Meter van Netbeheer Nederland samen met de P1 emulator die je hier kan vinden: https://github.com/tomquist/b2500-meter Dank tomquist voor het ontwikkelen hiervan! Deze optie werd ook al vermeld in de video hierboven aangegeven. Leuk dat deze nu ook de drie fases aangeeft in de Marstek app wat volgens mij niet werkte in de Marstek P1 module.
Dit scheelt twee apparaten die de hele tijd energie stonden te verbruiken en het reageert naar mijn idee ook beter in de app die nu geconfigureerd staat als een Shelly Pro 3EM.
Het loste echter het probleem van de vertraging op de Modbus niet op.
Toen heb ik de Webserver en de fallback server op de Lilygo uitgeschakeld in de Yaml code.
De meldingen in het log werden al minder.
Hierna heb ik alle sensor namen ingekort (Marstek verwijderd in de benaming).
De foutmeldingen waren hierna verdwenen uit het log.
Toen ik de webserver als test weer inschakelde kwamen er nog wel een paar van de genoemde foutmeldingen bij het opstarten waarna er geen foutmeldingen meer volgde. Ik heb de Webserver dus uitgeschakeld gelaten want ik bedien de Lilygo via HA.
Bij de sensor " Battery State of Charge" heb ik skip_updates verlaagd van 30 naar 5 omdat deze sensor belangrijk is voor de automatiseringen die ik nog aan het maken ben, hiervoor gebruik ik ook de Netto " Verbruik sensor" gedefinieerd in configuration.yaml.
code:
1 2 3 4 5 6 7 8 9 10 11 12 template: - sensor: - name: "Netto Verbruik" unique_id: netto_verbruik unit_of_measurement: "W" state_class: measurement device_class: power state: > {% set verbruik = states('sensor.electricity_meter_energieverbruik') | float(0) %} {% set productie = states('sensor.electricity_meter_energieproductie') | float(0) %} {% set batterij = states('sensor.lilygo_rs485_marstek_battery_power') | float(0) %} {{ (verbruik - productie - batterij) | round(0) }}
Voor de volledigheid hierbij mijn gewijzigde configuratie van de Lilygo met alle eer en bloemen voor onze topper superduper1969 natuurlijk![]()
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 esphome: name: lilygo-rs485 friendly_name: LILYGO RS485 min_version: 2024.11.0 name_add_mac_suffix: false esp32: board: esp32dev framework: type: esp-idf # Enable logging logger: # level: VERY_VERBOSE # Enable Home Assistant API api: encryption: key: "zelf invullen" ota: - platform: esphome password: "password" wifi: ssid: !secret wifi_ssid password: !secret wifi_password #Enable fallback hotspot (captive portal) in case wifi connection fails # ap: # ssid: "Lilygo-Rs485 Fallback Hotspot" # password: "password" #web_server: # port: 80 # Set pins required for LilyGo T-CAN485 board output: - platform: gpio id: ENABLE_PIN # Enable the chip pin: number: GPIO19 inverted: true - platform: gpio id: SE_PIN # Enable autodirection pin: number: GPIO17 inverted: true - platform: gpio id: ENABLE_5V_PIN # Enable 5V pin for RS485 chip pin: number: GPIO16 inverted: true # Configure uart that will be used uart: - id: mod_bus rx_pin: GPIO21 tx_pin: GPIO22 baud_rate: 115200 data_bits: 8 stop_bits: 1 parity: NONE modbus: - uart_id: mod_bus id: modbus1 send_wait_time: 200ms modbus_controller: - id: marstek_venus address: 0x1 modbus_id: modbus1 command_throttle: 200ms update_interval: 1s #modbus registers # range 31000- text_sensor: - name: "Marstek device name" icon: "mdi:information" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 31000 register_count: 1 response_size: 20 skip_updates: 30 binary_sensor: - platform: modbus_controller name: "Battery Protection Active" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44001 bitmask: 0x01 skip_updates: 30 - platform: modbus_controller name: "Battery Overvoltage Warning" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44002 bitmask: 0x02 skip_updates: 30 - platform: modbus_controller name: "Battery Undervoltage Warning" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44003 bitmask: 0x04 skip_updates: 30 sensor: - name: "Battery Voltage" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32100 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "V" accuracy_decimals: 2 device_class: voltage state_class: measurement skip_updates: 5 filters: - multiply: 0.01 - name: "Battery Current" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32101 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "A" accuracy_decimals: 2 device_class: current state_class: measurement skip_updates: 5 filters: - multiply: 0.01 - name: "Battery power" platform: modbus_controller icon: mdi:battery-charging modbus_controller_id: marstek_venus register_type: holding address: 32102 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Battery State of Charge" icon: mdi:battery-70 platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32104 # Register address for Battery SOC value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "%" accuracy_decimals: 1 skip_updates: 5 - name: "AC Voltage" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32200 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "V" device_class: voltage state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "AC Current" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32201 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "A" device_class: current state_class: measurement skip_updates: 5 accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Total charging energy" platform: modbus_controller icon: mdi:battery-arrow-up modbus_controller_id: marstek_venus register_type: holding address: 33000 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 skip_updates: 300 filters: - multiply: 0.01 - name: "Total discharging energy" platform: modbus_controller icon: mdi:battery-arrow-down modbus_controller_id: marstek_venus register_type: holding address: 33002 value_type: U_DWORD #=U32 in marstek pdf unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 skip_updates: 300 filters: - multiply: 0.01 - name: "AC power" platform: modbus_controller icon: mdi:battery-charging modbus_controller_id: marstek_venus register_type: holding address: 32202 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Offgrid power" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32302 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Internal Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35000 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "MOS1 Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35001 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "MOS2 Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35002 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 select: - platform: modbus_controller name: "Forcible charge/discharge" icon: mdi:swap-horizontal modbus_controller_id: marstek_venus address: 42010 value_type: U_WORD optionsmap: "Stop": 0 "Charge": 1 "Discharge": 2 skip_updates: 10 - platform: modbus_controller name: "Backup function" icon: mdi:power-socket-fr modbus_controller_id: marstek_venus address: 41200 value_type: U_WORD optionsmap: "enable": 0 "disable": 1 skip_updates: 10 - platform: modbus_controller name: "User work mode" icon: mdi:auto-mode modbus_controller_id: marstek_venus address: 43000 value_type: U_WORD optionsmap: "manual": 0 "anti-feed": 1 "ai": 2 skip_updates: 10 - platform: modbus_controller name: "RS485 Control Mode Select" icon: mdi:swap-horizontal modbus_controller_id: marstek_venus address: 42000 value_type: U_WORD optionsmap: "Enable": 21930 "Disable": 21947 skip_updates: 10 number: - platform: modbus_controller name: "Forcible charge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 42020 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Forcible discharge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 42021 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Charge to SOC" icon: mdi:battery-charging-medium modbus_controller_id: marstek_venus mode: box register_type: holding address: 42011 value_type: U_WORD unit_of_measurement: "%" min_value: 12 max_value: 100 step: 1 skip_updates: 5 - name: "Charging cutoff capacity" platform: modbus_controller icon: mdi:battery-90 modbus_controller_id: marstek_venus register_type: holding address: 44000 #line to add : register_count: 4 # Read all 4 registers at once value_type: U_WORD #=u16 in marstek pdf unit_of_measurement: "%" skip_updates: 20 min_value: 80 max_value: 100 multiply: 10 - name: "Discharging cutoff capacity" platform: modbus_controller icon: mdi:battery-10 modbus_controller_id: marstek_venus register_type: holding address: 44001 value_type: U_WORD #=u16 in marstek pdf unit_of_measurement: "%" skip_updates: 20 min_value: 12 max_value: 30 multiply: 10 - platform: modbus_controller name: "Max charge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 44002 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Max discharge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 44003 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5
Maar iemand een idee waarom er bij volle accu -40 watt word verbruikt ( of ben ik de enige ) uit de accu ( niet het net die us 5 a 10 watt )
Lijkt me beetje zinloos .
Nogal wat stroom weggooien steeds voor wat ? Balanceren ? Hii blijft dit uren doen
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Misschien al opgelost?Maxwp schreef op dinsdag 25 februari 2025 @ 13:42:
[...]
netjes thx
Maar iemand een idee waarom er bij volle accu -40 watt word verbruikt ( of ben ik de enige ) uit de accu ( niet het net die us 5 a 10 watt )
Lijkt me beetje zinloos .
Nogal wat stroom weggooien steeds voor wat ? Balanceren ? Hii blijft dit uren doen
https://gathering.tweaker...message/81754442#81754442
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
22-2 had ik dit:Maxwp schreef op dinsdag 25 februari 2025 @ 13:42:
[...]
netjes thx
Maar iemand een idee waarom er bij volle accu -40 watt word verbruikt ( of ben ik de enige ) uit de accu ( niet het net die us 5 a 10 watt )
Lijkt me beetje zinloos .
Nogal wat stroom weggooien steeds voor wat ? Balanceren ? Hii blijft dit uren doen
:strip_exif()/f/image/OK2fcbuzzFFkQQxweTSElZM4.jpg?f=fotoalbum_large)
Na alle wijzigingen had ik op 24-2 dit:
:strip_exif()/f/image/kVGrDoFQDuPVPGfcXOU5QUql.jpg?f=fotoalbum_large)
Ik zit nog steeds op firmware V147
:strip_exif()/f/image/N33iTkRHt3VmOI7DJLGV2eTX.jpg?f=fotoalbum_large)
Standaard verbruik van de accu inclusief de Liligo is tussen de 4W en 7W. vind ik wel meevallen.
:strip_exif()/f/image/bQK02XXD3QBodwE20TzyERdA.png?f=user_large)
Ik zie er niks staan over dat verbruik bij 100% accu ?superduper1969 schreef op dinsdag 25 februari 2025 @ 14:00:
[...]
Misschien al opgelost?
https://gathering.tweaker...message/81754442#81754442
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
kijk eens als de accu 100% ia dan zie ik ditArjen S schreef op dinsdag 25 februari 2025 @ 19:29:
[...]
22-2 had ik dit:
[Afbeelding]
Na alle wijzigingen had ik op 24-2 dit:
[Afbeelding]
Ik zit nog steeds op firmware V147
[Afbeelding]
Standaard verbruik van de accu inclusief de Liligo is tussen de 4W en 7W. vind ik wel meevallen.
[Afbeelding]
:strip_exif()/f/image/OnZHiFQwbkd07PI35ApWdrUL.jpg?f=fotoalbum_large)
okdus bij jou is het rond de 18 watt? als hij op 100% is? en bij mij rond de 40 watt
dat is wel ene verschil
Als de accu leeg is ja dan heb ik okk tussen de 5 en 10 watt
Maar als hij vol is is hij constant 40 watt uit de accu aan het ontrekken en dan elke half uur begint hij dan even kort te laden en dat blijft door gaan totdat de accu begint te ontladen.
Waarom zou je constant stroom uit de accu halen ? Zorgt dat niet voor extra slijtage
[ Voor 3% gewijzigd door Maxwp op 25-02-2025 23:56 ]
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Voor de Lilygo heb ik nu ook een Yaml code voor de ledjes aan de gang, je kan hiervoor de volgende code gebruiken.
Pas het volgende aan:
naar
Voeg de volgende twee sensors toe aan je bestaande sensor-block. Zorg ervoor dat je het sensor: label niet dubbel toevoegt (dus als het goed is, heb je dit label al in je bestaande configuratie).
En dit bij de binary sensor ( deze heb je volgens mij niet nodig maar dan is je wifi verbinding zichtbaar in Hass) let ook op het binary_sensor: label.
Pas het volgende aan:
YAML:
1
2
3
4
| esp32: board: esp32dev framework: type: esp-idf |
naar
YAML:
1
2
3
4
| esp32: board: esp32dev framework: type: arduino |
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| ############################################################################### # LED ############################################################################### light: - platform: neopixelbus type: GRB variant: WS2812 pin: GPIO4 num_leds: 1 name: "Status LED" id: status_led interval: - interval: 5s then: - lambda: |- ESP_LOGD("status", "Modbus: %.0f, WiFi: %.0f", id(modbus_status).state, id(wifi_strength).state); - if: condition: lambda: |- return !isnan(id(modbus_status).state) && id(wifi_strength).state > -70; then: - light.turn_on: id: status_led red: 0% green: 100% # 🟢 Green = Modbus OK & WiFi strong blue: 0% else: - if: condition: lambda: |- return isnan(id(modbus_status).state) && id(wifi_strength).state < -85; then: - light.turn_on: id: status_led red: 100% # 🟣 Purple = Both Modbus & WiFi failed green: 0% blue: 100% else: - if: condition: lambda: |- return id(wifi_strength).state < -80; then: - light.turn_on: id: status_led red: 0% green: 0% blue: 100% # 🔵 Blue = Weak WiFi signal (< -80 dBm) else: - light.turn_on: id: status_led red: 100% # 🔴 Red = Modbus error, WiFi OK green: 0% blue: 0% |
Voeg de volgende twee sensors toe aan je bestaande sensor-block. Zorg ervoor dat je het sensor: label niet dubbel toevoegt (dus als het goed is, heb je dit label al in je bestaande configuratie).
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| sensor: - platform: wifi_signal name: "WiFi Signal Strength" id: wifi_strength update_interval: 30s # An internal sensor to check Modbus communication status. - platform: modbus_controller modbus_controller_id: marstek_venus name: "Modbus Status" id: modbus_status register_type: holding address: 32104 # Using the Battery SOC register as a reference value_type: U_WORD internal: true |
En dit bij de binary sensor ( deze heb je volgens mij niet nodig maar dan is je wifi verbinding zichtbaar in Hass) let ook op het binary_sensor: label.
YAML:
1
2
3
4
| binary_sensor: - platform: status name: "WiFi Status" id: wifi_status |
[ Voor 3% gewijzigd door prakka op 26-02-2025 14:14 ]
Kun je het verder isoleren door een tijd de CT af te koppelen?Maxwp schreef op woensdag 19 februari 2025 @ 13:40:
kan iemand eens kijken die een log heeft zoals bij Home assistant of ze ook zien in de SOC graph dat hij ongeveer elke 30min zakt van 100% naar 99 en dan gaat laden om X sevonden later wer op100% te zetten en dit herhaald zich zo elke 30 min ongeveer[Afbeelding]
zolang hij op 100% zit verbruikt hij constant een 40 watt uit de accu ( is dit om te voorkomen dat hij lang op de 100% blijft? voor levensduur )
Maw alleen de batt BMS sturing, zodat je zeker weet dat er geen andere invloeden zijn.
Als het dan ook optreed zou ik dit melden. Als het volgens Marstek geen probleem is zou ik er wel een aantekening willen laten registreren voor toekomstig beroep op garantie. Zelf foto's etc bewaren.
Dit is geen fenomeen bij kalibratie volgens mij.
Hier dit verschijnsel nog niet gezien, ik hou het in de gaten.
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Ik ben wel benieuwd hoe het schakelgedrag bij jullie is in vergelijking met mijn afbeeldingen.
En wat zie ik eigenlijk op die afbeeldingen? Op het hoofdscherm zie ik hem niet de hele tijd van laden naar ontladen en terug gaan zoals je op de grafiek wel lijkt te zien. Lijkt mij niet gezond als hij dat zou doen.
Je ziet hier ook dat ik maar 1 waarde meegeef voor het verbruik (Phase A), als ik de drie fase ingeef zoals kan in de configuratie van de shelly emulator, dan zie ik die drie fases wel (Phase A, Phase B en Phase C) maar dan raakt het proces van zijn padje en gaat hij lopen ontladen waar hij dat niet moet doen.
Hoe hebben jullie het instellen van de fases geregeld?, bij een drie fase aansluiting bedoel ik dan natuurlijk.
Ik kan maar op 1 fase laden en ontladen want ik heb maar 1 batterij staan.
Dit word in de slimme meter gelijk getrokken over de fases zoals jullie ongetwijfeld weten.
:strip_exif()/f/image/FBtTokGgvpmS267H45n94Nfr.jpg?f=fotoalbum_large)
En wat zie ik eigenlijk op die afbeeldingen? Op het hoofdscherm zie ik hem niet de hele tijd van laden naar ontladen en terug gaan zoals je op de grafiek wel lijkt te zien. Lijkt mij niet gezond als hij dat zou doen.
Je ziet hier ook dat ik maar 1 waarde meegeef voor het verbruik (Phase A), als ik de drie fase ingeef zoals kan in de configuratie van de shelly emulator, dan zie ik die drie fases wel (Phase A, Phase B en Phase C) maar dan raakt het proces van zijn padje en gaat hij lopen ontladen waar hij dat niet moet doen.
Hoe hebben jullie het instellen van de fases geregeld?, bij een drie fase aansluiting bedoel ik dan natuurlijk.
Ik kan maar op 1 fase laden en ontladen want ik heb maar 1 batterij staan.
Dit word in de slimme meter gelijk getrokken over de fases zoals jullie ongetwijfeld weten.
:strip_exif()/f/image/FBtTokGgvpmS267H45n94Nfr.jpg?f=fotoalbum_large)
:strip_exif()/f/image/GJVVEYBxeCOwZr9TzqQhBDKJ.jpg?f=fotoalbum_large)
Ik weet niet precies waar ik naar zit te kijken. Zonder verdere informatie zie ik... dat je een gebruiker hebt die vermogen op en af schakelt en de batt. probeert dat zo goed mogelijk te volgen. Ik kan hier niet in opmaken dat het een laad / ontlaad iets is van de batt.Arjen S schreef op woensdag 26 februari 2025 @ 13:12:
Ik ben wel benieuwd hoe het schakelgedrag bij jullie is in vergelijking met mijn afbeeldingen.
En wat zie ik eigenlijk op die afbeeldingen? Op het hoofdscherm zie ik hem niet de hele tijd van laden naar ontladen en terug gaan zoals je op de grafiek wel lijkt te zien. Lijkt mij niet gezond als hij dat zou doen.
Je ziet hier ook dat ik maar 1 waarde meegeef voor het verbruik (Phase A), als ik de drie fase ingeef zoals kan in de configuratie van de shelly emulator, dan zie ik die drie fases wel (Phase A, Phase B en Phase C) maar dan raakt het proces van zijn padje en gaat hij lopen ontladen waar hij dat niet moet doen.
Hoe hebben jullie het instellen van de fases geregeld?, bij een drie fase aansluiting bedoel ik dan natuurlijk.
Ik kan maar op 1 fase laden en ontladen want ik heb maar 1 batterij staan.
Dit word in de slimme meter gelijk getrokken over de fases zoals jullie ongetwijfeld weten.
[Afbeelding]
[Afbeelding]
Zo werkt het bij mij, misschien omgedraaid?
/f/image/f7C3MWVa3WH0VabcPsz0ZBel.png?f=fotoalbum_large)
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Als ik deze code toevoeg dan krijg ik melding bij light.neopixelbus "this feature is only available with frameworks [arduino] ?prakka schreef op woensdag 26 februari 2025 @ 09:02:
Voor de Lilygo heb ik nu ook een Yaml code voor de ledjes aan de gang, je kan hiervoor de volgende code gebruiken:
YAML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ############################################################################### # LED ############################################################################### light: - platform: neopixelbus type: GRB variant: WS2812 pin: GPIO4 num_leds: 1 name: "Status LED" id: status_led interval: - interval: 5s then: - lambda: |- ESP_LOGD("status", "Modbus: %.0f, WiFi: %.0f", id(modbus_status).state, id(wifi_strength).state); - if: condition: lambda: |- return !isnan(id(modbus_status).state) && id(wifi_strength).state > -70; then: - light.turn_on: id: status_led red: 0% green: 100% # 🟢 Green = Modbus OK & WiFi strong blue: 0% else: - if: condition: lambda: |- return isnan(id(modbus_status).state) && id(wifi_strength).state < -85; then: - light.turn_on: id: status_led red: 100% # 🟣 Purple = Both Modbus & WiFi failed green: 0% blue: 100% else: - if: condition: lambda: |- return id(wifi_strength).state < -80; then: - light.turn_on: id: status_led red: 0% green: 0% blue: 100% # 🔵 Blue = Weak WiFi signal (< -80 dBm) else: - light.turn_on: id: status_led red: 100% # 🔴 Red = Modbus error, WiFi OK green: 0% blue: 0%
Oh dat kan kloppen ik gebruik de volgende configuratie:Horla schreef op woensdag 26 februari 2025 @ 14:04:
[...]
Als ik deze code toevoeg dan krijg ik melding bij light.neopixelbus "this feature is only available with frameworks [arduino] ?
YAML:
1
2
3
4
| esp32: board: esp32dev framework: type: arduino |
arduino inplaats van ESP-IDF
ah, dat werkt terwijl de rest van de code de yaml is uit post 1? Ik ben een beetje huiverig om te proberen aangezien mijn lilygo al met tie-wraps vastgebonden is en het dus dik vervelend is als ik er een computer aan moet hangen. Zeker omdat ik dan mijn desktop naar daar moet slepen want ik heb geen laptop meer (wel chromebook maar daar werkt het niet).
Ja klopt, de code aanhouden van de eerste post en dan de wijzigingen verwerken. Ik heb het zelf zo nu draaien op mijn Lilygo zonder problemen. Feitelijk blijft de code hetzelfde (behalve het esp type) alleen voeg je de code toe voor de LED.Horla schreef op woensdag 26 februari 2025 @ 14:41:
[...]
ah, dat werkt terwijl de rest van de code de yaml is uit post 1? Ik ben een beetje huiverig om te proberen aangezien mijn lilygo al met tie-wraps vastgebonden is en het dus dik vervelend is als ik er een computer aan moet hangen. Zeker omdat ik dan mijn desktop naar daar moet slepen want ik heb geen laptop meer (wel chromebook maar daar werkt het niet).
Ik ga het testen en dan in de startpost verwerken, scheelt weer zoeken.prakka schreef op woensdag 26 februari 2025 @ 14:58:
[...]
Ja klopt, de code aanhouden van de eerste post en dan de wijzigingen verwerken. Ik heb het zelf zo nu draaien op mijn Lilygo zonder problemen. Feitelijk blijft de code hetzelfde (behalve het esp type) alleen voeg je de code toe voor de LED.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Wacht je zit op je modbus batt power dit totaal nirt als hij op 100% zit ?SatScan schreef op woensdag 26 februari 2025 @ 09:39:
[...]
Kun je het verder isoleren door een tijd de CT af te koppelen?
Maw alleen de batt BMS sturing, zodat je zeker weet dat er geen andere invloeden zijn.
Als het dan ook optreed zou ik dit melden. Als het volgens Marstek geen probleem is zou ik er wel een aantekening willen laten registreren voor toekomstig beroep op garantie. Zelf foto's etc bewaren.
Dit is geen fenomeen bij kalibratie volgens mij.
Hier dit verschijnsel nog niet gezien, ik hou het in de gaten.
Kun je eens inzoomen of zo op 2 uur van 100% opgeladen ?
Zijn maar kleine piekjes
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
hmm, als ik goed inzoom zie ik inderdaad vreemde kronkels:Maxwp schreef op woensdag 26 februari 2025 @ 16:31:
[...]
Wacht je zit op je modbus batt power dit totaal nirt als hij op 100% zit ?
Kun je eens inzoomen of zo op 2 uur van 100% opgeladen ?
Zijn maar kleine piekjes
/f/image/WG3e9f7E1VfNJAVQEexMGl4c.png?f=fotoalbum_large)
Zelf even geknipt en geplakt... hier heb ik groen lichtsuperduper1969 schreef op woensdag 26 februari 2025 @ 15:59:
[...]
Ik ga het testen en dan in de startpost verwerken, scheelt weer zoeken.

BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Bedankt voor je reactie en afbeelding! Hierdoor kon ik zien dat ik de configuratie goed had staan en verder moest zoeken. Ik had mijn sensoren niet goed op orde. Ik weet niet meer precies in welke volgorde het niet goed zat maar sommige sensoren gaven waardes ik KW andere in W met of zonder decimaal. Eigen schuld want ik had op de verkeerde plaats zitten rommelen om de waardes in de UI mooier weer te geven. Nadat ik alle sensoren had ingesteld op hele getallen en in Watt was het probleem opgelost en kon ik de 3 fase configuratie gebruiken. Draait nu als een zonnetje, Maar dan zonder zonnetjeSatScan schreef op woensdag 26 februari 2025 @ 13:28:
[...]
Ik weet niet precies waar ik naar zit te kijken. Zonder verdere informatie zie ik... dat je een gebruiker hebt die vermogen op en af schakelt en de batt. probeert dat zo goed mogelijk te volgen. Ik kan hier niet in opmaken dat het een laad / ontlaad iets is van de batt.
Zo werkt het bij mij, misschien omgedraaid?
[Afbeelding]
Ik heb zojuist ook een nieuwe versie gemaakt en jouw LED configuratie erin verwerkt.prakka schreef op woensdag 26 februari 2025 @ 09:02:
Voor de Lilygo heb ik nu ook een Yaml code voor de ledjes aan de gang, je kan hiervoor de volgende code gebruiken.
Pas het volgende aan:
YAML:
1 2 3 4 esp32: board: esp32dev framework: type: esp-idf
naar
YAML:
1 2 3 4 esp32: board: esp32dev framework: type: arduino
YAML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ############################################################################### # LED ############################################################################### light: - platform: neopixelbus type: GRB variant: WS2812 pin: GPIO4 num_leds: 1 name: "Status LED" id: status_led interval: - interval: 5s then: - lambda: |- ESP_LOGD("status", "Modbus: %.0f, WiFi: %.0f", id(modbus_status).state, id(wifi_strength).state); - if: condition: lambda: |- return !isnan(id(modbus_status).state) && id(wifi_strength).state > -70; then: - light.turn_on: id: status_led red: 0% green: 100% # 🟢 Green = Modbus OK & WiFi strong blue: 0% else: - if: condition: lambda: |- return isnan(id(modbus_status).state) && id(wifi_strength).state < -85; then: - light.turn_on: id: status_led red: 100% # 🟣 Purple = Both Modbus & WiFi failed green: 0% blue: 100% else: - if: condition: lambda: |- return id(wifi_strength).state < -80; then: - light.turn_on: id: status_led red: 0% green: 0% blue: 100% # 🔵 Blue = Weak WiFi signal (< -80 dBm) else: - light.turn_on: id: status_led red: 100% # 🔴 Red = Modbus error, WiFi OK green: 0% blue: 0%
Voeg de volgende twee sensors toe aan je bestaande sensor-block. Zorg ervoor dat je het sensor: label niet dubbel toevoegt (dus als het goed is, heb je dit label al in je bestaande configuratie).
YAML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 sensor: - platform: wifi_signal name: "WiFi Signal Strength" id: wifi_strength update_interval: 30s # An internal sensor to check Modbus communication status. - platform: modbus_controller modbus_controller_id: marstek_venus name: "Modbus Status" id: modbus_status register_type: holding address: 32104 # Using the Battery SOC register as a reference value_type: U_WORD internal: true
En dit bij de binary sensor ( deze heb je volgens mij niet nodig maar dan is je wifi verbinding zichtbaar in Hass) let ook op het binary_sensor: label.
YAML:
1 2 3 4 binary_sensor: - platform: status name: "WiFi Status" id: wifi_status
Ik lees bijna alle registers uit, en doe een calculatie op de SOC en Capaciteit van de batterij om zo de resterende capaciteit te berekenen.
Ook lees ik de Inverter State uit en zet hem om naar, "Sleep", "Standby", "Charge", "Discharge", "Fault", "Idle" of "Unknown"
/f/image/fftqk2PNIGqwIMRiuYKyINCa.png?f=fotoalbum_large)
Hierbij mijn code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
| esphome: name: lilygo-rs485 friendly_name: LILYGO RS485 min_version: 2024.11.0 name_add_mac_suffix: false esp32: board: esp32dev framework: type: arduino # Enable logging logger: # level: VERY_VERBOSE # Enable Home Assistant API api: encryption: key: "Je-eigen-Key" ota: - platform: esphome password: "Je-eigen-Key" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Lilygo-Rs485 Fallback Hotspot" password: "GBDjgqkttbFLa93eFCaj" web_server: port: 80 # Set pins required for LilyGo T-CAN485 board output: - platform: gpio id: ENABLE_PIN # Enable the chip pin: number: GPIO19 inverted: true - platform: gpio id: SE_PIN # Enable autodirection pin: number: GPIO17 inverted: true - platform: gpio id: ENABLE_5V_PIN # Enable 5V pin for RS485 chip pin: number: GPIO16 inverted: true # Configure UART uart: - id: mod_bus rx_pin: GPIO21 tx_pin: GPIO22 baud_rate: 115200 data_bits: 8 stop_bits: 1 parity: NONE modbus: - uart_id: mod_bus id: modbus1 send_wait_time: 200ms modbus_controller: - id: marstek_venus address: 0x1 modbus_id: modbus1 command_throttle: 200ms update_interval: 5s # Tekstsensoren text_sensor: - name: "Marstek Device Name" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 31000 register_count: 10 response_size: 20 skip_updates: 6 # 30 seconds # - name: "Marstek SN Code" # platform: modbus_controller # modbus_controller_id: marstek_venus # register_type: holding # address: 31200 # register_count: 10 # response_size: 20 # skip_updates: 60 # 5 minutes - platform: template name: "Marstek Inverter State" lambda: |- switch (int(id(inverter_state).state)) { case 0: return std::string("Sleep"); case 1: return std::string("Standby"); case 2: return std::string("Charge"); case 3: return std::string("Discharge"); case 4: return std::string("Fault"); case 5: return std::string("Idle"); default: return std::string("Unknown"); }; update_interval: 5s # Binaire sensoren binary_sensor: - platform: modbus_controller name: "Marstek Battery Protection Active" modbus_controller_id: marstek_venus register_type: holding address: 44001 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Overvoltage Warning" modbus_controller_id: marstek_venus register_type: holding address: 44002 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Undervoltage Warning" modbus_controller_id: marstek_venus register_type: holding address: 44003 bitmask: 0x04 skip_updates: 6 # 30 seconds - platform: status name: "WiFi Status" id: wifi_status # Sensoren sensor: - platform: modbus_controller id: inverter_state # No name, since it's internal modbus_controller_id: marstek_venus register_type: holding address: 35100 value_type: U_WORD internal: true # Hides from Home Assistant - name: "Marstek Firmware Version" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 31100 value_type: U_WORD accuracy_decimals: 2 skip_updates: 6 # 30 seconds - name: "Marstek Battery Voltage (Average)" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32100 value_type: U_WORD unit_of_measurement: "V" device_class: voltage accuracy_decimals: 2 state_class: measurement filters: - multiply: 0.01 - name: "Marstek Battery Current (Average)" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32101 value_type: S_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 2 state_class: measurement filters: - multiply: 0.01 - name: "Marstek Battery Power" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32102 value_type: S_DWORD unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 - name: "Marstek Battery State Of Charge" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32104 value_type: U_WORD unit_of_measurement: "%" accuracy_decimals: 1 id: marstek_soc skip_updates: 2 # 10 seconds - name: "Marstek Battery Total Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32105 value_type: U_WORD unit_of_measurement: "kWh" accuracy_decimals: 2 filters: - multiply: 0.001 # Firmware 148: 0.001 / Firmware 147: 0.01 id: marstek_total_energy skip_updates: 60 # 5 minutes - platform: template name: "Marstek Battery Remaining Capacity" unit_of_measurement: "kWh" accuracy_decimals: 2 update_interval: 10s lambda: |- if (id(marstek_total_energy).has_state() && id(marstek_soc).has_state()) { float total_energy = id(marstek_total_energy).state; float soc = id(marstek_soc).state / 100.0; return roundf(total_energy * soc * 100) / 100; // Ensures two decimal places } return NAN; - name: "Marstek AC Voltage" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32200 value_type: U_WORD unit_of_measurement: "V" device_class: voltage state_class: measurement accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek AC Current" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32201 value_type: U_WORD unit_of_measurement: "A" device_class: current state_class: measurement accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Marstek AC Power" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32202 value_type: S_DWORD unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 - name: "Marstek AC Frequency" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32204 value_type: U_WORD unit_of_measurement: "Hz" device_class: frequency accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Marstek AC Offgrid Voltage" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32300 value_type: U_WORD unit_of_measurement: "V" device_class: voltage accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek AC Offgrid Current" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32301 value_type: U_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Marstek AC Offgrid Power" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32302 value_type: S_DWORD unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 - name: "Marstek Total Charging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33000 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Total Discharging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33002 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Daily Charging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33004 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Daily Discharging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33006 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Monthly Charging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33008 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Monthly Discharging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33010 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Internal Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35000 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek Internal MOS1 Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35001 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 2 # 10 seconds filters: - multiply: 0.1 - name: "Marstek Internal MOS2 Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35002 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 2 # 10 seconds filters: - multiply: 0.1 - name: "Marstek Max. Cell Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35010 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 2 # 10 seconds filters: - multiply: 0.1 - name: "Marstek Min. Cell Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35011 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek Battery Charge Voltage Limit" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35110 value_type: U_WORD unit_of_measurement: "V" device_class: voltage accuracy_decimals: 0 state_class: measurement filters: - multiply: 0.01 skip_updates: 6 # 30 seconds - name: "Marstek Battery Charge Current Limit" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35111 value_type: S_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 0 state_class: measurement filters: - multiply: 0.01 skip_updates: 6 # 30 seconds - name: "Marstek Battery Discharge Current Limit" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35112 value_type: S_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 0 state_class: measurement filters: - multiply: 0.01 skip_updates: 6 # 30 seconds - platform: wifi_signal name: "WiFi Signal Strength" id: wifi_strength update_interval: 30s # An internal sensor to check Modbus communication status. - platform: modbus_controller modbus_controller_id: marstek_venus name: "Modbus Status" id: modbus_status register_type: holding address: 32104 # Using the Battery SOC register as a reference value_type: U_WORD internal: true # Instellingen en modi (Select en Number) select: - name: "Marstek RS485 Control Mode" icon: mdi:swap-horizontal platform: modbus_controller modbus_controller_id: marstek_venus address: 42000 value_type: U_WORD optionsmap: "enable": 21930 "disable": 21947 skip_updates: 2 # 10 seconds - name: "Marstek Forcible Charge/Discharge" platform: modbus_controller modbus_controller_id: marstek_venus address: 42010 value_type: U_WORD optionsmap: "stop": 0 "charge": 1 "discharge": 2 skip_updates: 2 # 10 seconds - name: "Marstek Backup Function" platform: modbus_controller modbus_controller_id: marstek_venus address: 41200 value_type: U_WORD optionsmap: "enable": 0 "disable": 1 skip_updates: 2 # 10 seconds - name: "Marstek User Work Mode" icon: mdi:auto-mode platform: modbus_controller modbus_controller_id: marstek_venus address: 43000 value_type: U_WORD optionsmap: "manual": 0 "anti-feed": 1 "ai": 2 skip_updates: 2 # 10 seconds number: - name: "Marstek Forcible Charge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 42020 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds - name: "Marstek Charge To SOC" icon: mdi:battery-charging-medium mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 42011 value_type: U_WORD unit_of_measurement: "%" min_value: 12 max_value: 100 step: 1 - name: "Marstek Forcible Discharge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 42021 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds - name: "Marstek Charging Cutoff Capacity" icon: mdi:battery-90 platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44000 value_type: U_WORD unit_of_measurement: "%" min_value: 80 max_value: 100 multiply: 10 skip_updates: 6 # 30 seconds - name: "Marstek Discharging Cutoff Capacity" icon: mdi:battery-10 platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44001 value_type: U_WORD unit_of_measurement: "%" min_value: 12 max_value: 30 multiply: 10 skip_updates: 6 # 30 seconds - name: "Marstek Max. Charge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44002 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds - name: "Marstek Max. Discharge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44003 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds ############################################################################### # LED ############################################################################### light: - platform: neopixelbus type: GRB variant: WS2812 pin: GPIO4 num_leds: 1 name: "Status LED" id: status_led interval: - interval: 5s then: - lambda: |- ESP_LOGD("status", "Modbus: %.0f, WiFi: %.0f", id(modbus_status).state, id(wifi_strength).state); - if: condition: lambda: |- return !isnan(id(modbus_status).state) && id(wifi_strength).state > -70; then: - light.turn_on: id: status_led red: 0% green: 100% # 🟢 Green = Modbus OK & WiFi strong blue: 0% else: - if: condition: lambda: |- return isnan(id(modbus_status).state) && id(wifi_strength).state < -85; then: - light.turn_on: id: status_led red: 100% # 🟣 Purple = Both Modbus & WiFi failed green: 0% blue: 100% else: - if: condition: lambda: |- return id(wifi_strength).state < -80; then: - light.turn_on: id: status_led red: 0% green: 0% blue: 100% # 🔵 Blue = Weak WiFi signal (< -80 dBm) else: - light.turn_on: id: status_led red: 100% # 🔴 Red = Modbus error, WiFi OK green: 0% blue: 0% |
Wat mij opvalt is dat er verschil zit in de sensor waarde aan de hand van de firmware versie, m.b.t. de capaciteit sensor vanuit de batterijen.
Ik heb twee batterijen met nu nog allebei een andere versie.
code:
1
2
3
4
5
6
7
8
9
10
11
12
| - name: "Marstek Battery Total Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32105 value_type: U_WORD unit_of_measurement: "kWh" accuracy_decimals: 2 filters: - multiply: 0.001 # Firmware 148: 0.001 / Firmware 147: 0.01 id: marstek_total_energy skip_updates: 60 # 5 minutes |
Gezien bijna alle sensoren in de andere code `skip_updates: 5` had, lees ik hem om de 5 seconden uit i.p.v. iedere seconde je negeert 4 updates van de 5.
Denk je door de langere namen waar Marstek in staat dat de ESP32 het te druk krijgt en daardoor stapjes laat vallen?Arjen S schreef op dinsdag 25 februari 2025 @ 07:38:
[...]
In eerste instantie heb ik Marstek P1 monitor samen met een Smartgateway vervangen door een P1 naar USB kabel die nu gekoppeld zit rechtstreeks aan mijn NUC Home Assistant server.
Deze maakt gebruik van de Integratie DSMR Smart Meter van Netbeheer Nederland samen met de P1 emulator die je hier kan vinden: https://github.com/tomquist/b2500-meter Dank tomquist voor het ontwikkelen hiervan! Deze optie werd ook al vermeld in de video hierboven aangegeven. Leuk dat deze nu ook de drie fases aangeeft in de Marstek app wat volgens mij niet werkte in de Marstek P1 module.
Dit scheelt twee apparaten die de hele tijd energie stonden te verbruiken en het reageert naar mijn idee ook beter in de app die nu geconfigureerd staat als een Shelly Pro 3EM.
Het loste echter het probleem van de vertraging op de Modbus niet op.
Toen heb ik de Webserver en de fallback server op de Lilygo uitgeschakeld in de Yaml code.
De meldingen in het log werden al minder.
Hierna heb ik alle sensor namen ingekort (Marstek verwijderd in de benaming).
De foutmeldingen waren hierna verdwenen uit het log.
Toen ik de webserver als test weer inschakelde kwamen er nog wel een paar van de genoemde foutmeldingen bij het opstarten waarna er geen foutmeldingen meer volgde. Ik heb de Webserver dus uitgeschakeld gelaten want ik bedien de Lilygo via HA.
Bij de sensor " Battery State of Charge" heb ik skip_updates verlaagd van 30 naar 5 omdat deze sensor belangrijk is voor de automatiseringen die ik nog aan het maken ben, hiervoor gebruik ik ook de Netto " Verbruik sensor" gedefinieerd in configuration.yaml.
code:
1 2 3 4 5 6 7 8 9 10 11 12 template: - sensor: - name: "Netto Verbruik" unique_id: netto_verbruik unit_of_measurement: "W" state_class: measurement device_class: power state: > {% set verbruik = states('sensor.electricity_meter_energieverbruik') | float(0) %} {% set productie = states('sensor.electricity_meter_energieproductie') | float(0) %} {% set batterij = states('sensor.lilygo_rs485_marstek_battery_power') | float(0) %} {{ (verbruik - productie - batterij) | round(0) }}
Voor de volledigheid hierbij mijn gewijzigde configuratie van de Lilygo met alle eer en bloemen voor onze topper superduper1969 natuurlijk![]()
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 esphome: name: lilygo-rs485 friendly_name: LILYGO RS485 min_version: 2024.11.0 name_add_mac_suffix: false esp32: board: esp32dev framework: type: esp-idf # Enable logging logger: # level: VERY_VERBOSE # Enable Home Assistant API api: encryption: key: "zelf invullen" ota: - platform: esphome password: "password" wifi: ssid: !secret wifi_ssid password: !secret wifi_password #Enable fallback hotspot (captive portal) in case wifi connection fails # ap: # ssid: "Lilygo-Rs485 Fallback Hotspot" # password: "password" #web_server: # port: 80 # Set pins required for LilyGo T-CAN485 board output: - platform: gpio id: ENABLE_PIN # Enable the chip pin: number: GPIO19 inverted: true - platform: gpio id: SE_PIN # Enable autodirection pin: number: GPIO17 inverted: true - platform: gpio id: ENABLE_5V_PIN # Enable 5V pin for RS485 chip pin: number: GPIO16 inverted: true # Configure uart that will be used uart: - id: mod_bus rx_pin: GPIO21 tx_pin: GPIO22 baud_rate: 115200 data_bits: 8 stop_bits: 1 parity: NONE modbus: - uart_id: mod_bus id: modbus1 send_wait_time: 200ms modbus_controller: - id: marstek_venus address: 0x1 modbus_id: modbus1 command_throttle: 200ms update_interval: 1s #modbus registers # range 31000- text_sensor: - name: "Marstek device name" icon: "mdi:information" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 31000 register_count: 1 response_size: 20 skip_updates: 30 binary_sensor: - platform: modbus_controller name: "Battery Protection Active" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44001 bitmask: 0x01 skip_updates: 30 - platform: modbus_controller name: "Battery Overvoltage Warning" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44002 bitmask: 0x02 skip_updates: 30 - platform: modbus_controller name: "Battery Undervoltage Warning" icon: "mdi:information" modbus_controller_id: marstek_venus register_type: holding address: 44003 bitmask: 0x04 skip_updates: 30 sensor: - name: "Battery Voltage" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32100 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "V" accuracy_decimals: 2 device_class: voltage state_class: measurement skip_updates: 5 filters: - multiply: 0.01 - name: "Battery Current" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32101 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "A" accuracy_decimals: 2 device_class: current state_class: measurement skip_updates: 5 filters: - multiply: 0.01 - name: "Battery power" platform: modbus_controller icon: mdi:battery-charging modbus_controller_id: marstek_venus register_type: holding address: 32102 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Battery State of Charge" icon: mdi:battery-70 platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32104 # Register address for Battery SOC value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "%" accuracy_decimals: 1 skip_updates: 5 - name: "AC Voltage" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32200 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "V" device_class: voltage state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "AC Current" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32201 value_type: U_WORD # Unsigned 16-bit value =u16 in marstek pdf unit_of_measurement: "A" device_class: current state_class: measurement skip_updates: 5 accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Total charging energy" platform: modbus_controller icon: mdi:battery-arrow-up modbus_controller_id: marstek_venus register_type: holding address: 33000 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 skip_updates: 300 filters: - multiply: 0.01 - name: "Total discharging energy" platform: modbus_controller icon: mdi:battery-arrow-down modbus_controller_id: marstek_venus register_type: holding address: 33002 value_type: U_DWORD #=U32 in marstek pdf unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 skip_updates: 300 filters: - multiply: 0.01 - name: "AC power" platform: modbus_controller icon: mdi:battery-charging modbus_controller_id: marstek_venus register_type: holding address: 32202 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Offgrid power" platform: modbus_controller icon: mdi:power-plug-battery modbus_controller_id: marstek_venus register_type: holding address: 32302 value_type: S_DWORD #=s32 in marstek pdf unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 skip_updates: 5 filters: - multiply: 1 - name: "Internal Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35000 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "MOS1 Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35001 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 - name: "MOS2 Temperature" platform: modbus_controller icon: mdi:temperature-celsius modbus_controller_id: marstek_venus register_type: holding address: 35002 value_type: S_WORD #signed 16 bit integer from 1 register = 16bit unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 5 filters: - multiply: 0.1 select: - platform: modbus_controller name: "Forcible charge/discharge" icon: mdi:swap-horizontal modbus_controller_id: marstek_venus address: 42010 value_type: U_WORD optionsmap: "Stop": 0 "Charge": 1 "Discharge": 2 skip_updates: 10 - platform: modbus_controller name: "Backup function" icon: mdi:power-socket-fr modbus_controller_id: marstek_venus address: 41200 value_type: U_WORD optionsmap: "enable": 0 "disable": 1 skip_updates: 10 - platform: modbus_controller name: "User work mode" icon: mdi:auto-mode modbus_controller_id: marstek_venus address: 43000 value_type: U_WORD optionsmap: "manual": 0 "anti-feed": 1 "ai": 2 skip_updates: 10 - platform: modbus_controller name: "RS485 Control Mode Select" icon: mdi:swap-horizontal modbus_controller_id: marstek_venus address: 42000 value_type: U_WORD optionsmap: "Enable": 21930 "Disable": 21947 skip_updates: 10 number: - platform: modbus_controller name: "Forcible charge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 42020 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Forcible discharge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 42021 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Charge to SOC" icon: mdi:battery-charging-medium modbus_controller_id: marstek_venus mode: box register_type: holding address: 42011 value_type: U_WORD unit_of_measurement: "%" min_value: 12 max_value: 100 step: 1 skip_updates: 5 - name: "Charging cutoff capacity" platform: modbus_controller icon: mdi:battery-90 modbus_controller_id: marstek_venus register_type: holding address: 44000 #line to add : register_count: 4 # Read all 4 registers at once value_type: U_WORD #=u16 in marstek pdf unit_of_measurement: "%" skip_updates: 20 min_value: 80 max_value: 100 multiply: 10 - name: "Discharging cutoff capacity" platform: modbus_controller icon: mdi:battery-10 modbus_controller_id: marstek_venus register_type: holding address: 44001 value_type: U_WORD #=u16 in marstek pdf unit_of_measurement: "%" skip_updates: 20 min_value: 12 max_value: 30 multiply: 10 - platform: modbus_controller name: "Max charge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 44002 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5 - platform: modbus_controller name: "Max discharge power" icon: mdi:tune-variant modbus_controller_id: marstek_venus mode: box register_type: holding address: 44003 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 5
Welke vertraging van de Modbus bedoel je?
Als je van een paar minder belangrijke zaken zoals de Naam of Total montly energy de interval verschuift naar om het uur zou dat de ESP offloaden zodat die foutmeldingen verdwijnen.
Als ik deze variant in de startpost zou zetten maar combineer met de nieuwe functies van Disksoft https://gathering.tweaker...message/81770404#81770404
Dan heb je kans dat mensen die upgraden automatiseringen/dashboards opnieuw moeten inrichten.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Top, blij met alle ontwikkelingen.Disksoft schreef op woensdag 26 februari 2025 @ 21:06:
[...]
Ik heb zojuist ook een nieuwe versie gemaakt en jouw LED configuratie erin verwerkt.
Ik lees bijna alle registers uit, en doe een calculatie op de SOC en Capaciteit van de batterij om zo de resterende capaciteit te berekenen.
Ook lees ik de Inverter State uit en zet hem om naar, "Sleep", "Standby", "Charge", "Discharge", "Fault", "Idle" of "Unknown"
[Afbeelding]
Hierbij mijn code:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 esphome: name: lilygo-rs485 friendly_name: LILYGO RS485 min_version: 2024.11.0 name_add_mac_suffix: false esp32: board: esp32dev framework: type: arduino # Enable logging logger: # level: VERY_VERBOSE # Enable Home Assistant API api: encryption: key: "Je-eigen-Key" ota: - platform: esphome password: "Je-eigen-Key" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Lilygo-Rs485 Fallback Hotspot" password: "GBDjgqkttbFLa93eFCaj" web_server: port: 80 # Set pins required for LilyGo T-CAN485 board output: - platform: gpio id: ENABLE_PIN # Enable the chip pin: number: GPIO19 inverted: true - platform: gpio id: SE_PIN # Enable autodirection pin: number: GPIO17 inverted: true - platform: gpio id: ENABLE_5V_PIN # Enable 5V pin for RS485 chip pin: number: GPIO16 inverted: true # Configure UART uart: - id: mod_bus rx_pin: GPIO21 tx_pin: GPIO22 baud_rate: 115200 data_bits: 8 stop_bits: 1 parity: NONE modbus: - uart_id: mod_bus id: modbus1 send_wait_time: 200ms modbus_controller: - id: marstek_venus address: 0x1 modbus_id: modbus1 command_throttle: 200ms update_interval: 5s # Tekstsensoren text_sensor: - name: "Marstek Device Name" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 31000 register_count: 10 response_size: 20 skip_updates: 6 # 30 seconds # - name: "Marstek SN Code" # platform: modbus_controller # modbus_controller_id: marstek_venus # register_type: holding # address: 31200 # register_count: 10 # response_size: 20 # skip_updates: 60 # 5 minutes - platform: template name: "Marstek Inverter State" lambda: |- switch (int(id(inverter_state).state)) { case 0: return std::string("Sleep"); case 1: return std::string("Standby"); case 2: return std::string("Charge"); case 3: return std::string("Discharge"); case 4: return std::string("Fault"); case 5: return std::string("Idle"); default: return std::string("Unknown"); }; update_interval: 5s # Binaire sensoren binary_sensor: - platform: modbus_controller name: "Marstek Battery Protection Active" modbus_controller_id: marstek_venus register_type: holding address: 44001 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Overvoltage Warning" modbus_controller_id: marstek_venus register_type: holding address: 44002 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Undervoltage Warning" modbus_controller_id: marstek_venus register_type: holding address: 44003 bitmask: 0x04 skip_updates: 6 # 30 seconds - platform: status name: "WiFi Status" id: wifi_status # Sensoren sensor: - platform: modbus_controller id: inverter_state # No name, since it's internal modbus_controller_id: marstek_venus register_type: holding address: 35100 value_type: U_WORD internal: true # Hides from Home Assistant - name: "Marstek Firmware Version" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 31100 value_type: U_WORD accuracy_decimals: 2 skip_updates: 6 # 30 seconds - name: "Marstek Battery Voltage (Average)" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32100 value_type: U_WORD unit_of_measurement: "V" device_class: voltage accuracy_decimals: 2 state_class: measurement filters: - multiply: 0.01 - name: "Marstek Battery Current (Average)" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32101 value_type: S_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 2 state_class: measurement filters: - multiply: 0.01 - name: "Marstek Battery Power" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32102 value_type: S_DWORD unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 - name: "Marstek Battery State Of Charge" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32104 value_type: U_WORD unit_of_measurement: "%" accuracy_decimals: 1 id: marstek_soc skip_updates: 2 # 10 seconds - name: "Marstek Battery Total Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32105 value_type: U_WORD unit_of_measurement: "kWh" accuracy_decimals: 2 filters: - multiply: 0.001 # Firmware 148: 0.001 / Firmware 147: 0.01 id: marstek_total_energy skip_updates: 60 # 5 minutes - platform: template name: "Marstek Battery Remaining Capacity" unit_of_measurement: "kWh" accuracy_decimals: 2 update_interval: 10s lambda: |- if (id(marstek_total_energy).has_state() && id(marstek_soc).has_state()) { float total_energy = id(marstek_total_energy).state; float soc = id(marstek_soc).state / 100.0; return roundf(total_energy * soc * 100) / 100; // Ensures two decimal places } return NAN; - name: "Marstek AC Voltage" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32200 value_type: U_WORD unit_of_measurement: "V" device_class: voltage state_class: measurement accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek AC Current" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32201 value_type: U_WORD unit_of_measurement: "A" device_class: current state_class: measurement accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Marstek AC Power" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32202 value_type: S_DWORD unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 - name: "Marstek AC Frequency" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32204 value_type: U_WORD unit_of_measurement: "Hz" device_class: frequency accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Marstek AC Offgrid Voltage" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32300 value_type: U_WORD unit_of_measurement: "V" device_class: voltage accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek AC Offgrid Current" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32301 value_type: U_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 2 filters: - multiply: 0.01 - name: "Marstek AC Offgrid Power" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32302 value_type: S_DWORD unit_of_measurement: "W" device_class: power state_class: measurement accuracy_decimals: 0 - name: "Marstek Total Charging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33000 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Total Discharging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33002 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Daily Charging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33004 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Daily Discharging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33006 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Monthly Charging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33008 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Monthly Discharging Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 33010 value_type: U_DWORD unit_of_measurement: "kWh" device_class: energy state_class: total_increasing accuracy_decimals: 2 filters: - multiply: 0.01 register_count: 2 skip_updates: 60 # 5 minutes - name: "Marstek Internal Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35000 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek Internal MOS1 Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35001 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 2 # 10 seconds filters: - multiply: 0.1 - name: "Marstek Internal MOS2 Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35002 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 2 # 10 seconds filters: - multiply: 0.1 - name: "Marstek Max. Cell Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35010 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 skip_updates: 2 # 10 seconds filters: - multiply: 0.1 - name: "Marstek Min. Cell Temperature" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35011 value_type: S_WORD unit_of_measurement: "°C" device_class: temperature state_class: measurement accuracy_decimals: 1 filters: - multiply: 0.1 - name: "Marstek Battery Charge Voltage Limit" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35110 value_type: U_WORD unit_of_measurement: "V" device_class: voltage accuracy_decimals: 0 state_class: measurement filters: - multiply: 0.01 skip_updates: 6 # 30 seconds - name: "Marstek Battery Charge Current Limit" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35111 value_type: S_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 0 state_class: measurement filters: - multiply: 0.01 skip_updates: 6 # 30 seconds - name: "Marstek Battery Discharge Current Limit" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 35112 value_type: S_WORD unit_of_measurement: "A" device_class: current accuracy_decimals: 0 state_class: measurement filters: - multiply: 0.01 skip_updates: 6 # 30 seconds - platform: wifi_signal name: "WiFi Signal Strength" id: wifi_strength update_interval: 30s # An internal sensor to check Modbus communication status. - platform: modbus_controller modbus_controller_id: marstek_venus name: "Modbus Status" id: modbus_status register_type: holding address: 32104 # Using the Battery SOC register as a reference value_type: U_WORD internal: true # Instellingen en modi (Select en Number) select: - name: "Marstek RS485 Control Mode" icon: mdi:swap-horizontal platform: modbus_controller modbus_controller_id: marstek_venus address: 42000 value_type: U_WORD optionsmap: "enable": 21930 "disable": 21947 skip_updates: 2 # 10 seconds - name: "Marstek Forcible Charge/Discharge" platform: modbus_controller modbus_controller_id: marstek_venus address: 42010 value_type: U_WORD optionsmap: "stop": 0 "charge": 1 "discharge": 2 skip_updates: 2 # 10 seconds - name: "Marstek Backup Function" platform: modbus_controller modbus_controller_id: marstek_venus address: 41200 value_type: U_WORD optionsmap: "enable": 0 "disable": 1 skip_updates: 2 # 10 seconds - name: "Marstek User Work Mode" icon: mdi:auto-mode platform: modbus_controller modbus_controller_id: marstek_venus address: 43000 value_type: U_WORD optionsmap: "manual": 0 "anti-feed": 1 "ai": 2 skip_updates: 2 # 10 seconds number: - name: "Marstek Forcible Charge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 42020 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds - name: "Marstek Charge To SOC" icon: mdi:battery-charging-medium mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 42011 value_type: U_WORD unit_of_measurement: "%" min_value: 12 max_value: 100 step: 1 - name: "Marstek Forcible Discharge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 42021 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds - name: "Marstek Charging Cutoff Capacity" icon: mdi:battery-90 platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44000 value_type: U_WORD unit_of_measurement: "%" min_value: 80 max_value: 100 multiply: 10 skip_updates: 6 # 30 seconds - name: "Marstek Discharging Cutoff Capacity" icon: mdi:battery-10 platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44001 value_type: U_WORD unit_of_measurement: "%" min_value: 12 max_value: 30 multiply: 10 skip_updates: 6 # 30 seconds - name: "Marstek Max. Charge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44002 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds - name: "Marstek Max. Discharge Power" icon: mdi:tune-variant mode: box platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 44003 value_type: U_WORD unit_of_measurement: "W" min_value: 0 max_value: 2500 step: 1 skip_updates: 2 # 10 seconds ############################################################################### # LED ############################################################################### light: - platform: neopixelbus type: GRB variant: WS2812 pin: GPIO4 num_leds: 1 name: "Status LED" id: status_led interval: - interval: 5s then: - lambda: |- ESP_LOGD("status", "Modbus: %.0f, WiFi: %.0f", id(modbus_status).state, id(wifi_strength).state); - if: condition: lambda: |- return !isnan(id(modbus_status).state) && id(wifi_strength).state > -70; then: - light.turn_on: id: status_led red: 0% green: 100% # 🟢 Green = Modbus OK & WiFi strong blue: 0% else: - if: condition: lambda: |- return isnan(id(modbus_status).state) && id(wifi_strength).state < -85; then: - light.turn_on: id: status_led red: 100% # 🟣 Purple = Both Modbus & WiFi failed green: 0% blue: 100% else: - if: condition: lambda: |- return id(wifi_strength).state < -80; then: - light.turn_on: id: status_led red: 0% green: 0% blue: 100% # 🔵 Blue = Weak WiFi signal (< -80 dBm) else: - light.turn_on: id: status_led red: 100% # 🔴 Red = Modbus error, WiFi OK green: 0% blue: 0%
Wat mij opvalt is dat er verschil zit in de sensor waarde aan de hand van de firmware versie, m.b.t. de capaciteit sensor vanuit de batterijen.
Ik heb twee batterijen met nu nog allebei een andere versie.
code:
1 2 3 4 5 6 7 8 9 10 11 12 - name: "Marstek Battery Total Energy" platform: modbus_controller modbus_controller_id: marstek_venus register_type: holding address: 32105 value_type: U_WORD unit_of_measurement: "kWh" accuracy_decimals: 2 filters: - multiply: 0.001 # Firmware 148: 0.001 / Firmware 147: 0.01 id: marstek_total_energy skip_updates: 60 # 5 minutes
Gezien bijna alle sensoren in de andere code `skip_updates: 5` had, lees ik hem om de 5 seconden uit i.p.v. iedere seconde je negeert 4 updates van de 5.
Net geleerd dat je Code ook als YAML kan weergeven:
Als je [code=yaml] gebruikt in je codeblocks dan worden ze geformatteerd als yaml.
En ik wacht nog even op antwoord van @Arjen S betreffende Modbus load reduction door kortere naamvoering.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
@arjan_s @Disksoft
Ik zie dat de vertraging voornamelijk optreed bij het aantal HZ
Deze is niet echt interessant om 3 cijfers achter de komma te weten.
Denk dat het slim is om deze gewoon niet mee te nemen.
Ik denk dat de controller van de Marstek te veel tijd nodig heeft om dit antwoord te bepalen.
AC Offgrid Power is een andere die opvalt, en alles offgrid zullen de meeste niet gebruiken dus die kunnen ####
Ik heb alle namen Marstek verwijderd en dat lijkt iets te helpen maar dan kom je in de problemen met bestaande dashboards en zo.
Naam van Modbus controller kan worden aangepast van marstek_venus naar mt of zo.
Maar ik denk dat bij een groot aantal items skip updates naar 300 (5 min) kan om de load op de MT processor te verlagen en te focussen op echte control items.
Ik zie dat de vertraging voornamelijk optreed bij het aantal HZ
Deze is niet echt interessant om 3 cijfers achter de komma te weten.
Denk dat het slim is om deze gewoon niet mee te nemen.
Ik denk dat de controller van de Marstek te veel tijd nodig heeft om dit antwoord te bepalen.
AC Offgrid Power is een andere die opvalt, en alles offgrid zullen de meeste niet gebruiken dus die kunnen ####
Ik heb alle namen Marstek verwijderd en dat lijkt iets te helpen maar dan kom je in de problemen met bestaande dashboards en zo.
Naam van Modbus controller kan worden aangepast van marstek_venus naar mt of zo.
Maar ik denk dat bij een groot aantal items skip updates naar 300 (5 min) kan om de load op de MT processor te verlagen en te focussen op echte control items.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Ik heb kortere namen geprobeerd maar ik zie geen verschil.
Het zijn bij mij ook altijd dezelfde sensoren waarbij die melding komt, wellicht reageert de Marstek gewoon langzamer bij die specifieke data opvragen.
Edit: @superduper1969, ik trok dezelfde conclusie
Het zijn bij mij ook altijd dezelfde sensoren waarbij die melding komt, wellicht reageert de Marstek gewoon langzamer bij die specifieke data opvragen.
Edit: @superduper1969, ik trok dezelfde conclusie
[ Voor 11% gewijzigd door Disksoft op 26-02-2025 22:12 ]
Ik heb zojuist een flash gedaan met webserver uit. Zie geen verschil blijf de twee gele regels houden.
Die zijn na de laatste bios update van vandaag frequenter geworden.
Nu weer terug met webserver aan en hetzelfde resultaat.
Heb nu de laatste code erin zitten @Disksoft
TNX!
Nw TS code erin blijf twee gele regels houden. @superduper1969
Weer de code van Disksoft erin, kan led niet uitzetten
Die zijn na de laatste bios update van vandaag frequenter geworden.
Nu weer terug met webserver aan en hetzelfde resultaat.
Heb nu de laatste code erin zitten @Disksoft
TNX!
Nw TS code erin blijf twee gele regels houden. @superduper1969
Weer de code van Disksoft erin, kan led niet uitzetten
[ Voor 18% gewijzigd door SatScan op 26-02-2025 23:02 ]
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Startpost aangepast:
Laatste wijziging: 26-2-205
Aangepaste code van @Disksoft en @Arjen S , orgineel van @scruysberghs
- Led functie Wifi indicatie
- Een paar namen aangepast voor hopelijk snellere code
- Berekening Remaining
- HZ verwijderd
- Offgrid op niet actief
- Meer timers naar 5 minuten voor offloading Marstek processor
Laatste wijziging: 26-2-205
Aangepaste code van @Disksoft en @Arjen S , orgineel van @scruysberghs
- Led functie Wifi indicatie
- Een paar namen aangepast voor hopelijk snellere code
- Berekening Remaining
- HZ verwijderd
- Offgrid op niet actief
- Meer timers naar 5 minuten voor offloading Marstek processor
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Dat us compleet andersHorla schreef op woensdag 26 februari 2025 @ 16:39:
[...]
hmm, als ik goed inzoom zie ik inderdaad vreemde kronkels:
[Afbeelding]
Bij mij elke 30min bij jou hele korte stukjes ?
Ik heb alle updates en jij?
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Ik heb de laatste updates niet gedaan omdat bij mij hij probleemloos NOM draait en "if it ain't broke don't fix it".Maxwp schreef op woensdag 26 februari 2025 @ 23:14:
[...]
Dat us compleet anders
Bij mij elke 30min bij jou hele korte stukjes ?
Ik heb alle updates en jij?

Ik heb bij mij de led helderheid op 30% gezet. Ik vind ze nogal helder op de standaard setting (100%)superduper1969 schreef op woensdag 26 februari 2025 @ 22:42:
Startpost aangepast:
Laatste wijziging: 26-2-205
Aangepaste code van @Disksoft en @Arjen S , orgineel van @scruysberghs
- Led functie Wifi indicatie
- Een paar namen aangepast voor hopelijk snellere code
- Berekening Remaining
- HZ verwijderd
- Offgrid op niet actief
- Meer timers naar 5 minuten voor offloading Marstek processor
Gewoon bij elke kleur de brightness optie toevoegen.
YAML:
1
2
3
4
5
6
| - light.turn_on: id: status_led brightness: 30% red: 0% green: 100% # 🟢 Green = Modbus OK & WiFi strong blue: 0% |
Met die kortere namen werkte het voor mij goed. Maar ik heb nu ook even getest met de gehele code die je hebt geplaatst om op hetzelfde spoor te blijven in dit topic.superduper1969 schreef op woensdag 26 februari 2025 @ 21:36:
[...]
Top, blij met alle ontwikkelingen.
Net geleerd dat je Code ook als YAML kan weergeven:
Als je [code=yaml] gebruikt in je codeblocks dan worden ze geformatteerd als yaml.
En ik wacht nog even op antwoord van @Arjen S betreffende Modbus load reduction door kortere naamvoering.
Ik kreeg toen weer die melding dat het lang duurt, niet dat het niet lukt maar dat wisten we al.
Hij vind 54ms teveel want het zou max 30ms moeten zijn. Wat is een miliseconde meer of minder denk ik dan, maar ik ben ook geen ESP. Voor de lol twee sensoren geblokt namelijk de: Marstek Max. Charge Power en de Marstek Max. DisCharge Power. Wat denk je wat? ook met lange namen draait alles zonder die vertragingsmelding. Wat ik voor mekaar probeer te krijgen is dat een aantal sensoren niet meedraaien in de loop dus ook niet om de zoveel cyclus (skip_updates) en ze alleen een nieuwe waarde te geven vanuit HA. maar dat krijg ik nog niet voor elkaar. Ik loop er tegenaan dat ik dit niet kan vervangen door "update_interval: never"
Naar mijn idee moet je proberen de communicatie tussen de Marstek en de Lilygo zoveel mogelijk te beperken en alleen het hoog nodige in een loop te gooien. ook teveel kletsen naar je Home Assitant server over WIFI is ook niet wenselijk. Topsnelheid is ook pas echt nodig als je ook gaat aansturen via HA met automatiseringen wat niet echt een must is.
Leuk die Ledjes aansturing, jammer dat ik een dicht kastje heb ge3Dprint
Bij mij was de plaats van de melding wel verschoven naar een andere plek in het log toen ik de laatste volledige code had getest (zie mijn vorige post), maar wel ook weer consequent tussen dezelfde regels in.Disksoft schreef op woensdag 26 februari 2025 @ 22:11:
Ik heb kortere namen geprobeerd maar ik zie geen verschil.
Het zijn bij mij ook altijd dezelfde sensoren waarbij die melding komt, wellicht reageert de Marstek gewoon langzamer bij die specifieke data opvragen.
Edit: @superduper1969, ik trok dezelfde conclusie
Geen idee wat het zegt, wel dat er ergens iets niet al te snel door het BUSje heen wil.
Is Responstijd van de MT voor sommige items, maar aangezien de waardes wel aankomen en verwerkt worden stoor ik me er niet aan.Arjen S schreef op donderdag 27 februari 2025 @ 13:26:
[...]
Bij mij was de plaats van de melding wel verschoven naar een andere plek in het log toen ik de laatste volledige code had getest (zie mijn vorige post), maar wel ook weer consequent tussen dezelfde regels in.
Geen idee wat het zegt, wel dat er ergens iets niet al te snel door het BUSje heen wil.
Die response time zal belangrijker worden als meerdere apparaten gekoppeld staan.
Modbus mag max 247 devices.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Ik stoor mij er ook niet aan, maar het is wel leuk om het op te lossen. Blijft wel de vraag, waarom heb ik die meldingen niet meer? Ik denk dat de treshold voor die melding wel op 50ms zal liggen en dat hij bij mij door minimale wijzigingen dat net niet meer haalt en dus geen melding genereert.superduper1969 schreef op donderdag 27 februari 2025 @ 13:32:
[...]
Is Responstijd van de MT voor sommige items, maar aangezien de waardes wel aankomen en verwerkt worden stoor ik me er niet aan.
Die response time zal belangrijker worden als meerdere apparaten gekoppeld staan.
Modbus mag max 247 devices.
Het mooiste word het natuurlijk als we eens een API voor HA gaan krijgen maar dan valt er niks meer te sleutelen natuurlijk
Mischien afhankelijk van deze timings?Arjen S schreef op donderdag 27 februari 2025 @ 13:43:
[...]
Ik stoor mij er ook niet aan, maar het is wel leuk om het op te lossen. Blijft wel de vraag, waarom heb ik die meldingen niet meer? Ik denk dat de treshold voor die melding wel op 50ms zal liggen en dat hij bij mij door minimale wijzigingen dat net niet meer haalt en dus geen melding genereert.
Het mooiste word het natuurlijk als we eens een API voor HA gaan krijgen maar dan valt er niks meer te sleutelen natuurlijk
modbus:
- uart_id: mod_bus
id: modbus1
send_wait_time: 200ms
modbus_controller:
- id: mt
address: 0x1
modbus_id: modbus1
command_throttle: 200ms
update_interval: 5s
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Mijn Venus-control project begint vorm te krijgen. Het bestaat uit een stand-alone controller met een ESP32-S3 CPU en een ModBus interface.
De controller vervangt de in de Venus aanwezige NOM sturing. Van de controller wordt een printje gemaakt dat aansluit op de 6-polige connector van de ModBus aansluiting. De voeding voor de print wordt verzorgd door dezelfde connector. Er is dus geen aparte voeding nodig.
De controller kan in principe werken met elke P1-dongle die via WiFi te benaderen is. Getest is met een "P1-dongle-pro" van smartstuff.nl.
Hieronder een grafiek van de eerste resultaten. Er zijn flinke pieken van de wasmachine, maar er was een aardig zonnetje.
Het project en de documentatie is hier te zien.
De controller vervangt de in de Venus aanwezige NOM sturing. Van de controller wordt een printje gemaakt dat aansluit op de 6-polige connector van de ModBus aansluiting. De voeding voor de print wordt verzorgd door dezelfde connector. Er is dus geen aparte voeding nodig.
De controller kan in principe werken met elke P1-dongle die via WiFi te benaderen is. Getest is met een "P1-dongle-pro" van smartstuff.nl.
Hieronder een grafiek van de eerste resultaten. Er zijn flinke pieken van de wasmachine, maar er was een aardig zonnetje.
Het project en de documentatie is hier te zien.
/f/image/VFASBMusHDQRWJTSbOoTrx1G.png?f=fotoalbum_large)
er is een update geweest specifiek voor de bmsHorla schreef op donderdag 27 februari 2025 @ 09:46:
[...]
Ik heb de laatste updates niet gedaan omdat bij mij hij probleemloos NOM draait en "if it ain't broke don't fix it".
weet niet wat daar in is veranderd maar lijkt me wel niet onbelanrgujk als ze denken dat het beter is het anders te doen die update te draaien
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Toevallig ben ik vandaag wat vroeger thuis dus ik ben bezig met de update naar v212. Marstek app blijft precies hangen maar modbus is al terug online en batterij is NOM aan het draaienMaxwp schreef op donderdag 27 februari 2025 @ 15:39:
[...]
er is een update geweest specifiek voor de bms
weet niet wat daar in is veranderd maar lijkt me wel niet onbelanrgujk als ze denken dat het beter is het anders te doen die update te draaien
LETOP
ik heb net de update gedaan naar v148.212
nar de update begon de unit te buzzen
aan en uit zetten ging het kort weg maar kwam binne paar sec weer terug
ik heb hem nu uitgezet en ga marstek een melding sturen
edit
ben benieuwd wie dit nog meer heeft
mijn accu was wel 100% dus geen idee of het bms iets aan het doen was zag op de modbus dat hij -18 watt was inplaats van de -40 wat ik normaal had
de update duurde bij mij deze keer ook erg lang in tegenstelling tot andere keren wat of een trage verbinding was of het was een grote update.
ik heb net de update gedaan naar v148.212
nar de update begon de unit te buzzen
aan en uit zetten ging het kort weg maar kwam binne paar sec weer terug
ik heb hem nu uitgezet en ga marstek een melding sturen
edit
ben benieuwd wie dit nog meer heeft
mijn accu was wel 100% dus geen idee of het bms iets aan het doen was zag op de modbus dat hij -18 watt was inplaats van de -40 wat ik normaal had
de update duurde bij mij deze keer ook erg lang in tegenstelling tot andere keren wat of een trage verbinding was of het was een grote update.
[ Voor 44% gewijzigd door Maxwp op 27-02-2025 16:26 ]
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden
Die van mij maakt geen lawaai, ik ben zojuist eens gaan horen.
edit:
Die van mij maakt geen lawaai, ik ben zojuist eens gaan horen.
edit:
Ik heb wel de app na een paar minuten geforceerd gesloten want die kwam er niet meer door. Gelukkig kon ik op de modbus connectie zien dat hij opgestart was en deed wat hij moest doen. Nog eens daarvoor bedankt @superduper1969 en anderen.Maxwp schreef op donderdag 27 februari 2025 @ 16:06:
de update duurde bij mij deze keer ook erg lang in tegenstelling tot andere keren wat of een trage verbinding was of het was een grote update.
[ Voor 90% gewijzigd door Horla op 27-02-2025 16:30 ]
ik had deze nog niet gedaan jij attendeerde me eropHorla schreef op donderdag 27 februari 2025 @ 16:26:
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden
in de tussentijd is er weer een update uitgebracht blijkbaar
iik had 147.212 het is nu 148.212 dus de bms ( volgens mij is dat de 212 ) lijkt het zelfde maar de firmware zelf is geupdate lijkt het
[ Voor 27% gewijzigd door Maxwp op 27-02-2025 16:28 ]
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
is de jouwe op 100%?Horla schreef op donderdag 27 februari 2025 @ 16:26:
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden![]()
Die van mij maakt geen lawaai, ik ben zojuist eens gaan horen.
je had wel of geen modbus?
het is een buzzing gelijk net als een oude voeding van iets wat beetje aan het eind evan zijn leven is en wat begint te buzzen denk met wat meer omgevings lawaai je het niet gaat horen
[ Voor 22% gewijzigd door Maxwp op 27-02-2025 16:30 ]
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
bij mij geen problemen hij ging naar 100% en de unit herstarte zich ( ik stond er wel bij dus de app boeide me niet zo )Horla schreef op donderdag 27 februari 2025 @ 16:26:
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden![]()
Die van mij maakt geen lawaai, ik ben zojuist eens gaan horen.
edit:
[...]
Ik heb wel de app na een paar minuten geforceerd gesloten want die kwam er niet meer door. Gelukkig kon ik op de modbus connectie zien dat hij opgestart was en deed wat hij moest doen. Nog eens daarvoor bedankt @superduper1969 en anderen.
waarna brommen.
[ Voor 4% gewijzigd door Maxwp op 27-02-2025 16:32 ]
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Batterij zat op ongeveer 40% (niet veel zon in België vandaag). Batterij staat in de berging waar enkel nog een diepvries staat. Nog eens gaan horen en ik merk niets.Maxwp schreef op donderdag 27 februari 2025 @ 16:29:
[...]
is de jouwe op 100%?
je had wel of geen modbus?
het is een buzzing gelijk net als een oude voeding van iets wat beetje aan het eind evan zijn leven is en wat begint te buzzen denk met wat meer omgevings lawaai je het niet gaat horen
ik denk dat het te maken heeft dat hij bij mij op 100% stond.Horla schreef op donderdag 27 februari 2025 @ 16:31:
[...]
Batterij zat op ongeveer 40% (niet veel zon in België vandaag). Batterij staat in de berging waar enkel nog een diepvries staat. Nog eens gaan horen en ik merk niets.
als zo de zon weg is ga ik eens aanzetten weer en kijken dan zal het wel weg gaan maar wat als hij omrgen weer op de 100% staat of iets anders bij helemaal ontladen te zijn
ik vertrouw het nu wel even niet meer zo
dit geluid hoort zeker zn nieuw app niet te maken
shit zit in het modbus topic dit is meer algemene melding
even daar melden dan
edit
btw top werk ook met het werkende krijgen van de LED
[ Voor 10% gewijzigd door Maxwp op 27-02-2025 18:10 ]
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Een vraagje aan de Belgen hier in dit topic:
Geven de digitale meters via P1 ook de hoogste kwartierpiek van de lopende maand door?
Geven de digitale meters via P1 ook de hoogste kwartierpiek van de lopende maand door?
B | VW ID.7 Tourer (77kWh) | SolarEdge SE3500H-BE 3.5kW - 4.86 Wp (18 Boviet BVM6610P-270 + Optimizers) 171° | Marstek Venus 5.12KWh gevraagd aan Paashaas | Home Assistant
Bij netbeheerder Fluvius gebruikt men sagemcom s211 en t211 digitale meters.Dolf_Tweakers schreef op donderdag 27 februari 2025 @ 22:48:
Een vraagje aan de Belgen hier in dit topic:
Geven de digitale meters via P1 ook de hoogste kwartierpiek van de lopende maand door?
Deze geven de afnamepiek van de huidige maand door: OBIS code 1.6.0
Zie ook:
https://www.fluvius.be/si...e-meter-elektriciteit.pdf
Loxone home automation - MT Venus - Shelly Pro 3EM - Unifi UDM Pro
Wat ik bedoel: wordt dit ook in de P1-informatie meegestuurd?
B | VW ID.7 Tourer (77kWh) | SolarEdge SE3500H-BE 3.5kW - 4.86 Wp (18 Boviet BVM6610P-270 + Optimizers) 171° | Marstek Venus 5.12KWh gevraagd aan Paashaas | Home Assistant
Iemand bekend met dit kastje? Lijkt mij wel interresant. RS485 naar rj45 ethernet.
:strip_exif()/f/image/7lo6DAQbkj3W2LKeFMdBOJAk.jpg?f=fotoalbum_large)
[ Voor 19% gewijzigd door Arjen S op 28-02-2025 12:45 ]
Waarom zou je die willen gebruiken als de Elwin er al is?Arjen S schreef op vrijdag 28 februari 2025 @ 12:41:
Iemand bekend met dit kastje? Lijkt mij wel interresant. RS485 naar rj45 ethernet. [Afbeelding]
Elwin was in de korte tijd dat ik hem actief gebruikt had super stabiel.
Nu moet je weer UTP kabels gaan leggen naar je Accu.
En Modbus is super low bandwidth.
Maar ik denk dat je de setup van de Elwin 1:1 hiermee kunt gebruiken.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Ja, wordt meegestuurd naar e P1 poort.Dolf_Tweakers schreef op vrijdag 28 februari 2025 @ 10:31:
Wat ik bedoel: wordt dit ook in de P1-informatie meegestuurd?
Loxone home automation - MT Venus - Shelly Pro 3EM - Unifi UDM Pro
Startpost aangepast, code staat nu op github daardoor het wat handelbaarder wordt.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Dat geeft opties om te "peakshaven" naar 2,5 kW en tegelijkertijd mijn zelfverbruik te optimaliseren.
Hopelijk gaan de merken die gehomologeerde toestellen gaan aanbieden hier in Vlaanderen ook hiermee rekening houden. Anders tweaken in de Modbus-koppeling.
B | VW ID.7 Tourer (77kWh) | SolarEdge SE3500H-BE 3.5kW - 4.86 Wp (18 Boviet BVM6610P-270 + Optimizers) 171° | Marstek Venus 5.12KWh gevraagd aan Paashaas | Home Assistant
Ik heb het liefst belangrijke apparatuur bedraad op mijn netwerk.superduper1969 schreef op vrijdag 28 februari 2025 @ 17:10:
[...]
Waarom zou je die willen gebruiken als de Elwin er al is?
Elwin was in de korte tijd dat ik hem actief gebruikt had super stabiel.
Nu moet je weer UTP kabels gaan leggen naar je Accu.
En Modbus is super low bandwidth.
Maar ik denk dat je de setup van de Elwin 1:1 hiermee kunt gebruiken.
Bedraad is nu eenmaal altijd stabieler en sneller, daarom lees ik de P1 meter ook uit met een kabel die rechtstreeks op mijn NUC Home Assistant server aangesloten zit.
Die LilyGo vind ik best handig om mijn Marstek mee in de gaten te houden, ook als ik niet thuis ben.
Ik blokkeer namelijk zoveel mogelijk internet applicaties waar servers aan hangen ergens in Verweggistan.
Als ik dan via de Modbus de Marstek zou willen aansturen dan weet ik niet zeker of dat met een draadloze LilyGo een goed idee is.
Ziet er trouwens netjes uit wat je op github hebt geplaatst.
Ik heb nog een vraagje over een sensor die je in de Yaml hebt staan "Marstek Battery Power" met adres 32102. Dit is een 32 bit register volgens de marstek documentatie. Moet hier niet de regel register_count: 2 bij?
Ik ben nog niet zo bekend met dit RS485 gebeuren dus mogelijk vraag ik iets doms
Ik ben er al een tijdje uit omdat in nu de Lilygo heb draaien.Arjen S schreef op vrijdag 28 februari 2025 @ 20:02:
[...]
Ik heb het liefst belangrijke apparatuur bedraad op mijn netwerk.
Bedraad is nu eenmaal altijd stabieler en sneller, daarom lees ik de P1 meter ook uit met een kabel die rechtstreeks op mijn NUC Home Assistant server aangesloten zit.
Die LilyGo vind ik best handig om mijn Marstek mee in de gaten te houden, ook als ik niet thuis ben.
Ik blokkeer namelijk zoveel mogelijk internet applicaties waar servers aan hangen ergens in Verweggistan.
Als ik dan via de Modbus de Marstek zou willen aansturen dan weet ik niet zeker of dat met een draadloze LilyGo een goed idee is.
Ziet er trouwens netjes uit wat je op github hebt geplaatst.
Ik heb nog een vraagje over een sensor die je in de Yaml hebt staan "Marstek Battery Power" met adres 32102. Dit is een 32 bit register volgens de marstek documentatie. Moet hier niet de regel register_count: 2 bij?
Ik ben nog niet zo bekend met dit RS485 gebeuren dus mogelijk vraag ik iets doms
Maar met data_type: int32 zeg je gewoon dat hij 2 registers uitleest.
Je kan nog even hier kijken https://github.com/scruysberghs/ha-marstek-venus
Hij heeft mijn eerste opzet veel verder uitgewerkt.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Dit lijkt me ook wel wat
Super klein en goedkoop
https://diysolarforum.com...er-battery-monitor.90937/
Super klein en goedkoop
https://diysolarforum.com...er-battery-monitor.90937/
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Zo te zien kan deze code als inspiratie dienen voor een nieuwe versie voor de Lilygo.Maxwp schreef op zaterdag 1 maart 2025 @ 04:44:
Dit lijkt me ook wel wat
Super klein en goedkoop
https://diysolarforum.com...er-battery-monitor.90937/
https://github.com/slipx0...ome-1P-Sunsynk-Deye.yaml?
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Idd ziet er zeer compleet en overzichtelijk uit. Helaas snap ik niet alles wat erin staatsuperduper1969 schreef op zaterdag 1 maart 2025 @ 08:13:
[...]
Zo te zien kan deze code als inspiratie dienen voor een nieuwe versie voor de Lilygo.
https://github.com/slipx0...ome-1P-Sunsynk-Deye.yaml?
Tot hoever kun je gaan qua belasting van de Lily, hoe snel is zo'n bordje?
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Efficiency grafiekje toch omgezet naar week, er ging best wel veel energie mee naar de volgende dag dus dat was behoorlijk onrustig.
:no_upscale():strip_icc():strip_exif()/f/image/5GodiVpdZH54r0wtgBFfiJ28.jpg?f=user_large)
:no_upscale():strip_icc():strip_exif()/f/image/5GodiVpdZH54r0wtgBFfiJ28.jpg?f=user_large)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
| type: custom:apexcharts-card header: title: Thuisbatterij Status - Laatste 7 Weken show: true graph_span: 7w yaxis: - id: first min: 0 decimals: 0 apex_config: null - id: second min: 0 max: 100 opposite: true decimals: 0 apex_config: tickAmount: 10 span: start: day offset: "-7w" series: - entity: sensor.my_battery_weekly_charging_in_kwh name: Lading (kWh) type: column color: "#FF4500" group_by: func: last duration: 1w show: in_header: true legend_value: true yaxis_id: first - entity: sensor.my_battery_weekly_discharging_in_kwh name: Ontlading (kWh) type: column color: "#CCD500" group_by: func: last duration: 1w show: in_header: true legend_value: true yaxis_id: first - entity: sensor.my_battery_efficiency_percentage name: RTE (percentage) type: column color: "#FFD700" group_by: func: last duration: 1w show: in_header: true legend_value: true yaxis_id: second apex_config: xaxis: title: text: Datum type: datetime plotOptions: bar: horizontal: false dataLabels: enabled: false stroke: show: true width: 2 tooltip: enabled: true shared: true grid: show: true |
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Een ESP kan zeer veel aan, als je een Ledstrip met honderden lampjes van kleur kan laten veranderen met WLED dan gaat dit ook wel, nu is het niet veel meer dan een doorgeefluik.SatScan schreef op zaterdag 1 maart 2025 @ 09:44:
[...]
Idd ziet er zeer compleet en overzichtelijk uit. Helaas snap ik niet alles wat erin staat![]()
Tot hoever kun je gaan qua belasting van de Lily, hoe snel is zo'n bordje?
Ik heb de code even doorgenomen.
- De Marstek Weekly Energy , Monthly Energy klopten voor geen meter dus die berekende ik in een HA sensor. (Ik heb nog niet gekeken of FW updates hier verandering in geven)
Hier kunnen ze het berekenen het in de ESP, maar dat is alleen het verschuiven van de berekening.
- Time Sync is niet nodig
- Je kunt ook de timers programmeren maar vanuit de app vind ik makkelijker en het bied niet veel extra functionaliteit als je toch een eigen variant van de AI wil maken.
En die Sunsynk heeft veel meer sensoren omdat het ook voor Solar is, dus daarom is de code zo lang.
De SunSync heeft zelf wel een mooi klokschema zodat je kan bepalen wat er gebeurt op welk moment.
Dus van 00:00 tot 10:00 NOM
Van 10:00 tot 12:00 forced Charge enzovoort.
MT klokschema mist dit dus ga ik aanvragen.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Gebruikt er ook iemand een lagere baud rate dan 115200 op de Modbus? Is het überhaupt instelbaar? En zou 9600 werkbaar zijn?
Ik wil (bij mijn Jupiter-E) graag een externe (MID) meter erbij zetten, op dezelfde bus. Maar die gaat slechts tot 9600 bit/s..
Ik wil (bij mijn Jupiter-E) graag een externe (MID) meter erbij zetten, op dezelfde bus. Maar die gaat slechts tot 9600 bit/s..
zitten bij de laatse code ook de bms waarschuwingen? dus naast temp en low of high voltage cut ook nog een algemen BMS fail of zo?
of bestaat die niet
EN weet iemand al of de cel volatges uit te lezen zijn de bms zou dit moeten weten ivm werking van het bms dus zou deze ook op de modbus zichtbaar moeten zijn?
of bestaat die niet
EN weet iemand al of de cel volatges uit te lezen zijn de bms zou dit moeten weten ivm werking van het bms dus zou deze ook op de modbus zichtbaar moeten zijn?
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
In de documentatie wordt het een en ander beschreven maar niet hoe uit te lezen.Maxwp schreef op zondag 2 maart 2025 @ 19:26:
zitten bij de laatse code ook de bms waarschuwingen? dus naast temp en low of high voltage cut ook nog een algemen BMS fail of zo?
of bestaat die niet
EN weet iemand al of de cel volatges uit te lezen zijn de bms zou dit moeten weten ivm werking van het bms dus zou deze ook op de modbus zichtbaar moeten zijn?
Volgens mij is dat niet vrijgegeven.
Codes 40x etc...
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Is niet instelbaar dus niet te mixen.Gwaihir schreef op zondag 2 maart 2025 @ 17:17:
Gebruikt er ook iemand een lagere baud rate dan 115200 op de Modbus? Is het überhaupt instelbaar? En zou 9600 werkbaar zijn?
Ik wil (bij mijn Jupiter-E) graag een externe (MID) meter erbij zetten, op dezelfde bus. Maar die gaat slechts tot 9600 bit/s..
Gelukkig is een 2e Liligo niet duur.
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Hier zie je wat uit te lezen is:Maxwp schreef op zondag 2 maart 2025 @ 19:26:
zitten bij de laatse code ook de bms waarschuwingen? dus naast temp en low of high voltage cut ook nog een algemen BMS fail of zo?
of bestaat die niet
EN weet iemand al of de cel volatges uit te lezen zijn de bms zou dit moeten weten ivm werking van het bms dus zou deze ook op de modbus zichtbaar moeten zijn?
https://duravolt.nl/wp-co...lug-in-Battery-Modbus.pdf
Een aantal binaire sensoren zit er al in, de rest zou ook niet moeilijk zijn maar nog geen tijd voorgenomen..
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| # Binaire sensoren binary_sensor: - platform: modbus_controller name: "Marstek Battery Protection Active" modbus_controller_id: mt register_type: holding address: 44001 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Overvoltage Warning" modbus_controller_id: mt register_type: holding address: 44002 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Undervoltage Warning" modbus_controller_id: mt register_type: holding address: 44003 bitmask: 0x04 skip_updates: 6 # 30 seconds |
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Dank voor de heldere info.superduper1969 schreef op maandag 3 maart 2025 @ 09:59:
Is niet instelbaar dus niet te mixen.
Gelukkig is een 2e Liligo niet duur.
Wat ik op 't oog heb kan ook 'dubbel' geleverd worden, voor inderdaad slechts ca. +15 euro.
https://www.amazon.nl/dp/B0CB8LXQFH
Vind het niet meteen een logische keuze, trouwens, want die hoge snelheid wordt weinig gebruikt omdat hij doorgaans niet nodig maar wel storingsgevoelig is.
ik zie wat staan op pagina 5superduper1969 schreef op maandag 3 maart 2025 @ 10:06:
[...]
Hier zie je wat uit te lezen is:
https://duravolt.nl/wp-co...lug-in-Battery-Modbus.pdf
Een aantal binaire sensoren zit er al in, de rest zou ook niet moeilijk zijn maar nog geen tijd voorgenomen..
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # Binaire sensoren binary_sensor: - platform: modbus_controller name: "Marstek Battery Protection Active" modbus_controller_id: mt register_type: holding address: 44001 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Overvoltage Warning" modbus_controller_id: mt register_type: holding address: 44002 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Undervoltage Warning" modbus_controller_id: mt register_type: holding address: 44003 bitmask: 0x04 skip_updates: 6 # 30 seconds
44001 eyc zoals hier boven vermeld staan in die pdf toch als cuttoff e.d. niet voltage warnings?
max charge etc?
klopt de pdf niet of de data hierboven?
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Ik heb de Lilygo ondertussen ook geflashed met de firmware. Wat mij opviel is dat het "captive portal" ontbreekt bij de fallback AP waardoor het niet mogelijk is om een wifi netwerk aan te duiden en het pw op te geven moest connectie met het standaard wifi netwerk mislukken. De code moet als volgt worden aangepast:
[code]
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Lilygo-Rs485 Fallback Hotspot"
password: "GBDjgqkttbFLa93eFCaj"
captive_portal:
# Enable web server
web_server:
port: 80
version: 3
[code]
Tenslotte nog een vraagje met betrekking tot modbus adres 44001: als hier pakweg 15 in weggeschreven wordt, blijft de batterij dan steeds boven 15% SOC? Wil dit zeggen dat met een dergelijke setting de backup-poort steeds onder spanning zal blijven, ook als de batterij (bijna) leeg is?
Kan iemand dit even proberen, gezien ik nog geen batterij heb
[code]
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Lilygo-Rs485 Fallback Hotspot"
password: "GBDjgqkttbFLa93eFCaj"
captive_portal:
# Enable web server
web_server:
port: 80
version: 3
[code]
Tenslotte nog een vraagje met betrekking tot modbus adres 44001: als hier pakweg 15 in weggeschreven wordt, blijft de batterij dan steeds boven 15% SOC? Wil dit zeggen dat met een dergelijke setting de backup-poort steeds onder spanning zal blijven, ook als de batterij (bijna) leeg is?
Kan iemand dit even proberen, gezien ik nog geen batterij heb

nee het is zelfs zo als je hem op 30 % zet hij ook dan uit zal gaanWitteVerf schreef op maandag 3 maart 2025 @ 16:39:
Ik heb de Lilygo ondertussen ook geflashed met de firmware. Wat mij opviel is dat het "captive portal" ontbreekt bij de fallback AP waardoor het niet mogelijk is om een wifi netwerk aan te duiden en het pw op te geven moest connectie met het standaard wifi netwerk mislukken. De code moet als volgt worden aangepast:
[code]
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Lilygo-Rs485 Fallback Hotspot"
password: "GBDjgqkttbFLa93eFCaj"
captive_portal:
# Enable web server
web_server:
port: 80
version: 3
[code]
Tenslotte nog een vraagje met betrekking tot modbus adres 44001: als hier pakweg 15 in weggeschreven wordt, blijft de batterij dan steeds boven 15% SOC? Wil dit zeggen dat met een dergelijke setting de backup-poort steeds onder spanning zal blijven, ook als de batterij (bijna) leeg is?
Kan iemand dit even proberen, gezien ik nog geen batterij heb
het is gewoon het "afslag" moment met een minumum vn 11
mmm
ik krihg hier net boven gezegd dat 44001 wat anders is
superduper1969 schreef op maandag 3 maart 2025 @ 10:06:
[...]
Hier zie je wat uit te lezen is:
https://duravolt.nl/wp-co...lug-in-Battery-Modbus.pdf
Een aantal binaire sensoren zit er al in, de rest zou ook niet moeilijk zijn maar nog geen tijd voorgenomen..
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 # Binaire sensoren binary_sensor: - platform: modbus_controller name: "Marstek Battery Protection Active" modbus_controller_id: mt register_type: holding address: 44001 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Overvoltage Warning" modbus_controller_id: mt register_type: holding address: 44002 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Battery Undervoltage Warning" modbus_controller_id: mt register_type: holding address: 44003 bitmask: 0x04 skip_updates: 6 # 30 seconds
[ Voor 30% gewijzigd door Maxwp op 03-03-2025 17:41 ]
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Heb je dat getest of is dat een veronderstelling?Maxwp schreef op maandag 3 maart 2025 @ 17:40:
[...]
nee het is zelfs zo als je hem op 30 % zet hij ook dan uit zal gaan
het is gewoon het "afslag" moment met een minumum vn 11
mmm
ik krihg hier net boven gezegd dat 44001 wat anders is
[...]
dat werkt zo omdat ik het zo heb zien werken ;-)WitteVerf schreef op maandag 3 maart 2025 @ 17:54:
[...]
Heb je dat getest of is dat een veronderstelling?
.nl / Thuisaccu 5.12kwh ( Venus E V151, CT003( net niet ) met V114 of shelly gaat wel , digitale meter ESMR5 ) / Hoymiles solar en nu marstek nr2 gen 2? per april 2025
Wat is het gedrag van de batterij als je bv 15% schrijft in adres 42011? Gaat hij dan laden naar 15% en ontladen hij daarna terug of blijft hij staan op 15%?Maxwp schreef op maandag 3 maart 2025 @ 18:00:
[...]
dat werkt zo omdat ik het zo heb zien werken ;-)
Ik ben sinds kort begonnen met HA en het lijkt mij een hele uitdaging om de informatie van mijn Marstek batterij in HA in te lezen maar gezien de uitgebreide openingsbericht in dit forum durfde ik het aan.
Dus de Elwin en connector besteld.
Vandaag binnen gekregen en als beginner lijkt mij de eerste stappen al een uitdaging maar stap 12 het plaatsen van de firmware via USB snap ik helemaal niet. Ik neem aan dat de firmware gegenereerd met ESP op de Elwin moet komen. Maar die heeft geen USB aansluiting.
Dus hier maak ik een denk fout.
Wie kan mij het uitleggen?
Dus de Elwin en connector besteld.
Vandaag binnen gekregen en als beginner lijkt mij de eerste stappen al een uitdaging maar stap 12 het plaatsen van de firmware via USB snap ik helemaal niet. Ik neem aan dat de firmware gegenereerd met ESP op de Elwin moet komen. Maar die heeft geen USB aansluiting.
Dus hier maak ik een denk fout.
Wie kan mij het uitleggen?
MT Venus V151, CT003 V114, ISKRA AM550
Hi, In de startpost er zijn 2 methoden beschreven, beide dezelfde mogelijkheden.Ronald_61 schreef op maandag 3 maart 2025 @ 21:37:
Ik ben sinds kort begonnen met HA en het lijkt mij een hele uitdaging om de informatie van mijn Marstek batterij in HA in te lezen maar gezien de uitgebreide openingsbericht in dit forum durfde ik het aan.
Dus de Elwin en connector besteld.
Vandaag binnen gekregen en als beginner lijkt mij de eerste stappen al een uitdaging maar stap 12 het plaatsen van de firmware via USB snap ik helemaal niet. Ik neem aan dat de firmware gegenereerd met ESP op de Elwin moet komen. Maar die heeft geen USB aansluiting.
Dus hier maak ik een denk fout.
Wie kan mij het uitleggen?
De bovenste is voor de Lilygo de onderste voor de Elfin.
Na Stap 15 voor de Lilygo start de uitleg voor de Elfin (Na de Grijze balk)
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Bedankt.superduper1969 schreef op maandag 3 maart 2025 @ 22:01:
[...]
Hi, In de startpost er zijn 2 methoden beschreven, beide dezelfde mogelijkheden.
De bovenste is voor de Lilygo de onderste voor de Elfin.
Na Stap 15 voor de Lilygo start de uitleg voor de Elfin (Na de Grijze balk)
Ik was er even vanuit gegaan dat ik het eerste gedeelte ook moest doen. Niet dus ik had beter moeten lezen maar je antwoordt heeft mij verder geholpen.
MT Venus V151, CT003 V114, ISKRA AM550
Hi,Maxwp schreef op maandag 3 maart 2025 @ 15:50:
[...]
ik zie wat staan op pagina 5
44001 eyc zoals hier boven vermeld staan in die pdf toch als cuttoff e.d. niet voltage warnings?
max charge etc?
klopt de pdf niet of de data hierboven?
Is inderdaad een foutje in geslopen.
Ik heb nu een hele berg Binary Sensors toegevoegd, maar nog niet alle.
Staan ook verwerkt in Github.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
| binary_sensor: - platform: modbus_controller name: "Marstek PLL Abnormal Restart" modbus_controller_id: mt register_type: holding address: 36000 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Overtemperature Limit" modbus_controller_id: mt register_type: holding address: 36000 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Low Temperature Limit" modbus_controller_id: mt register_type: holding address: 36000 bitmask: 0x04 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Fan Abnormal Warning" modbus_controller_id: mt register_type: holding address: 36000 bitmask: 0x08 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Low Battery SOC Warning" modbus_controller_id: mt register_type: holding address: 36000 bitmask: 0x16 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Output Overcurrent Warning" modbus_controller_id: mt register_type: holding address: 36000 bitmask: 0x32 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Abnormal Line Sequence Detection" modbus_controller_id: mt register_type: holding address: 36000 bitmask: 0x64 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Wifi Abnormal" modbus_controller_id: mt register_type: holding address: 36001 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek BLE abnormal" modbus_controller_id: mt register_type: holding address: 36001 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Network abnormal" modbus_controller_id: mt register_type: holding address: 36001 bitmask: 0x04 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek CT connection abnormal" modbus_controller_id: mt register_type: holding address: 36001 bitmask: 0x08 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Grid overvoltage" modbus_controller_id: mt register_type: holding address: 36100 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Grid undervoltage" modbus_controller_id: mt register_type: holding address: 36100 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Grid overfrequency" modbus_controller_id: mt register_type: holding address: 36100 bitmask: 0x04 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Grid underfrequency" modbus_controller_id: mt register_type: holding address: 36100 bitmask: 0x08 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Grid peak voltage abnormal" modbus_controller_id: mt register_type: holding address: 36100 bitmask: 0x16 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Current Dcover" modbus_controller_id: mt register_type: holding address: 36100 bitmask: 0x32 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek Voltage Dcover" modbus_controller_id: mt register_type: holding address: 36100 bitmask: 0x64 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek BAT overvoltage" modbus_controller_id: mt register_type: holding address: 36101 bitmask: 0x01 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek BAT undervoltage" modbus_controller_id: mt register_type: holding address: 36101 bitmask: 0x02 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek BAT overcurrent" modbus_controller_id: mt register_type: holding address: 36101 bitmask: 0x04 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek BAT low SOC" modbus_controller_id: mt register_type: holding address: 36101 bitmask: 0x08 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek BAT communication failure" modbus_controller_id: mt register_type: holding address: 36101 bitmask: 0x16 skip_updates: 6 # 30 seconds - platform: modbus_controller name: "Marstek BMS protect" modbus_controller_id: mt register_type: holding address: 36101 bitmask: 0x32 skip_updates: 6 # 30 seconds - platform: status name: "WiFi Status" id: wifi_status |
Als je ze daarna wil toevoegen aan HA moet je zoeken op Marstek en alles met een O selecteren:
:strip_exif()/f/image/a3zb1t4xqa9KfHpuUEubAsk5.jpg?f=fotoalbum_large)
[ Voor 106% gewijzigd door superduper1969 op 03-03-2025 23:15 ]
MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt
Ondertussen erin gezet! Top, dank je wel!
Werkt prima, heb dezelfde long time meldingen als ervoor.. dus das goed... ;-)
proof...
Werkt prima, heb dezelfde long time meldingen als ervoor.. dus das goed... ;-)
proof...
/f/image/sQq4v5uMJLton7sdTkbZzb0m.png?f=fotoalbum_large)
[ Voor 57% gewijzigd door SatScan op 04-03-2025 09:33 ]
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Thanks, omdat ik lui ben even een shell scriptje gemaakt die dit download en ip wijzigt:8: Kopieer uit Github: marstek_venus_battery_control.yaml
https://github.com/Superduper1969/MarstekVenus-ElfinEW11
Maak een map packages (zonder hoofdletter) en plaats de marstek_venus_battery_control.yaml erin.
Pas je configuration.yaml aan zodat packages geladen wordt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| #!/bin/sh # Standaard IP-adres DEFAULT_IP="192.168.1.5" #Maak correcte ip of geef ip door als eerste parameter in sh commando # Gebruik command-line argument als het bestaat, anders gebruik DEFAULT_IP IP_ADDRESS=${1:-$DEFAULT_IP} # Correcte URL voor raw YAML-bestand url="https://raw.githubusercontent.com/Superduper1969/MarstekVenus-ElfinEW11/main/marstek_venus_battery_control.yaml" filename="marstek_battery_control.yaml" # Download het bestand curl -s -o "$filename" "$url" # Controleer of het bestand correct is gedownload if [ ! -s "$filename" ]; then echo "❌ Fout: Het bestand is niet correct gedownload!" exit 1 fi # Fix Windows line-endings als die aanwezig zijn sed -i 's/\r$//' "$filename" # Verwijder bestaande 'host:' regels, ongeacht de inspringing sed -i '/^[[:space:]]*host:/d' "$filename" # Haal de inspringing van 'type: tcp' op indentation=$(grep "^[[:space:]]*type: tcp" "$filename" | sed -E 's/^( *).*/\1/') # Controleer of inspringing correct is opgehaald if [ -z "$indentation" ]; then echo "❌ Fout: 'type: tcp' niet gevonden in het bestand!" exit 1 fi # Gebruik awk om de host-regel correct toe te voegen met de juiste inspringing awk -v indent="$indentation" -v ip="$IP_ADDRESS" '/^[[:space:]]*type: tcp/ {print; print indent "host: " ip; next} 1' "$filename" > temp.yml && mv temp.yml "$filena> |
[ Voor 25% gewijzigd door limwand op 07-03-2025 13:19 ]
DE/ONT-CLOUDING proof?
Als ik koppeling klaar heb met modbus en lokaal lopende via eigen netwerk, kan ik dan ook instellen dat ik losgekoppeld ben van de cloud betreffende Marstek???
voordelen:
- als er handelsoorlog ontstaat kunnen servers uitgezet worden en ligt je accu stil of op een andere manier word je accu uitgezet.
- als marstek failliet gaat en geen ondersteuning meer biedt dan werkt het nog.
Klopt dit wat ik zeg...?In Duitsland wordt hier veel meer naar gekeken. Hier hoor je dit onderwerp nauwelijks.
Als ik koppeling klaar heb met modbus en lokaal lopende via eigen netwerk, kan ik dan ook instellen dat ik losgekoppeld ben van de cloud betreffende Marstek???
voordelen:
- als er handelsoorlog ontstaat kunnen servers uitgezet worden en ligt je accu stil of op een andere manier word je accu uitgezet.
- als marstek failliet gaat en geen ondersteuning meer biedt dan werkt het nog.
Klopt dit wat ik zeg...?In Duitsland wordt hier veel meer naar gekeken. Hier hoor je dit onderwerp nauwelijks.
[ Voor 7% gewijzigd door buunke op 08-03-2025 07:29 ]
Met modbus aansturing blijft het sowieso werken jabuunke schreef op zaterdag 8 maart 2025 @ 07:23:
DE/ONT-CLOUDING proof?
Als ik koppeling klaar heb met modbus en lokaal lopende via eigen netwerk, kan ik dan ook instellen dat ik losgekoppeld ben van de cloud betreffende Marstek???![]()
voordelen:
- als er handelsoorlog ontstaat kunnen servers uitgezet worden en ligt je accu stil of op een andere manier word je accu uitgezet.
- als marstek failliet gaat en geen ondersteuning meer biedt dan werkt het nog.
Klopt dit wat ik zeg...?In Duitsland wordt hier veel meer naar gekeken. Hier hoor je dit onderwerp nauwelijks.
Begin deze week kon ik de P1 van HW wel koppelen maar de meetwaarden bleef constant dezelfde waarde.
Vandaag weer eens geprobeerd en tot mijn verbazing reageert hij nu wel op P1 van HW.
In onderstaande plaatje gedeelte met P1 Marstek en met een gedeelte P1 HW
:strip_exif()/f/image/Wf48nUGJJxduiq5CbUYFAMMC.png?f=user_large)
Start met P1 Marstek
om ca. 10:20 P1 HW gekozen
om Ca: 10.40 een groot verbruiker aan en uit gezet
om ca. 11:15 P1 Marstek gekozen.
Nu even een dagje laten draaien met ..... Tja welke zou ik kiezen?
Oeps in verkeerde topic.
Maar nog vervelender de CT symbool is nog groen maar krijg geen waarden van de P1 HW meer binnen.
Ik zal later vandaag de spreadsheet die al een paar keer genoemd is invullen met de benodigde gegevens.
Vandaag weer eens geprobeerd en tot mijn verbazing reageert hij nu wel op P1 van HW.
In onderstaande plaatje gedeelte met P1 Marstek en met een gedeelte P1 HW
:strip_exif()/f/image/Wf48nUGJJxduiq5CbUYFAMMC.png?f=user_large)
Start met P1 Marstek
om ca. 10:20 P1 HW gekozen
om Ca: 10.40 een groot verbruiker aan en uit gezet
om ca. 11:15 P1 Marstek gekozen.
Nu even een dagje laten draaien met ..... Tja welke zou ik kiezen?
Oeps in verkeerde topic.
Maar nog vervelender de CT symbool is nog groen maar krijg geen waarden van de P1 HW meer binnen.
Ik zal later vandaag de spreadsheet die al een paar keer genoemd is invullen met de benodigde gegevens.
[ Voor 7% gewijzigd door Ronald_61 op 08-03-2025 14:02 . Reden: verkeerde topic ]
MT Venus V151, CT003 V114, ISKRA AM550
Wat betreft de waarden van de P1 meter die niet zichtbaar zijn: Je batterij staat toch niet in ‘Manual’ mode? Ik heb uren verloren met het zoeken waarom de waarden van mijn Shelly emulator niet verschenen (CT icoontje op het hoofdscherm stond groen) en zodra ik de batterij op ‘Automatic’ zette kwamen de waarden te voorschijn…. Terug manueel gezet en weer geen waarden meer enz.Ronald_61 schreef op zaterdag 8 maart 2025 @ 12:01:
Begin deze week kon ik de P1 van HW wel koppelen maar de meetwaarden bleef constant dezelfde waarde.
Vandaag weer eens geprobeerd en tot mijn verbazing reageert hij nu wel op P1 van HW.
In onderstaande plaatje gedeelte met P1 Marstek en met een gedeelte P1 HW
[Afbeelding]
Start met P1 Marstek
om ca. 10:20 P1 HW gekozen
om Ca: 10.40 een groot verbruiker aan en uit gezet
om ca. 11:15 P1 Marstek gekozen.
Nu even een dagje laten draaien met ..... Tja welke zou ik kiezen?
Oeps in verkeerde topic.
Maar nog vervelender de CT symbool is nog groen maar krijg geen waarden van de P1 HW meer binnen.
Ik zal later vandaag de spreadsheet die al een paar keer genoemd is invullen met de benodigde gegevens.
Mogelijk is dit hetzelfde met de Marstek P1 CT.
Loxone home automation - MT Venus - Shelly Pro 3EM - Unifi UDM Pro
Nee, hij stond auto (Zelf geïnitieerd zelfconsumptie model) ten minste toen ik naar de sensor waarde keek.PVerga schreef op zaterdag 8 maart 2025 @ 16:01:
[...]
Wat betreft de waarden van de P1 meter die niet zichtbaar zijn: Je batterij staat toch niet in ‘Manual’ mode? Ik heb uren verloren met het zoeken waarom de waarden van mijn Shelly emulator niet verschenen (CT icoontje op het hoofdscherm stond groen) en zodra ik de batterij op ‘Automatic’ zette kwamen de waarden te voorschijn…. Terug manueel gezet en weer geen waarden meer enz.
Mogelijk is dit hetzelfde met de Marstek P1 CT.
Ik schakel wel regelmatig tussen de modes dus die vergissing is gauw gemaakt.
Maar naar aanleiding van jouw bericht nogmaals gecontroleerd.
In de app zie ik wel dat er wifi contact is als ik het CT symbool aan klik maar geen waarde. Helaas.
MT Venus V151, CT003 V114, ISKRA AM550
Ik heb hetzelfde geen enkele waarden behalve van de Batt ... die gaat laden en een tijdje erna weer ontladen enz... Terwijl de HW P1 in eerste instantie goed werkte totdat HW dat blokkeerde... Ik lees bij de buren dat er wat meer problemen zijn met de HW P1 meter sinds API 2.x is geactiveerd. Ik weet niet welke API versie nu actief is, wat Marstek nu heeft afgesproken met HW om de P1 meter te laten werken.Ronald_61 schreef op zaterdag 8 maart 2025 @ 17:09:
[...]
Nee, hij stond auto (Zelf geïnitieerd zelfconsumptie model) ten minste toen ik naar de sensor waarde keek.
Ik schakel wel regelmatig tussen de modes dus die vergissing is gauw gemaakt.
Maar naar aanleiding van jouw bericht nogmaals gecontroleerd.
In de app zie ik wel dat er wifi contact is als ik het CT symbool aan klik maar geen waarde. Helaas.
Maar goed, het werkt hier perfect met de CT003
BYD Atto3 (LFP 60,5KW) | PulsarPlus EV +Balancer | WP7.7K Zuid | 2x Marstek Venus 5.12KWh V151 - CT003 V114 | 2 Mitsubitshi single airco's | HA DS224+
Wat doe ik verkeerd? ik probeer - als voorbereiding- te installeren op een ESP32 wroom
ESPhome in lcx proxmox:
INFO ESPHome 2025.2.2
INFO Reading configuration /root/config/lilygo-rs485.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing lilygo-rs485 (board: esp32dev; framework: arduino; platform: platformio/espressif32@5.4.0)
--------------------------------------------------------------------------------
Library Manager: Installing SPI
INFO Installing SPI
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
|-- ArduinoJson @ 6.18.5
|-- NeoPixelBus @ 2.7.3
RAM: [= ] 12.5% (used 40892 bytes from 327680 bytes)
Flash: [====== ] 55.8% (used 1023813 bytes from 1835008 bytes)
Building .pioenvs/lilygo-rs485/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/lilygo-rs485/firmware.bin"], [".pioenvs/lilygo-rs485/firmware.elf"])
usage: esptool merge_bin [-h] --output OUTPUT [--format {raw,uf2,hex}]
[--chunk-size CHUNK_SIZE] [--md5-disable]
[--flash_freq {keep,80m,60m,48m,40m,30m,26m,24m,20m,16m,15m,12m}]
[--flash_mode {keep,qio,qout,dio,dout}]
[--flash_size {keep,256KB,512KB,1MB,2MB,2MB-c1,4MB,4MB-c1,8MB,16MB,32MB,64MB,128MB}]
[--spi-connection SPI_CONNECTION]
[--target-offset TARGET_OFFSET]
[--fill-flash-size {256KB,512KB,1MB,2MB,4MB,8MB,16MB,32MB,64MB,128MB}]
<address> <filename> [<address> <filename> ...]
esptool merge_bin: error: argument <address> <filename>: [Errno 2] No such file or directory: '/root/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin'
*** [.pioenvs/lilygo-rs485/firmware.bin] Explicit exit, status 2
========================= [FAILED] Took 10.41 seconds =========================
edit 23:25: met esp-idf en zonder het led gedeelte werkt het wel.
ESPhome in lcx proxmox:
INFO ESPHome 2025.2.2
INFO Reading configuration /root/config/lilygo-rs485.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing lilygo-rs485 (board: esp32dev; framework: arduino; platform: platformio/espressif32@5.4.0)
--------------------------------------------------------------------------------
Library Manager: Installing SPI
INFO Installing SPI
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
|-- ArduinoJson @ 6.18.5
|-- NeoPixelBus @ 2.7.3
RAM: [= ] 12.5% (used 40892 bytes from 327680 bytes)
Flash: [====== ] 55.8% (used 1023813 bytes from 1835008 bytes)
Building .pioenvs/lilygo-rs485/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/lilygo-rs485/firmware.bin"], [".pioenvs/lilygo-rs485/firmware.elf"])
usage: esptool merge_bin [-h] --output OUTPUT [--format {raw,uf2,hex}]
[--chunk-size CHUNK_SIZE] [--md5-disable]
[--flash_freq {keep,80m,60m,48m,40m,30m,26m,24m,20m,16m,15m,12m}]
[--flash_mode {keep,qio,qout,dio,dout}]
[--flash_size {keep,256KB,512KB,1MB,2MB,2MB-c1,4MB,4MB-c1,8MB,16MB,32MB,64MB,128MB}]
[--spi-connection SPI_CONNECTION]
[--target-offset TARGET_OFFSET]
[--fill-flash-size {256KB,512KB,1MB,2MB,4MB,8MB,16MB,32MB,64MB,128MB}]
<address> <filename> [<address> <filename> ...]
esptool merge_bin: error: argument <address> <filename>: [Errno 2] No such file or directory: '/root/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin'
*** [.pioenvs/lilygo-rs485/firmware.bin] Explicit exit, status 2
========================= [FAILED] Took 10.41 seconds =========================
edit 23:25: met esp-idf en zonder het led gedeelte werkt het wel.
[ Voor 3% gewijzigd door JanAllElectric op 10-03-2025 23:15 ]
Panasonic TCAP 12kW J-versie + Heishamon/HA/Node-Red/Grafana/InfluxDB; Atlantic v3 200L; 5* jaga strada 21 & zelfbouw DBE; 7700Wp; KIA EV6 77kWh RWD + EVCC/cFos Wallbox solar; 2* Marstek 5kWh (v1.48) + HW P1 ++ modbus/lilygo/node-red/HA