Het grote Victron aansturing topic

Pagina: 1 ... 16 ... 60 Laatste
Acties:

Onderwerpen


  • E63s
  • Registratie: November 2021
  • Laatst online: 12:19
M66B schreef op woensdag 27 maart 2024 @ 07:33:
[...]

De max. discharge power waarde is ook beschikbaar via MQTT:

code:
1
N/<device>/hub4/0/MaxDischargePower


In mijn set-up gaat alles via MQTT (niet alleen Victron).
Maar ook in de hub4 sectie, die niemand meer gebruikt. Alsof ze een ESS register zijn vergeten toe te voegen

SmartESS dynamisch handelen voor Victron omvormers


  • MJ de Bruijn
  • Registratie: November 2016
  • Laatst online: 21:47
E63s schreef op dinsdag 26 maart 2024 @ 23:17:
Victron heeft toch heel wat verborgen parameters in VenusOS gestopt.
Volgens mij zijn alle parameters ook beschikbaar en toegankelijk via Node Red.
Bij de Victron Nodes staan onderaan "Custom Input" en "Custom Control".
Afbeeldingslocatie: https://tweakers.net/i/mZhoE9AVGvSJTxLTfmDU4hN5QA8=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/GtTxjXEpv4PyI8oLaehJktEE.jpg?f=user_large

Met de Custom Input kun je alle waardes lezen:
Afbeeldingslocatie: https://tweakers.net/i/i3LaAk4S2hdAa5_9iEP_joJT-S4=/x800/filters:strip_icc():strip_exif()/f/image/F9BL2xFpe1DXGIBOsSXL7oif.jpg?f=fotoalbum_large

En met de Custom Control kun je de waardes instellen:
Afbeeldingslocatie: https://tweakers.net/i/yrIZP6rAIPvh1dwNWO-AhbbLA6I=/x800/filters:strip_icc():strip_exif()/f/image/jz8APL697XBUU0LBgpbNdXx1.jpg?f=fotoalbum_large
Helaas staat er geen uitleg bij.

  • N0EL
  • Registratie: November 2019
  • Laatst online: 28-10 19:34
HermanGast schreef op zaterdag 23 maart 2024 @ 12:31:
Tuurlijk: (Voor de M5STACK Core2)
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
#include <M5Unified.h>
#include <ArduinoJson.h>
#include <WiFi.h>
#include <PubSubClient.h>
#include <ezTime.h>
#include <HTTPClient.h>

const char* ssid = "YOURSSID";
const char* password = "YOURPASSWORD";
const char* EToken = "YOURTOKEN";   // Op te halen bij website enever.nl
const char* TodayUrl = "https://enever.nl/api/stroomprijs_vandaag.php?token=";

double Prijzen[24];
double Sorted[24]; 
double prijsGemiddelde = 0.0;
char buffer[20];

String LaatstOpgehaald;
Timezone Woonplaats;

void setup() {  
  M5.begin();
  Woonplaats.setPosix("CET-1:00");  
  M5.Lcd.setTextSize(2);
  M5.Lcd.fillScreen(BLACK); 
  M5.Lcd.setCursor(0, 0);
  WiFi.begin(ssid, password);
  int Teller = 0;
  while (WiFi.status() != WL_CONNECTED && (Teller < 50)) delay(Teller++); delay(1000);// Nb. Teller zorgt ervoor dat we niet eindeloos blijven proberen.
  if(WiFi.status() != WL_CONNECTED) exit(0);                                          //  Als we echt geen WiFi hebben, dan maar opnieuw opstarten  
  void updateNTP();  waitForSync();   
}

void loop() {  
  int Nu         = Woonplaats.dateTime("H").toInt();
  String Vandaag = Woonplaats.dateTime("y-m-d");  
  String Antwoord;  
  int TariefUur = 0;
  
  if(LaatstOpgehaald != Vandaag){  // Hebben we vandaag de prijzen nog niet?, dan even ophalen... 
  double prijsTotaal = 0.0;
  HTTPClient http;
    String serverPath = TodayUrl + String(EToken); // Construct API URL
    http.begin(serverPath);
    int httpResponseCode = http.GET();
    if (httpResponseCode == 200) {      // Check for the http returning code     
      Antwoord = http.getString();      
      } else { delay(15000); exit(0);}  // Als het niet werkt, dan maar reset en opnieuw beginnen....
  http.end();
  
  DynamicJsonDocument doc(16384);    // https://arduinojson.org/v6/assistant/ voor code en sizing :-)
  DeserializationError error = deserializeJson(doc, Antwoord);
  if (error) { M5.Lcd.println("deserializeJson() failed: ");    M5.Lcd.println(error.c_str()); }
  else { LaatstOpgehaald = Vandaag;
    for (JsonObject data_item : doc["data"].as<JsonArray>()) {
      const char* data_item_datum = data_item["datum"]; 
      //const char* data_item_prijs = data_item["prijs"];     // Energiemarkt
      //const char* data_item_prijs = data_item["prijsANWB"]; // ANWB
      const char* data_item_prijs = data_item["prijsTI"];     // Tibber
      prijsTotaal = prijsTotaal + atof(data_item_prijs);
      Sorted[TariefUur] = atof(data_item_prijs); 
      Prijzen[TariefUur++] = atof(data_item_prijs);     
      }  prijsGemiddelde = prijsTotaal / 24;   
    }
  }

 for (int i = 0; i < 23; i++)    // Sorteren aflopend op prijs in array Sorted
  for (int j = 23; j > i; j--)
   if(Sorted[i] < Sorted[j]){double X = Sorted[j]; Sorted[j] = Sorted[i]; Sorted[i] = X;} 

 for (int i = 0; i <= 23; i++) {       // Visualisatie van de 24 prijzen
    M5.Lcd.setTextColor(WHITE, BLACK); 
    if(Prijzen[i]  < Sorted[16])M5.Lcd.setTextColor(YELLOW, BLACK);       
    if(Prijzen[i] == Sorted[23])M5.Lcd.setTextColor(GREEN,  BLACK); // Goedkoopste uur 
    if(Prijzen[i]  > Sorted[5]) M5.Lcd.setTextColor(ORANGE, BLACK);         
    if(Prijzen[i] == Sorted[0]) M5.Lcd.setTextColor(RED,    BLACK);    // Duurste uur    
    M5.Lcd.setCursor(0 , i * 18 );  if(i >= 12) M5.Lcd.setCursor(160 , i * 18 - 216 );    
    if(i == Nu)sprintf(buffer, "%2d->%.5f ", i, Prijzen[i]); 
          else sprintf(buffer, "%2d: %.5f ", i, Prijzen[i]); M5.Lcd.print(buffer);  
    }  M5.Lcd.println(""); sprintf(buffer, "Avg:%.5f  ", prijsGemiddelde); M5.Lcd.print(buffer);
  if(Prijzen[Nu] > prijsGemiddelde) M5.Lcd.print("HOOG"); else M5.Lcd.print("LAAG"); delay(5000);
}



Aangepast als ‘code’
Heb hem een beetje aangepast.
Nogmaals dankjewel.

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

  • HermanGast
  • Registratie: November 2021
  • Laatst online: 21:15

HermanGast

Exige GT3

Goedzo, blij dat je er wat aan hebt.
Wat me opvalt is dat het pijltje al achter de 20 staat, maar je tijd nog op 19:32 staat.

Gasloos, 14,99kWp, Ekrano, 70kWh Pylontech, 3xVictron MP8000, M5stack, MQTT


  • N0EL
  • Registratie: November 2019
  • Laatst online: 28-10 19:34
Oeps.... Klein foutje. Even aanpassen :-)

code:
1
sprintf(buffer, "%02d:%02d", (hour() + 1) % 24, minute());

  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
Even een vraagje van mijn kant zijn er op het forum personen bekend met de meters van
https://www.elgris.nl/product/smart-meter/
en met name de wifi uitvoering
ben op zoek naar een min of meer plug en play oplossing ter vervanging van de mqtt meter die nu aan de niet zo slimme meter hangt . Heb dus de pech hier dat ik een 4 serie meter heb van landis en deze dus met 10 seconde de gegevens door zend . En er eigelijk niet mee valt te regelen .

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • prein2
  • Registratie: Februari 2007
  • Laatst online: 16:57

prein2

Monument verduurzamen is leuk

@djazzy eaarom zou je niet een van de door victron aangeraden meters gebruiken? Is dan toch veel handiger?!

  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
Waarom niet de EM24 ethernet. maar een alternatief.
ik ben een hollander dus tja begint met de prijs.
en als je even naar een van de pdfjes kijkt met de mogelijkheden van de Elgris dan
lijkt het erop dat er toch een stuk meer mogelijk is, Al is het alleen al de ingebouwde webserver.
en de bewering

 Een, twee of driefasige metingen
 SMA Energy Meter / EMETER compatible
 Victron EM-24 en SDM-630 TCP etc compatible

De elgris SMART METER WiFi kan ook als alternatieve smart meter samen met een Victron Venus of
Cerbo GX unit.
De elgris SMART METER WiFi wordt via TCP verbonden en automatisch gevonden tijdens het scannen
naar Modbus TCP devices

op het eerste gezicht dus alles wat in mijn lijstje staat.
en vandaar ook de vraag of er iemand is met ervaring

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • John245
  • Registratie: Januari 2020
  • Laatst online: 21:55
djazzy schreef op vrijdag 29 maart 2024 @ 10:26:
Even een vraagje van mijn kant zijn er op het forum personen bekend met de meters van
https://www.elgris.nl/product/smart-meter/
en met name de wifi uitvoering
ben op zoek naar een min of meer plug en play oplossing ter vervanging van de mqtt meter die nu aan de niet zo slimme meter hangt . Heb dus de pech hier dat ik een 4 serie meter heb van landis en deze dus met 10 seconde de gegevens door zend . En er eigelijk niet mee valt te regelen .
Peroonlijk zou ik dit bekabeld willen hebben. Verder ziet het er wel interresant uit.

Tibber; 3-fase Victron ESS, 38,4 kWh opslag; gasloos sinds 2013; Nibe F1245-10PC; SAP; HomeSeer4; Proxmox 8


  • M66B
  • Registratie: September 2007
  • Niet online
John245 schreef op vrijdag 29 maart 2024 @ 12:18:
[...]

Peroonlijk zou ik dit bekabeld willen hebben. Verder ziet het er wel interresant uit.
Dit, en behalve dat vind ik 150-200 euro voor een energiemeter bizar duur. Bij AliExpress koop je een monofase meter voor 100A voor 15 euro. Als daar belangstelling voor is, zal ik volgende week, als ik het ding ontvangen heb, laten weten wat ik er van vind.

[ Voor 6% gewijzigd door M66B op 29-03-2024 16:31 ]


  • zonnepaneelxl
  • Registratie: Augustus 2022
  • Laatst online: 24-10 11:51
:+

[ Voor 163% gewijzigd door zonnepaneelxl op 30-03-2024 23:15 ]

5740wp 30gr Noord | 4815wp 35gr Oost | 2140wp 10gr Oost | 4800wp 30gr Zuid | 3645wp 8gr Zuid | 5760wp 35gr West | 1215wp 5gr Zuid | Totaal 28115WP


  • E63s
  • Registratie: November 2021
  • Laatst online: 12:19
zonnepaneelxl schreef op vrijdag 29 maart 2024 @ 18:56:
Ik heb sinds vanmiddag circa 16:00 een probleem.

Multiplus blijft in bulk (INACTIEF) hangen en wil niet meer ontladen ( probeert accupakket op 100% te houden op dit moment)
Het ziet er namelijk naar uit dat het commando discharge maximaal niet meer aangestuurd word. ( heeft Victron toevallig wat veranderd vandaag?)
Maximaal omvormer begrenzing 11000W en in DVCC max laadstroom 210A
Ik heb de Ve.Bus al herstart en alles opnieuw opgestart.
Ik zou dit ook met nodered kunnen doen natuurlijk maar hier heb ik me nog te weinig in verdiept.

Dit is mijn dagelijkse ritueel op dit moment.

Handmatig om 8:00
Geoptimaliseerd zonder BatteryLife --> Relais 1 AAN---> maximaal ontladen op 11000W

Handmatig om 12:00
Houd accu's geladen ---> Relais 1 UIT ---> Maximaal opladen 210A

Handmatig om 16:00
Geoptimaliseerd zonder BatteryLife --> Relais 1 AAN ---> maximaal ontladen op 11000W

Handmatig om 24:00
Houd accu's geladen ---> Relais 1 UIT ---> Maximaal opladen 210A

Acculaad toestand staat op 0%
Met Relais 1 schakel ik tussen Grid 1 en Grid 2 (SAP/PAP) :+
Zo kan ik circa 135kwh laden en 105kwh ontladen op dit moment met circa 90kw aan accupakketten.

Is er een andere manier op toch op dit moment maximaal te kunnen ontladen?

Heb trouwens wel op 12-3-2024 een mail gehad van Victron Lv3 support
Zou dit hier mee te maken hebben?

Hello xxxxxx,

We’ve noticed that you are currently running Dynamic ESS in ‘Buy’ or ‘Sell’ mode on https://betavrm.victronen...allation/xxxxxx/dashboard.

With Dynamic ESS moving from beta VRM to regular VRM shortly, we will be removing these two modes.
As your system is on one of these two modes, we will switch the Dynamic ESS mode to ‘Off’ for your system in the next days.

We are removing these 2 modes because they are hardly used, so in order to keep it simple, we will limit to ‘Auto’ or ‘Off’ as modes. We prioritize working on improving other parts of Dynamic ESS first, before re-evaluating these modes.

Of course you are free to set it into Auto mode. Do notice that for best results you should run firmware version 3.30~14 or higher.
Log even in via SSH en tik daar het commando dbus-spy in. Pijltje omlaag naar HUB4, dan pijltje naar rechts. Daar staat MaxDischargePower. Welk getal staat daar helemaal rechts?

SmartESS dynamisch handelen voor Victron omvormers


  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
M66B schreef op vrijdag 29 maart 2024 @ 16:29:
[...]

Dit, en behalve dat vind ik 150-200 euro voor een energiemeter bizar duur. Bij AliExpress koop je een monofase meter voor 100A voor 15 euro. Als daar belangstelling voor is, zal ik volgende week, als ik het ding ontvangen heb, laten weten wat ik er van vind.
M66B vergeet niet dan je met alleen 1 energie meter er nog niet bent . Ook zou je de comunicatie tussen de meter en bv een cerbo gx nog moeten maken
en ja dat kan ook nog wel goedkoop

https://www.fruugo.nl/rs4...lug/p-218351894-465879494

Maar wil je materiaal van ?????? oorsprong in je meter kast .

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • HermanGast
  • Registratie: November 2021
  • Laatst online: 21:15

HermanGast

Exige GT3

N0EL schreef op woensdag 27 maart 2024 @ 20:53:
Oeps.... Klein foutje. Even aanpassen :-)

code:
1
sprintf(buffer, "%02d:%02d", (hour() + 1) % 24, minute());
Als je wilt, dan deel ik ook de M5stack code om de Victron met MQTT te lezen en te besturen. Maar die moet ik dan nog wel eerst opschonen want na tal van experimentjes is de code een beetje vervuild/rommelig/onleesbaar geworden.
Vooral handig als je geen Homey/NAS/HA of andere aanverwante apparatuur in de lucht wilt houden. En geen token nodig, werkt lokaal met alleen je WiFi SSID/password nodig.
M5Stack: the average power consumption during active mode is 78.32 mW. :)

[ Voor 20% gewijzigd door HermanGast op 29-03-2024 21:09 ]

Gasloos, 14,99kWp, Ekrano, 70kWh Pylontech, 3xVictron MP8000, M5stack, MQTT


  • M66B
  • Registratie: September 2007
  • Niet online
djazzy schreef op vrijdag 29 maart 2024 @ 20:52:
[...]


M66B vergeet niet dan je met alleen 1 energie meter er nog niet bent . Ook zou je de comunicatie tussen de meter en bv een cerbo gx nog moeten maken
en ja dat kan ook nog wel goedkoop
Heb ik al gemaakt:

https://github.com/M66B/sdm120pv
https://www.fruugo.nl/rs4...lug/p-218351894-465879494

Maar wil je materiaal van ?????? oorsprong in je meter kast .
Dat is altijd een goede vraag, maar is het meeste sowieso geen Chinees spul. Waar komt bijvoorbeeld de veelgebruikte sdm120 vandaan?

Dat wil natuurlijk niet altijd zeggen dat het goed is.

  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
Laten we zeggen Azie :).
En ja ik vind het ook best wel een groot prijs verschil .
daarom zocht ik dus naar 1 all in one oplossing die goedkoper is als de victron aanbevolen meters

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • N0EL
  • Registratie: November 2019
  • Laatst online: 28-10 19:34
HermanGast schreef op vrijdag 29 maart 2024 @ 21:02:
[...]

Als je wilt, dan deel ik ook de M5stack code om de Victron met MQTT te lezen en te besturen. Maar die moet ik dan nog wel eerst opschonen want na tal van experimentjes is de code een beetje vervuild/rommelig/onleesbaar geworden.
Vooral handig als je geen Homey/NAS/HA of andere aanverwante apparatuur in de lucht wilt houden. En geen token nodig, werkt lokaal met alleen je WiFi SSID/password nodig.
M5Stack: the average power consumption during active mode is 78.32 mW. :)
Lijkt mij heel leuk om wat mee te gaan testen.
Dus bij deze ja graag.

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 16:52
djazzy schreef op vrijdag 29 maart 2024 @ 21:55:
Laten we zeggen Azie :).
En ja ik vind het ook best wel een groot prijs verschil .
daarom zocht ik dus naar 1 all in one oplossing die goedkoper is als de victron aanbevolen meters
Wat is er mis met je huidige MQTT meter? Als die werkt gewoon die lekker houden.

Dat is nog goedkoper dan iets aanschaffen :+.

6200 Wp | eGolf 32kWh | ESS Victron 18kWh


  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
zonnepaneelxl schreef op vrijdag 29 maart 2024 @ 18:56:
Ik heb sinds vanmiddag circa 16:00 een probleem.

Multiplus blijft in bulk (INACTIEF) hangen en wil niet meer ontladen ( probeert accupakket op 100% te houden op dit moment)
Het ziet er namelijk naar uit dat het commando discharge maximaal niet meer aangestuurd word. ( heeft Victron toevallig wat veranderd vandaag?)
Maximaal omvormer begrenzing 11000W en in DVCC max laadstroom 210A
Ik heb de Ve.Bus al herstart en alles opnieuw opgestart.
Ik zou dit ook met nodered kunnen doen natuurlijk maar hier heb ik me nog te weinig in verdiept.

