Local API op Marstek Venus E 3.0

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • d0n0van
  • Registratie: Februari 2021
  • Laatst online: 22-10 14:44
Ik heb de local api aangezet via marstek venus monitor.
Maar ik krijg op geen enkele manier response.
Marstek Device Open API
Nmap bevestigd dat de poort open is.
code:
1
2
3
4
Host is up (0.31s latency).

PORT      STATE         SERVICE
30000/udp open|filtered unknown


Ik heb dit getest met payload ble_mac=0, maar ook met het effectieve mac address.

Ben ik stappen vergeten?
Is er iemand die dit werkend heeft?

Alle reacties


Acties:
  • 0 Henk 'm!

  • ej.cools
  • Registratie: Augustus 2019
  • Laatst online: 21-10 15:43
Volgens mij werkt het niet met de Venus E3.
Ik probeer ook connectie te maken met mijn batterij maar zonder succes.
Ik ben aan het proberen met de relay https://github.com/tomquist/hame-relay en die werkt.
Maar de vertaler naar MQTT niet https://github.com/tomquist/hm2mqtt
Ik ben benieuwd als iemand hem aan de praat krijgt.
Succes

Acties:
  • +1 Henk 'm!

  • harrr
  • Registratie: Oktober 2012
  • Laatst online: 23-10 12:10
Ik heb hem aan de praat, heb er ook een PHP-script op geschreven die op het goedkoopste tijdstip kan switchen van Auto naar Manual, kan volladen en bij >98% weer kan switchen naar Auto.

Handelen zou op dezelfde manier mogelijk moeten zijn. Probeer het eens met ncat in Linux. Voorbeeld commando in Linux, wel even het IP aanpassen.

code:
1
echo -n '{"id":1,"method":"ES.SetMode","params":{"id":1,"cong":{"mode":"Manual","manual_cfg":{"time_num":1,"start_time":"08:30","end_time":"20:30","week_set":127,"power":100,"enable":1}}}}' | ncat -w1 -u -p 30000 192.168.2.41 30000

10.000 WP Zuid, 3400 WP Oost/West, Tesla M3 AWD LR, PompAO 8KW, Marstek Venus E 10,24kWh


Acties:
  • +1 Henk 'm!

  • BertSmelik
  • Registratie: Oktober 2022
  • Laatst online: 23-10 00:50
ej.cools schreef op donderdag 9 oktober 2025 @ 18:21:
Volgens mij werkt het niet met de Venus E3.
Ik probeer ook connectie te maken met mijn batterij maar zonder succes.
Ik ben aan het proberen met de relay https://github.com/tomquist/hame-relay en die werkt.
Maar de vertaler naar MQTT niet https://github.com/tomquist/hm2mqtt
Ik ben benieuwd als iemand hem aan de praat krijgt.
Succes
Ik heb het aan de praat in HA. Weet nog niet of alle functies (goed) werken, maar HA ziet de batterijen en de CT003 die ik heb.
Bleek dat in ik in hm2mqtt het deviceType het type moest ingeven zoals hame-relay die in zijn log laat zien.
Dus voor de Venus E 3.0: VNSE3-0 en voor de CT003: HME-3
In alle gevallen voor de deviceid het macadres gebruikt dat laat zien in zijn log.
Nu eens kijken of er iets te automatiseren valt!

Acties:
  • +1 Henk 'm!

  • Goosmeister
  • Registratie: Februari 2014
  • Laatst online: 02:26
De local api stond bij mij al enabled volgende de Marstek Venus Monitor echter op poort 28416. Ik heb geprobeerd de poort naar 30000 te krijgen maar lukte niet aangezien het api serveradres nergens te vinden was. Met hame-relay en hm2mqtt als Docker containers is het gelukt de Marstek Venus V3 in Home Assistant aan de praat te krijgen. De Marstek verschijnt in home assistant via mqtt.
Waar ik veel tijd mee kwijt ben geweest is alles uit te zoeken voor mijn home assistant op docker installatie vandaar dat is dit deel. Uitgaande dat er een mqtt broker actief is zijn dit mijn stappen geweest:

