Arduino Mega slimme meter uitlezen met Solarmeter Harold65

Arduino specifieke Software
Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 12 Jun 2019, 06:41

IK HEB GETALLEN OP GAS DIE KLOPPEN!!!!!
Ik ben zo blij :D
Wat goed! YEAH!
Bijlagen
Arduino webbrowser P1ccpnieuw klein.jpg
Arduino webbrowser P1ccpnieuw klein.jpg (29.7 KiB) 7244 keer bekeken

Advertisement

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 12 Jun 2019, 08:29

Koepel schreef:Zie ik nu in je schermdump van PuTTY een paar rare tekens staan ? Heb je last van storing ? Kun je daar wat aan doen ?

Dit had ik ook al gezien en heb ook af en toe zomaar hele hoge pieken stroom afname. Ik vermoed dat dit komt doordat het nu in de meterkast houtje touwtje hangt. Omdat ik de hele tijd aan het rommelen ben heb ik het nog niet definitief gemaakt. Die lullige steekdraadjes voor zo`n Arduino board maken volgens mij heel slecht contact.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Koepel » 12 Jun 2019, 14:10

Mooi dat het werkt :D
Ik heb op Github er bij gezet dat het "confirmed" is dat het werkt :geek:

Die slappe draden (die vaak bij een breadboard gebruik worden) heb ik niet eens. Ik heb single-core draad. Het meeste komt van oude telefoondraden die vaak nog in huizen op de plinten liggen voor de vaste telefoon.

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 12 Jun 2019, 20:18

Koepel schreef:Mooi dat het werkt :D
Ik heb op Github er bij gezet dat het "confirmed" is dat het werkt :geek:

Die slappe draden (die vaak bij een breadboard gebruik worden) heb ik niet eens. Ik heb single-core draad. Het meeste komt van oude telefoondraden die vaak nog in huizen op de plinten liggen voor de vaste telefoon.


Ik heb net de draadjes vervangen voor utp aders met vaste kern die blijven net iets beter zitten.

Ondertussen ben ik bezig om de waarden naar exosite te sturen. Dit zat ook in het programma Solarmeter. Dit staat in de exosite.h file.

v[0]=S1.Actual; // brutoproductie
v[1]=S1.Today;
v[2]=P1.Actual; // leveren
v[3]=P1.Today;
v[4]=P1.Actual; // terugleveren
v[5]=P1.Today;
v[6]=W1.Actual;
v[7]=W1.Today;
v[8]=P1Gas.Actual;
v[9]=P1Gas.Today;
//v[10]=T1.Actual;
v[11]=freeRam();

Alleen denk ik dat ik nu bij v2,3,4 en 5 eigenlijk v2 en v3 dubbel doe want het heet steeds P1.Actual en P1.Today. Maar goed ik denk dat ik eerst mijn grafiek in PVOutput goed moet krijgen en dan pas exosite in orde maken.

In https://pvoutput.org/intraday.jsp?id=20076&sid=17934 komt nu wel data in PVOutput maar het klopt volgens mij niet helemaal als je kijkt. De grafiek is uit verband door de energie used en power used. Ik weet het niet goed te herleiden.
De slimme meter heeft:
M1 = leveren laag
M2 = leveren hoog
M3 = terugleveren laat
M4 = terugleveren hoog
De som (M1+M2) - (M3+M4) = -428239 bij Total van ID 2 in de Arduino webbrowser.
Power used in PVOutput is dan volgens mij actual bij ID 2 in de Arduino webbrowser in watt en dat zie je ook in PVOutput want er staat een , in het getal en een W erachter.
Ik word er een beetje gek van in mijn hoofd met al die getallen :shock:
Ik kan in PVOutput die energie used van +/- 33.831 kWh niet herleiden. Hij blijft langzaam groeien dus denk ik dat dit mijn verbruik is dat oploopt en als dat zo is dan is straks de hele grafiek uit verband. Weet iemand hier iets op?
Bijlagen
Arduino webbrowser M1 2 3 4 klein .jpg
Arduino webbrowser M1 2 3 4 klein .jpg (31.01 KiB) 7228 keer bekeken

Berichten: 17
Geregistreerd: 13 Jun 2019, 14:24

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Handz » 13 Jun 2019, 14:53

Power used in PVOutput is dan volgens mij actual bij ID 2 in de Arduino webbrowser in watt en dat zie je ook in PVOutput want er staat een , in het getal en een W erachter.


Ik ben blij dat ik niet de enige ben met dit probleem. Ik heb sinds eergisteren een nieuwe slimme meter (Sagemcom T210-D) die met het ESMR 5.0 protocol werkt i.t.t. mijn vorige meter die met het DSMR 2.2 protocol werkte.
Ik gebruikte al jarenlang het Solarmeter programma V11.41 en de upload naar PVOutput werkte vlekkeloos. Nu ik omgeschakeld ben naar de nieuwe meter met het nieuwe protocol werkt er plots van alles niet meer (bijv. problemen met de baudrate van 115200).

Ik heb nu Solarmeter V11.43 min of meer werkend, maar loop tegen hetzelfde probleem aan als jij: power used in PVOutput lijkt inderdaad de Actual te zijn bij (sensor type 24) in de Arduino webbrowser.
Zie ook de screenshot:
PVOutput power generated and used.jpg
PVOutput power generated and used.jpg (20.58 KiB) 7210 keer bekeken


Hieruit blijkt ook dat de Power Used (rode lijn) eigenlijk de ingevoedde stroom is en dit correspondeert met de actual waarde op mijn meter. De energy generated lijn (groen) klopt met de waardes uit mijn S0 kWh-meter van mijn zonnepanelen. Het verschil tussen de groene en rode grafiek is dus mijn eigenverbruik (=consumption).

Ik heb de codes van Solameter versie V11.41 en V11.43 vergeleken, maar kan op het eerste gezicht niets raars vinden. Wat nu?

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 13 Jun 2019, 15:13

Hi Handzon,

Heb je Koepel zijn wijziging al doorgevoerd in de file P1Power.ccp zodat je gas ook goed doorkomt?

// gas definition: 0-1:24.3.0
if (sscanf(buffer,"0-1:24.%d.%d",&i,&j) == 2)
{
if(i == 3 && j == 0) readnextLine = true; // the actual gas counter is found on the next line

}
Bovenstaande vervangen voor hieronder:

// gas definition: 0-1:24.3.0 gas value will be on the next line
// 0-1:24.2.1 normal gas definition
//
// The timeText will be 14 characters (13 + zero terminator).
// It has the format:
// YYMMDDhhmmssX
// Year, Month, Day, Hour, Minute, Second,
// and 'S' for DST active or 'W' for DST is not active.
// It can be retrieved with sscanf with %13s or %13c.
// The %13s will reads up to 13 characters, stops at space or tab.
// The %13c will read exactly 13 characters.
// With %13c a zero terminator has to be added:
// timeText[13] = '\0';
// Reference: http://www.cplusplus.com/reference/cstdio/scanf/
char timeText[16];

// The "0-1:24.3.0" is a special case for the gas.
// There is a "0-1:24.2.1" at the end of that line,
// but the actual gas value will be on the next line.
const char gasID2430[] = "0-1:24.3.0";

if( strncmp( buffer, gasID2430, strlen( gasID2430)) == 0)
{
readnextLine = true;
}
else if( sscanf(buffer, "0-1:24.2.1(%13s)(%ld.%ld*m3)", timeText, &tl, &tld) == 3)
{
GasUsage = (tl * 1000) + tld;
}

Berichten: 17
Geregistreerd: 13 Jun 2019, 14:24

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Handz » 13 Jun 2019, 16:43

Hoi Master64NL,

Dat heb ik inderdaad doorgevoerd en dat lijkt goed te werken in de arduino webbrowser. De waarde in de browser klopt precies met die op de gasmeter. Ik moet nog wel bij Minder Gas een nieuwe meter toevoegen en controleren of de gasdata daadwerkelijk goed overkomt.

Verder zie ik soms hele hoge waardes in de arduino webbrowser voor de data uit de P1 poort. Na een keer refreshen zijn deze weg. Dat zie ik niet terug in de telegrammen van mijn Sagemcom als ik die uitlees met een 2e Arduino Mega die ik heb liggen (P1 signaal inverteren en verbinden met pin 19 van de Mega). Herkent jij/iemand dit?

Een oplossingsrichting waar ik nu zoek zijn de verschillen in het aantal cijfers in de strings van het ESMR 5.0 versus het oude DSMR 2.2. Wellicht kan de code van Harald toch niet goed overweg met die verschillen?

Bijvoorbeeld ESMR5.0 (nieuwe meter):
1-0:1.8.1(000016.510*kWh)
1-0:1.8.2(000000.000*kWh)
1-0:2.8.1(000014.777*kWh)
1-0:2.8.2(000000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.072*kW)
1-0:2.7.0(00.406*kW)

Versus DSMR 2.2 (oude meter)
0-0:96.1.1(205C4D246333034353537383234323121)
1-0:1.8.1(00185.000*kWh)
1-0:1.8.2(00084.000*kWh)
1-0:2.8.1(00013.000*kWh)
1-0:2.8.2(00019.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(0000.98*kW)
1-0:2.7.0(0000.00*kW)

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 13 Jun 2019, 19:42

Gas gaat bij nu goed ook in mindergas.nl heb ik nu voor het eerst weer een meting vanuit Solarmeter@Arduino gekregen.

Ik snap die materie ook niet echt maar weet dat er formules inzitten van M1, M2, M3 en M4. Ik ben ook nog aan het uitpuzzelen hoe de waarden tot stand komen.
Ik zit ook op pin 19 die overeenkomt in je userdefs met Serial1
De hoge pieken die ik in PVOuput zie wijd ik aan dat ik het met losse draadjes gestoken zit in breadbordje en Arduino Mega. Nadat ik de draadjes had vervangen voor massieve kern heb ik het vandaag maar 1 x gehad, zie https://pvoutput.org/intraday.jsp?id=20076&sid=17934

Berichten: 17
Geregistreerd: 13 Jun 2019, 14:24

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Handz » 13 Jun 2019, 23:47

Net gecheckt bij Minder Gas en inderdaad gaat het uploaden ook bij mij goed. Stapje voor stapje komen we verder

Wat mij opvalt bij de data van de P1 poort is dat de Today waarde van de P1 poort op 0 blijft staan. Bij jou gaat dat wel goed zo te zien. Er moet dus echt iets mis zijn in de berekening in mijn Arduino code.
Arduino webserver.jpg
Arduino webserver.jpg (30.5 KiB) 7191 keer bekeken


Nog een mogelijkheid om te voorkomen dat slechte data (hoge waarden) wordt geupload naar PVOutput is de volgende:
Aan het eind van de telegrammen die je uitleest uit de P1 poort van de slimme meter zit een CRC16 checksum. Die kan je zelf berekenen en dan vergelijken met de gelezen CRC code. Als het overeenkomt is de data dus goed.
Op Github staat een voorbeeld van iemand die de CRC check heeft geimplementeerd voor het uitlezen van de P1 poort voor Arduino.

https://github.com/jantenhove/P1-Meter-ESP8266

De code gaat mij echter boven mijn petje en durf ik (nog niet) zomaar te integreren in de code van Harald. Hmmmm, misschien is er Arduino-held op dit forum die dit wel aandurft.

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 14 Jun 2019, 06:11

Ik zou die temperatuur even weghalen want ik kan mij herinneren dat dat niet goed werkt. Ik heb ook 4 sids. Misschien een volgende stap om Soalrmeter te fine tunen. Jij mist al bij al die M1 t/m M4 waarden zie ik.
Heb je dit bij userdefs staan?

// Smartmeter Power sensor has 4 parameters:
// 1: Serial object. Mega2560: on Serial1. Uno etc: Serial watch out: Serial not working together with usb!
// 2: The SID
// 3: The variable to log to. See software manual
// 4: The x-factor. The actual and total values will be divided by this number before sending to pvoutput.
P1Power P1(&Serial1, 17934, 24, 1);

// Smartmeter Gas sensors have 4 parameter:
// 1: Smartmeter Serial object. Default: P1
// 2: The SID
// 3: The variable to log to. See software manual
// 4: The x-factor. The actual and total values will be divided by this number before sending to pvoutput.
P1GasSensor P1Gas(&P1, 17934, 24, 1);

// the next list must be in the correct order and have the same length as NUMSENSORS
BaseSensor* sensors[] = {&S1,&W1,&P1,&P1Gas};

#endif


Wat betreft die code om de waarden te checken, ik ben net zo`n noob als jij hiermee. Ik ben al zo blij dat Koepel mij (en anderen) al geholpen heeft om gas zichtbaar te krijgen.

VorigeVolgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: uqogadu en 18 gasten