Dit is mijn dagelijkse ritueel op dit moment.

Handmatig om 8:00
Geoptimaliseerd zonder BatteryLife --> Relais 1 AAN---> maximaal ontladen op 11000W

Handmatig om 12:00
Houd accu's geladen ---> Relais 1 UIT ---> Maximaal opladen 210A

Handmatig om 16:00
Geoptimaliseerd zonder BatteryLife --> Relais 1 AAN ---> maximaal ontladen op 11000W

Handmatig om 24:00
Houd accu's geladen ---> Relais 1 UIT ---> Maximaal opladen 210A

Acculaad toestand staat op 0%
Met Relais 1 schakel ik tussen Grid 1 en Grid 2 (SAP/PAP) :+
Zo kan ik circa 135kwh laden en 105kwh ontladen op dit moment met circa 90kw aan accupakketten.

Is er een andere manier op toch op dit moment maximaal te kunnen ontladen?

Heb trouwens wel op 12-3-2024 een mail gehad van Victron Lv3 support
Zou dit hier mee te maken hebben?

Hello xxxxxx,

We’ve noticed that you are currently running Dynamic ESS in ‘Buy’ or ‘Sell’ mode on https://betavrm.victronen...allation/xxxxxx/dashboard.

With Dynamic ESS moving from beta VRM to regular VRM shortly, we will be removing these two modes.
As your system is on one of these two modes, we will switch the Dynamic ESS mode to ‘Off’ for your system in the next days.

We are removing these 2 modes because they are hardly used, so in order to keep it simple, we will limit to ‘Auto’ or ‘Off’ as modes. We prioritize working on improving other parts of Dynamic ESS first, before re-evaluating these modes.

Of course you are free to set it into Auto mode. Do notice that for best results you should run firmware version 3.30~14 or higher.
Heb je al geprobeerd om hetzelfde te doen met je grid setpoint?

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • Pim57
  • Registratie: December 2020
  • Nu online
zonnepaneelxl schreef op vrijdag 29 maart 2024 @ 18:56:
Ik heb sinds vanmiddag circa 16:00 een probleem.

Multiplus blijft in bulk (INACTIEF) hangen en wil niet meer ontladen ( probeert accupakket op 100% te houden op dit moment)
Het ziet er namelijk naar uit dat het commando discharge maximaal niet meer aangestuurd word. ( heeft Victron toevallig wat veranderd vandaag?)
Maximaal omvormer begrenzing 11000W en in DVCC max laadstroom 210A
Ik heb de Ve.Bus al herstart en alles opnieuw opgestart.
Ik zou dit ook met nodered kunnen doen natuurlijk maar hier heb ik me nog te weinig in verdiept.

Dit is mijn dagelijkse ritueel op dit moment.

Handmatig om 8:00
Geoptimaliseerd zonder BatteryLife --> Relais 1 AAN---> maximaal ontladen op 11000W

Handmatig om 12:00
Houd accu's geladen ---> Relais 1 UIT ---> Maximaal opladen 210A

Handmatig om 16:00
Geoptimaliseerd zonder BatteryLife --> Relais 1 AAN ---> maximaal ontladen op 11000W

Handmatig om 24:00
Houd accu's geladen ---> Relais 1 UIT ---> Maximaal opladen 210A

Acculaad toestand staat op 0%
Met Relais 1 schakel ik tussen Grid 1 en Grid 2 (SAP/PAP) :+
Zo kan ik circa 135kwh laden en 105kwh ontladen op dit moment met circa 90kw aan accupakketten.

Is er een andere manier op toch op dit moment maximaal te kunnen ontladen?

Heb trouwens wel op 12-3-2024 een mail gehad van Victron Lv3 support
Zou dit hier mee te maken hebben?

Hello xxxxxx,

We’ve noticed that you are currently running Dynamic ESS in ‘Buy’ or ‘Sell’ mode on https://betavrm.victronen...allation/xxxxxx/dashboard.

With Dynamic ESS moving from beta VRM to regular VRM shortly, we will be removing these two modes.
As your system is on one of these two modes, we will switch the Dynamic ESS mode to ‘Off’ for your system in the next days.

We are removing these 2 modes because they are hardly used, so in order to keep it simple, we will limit to ‘Auto’ or ‘Off’ as modes. We prioritize working on improving other parts of Dynamic ESS first, before re-evaluating these modes.

Of course you are free to set it into Auto mode. Do notice that for best results you should run firmware version 3.30~14 or higher.
Dat mailtje lijkt mij nogal duidelijk. Wat jij nu doet heeft Victron uitgeschakeld. :(

En omdat je handmatig zit te sturen, kun je net zo goed met alleen ESS werken.

Kia e-niro, smartEVSE, SolarEdge O/W 3/4 kW, Ferroli wpb 90 lt., Daikin 4kW monoblock, Victron MP2-5000 + 15 kWh, gasloos 2023


  • zonnepaneelxl
  • Registratie: Augustus 2022
  • Laatst online: 24-10 11:51
De shh verbinding krijg ik niet werkend.

Ben er nu wel achter als ik nu naar remoteconsole > instellingen > Ess > dynamic Ess > modus stond op automatisch en nu veranderd naar verkopen en accu’s ontladen weer :+

5740wp 30gr Noord | 4815wp 35gr Oost | 2140wp 10gr Oost | 4800wp 30gr Zuid | 3645wp 8gr Zuid | 5760wp 35gr West | 1215wp 5gr Zuid | Totaal 28115WP


  • M66B
  • Registratie: September 2007
  • Niet online
zonnepaneelxl schreef op zaterdag 30 maart 2024 @ 09:33:
De shh verbinding krijg ik niet werkend.

Ben er nu wel achter als ik nu naar remoteconsole > instellingen > Ess > dynamic Ess > modus stond op automatisch en nu veranderd naar verkopen en accu’s ontladen weer :+
Hoe ssh aangezet kan worden, wordt hier uitgelegd:

https://www.victronenergy.com/live/ccgx:root_access

  • zonnepaneelxl
  • Registratie: Augustus 2022
  • Laatst online: 24-10 11:51
Heb deze stappen ondernomen.

Heb putty geïnstalleerd.
Veranderd naar superuser en wachtwoord naar 123456 ( minimaal 6 karakters volgens handleiding Victron)

Echter krijg ik geen contact met ssh root@192.168.1.23 dit adres.
Ip adres ingevuld wat in de vrm staat krijg dan wel verbinding echter moet er een username ingevuld worden en deze heb ik blijkbaar niet.
Superuser / admin / root werkt allemaal niet.

Ik begreep iets over terminal gebruiken maar hier ben ik onbekend mee.

5740wp 30gr Noord | 4815wp 35gr Oost | 2140wp 10gr Oost | 4800wp 30gr Zuid | 3645wp 8gr Zuid | 5760wp 35gr West | 1215wp 5gr Zuid | Totaal 28115WP


  • M66B
  • Registratie: September 2007
  • Niet online
zonnepaneelxl schreef op zaterdag 30 maart 2024 @ 09:45:
Heb deze stappen ondernomen.

Heb putty geïnstalleerd.
Veranderd naar superuser en wachtwoord naar 123456 ( minimaal 6 karakters volgens handleiding Victron)

Echter krijg ik geen contact met ssh root@192.168.1.23 dit adres.
Ip adres ingevuld wat in de vrm staat krijg dan wel verbinding echter moet er een username ingevuld worden en deze heb ik blijkbaar niet.
Superuser / admin / root werkt allemaal niet.

Ik begreep iets over terminal gebruiken maar hier ben ik onbekend mee.
192.168.1.23 is een voorbeeldadres. Je moet het lokale adres van jouw apparaat gebruiken (dat heb je zo te zien al geprobeerd/gedaan).

De username is in ieder geval root.

Heb je dit gedaan?

https://www.victronenergy...ss#enable_sshd_and_log_in

  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
Jazsie schreef op zaterdag 30 maart 2024 @ 00:19:
[...]


Wat is er mis met je huidige MQTT meter? Als die werkt gewoon die lekker houden.

Dat is nog goedkoper dan iets aanschaffen :+.
10 sec per telegram is schijnbaar te traag om een mooi stabiel pendelgedrag te krijgen rond de 0
zit nu met een over shoot van +1000 en -1000 bij zeg 400 watt gebruik
terwijl dat toch wel een stuk lager zou moeten kunnen lijkt mij.

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • M66B
  • Registratie: September 2007
  • Niet online
djazzy schreef op zaterdag 30 maart 2024 @ 10:23:
[...]


10 sec per telegram is schijnbaar te traag om een mooi stabiel pendelgedrag te krijgen rond de 0
zit nu met een over shoot van +1000 en -1000 bij zeg 400 watt gebruik
terwijl dat toch wel een stuk lager zou moeten kunnen lijkt mij.
MQTT kan met zekerheid veel sneller berichten sturen, dus dit is niet een beperking van MQTT.

  • E63s
  • Registratie: November 2021
  • Laatst online: 12:19
M66B schreef op zaterdag 30 maart 2024 @ 10:55:
[...]

MQTT kan met zekerheid veel sneller berichten sturen, dus dit is niet een beperking van MQTT.
2 seconden heb ik ergens gelezen. Nog steeds te traag om realtime bij te sturen

SmartESS dynamisch handelen voor Victron omvormers


  • E63s
  • Registratie: November 2021
  • Laatst online: 12:19
zonnepaneelxl schreef op zaterdag 30 maart 2024 @ 09:45:
Heb deze stappen ondernomen.

Heb putty geïnstalleerd.
Veranderd naar superuser en wachtwoord naar 123456 ( minimaal 6 karakters volgens handleiding Victron)

Echter krijg ik geen contact met ssh root@192.168.1.23 dit adres.
Ip adres ingevuld wat in de vrm staat krijg dan wel verbinding echter moet er een username ingevuld worden en deze heb ik blijkbaar niet.
Superuser / admin / root werkt allemaal niet.

Ik begreep iets over terminal gebruiken maar hier ben ik onbekend mee.
en username root en root@ is dubbelop

SmartESS dynamisch handelen voor Victron omvormers


  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
Zoals ik al zei. het ligt aan de slimme meter die uitgelezen word dsrm 4 en die is gewoon te traag om de 10 sec 1 telegram. De dsrm 5 zou rond de 1 sec liggen en al wat beter bruikbaar.

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 16:52
E63s schreef op zaterdag 30 maart 2024 @ 10:57:
[...]
2 seconden heb ik ergens gelezen. Nog steeds te traag om realtime bij te sturen
Neen hoor, eerder 10.000 berichten per seconden kan MQTT aan :).
djazzy schreef op zaterdag 30 maart 2024 @ 12:04:
Zoals ik al zei. het ligt aan de slimme meter die uitgelezen word dsrm 4 en die is gewoon te traag om de 10 sec 1 telegram. De dsrm 5 zou rond de 1 sec liggen en al wat beter bruikbaar.
Ik las het ook anders, ik dacht dat je een losse MQTT meter gebruikte vandaar mijn opmerking.

Je maakt gebruikt van de P1 poort van je slimme meter die helaas maar om de 10 seconden een bericht stuurt en dat stuur jij weer door via MQTT.

Oplossing is een homewizard als je wifi wilt of een gewone Eastron RS485 meter, eventueel daar aan een RS485 <> Ethernet converter.

Mijn meterkast is vol, en heb de sensorbox gebruikt van EV lader die met CT klemmen werkt :).

6200 Wp | eGolf 32kWh | ESS Victron 18kWh


  • M66B
  • Registratie: September 2007
  • Niet online
Mijn meterkast is vol, en heb de sensorbox gebruikt van EV lader die met CT klemmen werkt :).
Mijn groepenkast was ook vol, dus ik heb dit erbij geplaatst:

https://www.elektramat.nl...odules-218x180-mm-gd110e/

De kosten zijn het niet in ieder geval.

  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
Heb daarnet energie metertje met rs485 besteld en ook de omvormer naar ethernet ,
En ja M66B dat goedkope ding van ali .
en Jazsie heb hier ook een meter hangen van homewizard voor wat paneeltjes krijg ik met geen mogelijkheid gekoppeld aan de cerbro. ( de oplossing en drivers voor de P1 van homewizard is wel te doen ) maar dan weer de slime meter uitlezen.

Gaan we gewoon weer een test opstellinkje maken om lekker bezig te zijn .

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • M66B
  • Registratie: September 2007
  • Niet online
djazzy schreef op zaterdag 30 maart 2024 @ 14:19:
Heb daarnet energie metertje met rs485 besteld en ook de omvormer naar ethernet ,
En ja M66B dat goedkope ding van ali .
en Jazsie heb hier ook een meter hangen van homewizard voor wat paneeltjes krijg ik met geen mogelijkheid gekoppeld aan de cerbro. ( de oplossing en drivers voor de P1 van homewizard is wel te doen ) maar dan weer de slime meter uitlezen.

Gaan we gewoon weer een test opstellinkje maken om lekker bezig te zijn .
Ik vermoed dat ik dat gevaarlijk goedkope ding volgende week krijg. Ik ga het bedraad doen met een USB/RS485 stick. Als het goed is, is het compatibel met een SDM120, en zo niet, dan pas in de driver aan.

Ik kan helpen met de software als je wilt. Stuur maar een PM in dat geval.

  • Pim57
  • Registratie: December 2020
  • Nu online
Jazsie schreef op zaterdag 30 maart 2024 @ 12:44:

Mijn meterkast is vol, en heb de sensorbox gebruikt van EV lader die met CT klemmen werkt :).
Dat plan had ik ook. Ik neem even aan dat het die sensorbox van de smartEVSE is?

Ik had gedacht om die met een rs485->usb adapter aan te sluiten op de Cerbo. Maar ik ben er nog niet achter of dat zo kan en welke software je daarbij nodig hebt.

Kia e-niro, smartEVSE, SolarEdge O/W 3/4 kW, Ferroli wpb 90 lt., Daikin 4kW monoblock, Victron MP2-5000 + 15 kWh, gasloos 2023


  • M66B
  • Registratie: September 2007
  • Niet online
Pim57 schreef op zaterdag 30 maart 2024 @ 17:26:
[...]

Dat plan had ik ook. Ik neem even aan dat het die sensorbox van de smartEVSE is?

Ik had gedacht om die met een rs485->usb adapter aan te sluiten op de Cerbo. Maar ik ben er nog niet achter of dat zo kan en welke software je daarbij nodig hebt.
Je hebt of een door Victron ondersteunde meter nodig, of een custom driver, zoals de mjine voor een SDM120 modbus meter:

https://github.com/M66B/sdm120pv

Er zijn meer projecten zoals dit voor andere meters te vinden op diverse plaatsen.

  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 16:52
Pim57 schreef op zaterdag 30 maart 2024 @ 17:26:
[...]

Dat plan had ik ook. Ik neem even aan dat het die sensorbox van de smartEVSE is?

Ik had gedacht om die met een rs485->usb adapter aan te sluiten op de Cerbo. Maar ik ben er nog niet achter of dat zo kan en welke software je daarbij nodig hebt.
Klopt ik gebruik de sensorbox van SmartEVSE voor zowel SmartEVSE en voor Victron (helaas geeft mijn slimme meter ook maar per 10 seconden telegram).

Sensorbox heb ik aangesloten via RS485 op een RS485 <> Ethernet. Deze lees ik uit via NodeRed op de Cerbo die het weer doorstuurt naar Victron alszijnde "P1-MQTT Meter".

Voor SmartEVSE zelf stuur ik de data door naar MQTT via NodeRed die ik op HA heb draaien.

Ik heb dus 2 connecties naar de RS485 <> Ethernet converter, zou het met 1 NodeRed kunnen doen maar heb liever Victron en SmartEVSE apart. Als HA eruit ligt dan ligt SmartEVSE er sowieso uit aangezien die aangestuurd wordt door HA. Maar dan blijft Victron gewoon doorlopen want die heeft zijn eigen connectie.

Afbeeldingslocatie: https://tweakers.net/i/C-Z5Zk4ZSI8D6z2jVNKhFiammtc=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/E6Y8G2sveBg7YIT2i6eDbB6i.png?f=user_large

Afbeeldingslocatie: https://tweakers.net/i/_pYuJpcxUKrPA50RzYto5Ht1djA=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/vjKRzI6i2QbFrcCgr4pxCuvF.png?f=user_large

6200 Wp | eGolf 32kWh | ESS Victron 18kWh


  • Pim57
  • Registratie: December 2020
  • Nu online
Jazsie schreef op zondag 31 maart 2024 @ 00:16:
[...]


Klopt ik gebruik de sensorbox van SmartEVSE voor zowel SmartEVSE en voor Victron (helaas geeft mijn slimme meter ook maar per 10 seconden telegram).

Sensorbox heb ik aangesloten via RS485 op een RS485 <> Ethernet. Deze lees ik uit via NodeRed op de Cerbo die het weer doorstuurt naar Victron alszijnde "P1-MQTT Meter".

Voor SmartEVSE zelf stuur ik de data door naar MQTT via NodeRed die ik op HA heb draaien.

Ik heb dus 2 connecties naar de RS485 <> Ethernet converter, zou het met 1 NodeRed kunnen doen maar heb liever Victron en SmartEVSE apart. Als HA eruit ligt dan ligt SmartEVSE er sowieso uit aangezien die aangestuurd wordt door HA. Maar dan blijft Victron gewoon doorlopen want die heeft zijn eigen connectie.

[Afbeelding]

[Afbeelding]
Ik heb hier een rs485-usb adapter liggen. Hopelijk werkt dat ook.

Helaas nog nooit met NodeRed gewerkt, dus dat wordt nog even een leercurve. Nog tips?

Kia e-niro, smartEVSE, SolarEdge O/W 3/4 kW, Ferroli wpb 90 lt., Daikin 4kW monoblock, Victron MP2-5000 + 15 kWh, gasloos 2023


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Zo te lezen alhier niet echt makkelijk een multiplus 2. Vraag me af of dit wel haalbaar is voor een gemiddeld leek zonder programmeer ervaring. Ikzelf huiver ook wel, vooral data uit de slimme meter uitlezen en verwerken. Zeker bij een 3 fase aansluiting waarbij je maar van 2 fases de data wilt gebruiken en dan wilt anticiperen levering aan huis in combinatie met dynamische energie tarieven.
Ik kan namelijk onder voor mij heel aantrekkelijke condities een multiplus kopen maar twijfel vanwege onwetendheid.

  • prein2
  • Registratie: Februari 2007
  • Laatst online: 16:57