De docker compose file voor hame-relay:
YAML:
1
2
3
4
5
6
7
8
9
services:
  mqtt-forwarder:
    image: ghcr.io/tomquist/hame-relay:latest
    container_name: hame-relay
    restart: unless-stopped
    volumes:
      - ~/<pad naar Hame-Relay>/config:/app/config
    environment:
      - LOG_LEVEL=info


Maak een bestand config.json aan in ~/<pad naar Hame-Relay>/config met de volgende inhoud:
JSON:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "broker_url": "mqtt://mqtt gebruikersnaam: mqtt wachtwoord@mqttserveradres:1883",
  "username": "marstek gebruikersnaam",
  "password": "marstek wachtwoord",
  "inverse_forwarding": false,
  "default_broker_id": "hame-2024",
  "inverse_forwarding_device_ids": "",
  "devices": [
    {
      "device_id": "<verkrijgbaar via Marstek Venus Monitor>",
      "mac": "<verkrijgbaar via Marstek Venus Monitor>",
      "type": "VNSE3-0",
      "version": 0,
      "inverse_forwarding": true,
      "broker_id": "hame-2025"
    }
  ]
}


Dan de docker compose file voor de hm2mqtt installatie:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
services:
  hm2mqtt:
    container_name: hm2mqtt
    image: ghcr.io/tomquist/hm2mqtt:latest
    restart: unless-stopped
    environment:
      - MQTT_BROKER_URL=mqtt://<mqttserveradres>:1883
      - MQTT_USERNAME= <mqtt gebruikersnaam>
      - MQTT_PASSWORD= <mqtt wachtwoord>
      - POLL_CELL_DATA=true
      - POLL_EXTRA_BATTERY_DATA=true
      - POLL_CALIBRATION_DATA=true
      - DEVICE_0=VNSE3-0:<macadres uit config.json>


Thats it. Met dank aan https://github.com/tomquist/ dit mogelijk te maken.

[ Voor 88% gewijzigd door Septillion op 13-10-2025 20:37 . Reden: Code tags ]


Acties:
  • 0 Henk 'm!

  • DaVa
  • Registratie: Maart 2005
  • Laatst online: 18:47
Ik kwam deze tegen en probeer hiermee mijn v3 uit te lezen.
https://github.com/DoctaShizzle/marstek_local_api

API is enabled (firmware v139) maar helaas geen succes, krijg geen connectie.
Ook als ik zelf een pakket stuur (via node red) krijg ik geen reactie terug.
Iemand al betere ervaringen zonder gebruik te maken van hame-relay?

Acties:
  • +2 Henk 'm!

  • digibaro
  • Registratie: April 2001
  • Laatst online: 15:11
API is enabled (firmware v139) maar helaas geen succes, krijg geen connectie.
Ik heb firmware v139 en krijg connectie vanuit een Home Assistant add-on naar de accu op UDP poort 30000 na local API aangezet te hebben in de app.

https://github.com/jaapp/ha-marstek/

Ik merk wel dat niet alle items succesvol zijn uit te lezen waaronder power in/uit.

Acties:
  • 0 Henk 'm!

  • ej.cools
  • Registratie: Augustus 2019
  • Laatst online: 21-10 15:43
BertSmelik schreef op vrijdag 10 oktober 2025 @ 16:33:
[...]

