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

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op dinsdag 20 augustus 2019 @ 08:14:
[...]

Die optie stamt nog uit de tijd van de Netduino en is nooit meer wat mee gedaan. Zal eens kijken of het nog werkt.
Is misschien handig om de P1 apart te loggen op een Pi maar wel de data te hebben op de andere ivm de LCD

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op dinsdag 20 augustus 2019 @ 09:16:
[...]

Is misschien handig om de P1 apart te loggen op een Pi maar wel de data te hebben op de andere ivm de LCD
Ik heb even moeten zoeken waarom de P1 load data from raspberry niet meer werkte. Dit heeft te maken met aangescherpte beveiliging cross origin waar al eerder over geschreven was maar met "Access-Control-Allow-Origin: *" in de header is dit opgelost.
Wel is het zo dat in de oude code de 3fase code niet is herschreven, dat heb ik nu wel gedaan.

Ook is me opgevallen dat bij het opnieuw opstarten de oude waarden niet worden weergegeven. Heb ik nu herschreven voor de raspberry moet uitgetest worden.

Als ik nu tijd heb ga ik beginnen aan het (voor mij) DSMR 5.0 mysterie. Waarom krijg ik geen data als ik geen inverter IC gebruik, dus onzichtbaar voor het serial device. Daarvoor heb ik mijn oscilloscoop afgestoft.

Hiermee kan ik het signaal vangen in het moment zeg maar.


voor mezelf ben nl altijd mijn aantekeningen aan het zoeken:
dataRequest line 500 ohm (10 mA) bij 5v (max cc) range (4~5.5v)
dataLine pullUp 1000 ohm (1k) (5 mA) bij 5v (max cf)
gemeten high 4.81 ~ 4.88 v, low 0.02 ~ 0.07 v
pin1 P1 5.01v 0.01




specs:

met deze specs in de hand zijn er weinig geheimen.
onderzoek gebaseerd op dit netbeheernederlandPDF:

En idd :
The Metering System must send its data to the OSM device every single second and the transmission of the entire P1 telegram must be completed within 1s.

6.3 End of transmission The data transmission is complete after the data message has been transmitted by the Metering System. An acknowledgement signal is not provided for.

en zoek de verschillen in de slimme meters
- power supply in 4.2 = 100 mA in 5.0 = 250 mA
- interval send data over dataLine in 4.2 = 10secs in 5.0 = 1sec
- Instantaneous voltage per phase (mooi mooi mooi) wordt in de nieuwe versie DaL toegevoegd.

een cd401 IC mag de ongebruikte ingangen niet floating (ongebruikt) zijn en moeten verbonden zijn met GND. punt 11.1 in pdf

te vinden in DIT pdf

Willie Wortel wijzigde deze reactie 25-08-2019 10:04 (75%)

@klump4u weet jij nog welke versie oude meter je had en heb je de specs pdf daarvan.? Ik probeer achter de oorzaak van de storing te komen zonder in het blind met hagel te schieten zeg maar. Door onderzoek krijg je ook een beter onderbouwde oplossing. Ik bedoel. een computer verzint niets en een storing komt niet vanzelf.

  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
Mijn meter was een een-fase Kamstrup 162JxC met DSMR versie 2.2 van Enexis

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

@klump4u Zo staat het nu te draaien op mijn test Rasp:



pullUp van 3.3v

En het mysterie waarom ik geen data kreeg was omdat de baudrate verkeerd stond. 8)

Willie Wortel wijzigde deze reactie 26-08-2019 10:41 (42%)


  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op maandag 26 augustus 2019 @ 10:30:
@klump4u Zo staat het nu te draaien op mijn test Rasp:

[Afbeelding]

pullUp van 3.3v

En het mysterie waarom ik geen data kreeg was omdat de baudrate verkeerd stond. 8)
En wat is hier het voordeel van?
Werkt het bij jou?

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op maandag 26 augustus 2019 @ 12:43:
[...]

En wat is hier het voordeel van?
Werkt het bij jou?
tuurlijk werkt het bij mij. Heb het een dag laten draaien.
Zelf heb ik met de oude situatie geen problemen maar als ik een nieuw bordje soldeer dan is het volgens het laatste schema. Het voordeel is dat de meter de dataRequest voedt met zijn eigen stroom. Dat kan met meters vanaf de 4.2 versie. Daarnaast is op de dataline een 3.3v geplaatst wat meer aansluit op een Raspberry die niet goed tegen 5v op de gpio pins kan. Tenslotte is de comm poort ook een verbouwde gpio pin. En als laatste de GND op alle niet gebruikte converter ingangen wat het klapperen ondervangt zeg maar. Het is in ieder geval het meest doordachte schema. Probeer het zou ik zeggen en hopelijk dat dan je periodieke storingen voorbij zijn want als je non ascii code binnenkrijgt (waarop foutmelding volgt) dan wordt je signaal niet meer geïnverteerd door de IC.