prein2

Monument verduurzamen is leuk

Willie Wortel schreef op zondag 31 maart 2024 @ 21:19:
Zo te lezen alhier niet echt makkelijk een multiplus 2. Vraag me af of dit wel haalbaar is voor een gemiddeld leek zonder programmeer ervaring. Ikzelf huiver ook wel, vooral data uit de slimme meter uitlezen en verwerken. Zeker bij een 3 fase aansluiting waarbij je maar van 2 fases de data wilt gebruiken en dan wilt anticiperen levering aan huis in combinatie met dynamische energie tarieven.
Ik kan namelijk onder voor mij heel aantrekkelijke condities een multiplus kopen maar twijfel vanwege onwetendheid.
Ik kan me geen beter apparaat verzinnen..

Maar ja. Waar je veel kunt instellen, kun je ook veel rare instellingen maken. Als je de ess handleiding goed leest is het allemaal makkelijk...

  • KC27
  • Registratie: December 2009
  • Niet online
Willie Wortel schreef op zondag 31 maart 2024 @ 21:19:
Zo te lezen alhier niet echt makkelijk een multiplus 2. Vraag me af of dit wel haalbaar is voor een gemiddeld leek zonder programmeer ervaring. Ikzelf huiver ook wel, vooral data uit de slimme meter uitlezen en verwerken. Zeker bij een 3 fase aansluiting waarbij je maar van 2 fases de data wilt gebruiken en dan wilt anticiperen levering aan huis in combinatie met dynamische energie tarieven.
Ik kan namelijk onder voor mij heel aantrekkelijke condities een multiplus kopen maar twijfel vanwege onwetendheid.
Met wat jij allemaal op software gebied doet moet dit voor jou een koud kunstje zijn. Hier geldt: alles kan en "in de beperking toont zich de meester" onder het motto "less is more". Je moet wel een gx apparaat hebben maar dat kan ook een raspberry zijn met Venus OS.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 30-10 21:18
DrDeJe schreef op vrijdag 1 maart 2024 @ 08:24:
[...]


Wanneer je je laadpaal op de AC-OUT kunt aansluiten kun je dit prima binnen de software op je Cerbo instellen. Kan dit niet....... dan zou je een automation kunnen maken in HA (dat heb ik zelf - omdat ik geen AC-OUT gebruik). Werkt ook prima.
Zou je over je eerste voorbeeld wellicht wat meer kunnen vertellen?

Het stond nog op m’n lijstje, maar nadat ik de afgelopen dagen al een paar keer heb gezien dat de laadpaal vanuit de thuisaccu werd gevoed wordt het nu echt tijd om hier iets aan te gaan doen.
Laadpaal betreft de Alfen Eve pro-line die via ethernet ook aan het thuisnetwerk hangt.
Multiplussen met Cerbo.
Alle verbruikers op AC-OUT 1 (dus ook laadpaal)

Tot nu toe de volgende oplossingen voorbij zien komen, maar die zijn (net) niet waar ik naar op zoek ben:
Laadpaal tussen meterkast en AC-IN plaatsen. Ik loop dan het risico dat de netzekering eruit gaat als zowel laadpaal als Victron maximaal gaan laden bij lage energieprijzen.

Laadpaal in-/uitschakelen via relais (generator start/stop bijvoorbeeld) op de Cerbo. De laadpaal werkt door het aanbieden van een laadpas ivm verrekening. Hard in-/uitschakelen zorgt ervoor dat ik eerst handmatig weer de laadpas moet aanbieden.

Geheel extern aansturen. Uitlezen wat het vermogen van de laadpaal is en Cerbo opdracht geven dit in mindering te brengen. Idealiter draait alles op 1 device (Cerbo).

Als ik er zo over nadenk zou ik het afgenomen vermogen van de laadpaal uitlezen. Bij voorkeur rechtstreeks uit de laadpaal via Modbus TCP (zie bijvoorbeeld dit document van Alfen met de registers) of met een meter van Victron ertussen. Deze data vervolgens gebruiken om in de Cerbo het maximaal aan AC-OUT1 te leveren vermogen verlagen met het verbruik van de laadpaal. Hierdoor wordt de woning wel vanuit de thuisaccu gevoed bijvoorbeeld maar zal het door de laadpaal gevraagde vermogen altijd vanuit het net komen.

Kortom, ik ben er nog niet uit :) Alle tips zijn welkom!

Ik heb in dit topic berichten van onderstaande personen over laadpalen, wellicht dat jullie nog verder gekomen zijn?
@Jazsie @V_ger @vanWalsum

  • DrDeJe
  • Registratie: November 2017
  • Laatst online: 16-07 13:57
Niek_ schreef op maandag 1 april 2024 @ 09:17:
[...]

Zou je over je eerste voorbeeld wellicht wat meer kunnen vertellen?

Het stond nog op m’n lijstje, maar nadat ik de afgelopen dagen al een paar keer heb gezien dat de laadpaal vanuit de thuisaccu werd gevoed wordt het nu echt tijd om hier iets aan te gaan doen.
Laadpaal betreft de Alfen Eve pro-line die via ethernet ook aan het thuisnetwerk hangt.
Multiplussen met Cerbo.
Alle verbruikers op AC-OUT 1 (dus ook laadpaal)

Tot nu toe de volgende oplossingen voorbij zien komen, maar die zijn (net) niet waar ik naar op zoek ben:
Laadpaal tussen meterkast en AC-IN plaatsen. Ik loop dan het risico dat de netzekering eruit gaat als zowel laadpaal als Victron maximaal gaan laden bij lage energieprijzen.

Laadpaal in-/uitschakelen via relais (generator start/stop bijvoorbeeld) op de Cerbo. De laadpaal werkt door het aanbieden van een laadpas ivm verrekening. Hard in-/uitschakelen zorgt ervoor dat ik eerst handmatig weer de laadpas moet aanbieden.

Geheel extern aansturen. Uitlezen wat het vermogen van de laadpaal is en Cerbo opdracht geven dit in mindering te brengen. Idealiter draait alles op 1 device (Cerbo).

Als ik er zo over nadenk zou ik het afgenomen vermogen van de laadpaal uitlezen. Bij voorkeur rechtstreeks uit de laadpaal via Modbus TCP (zie bijvoorbeeld dit document van Alfen met de registers) of met een meter van Victron ertussen. Deze data vervolgens gebruiken om in de Cerbo het maximaal aan AC-OUT1 te leveren vermogen verlagen met het verbruik van de laadpaal. Hierdoor wordt de woning wel vanuit de thuisaccu gevoed bijvoorbeeld maar zal het door de laadpaal gevraagde vermogen altijd vanuit het net komen.

Kortom, ik ben er nog niet uit :) Alle tips zijn welkom!

Ik heb in dit topic berichten van onderstaande personen over laadpalen, wellicht dat jullie nog verder gekomen zijn?
@Jazsie @V_ger @vanWalsum
YouTube: Dynamische tarieven en andere nieuwe functies voor Victron thuisbatt...


In de eerste 5 minuten geeft Harold uitleg..... 👍

Tesla model 3 2019 Long Range


  • prein2
  • Registratie: Februari 2007
  • Laatst online: 16:57

prein2

Monument verduurzamen is leuk

@Niek_ ik lees m'n laadpaal uit en zet m'n grid setpoint op de waarde van de laadpaal. Dan komt het laden dus uit het grid en niet van de accu..

Laden met dess gaat vanzelf goed met de nieuwste versie van de dess software

  • DrDeJe
  • Registratie: November 2017
  • Laatst online: 16-07 13:57
prein2 schreef op maandag 1 april 2024 @ 11:29:
@Niek_ ik lees m'n laadpaal uit en zet m'n grid setpoint op de waarde van de laadpaal. Dan komt het laden dus uit het grid en niet van de accu..

Laden met dess gaat vanzelf goed met de nieuwste versie van de dess software
Maar dan neem ik aan als handmatige actie toch? (Het zetten van de waarde van je Grid Setpoint)?

Tesla model 3 2019 Long Range


  • Jazsie
  • Registratie: Juni 2006
  • Laatst online: 16:52
Niek_ schreef op maandag 1 april 2024 @ 09:17:
[...]

Zou je over je eerste voorbeeld wellicht wat meer kunnen vertellen?

Het stond nog op m’n lijstje, maar nadat ik de afgelopen dagen al een paar keer heb gezien dat de laadpaal vanuit de thuisaccu werd gevoed wordt het nu echt tijd om hier iets aan te gaan doen.
Laadpaal betreft de Alfen Eve pro-line die via ethernet ook aan het thuisnetwerk hangt.
Multiplussen met Cerbo.
Alle verbruikers op AC-OUT 1 (dus ook laadpaal)

Tot nu toe de volgende oplossingen voorbij zien komen, maar die zijn (net) niet waar ik naar op zoek ben:
Laadpaal tussen meterkast en AC-IN plaatsen. Ik loop dan het risico dat de netzekering eruit gaat als zowel laadpaal als Victron maximaal gaan laden bij lage energieprijzen.

Laadpaal in-/uitschakelen via relais (generator start/stop bijvoorbeeld) op de Cerbo. De laadpaal werkt door het aanbieden van een laadpas ivm verrekening. Hard in-/uitschakelen zorgt ervoor dat ik eerst handmatig weer de laadpas moet aanbieden.

Geheel extern aansturen. Uitlezen wat het vermogen van de laadpaal is en Cerbo opdracht geven dit in mindering te brengen. Idealiter draait alles op 1 device (Cerbo).

Als ik er zo over nadenk zou ik het afgenomen vermogen van de laadpaal uitlezen. Bij voorkeur rechtstreeks uit de laadpaal via Modbus TCP (zie bijvoorbeeld dit document van Alfen met de registers) of met een meter van Victron ertussen. Deze data vervolgens gebruiken om in de Cerbo het maximaal aan AC-OUT1 te leveren vermogen verlagen met het verbruik van de laadpaal. Hierdoor wordt de woning wel vanuit de thuisaccu gevoed bijvoorbeeld maar zal het door de laadpaal gevraagde vermogen altijd vanuit het net komen.

Kortom, ik ben er nog niet uit :) Alle tips zijn welkom!

Ik heb in dit topic berichten van onderstaande personen over laadpalen, wellicht dat jullie nog verder gekomen zijn?
@Jazsie @V_ger @vanWalsum
Ik regel zelf het vermogen van de Victron en hierbij tel ik het verbruik van de EV laadpaal eraf zodoende wordt de laadpaal nooit door de Victron "gevoed".

De ESS van Victron is te beperkt voor wat ik ermee doe :+.

6200 Wp | eGolf 32kWh | ESS Victron 18kWh


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
KC27 schreef op maandag 1 april 2024 @ 09:00:
[...]

Met wat jij allemaal op software gebied doet moet dit voor jou een koud kunstje zijn. Hier geldt: alles kan en "in de beperking toont zich de meester" onder het motto "less is more". Je moet wel een gx apparaat hebben maar dat kan ook een raspberry zijn met Venus OS.
Weet uit ervaring dat alle begin overweldigend is.

Maar het uitlezen van de slimme meter, gaat dat via de P1 poort naar de GX.? Kun je daar wat meer over vertellen, het is wat mistig op de victron site.

Dan nog wat, ik kan ook kiezen voor een multiplus met GX ingebouwd, is dat wat? Of zeg je, ga voor een aparte GX.
Bedankt alvast.

  • prein2
  • Registratie: Februari 2007
  • Laatst online: 16:57

prein2

Monument verduurzamen is leuk

DrDeJe schreef op maandag 1 april 2024 @ 11:56:
[...]

Maar dan neem ik aan als handmatige actie toch? (Het zetten van de waarde van je Grid Setpoint)?
Nee hoor, gaat volautomatisch..

  • John245
  • Registratie: Januari 2020
  • Laatst online: 21:55
Willie Wortel schreef op maandag 1 april 2024 @ 15:46:
[...]

Weet uit ervaring dat alle begin overweldigend is.

Maar het uitlezen van de slimme meter, gaat dat via de P1 poort naar de GX.? Kun je daar wat meer over vertellen, het is wat mistig op de victron site.

Dan nog wat, ik kan ook kiezen voor een multiplus met GX ingebouwd, is dat wat? Of zeg je, ga voor een aparte GX.
Bedankt alvast.
Ik zou zeggen ga voor een apparte GX.

Tibber; 3-fase Victron ESS, 38,4 kWh opslag; gasloos sinds 2013; Nibe F1245-10PC; SAP; HomeSeer4; Proxmox 8


  • MJ de Bruijn
  • Registratie: November 2016
  • Laatst online: 21:47
Niek_ schreef op maandag 1 april 2024 @ 09:17:
Tot nu toe de volgende oplossingen voorbij zien komen, maar die zijn (net) niet waar ik naar op zoek ben:
Laadpaal tussen meterkast en AC-IN plaatsen. Ik loop dan het risico dat de netzekering eruit gaat als zowel laadpaal als Victron maximaal gaan laden bij lage energieprijzen.
Voor diegenen die (nog) geen EV laadstation hebben, overweeg het laadstation van Victron.
Deze integreert met het besturingssysteem en de Cerbo.
Dit maakt het uitlezen en instellen van parameters heel gemakkelijk.
Ik heb zelf een Node Red toepassing die het laadvermogen van het EV laadstation (per seconde indien nodig) dynamisch aanpast aan het gebruik van de rest van het huis.

  • KC27
  • Registratie: December 2009
  • Niet online
Willie Wortel schreef op maandag 1 april 2024 @ 15:46:
[...]

Weet uit ervaring dat alle begin overweldigend is.

Maar het uitlezen van de slimme meter, gaat dat via de P1 poort naar de GX.? Kun je daar wat meer over vertellen, het is wat mistig op de victron site.