Ik heb het aan de praat in HA. Weet nog niet of alle functies (goed) werken, maar HA ziet de batterijen en de CT003 die ik heb.
Bleek dat in ik in hm2mqtt het deviceType het type moest ingeven zoals hame-relay die in zijn log laat zien.
Dus voor de Venus E 3.0: VNSE3-0 en voor de CT003: HME-3
In alle gevallen voor de deviceid het macadres gebruikt dat laat zien in zijn log.
Nu eens kijken of er iets te automatiseren valt!
Ik zie in de hame-relay de Shelly niet verschijnen in de logs. Misschien dat daar mijn probleem ligt. Even kijken of ik die aan de praat krijg dat hij verschijnt in de relay.

Acties:
  • 0 Henk 'm!

  • DaVa
  • Registratie: Maart 2005
  • Laatst online: 18:47
digibaro schreef op dinsdag 14 oktober 2025 @ 11:36:
[...]


Ik heb firmware v139 en krijg connectie vanuit een Home Assistant add-on naar de accu op UDP poort 30000 na local API aangezet te hebben in de app.

https://github.com/jaapp/ha-marstek/

Ik merk wel dat niet alle items succesvol zijn uit te lezen waaronder power in/uit.
Thanks om te delen, zonet deze geladen; lijkt voor mij ook te werken.
Zoals je aangeeft komen niet alle waarden door, onder andere total grid in/uit, jammer aangezien deze handig zouden zijn in het energie dashboard.

Acties:
  • 0 Henk 'm!

  • jackyboy8500
  • Registratie: Oktober 2013
  • Laatst online: 18-10 09:39
d0n0van schreef op dinsdag 30 september 2025 @ 07:17:
Ik heb de local api aangezet via marstek venus monitor.
Maar ik krijg op geen enkele manier response.
Marstek Device Open API
Nmap bevestigd dat de poort open is.
code:
1
2
3
4
Host is up (0.31s latency).

PORT      STATE         SERVICE
30000/udp open|filtered unknown


Ik heb dit getest met payload ble_mac=0, maar ook met het effectieve mac address.

Ben ik stappen vergeten?
Is er iemand die dit werkend heeft?
heb je dit al werkend gekregen ? ik ervaar net hetzelfde maar mijn batterij is een V2.0
nmap geeft net hetzelfde terug als bij jou. Ik heb geprobeerd met python en met packetsender en query te doen en de status terug te krijgen maar de Venus E 2.0 antwoordt nergens op.

Acties:
  • 0 Henk 'm!

  • filipmartens
  • Registratie: Oktober 2025
  • Laatst online: 22-10 16:35
Marstek Venus E Frimware V154
Local API "ON" Port:30000
Tested with Macbook Air with 2 terminals:
T1 listens for response from Marstek
T2 sends request

T1: nc -ul 30000 (Listening to message from Marstek)

T2: i=1; while true; do json=$(printf '{"id":%d,"version":"1.0","src":"myClient","method":"ES.GetStatus","params":{"id":0}}' "$i"); echo "[$(date '+%H:%M:%S')] Verzonden ($i): $json"; echo "$json" | nc -u -w10 192.168.3.100 30000; ((i++)); sleep 10; done

This has been working ONES (!!), repeating the same command-lines the next day, I got no response from Marstek.
sudo -S tcpdump -n udp and host 192.168.3.100 returns NOTHING

Acties:
  • 0 Henk 'm!

  • GORby
  • Registratie: Januari 2002
  • Laatst online: 19:30
DaVa schreef op maandag 13 oktober 2025 @ 20:11:
Ik kwam deze tegen en probeer hiermee mijn v3 uit te lezen.
https://github.com/DoctaShizzle/marstek_local_api

