Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Acties:
  • 0Henk 'm!

  • mcDavid
  • Registratie: april 2008
  • Laatst online: 07:54
Van alles. Speel wat met de baudrate, wel/niet inverteren, wel/geen parity/stop bits, etc.

Hou evt. een lijstje bij van de mogelijkheden die je geprobeerd hebt.

zcflevo.nl


Acties:
  • +1Henk 'm!
@Cranberry Nooit geweten dat AliExpress ook kant-en-klare P1 kabeltjes verkoopt :D
Die gasten zien blijkbaar weer een mogelijkheid om geld te verdienen _o-

ThinkPad wijzigde deze reactie 09-07-2018 13:24 (4%)

Hardware te koop | Gas besparen door CV-tuning | Elektriciteit besparen | Tweakblog


Acties:
  • 0Henk 'm!

  • megapearl
  • Registratie: oktober 2012
  • Laatst online: 12-08 23:36
quote:
OcGuru schreef op maandag 23 april 2018 @ 21:31:
Beste mensen,

Ik heb hier een ISKRA Am550-td2.01 die ik graag uit zou willen lezen.(3fase)

Dus ik heb een RJ11 kabel gepakt en deze aangesloten op een TTL-Uart naar usb (FTDI 232RL)

Heb de RX poort geinverteerd via FT prog maar ik krijg alleen maar rotzooi te zien.

ik heb hem zo aangesloten.
[afbeelding]


7N1 baudrate 9600 krijg ik niks te zien met 115200 alleen maar rotzooi.

Er staat trouwens SMR 5.0 op de meter. Dit zou een nieuw protocol zijn met 8 bits ipv 7.
Maar nog steeds met geinverteerd signaal?

8N1 op 115200 geprobeerd, rotzooi. 10K weerstand tussen de TX en 5V gezet, nog meer rotzooi.


Iemand ervaring met dit type meters?
Heb jij het uiteindelijk werkend gekregen? Ik zit met precies hetzelfde probleem, ook dezelfde meter en zelfde kabel die jij gebruikt..

edit:
Ik heb het eindelijk werkend gekregen, met een 4.7k weerstand en door met de FT PROG tool de High Current aan te zetten (van 4 naar 12 mA) en de RXd NIET te inverteren.

megapearl wijzigde deze reactie 09-07-2018 16:47 (8%)


Acties:
  • 0Henk 'm!

  • OcGuru
  • Registratie: juni 2004
  • Laatst online: 23:54

OcGuru

Swift S 1.6

quote:
megapearl schreef op maandag 9 juli 2018 @ 14:46:
[...]


Heb jij het uiteindelijk werkend gekregen? Ik zit met precies hetzelfde probleem, ook dezelfde meter en zelfde kabel die jij gebruikt..

edit:
Ik heb het eindelijk werkend gekregen, met een 4.7k weerstand en door met de FT PROG tool de High Current aan te zetten (van 4 naar 12 mA) en de RXd NIET te inverteren.
Ik heb hem ook werkend gekregen met een 4.7k weerstand ipv 10k. RXd staat trouwens bij mij volgens mij nog wel geinverteerd..

Bl44t


Acties:
  • 0Henk 'm!

  • Kaspers
  • Registratie: juni 2004
  • Laatst online: 19-08 10:45
quote:
ThinkPad schreef op maandag 9 juli 2018 @ 13:17:
@Cranberry Nooit geweten dat AliExpress ook kant-en-klare P1 kabeltjes verkoopt :D
Die gasten zien blijkbaar weer een mogelijkheid om geld te verdienen _o-
@Cranberry moet nog bevestigen of 't werkt, maar die lui spelen idd echt overal op in :P.

  • Kabelventje
  • Registratie: juni 2018
  • Laatst online: 12-07 22:35
Heb een paar berichten eerder een schema en foto geplaatst van werkende kabel.
Niks geinverteerd of TTL nivo......
Éen enkel pull up weerstandje , verder niks.
Komt keurig rs232 geschikte data uit...

Groet...

  • Cranberry
  • Registratie: juni 2004
  • Laatst online: 08:55
quote:
Cranberry schreef op donderdag 5 juli 2018 @ 10:22:
Vorig jaar was me toegezegd dat ik een slimme meter zou krijgen in de woning die we binnenkort gaan verlaten. Helaas is dat uiteindelijk toch niet doorgegaan. Wel had ik al een P1-kabel besteld bij AliExpress.
Gisteren is in onze nieuwe woning de e-aansluiting verplaatst en verzwaard. Er is een ISKRA AM550 (DSMR5) meter geplaatst. Helaas werkt de P1-kabel nog niet. Als ik een plaatje van Ali bekijk van een voor de AM550 geschikte kabel, wijkt e.e.a. af de aansluitingen bij mij. Bij Ali staat dit:

[afbeelding]

Mijn kabel is zo aangesloten:
1 rood -> 5V
2 groen -> CTS
3 zwart -> GND
5 wit -> ??

[afbeelding]

Het is me dus niet duidelijk waar pin 5 op is aangesloten. Als het plaatje van Ali juist is, zou ik de groene en witte kabel moeten losmaken en moeten aansluiten op resp. RTS en RXD en een weerstand van 10k tussen beide moeten solderen. Elders lees ik echter dat er een weerstand van 5k- 10k tussen RXD en de 5V moet worden gerealiseerd.
Kan iemand dat hier bevestigen of evt. kijken hoe bij hem/haar de aansluiting is?