in jou geval kan je natuurlijk ook de pin 1 naar pin 2 laten vervallen en pin 2 voeden via de Rasp.

Willie Wortel wijzigde deze reactie 29-08-2019 08:47 (4%)


  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op donderdag 29 augustus 2019 @ 08:27:
[...]

tuurlijk werkt het bij mij. Heb het een dag laten draaien.
Zelf heb ik met de oude situatie geen problemen maar als ik een nieuw bordje soldeer dan is het volgens het laatste schema. Het voordeel is dat de meter de dataRequest voedt met zijn eigen stroom. Dat kan met meters vanaf de 4.2 versie. Daarnaast is op de dataline een 3.3v geplaatst wat meer aansluit op een Raspberry die niet goed tegen 5v op de gpio pins kan. Tenslotte is de comm poort ook een verbouwde gpio pin. En als laatste de GND op alle niet gebruikte converter ingangen wat het klapperen ondervangt zeg maar. Het is in ieder geval het meest doordachte schema. Probeer het zou ik zeggen en hopelijk dat dan je periodieke storingen voorbij zijn want als je non ascii code binnenkrijgt (waarop foutmelding volgt) dan wordt je signaal niet meer geïnverteerd door de IC.

in jou geval kan je natuurlijk ook de pin 1 naar pin 2 laten vervallen en pin 2 voeden via de Rasp.
Zal ik eens gaan proberen misschien dat dit help, heb je wel nog tijd gehad om naar de satelite raspberry te kijken voor de P1 poort?

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
Nieuwe schema ook geprobeerd maar hetzelfde euvel, willekeurig een resetten van de pi en geen mooi telegram als ik ip:poort/telegram doe in de browser.
Ik ga de P1 van de Pi afhalen denk ik en ga deze dan maar via Domoticz of iets anders loggen naar Pvoutput en Mindergas, jammer maar het is niet anders.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

Ha klump, ik ben niet in het land en heb beperkt internet. Je moet gewoon doen met loggen wat je het beste lijkt. Maakt niet uit met welk programma als je maar je data bi nnen krijg. Verder, je kan kijken of een extern uart USB soelaas biedt of en ander type ic zonder s trigger omdat die veel gevoeliger zijn. Daarnaast kan je de 5v van je slimme meter ook gebruiken voor je data lijn. En verder , haal de de delay eens uit je software zodat de sm elke seconde update.

  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
die stappen heb ik al allemaal geprobeerd, net nog eens met een bc547, nieuwe smitt trigger, ik heb deze versies ook allemaal op de pi2 gedraaid maar dan met raspberry software en daar gaat het allemaal wel goed, d.w.z. ik krijg bij alle versie een mooi en volledig telegram.
het enige wat ik nog niet heb geprobeerd is een Pi3, ik heb nu de pi3B+ draaien, een pi3 heb ik niet dus als ik een keer er een kan uithalen ergens dan probeer ik dat nog, voor nu maar de pi3B+ met willekeurige herstart.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

Een mooi en volledig telegram is maar 1 regel toevoegen aan je code. Dat is niet het issue wat wel is waarom je RaspBerry er periodiek mee stopt. Er is niets zo moeilijk programmeren als iets wat je niet hebt. Je gaat naar je garage met een mankement en aldaar is niets te vinden. :) en je hebt ook een USB uart geprobeerd las ik..

  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
USB uart heb ik niet geprobeerd nee, de rest wel allemaal, het is alleen bij mij ja, ik heb een dsmr 5.0 met 1 seconden update, dat heeft nog niemand anders getest of geprobeerd, jullie hebben allemaal een P1 die met 10 seconden een telegram geeft, ik neem aan dat je aan een mooi en volledig telegram kunt zien of het goed gaat of niet. He maakt niet uit welke ic ik ook erop zet op de PI3B+ of op de Pi2 de telegrammen zien er hetzelfde uit, hiervoor met de DSMR 2.2 versie meter liep de Pi 150 dagen aan een stuk. Ik kan er verder ook niks van maken of bedenken, ik zal een USB uart bestellen op Ebay en zal dan wel weer wat laten horen.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

@klump4u bij het herconfigureren kan je de baudrate juist casten. Dit is de nieuwe regel dan.... _serialDevice.BaudRate = CUInt(DaL.P1config.Baudrate) We kunnen beter niets aan het toeval laten.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op dinsdag 17 september 2019 @ 20:46:
@klump4u bij het herconfigureren kan je de baudrate juist casten. Dit is de nieuwe regel dan.... _serialDevice.BaudRate = CUInt(DaL.P1config.Baudrate) We kunnen beter niets aan het toeval laten.
Moet dit in de sourcecode komen?
Ik heb een Pi3B besteld, kijken wat dat doet i.pv. een Pi2 en Pi3B+ wat ik al heb.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op woensdag 18 september 2019 @ 19:15:
[...]