API is enabled (firmware v139) maar helaas geen succes, krijg geen connectie.
Ook als ik zelf een pakket stuur (via node red) krijg ik geen reactie terug.
Iemand al betere ervaringen zonder gebruik te maken van hame-relay?
Het aansturen via Node-Red lukt hier gewoon met v139.
Dit is de code die voor mij werkt. Wel nog even het IP adres aanpassen natuurlijk, en niet vergeten de ID telkens te veranderen bij je request, anders werkt het niet.

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
[
    {
        "id": "8b65196d8e0682a7",
        "type": "group",
        "z": "2984d9c5a5be7840",
        "style": {
            "stroke": "#999999",
            "stroke-opacity": "1",
            "fill": "none",
            "fill-opacity": "1",
            "label": true,
            "label-position": "nw",
            "color": "#a4a4a4"
        },
        "nodes": [
            "c69190416293c2c5",
            "1448bee95281f5bb",
            "4d31d05731f0fa6c",
            "cd0155779b527eb2",
            "9b0fd28ce351cbee",
            "53660b468f150faa",
            "f6a7c1eb340b372e"
        ],
        "x": 94,
        "y": 79,
        "w": 492,
        "h": 282
    },
    {
        "id": "c69190416293c2c5",
        "type": "inject",
        "z": "2984d9c5a5be7840",
        "g": "8b65196d8e0682a7",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "{\"id\":4,\"method\":\"Bat.GetStatus\",\"params\":{\"id\":1}}",
        "payloadType": "json",
        "x": 190,
        "y": 200,
        "wires": [
            [
                "1448bee95281f5bb"
            ]
        ]
    },
    {
        "id": "1448bee95281f5bb",
        "type": "udp out",
        "z": "2984d9c5a5be7840",
        "g": "8b65196d8e0682a7",
        "name": "",
        "addr": "192.168.20.12",
        "iface": "",
        "port": "30000",
        "ipv": "udp4",
        "outport": "",
        "base64": false,
        "multicast": "false",
        "x": 460,
        "y": 200,
        "wires": []
    },
    {
        "id": "4d31d05731f0fa6c",
        "type": "udp in",
        "z": "2984d9c5a5be7840",
        "g": "8b65196d8e0682a7",
        "name": "",
        "iface": "",
        "port": "30000",
        "ipv": "udp4",
        "multicast": "false",
        "group": "",
        "datatype": "utf8",
        "x": 200,
        "y": 320,
        "wires": [
            [
                "cd0155779b527eb2"
            ]
        ]
    },
    {
        "id": "cd0155779b527eb2",
        "type": "debug",
        "z": "2984d9c5a5be7840",
        "g": "8b65196d8e0682a7",
        "name": "UDP received",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 460,
        "y": 320,
        "wires": []
    },
    {
        "id": "9b0fd28ce351cbee",
        "type": "comment",
        "z": "2984d9c5a5be7840",
        "g": "8b65196d8e0682a7",
        "name": "Sending data to client",
        "info": "",
        "x": 320,
        "y": 120,
        "wires": []
    },
    {
        "id": "53660b468f150faa",
        "type": "comment",
        "z": "2984d9c5a5be7840",
        "g": "8b65196d8e0682a7",
        "name": "Receving data from server ",
        "info": "",
        "x": 330,
        "y": 260,
        "wires": []
    },
    {
        "id": "f6a7c1eb340b372e",
        "type": "link in",
        "z": "2984d9c5a5be7840",
        "g": "8b65196d8e0682a7",
        "name": "To Marstek UDP",
        "links": [
            "14810a12ed91c472"
        ],
        "x": 225,
        "y": 160,
        "wires": [
            [
                "1448bee95281f5bb"
            ]
        ]
    }
]

Acties:
  • 0 Henk 'm!

  • Goosmeister
  • Registratie: Februari 2014
  • Laatst online: 02:26
Via Marstek support heb ik de local api op 30000 gekregen en gelijk de update naar versie 139.
MQTT is ook te activeren echter dan verlies je alle vorm van ondersteuning van marstek. Ik twijfel of ik MQTT zal activeren gezien dat er nog weinig bekend in over de Venus v 3.0. Kan hier iemand in adviseren wat handig is?
Edit:
MQTT is niet nodig in dit geval

[ Voor 5% gewijzigd door Goosmeister op 17-10-2025 11:10 ]