@Vaal Heb jij 't uiteindelijk nog voor elkaar gekregen om je meter uit te lezen?
Mijn kabel heb ik aangepast conform het plaatje van AliExpress voor de ISKRA AM550.
E.e.a. is als volgt aangesloten en werkt naar behoren:
Pin1 Rood -> 5V
Pin2 Groen -> RTS
Pin3 Zwart -> GND
Pin5 Wit -> RXD

Tussen RXD en RTS heb ik 10kOhm weerstand gezet. Telegrammen komen prima binnen! >:)

  • Andrehj
  • Registratie: juni 2002
  • Laatst online: 19-08 19:59
quote:
OcGuru schreef op maandag 23 april 2018 @ 21:31:
Ik heb hier een ISKRA Am550-td2.01 die ik graag uit zou willen lezen.(3fase)
Hi @OcGuru . Is dit inmiddels gelukt en kun je ook het huidige verbruik per fase uitlezen? Ik had gehoopt dit met een Youless te kunnen, maar daar gaat het zeker niet mee lukken.
Om te checken dat er geen fases overbelast raken (zowel de kookplaat als de oven zitten bij mij op twee fases), zou ik dat graag willen meten.

  • Willie Wortel
  • Registratie: maart 2012
  • Niet online
quote:
Andrehj schreef op vrijdag 13 juli 2018 @ 17:44:
[...]

Hi @OcGuru . Is dit inmiddels gelukt en kun je ook het huidige verbruik per fase uitlezen? Ik had gehoopt dit met een Youless te kunnen, maar daar gaat het zeker niet mee lukken.
Om te checken dat er geen fases overbelast raken (zowel de kookplaat als de oven zitten bij mij op twee fases), zou ik dat graag willen meten.
Bedoel je dit?:

Download DaL software voor de Raspberry


  • Andrehj
  • Registratie: juni 2002
  • Laatst online: 19-08 19:59
Yep! (en dan vooral de eerste drie meters). Die had ik graag uit mijn Youless gehaald, maar dat lukt dus (nog) niet.
Bijzonder: Op fase 1 heb je een verbruik van 0 Watt, maar wel 2 Ampere.... Daar zit vast ergens een programmeerfoutje.

Andrehj wijzigde deze reactie 13-07-2018 21:42 (34%)


  • MacGrumpy
  • Registratie: februari 2010
  • Niet online
Ik heb sinds een paar weken een slimme meter (sagemcom t210-d). Ik heb aan de P1 poort een wemos mini d1 gehangen om de telegrammen uit te lezen en deze via mqtt door te sturen.
De wemos word vanuit de P1 poort gevoed. (deze kan 250mA leveren, met wat buffering zou dit voldoende moeten zijn). Dit alles werkt.

Echter, in de afgelopen 17 dagen is 8 keer de spanning van wemos af gegaan. Ik zie vervolgens ook een gas stand van 0, tot dat deze weer door de meter word doorgestuurd (de slimme meter lijkt dus ook intern te resetten). Interval tussen de reset is niet gelijk, soms zit er dagen tussen, dan twee keer per dag.
Het is geen groot probleem, ik kan de 'foute' waardes wel uitfilteren in influxdb.

Ziet iemand vergelijk gedrag, of toch tijd om in de telefoon te klimmen?

Acties:
  • +1Henk 'm!

  • Willie Wortel
  • Registratie: maart 2012
  • Niet online
quote:
Andrehj schreef op vrijdag 13 juli 2018 @ 21:40:
Yep! (en dan vooral de eerste drie meters). Die had ik graag uit mijn Youless gehaald, maar dat lukt dus (nog) niet.
Bijzonder: Op fase 1 heb je een verbruik van 0 Watt, maar wel 2 Ampere.... Daar zit vast ergens een programmeerfoutje.
de afdruk is maar een moment in tijd als voorbeeld bedoeld.

Nee er is geen programmeerfout, over fase1 loopt op dat moment 2 amps, of het nou teruglever is of verbruik maakt niet uit. De 3fase meter maakt aan het eind intern een optelsom van de 3fases en verwerkt dit in teruglever of verbruik totaal. Het dashboard is ook maar een voorbeeld en kan je eenvoudig maken met de designer.

1-0:1.7.0(00.000*kW) verbruik
1-0:2.7.0(01.154*kW) teruglever.

je zou dit ook zelf kunnen hatseflatsen maar een Raspberry met win iot helpt ook.

Download DaL software voor de Raspberry


  • Sircuri
  • Registratie: oktober 2001
  • Niet online

Sircuri

Volledig Appelig

quote:
MacGrumpy schreef op zaterdag 14 juli 2018 @ 00:22:
Ik heb sinds een paar weken een slimme meter (sagemcom t210-d). Ik heb aan de P1 poort een wemos mini d1 gehangen om de telegrammen uit te lezen en deze via mqtt door te sturen.
De wemos word vanuit de P1 poort gevoed. (deze kan 250mA leveren, met wat buffering zou dit voldoende moeten zijn). Dit alles werkt.