Moet dit in de sourcecode komen?
Ik heb een Pi3B besteld, kijken wat dat doet i.pv. een Pi2 en Pi3B+ wat ik al heb.
ja dit kan je in de sourcecode schrijven. In de nieuwe code zit alles alreeds gehatseflatst. Nu nog de fase voltage in de software schrijven dan krijg je een update.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op dinsdag 1 oktober 2019 @ 14:59:
[...]

ja dit kan je in de sourcecode schrijven. In de nieuwe code zit alles alreeds gehatseflatst. Nu nog de fase voltage in de software schrijven dan krijg je een update.
Laatste poging, heb nu een raspberry pi 3b geïnstalleerd.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op donderdag 3 oktober 2019 @ 18:55:
[...]

Laatste poging, heb nu een raspberry pi 3b geïnstalleerd.
en hoe heb je hem aangesloten, dat maakt eel veel uit in deze?

Kennen jullie hem nog ….. de Netduino..?
Hier is de opvolger.... draait full .Net 2.0 (zoals ze zeggen) en niet een uitgekleede versie zoals op de raspberry. Voor mij is het afwachten maar ben wel benieuwd.

Willie Wortel wijzigde deze reactie 04-10-2019 09:41 (40%)


  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op vrijdag 4 oktober 2019 @ 09:06:
[...]

en hoe heb je hem aangesloten, dat maakt eel veel uit in deze?

Kennen jullie hem nog ….. de Netduino..?
Hier is de opvolger.... draait full .Net 2.0 (zoals ze zeggen) en niet een uitgekleede versie zoals op de raspberry. Voor mij is het afwachten maar ben wel benieuwd.
Zo: https://tweakers.net/ext/f/PcsGuLz87mhybwimil7WqzjU/full.jpg

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

Na installatie van de nieuwe meter v4.2 bij mij thuis blijft mijn rasp met het door jou gekozen schema hangen na X uren bij mij. Dat had ik hier al eerder gemeld.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op vrijdag 4 oktober 2019 @ 12:42:
Na installatie van de nieuwe meter v4.2 bij mij thuis blijft mijn rasp met het door jou gekozen schema hangen na X uren bij mij. Dat had ik hier al eerder gemeld.
Ik ga deze week als ik tijd en zin heb een los printje maken met het laatste schema wat je laatst gemaakt had met de ongebruikte ingangen aan de gnd, gaat dat niet werken dan stop ik met de slimme meter uitlezen.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op zaterdag 5 oktober 2019 @ 17:51:
[...]

Ik ga deze week als ik tijd en zin heb een los printje maken met het laatste schema wat je laatst gemaakt had met de ongebruikte ingangen aan de gnd, gaat dat niet werken dan stop ik met de slimme meter uitlezen.
Ben je gek, niet zo somber. Er is altijd nog een ultimate mogelijkheid. De IC niet direct aansluiten op 3.3v maar laten lopen over een gpio pin. Als dan een reset nodig is hoeft alleen de betreffende pin op FALSE gezet te worden en daarna weer op TRUE, zo onderbreek je de stroomkring en wordt de IC gereset. Misschien biedt dat soelaas. probeer eerst de andere mogelijkheden, ik gebruik voor zoiets te testen een plastic prikbord ipv solderen.

Nog zoiets, heeft niets te maken met loggen maar met je sdkaartje klaarmaken voor gebruik. Ik gebruik de anti ransomware optie van Microsoft, als deze aanstaat is het niet mogelijk je kaartje klaar te maken voor gebruikt. pfffff. Hele volksstammen struikelen hierover.

Willie Wortel wijzigde deze reactie 06-10-2019 10:01 (46%)


  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel @jmeinders
Nee ik laat dit mooie project niet varen maar het is gewoon frustrerend dat het niet werkt.
Ik kan er niet de vinger opleggen of het nou alleen bij mij is ( dus ook door mij) of dat het er aan ligt dat ik een slimme meter ESMR 5.0 hebt die elke seconden een telegram uitstuurt en dat daardoor de software vastloopt. Het is jammer dat er niet iemand anders is met een ESMR 5.0 meter met seconden telegrammen.
Op een Pi2 waar ik Domoticz op heb draaien kan ik willekeurig 1 of 10 of 30 seconden deze meter laten uitlezen en dat gaat gewoon weken goed, eigenlijk altijd dus. Er is iets wat niet klopt en dat is shit.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