Dan nog wat, ik kan ook kiezen voor een multiplus met GX ingebouwd, is dat wat? Of zeg je, ga voor een aparte GX.
Bedankt alvast.
In dit forum zijn al een heleboel voorbeelden van mensen (o.a. @Jazsie )die P1 data naar een gx-device brengen m.b.v. mqtt en/of dbus. Je kunt er in dit forum op zoeken. De meeste doen dat met NodeRed. Ik heb zelf alleen ervaring met Python. Dat draait ook op een gx-device. Misschien een idee om van VB naar Python over te stappen. Ik heb dat zelf drie jaar geleden ook gedaan (op m'n 71ste verjaardag). Daar heb ik inmiddels al mijn aansturingsoftware van mijn energieverbruik in geschreven.
Ik heb zelf een ingebouwde GX in een van mijn Multiplussen, maar een kant en klare Cerbo of RaspberryPi met Venus OS kan ook prima. Het hangt af van het prijsverschil en/of je graag tweakt met uitdagingen. De Cerbo en de ingebouwde GX zijn "kant en klaar", de Raspberry moet je flashen en instellen (usb)

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Oké, en het uitlezen van de victron. Voor mij niet geheel onbelangrijk. ik lees nu de MPPTs en de victron Shunt uit naast de BMSen. Heb jij dat ook.

Wil de data via de Raspberry hosten zodat ik de prachtige web paginas die ik met de designer maak blijven gebruiken en zoveel mogelijk geanimeerd en grafisch doen, cijfers zeggen me weinig, is ook niet leuk om naar te kijken.

  • KC27
  • Registratie: December 2009
  • Niet online
Willie Wortel schreef op maandag 1 april 2024 @ 17:30:
[...]

Oké, en het uitlezen van de victron. Voor mij niet geheel onbelangrijk. ik lees nu de MPPTs en de victron Shunt uit naast de BMSen. Heb jij dat ook.

Wil de data via de Raspberry hosten zodat ik de prachtige web paginas die ik met de designer maak blijven gebruiken en zoveel mogelijk geanimeerd en grafisch doen, cijfers zeggen me weinig, is ook niet leuk om naar te kijken.
Victron heeft excel sheets beschikbaar met alle info hoe je de gegevens in de gx kunt benaderen met mbus, mqtt of dbus: https://www.victronenergy...ads/technical-information. Daar kun je mooie plaatjes van maken.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
[quote]Willie Wortel schreef op maandag 1 april 2024 @ 15:46:
[...]

Weet uit ervaring dat alle begin overweldigend is.

Maar het uitlezen van de slimme meter, gaat dat via de P1 poort naar de GX.? Kun je daar wat meer over vertellen, het is wat mistig op de victron site.

Willie de hele victron lijn is eigelijk plug en play als je aan victron aanbevolen onderdelen houd ,

wat betrefd slime meter uitlezen:

https://github.com/freakent/dbus-mqtt-devices
https://github.com/NuKeMtje/ESPHomeDSMRVictron

makelijker is het niet duidelijk te maken .
met een Esp32 van euro of 6 lees je dus al je slime meter uit en kan je de communicatie tussen een venus os apparaat opstarten en ook weer de gegevens gebruiken in home assistant.
vandaar dat victron mischien wat wazig is over het gebruik van alternatieven

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • M66B
  • Registratie: September 2007
  • Niet online
djazzy schreef op maandag 1 april 2024 @ 22:11:
[quote]Willie Wortel schreef op maandag 1 april 2024 @ 15:46:
[...]

Weet uit ervaring dat alle begin overweldigend is.

Maar het uitlezen van de slimme meter, gaat dat via de P1 poort naar de GX.? Kun je daar wat meer over vertellen, het is wat mistig op de victron site.

Willie de hele victron lijn is eigelijk plug en play als je aan victron aanbevolen onderdelen houd ,

wat betrefd slime meter uitlezen:

https://github.com/freakent/dbus-mqtt-devices
https://github.com/NuKeMtje/ESPHomeDSMRVictron

makelijker is het niet duidelijk te maken .
met een Esp32 van euro of 6 lees je dus al je slime meter uit en kan je de communicatie tussen een venus os apparaat opstarten en ook weer de gegevens gebruiken in home assistant.
vandaar dat victron mischien wat wazig is over het gebruik van alternatieven
Als je een Victron tussen het net en je huis zet, dan meet een Victron GX model al voor je. Je moet daarvoor uiteraard wel een geschikt model hebben qua vermogen.

  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 30-10 21:18
Ik draai de laatste firmwareversie op de Cerbo (v3.30) maar als ik daar via de remote console naar ESS ga heb ik de optie die Harold laat zien niet: 'Self-consumption from battery' met de keuze uit all system loads of only critica loads.
Zou zeker een oplossing zijn, dan hang ik de laadpaal aan AC-OUT2 en functioneert het inderdaad zoals gedacht (voeding laadpaal ten alle tijden uit net halen).

Zie in de handleiding van Victron bij 4.3.4 het volgende:
This is relevant for ESS systems with:
-A grid meter
-Quite significant non-essential loads
-Feed-in disabled

Setting options are:
-All system loads (default)
-Only critical loads

This menu item is only visible if 'Inverter AC output in use' is enabled.
Ik heb deze menuoptie 'Inverter AC output in use' niet in m'n ESS menu. Nog eens verder zoeken waar dit dan aan ligt.

  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 30-10 21:18
prein2 schreef op maandag 1 april 2024 @ 11:29:
@Niek_ ik lees m'n laadpaal uit en zet m'n grid setpoint op de waarde van de laadpaal. Dan komt het laden dus uit het grid en niet van de accu..

Laden met dess gaat vanzelf goed met de nieuwste versie van de dess software
Doe je dit dan met nodeRed in de Cerbo of middels een extern device?

  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 30-10 21:18
MJ de Bruijn schreef op maandag 1 april 2024 @ 15:48:
[...]

Voor diegenen die (nog) geen EV laadstation hebben, overweeg het laadstation van Victron.
Deze integreert met het besturingssysteem en de Cerbo.
Dit maakt het uitlezen en instellen van parameters heel gemakkelijk.
Ik heb zelf een Node Red toepassing die het laadvermogen van het EV laadstation (per seconde indien nodig) dynamisch aanpast aan het gebruik van de rest van het huis.
Deze kan je voor zover ik kan zien niet starten/stoppen met een laadpas indien je de laadkosten wilt laten verrekenen.

  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
Niek_ schreef op dinsdag 2 april 2024 @ 13:43:
[...]

Ik draai de laatste firmwareversie op de Cerbo (v3.30) maar als ik daar via de remote console naar ESS ga heb ik de optie die Harold laat zien niet: 'Self-consumption from battery' met de keuze uit all system loads of only critica loads.
Zou zeker een oplossing zijn, dan hang ik de laadpaal aan AC-OUT2 en functioneert het inderdaad zoals gedacht (voeding laadpaal ten alle tijden uit net halen).

Zie in de handleiding van Victron bij 4.3.4 het volgende:

[...]

Ik heb deze menuoptie 'Inverter AC output in use' niet in m'n ESS menu. Nog eens verder zoeken waar dit dan aan ligt.
Punt 1:
This is relevant for ESS systems with:
-A grid meter
-Quite significant non-essential loads
-Feed-in disabled
Heb je dat? Bij mijn systemen zie ik die optie ook niet maar ik hang altijd alles achter de MP dus ik heb geen grid meter nodig. Misschien zien we het daardoor niet?

Ik zal zo eens een meter ertussen hangen voor de test. Dan laat ik het weten.

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 30-10 21:18
RikHa schreef op dinsdag 2 april 2024 @ 14:10:
[...]

Punt 1:

[...]

Heb je dat? Bij mijn systemen zie ik die optie ook niet maar ik hang altijd alles achter de MP dus ik heb geen grid meter nodig. Misschien zien we het daardoor niet?

Ik zal zo eens een meter ertussen hangen voor de test. Dan laat ik het weten.
Goed punt. Heb inderdaad geen meter omdat alles op de AC-OUT1 zit. Tof dat je het kan/wil testen. Erg benieuwd naar de uitkomst.
Zou in mijn ogen wel bijzonder zijn, aangezien de meter in deze situatie niks toevoegt.

Dan feed-in disabled, dat zou het hele (D)ESS de das om doen toch?

Verder nu niks aan AC-OUT2 hangen, dus dat kan ook nog van invloed zijn.

[ Voor 10% gewijzigd door Niek_ op 02-04-2024 14:35 ]


  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
Niek_ schreef op dinsdag 2 april 2024 @ 14:33:
[...]

Goed punt. Heb inderdaad geen meter omdat alles op de AC-OUT1 zit. Tof dat je het kan/wil testen. Erg benieuwd naar de uitkomst.
Zou in mijn ogen wel bijzonder zijn, aangezien de meter in deze situatie niks toevoegt.

Dan feed-in disabled, dat zou het hele (D)ESS de das om doen toch?

Verder nu niks aan AC-OUT2 hangen, dus dat kan ook nog van invloed zijn.
Bij mij hangt alles achter de MP's dus in principe heb ik de meter niet nodig maar omdat ik 2 meters heb (PAP en SAP) moet het systeem toch het totaal weten dat er door de hoofdzekeringen loopt. Daar heb ik een VM-3P75CT voor klaarliggen die dan beide meters tegelijkertijd moet gaan meten. Voorbereidingen liggen er al. Straks alleen nog even aansluiten.
Dan feed-in disabled, dat zou het hele (D)ESS de das om doen toch?
Nou nee want het systeem zal dan bij te weinig zon op de goedkope momenten bij gaan laden. Maar waarom zou je dat willen? Ik heb wel een systeem op D-ESS draaien bij een bedrijf dat niet terug mag leveren maar die heeft een grootverbruikers aansluiting. Bij kleinverbruikers aansluitingen kunnen ze dat niet verbieden.

[ Voor 19% gewijzigd door RikHa op 02-04-2024 14:56 ]

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • prein2
  • Registratie: Februari 2007
  • Laatst online: 16:57

prein2

Monument verduurzamen is leuk

Niek_ schreef op dinsdag 2 april 2024 @ 13:44:
[...]

Doe je dit dan met nodeRed in de Cerbo of middels een extern device?
Mijn laadpaal heeft een status pagina waar in json het afgenomen vermogen wordt uit gespuugd. Ik doe het via home assistant, maar via node red is het ook eenvoudig te maken. Kwestie van die json pagina oproepen en het grid setpoint gelijk stellen aan de afname van de laadpaal..

  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
@Niek_ Kijk:
Afbeeldingslocatie: https://tweakers.net/i/Jgo8YMD-6EpRJFURCR1nTOu_9Gk=/x800/filters:strip_icc():strip_exif()/f/image/ubn3Fuy4mvZgSrCd2tcUxuUT.jpg?f=fotoalbum_large
Meter zit erin. Die rode hoofdschakelaar is de noodstop voor het ESS systeem. Dat zit aan de andere kant van de muur. Schakelaar schakelt de remote on/off op de eerste Multi. De rest gaat dan automatisch mee.

Afbeeldingslocatie: https://tweakers.net/i/2cdLY8lAmzo3xN-BT-V1T7NgAtc=/x800/filters:strip_icc():strip_exif()/f/image/tSmMMkooMIX1sdccckMREh3I.jpg?f=fotoalbum_large
Apart kastje voor de meetspoelen.

En zie daar:
Afbeeldingslocatie: https://tweakers.net/i/3SdkIfCevoF6xD5Y2tOI6moX3zk=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/9liVeM76Ej3ZFCrmriEZt4lM.png?f=user_large

[ Voor 8% gewijzigd door RikHa op 02-04-2024 18:42 ]

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • John245
  • Registratie: Januari 2020
  • Laatst online: 21:55
RikHa schreef op dinsdag 2 april 2024 @ 18:39:
@Niek_ Kijk:
[Afbeelding]
Meter zit erin. Die rode hoofdschakelaar is de noodstop voor het ESS systeem. Dat zit aan de andere kant van de muur. Schakelaar schakelt de remote on/off op de eerste Multi. De rest gaat dan automatisch mee.

[Afbeelding]

En hoe ziet het eruit met de groepenkast dicht?
Apart kastje voor de meetspoelen.

En zie daar:
[Afbeelding]

Tibber; 3-fase Victron ESS, 38,4 kWh opslag; gasloos sinds 2013; Nibe F1245-10PC; SAP; HomeSeer4; Proxmox 8


  • HermanGast
  • Registratie: November 2021
  • Laatst online: 21:15

HermanGast

Exige GT3

De Victron volledig aansturen met alleen een M5stack middels MQTT (lezen en schrijven) en als optie ook bij enever.nl de uurprijzen ophalen. Heb HA al een poos geleden uitgezet, daar kan ik niets mee.

Vertrekpunt:
3fase Multiplus 3000/35, waarvan 1 in GX versie. (Geen Cerbo)
EM24 voor grid en EM24 voor PV
Pylontech accu's 26,2 kWh totaal
ESS aan
Meer PV dan eigen gebruik.
Nog geen variabel contract, dus salderen geeft beter rendement dan thuisaccu (met 20% verliezen)

Doelen:
- In de ochtend naar ca. 30% SoC.
- Overdag pieken opvangen (maximaal laden) zodat bij veel PV hopelijk de stoppen heel blijven en de panelen niet gaan aftoppen.
- In avond en nacht weer ontladen tot ca. SoC 35%
- Vooral leren en alvast een beetje voorbereiden op uurprijzen en afschaffen salderen t.z.t.

De code lijkt me wel leesbaar, beetje rommelig nog hier en daar, maar tijd om op te schonen was wat beperkt.
Laat maar weten als er stukjes onbegrijpelijk tussen zitten.

Alleen de coderegels met SetValueVictron op regel 166 en 234 beïnvloeden de Multiplussen. Als je die weglaat wordt er uitsluitend gelezen.
Het KeepAlive (MQTTpublish) op regel 256 hoeft niet iedere cycle van het programma. Te vaak uitvoeren belast de MQTT onnodig maar als je dit te weinig doet verbreekt de verbinding.

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
#include <M5Unified.h>
#include <ArduinoJson.h>
#include <WiFi.h>
#include <PubSubClient.h>
#include <ezTime.h>
#include <HTTPClient.h>

// Zelf aanpassen:
// ssid     op regel 51
// password op regel 52
// VRM_ID   op regel 16 en op regel 55 IP-adres van GX
// Etoken   op regel 58 (is optioneel, voor ophalen dagprijzen bij enever.nl)
// Regels 260 tm 320 kunnen er uit als dagprijzen niet opgehaald worden

// VRM Portal ID
#define VRM_ID "ZELFINVULLEN"  // 12 karakters
// MQTT Topics:
#define topicSOCActual "N/" VRM_ID "/battery/512/Soc"
#define topicDCPOW     "N/" VRM_ID "/battery/512/Dc/0/Power"
#define topicDCCUR     "N/" VRM_ID "/battery/512/Dc/0/Current"
#define topicSOCLimit  "N/" VRM_ID "/system/0/Control/ActiveSocLimit"
#define topicSETP      "N/" VRM_ID "/settings/0/Settings/CGwacs/AcPowerSetPoint"         
#define topicMAXAmp    "N/" VRM_ID "/vebus/275/Dc/0/MaxChargeCurrent"
#define topicACPOW     "N/" VRM_ID "/grid/40/Ac/Power"
#define topicPVpow     "N/" VRM_ID "/pvinverter/42/Ac/Power"                            // PV power  LET OP!!! 42 kan varieren afhankelijk van de meter.
#define topicMLOAD     "N/" VRM_ID "/settings/0/Settings/SystemSetup/MaxChargeCurrent"  // Maximum charger current (Amps) 
#define topicWMODE     "N/" VRM_ID "/vebus/275/Mode"                                    //(3: on) (1: Charger only) (2: Inverter only)
#define ESS_1          "N/" VRM_ID "/system/0/SystemState/LowSoc"
#define ESS_2          "N/" VRM_ID "/system/0/SystemState/BatteryLife"
#define ESS_3          "N/" VRM_ID "/system/0/SystemState/ChargeDisabled"
#define ESS_4          "N/" VRM_ID "/system/0/SystemState/DischargeDisabled"
#define ESS_5          "N/" VRM_ID "/system/0/SystemState/SlowCharge"
#define ESS_6          "N/" VRM_ID "/system/0/SystemState/UserChargeLimited"
#define ESS_7          "N/" VRM_ID "/system/0/SystemState/UserDischargeLimited"
#define Consume_L1     "N/" VRM_ID "/system/0/Ac/Consumption/L1/Power"
#define Consume_L2     "N/" VRM_ID "/system/0/Ac/Consumption/L2/Power"
#define Consume_L3     "N/" VRM_ID "/system/0/Ac/Consumption/L3/Power"
#define NetAC1         "N/" VRM_ID "/grid/40/Ac/L1/Current"
#define NetAC2         "N/" VRM_ID "/grid/40/Ac/L2/Current"
#define NetAC3         "N/" VRM_ID "/grid/40/Ac/L3/Current"
#define KeepALive      "R/" VRM_ID "/keepalive"

// Voor instellen van de Multiplussen:
#define SetACPwr       "W/" VRM_ID "/settings/0/Settings/CGwacs/AcPowerSetPoint"  // Grid setpoint
#define MaxCurrent     "W/" VRM_ID "/vebus/275/Dc/0/MaxChargeCurrent"             // Max laadstroom in Amps
   
// Nb. Bij dit voorbeeld zijn 3-fase Multiplus 3000 series aangesloten waarvan 1 in GX uitvoering, dus zonder Cerbo
//     Deze Multiplussen laden met maximaal 35A elk, dus 105A totaal.

// WiFi
const char* ssid =     "ZELFINVULLEN";
const char* password = "ZELFINVULLEN";

// Victron 
const char* mqtt_server = "192.168.2.91";  // IP adres van de MultiplusGX (of Cerbo)

//  Enever.nl  (optie voor ophalen energieprijzen, niet nodig voor MQTT)
const char* EToken = "ZELFINVULLEN"; 
const char* TodayUrl = "https://enever.nl/api/stroomprijs_vandaag.php?token=";

// Globale variabelen
const int mqtt_port = 1883;
const int httpsPort = 443;
int Teller = 0;
int multi = 1;
int soc_Actual = 30;
int soc_Low_Limit = 10;
int AC_Watt = 0; int DC_Watt = 0; int DC_Amps = 0;
int WorkMode = 3;
int Ess[8];
int AC1 = 0; int AC2 = 0; int AC3 = 0;
int ConsL1 = 0; int ConsL2 = 0; int ConsL3 = 0;
int ConsTot = 0;
int Payload = 0;
int PV_Watt = 0;
int Blijfleven;
int MaxAC = 0;
int PasOp = 0;
int PrijsHoog = 0;
String antwoord;
double Pricing[24];
double Sorted[24]; 
double prijsTotaal = 0.0;
double AvgPrice = 0.0;
char buffer[20];
double Temp = 0.0;
int MaxCharge = 100; // Maximum Charge Current Standaard op 105 voor Pylontech (feb 2024)
int TargetCharge = 50; // 100;
float TC = 90.0;
int Grid_Setpoint = -20;
int ACPowerSetpoint = 0;
int Now    = 0;
int Minute = 0;
int DatumMaand = 0;
char Buff[20];
String Today;
String LaatstOpgehaald;
Timezone Woonplaats;
WiFiClient espClient;
PubSubClient client(espClient);

// Nb. Bij dit voorbeeld worden 2 EM24 meters gebruikt: 1x voor meten Grid, en 1x voor PV productie van zonnepanelen.   

void setup() {  
  M5.begin();Woonplaats.setPosix("CET-2:00");  //Voor wintertijd: Woonplaats.setPosix("CET-1:00"); 
  M5.Lcd.setTextSize(2);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED && (Teller < 500)) { delay(Teller++); M5.Lcd.print("."); }// Teller zorgt ervoor dat we niet eindeloos blijven proberen.
  if(WiFi.status() != WL_CONNECTED) exit(0);                                                     // Als we geen WiFi hebben, dan maar opnieuw opstarten  
  void updateNTP();  waitForSync();
  IPAddress myIP = WiFi.localIP(); M5.Lcd.println(myIP);    delay(2000);  
  client.setServer(mqtt_server, mqtt_port);

if (!client.connected()) {
    while (!client.connected()) {
      if (client.connect("M5StackClient")) { delay(100);
        client.publish(KeepALive, "");                
        } else     M5.Lcd.println("Disconnected"); 
    }
  }  

  // List of topics to subscribe to:    Zie de lijst bovenaan, de #define statements
  client.subscribe(topicSOCActual); client.subscribe(topicSOCLimit); client.subscribe(topicDCPOW);
  client.subscribe(topicDCCUR);     client.subscribe(topicACPOW);    
  client.subscribe(topicMLOAD);     client.subscribe(topicWMODE);    client.subscribe(ESS_1);
  client.subscribe(ESS_2);          client.subscribe(ESS_3);         client.subscribe(ESS_4);   
  client.subscribe(ESS_5);          client.subscribe(ESS_6);         client.subscribe(ESS_7);
  client.subscribe(Consume_L1);     client.subscribe(Consume_L2);    client.subscribe(Consume_L3);  
  client.subscribe(NetAC1);         client.subscribe(NetAC2);        client.subscribe(NetAC3);    
  client.subscribe(topicPVpow);     client.subscribe(topicSETP);     client.setCallback(callback); 

  //Scherm leegmaken
  M5.Lcd.fillScreen(BLACK);  M5.Lcd.setCursor(0, 0);
}