Echter, in de afgelopen 17 dagen is 8 keer de spanning van wemos af gegaan. Ik zie vervolgens ook een gas stand van 0, tot dat deze weer door de meter word doorgestuurd (de slimme meter lijkt dus ook intern te resetten). Interval tussen de reset is niet gelijk, soms zit er dagen tussen, dan twee keer per dag.
Het is geen groot probleem, ik kan de 'foute' waardes wel uitfilteren in influxdb.

Ziet iemand vergelijk gedrag, of toch tijd om in de telefoon te klimmen?
Dat klinkt mij zeer vreemd in de oren. Weet je zeker dat het niet gewoon een probleem is met je Wemos die je vanuit de P1 poort voedt? Het feit dat de poort 250 mA KAN leveren, is natuurlijk geen garantie dat het ook zo constant is. Of bedoel je echt dat de meter een 0 stand doorgeeft in het eerst volgende telegram na een reset van je wemos?

Signature van nature


Acties:
  • 0Henk 'm!

  • MacGrumpy
  • Registratie: februari 2010
  • Niet online
quote:
Sircuri schreef op zaterdag 14 juli 2018 @ 23:22:
[...]


Dat klinkt mij zeer vreemd in de oren. Weet je zeker dat het niet gewoon een probleem is met je Wemos die je vanuit de P1 poort voedt? Het feit dat de poort 250 mA KAN leveren, is natuurlijk geen garantie dat het ook zo constant is. Of bedoel je echt dat de meter een 0 stand doorgeeft in het eerst volgende telegram na een reset van je wemos?
Via de P1 poort geeft de meter stand 0 door (voor gas) tot dat de gasmeter weer de standen door stuurt naar de main unit.
Ik ga binnen kort mijn print aanpassen zodat ik hem extern kan voeden, kijken of dat verschil maakt.


Plotje van de gelezen waardes: (rood is gas) .

(edit; verduidelijken)

MacGrumpy wijzigde deze reactie 15-07-2018 09:13 (11%)


Acties:
  • 0Henk 'm!

  • Rol-Co
  • Registratie: maart 2004
  • Laatst online: 00:20

Rol-Co

3,8kWpZ 3,3kWp O-Z-W 2,86kWp N

quote:
Onderste zonnepanelen rij komt niet uit de slimme meter maar uit een kWh meter zeker willie? Voor dat mensen denken dat ze dat ook kunnen zien ermee.

Maar als ik het goed begrijp kan je wel per fase uitlezen via de p1?

Noord-Oost-Zuid-West 9960Wp Totaal Live, Netduino advanced pv logging


  • ETH0.1
  • Registratie: juni 2018
  • Laatst online: 16-08 09:49
Ik heb een kabeltje gemaakt waarbij ik 3volt en gnd op de P1 poort zet,
en de TX poort van de P1 poort op RX poort van een RS232->USB adapter

poort ingesteld op 115200/8/1 maar daar kreeg ik helaas geen data te zien. ik las op meerdere plekken dat ik een 1k ohm weerstandje tussen de datapoort en de 3v poort kon zetten, en warempel ik krijg data binnen.

Het rara is dat ik overal lees dat om de 10 seconde een report vanuit de meter komt, maar bij mij is dat zowat iedere seconde.

Als ik vervolgens beter ga kijken zie ik wel dat 10 reports exact het zelfde zijn.
Is dit expected behavior?

Ik heb trouwens een Landis Gyr E350 hangen

  • Willie Wortel
  • Registratie: maart 2012
  • Niet online
quote:
Rol-Co schreef op zondag 15 juli 2018 @ 09:48:
[...]

Onderste zonnepanelen rij komt niet uit de slimme meter maar uit een kWh meter zeker willie? Voor dat mensen denken dat ze dat ook kunnen zien ermee.

Maar als ik het goed begrijp kan je wel per fase uitlezen via de p1?
Rolco, ik zie je reactie nu pas. Ja met de nieuwe versie kan je per fase de data loggen, verbruik, teruglever etc. Alleen met de Rasberry, niet meer met de Netduino die programma code wordt niet meer geupdate.

Download DaL software voor de Raspberry


  • Willie Wortel
  • Registratie: maart 2012
  • Niet online
quote:
ETH0.1 schreef op zaterdag 4 augustus 2018 @ 17:08:
Ik heb een kabeltje gemaakt waarbij ik 3volt en gnd op de P1 poort zet,
en de TX poort van de P1 poort op RX poort van een RS232->USB adapter

poort ingesteld op 115200/8/1 maar daar kreeg ik helaas geen data te zien. ik las op meerdere plekken dat ik een 1k ohm weerstandje tussen de datapoort en de 3v poort kon zetten, en warempel ik krijg data binnen.

Het rara is dat ik overal lees dat om de 10 seconde een report vanuit de meter komt, maar bij mij is dat zowat iedere seconde.

Als ik vervolgens beter ga kijken zie ik wel dat 10 reports exact het zelfde zijn.
Is dit expected behavior?

Ik heb trouwens een Landis Gyr E350 hangen
Dat gaat zo niet werken, voor de P1 poort heb je 5 volt nodig om de Tx van de poort te activeren.

Zo doe ik dat:



de CD40106 heb ik per 10 op EBAY in China gekocht, voldoen goed.