@klump4u gebruik je toevallig een splitter met nog een ander device aangesloten op je slimme meter .?. Zo te distilleren uit je laatste post.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op zondag 6 oktober 2019 @ 18:43:
@klump4u gebruik je toevallig een splitter met nog een ander device aangesloten op je slimme meter .?. Zo te distilleren uit je laatste post.
Ja al 4 jaar, maar ook al zonder splitter getest en geen verschil.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op zondag 6 oktober 2019 @ 18:51:
[...]

Ja al 4 jaar, maar ook al zonder splitter getest en geen verschil.
Al 4 jaar maar niet onder dezelfde condities. De slimme meter 9600 baud versus 115200 symbolen per sec. Je begrijpt dat de datalijn maar weinig ruis kan hebben voordat het fout gaat. Splitten, de naam zegt het al geeft een reductie in dB.

  • klump4u
  • Registratie: februari 2008
  • Niet online
Willie Wortel schreef op maandag 7 oktober 2019 @ 19:50:
[...]

Al 4 jaar maar niet onder dezelfde condities. De slimme meter 9600 baud versus 115200 symbolen per sec. Je begrijpt dat de datalijn maar weinig ruis kan hebben voordat het fout gaat. Splitten, de naam zegt het al geeft een reductie in dB.
Dan ga ik binnenkort maar eens een nieuw printje op de pi3 maken en deze alleen maar aan de P1 hangen en alleen de slimme meter uitlezen en verder niks op die Pi3, niks splitten en geen thermometers of S0.
Dat moet dan toch werken lijkt mij.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

even Resumé:
De nieuwe update DaL 3.0 die ik nu aan het schrijven ben met Visual Studio 2019 is downwards niet compatible, dus met vs 2017 deployen gaat niet. Het deployen van deze nieuwe versie kan problemen opleveren bij de installatie die ik geheel heb uitgezocht how to.

te weten, vs 2017 en vs 2019 kunnen naast elkaar geïnstalleerd zijn op je computer.

Als je de foutmelding krijg :
Make sure that the target device has the developer mode enabled. Could not get a developer license for xxx.xxx.xxx.xxx due to the following error: xxxxxxxxx (netwerk adres en foutcode kunnen verschillen)

ervan uitgaande dat de develop mode is aangevinkt op je windows computer zie hier.

Dan zit er maar 1 ding op, format je sdkaartje opnieuw met de laatste versie van het win IOT besturingsysteem dit moet gebeuren via het IOT dashboard.

  • Gé Brander
  • Registratie: september 2001
  • Laatst online: 19:24
Ik kwam op LinkedIn de volgende link tegen:
https://bornsql.ca/blog/a...-database-edge-explainer/
er kan dus tegenwoordig SQL Server op de Raspberry pi gedraaid worden.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • klump4u
  • Registratie: februari 2008
  • Niet online
nicopv schreef op vrijdag 13 december 2019 @ 09:33:
Mooi project vind ik dit, en ik heb dit imiddels ook draaien. Ik gebruik 2 S0 meters voor de zonnepanelen en lees de slimme meter uit. Dit wordt naar pvoutput verzonden. Echter ik heb het probleem dat naarmate ik meer opwek mijn verbruik naar beneden gaat, en soms op 0 blijft staat. Verbruik hou je natuurlijk altijd dus ergens zit een rekenfout. Iemand een idee wat ik verkeerd gedaan zou kunnen hebben?
Als je het verbruik van de slimme meter naar pvoutput stuurt dan heb je inderdaad overdag bij meer opwek als verbruik een 0 weergave, je doet niks verkeerd hoor, de slimme meter berekend al interne eigen verbruik en teruglevering.
Dan zul je al een S0 meter erbij moeten plaatsen om het werkelijke verbruik overdag te zien.

klump4u wijzigde deze reactie 13-12-2019 12:46 (5%)

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
nicopv schreef op vrijdag 13 december 2019 @ 15:58:
Maar ik heb 2 s0 meters, dat wordt ook naar pvoutput verzonden. Maar verbruik heb je altijd, maar dat wordt nu niet berekend. Ik wil natuurlijk altijd het verbruik zien, ook al wek ik meer op dan ik verbruik. Voorheen gebruikte ik Solarmeter op een Arduino. Dat ging wel goed alleen iedere dag wel een keer een leesfout. Vandaar dat ik overgestapt ben naar de Raspberry.
Dus je hebt een S0 voor de zonnepanelen en de andere voor de totaal stroom verbruik?
Hoe heb je die andere aangesloten?
Heb je een link naar pvoutput?

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
@nicopv
Welke waarde (sensor) doe je nu uploaden naar pvoutput ?
Is het een berekening van de var-buider?
Hoe ziet je berekening eruit?
Ik wil je graag helpen maar ik begrijp nog niet goed wat je nu upload en hoe je het berekend.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
nicopv schreef op zaterdag 14 december 2019 @ 13:43:
Zo is het nu:
.
"Fieldname": "v1=EnergyGenerationKWH",
"Content": "PulseMeter('myHardware 0').kwh",
"Fieldname": "v2=PowerGenerationWatts",
"Content": "PulseMeter('myHardware 0').watts",
"Fieldname": "v3=EnergyConsumpion",
"Content": "'ElectraConsumedToday P1'",
"Fieldname": "v4=PowerConsumption",
"Content": "'CurrentConsumingElectra P1'",