void loop() {  
  Now    = Woonplaats.dateTime("H").toInt();
  Minute = Woonplaats.dateTime("i").toInt();
  Today    = Woonplaats.dateTime("y-m-d");
  DatumMaand = Woonplaats.dateTime("m").toInt();  

  // Programma stuurt op MaxCurrent bij laden om te verdelen tussen Accu en Grid.
  // Lage TC > weinig opladen en veel terugleveren
  // Hoge TC > veel terugleveren en minder laden.

  MaxAC = abs(AC1); if(abs(AC2) > MaxAC)MaxAC = abs(AC2); if(abs(AC3) > MaxAC)MaxAC = abs(AC3); 
  client.loop(); delay(50);      
                     
    if(PV_Watt < 12000  || MaxAC < 17)  TC = TC - 0.1; 
    if(PV_Watt < 11000  || MaxAC < 16)  TC = TC - 0.2;     
    if(PV_Watt < 10000  || MaxAC < 15)  TC = TC - 0.5; 
    if(PV_Watt < 9000  || MaxAC < 14)  TC = TC - 1.0; 
    if(PV_Watt < 8000  || MaxAC < 13)  TC = TC - 10;  
    if(PV_Watt < 100)     TC = 105.0;  // In avond en nacht terugzetten     
//    if(soc_Actual < 15) TC = 50;  // Bij lege accu aanvullen      
    if(soc_Actual < 30)TC = ((abs(DC_Watt) + abs(AC_Watt)) / 100);  // Bij lege accu aanvullen  
    if(PV_Watt > 8000  && MaxAC > 18)  TC = TC + 0.1;      
    if(PV_Watt > 9000  && MaxAC > 19)  TC = TC + 0.2; 
    if(PV_Watt > 10000 && MaxAC > 20)  TC = TC + 10;     
    if(PV_Watt > 10000 && MaxAC > 21)  TC = TC + 25;         
    if(PV_Watt > 10000 && MaxAC > 22)  TC = 105.0;  // Pas op je hoofdzekeringen.... , 22 Ampere, gevaarlijk dicht bij max.(25).--> Vol accu laden    
    if(TC > 105.0 )    TC = 105.0;  // Meer dan 105 heeft geen nut  
    if(TC < 4.0 )      TC = 4.0;    // Nooit minder dan 3A op 48V

  TargetCharge = int(TC); 
  if(MaxCharge != TargetCharge){setValueVictron(MaxCurrent, TargetCharge); client.loop();delay(10);}   //  Aanpassen in de GX module
  client.loop(); delay(50);
  

  // Visualisatie. Opmaak beetje 'quick and dirty' bij elkaar gesprokkeld, ruimte voor verbetering
  M5.Lcd.setTextSize(2);
  // Linksonder in het klein, tijd, datum en Grid setpoint
  M5.Lcd.setCursor(0, 186);if(Now < 10)   M5.Lcd.print("0"); M5.Lcd.print(Now); M5.Lcd.print(":");
                           if(Minute < 10)M5.Lcd.print("0"); M5.Lcd.println(Minute); 
                           M5.Lcd.print(Today);M5.Lcd.println(" ");
                           M5.Lcd.setCursor(0, 222);
                           M5.Lcd.print("GT:");M5.Lcd.print(Grid_Setpoint);M5.Lcd.print(" ");
  client.loop();delay(50); 
  // Lijst met bovenin de capaciteit in kWh 
  M5.Lcd.setCursor(0, 0); M5.Lcd.setTextSize(3); M5.Lcd.setTextColor(WHITE, BLACK);
  float cap = (soc_Actual - soc_Low_Limit) * 26.2 / 100;  // laadpercentagex  
  if(cap < 0) cap = 0.0; 
  M5.Lcd.print("Cap:");  M5.Lcd.print(cap);M5.Lcd.print("kWh "); if(cap < 10.0 )M5.Lcd.print(" ");
  // Rechtsboven het doel voor opladen (Amps laadstroom naar de Pylontechs) 
  M5.Lcd.print("T");M5.Lcd.print(TargetCharge);
  if (TargetCharge < 100) M5.Lcd.print(" "); if (TargetCharge < 10) M5.Lcd.print(" ");M5.Lcd.println("");
  // Regeltje voor SOC, min-huidig-max
  M5.Lcd.print("SoC:"); M5.Lcd.print(soc_Low_Limit);M5.Lcd.print("-");  
  if(soc_Actual >= soc_Low_Limit)M5.Lcd.setTextColor(GREEN, BLACK); else M5.Lcd.setTextColor(RED, BLACK);
  M5.Lcd.print(soc_Actual); 
  M5.Lcd.setTextColor(WHITE, BLACK);
  M5.Lcd.println("-100% ");   
  // Regeltje voor PV
  ConsTot = ConsL1 + ConsL2 + ConsL3;
  sprintf(Buff, "PV :%6dW ", PV_Watt);           M5.Lcd.println(Buff); 
  // Regeltje voor eigen gebruik
  sprintf(Buff, "Use:%6dW ", ConsTot);         M5.Lcd.println(Buff);
  // Regeltje voor ESS
  sprintf(Buff, "ESS:%6dW %3dA", DC_Watt, DC_Amps);M5.Lcd.println(Buff);
  M5.Lcd.setTextColor(GREEN, BLACK);
  if(MaxAC >= 17)M5.Lcd.setTextColor(YELLOW, BLACK);
  if(MaxAC >= 19)M5.Lcd.setTextColor(ORANGE, BLACK);
  if(MaxAC >= 20)M5.Lcd.setTextColor(RED, BLACK);
  // Regeltje voor Grid
  sprintf(Buff, "Net:%6dW %3dA", AC_Watt, MaxAC);M5.Lcd.println(Buff);
  M5.Lcd.setTextColor(WHITE, BLACK);
  // Regeltje voor afwijkende Workmode als die er is....
  switch(WorkMode){ 
    case 1: M5.Lcd.println("Charger only   "); break;
    case 2: M5.Lcd.println("Inverter only  "); break;
  //case 3: M5.Lcd.println("Mode is on     "); break;
    case 4: M5.Lcd.println("Mode is off    "); break;
  } 

  // Ontladen van accu voor de volgende dag.... 
  // Een (soms) flink negatief Grid_Setpoint wordt gebuikt om in de avond (vanaf 7 uur) en nacht terug te leveren
  // Issue voor mij dat ik teveel PV productie heb en accu gebruik om stroom terug naar grid wat te beperken.
  // Dat kan alleen als ik nog ruimte heb in de accu's. Dus in de ochtend niet te vol beginnen
  Grid_Setpoint = -20; 
  if(DatumMaand > 2 && DatumMaand < 10 && soc_Actual >= 40){   // In de zomermaanden (maart tm sept): niet te veel cap. in de accu houden
    switch(Now){           
    case 19: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 1 * 10 * PrijsHoog; break; // Tijdens de avond ontladen tot ca. 40-35% 
    case 20: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 1 * 10 * PrijsHoog; break;     
    case 21: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 1 * 10 * PrijsHoog; break; 
    case 22: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 7 * 10 * PrijsHoog; break;
    case 23: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 6 * 10 * PrijsHoog; break;
    case 1:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 5 * 10 * PrijsHoog; break;
    case 2:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 4 * 10 * PrijsHoog; break;
    case 3:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 3 * 10 * PrijsHoog; break;
    case 4:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 2 * 10 ; break;
    case 5:  Grid_Setpoint = -1 * (soc_Actual - 35) * 26,2 / 1 * 10 ; break;    
    }    
   }          
  if(Grid_Setpoint != ACPowerSetpoint) setValueVictron(SetACPwr, Grid_Setpoint);

  // Regeltje voor ESS status (als die er is)
  if((Ess[1] + Ess[2] + Ess[3] + Ess[4] + Ess[5] + Ess[6] + Ess[7]) >0){
    M5.Lcd.setTextColor(BLUE, BLACK); PrijsHoog = 0;
    for (int i = 1; i < 8; i++) {  if(Ess[i] == 1)M5.Lcd.print("#");M5.Lcd.print(i); M5.Lcd.print(" "); }
    Grid_Setpoint = -20; // Als ESS status, dan setpoint weer op default waard 
    }
   
  // Regeltje voor huidig tarief HOOG/LAAG en % t.o.v. gemiddelde
  if(Pricing[Now] > Sorted[6]){M5.Lcd.print("Hoog: +"); PrijsHoog = 1 ;                          // Bij hoogste 5 prijzen
                                  M5.Lcd.print(int(100 * ((Pricing[Now] / AvgPrice) -1)));
                                  M5.Lcd.setTextColor(RED, BLACK);
                                  M5.Lcd.println("%   ");
                                  M5.Lcd.setTextColor(WHITE, BLACK);} else 
  if(Pricing[Now] < AvgPrice && AvgPrice != 0){M5.Lcd.print("Laag: -");  PrijsHoog = 0;
                                               M5.Lcd.print(int(100 * (1 - (Pricing[Now] / AvgPrice))));
                                               M5.Lcd.setTextColor(GREEN, BLACK);M5.Lcd.println("%   ");
                                               M5.Lcd.setTextColor(WHITE, BLACK);} 
                                        //else   M5.Lcd.print("    ");
  
  M5.Lcd.setTextSize(8); M5.Lcd.setCursor(130, 180); M5.Lcd.setTextColor(GREEN, BLACK); M5.Lcd.print(soc_Actual);M5.Lcd.print("% ");
  Blijfleven++;if(Blijfleven > 200){client.publish(KeepALive, ""); delay(70); Blijfleven=0;}
  client.loop();delay(10);  
  
// ****** Begin stukje energieprijzen ******** dit hele stuk kun je uit-commentarieren **********************************
  M5.Lcd.setTextSize(2);
  //if(LaatstOpgehaald != Today && Now == 1 && Minute ==3){  // Een keer per dag om 01:03uur
  if(LaatstOpgehaald != Today && (Now > 0 || Minute > 17)){  // Hebben we vandaag de prijzen nog niet?, dan even ophalen...   
  prijsTotaal = 0.0;   AvgPrice = 0.0;
  HTTPClient http;
    String serverPath = TodayUrl + String(EToken); // Construct API URL voor energieprijzen
    http.begin(serverPath);
    int httpResponseCode = http.GET();
    if (httpResponseCode == 200) { // Check for the return code     
      antwoord = http.getString();
      LaatstOpgehaald = Today;
    } else {  M5.Lcd.setCursor(0, 0);
              M5.Lcd.println("http call failed: ");    
              M5.Lcd.println(httpResponseCode); delay(200);
              M5.Lcd.fillScreen(BLACK); 
              M5.Lcd.setCursor(0, 0); }
  http.end();
  M5.Lcd.fillScreen(BLACK);  M5.Lcd.setCursor(0, 0);
  int TariefUur = 0;
  DynamicJsonDocument doc(16384);    // zie: https://arduinojson.org/v6/assistant/ voor code en sizing :-)
  DeserializationError error = deserializeJson(doc, antwoord);
  if (error) {    M5.Lcd.setCursor(0, 0);
                  M5.Lcd.println("deserializeJson() failed: ");    
                  M5.Lcd.println(error.c_str()); delay(200);
                  M5.Lcd.fillScreen(BLACK); 
                  M5.Lcd.setCursor(0, 0); }
   else {
   const char* status = doc["status"]; // "true"
   for (JsonObject data_item : doc["data"].as<JsonArray>()) {
      const char* data_item_datum = data_item["datum"]; 
      const char* data_item_prijs = data_item["prijs"];    
      prijsTotaal = prijsTotaal + atof(data_item_prijs);
      Sorted[TariefUur] = atof(data_item_prijs); Pricing[TariefUur++] = atof(data_item_prijs);     
      }  AvgPrice = prijsTotaal / 24;    

    for (int i = 0; i < 23; i++)    // Sorteren aflopend op prijs in array Sorted
        for (int j = 23; j > i; j--)
           if(Sorted[i] < Sorted[j])             {Temp = Sorted[j]; Sorted[j] = Sorted[i]; Sorted[i] = Temp;}  

    for (int i = 0; i <= 23; i++) {
      M5.Lcd.setCursor(0 , i * 18 ); if(i >= 12) M5.Lcd.setCursor(160 , i * 18 - 216 ); 
      M5.Lcd.setTextColor(WHITE, BLACK); 
      if(Pricing[i] <= Sorted[18]) M5.Lcd.setTextColor(YELLOW, BLACK);  // Goedkoopste 6
      //if(Pricing[i] <= AvgPrice) M5.Lcd.setTextColor(YELLOW, BLACK);     // Goedkoper dan gemiddelde
      if(Pricing[i] == Sorted[23])M5.Lcd.setTextColor(GREEN,  BLACK); // Goedkoopste uur
      if(Pricing[i] > Sorted[6])  M5.Lcd.setTextColor(ORANGE, BLACK);   // Duurste 5    
      //if(Pricing[i] > AvgPrice)  M5.Lcd.setTextColor(ORANGE, BLACK);      // Duurder dan gemiddelde     
      if(Pricing[i] == Sorted[0]) M5.Lcd.setTextColor(RED,    BLACK);   // Duurste uur
      if(i == Now)sprintf(buffer, "%2d=>%.5f ", i, Pricing[i]); 
             else sprintf(buffer, "%2d: %.5f ", i, Pricing[i]); M5.Lcd.print(buffer);        
       } 
    M5.Lcd.setTextColor(WHITE, BLACK); M5.Lcd.println(""); 
    sprintf(buffer, "Avg:%.5f  ", AvgPrice); M5.Lcd.print(buffer);
    if(Pricing[Now] > AvgPrice)M5.Lcd.print("HOOG");else M5.Lcd.print("LAAG"); 
    delay(2500); // Paar tellen in beeld
    M5.Lcd.fillScreen(BLACK); 
    M5.Lcd.setCursor(0, 0);
    }
  }
  
  // *** Einde stukje energieprijzen ******************************************************************
}

void callback(char* topic, byte* payload, unsigned int length) {
  StaticJsonDocument<248> doc; 
  int val = 0;
  DeserializationError error = deserializeJson(doc, payload, length);   
  if (error) { M5.Lcd.setTextSize(2); M5.Lcd.setCursor(0, 190);  M5.Lcd.println(error.c_str()); delay(2000); } 
  else 
  {   // Karakter voor karakter uitpluizen 
  multi = 1; // positief getal
  for (int i = 0; i < length; i++) {    
    switch((char)payload[i]){
      case 34:                     break; // "
      case 44:                     break; //comma
      case 45: multi = -1;         break; // - (negatief getal)
      case 46: i =length ;         break; // punt
      case 48: val = 10 * val + 0; break; // 0
      case 49: val = 10 * val + 1; break; // 1
      case 50: val = 10 * val + 2; break; // 2
      case 51: val = 10 * val + 3; break; // 3
      case 52: val = 10 * val + 4; break; // 4
      case 53: val = 10 * val + 5; break;
      case 54: val = 10 * val + 6; break;
      case 55: val = 10 * val + 7; break;
      case 56: val = 10 * val + 8; break; // 8
      case 57: val = 10 * val + 9; break; // 9
      case 58:                     break; // :
      case 123:                    break; // {
      case 125: i =length ;        break; // }
      }
    }  
  if((strcmp(topic, topicSOCActual) == 0)) soc_Actual   = val * multi; 
  if((strcmp(topic, topicSOCLimit) == 0))  soc_Low_Limit   = val * multi;   
  if((strcmp(topic, topicACPOW) == 0))     AC_Watt  = val * multi;      
  if((strcmp(topic, topicDCPOW) == 0))     DC_Watt  = val * multi; 
  if((strcmp(topic, topicDCCUR) == 0))     DC_Amps  = val * multi;
  if((strcmp(topic, topicWMODE) == 0))     WorkMode = val * multi;
  if((strcmp(topic, topicMAXAmp) == 0))    MaxCharge  = val * multi;
  if((strcmp(topic, topicPVpow) == 0))     PV_Watt  = val * multi;
  if((strcmp(topic, topicSETP) == 0))      ACPowerSetpoint = val * multi;
  if((strcmp(topic, ESS_1) == 0))  Ess[1]  = val ;   if((strcmp(topic, ESS_2) == 0))  Ess[2]  = val ;
  if((strcmp(topic, ESS_3) == 0))  Ess[3]  = val ;   if((strcmp(topic, ESS_4) == 0))  Ess[4]  = val ;
  if((strcmp(topic, ESS_5) == 0))  Ess[5]  = val ;   if((strcmp(topic, ESS_6) == 0))  Ess[6]  = val ;
  if((strcmp(topic, ESS_7) == 0))  Ess[7]  = val ;
  if((strcmp(topic, Consume_L1) == 0)) ConsL1  = val * multi;  
  if((strcmp(topic, Consume_L2) == 0)) ConsL2  = val * multi;
  if((strcmp(topic, Consume_L3) == 0)) ConsL3  = val * multi;
  if((strcmp(topic, NetAC1) == 0)) AC1  = val * multi;  
  if((strcmp(topic, NetAC2) == 0)) AC2  = val * multi;
  if((strcmp(topic, NetAC3) == 0)) AC3  = val * multi;
  }   
} 

void setValueVictron( char* Wtopic, int setpointValue) {
    String payload; 
    StaticJsonDocument<248> doc; 
    doc["value"] = setpointValue;
    serializeJson(doc, payload);      
    client.publish(Wtopic, payload.c_str()); 
}

void checkforerrors() {
int rc = client.state();   
  switch(rc){
   case -4 : M5.Lcd.println("MQTT_CONNECTION_TIMEOUT - the server didn't respond within the keepalive time");break;
   case -3 : M5.Lcd.println("MQTT_CONNECTION_LOST - the network connection was broken");break;
   case -2 : M5.Lcd.println("MQTT_CONNECT_FAILED - the network connection failed");break;
   case -1 : M5.Lcd.println("MQTT_DISCONNECTED - the client is disconnected cleanly");break;
   case 0 : M5.Lcd.println("                                                                                    ");break;
   case 1 : M5.Lcd.println("MQTT_CONNECT_BAD_PROTOCOL - the server doesn't support the requested version of MQTT");break;
   case 2 : M5.Lcd.println("MQTT_CONNECT_BAD_CLIENT_ID - the server rejected the client identifier");break;
   case 3 : M5.Lcd.println("MQTT_CONNECT_UNAVAILABLE - the server was unable to accept the connection");break;
   case 4 : M5.Lcd.println("MQTT_CONNECT_BAD_CREDENTIALS - the username/password were rejected");break;
   case 5 : M5.Lcd.println("MQTT_CONNECT_UNAUTHORIZED - the client was not authorized to connect");break;
   }   
}

Afbeeldingslocatie: https://tweakers.net/i/NJkYlzAD9AOwq7eMl71WqPj-aDs=/800x/filters:strip_icc():strip_exif()/f/image/TGsncqfmkRwoCl9Hj0yFUPge.jpg?f=fotoalbum_large

En voor mijn gemoedsrust.... Je bent zelf verantwoordelijk als je van bovenstaande code gebruik maakt!

[ Voor 101% gewijzigd door HermanGast op 04-04-2024 06:02 ]

Gasloos, 14,99kWp, Ekrano, 70kWh Pylontech, 3xVictron MP8000, M5stack, MQTT


  • Niek_
  • Registratie: Februari 2002
  • Laatst online: 30-10 21:18
RikHa schreef op dinsdag 2 april 2024 @ 18:39:
@Niek_ Kijk:
[Afbeelding]
Meter zit erin. Die rode hoofdschakelaar is de noodstop voor het ESS systeem. Dat zit aan de andere kant van de muur. Schakelaar schakelt de remote on/off op de eerste Multi. De rest gaat dan automatisch mee.

[Afbeelding]
Apart kastje voor de meetspoelen.

En zie daar:
[Afbeelding]
Ah, dus toch de meter.
En toch vind ik het stom ;) Wat voor een verschil maakt het nou of je een meter na de hoofdschakelaar plaatst of direct na de hoofdschakelaar de multiplus? Data zou hetzelfde moeten zijn zou je denken.

Maar goed, mooi dat je het uitgezocht hebt. Dan toch maar een meter bestellen, laadpaal op AC-OUT2 en dan nog even pielen hoe ik de laadpaal ook op het VRM te zien krijg (al zal dat nog wel even wat gedoe worden :)).

  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