NB Als je je 5 volt + gnd vanaf je p1 poort trekt is 1 draad Rx retour naar je Raspberry etc voldoende.
NB2 In de DaL software Webpages /Pages/Wiki.html zitten allerhande schema's zodat je kan hatseflatsen.

Willie Wortel wijzigde deze reactie 04-08-2018 18:03 (15%)

Download DaL software voor de Raspberry


  • ETH0.1
  • Registratie: juni 2018
  • Laatst online: 16-08 09:49
quote:
Willie Wortel schreef op zaterdag 4 augustus 2018 @ 17:51:
[...]

Dat gaat zo niet werken, voor de P1 poort heb je 5 volt nodig om de Tx van de poort te activeren.

Zo doe ik dat:

[afbeelding]

de CD40106 heb ik per 10 op EBAY in China gekocht, voldoen goed.

NB Als je je 5 volt + gnd vanaf je p1 poort trekt is 1 draad Rx retour naar je Raspberry etc voldoende.
NB2 In de DaL software Webpages /Pages/Wiki.html zitten allerhande schema's zodat je kan hatseflatsen.
Ik had 5v gelezen, maar las ook anderen die het met 3v deden, de reden waarom ik voor 3volt koos is dat de esp8266 arduino node mcu die ik daarvoor wilde gebruiken geen 5v uitgang heeft (kan het er wel in hacken omdat de usb voeding 5v ingang geeft)

overigens lijkt het wel gewoon goed te werken (op het iedere seconde een rapport na dan, maar misschien komt dat omdat ik geen ack retour stuur?) :$ althans via een usb->rs232 adapter, eerste test was namelijk: kan ik uberhaupt data lezen met mijn laptop.
quote:
/XMX5L*******************

1-3:0.2.8(50)
0-0:1.0.0(180804165413S)
0-0:96.1.1(45303034363xxxxxxxx)
1-0:1.8.1(001201.164*kWh)
1-0:1.8.2(001317.952*kWh)
1-0:2.8.1(000000.000*kWh)
1-0:2.8.2(000000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.267*kW)
1-0:2.7.0(00.000*kW)
0-0:96.7.21(00012)
0-0:96.7.9(00000)
1-0:99.97.0(0)(0-0:96.7.19)
1-0:32.32.0(00001)
1-0:52.32.0(00001)
1-0:72.32.0(00003)
1-0:32.36.0(00000)
1-0:52.36.0(00000)
1-0:72.36.0(00000)
0-0:96.13.0()
1-0:32.7.0(234.0*V)
1-0:52.7.0(233.0*V)
1-0:72.7.0(231.0*V)
1-0:31.7.0(000*A)
1-0:51.7.0(000*A)
1-0:71.7.0(000*A)
1-0:21.7.0(00.159*kW)
1-0:41.7.0(00.000*kW)
1-0:61.7.0(00.108*kW)
1-0:22.7.0(00.000*kW)
1-0:42.7.0(00.000*kW)
1-0:62.7.0(00.000*kW)
0-1:24.1.0(003)
0-1:96.1.0(47303033393030313xxxxxxxxxxxxxxxxxxxxxxx)
0-1:24.2.1(180804165002S)(01407.725*m3)
!5A05
2de stap zou dan via de arduino zijn, waarvan ik gelezen had dat ik met mijn meter geen inverter nodig had op het data signaal.

3de stap data aanbieden via een php frontend aan een mysql database (zoals ik nu al doe met mijn temp/humidity) en via grafana weergeven.


edit:
2de stap werkt nu ook
Arduino ESP8266 NodeMCU bordje
- datapoort op D5
- 3v en GND gebruik ik als voeding naar de meter toe
- 1k ohm weerstand tussen 3v en D5

met onderstaande code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <SoftwareSerial.h>

const int requestPin =  4;
int incomingByte = 0;
String inputString = "";
String record = "no";


#define SERIAL_RX     D5  // pin for SoftwareSerial RX
SoftwareSerial mySerial(SERIAL_RX, -1, true); // (RX, TX. inverted, buffer)

void setup () {
  mySerial.begin(115200);
  delay(5);
  Serial.begin(115200);

  Serial.println("P1 Smart meter reading - START\n");

  pinMode(requestPin, OUTPUT);
  digitalWrite(requestPin, HIGH);
}

void loop () {
  while (mySerial.available() > 0) {

    incomingByte = mySerial.read();
    incomingByte &= ~(1 << 8);
    char inChar = (char)incomingByte;

    if (inputString == "/XMX5LGBBLA**************") {   // verander dit naar wat je eigen meter aangeeft
        Serial.println("Start of new telegram");        // start of new patern
        record = "yes";           // ik wil geen onvolledige telegrams ontvangen, zodoende dat ik kijk naar het telegram start string, als die er is geef ik pas iets weer
    } 

    if (record == "yes") {
                            if (inChar == '\n') {
                                                    Serial.println(inputString);
                                                    inputString = "";
                            }

                            if (inChar == '!') {
                                                    Serial.println("Waiting 10seconds"); // aangezien mijn meter iedere seconde data stuurt, wacht ik zelf wel 10 seconde ;)
                                                    delay(10000);        // end code, wait 10 seconds
                                                    record = "no";
                            }
   }

    inputString += inChar;      

     if (inChar == '\n') {
                                                    inputString = "";
     }    

  
  }

}