Maar jmeinders had een heel goed idee, bedankt daarvoor, hij gaf aan dat het misschien via var builder zou kunnen. Ik heb daar nog nooit naar gekeken maar ben daar nu mee aan het stoeien. Ziet er positief uit.
Maar waar is nu die zon? :)
Dan is het duidelijk nu, wil je inderdaad je werkelijke verbruik uploaden of inzichtelijk maken dan moet je met de builder aan de slag, B.v.: “Pulsemeter(‘myHardware 0’).watts” - SolarDeliveryNow P1” = “var1”
Daarna een nieuwe: “var1” + “CurrentConsumingElectra P1 = “var2”
Die “var2” doe je dan uploaden naar Fieldname v4 van .
Of je doet zoals ik een extra S0 pulsemeter in de de groepenkast plaatsen waar niet de zonnepanelen doorheen gaan maar wel alle andere verbruikers, dan heb je realtime je werkelijke verbruik.
Wel leuk dat je hier mee bezig bent en welkom.

klump4u wijzigde deze reactie 14-12-2019 17:01 (8%)

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
Update over mijn meter, USB uart gekregen maar welke selecteer ik in de optionspagina?
Ik kan UART0 t/m UART6 selecteren maar ik krijg er geen data uit. wel knippert er elke seconden een ledje op de USB/UART stick dus hij krijgt wel een signaal van de meter.
Ook de Zomer en wintertijd van de gasmeter is tijd gevoelig, ik heb als prefix S)( maar krijg dan geen gas data omdat het wintertijd is, zet ik hem op W)( dan krijg ik wel data

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
Ergens gelezen hier op een forum betreffende een slimme meter ESMR5,

Voor alle DSMR4 en (E)SMR5 meters zijn de poortinsrellingen zoals jij aangeeft: 115200/8/N/1
En geen flowcontrol/handshake

Enkele testresultaten met de p1 kabel op de Sagemcom meter wijzen in de richting van het (door de meter) afhandelen van buffer-overruns.
De DSMR4 P1 poort geeft per 10 seconden een telegram af en de (E)SMR5 P1 poort geeft per seconde 1 telegram af. Als de uitlezende computer niet snel genoeg is, dan ga je telegrammem verliezen (omdat er geen flowcontrol/handshake is).
Tot zo ver het effect bij (vrijwel?) alle DSMR4/SMR5 meters.

De ESMR5 meter van Sagemcom lijkt bij een (herhaalde) bufferoverrun te stoppen met versturen van data.
Je merkt dit als de meter na een paar goede (en wss een paar incomplete) telegrammen niks meer stuurt.
Volgens mij is dat niet cf de P1 companion guide van netbeheer Nederland.

Ik ben er nog niet 100% zeker van, en kom hier nog op terug.

Als dit inderdaad aan de hand is, is er geen pasklare oplossing. Hoe stuur je nl bij gebrek aan flowcontrol/handshake dat de meter even moet stoppen?
Voor de hand liggend is het aansturen van de request lijn via DTR/RTS, maar dat moet dan wel via software aangestuurd worden (en nog weet je niet waneer die buffer vol zit).

Wordt vervolgd.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

De usb poorten op de raspberry wordt door 1 routine uitgelezen.

Hier:

code:
1
2
3
4
5
Dim aqs As String = SerialDevice.GetDeviceSelector()
Dim allCOMMdevices As DeviceInformationCollection = Await DeviceInformation.FindAllAsync(aqs)

Dim s As Integer = DaL.P1config.commPort.Split(" ")(1)
_serialDevice = Await SerialDevice.FromIdAsync(allCOMMdevices(s).Id)



De interne communicatie poort is 0
de usb comm poort is 1 tot 4

Je usb is dus 1, (ik weet even niet of dit afhankelijk is van in welk slot je de usb plaatst)
dit wordt weergegeven in het misc window van VS als je raspberry wordt opgestart in debugmode, dus als je DaL programmacode upload naar je rasp en opstart.

Dit wordt de nieuwe driver, die kan je niet gebruiken daar is een update voor nodig. Daarmee zijn stukjes telegram vvt

Visual Basic:
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
                Using telegramReader As DataReader = New DataReader(_serialDevice.InputStream) With {
                    .UnicodeEncoding = UnicodeEncoding.Utf8,
                    .ByteOrder = ByteOrder.LittleEndian}

                    Await telegramReader.LoadAsync(BUFFER)

                    Dim receivedStrings As String = ""

                    Do While (telegramReader.UnconsumedBufferLength > 0)
                        Dim bytesToRead = telegramReader.ReadUInt32()
                        receivedStrings &= telegramReader.ReadString(bytesToRead)
                        Task.Delay(10).Wait()
                    Loop

                    WritePin(DaL.P1config.pinOnWrite, True)

                    If receivedStrings.Length > 0 Then
                        _strTelegram = ""

                        Dim canAppend As Boolean = False
                        For Each x In receivedStrings
                            If x = "/" Then canAppend = True
                            If canAppend Then _strTelegram &= x
                            If x = "!" Then canAppend = False
                        Next

                        DaL.p1Now.ConsumedGas = parceValue(DaL.p1Fix.ConsumedGasPreFix, DaL.p1Fix.ConsumedGasPostFix, DaL.p1Now.ConsumedGas)

                        If DaL.p1Now.ConsumedGas <= 0 Then
                            If DaL.p1Fix.ConsumedGasPreFix.IndexOf("S") > -1 Then
                                DaL.p1Fix.ConsumedGasPreFix = DaL.p1Fix.ConsumedGasPreFix.Replace("S", "W")
                            ElseIf DaL.p1Fix.ConsumedGasPreFix.IndexOf("W") > -1 Then
                                DaL.p1Fix.ConsumedGasPreFix = DaL.p1Fix.ConsumedGasPreFix.Replace("W", "S")
                            End If
                        End If

                        DaL.p1Now.ConsumedElectricityHighTariff = parceValue(DaL.p1Fix.ConsumedElectricityHighTariffPreFix, DaL.p1Fix.ConsumedElectricityHighTariffPostFix, DaL.p1Now.ConsumedElectricityHighTariff)
                        DaL.p1Now.ConsumedElectricityLowTariff = parceValue(DaL.p1Fix.ConsumedElectricityLowTariffPreFix, DaL.p1Fix.ConsumedElectricityLowTariffPostFix, DaL.p1Now.ConsumedElectricityLowTariff)
                        DaL.p1Now.CurrentElectricityTariff = If(parceValue(DaL.p1Fix.CurrentElectricityTariffPreFix, DaL.p1Fix.CurrentElectricityTariffPostFix, DaL.p1Now.CurrentElectricityTariff) = ElectricityTariff.Low, ElectricityTariff.Low, ElectricityTariff.High)
                        DaL.p1Now.CurrentPowerConsumption = parceValue(DaL.p1Fix.CurrentPowerConsumptionPreFix, DaL.p1Fix.CurrentPowerConsumptionPostFix, DaL.p1Now.CurrentPowerConsumption)
                        DaL.p1Now.CurrentSolarDelivery = parceValue(DaL.p1Fix.CurrentSolarDeliveryPreFix, DaL.p1Fix.CurrentSolarDeliveryPostFix, DaL.p1Now.CurrentSolarDelivery)
                        DaL.p1Now.SolarDeliveryHighTariff = parceValue(DaL.p1Fix.SolarDeliveryHighTariffPreFix, DaL.p1Fix.SolarDeliveryHighTariffPostFix, DaL.p1Now.SolarDeliveryHighTariff)
                        DaL.p1Now.SolarDeliveryLowTariff = parceValue(DaL.p1Fix.SolarDeliveryLowTariffPreFix, DaL.p1Fix.SolarDeliveryLowTariffPostFix, DaL.p1Now.SolarDeliveryLowTariff)
                        DaL.p1Now.LastTimeReceivedTelegram = Date.Now.Ticks

                        If DaL.P1config.is3Fase Then

                            DaL.p1Now.Amp??reFase1 = parceValue(DaL.p1Fix.amp??reFase1PreFix, DaL.p1Fix.amp??reFase1PostFix, DaL.p1Now.Amp??reFase1)
                            DaL.p1Now.Amp??reFase2 = parceValue(DaL.p1Fix.amp??reFase2PreFix, DaL.p1Fix.amp??reFase2PostFix, DaL.p1Now.Amp??reFase2)
                            DaL.p1Now.Amp??reFase3 = parceValue(DaL.p1Fix.amp??reFase3PreFix, DaL.p1Fix.amp??reFase3PostFix, DaL.p1Now.Amp??reFase3)

                            DaL.p1Now.DeliverNowFase1 = parceValue(DaL.p1Fix.deliverNowFase1PreFix, DaL.p1Fix.deliverNowFase1PostFix, DaL.p1Now.DeliverNowFase1)
                            DaL.p1Now.DeliverNowFase2 = parceValue(DaL.p1Fix.deliverNowFase2PreFix, DaL.p1Fix.deliverNowFase2PostFix, DaL.p1Now.DeliverNowFase2)
                            DaL.p1Now.DeliverNowFase3 = parceValue(DaL.p1Fix.deliverNowFase3PreFix, DaL.p1Fix.deliverNowFase3PostFix, DaL.p1Now.DeliverNowFase3)

                            DaL.p1Now.ConsumptionNowFase1 = parceValue(DaL.p1Fix.consumptionNowFase1PreFix, DaL.p1Fix.consumptionNowFase1PostFix, DaL.p1Now.ConsumptionNowFase1)
                            DaL.p1Now.ConsumptionNowFase2 = parceValue(DaL.p1Fix.consumptionNowFase2PreFix, DaL.p1Fix.consumptionNowFase2PostFix, DaL.p1Now.ConsumptionNowFase2)
                            DaL.p1Now.ConsumptionNowFase3 = parceValue(DaL.p1Fix.consumptionNowFase3PreFix, DaL.p1Fix.consumptionNowFase3PostFix, DaL.p1Now.ConsumptionNowFase3)

                            DaL.p1Now.VoltageFase1 = parceValue(DaL.p1Fix.voltageFase1PreFix, DaL.p1Fix.voltageFase1PostFix, DaL.p1Now.VoltageFase1)
                            DaL.p1Now.VoltageFase2 = parceValue(DaL.p1Fix.voltageFase2PreFix, DaL.p1Fix.voltageFase2PostFix, DaL.p1Now.VoltageFase2)
                            DaL.p1Now.VoltageFase3 = parceValue(DaL.p1Fix.voltageFase3PreFix, DaL.p1Fix.voltageFase3PostFix, DaL.p1Now.VoltageFase3)

                        End If

                        Task.Delay(100).Wait()

                        WritePin(DaL.P1config.pinOnWrite, False)

                        '* Every time the day will change, reset the historic vars  * 
                        '* and start the new day with daily totals on zero.         * 
                        isHistoric()

                    End If

                End Using

klump4u schreef op dinsdag 24 december 2019 @ 16:51:


De ESMR5 meter van Sagemcom lijkt bij een (herhaalde) bufferoverrun te stoppen met versturen van data.
Je merkt dit als de meter na een paar goede (en wss een paar incomplete) telegrammen niks meer stuurt.
Volgens mij is dat niet cf de P1 companion guide van netbeheer Nederland.
Als je dat denkt, haal dan eens als de data niet doorkomt handmatig de 5v van de meter af zodat een comm reset volgt in de meter.
De PZEM-004T module heb ik in DaL gehatseflatst. Hiermee kan je AC Voltage, Ampère, Frequentie Hz, Verbruik etc loggen en is eenvoudig aan te sluiten.Onthoud, 230v is geen speelgoed! Ik zal later eens een demo maken how to.

Kijk hier maar eens:
https://nl.aliexpress.com...ce_asc&page=1&groupsort=1
https://www.banggood.com/...=6157240&cur_warehouse=CN

  • klump4u
  • Registratie: februari 2008
  • Niet online
Mooi @Willie Wortel
Is dit ook i.p.v. een S0 kWh meter te gebruiken?
Ben ook zeer benieuwd naar de veranderingen t.b.v. de P1 poort.
De losse USB-comm stick krijg ik niet werkend. Ik kan kiezen uit 7 UART poorten in de software pagina maar geen een werkt, ledjes op de stick knipperen wel.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • klump4u
  • Registratie: februari 2008
  • Niet online
Vandaag nog maar eens met de USB-UART gestoeid en warempel gelukt, het aansluitschema in de wiki werkt niet bij mij maar volgend schema wel.


UART poort is inderdaad 1 als ik de stick naast de RJ45 aansluiting in de onderste usb duw.
Of er verschil is weet ik niet maar de tijd zal het leren.

klump4u wijzigde deze reactie 12-01-2020 17:37 (14%)

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live


  • Gé Brander
  • Registratie: september 2001
  • Laatst online: 19:24
klump4u schreef op zondag 12 januari 2020 @ 17:36:
Vandaag nog maar eens met de USB-UART gestoeid en warempel gelukt, het aansluitschema in de wiki werkt niet bij mij maar volgend schema wel.
[Afbeelding]

UART poort is inderdaad 1 als ik de stick naast de RJ45 aansluiting in de onderste usb duw.
Of er verschil is weet ik niet maar de tijd zal het leren.

[Afbeelding]
Maar dat is raar, je gebruikt dus een USB device om de data te ontvangen?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • klump4u
  • Registratie: februari 2008
  • Niet online
Gé Brander schreef op zondag 12 januari 2020 @ 21:37:
[...]

Maar dat is raar, je gebruikt dus een USB device om de data te ontvangen?
Is gewoon een extra UART poort op de pi dan, mijn meter is DSMR versie 5.0 en spuugt ieder seconden een telegram, om de zoveel tijd hangt de software dan vast en start hij opnieuw op daarom eens kijken of dit help. De Smit trigger zit er gewoon tussen.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

klump4u schreef op zondag 12 januari 2020 @ 22:44:
[...]

De Smit trigger zit er gewoon tussen.
En daar zit misschien voor jou een probleem! Smit trigger is veeeeeeel gevoeliger, dan had je wellicht beter kunnen kiezen voor een programmeerbare USBtoTTL waarbij je de bits direct kan inverten voordat deze ingelezen wordt. Dan komt de 401 te vervallen.

Als je communicatie nu weer hangt, probeer dan eens de 5v van je meter te halen en daarna er weer op. Lukt dat niet dan de 5 of 3v van je 401 af en er weer op. Dan weten we wat meer. Ik bedoel, ik ben ook benieuwd naar de oorzaak. Had ik die meter maar.

---
Ik ben bezig de webpagina code te schrijven voor de PZEM-004v3 , je kan er 247 :) tegelijk aan 1 bus (Modbus-RTU protocol) hangen. Iedere PZEM heeft een eigen numerieke ID tussen 0x1 en 0xf7
Nu komt het, om de PZEM een nieuw ID te geven (standaard 0x01) moet deze afzonderlijk ingegeven worden zonder dat andere aan de bus hangen. Het is dus software matig en niet via (soldeer)switchen op het device.
Dit zal dus moeten gebeuren met een commando vanaf de commandline van de browser, zoiets:
http://192.168.1.95:65333/PZEMid:0x1
IP:POORT/commando:adres