@John245
En hoe ziet het eruit met de groepenkast dicht?
Afbeeldingslocatie: https://tweakers.net/i/p1Gr9XmPo1kjFedsMoLE3Q3PREI=/x800/filters:strip_icc():strip_exif()/f/image/wKEC9kOuIVUSXrZG2uL1atCH.jpg?f=fotoalbum_large
Zo dus. :*)

Haha, melige bui, sorry hoor. ;) Alles ligt nog open, morgen verder klussen. Een uitgebreid verslag volgt nog.

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • John245
  • Registratie: Januari 2020
  • Laatst online: 21:55
RikHa schreef op dinsdag 2 april 2024 @ 21:32:
@John245

[...]

[Afbeelding]
Zo dus. :*)

Haha, melige bui, sorry hoor. ;) Alles ligt nog open, morgen verder klussen. Een uitgebreid verslag volgt nog.
Ok. Mijn intersse gaat voornamelijk uit hoe je die ethernet kabel wegewerkt. Ik heb namelijk een VEGA verdeler en die heeft een deur. Ik had liever gezien dat de ethernet aansluiting net zoals bij de EM24 aan de onderkant zit.

Tibber; 3-fase Victron ESS, 38,4 kWh opslag; gasloos sinds 2013; Nibe F1245-10PC; SAP; HomeSeer4; Proxmox 8


  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
John245 schreef op dinsdag 2 april 2024 @ 21:38:
[...]

Ok. Mijn intersse gaat voornamelijk uit hoe je die ethernet kabel wegewerkt. Ik heb namelijk een VEGA verdeler en die heeft een deur. Ik had liever gezien dat de ethernet aansluiting net zoals bij de EM24 aan de onderkant zit.
Ja daar moet ik nog wat op verzinnen. Inderdaad niet handig.

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • N0EL
  • Registratie: November 2019
  • Laatst online: 28-10 19:34
HermanGast schreef op dinsdag 2 april 2024 @ 19:53:
De Victron volledig aansturen met alleen een M5stack middels MQTT (lezen en schrijven) en als optie ook bij enever.nl de uurprijzen ophalen. Heb HA al een poos geleden uitgezet, daar kan ik niets mee.

Vertrekpunt:
3fase Multiplus 3000/35, waarvan 1 in GX versie. (Geen Cerbo)
EM24 voor grid en EM24 voor PV
Pylontech accu's 26,2 kWh totaal
ESS aan
Meer PV dan eigen gebruik.
Nog geen variabel contract, dus salderen geeft beter rendement dan thuisaccu (met 20% verliezen)

Doelen:
- In de ochtend naar ca. 30% SoC.
- Overdag pieken opvangen (maximaal laden) zodat bij veel PV hopelijk de stoppen heel blijven en de panelen niet gaan aftoppen.
- In avond en nacht weer ontladen tot ca. SoC 35%
- Vooral leren en alvast een beetje voorbereiden op uurprijzen t.z.t.

De code lijkt me wel leesbaar, beetje rommelig nog hier en daar, maar tijd om op te schonen was wat beperkt.
Laat maar weten als er stukjes onbegrijpelijk tussen zitten.

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
#include <M5Unified.h>
#include <ArduinoJson.h>
#include <WiFi.h>
#include <PubSubClient.h>
#include <ezTime.h>
#include <HTTPClient.h>

// Zelf aanpassen:
// ssid     op regel 51
// password op regel 52
// VRM_ID   op regel 16 en op regel 55 IP-adres van GX
// Etoken   op regel 58 (is optioneel, voor ophalen dagprijzen bij enever.nl)
// Regels 260 tm 320 kunnen er uit als dagprijzen niet opgehaald worden

// VRM Portal ID
#define VRM_ID "ZELFINVULLEN"  // 12 karakters
// MQTT Topics:
#define topicSOCActual "N/" VRM_ID "/battery/512/Soc"
#define topicDCPOW     "N/" VRM_ID "/battery/512/Dc/0/Power"
#define topicDCCUR     "N/" VRM_ID "/battery/512/Dc/0/Current"
#define topicSOCLimit  "N/" VRM_ID "/system/0/Control/ActiveSocLimit"
#define topicSETP      "N/" VRM_ID "/settings/0/Settings/CGwacs/AcPowerSetPoint"         
#define topicMAXAmp    "N/" VRM_ID "/vebus/275/Dc/0/MaxChargeCurrent"
#define topicACPOW     "N/" VRM_ID "/grid/40/Ac/Power"
#define topicPVpow     "N/" VRM_ID "/pvinverter/42/Ac/Power"                            // PV power  LET OP!!! 42 kan varieren afhankelijk van de meter.
#define topicMLOAD     "N/" VRM_ID "/settings/0/Settings/SystemSetup/MaxChargeCurrent"  // Maximum charger current (Amps) 
#define topicWMODE     "N/" VRM_ID "/vebus/275/Mode"                                    //(3: on) (1: Charger only) (2: Inverter only)
#define ESS_1          "N/" VRM_ID "/system/0/SystemState/LowSoc"
#define ESS_2          "N/" VRM_ID "/system/0/SystemState/BatteryLife"
#define ESS_3          "N/" VRM_ID "/system/0/SystemState/ChargeDisabled"
#define ESS_4          "N/" VRM_ID "/system/0/SystemState/DischargeDisabled"
#define ESS_5          "N/" VRM_ID "/system/0/SystemState/SlowCharge"
#define ESS_6          "N/" VRM_ID "/system/0/SystemState/UserChargeLimited"
#define ESS_7          "N/" VRM_ID "/system/0/SystemState/UserDischargeLimited"
#define Consume_L1     "N/" VRM_ID "/system/0/Ac/Consumption/L1/Power"
#define Consume_L2     "N/" VRM_ID "/system/0/Ac/Consumption/L2/Power"
#define Consume_L3     "N/" VRM_ID "/system/0/Ac/Consumption/L3/Power"
#define NetAC1         "N/" VRM_ID "/grid/40/Ac/L1/Current"
#define NetAC2         "N/" VRM_ID "/grid/40/Ac/L2/Current"
#define NetAC3         "N/" VRM_ID "/grid/40/Ac/L3/Current"
#define KeepALive      "R/" VRM_ID "/keepalive"

// Voor instellen van de Multiplussen:
#define SetACPwr       "W/" VRM_ID "/settings/0/Settings/CGwacs/AcPowerSetPoint"  // Grid setpoint
#define MaxCurrent     "W/" VRM_ID "/vebus/275/Dc/0/MaxChargeCurrent"             // Max laadstroom in Amps
   
// Nb. Bij dit voorbeeld zijn 3-fase Multiplus 3000 series aangesloten waarvan 1 in GX uitvoering, dus zonder Cerbo
//     Deze Multiplussen laden met maximaal 35A elk, dus 105A totaal.

// WiFi
const char* ssid =     "ZELFINVULLEN";
const char* password = "ZELFINVULLEN0";

// Victron 
const char* mqtt_server = "192.168.2.91";  // IP adres van de MultiplusGX (of Cerbo)

//  Enever.nl  (optie voor ophalen energieprijzen, niet nodig voor MQTT)
const char* EToken = "ZELFINVULLEN"; 
const char* TodayUrl = "https://enever.nl/api/stroomprijs_vandaag.php?token=";

// Globale variabelen
const int mqtt_port = 1883;
const int httpsPort = 443;
int Teller = 0;
int multi = 1;
int soc_Actual = 30;
int soc_Low_Limit = 10;
int AC_Watt = 0; int DC_Watt = 0; int DC_Amps = 0;
int WorkMode = 3;
int Ess[8];
int AC1 = 0; int AC2 = 0; int AC3 = 0;
int ConsL1 = 0; int ConsL2 = 0; int ConsL3 = 0;
int ConsTot = 0;
int Payload = 0;
int PV_Watt = 0;
int Blijfleven;
int MaxAC = 0;
int PasOp = 0;
int PrijsHoog = 0;
String antwoord;
double Pricing[24];
double Sorted[24]; 
double prijsTotaal = 0.0;
double AvgPrice = 0.0;
char buffer[20];
double Temp = 0.0;
int MaxCharge = 100; // Maximum Charge Current Standaard op 105 voor Pylontech (feb 2024)
int TargetCharge = 50; // 100;
float TC = 90.0;
int Grid_Setpoint = -20;
int ACPowerSetpoint = 0;
int Now    = 0;
int Minute = 0;
int DatumMaand = 0;
char Buff[20];
String Today;
String LaatstOpgehaald;
Timezone Woonplaats;
WiFiClient espClient;
PubSubClient client(espClient);

// Nb. Bij dit voorbeeld worden 2 EM24 meters gebruikt: 1x voor meten Grid, en 1x voor PV productie van zonnepanelen.   

void setup() {  
  M5.begin();Woonplaats.setPosix("CET-2:00");  //Voor wintertijd: Woonplaats.setPosix("CET-1:00"); 
  M5.Lcd.setTextSize(2);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED && (Teller < 500)) { delay(Teller++); M5.Lcd.print("."); }// Teller zorgt ervoor dat we niet eindeloos blijven proberen.
  if(WiFi.status() != WL_CONNECTED) exit(0);                                                     // Als we geen WiFi hebben, dan maar opnieuw opstarten  
  void updateNTP();  waitForSync();
  IPAddress myIP = WiFi.localIP(); M5.Lcd.println(myIP);    delay(2000);  
  client.setServer(mqtt_server, mqtt_port);

if (!client.connected()) {
    while (!client.connected()) {
      if (client.connect("M5StackClient")) { delay(100);
        client.publish(KeepALive, "");                
        } else     M5.Lcd.println("Disconnected"); 
    }
  }  

  // List of topics to subscribe to:    Zie de lijst bovenaan, de #define statements
  client.subscribe(topicSOCActual); client.subscribe(topicSOCLimit); client.subscribe(topicDCPOW);
  client.subscribe(topicDCCUR);     client.subscribe(topicACPOW);    
  client.subscribe(topicMLOAD);     client.subscribe(topicWMODE);    client.subscribe(ESS_1);
  client.subscribe(ESS_2);          client.subscribe(ESS_3);         client.subscribe(ESS_4);   
  client.subscribe(ESS_5);          client.subscribe(ESS_6);         client.subscribe(ESS_7);
  client.subscribe(Consume_L1);     client.subscribe(Consume_L2);    client.subscribe(Consume_L3);  
  client.subscribe(NetAC1);         client.subscribe(NetAC2);        client.subscribe(NetAC3);    
  client.subscribe(topicPVpow);     client.subscribe(topicSETP);     client.setCallback(callback); 

  //Scherm leegmaken
  M5.Lcd.fillScreen(BLACK);  M5.Lcd.setCursor(0, 0);
}

void loop() {  
  Now    = Woonplaats.dateTime("H").toInt();
  Minute = Woonplaats.dateTime("i").toInt();
  Today    = Woonplaats.dateTime("y-m-d");
  DatumMaand = Woonplaats.dateTime("m").toInt();  

  // Programma stuurt op MaxCurrent bij laden om te verdelen tussen Accu en Grid.
  // Lage TC > weinig opladen en veel terugleveren
  // Hoge TC > veel terugleveren en minder laden.

  MaxAC = abs(AC1); if(abs(AC2) > MaxAC)MaxAC = abs(AC2); if(abs(AC3) > MaxAC)MaxAC = abs(AC3); 
  client.loop(); delay(50);      
                     
    if(PV_Watt < 12000  || MaxAC < 17)  TC = TC - 0.1; 
    if(PV_Watt < 11000  || MaxAC < 16)  TC = TC - 0.2;     
    if(PV_Watt < 10000  || MaxAC < 15)  TC = TC - 0.5; 
    if(PV_Watt < 9000  || MaxAC < 14)  TC = TC - 1.0; 
    if(PV_Watt < 8000  || MaxAC < 13)  TC = TC - 10;  
    if(PV_Watt < 100)     TC = 105.0;  // In avond en nacht terugzetten     
    if(soc_Actual < 15) TC = 50;  // Bij lege accu aanvullen      
    if(soc_Actual < 30)TC = ((abs(DC_Watt) + abs(AC_Watt)) / 100);  // Bij lege accu aanvullen  
    if(PV_Watt > 8000  && MaxAC > 18)  TC = TC + 0.1;      
    if(PV_Watt > 9000  && MaxAC > 19)  TC = TC + 0.2; 
    if(PV_Watt > 10000 && MaxAC > 20)  TC = TC + 10;     
    if(PV_Watt > 10000 && MaxAC > 21)  TC = TC + 25;         
    if(PV_Watt > 10000 && MaxAC > 22)  TC = 105.0;  // Pas op je hoofdzekeringen.... , 22 Ampere, gevaarlijk dicht bij max.(25).--> Vol accu laden    
    if(TC > 105.0 )    TC = 105.0;  // Meer dan 105 heeft geen nut  
    if(TC < 4.0 )      TC = 4.0;    // Nooit minder dan 3A op 48V

  TargetCharge = int(TC); 
  if(MaxCharge != TargetCharge){setValueVictron(MaxCurrent, TargetCharge); client.loop();delay(10);}   //  Aanpassen in de GX module
  client.loop(); delay(50);
  

  // Visualisatie. Opmaak beetje 'quick and dirty' bij elkaar gesprokkeld, ruimte voor verbetering
  M5.Lcd.setTextSize(2);
  // Linksonder in het klein, tijd, datum en Grid setpoint
  M5.Lcd.setCursor(0, 186);if(Now < 10)   M5.Lcd.print("0"); M5.Lcd.print(Now); M5.Lcd.print(":");
                           if(Minute < 10)M5.Lcd.print("0"); M5.Lcd.println(Minute); 
                           M5.Lcd.print(Today);M5.Lcd.println(" ");
                           M5.Lcd.setCursor(0, 222);
                           M5.Lcd.print("GT:");M5.Lcd.print(Grid_Setpoint);M5.Lcd.print(" ");
  client.loop();delay(50); 
  // Lijst met bovenin de capaciteit in kWh 
  M5.Lcd.setCursor(0, 0); M5.Lcd.setTextSize(3); M5.Lcd.setTextColor(WHITE, BLACK);
  float cap = (soc_Actual - soc_Low_Limit) * 26.2 / 100;  // laadpercentagex  
  if(cap < 0) cap = 0.0; 
  M5.Lcd.print("Cap:");  M5.Lcd.print(cap);M5.Lcd.print("kWh "); if(cap < 10.0 )M5.Lcd.print(" ");
  // Rechtsboven het doel voor opladen (Amps laadstroom naar de Pylontechs) 
  M5.Lcd.print("T");M5.Lcd.print(TargetCharge);
  if (TargetCharge < 100) M5.Lcd.print(" "); if (TargetCharge < 10) M5.Lcd.print(" ");M5.Lcd.println("");
  // Regeltje voor SOC, min-huidig-max
  M5.Lcd.print("SoC:"); M5.Lcd.print(soc_Low_Limit);M5.Lcd.print("-");  
  if(soc_Actual >= soc_Low_Limit)M5.Lcd.setTextColor(GREEN, BLACK); else M5.Lcd.setTextColor(RED, BLACK);
  M5.Lcd.print(soc_Actual); 
  M5.Lcd.setTextColor(WHITE, BLACK);
  M5.Lcd.println("-100% ");   
  // Regeltje voor PV
  ConsTot = ConsL1 + ConsL2 + ConsL3;
  sprintf(Buff, "PV :%6dW ", PV_Watt);           M5.Lcd.println(Buff); 
  // Regeltje voor eigen gebruik
  sprintf(Buff, "Use:%6dW ", ConsTot);         M5.Lcd.println(Buff);
  // Regeltje voor ESS
  sprintf(Buff, "ESS:%6dW %3dA", DC_Watt, DC_Amps);M5.Lcd.println(Buff);
  M5.Lcd.setTextColor(GREEN, BLACK);
  if(MaxAC >= 17)M5.Lcd.setTextColor(YELLOW, BLACK);
  if(MaxAC >= 19)M5.Lcd.setTextColor(ORANGE, BLACK);
  if(MaxAC >= 20)M5.Lcd.setTextColor(RED, BLACK);
  // Regeltje voor Grid
  sprintf(Buff, "Net:%6dW %3dA", AC_Watt, MaxAC);M5.Lcd.println(Buff);
  M5.Lcd.setTextColor(WHITE, BLACK);
  // Regeltje voor afwijkende Workmode als die er is....
  switch(WorkMode){ 
    case 1: M5.Lcd.println("Charger only   "); break;
    case 2: M5.Lcd.println("Inverter only  "); break;
  //case 3: M5.Lcd.println("Mode is on     "); break;
    case 4: M5.Lcd.println("Mode is off    "); break;
  } 

  // Ontladen van accu voor de volgende dag.... 
  // Een (soms) flink negatief Grid_Setpoint wordt gebuikt om in de avond en nacht terug te leveren
  // Issue voor mij dat ik teveel PV heb en accu gebruik om stroom terug naar rid wat te beperken.
  // Dat kan alleen als ik nog ruimte heb in de accu's. Dus in de ochtend niet te vol beginnen
  Grid_Setpoint = -20; 
  if(DatumMaand > 2 && DatumMaand < 10 && soc_Actual >= 40){   // In de zomermaanden (maart tm sept): niet te veel cap. in de accu houden
    switch(Now){           
    case 19: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 1 * 10 * PrijsHoog; break; // Tijdens de avond ontladen tot ca. 40-35% 
    case 20: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 1 * 10 * PrijsHoog; break;     
    case 21: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 1 * 10 * PrijsHoog; break; 
    case 22: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 7 * 10 * PrijsHoog; break;
    case 23: Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 6 * 10 * PrijsHoog; break;
    case 1:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 5 * 10 * PrijsHoog; break;
    case 2:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 4 * 10 * PrijsHoog; break;
    case 3:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 3 * 10 * PrijsHoog; break;
    case 4:  Grid_Setpoint = -1 * (soc_Actual - 40) * 26,2 / 2 * 10 ; break;
    case 5:  Grid_Setpoint = -1 * (soc_Actual - 35) * 26,2 / 1 * 10 ; break;    
    }    
   }          
  if(Grid_Setpoint != ACPowerSetpoint) setValueVictron(SetACPwr, Grid_Setpoint);

  // Regeltje voor ESS status (als die er is)
  if((Ess[1] + Ess[2] + Ess[3] + Ess[4] + Ess[5] + Ess[6] + Ess[7]) >0){
    M5.Lcd.setTextColor(BLUE, BLACK); PrijsHoog = 0;
    for (int i = 1; i < 8; i++) {  if(Ess[i] == 1)M5.Lcd.print("#");M5.Lcd.print(i); M5.Lcd.print(" "); }
    Grid_Setpoint = -20; // Als ESS status, dan setpoint weer op default waard 
    }
   
  // Regeltje voor huidig tarief HOOG/LAAG en % t.o.v. gemiddelde
  if(Pricing[Now] > Sorted[6]){M5.Lcd.print("Hoog: +"); PrijsHoog = 1 ;                          // Bij hoogste 5 prijzen
                                  M5.Lcd.print(int(100 * ((Pricing[Now] / AvgPrice) -1)));
                                  M5.Lcd.setTextColor(RED, BLACK);
                                  M5.Lcd.println("%   ");
                                  M5.Lcd.setTextColor(WHITE, BLACK);} else 
  if(Pricing[Now] < AvgPrice && AvgPrice != 0){M5.Lcd.print("Laag: -");  PrijsHoog = 0;
                                               M5.Lcd.print(int(100 * (1 - (Pricing[Now] / AvgPrice))));
                                               M5.Lcd.setTextColor(GREEN, BLACK);M5.Lcd.println("%   ");
                                               M5.Lcd.setTextColor(WHITE, BLACK);} 
                                        //else   M5.Lcd.print("    ");
  
  M5.Lcd.setTextSize(8); M5.Lcd.setCursor(130, 180); M5.Lcd.setTextColor(GREEN, BLACK); M5.Lcd.print(soc_Actual);M5.Lcd.print("% ");
  Blijfleven++;if(Blijfleven > 200){client.publish(KeepALive, ""); delay(70); Blijfleven=0;}
  client.loop();delay(10);  
  
// ****** Begin stukje energieprijzen ******** dit hele stuk kun je uit-commentarieren **********************************
  M5.Lcd.setTextSize(2);
  //if(LaatstOpgehaald != Today && Now == 1 && Minute ==3){  // Een keer per dag!
  if(LaatstOpgehaald != Today && (Now > 0 || Minute > 17)){  // Hebben we vandaag de prijzen nog niet?, dan even ophalen...   
  prijsTotaal = 0.0;   AvgPrice = 0.0;
  HTTPClient http;
    String serverPath = TodayUrl + String(EToken); // Construct API URL voor energieprijzen
    http.begin(serverPath);
    int httpResponseCode = http.GET();
    if (httpResponseCode == 200) { // Check for the returning code     
      antwoord = http.getString();
      LaatstOpgehaald = Today;
    } else {  M5.Lcd.setCursor(0, 0);
              M5.Lcd.println("http call failed: ");    
              M5.Lcd.println(httpResponseCode); delay(200);
              M5.Lcd.fillScreen(BLACK); 
              M5.Lcd.setCursor(0, 0); }
  http.end();
  M5.Lcd.fillScreen(BLACK);  M5.Lcd.setCursor(0, 0);
  int TariefUur = 0;
  DynamicJsonDocument doc(16384);    // https://arduinojson.org/v6/assistant/ voor code en sizing :-)
  DeserializationError error = deserializeJson(doc, antwoord);
  if (error) {    M5.Lcd.setCursor(0, 0);
                  M5.Lcd.println("deserializeJson() failed: ");    
                  M5.Lcd.println(error.c_str()); delay(200);
                  M5.Lcd.fillScreen(BLACK); 
                  M5.Lcd.setCursor(0, 0); }
   else {
   const char* status = doc["status"]; // "true"
   for (JsonObject data_item : doc["data"].as<JsonArray>()) {
      const char* data_item_datum = data_item["datum"]; 
      const char* data_item_prijs = data_item["prijs"];    
      prijsTotaal = prijsTotaal + atof(data_item_prijs);
      Sorted[TariefUur] = atof(data_item_prijs); Pricing[TariefUur++] = atof(data_item_prijs);     
      }  AvgPrice = prijsTotaal / 24;    

    for (int i = 0; i < 23; i++)    // Sorteren aflopend op prijs in array Sorted
        for (int j = 23; j > i; j--)
           if(Sorted[i] < Sorted[j])             {Temp = Sorted[j]; Sorted[j] = Sorted[i]; Sorted[i] = Temp;}  

    for (int i = 0; i <= 23; i++) {
      M5.Lcd.setCursor(0 , i * 18 ); if(i >= 12) M5.Lcd.setCursor(160 , i * 18 - 216 ); 
      M5.Lcd.setTextColor(WHITE, BLACK); 
      if(Pricing[i] <= Sorted[18]) M5.Lcd.setTextColor(YELLOW, BLACK);  // Goedkoopste 6
      //if(Pricing[i] <= AvgPrice) M5.Lcd.setTextColor(YELLOW, BLACK);     // Goedkoper dan gemiddelde
      if(Pricing[i] == Sorted[23])M5.Lcd.setTextColor(GREEN,  BLACK); // Goedkoopste uur
      if(Pricing[i] > Sorted[6])  M5.Lcd.setTextColor(ORANGE, BLACK);   // Duurste 5    
      //if(Pricing[i] > AvgPrice)  M5.Lcd.setTextColor(ORANGE, BLACK);      // Duurder dan gemiddelde     
      if(Pricing[i] == Sorted[0]) M5.Lcd.setTextColor(RED,    BLACK);   // Duurste uur
      if(i == Now)sprintf(buffer, "%2d=>%.5f ", i, Pricing[i]); 
             else sprintf(buffer, "%2d: %.5f ", i, Pricing[i]); M5.Lcd.print(buffer);        
       } 
    M5.Lcd.setTextColor(WHITE, BLACK); M5.Lcd.println(""); 
    sprintf(buffer, "Avg:%.5f  ", AvgPrice); M5.Lcd.print(buffer);
    if(Pricing[Now] > AvgPrice)M5.Lcd.print("HOOG");else M5.Lcd.print("LAAG"); 
    delay(2500); // Paar tellen in beeld
    M5.Lcd.fillScreen(BLACK); 
    M5.Lcd.setCursor(0, 0);
    }
  }
  
  // *** Einde stukje energieprijzen ******************************************************************
}

