Marstek Venus / Duravolt PnP Thuisaccu Modbus koppeling

Pagina: 1 ... 3 ... 7 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • hallorichard
  • Registratie: September 2016
  • Laatst online: 10:00
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
Ik heb de firmware ook vanochtend geïnstalleerd en de modbus via lilygo werkt nog.

Acties:
  • 0 Henk 'm!

  • bvs
  • Registratie: December 2024
  • Laatst online: 14:32

bvs

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
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

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
hallorichard schreef op zondag 23 februari 2025 @ 12:18:
[...]

Ik heb de firmware ook vanochtend geïnstalleerd en de modbus via lilygo werkt nog.
Geen reboot nodig ?
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


Acties:
  • +1 Henk 'm!

  • hallorichard
  • Registratie: September 2016
  • Laatst online: 10:00
Maxwp schreef op zondag 23 februari 2025 @ 15:43:
[...]

Geen reboot nodig ?
Mss is het mijn voedings probleem dingetje
Ik had wel een reboot gedaan omdat wifi niet terugkwam in de marstek app.

Acties:
  • +1 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
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 ;-)

[ 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+


Acties:
  • +1 Henk 'm!

  • matrover
  • Registratie: December 2010
  • Laatst online: 14:45
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
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:

Afbeeldingslocatie: https://tweakers.net/i/TKDuTj0hZ_W53KRt2TqH0-os5I8=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/YvQapVgJWYZUqWIECacQk27r.png?f=user_large

Marstek Venus 5,12kwh V149 CT003 V110


Acties:
  • +1 Henk 'm!

  • bvs
  • Registratie: December 2024
  • Laatst online: 14:32

bvs

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]
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 ?

Acties:
  • 0 Henk 'm!

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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.

Acties:
  • 0 Henk 'm!

  • matrover
  • Registratie: December 2010
  • Laatst online: 14:45
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 ?
Ja dit is een ander device dus zoals gezegd.

en 2 stopbits geen idee, heb er geen verstand van, maar het werkt zo, niet goed :) ?

Marstek Venus 5,12kwh V149 CT003 V110


Acties:
  • +1 Henk 'm!

  • bvs
  • Registratie: December 2024
  • Laatst online: 14:32

bvs

matrover schreef op maandag 24 februari 2025 @ 15:05:
[...]
en 2 stopbits geen idee, heb er geen verstand van, maar het werkt zo, niet goed :) ?
Je verliest zo'n 10% aan bandbreedte door die extra stopbit, maar maakt hier mogelijk niet uit

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Arjen 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.
die meldingen heb ik er al vanaf dag 1 in staan
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


Acties:
  • +1 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32

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+


Acties:
  • +3 Henk 'm!

  • denievankleef
  • Registratie: Februari 2025
  • Laatst online: 25-02 20:29
@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

Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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
Dank, een groot deel van de info kwam ook van @scruysberghs dus ook dank aan hem!

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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 ?
De combinaties zijn:
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


Acties:
  • +2 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
superduper1969 schreef op maandag 24 februari 2025 @ 21:34:
[...]

Dank, een groot deel van de info kwam ook van @scruysberghs dus ook dank aan hem!
donatie knop maken :P

.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


Acties:
  • +3 Henk 'm!

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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?
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

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
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
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

.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


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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
Misschien al opgelost?
https://gathering.tweaker...message/81754442#81754442

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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
22-2 had ik dit:

Afbeeldingslocatie: https://tweakers.net/i/MKlfhPCsT8bRDROV0ghnafx1BV8=/x800/filters:strip_icc():strip_exif()/f/image/OK2fcbuzzFFkQQxweTSElZM4.jpg?f=fotoalbum_large

Na alle wijzigingen had ik op 24-2 dit:

Afbeeldingslocatie: https://tweakers.net/i/Y1MP0KauqavLQcA0DlUJ-65UuK4=/x800/filters:strip_icc():strip_exif()/f/image/kVGrDoFQDuPVPGfcXOU5QUql.jpg?f=fotoalbum_large

Ik zit nog steeds op firmware V147

Afbeeldingslocatie: https://tweakers.net/i/EBDvVkXjxB8xjvBtPyK7Sw6VDmY=/x800/filters:strip_icc():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.

Afbeeldingslocatie: https://tweakers.net/i/twzYogcn4lIxJ23czNs7wSZe-nU=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/bQK02XXD3QBodwE20TzyERdA.png?f=user_large

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Ik zie er niks staan over dat verbruik bij 100% accu ?

.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


Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Arjen 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]
kijk eens als de accu 100% ia dan zie ik dit
Afbeeldingslocatie: https://tweakers.net/i/CvBDfjNdObIJsBf9AL9Wku4D9IU=/800x/filters:strip_icc():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