Je begrijpt dat als er 2 PZEMs aan de bus hangen met dezelfde ID dat het fout gaat. 8) Dan krijg je altijd data van de eerst gevonden pzem op de bus.

  • klump4u
  • Registratie: februari 2008
  • Niet online
@Willie Wortel
Ik heb inderdaad een kant en klare P1 kabel geprobeerd en dit werkte ook maar de telegrammen die ik door kreeg waren ook niet allemaal goed dus die heb ik weer los gekoppeld.
Ik vind het zelf al vreemd dat ik op de Pi2b, Pi3b en Pi3b+ verschillende telegrammen binnenkrijg.
Gisteren nog even de USB-UART met losse smit trigger op een breadboard in de laptop gestoken en toen via putty een sessie telegrammen laten uitlezen, dit ging iedere seconden foutloos maar daar heb ik niks aan.
Ik zal binnenkort weer eens gaan experimenteren.

3020wp-ZW Live 1960wp-ZZW Live Altantic Explorer 270 Live

Ik heb hier even een voorbeeld gemaakt ter verduidelijking:


4 PZEM modules, op 2 commPorts, dus op 1 commPort mogen de slave adressen van de PZEMs niet dezelfde zijn.
Zo een USBtoTTL stick is voor 3x niks te koop op bv ebay.
https://www.ebay.com/sch/...Serial+Converter&_sacat=0
Zo kan je 4 modules in je Raspberry gebruiken + de ingebouwde UART = 5.