void callback(char* topic, byte* payload, unsigned int length) {
  StaticJsonDocument<248> doc; 
  int val = 0;
  DeserializationError error = deserializeJson(doc, payload, length);   
  if (error) { M5.Lcd.setTextSize(2); M5.Lcd.setCursor(0, 190);  M5.Lcd.println(error.c_str()); delay(2000); } 
  else 
  {   // Karakter voor karakter uitpluizen 
  multi = 1; // positief getal
  for (int i = 0; i < length; i++) {    
    switch((char)payload[i]){
      case 34:                     break; // "
      case 44:                     break; //comma
      case 45: multi = -1;         break; // - (negatief getal)
      case 46: i =length ;         break; // punt
      case 48: val = 10 * val + 0; break; // 0
      case 49: val = 10 * val + 1; break; // 1
      case 50: val = 10 * val + 2; break; // 2
      case 51: val = 10 * val + 3; break; // 3
      case 52: val = 10 * val + 4; break; // 4
      case 53: val = 10 * val + 5; break;
      case 54: val = 10 * val + 6; break;
      case 55: val = 10 * val + 7; break;
      case 56: val = 10 * val + 8; break; // 8
      case 57: val = 10 * val + 9; break; // 9
      case 58:                     break; // :
      case 123:                    break; // {
      case 125: i =length ;        break; // }
      }
    }  
  if((strcmp(topic, topicSOCActual) == 0)) soc_Actual   = val * multi; 
  if((strcmp(topic, topicSOCLimit) == 0))  soc_Low_Limit   = val * multi;   
  if((strcmp(topic, topicACPOW) == 0))     AC_Watt  = val * multi;      
  if((strcmp(topic, topicDCPOW) == 0))     DC_Watt  = val * multi; 
  if((strcmp(topic, topicDCCUR) == 0))     DC_Amps  = val * multi;
  if((strcmp(topic, topicWMODE) == 0))     WorkMode = val * multi;
  if((strcmp(topic, topicMAXAmp) == 0))    MaxCharge  = val * multi;
  if((strcmp(topic, topicPVpow) == 0))     PV_Watt  = val * multi;
  if((strcmp(topic, topicSETP) == 0))      ACPowerSetpoint = val * multi;
  if((strcmp(topic, ESS_1) == 0))  Ess[1]  = val ;   if((strcmp(topic, ESS_2) == 0))  Ess[2]  = val ;
  if((strcmp(topic, ESS_3) == 0))  Ess[3]  = val ;   if((strcmp(topic, ESS_4) == 0))  Ess[4]  = val ;
  if((strcmp(topic, ESS_5) == 0))  Ess[5]  = val ;   if((strcmp(topic, ESS_6) == 0))  Ess[6]  = val ;
  if((strcmp(topic, ESS_7) == 0))  Ess[7]  = val ;
  if((strcmp(topic, Consume_L1) == 0)) ConsL1  = val * multi;  
  if((strcmp(topic, Consume_L2) == 0)) ConsL2  = val * multi;
  if((strcmp(topic, Consume_L3) == 0)) ConsL3  = val * multi;
  if((strcmp(topic, NetAC1) == 0)) AC1  = val * multi;  
  if((strcmp(topic, NetAC2) == 0)) AC2  = val * multi;
  if((strcmp(topic, NetAC3) == 0)) AC3  = val * multi;
  }   
} 

void setValueVictron( char* Wtopic, int setpointValue) {
    String payload; 
    StaticJsonDocument<248> doc; 
    doc["value"] = setpointValue;
    serializeJson(doc, payload);      
    client.publish(Wtopic, payload.c_str()); 
}

void checkforerrors() {
int rc = client.state();   
  switch(rc){
   case -4 : M5.Lcd.println("MQTT_CONNECTION_TIMEOUT - the server didn't respond within the keepalive time");break;
   case -3 : M5.Lcd.println("MQTT_CONNECTION_LOST - the network connection was broken");break;
   case -2 : M5.Lcd.println("MQTT_CONNECT_FAILED - the network connection failed");break;
   case -1 : M5.Lcd.println("MQTT_DISCONNECTED - the client is disconnected cleanly");break;
   case 0 : M5.Lcd.println("                                                                                    ");break;
   case 1 : M5.Lcd.println("MQTT_CONNECT_BAD_PROTOCOL - the server doesn't support the requested version of MQTT");break;
   case 2 : M5.Lcd.println("MQTT_CONNECT_BAD_CLIENT_ID - the server rejected the client identifier");break;
   case 3 : M5.Lcd.println("MQTT_CONNECT_UNAVAILABLE - the server was unable to accept the connection");break;
   case 4 : M5.Lcd.println("MQTT_CONNECT_BAD_CREDENTIALS - the username/password were rejected");break;
   case 5 : M5.Lcd.println("MQTT_CONNECT_UNAUTHORIZED - the client was not authorized to connect");break;
   }   
}

[Afbeelding]

En voor mijn gemoedsrust.... Je bent zelf verantwoordelijk als je van bovenstaande code gebruik maakt!
Dankjewel.
Het is allemaal duidelijk, en ik ga er volgend week wat mee spelen/testen.
Ik ben morgen voor een paar dagen naar het buitenland.

  • Charm
  • Registratie: Februari 2024
  • Laatst online: 01-03 20:51
Beste mensen, even een basic vraag tussendoor 😀. Ik ben bezig met de bouw van een enkele fase ESS voor thuisgebruik.Ik moet nu accukabels gaan bestellen van 50mm2 en 70mm2. Ik zie regelmatig zgn laskabels voorbijkomen. Zijn deze geschikt voor deze toepassing? Ik las ergens een advies van Victron over de gewenste kwaliteit van deze kabels maar kan het niet meer vinden. De bottom line was dat een kabel met te grove aders te veel warmteontwikkeling geeft in de plug door het beperkte contactoppervlak. Graag jullie bijdrage.

  • MJ de Bruijn
  • Registratie: November 2016
  • Laatst online: 21:47
Charm schreef op woensdag 3 april 2024 @ 09:22:
Beste mensen, even een basic vraag tussendoor 😀. Ik ben bezig met de bouw van een enkele fase ESS voor thuisgebruik.Ik moet nu accukabels gaan bestellen van 50mm2 en 70mm2. Ik zie regelmatig zgn laskabels voorbijkomen. Zijn deze geschikt voor deze toepassing? Ik las ergens een advies van Victron over de gewenste kwaliteit van deze kabels maar kan het niet meer vinden. De bottom line was dat een kabel met te grove aders te veel warmteontwikkeling geeft in de plug door het beperkte contactoppervlak. Graag jullie bijdrage.
Veiligheid voor alles. Niet experimenteren.
Suggestie: originele kabels, zo dik mogelijk.

  • M66B
  • Registratie: September 2007
  • Niet online
Charm schreef op woensdag 3 april 2024 @ 09:22:
Beste mensen, even een basic vraag tussendoor 😀. Ik ben bezig met de bouw van een enkele fase ESS voor thuisgebruik.Ik moet nu accukabels gaan bestellen van 50mm2 en 70mm2. Ik zie regelmatig zgn laskabels voorbijkomen. Zijn deze geschikt voor deze toepassing? Ik las ergens een advies van Victron over de gewenste kwaliteit van deze kabels maar kan het niet meer vinden. De bottom line was dat een kabel met te grove aders te veel warmteontwikkeling geeft in de plug door het beperkte contactoppervlak. Graag jullie bijdrage.
Dit is een keer genoemd in deze forum thread voor kabels op maat:

https://accunoord.nl/

Ik heb er zelf geen ervaring mee, want ik gebruik standaard kabels.

Zoals al gezegd, wees voorzichtig, er gaat veel stroom door de kabels!

Edit: denk ook aan een zekering en een DC-schakelaar.

[ Voor 4% gewijzigd door M66B op 03-04-2024 09:45 ]


  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Charm schreef op woensdag 3 april 2024 @ 09:22:
Beste mensen, even een basic vraag tussendoor 😀. Ik ben bezig met de bouw van een enkele fase ESS voor thuisgebruik.Ik moet nu accukabels gaan bestellen van 50mm2 en 70mm2. Ik zie regelmatig zgn laskabels voorbijkomen. Zijn deze geschikt voor deze toepassing? Ik las ergens een advies van Victron over de gewenste kwaliteit van deze kabels maar kan het niet meer vinden. De bottom line was dat een kabel met te grove aders te veel warmteontwikkeling geeft in de plug door het beperkte contactoppervlak. Graag jullie bijdrage.
Hallo, kabeldikte via online kabel calculator.

De kabels die ik heb gekocht, puur koper 99.9%:
https://www.dgrubberholland.nl/categorie/elektra/

Gekocht bij:
https://www.boatshopfrysl...bels-en-snoeren/accukabel

add: Alvorens ik besluit een MP2 + GX te kopen zal ik na de vakantie me eerst gaan verdiepen in de victron software. Als ik het zo in eerste instantie bekijk is het hier en daar ook maar houtje touwtje.

Kijk, dit is wat ik bedoel met fase kiezen, Ik wil met de MP2 kunnen kiezen welke fase gebruikt moet worden (dus de calculatie om 0 verbruik te houden) voor leveren aan huis vanuit de batterij. Nu staat in de gebruiksaanwijzing dat er per fase een MP2 nodig is, dat wil ik niet. Ik wil de slimme meter laten salderen voor de gekozen fases. Hier een foto van invoer mijn huidige systeem:
Afbeeldingslocatie: https://tweakers.net/i/XlKaJaT06OnqiIUX1abdzNYKDX8=/234x176/filters:strip_icc():strip_exif()/f/image/clDTZcXEq1UIEBZpK6VGzqKB.jpg?f=fotoalbum_medium

[ Voor 35% gewijzigd door Willie Wortel op 03-04-2024 11:20 ]


  • Charm
  • Registratie: Februari 2024
  • Laatst online: 01-03 20:51
Dank voor jullie reactie. Veiligheid voor alles, vandaar deze specifieke vraag. Kabeldiktes zijn vastgesteld op basis de adviezen van Victron. DC schakelaars en zekeringen zijn voorzien.

[ Voor 3% gewijzigd door Charm op 03-04-2024 10:19 ]


  • Charm
  • Registratie: Februari 2024
  • Laatst online: 01-03 20:51
MJ de Bruijn schreef op woensdag 3 april 2024 @ 09:40:
[...]

Veiligheid voor alles. Niet experimenteren.
Suggestie: originele kabels, zo dik mogelijk.
Wat zijn dan 'originele kabels'? Deze kwalificatie is niet specifiek genoeg om als selectiecriterium te kunnen gebruiken.

  • V_ger
  • Registratie: September 2009
  • Laatst online: 22:23
Soepele, fijnaderige koperen kabels, dubbel geisoleerd. Sommigen geven de voorkeur om de kabelogen er aan te laten krimpen door een professional (iemand die je ervoor betaald), anderen doen dat laatste liever zelf omdat dat praktischer is als je nog iets door wil voeren.
Als je het zelf doet, beter geen blikken ali kabelogen, maar stevige die je bij dezelfde toko kan kopen als de kabels. En het juiste gereedschap gebruiken, niet gewoon dichtslaan met een hamer....

Zo dik mogelijk slaat nergens op, ze moeten de juiste doorsnede hebben voor de toepassing en de gekozen zekeringwaarde.

Tibber, Gasloos sinds 2017, Nibe F1155, 12.4kWp 30° O/W + 4.4kWp 0°, 3x Victron MP2-5000 + 60 kWh


  • IvoB2
  • Registratie: April 2019
  • Laatst online: 28-12-2024
Willie Wortel schreef op woensdag 3 april 2024 @ 09:56:
add: Alvorens ik besluit een MP2 + GX te kopen zal ik na de vakantie me eerst gaan verdiepen in de victron software. Als ik het zo in eerste instantie bekijk is het hier en daar ook maar houtje touwtje.
Hangt er gewoon vanaf wat je zelf wil en wat je doelstelling is.
Mijn doelstelling is bv. op jaarbasis zo weinig mogelijk afname te hebben van het grid waarbij de productie van mijn PV installatie in eerste instantie rechtstreeks naar de AC verbruikers gaat en wat niet onmiddellijk kan verbruikt wordt opgeslagen wordt in de thuisaccu. Wanneer de thuisaccu vol is (en er geen aanwijzingen zijn dat ik de volgende dagen de opslagcapaciteit in de woning volledig zal nodig hebben) gaan de overschot in de accu van de EV en dan pas in het net (in de periode november tot maart dus geen gebruik van de thuislaadpaal en daarbuiten zoveel mogelijk).
Omgekeerd dient - wanneer PV niet genoeg kan leveren voor de verbruikers - de energie in eerste instantie uit de thuisaccu gehaald te worden en dan, volgens de ingestelde min. SoC waarde, pas uit het net.
Met uitzondering wanneer het net niet voorhanden is dan mag de energie uit de accu gehaald worden onde de min. ingestelde SoC waarde (noodstroomvoorziening, alle verbruikers in en rond de woning staan hier ingesteld als kritische verbruikers).