misschien een beetje dirty, maar ik krijg netjes de volgende output te zien:
quote:
Start of new telegram
/XMX5LGBBLA**************

1-3:0.2.8(50)
0-0:1.0.0(18080510516410S
0-0:96.1.1(4530303436303*****************)
1-0:1.8.1(001209.050*kWh)
1-0:1.8.2(001317.952*kWh)
1-0:2.8.1(000000.000*kWh)
1-0:2.8.2(000000.000*kWh)
0-0:96.14.0(0001)
1-0:1.7.0(00.300*kW)
1-0:2.7.0(00.000*kW)
0-0:96.7.21(00012)
0-0:96.7.9(00000)
1-0:99.97.0(0)(0-0:96.7.19)
1-0:32.32.0(00001)
1-0:52.32.0(00001)
1-0:72.32.0(00003)
1-0:32.36.0(00000)
1-0:52.36.0(00000)
1-0:72.36.0(00000)
0-0:96.13.0()
1-0:32.7.0(235.0*V)
1-0:52.7.0(233.0*V)
1-0:72.7.0(233.0*V)
1-0:31.7.0(000*A)
1-0:51.7.0(000*A)
1-0:71.7.0(000*A)
1-0:21.7.0(00.185*kW)
1-0:41.7.0(00.000*kW)
1-0:61.7.0(00.114*kW)
1-0:22.7.0(00.000*kW)
1-0:42.7.0(00.000*kW)
1-0:62.7.0(00.000*kW)
0-1:24.1.0(003)
0-1:96.1.0(47303033393030313****************)
0-1:24.2.1(180805164504S)(01408.353*m3)
Waiting 10seconds
note: Ik heb het ook even geprobeerd met een 5v voeding, vervolgens kwam er een hoop rare tekens binnen via de serial port, dan werkt het niet meer met een simpel weerstandje.

ETH0.1 wijzigde deze reactie 05-08-2018 16:59 (49%)


  • TCroezing
  • Registratie: november 2009
  • Laatst online: 18-08 10:00
quote:
ETH0.1 schreef op zaterdag 4 augustus 2018 @ 17:08:
Het rara is dat ik overal lees dat om de 10 seconde een report vanuit de meter komt, maar bij mij is dat zowat iedere seconde.
Die Landis in dan een DSMR 5. Die geven plm per seconde een rapport. Bij < DSMR 5 is dat 10 seconden.

  • Wolfram55
  • Registratie: december 2016
  • Laatst online: 13-08 15:01
@TD-er @romixL ...... allen

Heb hier een aantal maanden mijn P1-poort naar alle tevredenheid uitgelezen met een wemos D1 eraan.

Nu heb ik (met mijn "domme hoofd", want als het werkt niks doen) de Esp-Easy-software geupgrade naar de laatste versie (Mega). Verder niks verandert !

Heb het vanuit de wemos eea in Node-Red uitgesplitst en naar Influx & grafana gestuurd. Mooie grafiekjes per uur, dag, maand en jaar.
Uitermate tevreden over.

Nu werkte het gelijk al niet meer. Alle opgebouwde data uit Influx is ook niet meer zichtbaar ..... nogmaals ..... echt niks verder verandert.
De schaalverdeling in grafana is ook verandert. Staat nu "Quint" & "Tri" bij?

Of-te-wel ...... het hele spulletje ligt overhoop.

Terug naar een oude versie geflashed maar zonder het gewenste resultaat.

Enig idee?

Edit: de opbouw van de pagina onder devices gaat ook moeizaam .......

Wolfram55 wijzigde deze reactie 08-08-2018 15:33 (4%)
Reden: opbouw pagina


  • ETH0.1
  • Registratie: juni 2018
  • Laatst online: 16-08 09:49
quote:
TCroezing schreef op zondag 5 augustus 2018 @ 20:47:
[...]

Die Landis in dan een DSMR 5. Die geven plm per seconde een rapport. Bij < DSMR 5 is dat 10 seconden.
Aha, weer wat geleerd! bedankt! Iedere seconde is een beetje overkill, maar het is fijn dat het beschikbaar is.


Bij mij is het inmiddels gelukt

Arduino Node MCU ESPS8266 bordje met USB voeding

---
1k Ohm weerstand tussen pin 5 en de 3v pin

Aansluitingen naar de meter
pin5: datapin
GND: Ground
3V: 3volt voeding
---


Onderstaande code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include "ESP8266WiFi.h"
#include <SoftwareSerial.h>

const char* ssid = "WirelessSSID";
const char* password = "WirelessPassword";

const char* host = "www.server.nl";
const char* location = "Meterkast";

const int requestPin =  4;
int incomingByte = 0;
String data_array[500];
String inputString = "";
String record = "no";
String DaytimeTotal = "";
String NighttimeTotal = "";
String CurrentUsage = "";
String GasTotal = "";
int i = 0;

#define SERIAL_RX     D5  // pin for SoftwareSerial RX
SoftwareSerial mySerial(SERIAL_RX, -1, true); // (RX, TX. inverted, buffer)

void setup () {
  delay(5000);
  
  // Start Serial
  mySerial.begin(115200);
  delay(5);
  Serial.begin(115200);

  delay(1000);

  // We start by connecting to a WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  

  Serial.println("P1 Smart meter reading - START\n");

  pinMode(requestPin, OUTPUT);
  digitalWrite(requestPin, HIGH);
}

void loop () {  
  
  while (mySerial.available() > 0) {

    incomingByte = mySerial.read();
    incomingByte &= ~(1 << 8);
    char inChar = (char)incomingByte;

    if (inputString == "/XMX5LG***********JE EIGEN METER CODE****************") {
        Serial.println("Start of new telegram");        // start of new patern
        record = "yes";
    } 

    if (record == "yes") {
                            if (inChar == '\n') {
                                                    data_array[i] = inputString;
                                                    i++;
                                                    inputString = "";
      
                            }

                            if (inChar == '!') {

                                                    delay(3000);
                                                    for(int j = 0; j < 40; j++)
                                                      {
                                                       if (data_array[j].startsWith("1-0:1.8.1")) { DaytimeTotal = data_array[j]; DaytimeTotal.trim(); }
                                                       if (data_array[j].startsWith("1-0:1.8.2")) { NighttimeTotal = data_array[j]; NighttimeTotal.trim(); }
                                                       if (data_array[j].startsWith("1-0:1.7.0")) { CurrentUsage = data_array[j]; CurrentUsage.trim(); }
                                                       if (data_array[j].startsWith("0-1:24.2.1")) { GasTotal = data_array[j]; GasTotal.trim(); }
                                                      }

                                                    Serial.print("Current : ");  
                                                    Serial.println(CurrentUsage);
                                                    Serial.print("Daytime : ");
                                                    Serial.println(DaytimeTotal);
                                                    Serial.print("Nighttime : ");
                                                    Serial.println(NighttimeTotal);
                                                    Serial.print("Gastotal : ");
                                                    Serial.println(GasTotal);
                                                    Serial.println("Waiting 10seconds"); 

                                                    Serial.println("");
                                                    Serial.println("Uploading:");

                                                    // Use WiFiClient class to create TCP connections
                                                    WiFiClient client;
                                                    const int httpPort = 80;
                                                    if (!client.connect(host, httpPort)) {
                                                      Serial.println("connection failed");
                                                      return;
                                                    }

                                                     // This will send the request to the server
                                                
                                                    client.print(String("GET /power-input.php?Location=") + String(location) + "&CurrentUsage=" + String(CurrentUsage) + "&DaytimeTotal=" + String(DaytimeTotal) + "&NighttimeTotal=" + String(NighttimeTotal) + "&GasTotal=" + String(GasTotal) + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");

                                                    delay(7000);        // end code, wait 10 seconds
                                                    record = "no";
                                                    i=0;
                            }
   }

    inputString += inChar;      

     if (inChar == '\n') {
       inputString = "";
     }    

  
  }

}

daarna pak ik het met php verder op om het in de juiste database te plempen om het vervolgens uit te lezen mbv grafana
http://i68.tinypic.com/3328nz7.png

  • Bierbroeder
  • Registratie: februari 2006
  • Laatst online: 08:57
quote:
ETH0.1 schreef op vrijdag 10 augustus 2018 @ 09:32:
[...]

Aha, weer wat geleerd! bedankt! Iedere seconde is een beetje overkill, maar het is fijn dat het beschikbaar is.


Bij mij is het inmiddels gelukt

Arduino Node MCU ESPS8266 bordje met USB voeding

---
1k Ohm weerstand tussen pin 5 en de 3v pin

Aansluitingen naar de meter
pin5: datapin
GND: Ground
3V: 3volt voeding
---


Onderstaande code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include "ESP8266WiFi.h"
#include <SoftwareSerial.h>

const char* ssid = "WirelessSSID";
const char* password = "WirelessPassword";

const char* host = "www.server.nl";
const char* location = "Meterkast";

const int requestPin =  4;
int incomingByte = 0;
String data_array[500];
String inputString = "";
String record = "no";
String DaytimeTotal = "";
String NighttimeTotal = "";
String CurrentUsage = "";
String GasTotal = "";
int i = 0;

#define SERIAL_RX     D5  // pin for SoftwareSerial RX
SoftwareSerial mySerial(SERIAL_RX, -1, true); // (RX, TX. inverted, buffer)

void setup () {
  delay(5000);
  
  // Start Serial
  mySerial.begin(115200);
  delay(5);
  Serial.begin(115200);

  delay(1000);

  // We start by connecting to a WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  

  Serial.println("P1 Smart meter reading - START\n");

  pinMode(requestPin, OUTPUT);
  digitalWrite(requestPin, HIGH);
}

void loop () {  
  
  while (mySerial.available() > 0) {

    incomingByte = mySerial.read();
    incomingByte &= ~(1 << 8);
    char inChar = (char)incomingByte;

    if (inputString == "/XMX5LG***********JE EIGEN METER CODE****************") {
        Serial.println("Start of new telegram");        // start of new patern
        record = "yes";
    } 

    if (record == "yes") {
                            if (inChar == '\n') {
                                                    data_array[i] = inputString;
                                                    i++;
                                                    inputString = "";
      
                            }

                            if (inChar == '!') {

                                                    delay(3000);
                                                    for(int j = 0; j < 40; j++)
                                                      {
                                                       if (data_array[j].startsWith("1-0:1.8.1")) { DaytimeTotal = data_array[j]; DaytimeTotal.trim(); }
                                                       if (data_array[j].startsWith("1-0:1.8.2")) { NighttimeTotal = data_array[j]; NighttimeTotal.trim(); }
                                                       if (data_array[j].startsWith("1-0:1.7.0")) { CurrentUsage = data_array[j]; CurrentUsage.trim(); }
                                                       if (data_array[j].startsWith("0-1:24.2.1")) { GasTotal = data_array[j]; GasTotal.trim(); }
                                                      }

                                                    Serial.print("Current : ");  
                                                    Serial.println(CurrentUsage);
                                                    Serial.print("Daytime : ");
                                                    Serial.println(DaytimeTotal);
                                                    Serial.print("Nighttime : ");
                                                    Serial.println(NighttimeTotal);
                                                    Serial.print("Gastotal : ");
                                                    Serial.println(GasTotal);
                                                    Serial.println("Waiting 10seconds"); 

                                                    Serial.println("");
                                                    Serial.println("Uploading:");

                                                    // Use WiFiClient class to create TCP connections
                                                    WiFiClient client;
                                                    const int httpPort = 80;
                                                    if (!client.connect(host, httpPort)) {
                                                      Serial.println("connection failed");
                                                      return;
                                                    }

                                                     // This will send the request to the server
                                                
                                                    client.print(String("GET /power-input.php?Location=") + String(location) + "&CurrentUsage=" + String(CurrentUsage) + "&DaytimeTotal=" + String(DaytimeTotal) + "&NighttimeTotal=" + String(NighttimeTotal) + "&GasTotal=" + String(GasTotal) + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");

                                                    delay(7000);        // end code, wait 10 seconds
                                                    record = "no";
                                                    i=0;
                            }
   }

    inputString += inChar;      

     if (inChar == '\n') {
       inputString = "";
     }    

  
  }

}

daarna pak ik het met php verder op om het in de juiste database te plempen om het vervolgens uit te lezen mbv grafana
[afbeelding]
Ik ben ook aan het kijken of mijn slimme meter kan uitlezen met een ESPS8266. Maar ik heb 0 ervaring hiermee.
Zou jij een paar foto's kunnen delen hoe je dit monteert/soldeert? En waar heb je de producten besteld?

  • TCroezing
  • Registratie: november 2009
  • Laatst online: 18-08 10:00
@ETH0.1
Ja, als je eenmaal de data hebt, kan je mooie grafieken maken:
https://tweakers.net/ext/f/7lTWjuBDu72A89VWCQ7GzhZb/thumb.jpg
quote:
TCroezing schreef op vrijdag 10 augustus 2018 @ 10:23:
@ETH0.1
Ja, als je eenmaal de data hebt, kan je mooie grafieken maken:
[afbeelding]
Ik zou die middelste grafiek ("Energie") de schaal even aanpassen naar log(10) of hoe die variant ook heet. Dan loopt het exponentieel op en is het lage verbruik beter zichtbaar, het valt nu bijna weg ten opzichte van die hoge pieken.

Hardware te koop | Gas besparen door CV-tuning | Elektriciteit besparen | Tweakblog


  • TCroezing
  • Registratie: november 2009
  • Laatst online: 18-08 10:00
quote:
ThinkPad schreef op vrijdag 10 augustus 2018 @ 10:25:
[...]
Ik zou die middelste grafiek ("Energie") de schaal even aanpassen naar log(10) of hoe die variant ook heet. Dan loopt het exponentieel op en is het lage verbruik beter zichtbaar, het valt nu bijna weg ten opzichte van die hoge pieken.
Dat kan, ik heb het geprobeerd, maar dan wordt het er voor mij niet beter op. De "rustverbruiken" worden dan ook hoog, en dan zie ik de verhouding niet meer goed.
{{En tsja, gister was een lage opbrengst dag... }}
Ik persoonlijk vind dit:
https://tweakers.net/ext/f/WjNilDNxx9oOLwhNsqE8PMiX/thumb.jpg
duidelijker dan dit:
https://tweakers.net/ext/f/EsD2uhiwmg62Byk8kpthWdKB/thumb.jpg
Maar zo heeft ieder z'n voorkeur!

Dat is wel fraai aan Grafana, je kunt tweaken tot je ziet wat je wilt zien.

  • ETH0.1
  • Registratie: juni 2018
  • Laatst online: 16-08 09:49
quote:
Bierbroeder schreef op vrijdag 10 augustus 2018 @ 10:19:
[...]


Ik ben ook aan het kijken of mijn slimme meter kan uitlezen met een ESPS8266. Maar ik heb 0 ervaring hiermee.
Zou jij een paar foto's kunnen delen hoe je dit monteert/soldeert? En waar heb je de producten besteld?
Op dit moment zit de arduino nog op een breadboard, ik moet hem nog even vast solderen op een lege printplaat.
https://static.mijnwebwinkel.nl/winkel/deluidsprekerspecialist-nl/image/cache/full/741314fb16c24d200612d8a1edf57e07ad6c2f7a.jpg

Toen ik begon wilde ik temperaturen meten, daarvoor heb ik een starterskit gekocht, naar verhouding wel iets duurder, maar er zit een aantal dingetjes bij zodat je aan de hobby kan gaan (o.a. een breadboard). als je eenmaal weet wat je wil hebben en je wil alles uitbreiden dan kun je een doosje uit china laten komen, of bv bestellen bij Ben Electronics of iets dergelijks

Je zou bv deze kit kunnen kopen: https://www.bol.com/nl/p/...patible/9200000082970388/

http://i65.tinypic.com/121ap88.png

http://i64.tinypic.com/33vhv5y.png
uit mijn RJ11 komen 4 kabeltjes, als je op de connector kijkt (zoals in het bovenste plaatje)
van links naar rechts:
groen: 3v
bruin: GND (wit kabeltje vanaf de arduino, omdat ik even niets anders had)
wit: ongebruikt
geel: D5 data input

http://i63.tinypic.com/a0xf74.png

ETH0.1 wijzigde deze reactie 10-08-2018 11:43 (8%)


  • trekker22
  • Registratie: maart 2003
  • Laatst online: 22:17
ik wil dsmr reader in docker gaan draaien op NUC, nu nog op een Rpi3.

Kijk ik er overheen, of kan ik nergens de config exporteren?

casino's maken me rijk!Neteller heb je dan nodig!!


  • Memphisto
  • Registratie: februari 2002
  • Laatst online: 07:49
Ik heb hier sinds kort ook een slimme meter (T210D, ESRM5) welke ik wil gaan uitlezen. Ik heb ook een nuc staan met daarop HASS, influxdb/grafana, e.d..

Idealiter wil ik de slimme meter direct op de nuc uitlezen zodat ik meteen gebruik kan maken van de bestaande influxdb/grafana installatie, echter staat deze 10+ meter van de meterkast vandaan. Dit zal dus niet gaan werken, toch?
Ofwel ik zal er dus een RPI tussen moeten hangen om de data initieel op te slaan en dan door te sturen naar de nuc. Echter kom ik er niet aan uit hoe dit op een eenvoudige en betrouwbare manier uit te voeren.

Hebben jullie hiervoor tips? Best practises?

Deep into that darkness peering, long I stood there, wondering, fearing, doubting, dreaming dreams no mortal ever dreamed before.


  • ETH0.1
  • Registratie: juni 2018
  • Laatst online: 16-08 09:49
quote:
Memphisto schreef op zondag 12 augustus 2018 @ 11:56:
Ik heb hier sinds kort ook een slimme meter (T210D, ESRM5) welke ik wil gaan uitlezen. Ik heb ook een nuc staan met daarop HASS, influxdb/grafana, e.d..

Idealiter wil ik de slimme meter direct op de nuc uitlezen zodat ik meteen gebruik kan maken van de bestaande influxdb/grafana installatie, echter staat deze 10+ meter van de meterkast vandaan. Dit zal dus niet gaan werken, toch?
Ofwel ik zal er dus een RPI tussen moeten hangen om de data initieel op te slaan en dan door te sturen naar de nuc. Echter kom ik er niet aan uit hoe dit op een eenvoudige en betrouwbare manier uit te voeren.

Hebben jullie hiervoor tips? Best practises?
welke baudrate gebruikt je meter?

Data rate (bps) Distance (m)
2400 - 60
4800 - 30
9600 - 15
19200 - 7.6
38400 - 3.7
56000 - 2.6

  • Memphisto
  • Registratie: februari 2002
  • Laatst online: 07:49
quote:
ETH0.1 schreef op zondag 12 augustus 2018 @ 15:29:
[...]

welke baudrate gebruikt je meter?

Data rate (bps) Distance (m)
2400 - 60
4800 - 30
9600 - 15
19200 - 7.6
38400 - 3.7
56000 - 2.6
Van wat ik her en der heb kunnen vinden ga ik uit van 115200. Heb dit echter nog niet zelf kunnen testen aangezien ik de kabel nog niet binnen heb.

Uitgaande van jou info kan ik er dus wel van uit gaan dat 10+ meter dus niet gaat werken.
Dan zal ik dus toch een RPI in de meter kast moeten hangen. Hier kan ik UTP naar toe trekken dus netwerk zal wel stabiel zijn.

Maar wat is dan de best practice?
  • Data uit de slimme meter lokaal (op de RPI) in een DB opslaan en periodiek synchroniseren met de NUC?
  • Data vanuit de slimme meter via de RPI rechtstreeks wegschrijven in een DB op de nuc?
  • Data in DB lokaal op de RPI houden en HASS en Grafana bv. (op de nuc) direct over netwerk laten connecten met de DB op de RPI?
De laatste optie heeft absoluut niet mijn voorkeur gezien de betrouwbaarheid van de SD kaarten i.c.m. RPI. Zou zonde zijn om data te verliezen vanwege een corrupte SD kaart.

Deep into that darkness peering, long I stood there, wondering, fearing, doubting, dreaming dreams no mortal ever dreamed before.

Pagina: 1 ... 11 12 13 Laatste


Call of Duty: Black Ops 4 HTC U12+ dual sim LG W7 Google Pixel 3 XL OnePlus 6 Battlefield V Samsung Galaxy S9 Dual Sim Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True