Acties:
  • +5 Henk 'm!

  • prakka
  • Registratie: Oktober 2009
  • Laatst online: 12:51
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

[ Voor 3% gewijzigd door prakka op 26-02-2025 14:14 ]


Acties:
  • +1 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
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 )
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.

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+


Acties:
  • 0 Henk 'm!

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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.

Afbeeldingslocatie: https://tweakers.net/i/JH8cUb0bhsVWCkgUDMJlH7dSZ0M=/x800/filters:strip_icc():strip_exif()/f/image/FBtTokGgvpmS267H45n94Nfr.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/4E6mjtRpIl1AKJwvSBLPcoeTA-g=/x800/filters:strip_icc():strip_exif()/f/image/GJVVEYBxeCOwZr9TzqQhBDKJ.jpg?f=fotoalbum_large

Acties:
  • +1 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
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]
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?
Afbeeldingslocatie: https://tweakers.net/i/7wCn00qub3zNGcRkRto676nJl_g=/800x/filters:strip_exif()/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+


Acties:
  • 0 Henk 'm!

  • Horla
  • Registratie: Augustus 2002
  • Laatst online: 14:57
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%
Als ik deze code toevoeg dan krijg ik melding bij light.neopixelbus "this feature is only available with frameworks [arduino] ?

Acties:
  • 0 Henk 'm!

  • prakka
  • Registratie: Oktober 2009
  • Laatst online: 12:51
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] ?
Oh dat kan kloppen ik gebruik de volgende configuratie:

YAML:
1
2
3
4
esp32:
  board: esp32dev
  framework:
    type: arduino

arduino inplaats van ESP-IDF

Acties:
  • 0 Henk 'm!

  • Horla
  • Registratie: Augustus 2002
  • Laatst online: 14:57
prakka schreef op woensdag 26 februari 2025 @ 14:08:
[...]
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).

Acties:
  • +1 Henk 'm!

  • prakka
  • Registratie: Oktober 2009
  • Laatst online: 12:51
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).
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.

Acties:
  • +2 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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.
Ik ga het testen en dan in de startpost verwerken, scheelt weer zoeken.

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
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.
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

.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


Acties:
  • +1 Henk 'm!

  • Horla
  • Registratie: Augustus 2002
  • Laatst online: 14:57
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
hmm, als ik goed inzoom zie ik inderdaad vreemde kronkels:
Afbeeldingslocatie: https://tweakers.net/i/ozb74G26VE26PStVxqWnFTo2fWs=/800x/filters:strip_exif()/f/image/WG3e9f7E1VfNJAVQEexMGl4c.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
superduper1969 schreef op woensdag 26 februari 2025 @ 15:59:
[...]

Ik ga het testen en dan in de startpost verwerken, scheelt weer zoeken.
Zelf even geknipt en geplakt... hier heb ik groen licht ;w

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+


Acties:
  • +1 Henk 'm!

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
SatScan 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]
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 zonnetje :) Kijken hoe het morgen gaat als de zon zich weer laat zien.

Acties:
  • +2 Henk 'm!

  • Disksoft
  • Registratie: September 2003
  • Laatst online: 14:49
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 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"

Afbeeldingslocatie: https://tweakers.net/i/JL3kALJhJw1rQmDn_bC4XQigCio=/x800/filters:strip_exif()/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.

Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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
Denk je door de langere namen waar Marstek in staat dat de ESP32 het te druk krijgt en daardoor stapjes laat vallen?
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


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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.
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.

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
@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.

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • +1 Henk 'm!

  • Disksoft
  • Registratie: September 2003
  • Laatst online: 14:49
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 ;)

[ Voor 11% gewijzigd door Disksoft op 26-02-2025 22:12 ]


Acties:
  • +1 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
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 :*)

[ 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+


Acties:
  • +1 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Horla schreef op woensdag 26 februari 2025 @ 16:39:
[...]

hmm, als ik goed inzoom zie ik inderdaad vreemde kronkels:
[Afbeelding]
Dat us compleet anders
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


Acties:
  • +1 Henk 'm!

  • Horla
  • Registratie: Augustus 2002
  • Laatst online: 14:57
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 de laatste updates niet gedaan omdat bij mij hij probleemloos NOM draait en "if it ain't broke don't fix it". O-)

Acties:
  • +4 Henk 'm!

  • kdhoe
  • Registratie: November 2005
  • Laatst online: 12:57
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
Ik heb bij mij de led helderheid op 30% gezet. Ik vind ze nogal helder op de standaard setting (100%)
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%

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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.
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.
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 :) Ik blijf zelf nog even op mijn korte naampjes variant draaien, mocht ik wat goede verbeteringen vinden voor jouw code dan laat ik het zeker even weten :)

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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 ;)
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.