Acties:
  • 0 Henk 'm!

  • hamc86
  • Registratie: Oktober 2025
  • Laatst online: 21-10 10:06
Open API inmiddels actief op UDP port 30000

Via de open API 1.0 handleiding van Marstek ook de commando's voor de open api

Ze geven allemaal respons behalve:

{
"id": 1,
"method": "EM.GetStatus",
"params": {
"id": 0
}
}

Deze zou de volgende respons moeten geven:

{
"id": 1,
"src": "VenusC-mac",
"result": {
"id": 0,
"bat_soc": 98,
"bat_cap": 2560,
"pv_power": 0,
"ongrid_power": 100,
"offgrid_power": 0,
"bat_power": 0,
"total_pv_energy": 0,
"total_grid_output_energy": 844,
"total_grid_input_energy": 1607,
"total_load_energy": 0
}
}

Juist uit deze info kunnen we de sensoren maken voor het energie dashboard voor HA of andere monitoring.

Kan of heeft iemand ervaring met dit?
Inmiddels is het ook gemeld via support van Marstek en die geven aan het aan de juiste afdeling te vragen.
Ik hoop dat het een bug is die iedereen heeft met V139 ?

Trouwens de Marstek local api integratie
Werkt goed wel erg moeizaam en traag

Acties:
  • 0 Henk 'm!

  • DaVa
  • Registratie: Maart 2005
  • Laatst online: 18:47
hamc86 schreef op vrijdag 17 oktober 2025 @ 12:03:
Open API inmiddels actief op UDP port 30000

Via de open API 1.0 handleiding van Marstek ook de commando's voor de open api

Ze geven allemaal respons behalve:

{
"id": 1,
"method": "EM.GetStatus",
"params": {
"id": 0
}
}

Deze zou de volgende respons moeten geven:

{
"id": 1,
"src": "VenusC-mac",
"result": {
"id": 0,
"bat_soc": 98,
"bat_cap": 2560,
"pv_power": 0,
"ongrid_power": 100,
"offgrid_power": 0,
"bat_power": 0,
"total_pv_energy": 0,
"total_grid_output_energy": 844,
"total_grid_input_energy": 1607,
"total_load_energy": 0
}
}

Juist uit deze info kunnen we de sensoren maken voor het energie dashboard voor HA of andere monitoring.

Kan of heeft iemand ervaring met dit?
Inmiddels is het ook gemeld via support van Marstek en die geven aan het aan de juiste afdeling te vragen.
Ik hoop dat het een bug is die iedereen heeft met V139 ?

Trouwens de Marstek local api integratie
Werkt goed wel erg moeizaam en traag
Zelfde ervaring hier met een V3 v139, EM.getstatus doet het niet.

Acties:
  • 0 Henk 'm!

  • Umberto Fabri
  • Registratie: Oktober 2025
  • Laatst online: 20-10 15:45
harrr schreef op vrijdag 10 oktober 2025 @ 16:18:
Ik heb hem aan de praat, heb er ook een PHP-script op geschreven die op het goedkoopste tijdstip kan switchen van Auto naar Manual, kan volladen en bij >98% weer kan switchen naar Auto.

Handelen zou op dezelfde manier mogelijk moeten zijn. Probeer het eens met ncat in Linux. Voorbeeld commando in Linux, wel even het IP aanpassen.

code:
1
echo -n '{"id":1,"method":"ES.SetMode","params":{"id":1,"cong":{"mode":"Manual","manual_cfg":{"time_num":1,"start_time":"08:30","end_time":"20:30","week_set":127,"power":100,"enable":1}}}}' | ncat -w1 -u -p 30000 192.168.2.41 30000
Beste, ik heb de locale API aangezet op poort 3000 (bevestigt via MQTT message), maar krijg geen reactie als ik er iets naartoe stuur. Ik heb heb firmware V153. Welke firware gebruikt u?
Pagina: 1