En dat werkt hier op basis van de Victron Software probleemloos (ik maak gebruik van ESS en niet van DESS want dat laatste loont hier (Vlaanderen) niet en het is dan ook niet mijn doelstelling om met een thuisaccu te gaan handelen in energie via een dynamisch contract).

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
@IvoB2 Dat wil ik ook maar ik heb een fase waar de warmtepomp op staat, die trekt de batterij leeg in de zeg maar de goedkope uren. Ik wil die fase dan onzichtbaar maken voor de MP2 zodat ik overhoud voor de dure uren.

  • MJ de Bruijn
  • Registratie: November 2016
  • Laatst online: 21:47
Charm schreef op woensdag 3 april 2024 @ 10:23:
Wat zijn dan 'originele kabels'? Deze kwalificatie is niet specifiek genoeg om als selectiecriterium te kunnen gebruiken.
Kabels van een gerenommeerde leverancier die zijn gemaakt voor de combinatie van jouw batterijen en jouw omvormer.
Ergo: Geen laskabel of ander "misschien kan dit ook" materiaal.

[ Voor 8% gewijzigd door MJ de Bruijn op 03-04-2024 11:28 ]


  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
Willie Wortel schreef op woensdag 3 april 2024 @ 09:56:
[...]
Kijk, dit is wat ik bedoel met fase kiezen, Ik wil met de MP2 kunnen kiezen welke fase gebruikt moet worden (dus de calculatie om 0 verbruik te houden) voor leveren aan huis vanuit de batterij. Nu staat in de gebruiksaanwijzing dat er per fase een MP2 nodig is, dat wil ik niet. Ik wil de slimme meter laten salderen voor de gekozen fases.
Dat kan. https://www.victronenergy...-further-information.html Zie 7.2

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
Willie Wortel schreef op woensdag 3 april 2024 @ 11:23:
@IvoB2 Dat wil ik ook maar ik heb een fase waar de warmtepomp op staat, die trekt de batterij leeg in de zeg maar de goedkope uren. Ik wil die fase dan onzichtbaar maken voor de MP2 zodat ik overhoud voor de dure uren.
Dat kan als je de warmtepomp voor de MP (dus aan de ACin kant) houdt.
Afbeeldingslocatie: https://tweakers.net/i/3SdkIfCevoF6xD5Y2tOI6moX3zk=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/9liVeM76Ej3ZFCrmriEZt4lM.png?f=user_large
De critical loads zijn de loads die na de MP zijn aangesloten op ACout1. Hiervoor moet je dan wel een energiemeter bij de hoofdaansluiting hebben.

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • IvoB2
  • Registratie: April 2019
  • Laatst online: 28-12-2024
Willie Wortel schreef op woensdag 3 april 2024 @ 11:23:
@IvoB2 Dat wil ik ook maar ik heb een fase waar de warmtepomp op staat, die trekt de batterij leeg in de zeg maar de goedkope uren. Ik wil die fase dan onzichtbaar maken voor de MP2 zodat ik overhoud voor de dure uren.
Ok, totaal ander uitgangspunt dus.
Hier zijn er geen dure en goedkope uren gezien het een variabel contract is met 24/7 dezelfde prijs (11,66 cent/kWh voor de energiecomponent en 20,73 cent/kWh all in).
Een dynamisch contract heeft hier ook 60€ vaste kosten (los van de kWh prijs) waarbij er bij een variabel contract geen vaste kosten zijn. Voor die 60€ kan je al 289 kWh aan de volle prijs aankopen wat bijna mijn volledige jaarafname van het net is (momenteel staat de jaarteller die hier begint te lopen van 1 oktober tot 31/9 op 282 kWh netafname).
Dankzij de combinatie van PV en thuisaccu (en uiteraard een goed geïsoleerde woning) moet op jaarbasis er nog maar een 300 kWh van het net gehaald worden en dat met 2 warmtepompen in gebruik (1 A2A MY 2013 en 1 A2W MY 2019).
We laten de WP, indien nodig, ook door de dag draaien en nooit 's nachts zodat alle eigen productie eerst rechtstreeks kan verbruikt worden.


Wat jij wil kan ook door een scheiding te maken tussen kritische verbruikers en andere verbruikers. Onze (uiteindelijke) doelstelling met het Victron systeem is dan ook een 100% off grid opstelling te kunnen realiseren (zitten nu op jaarbasis aan 90%) en niet ermee te handelen op de gridmarkt. Hier staat dan ook alles ingesteld als kritische verbruiker (ander uitgangspunt dus). Het is ook een monofase systeem.

[ Voor 6% gewijzigd door IvoB2 op 03-04-2024 11:51 ]


  • M66B
  • Registratie: September 2007
  • Niet online
De 15 euro TAIYEDQ TAC1100 100A mono fase 230V DIN rail meter kwam vandaag en ik vind het niet tegenvallen. Er zijn twee "dikke" aansluitingen met een schroef/klem voor de fasedraad, een wat kleinere aansluiting voor de neutrale draad en een kleine terminal voor een modbus aansluiting.

Een commentaar in de beoordelingen is dat de neutrale draad en de modbus aansluiting op de "tweede verdieping" wat dicht bij de fase schroeven zijn, maar ik heb daar geen problemen mee. Als het goed is, werk je toch spanningsloos en zorgvuldig.

modbus is compatibel met een SDM120 en heeft zelfs nog een aantal extra functies. Als het goed is, kun je, in tegenstelling tot de SDM120, de tellers resetten.

Afbeeldingslocatie: https://tweakers.net/i/oXfiZu-gTJ-RM9LUoRVTNfZp0UM=/x800/filters:strip_icc():strip_exif()/f/image/oAOYO5S2exOBEtM7Kv5ud0wa.jpg?f=fotoalbum_large

  • M66B
  • Registratie: September 2007
  • Niet online
Wat zijn dan 'originele kabels'? Deze kwalificatie is niet specifiek genoeg om als selectiecriterium te kunnen gebruiken.
Terechte vraag. In mijn geval origine Pylontech kabels die bij de batterij horen.

  • John245
  • Registratie: Januari 2020
  • Laatst online: 21:55
M66B schreef op woensdag 3 april 2024 @ 18:47:
De 15 euro TAIYEDQ TAC1100 100A mono fase 230V DIN rail meter kwam vandaag en ik vind het niet tegenvallen. Er zijn twee "dikke" aansluitingen met een schroef/klem voor de fasedraad, een wat kleinere aansluiting voor de neutrale draad en een kleine terminal voor een modbus aansluiting.

Een commentaar in de beoordelingen is dat de neutrale draad en de modbus aansluiting op de "tweede verdieping" wat dicht bij de fase schroeven zijn, maar ik heb daar geen problemen mee. Als het goed is, werk je toch spanningsloos en zorgvuldig.

modbus is compatibel met een SDM120 en heeft zelfs nog een aantal extra functies. Als het goed is, kun je, in tegenstelling tot de SDM120, de tellers resetten.

[Afbeelding]
Nooit geprobeerd, maar wat zou er gebeuren als je bij de SDM120 het volgende doet: "Reset historical
data"

Tibber; 3-fase Victron ESS, 38,4 kWh opslag; gasloos sinds 2013; Nibe F1245-10PC; SAP; HomeSeer4; Proxmox 8


  • M66B
  • Registratie: September 2007
  • Niet online
John245 schreef op woensdag 3 april 2024 @ 19:26:
[...]

Nooit geprobeerd, maar wat zou er gebeuren als je bij de SDM120 het volgende doet: "Reset historical
data"
Ik zie dat in de protocolbeschrijving niet staan:

https://www.eastroneurope...DM120-MODBUS_Protocol.pdf

Waar zie jij dat?

  • John245
  • Registratie: Januari 2020
  • Laatst online: 21:55
M66B schreef op woensdag 3 april 2024 @ 19:30:
[...]

Ik zie dat in de protocolbeschrijving niet staan:

https://www.eastroneurope...DM120-MODBUS_Protocol.pdf

Waar zie jij dat?
Zie SDM120 user manual https://xn--stromzhler-v5...9/sdm120modbus_manual.pdf

Tibber; 3-fase Victron ESS, 38,4 kWh opslag; gasloos sinds 2013; Nibe F1245-10PC; SAP; HomeSeer4; Proxmox 8


  • M66B
  • Registratie: September 2007
  • Niet online
Interessant, het lijkt wel of dit commando later is toegevoegd.

De vraag is wat het doet (dat geldt ook voor de kloon): het lijkt erop dat de maxima worden gereset en niet de energietellers (kWh).

  • John245
  • Registratie: Januari 2020
  • Laatst online: 21:55
M66B schreef op woensdag 3 april 2024 @ 19:39:
[...]

Interessant, het lijkt wel of dit commando later is toegevoegd.

De vraag is wat het doet (dat geldt ook voor de kloon): het lijkt erop dat de maxima worden gereset en niet de energietellers (kWh).
Ik moet er ooit nog 1 bijkopen. Dan ga ik het is testen.

Tibber; 3-fase Victron ESS, 38,4 kWh opslag; gasloos sinds 2013; Nibe F1245-10PC; SAP; HomeSeer4; Proxmox 8


  • M66B
  • Registratie: September 2007
  • Niet online
John245 schreef op woensdag 3 april 2024 @ 19:40:
[...]

Ik moet er ooit nog 1 bijkopen. Dan ga ik het is testen.
Ik heb er een en het maakt mij niet zoveel uit als de teller wordt gereset, aangezien ik toch home assistant voor registratie gebruik. Ik zal kijken of ik morgen tijd heb om dit te proberen.

Achtergrond: ik heb een SDM120 voor zonnepanelen productie, met een custom driver geïntegreerd in een Victron GX. De aangeschafte kloon meter is voor grid input/output, ook omdat ik slimme meters niet vertrouw, en die krijg ik volgende week eindelijk van Stedin.

  • Willie Wortel
  • Registratie: Maart 2012
  • Niet online
Ik heb nog geen MP2 maar wel 2x MPPT2 en shunt van victron in mijn zelfbouw Batterij systeem. Ik ben bezig met de Raspberry te voorzien van Venus OS gelijk in dit filmpje van mijn vriend Andy. Misschien interessant voor MP2 gebruikers.



Ik ben een beetje aan het ontdekken hoe ik Fase 2 onzichtbaar kan maken voor een MP2 (dus alleen fase 1 en 3 met 1 MP2), nu heb ik al wat tips. Zit te denken, de MP2 moet ergens zijn data van trekken, als ik nu in de bron de Fase2 verdonkeremaan? (op 0 zet) Zonder oplossing koop ik never nooit een MP2

  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
Willie Wortel schreef op donderdag 4 april 2024 @ 12:44:
Ik heb nog geen MP2 maar wel 2x MPPT2 en shunt van victron in mijn zelfbouw Batterij systeem. Ik ben bezig met de Raspberry te voorzien van Venus OS gelijk in dit filmpje van mijn vriend Andy. Misschien interessant voor MP2 gebruikers.

[YouTube: All your Victron Gear online | Venus OS + Raspberry Pi, how easy is the 3-step setup?]

Ik ben een beetje aan het ontdekken hoe ik Fase 2 onzichtbaar kan maken voor een MP2 (dus alleen fase 1 en 3 met 1 MP2), nu heb ik al wat tips. Zit te denken, de MP2 moet ergens zijn data van trekken, als ik nu in de bron de Fase2 verdonkeremaan? (op 0 zet) Zonder oplossing koop ik never nooit een MP2
Gaat deze RikHa in "Het grote Victron aansturing topic" oplossing niet werken voor jou dan?

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • M66B
  • Registratie: September 2007
  • Niet online
TAIYEDQ TAC1100 via modbus in Home Assistant:

Afbeeldingslocatie: https://tweakers.net/i/NMOYrvrD7NqHLM4r7hjOv6lkPNA=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/pWYpfNHg2Bil59nsyw5uMbLV.png?f=user_large

  • antonrops
  • Registratie: Juni 2003
  • Laatst online: 23-10 13:54
Willie Wortel schreef op donderdag 4 april 2024 @ 12:44:
Ik ben een beetje aan het ontdekken hoe ik Fase 2 onzichtbaar kan maken voor een MP2 (dus alleen fase 1 en 3 met 1 MP2), nu heb ik al wat tips.
Een MP2 kan maar één fase aan. Dus je hebt 3 van die apparaten nodig voor 3 fases. Of het ook kan met 2 weet ik niet.

  • djazzy
  • Registratie: Januari 2002
  • Laatst online: 30-10 12:59
[quote]M66B schreef op donderdag 4 april 2024 @ 14:55:
TAIYEDQ TAC1100 via modbus in Home Assistant:

Nog even 2 weken wachten en dan kan ik hier kijken of ik hem via ethernet kan laten praten met de cebro GX

uhm tja ik draai intel :) cel 1200 .gforce 2Ti


  • M66B
  • Registratie: September 2007
  • Niet online
djazzy schreef op donderdag 4 april 2024 @ 19:55:
[quote]M66B schreef op donderdag 4 april 2024 @ 14:55:
TAIYEDQ TAC1100 via modbus in Home Assistant:

Nog even 2 weken wachten en dan kan ik hier kijken of ik hem via ethernet kan laten praten met de cebro GX
Ik doe het met een RS485 USB-stick en een tweedraadsverbinding en wat software die op de Victron de energiemeter elke seconde uitleest, zodat er weinig schakels zijn.

  • RikHa
  • Registratie: September 2022
  • Laatst online: 27-10 17:58
antonrops schreef op donderdag 4 april 2024 @ 16:11:
[...]

Een MP2 kan maar één fase aan. Dus je hebt 3 van die apparaten nodig voor 3 fases. Of het ook kan met 2 weet ik niet.
Ja dat kan. Je kunt 2 MP's parallel op één van de 3 fases zetten of 2 x 1 MP op elk een fase, dan blijt er 1 fase zonder MP. Maar volgens mij wil de heer W. Wortel maar 1 MP en die kan natuurlijk niet op 2 fases.

23 kWp, 80 kWh, 11 kW laden, 17 kW ontladen. Victron VRM


  • Heronimo
  • Registratie: Februari 2006
  • Laatst online: 21:37
Willie Wortel schreef op donderdag 4 april 2024 @ 12:44:
Ik heb nog geen MP2 maar wel 2x MPPT2 en shunt van victron in mijn zelfbouw Batterij systeem. Ik ben bezig met de Raspberry te voorzien van Venus OS gelijk in dit filmpje van mijn vriend Andy. Misschien interessant voor MP2 gebruikers.

[YouTube: All your Victron Gear online | Venus OS + Raspberry Pi, how easy is the 3-step setup?]

Ik ben een beetje aan het ontdekken hoe ik Fase 2 onzichtbaar kan maken voor een MP2 (dus alleen fase 1 en 3 met 1 MP2), nu heb ik al wat tips. Zit te denken, de MP2 moet ergens zijn data van trekken, als ik nu in de bron de Fase2 verdonkeremaan? (op 0 zet) Zonder oplossing koop ik never nooit een MP2
Snap niet helemaal wat je wilt. Maar je kan out of the box prima een enkele MP2 gebruiken om te zorgen dat je bij een driefase aansluiting netto 0 op de meter hebt. Dus dat hij bij -5A over fase 1 en 2 hij +10A terug gaat leveren over fase 3.

  • No13
  • Registratie: Januari 2001
  • Laatst online: 11:53

No13

/me was here

Heronimo schreef op donderdag 4 april 2024 @ 20:45:
[...]


Snap niet helemaal wat je wilt. Maar je kan out of the box prima een enkele MP2 gebruiken om te zorgen dat je bij een driefase aansluiting netto 0 op de meter hebt. Dus dat hij bij -5A over fase 1 en 2 hij +10A terug gaat leveren over fase 3.
Ik verwacht dat ik een soortgelijke wens heb; een enkele MP2 (48/5000) maar een huis met 3 fase aansluiting.
Tevens een laadpaal (1 fase) waarvan in het verbruik niet uit de accu wil trekken.

Ik wil mijn verbruik in huis met deze enkele MP2 compenseren (L1 + L2) terwijl de laadpaal 'onzichtbaar' mag/moet zijn (L3)

Mijn oplossing heb ik gezocht in node-red. Ik haal de waarden van mijn P1 poort op, ik haal de waarde van mijn laadpaal op. Vervolgens wordt het ESS setpoint dan de P1 poort (verbruik = plus, leveren = min) min de laadpaal.

Dus als huis (met PV en laadpaal) -1000w doet en de laadpaal doet 1500w dan wordt het setpoint -2500 (accu vol laden uit PV dus waarna de P1 poort op +1500w zal komen)

  • HermanGast
  • Registratie: November 2021
  • Laatst online: 21:15

HermanGast

Exige GT3

No13 schreef op donderdag 4 april 2024 @ 21:18:
[...]


Ik verwacht dat ik een soortgelijke wens heb; een enkele MP2 (48/5000) maar een huis met 3 fase aansluiting.
Tevens een laadpaal (1 fase) waarvan in het verbruik niet uit de accu wil trekken.

Ik wil mijn verbruik in huis met deze enkele MP2 compenseren (L1 + L2) terwijl de laadpaal 'onzichtbaar' mag/moet zijn (L3)

Mijn oplossing heb ik gezocht in node-red. Ik haal de waarden van mijn P1 poort op, ik haal de waarde van mijn laadpaal op. Vervolgens wordt het ESS setpoint dan de P1 poort (verbruik = plus, leveren = min) min de laadpaal.

Dus als huis (met PV en laadpaal) -1000w doet en de laadpaal doet 1500w dan wordt het setpoint -2500 (accu vol laden uit PV dus waarna de P1 poort op +1500w zal komen)
Lijkt me niet zo ingewikkeld. Een 3 fase meter vlak bij je netaansluiting waarbij je die ene groep voor laadpaal er buiten houdt door bedrading of plaats van de meter handig te kiezen. ESS kan dan standaard setting houden. Node-red vergeten. Zelf zou ik voor een EM24 gaan, maar er zijn vast wel goedkopere alternatieven.

[ Voor 4% gewijzigd door HermanGast op 04-04-2024 22:28 ]

Gasloos, 14,99kWp, Ekrano, 70kWh Pylontech, 3xVictron MP8000, M5stack, MQTT

Pagina: 1 ... 16 ... 60 Laatste