Wiki aangepast:


Willie Wortel wijzigde deze reactie 31-01-2020 11:37 (30%)

in de designer



zoek je een UART en of deze zichtbaar is voor je raspberry, gebruik je webbrowser:
[ip:port/UARTS] dus bv 192.168.1.95:65444/uarts


De ACPI BCM2836 is de ingebouwde Raspberry UART


Alle Pzems zichtbaar voor de RaspBerry: DIT IS WAT ANDERS DAN het commando NOW !
[IP:Port/]SearchPzems


veranderen van het slaveAdres in de webbrowser :
[IP:port/]ChangePzemAddress: commPort : oldAddress : newAdress



De Pzem sensor houdt de energy consumption cumulatief bij, deze is te resetten dus terug naar 0
Syntax [IP:Port]/ResetPzemEnergy:[CommunicationPort]:[SlaveAddress]
voorbeeld: 192.168.1.123:65333/ResetPzemEnergy:0:1

Deze is ook te resetten as new day in de options pagina:




De Raspberry herkende de bijgeleverde FDTI kabel NIET. Ik heb de PZEM sensor aangesloten met een USB to TTL UART
.

De Pzem sensor MOET aangesloten zijn met de wisselspanning op (L en N) anders geeft de PZEM geen response signaal. (De lampjes gaan dus niet knipperen bij RX~TX signaal).

Willie Wortel wijzigde deze reactie 23-02-2020 10:47 (137%)

Pagina: 1 2 3 4 5


Apple iPhone 11 Microsoft Xbox Series X LG OLED C9 Google Pixel 4 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True