Acties:
  • +1 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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.
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.

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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.
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 :)

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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 :)
Mischien afhankelijk van deze timings?
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


Acties:
  • +2 Henk 'm!

  • Edzelf
  • Registratie: Februari 2025
  • Laatst online: 12:44
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.


Afbeeldingslocatie: https://tweakers.net/i/3RBwAh7z9UPED5uYCN67l5KosTM=/800x/filters:strip_exif()/f/image/VFASBMusHDQRWJTSbOoTrx1G.png?f=fotoalbum_large

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Horla 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". O-)
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

.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


Acties:
  • +1 Henk 'm!

  • Horla
  • Registratie: Augustus 2002
  • Laatst online: 14:57
Maxwp 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
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 draaien :)

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
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.

[ 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


Acties:
  • +1 Henk 'm!

  • Horla
  • Registratie: Augustus 2002
  • Laatst online: 14:57
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden :o

Die van mij maakt geen lawaai, ik ben zojuist eens gaan horen.

edit:
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.
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.

[ Voor 90% gewijzigd door Horla op 27-02-2025 16:30 ]


  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Horla schreef op donderdag 27 februari 2025 @ 16:26:
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden :o
ik had deze nog niet gedaan jij attendeerde me erop
:P
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


  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Horla schreef op donderdag 27 februari 2025 @ 16:26:
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden :o

Die van mij maakt geen lawaai, ik ben zojuist eens gaan horen.
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

[ 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


  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Horla schreef op donderdag 27 februari 2025 @ 16:26:
Jij bent een leuke, mij eerst pushen om updates te doen en daarna problemen melden :o

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.
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 )
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


  • Horla
  • Registratie: Augustus 2002
  • Laatst online: 14:57
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
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
  • Registratie: Juni 2011
  • Laatst online: 15:08
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.
ik denk dat het te maken heeft dat hij bij mij op 100% stond.
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 :P

edit
btw top werk ook met het werkende krijgen van de LED _/-\o_

[ 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


  • Dolf_Tweakers
  • Registratie: Januari 2025
  • Laatst online: 29-04 21:34
Een vraagje aan de Belgen hier in dit topic:

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


Acties:
  • 0 Henk 'm!

  • PVerga
  • Registratie: December 2013
  • Laatst online: 10:29
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?
Bij netbeheerder Fluvius gebruikt men sagemcom s211 en t211 digitale meters.
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


Acties:
  • 0 Henk 'm!

  • Dolf_Tweakers
  • Registratie: Januari 2025
  • Laatst online: 29-04 21:34
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


Acties:
  • 0 Henk 'm!

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
Iemand bekend met dit kastje? Lijkt mij wel interresant. RS485 naar rj45 ethernet. Afbeeldingslocatie: https://tweakers.net/i/LfXiiJKko5NF6U0zM2fJJ0VghIo=/x800/filters:strip_icc():strip_exif()/f/image/7lo6DAQbkj3W2LKeFMdBOJAk.jpg?f=fotoalbum_large

[ Voor 19% gewijzigd door Arjen S op 28-02-2025 12:45 ]


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
Arjen S schreef op vrijdag 28 februari 2025 @ 12:41:
Iemand bekend met dit kastje? Lijkt mij wel interresant. RS485 naar rj45 ethernet. [Afbeelding]
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.

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • PVerga
  • Registratie: December 2013
  • Laatst online: 10:29
Dolf_Tweakers schreef op vrijdag 28 februari 2025 @ 10:31:
Wat ik bedoel: wordt dit ook in de P1-informatie meegestuurd?
Ja, wordt meegestuurd naar e P1 poort.

Loxone home automation - MT Venus - Shelly Pro 3EM - Unifi UDM Pro


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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


Acties:
  • 0 Henk 'm!

  • Dolf_Tweakers
  • Registratie: Januari 2025
  • Laatst online: 29-04 21:34
PVerga schreef op vrijdag 28 februari 2025 @ 19:02:
[...]


Ja, wordt meegestuurd naar e P1 poort.
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


Acties:
  • +1 Henk 'm!

  • Arjen S
  • Registratie: Februari 2025
  • Laatst online: 28-04 16:40
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.
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 :)

Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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 :)
Ik ben er al een tijdje uit omdat in nu de Lilygo heb draaien.
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


Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
Dit lijkt me ook wel wat
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


Acties:
  • +2 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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?

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
superduper1969 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?
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?

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+


Acties:
  • +1 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
Efficiency grafiekje toch omgezet naar week, er ging best wel veel energie mee naar de volgende dag dus dat was behoorlijk onrustig.
Afbeeldingslocatie: https://tweakers.net/i/1OOp8UwsdxtXt0LTmeA398HKKK4=/fit-in/4920x3264/filters:max_bytes(3145728):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


Acties:
  • +1 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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?
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.

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


Acties:
  • 0 Henk 'm!

  • Gwaihir
  • Registratie: December 2002
  • Niet online
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..

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
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?

.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


Acties:
  • 0 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
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?
In de documentatie wordt het een en ander beschreven maar niet hoe uit te lezen.
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+


Acties:
  • +1 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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..
Is niet instelbaar dus niet te mixen.
Gelukkig is een 2e Liligo niet duur.

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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?
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

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • 0 Henk 'm!

  • Gwaihir
  • Registratie: December 2002
  • Niet online
superduper1969 schreef op maandag 3 maart 2025 @ 09:59:
Is niet instelbaar dus niet te mixen.
Gelukkig is een 2e Liligo niet duur.
Dank voor de heldere info.

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.

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
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
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?

.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


Acties:
  • 0 Henk 'm!

  • WitteVerf
  • Registratie: December 2021
  • Laatst online: 13:19
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 8)7

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
WitteVerf 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 8)7
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
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


Acties:
  • 0 Henk 'm!

  • WitteVerf
  • Registratie: December 2021
  • Laatst online: 13:19
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

[...]
Heb je dat getest of is dat een veronderstelling?

Acties:
  • 0 Henk 'm!

  • Maxwp
  • Registratie: Juni 2011
  • Laatst online: 15:08
WitteVerf schreef op maandag 3 maart 2025 @ 17:54:
[...]


Heb je dat getest of is dat een veronderstelling?
dat werkt zo omdat ik het zo heb zien werken ;-)

.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


Acties:
  • 0 Henk 'm!

  • WitteVerf
  • Registratie: December 2021
  • Laatst online: 13:19
Maxwp schreef op maandag 3 maart 2025 @ 18:00:
[...]

dat werkt zo omdat ik het zo heb zien werken ;-)
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%?

Acties:
  • 0 Henk 'm!

  • Ronald_61
  • Registratie: Januari 2025
  • Nu online
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?

MT Venus V151, CT003 V114, ISKRA AM550


Acties:
  • +1 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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?
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)

MTVenus V151 CT003 V110 Lilygo Modbus HA integration+ Anker E1600 + 16ZP Enphase + 2ZP Anker + Quatt


Acties:
  • +1 Henk 'm!

  • Ronald_61
  • Registratie: Januari 2025
  • Nu online
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)
Bedankt.

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


Acties:
  • +2 Henk 'm!

  • superduper1969
  • Registratie: December 2005
  • Laatst online: 07:18
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?
Hi,
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:
Afbeeldingslocatie: https://tweakers.net/i/CIexOrAibOalItCMtCRbfYGxTM4=/800x/filters:strip_icc():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


Acties:
  • +1 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
Ondertussen erin gezet! Top, dank je wel!

Werkt prima, heb dezelfde long time meldingen als ervoor.. dus das goed... ;-)

proof...
Afbeeldingslocatie: https://tweakers.net/i/mmP5voFzwXTfulideXRobNIzlbc=/x800/filters:strip_exif()/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+


Acties:
  • +1 Henk 'm!

  • limwand
  • Registratie: December 2014
  • Laatst online: 26-04 21:37
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.
Thanks, omdat ik lui ben even een shell scriptje gemaakt die dit download en ip wijzigt:


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 ]


Acties:
  • 0 Henk 'm!

  • buunke
  • Registratie: Juli 2021
  • Laatst online: 12-04 13:45
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.

[ Voor 7% gewijzigd door buunke op 08-03-2025 07:29 ]


Acties:
  • 0 Henk 'm!

  • limwand
  • Registratie: December 2014
  • Laatst online: 26-04 21:37
buunke 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.
Met modbus aansturing blijft het sowieso werken ja :)

Acties:
  • +1 Henk 'm!

  • Ronald_61
  • Registratie: Januari 2025
  • Nu online
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


Afbeeldingslocatie: https://tweakers.net/i/BMAqr6sg9rIH8ZyiYCQ3pv-YSfk=/fit-in/4000x4000/filters:no_upscale():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


Acties:
  • 0 Henk 'm!

  • PVerga
  • Registratie: December 2013
  • Laatst online: 10:29
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.
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.

Loxone home automation - MT Venus - Shelly Pro 3EM - Unifi UDM Pro


Acties:
  • 0 Henk 'm!

  • Ronald_61
  • Registratie: Januari 2025
  • Nu online
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.
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.

MT Venus V151, CT003 V114, ISKRA AM550


Acties:
  • 0 Henk 'm!

  • SatScan
  • Registratie: Februari 2024
  • Laatst online: 14:32
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.
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.

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+


Acties:
  • 0 Henk 'm!

  • JanAllElectric
  • Registratie: December 2017
  • Laatst online: 14:57
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.

[ 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

Pagina: 1 ... 3 ... 7 Laatste