18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Ik heb de PI3B met software 17763.557.klump4u schreef op maandag 1 juli 2019 @ 09:30:
[...]
Welke Pi draai jij dan?
Ik heb nu een Pi3B+ eraan hangen.
Omnik 3.0 15 Eging panelen 195wp
Ik de insiders core 17763.1
We zullen het even afwachten.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
EMSR 5.0 baute rate 115200
data bits 8
parity none
stop bits 1
Omnik 3.0 15 Eging panelen 195wp
Gaan we proberen.Willie Wortel schreef op dinsdag 2 juli 2019 @ 22:11:
@klump4u heb je ook al geprobeerd om de datalijn een lagere weerstand te geven?
@jmeinders ga ik ook proberen.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Het probleem is volgens mij dat de meter iedere seconden een telegram uitspuugt en dat dit niet goed door de software wordt afgehandeld na verloop van tijd.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Lijkt me trouwens stug dat de software de boosdoener is. De software kan 24/7 onafgebroken data ontvangen en zal nooit stoppen omdat het meer of sneller data ontvangt dus daar moet je het niet zoeken. Als je het niet vertrouwt kan je ook een externe UART aansluiten via USB. DEnk dat het eerder de IC is die de pijp aan maarten geeft, wordt de IC niet warm?
Wel zal ik kijken of ik een routine in C++ kan schrijven die het inverten vervangt zodat de meter direct op de Rasp aangesloten kan worden. Het is geen rocket sience, denk dat ik daar veel mensen blij mee maakt. Maaar uhhhh er ligt nog 12 kuub zand voor de deur dus ik ga nog een uurtje kruien.
Zou zeker de IC kunnen zijn ware het niet dat ik er al 4 getest heb.Willie Wortel schreef op woensdag 3 juli 2019 @ 19:31:
@klump4u Ik begrijp dat je er moedeloos van wordt ā¦...maar je telegram niet eindigt met een !, Je telegram eindigt met een ! + hex getal. Het belangrijkste is dat je meter periodiek je telegram blijft versturen en het ontvangen niet na verloop van tijd stopt, dat is mij ook overkomen.
Lijkt me trouwens stug dat de software de boosdoener is. De software kan 24/7 onafgebroken data ontvangen en zal nooit stoppen omdat het meer of sneller data ontvangt dus daar moet je het niet zoeken. Als je het niet vertrouwt kan je ook een externe UART aansluiten via USB. DEnk dat het eerder de IC is die de pijp aan maarten geeft, wordt de IC niet warm?
Wel zal ik kijken of ik een routine in C++ kan schrijven die het inverten vervangt zodat de meter direct op de Rasp aangesloten kan worden. Het is geen rocket sience, denk dat ik daar veel mensen blij mee maakt. Maaar uhhhh er ligt nog 12 kuub zand voor de deur dus ik ga nog een uurtje kruien.
Het telegram eindigt met een regel die begint met een ! teken inderdaad maar bij mij krijg er weer enkele regels achteraan.
Het rare vindt ik dat hij het 1 of anderhalve dag doet en dan blijft de P1 loop error iedere 5 seconden lopen en komt er niks meer binnen, de rest zoal S0 of onewire loopt gewoon door. Ook de error data loopt dan snel op omdat er ieder 5 seconden een fout word weg geschreven.
Wat het is weet ik niet maar ik heb het op de Pi3B+ en op de Pi2.
Wat ga je maken met al dat zand?
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Sorry als ik er middenin springt (en de plank misslaat), maar '! + hex' is een valide telegram. In DSMR 4/5 staat er achter de '!' altijd 4 characters, welke een CRC16 is. In het laatste plaatje van @klump4u is het telegram correct, alleen lijkt het einde niet goed gedecteerd te zijn.Willie Wortel schreef op woensdag 3 juli 2019 @ 19:31:
@klump4u Ik begrijp dat je er moedeloos van wordt ā¦...maar je telegram niet eindigt met een !, Je telegram eindigt met een ! + hex getal. Het belangrijkste is dat je meter periodiek je telegram blijft versturen en het ontvangen niet na verloop van tijd stopt, dat is mij ook overkomen.
de data krijgt de software toch echt van de IC, als de data niet juist is wordt dit afgevangen door de fout afhandeling routine. Er is duidelijk iets wat niet goed samenwerkt tussen je slimme meter en de rest.klump4u schreef op woensdag 10 juli 2019 @ 07:07:
Vannacht weer de P1 in een loop, 6 dagen gelopen. Ik weet het niet meer.
Maar 6 dagen is al meer dan de 1 a 2 dagen die je eerder meldde.
Zelf heb ik een splitter gekocht om ook mijn test omgeving van signaal te voorzien. Zal als ik weer tijd heb er dieper in duiken. Maar is moeilijk want bij mij functioneert alles.
Een telegram opent met een slash / en eindigt met een !+hex En de software verzint niks, krijgt alles aangeboden van de IC.
Klump het zand had ik nodig om de tuin op te hogen, bij mij zakt de tuin zo een centimeter per jaar.
Straks bezig met een extra kamer om te toveren tot inloopkast en dat is veel timmerwerk. Gisteren een nieuw meranti kozijn geplaatst met 2 openslaande en 1 vast raam, en volgende week de shutters voor de ramen. Dan is het vrouwtje helemaal heppie de peppie.
Mijn telegram eindigt nooit op de !+ hex
Het zijn altijd enkele regels erna.
Er komt op een gegeven moment geen goed telegram binnen en dan geeft hij iedere 5 seconden de error P1 loop, lijkt me sterk dat het dan fout blijft gaan maar blijkbaar wel, doe ik een reboot dan is het weer goed
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
ik heb het bij mezelf getest en werkt naar behoren.
Getest met een 40106, 5v op de vrijgave zonder weerstand, 1k weerstand op de datadraad. Dus in totaal 1 weerstand. Ben benieuwd want het draait bij mij niet in mijn hoofd rasp.
[ Voor 4% gewijzigd door Willie Wortel op 10-07-2019 20:42 ]
Ga hem proberen, alvast bedankt.Willie Wortel schreef op woensdag 10 juli 2019 @ 13:24:
@klump4u ik heb voor jou een herschreven versie van de slimme meter uitlezen.
https://we.tl/t-qgnvtKT6c6
ik heb het bij mezelf getest en werkt naar behoren.
Getest met een 40106, 5v op de vrijgave zonder weerstand, 1k weerstand op de datadraad. Dus in totaal 1 weerstand. Ben benieuwd want het draait bij mij niet in mijn hoofd rasp.
edit
Telegram nog steeds hetzelfde.
Begint wel mooi bij de \, maar stopt niet bij de regel met de !+hex

[ Voor 20% gewijzigd door klump4u op 10-07-2019 19:38 ]
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Dat maakt niet uit, hij moet gewoon door blijven lopen zonder storing maar dat weet je nu nog niet.klump4u schreef op woensdag 10 juli 2019 @ 16:11:
[...]
Ga hem proberen, alvast bedankt.
edit
Telegram nog steeds hetzelfde.
Begint wel mooi bij de \, maar stopt niet bij de regel met de !+hex
[Afbeelding]
Kijk ook even of het uitmaakt als je de Delay naar 400 msec terugbrengt ipv 1000 omdat jou telegram elke seconde komt.
Welke Delay?Willie Wortel schreef op woensdag 10 juli 2019 @ 20:21:
[...]
Dat maakt niet uit, hij moet gewoon door blijven lopen zonder storing maar dat weet je nu nog niet.
Kijk ook even of het uitmaakt als je de Delay naar 400 msec terugbrengt ipv 1000 omdat jou telegram elke seconde komt.
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
| 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) 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 Task.Delay(1000).Wait() Catch ex As Exception DaL.exeptions.storeExeption("error in P1 loop", ex) Task.Delay(5000).Wait() End Try Loop End Sub |
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Maar dan leest hij iedere seconden een telegram toch?Willie Wortel schreef op woensdag 10 juli 2019 @ 20:41:
de 1000 veranderen in 400 of nog sneller 300
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Hij heeft 4 dagen en 8 uur gelopen zonder enige error in de log en dan houd hij op met de P1 uitlezen, ieder 5 seconden een error melding in de log, doe ik een reboot dan gaat hij gewoon weer verder met het uitlezen van de P1 en de rest.
Kan er in de P1port_SmartMeter.vb niet iets gezet worden dat als b.v. 10 keer achter elkaar een P1Error is de raspberry dan automatisch zichzelf reboot?
Ik test nog wel verder maar het is bijna vakantietijd en dan kan ik niet bij de Pi komen.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Zoek de volgende code in P1...ā¦.
schrijf : dim mustReset ā¦ā¦ BOVEN do while ā¦..
1
2
3
| Dim mustReset As Integer = 0 Do While True |
schrijf :
schrijf in de catch ā¦...
1
2
3
4
5
| Catch ex As Exception mustReset += 1 If mustReset = 10 Then Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1)) End If |
[ Voor 53% gewijzigd door Willie Wortel op 14-07-2019 18:56 ]
Ik neem aan in P1port_SmartMeter.vb?
1
2
3
4
5
6
7
8
9
10
11
| Dim dataReaderObject As DataReader = New DataReader(_serialDevice.InputStream) With { .InputStreamOptions = InputStreamOptions.None } Do While True Try Const BUFFER As Integer = 1024 Await dataReaderObject.LoadAsync(BUFFER).AsTask() If dataReaderObject.UnconsumedBufferLength > 0 Then |
Wordt dan:
1
2
3
4
5
6
7
8
9
10
11
12
13
| Dim dataReaderObject As DataReader = New DataReader(_serialDevice.InputStream) With { .InputStreamOptions = InputStreamOptions.None } Dim mustReset As Integer = 0 Do While True Try Const BUFFER As Integer = 1024 Await dataReaderObject.LoadAsync(BUFFER).AsTask() If dataReaderObject.UnconsumedBufferLength > 0 Then |
en
1
2
3
4
5
6
7
8
9
10
11
| End If Task.Delay(8600).Wait() Catch ex As Exception DaL.exeptions.storeExeption("error in P1 loop", ex) Task.Delay(5000).Wait() End Try Loop |
Wordt dan:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| End If Task.Delay(8600).Wait() Catch ex As Exception mustReset += 1 If mustReset = 10 Then Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1)) End If DaL.exeptions.storeExeption("error in P1 loop", ex) Task.Delay(5000).Wait() End Try Loop |
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Ik wil niet zeuren maar heb vanavond op de oude pi2 raspi stretch gezet en op de seriƫle poort een 40106 IC aangesloten, deze aan de slimme meter gehangen en in Putty uitgelezen, iedere seconden een mooi telegram met / aan het begin en de !+hex op het eind, hoe ziet jullie telegram eruit @Willie Wortel en @jmeinders ?
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Omnik 3.0 15 Eging panelen 195wp
Zo hoort hij dus te zijn, die van mij geeft dus altijd enkele regels extra, wat heb jij bij de prefix en Postfix in de optionspagina bij het gas?
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
prefix = S)(klump4u schreef op zondag 14 juli 2019 @ 22:00:
[...]
Zo hoort hij dus te zijn, die van mij geeft dus altijd enkele regels extra, wat heb jij bij de prefix en Postfix in de optionspagina bij het gas?
Postfix = *m3)
Alleen als het weer wintertijd wordt moet ik hem handmatig op W)( zetten
Omnik 3.0 15 Eging panelen 195wp
Dat heb ik ook bij pre en post.jmeinders schreef op zondag 14 juli 2019 @ 22:19:
[...]
prefix = S)(
Postfix = *m3)
Alleen als het weer wintertijd wordt moet ik hem handmatig op W)( zetten
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
het veranderen in seizoenen gebeurd automatisch, de variabele was niet ingegeven welke veranderd moet worden. Is aangepast. Zelf heb ik geen gas.
1
2
3
4
5
6
7
| 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 |
[ Voor 4% gewijzigd door Willie Wortel op 15-07-2019 09:59 ]

Iedere seconden een andere !+hex
verschillende IC's ook al geprobeerd.
edit,
Delay terug naar 10000 gezet, code aangepast met de reboot optie van enkele post hierboven.
[ Voor 15% gewijzigd door klump4u op 15-07-2019 10:24 ]
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Er is nog een andere oplossing: bij het niet meer ontvangen van een goed signaal (daar gaan we vanuit) de gehele serial routine software matig de vuilnisbak in en alles opnieuw initialiseren/inlezen. Dat heb ik nu geschreven maar moet nu weg en kan het niet testen. Kom hier op terug.
Ik wacht het af, heb nog geen reset gehad dus weet ook niet of dat werkt.Willie Wortel schreef op dinsdag 16 juli 2019 @ 08:01:
@klump4u voorop gesteld dat dit een lokaal probleem is, ā¦. de reset is natuurlijk geen oplossing, dan had je net zo goed een Netduino kunnen houden.![]()
Er is nog een andere oplossing: bij het niet meer ontvangen van een goed signaal (daar gaan we vanuit) de gehele serial routine software matig de vuilnisbak in en alles opnieuw initialiseren/inlezen. Dat heb ik nu geschreven maar moet nu weg en kan het niet testen. Kom hier op terug.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Vanmorgen een P1 loop, ik zie in de error log 11 meldingen en daarna heeft hij zichzelf gereset en loopt nu weer vrolijk. Heb ik die stress tenminste niet als ik op vakantie ben
[ Voor 17% gewijzigd door klump4u op 17-07-2019 13:34 ]
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Dan moet dit stukje code zijn werk doen. (ter inzage)
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
| Private Async Function initSerialDevice() As Task If _serialDevice IsNot Nothing Then _serialDevice.Dispose() End If If dataReaderObject IsNot Nothing Then dataReaderObject.Dispose() End If Dim aqs As String = SerialDevice.GetDeviceSelector() Dim allCOMMdevices As DeviceInformationCollection = Await DeviceInformation.FindAllAsync(aqs) Try Dim s As Integer = DaL.P1config.commPort.Split(" ")(1) _serialDevice = Await SerialDevice.FromIdAsync(allCOMMdevices(s).Id) Catch ex As Exception Dim errTxt As String = "Er zit een fout in selectie communicatie port" appendToFile("Errors", "Startup ", errTxt & vbCrLf & ex.Message & vbCrLf & ex.StackTrace).Wait() DaL.exeptions.storeExeption(errTxt, ex) Exit Function End Try For t As Integer = 0 To allCOMMdevices.Count - 1 Debug.WriteLine(t & " - " & allCOMMdevices(t).Id) Next _serialDevice.ReadTimeout = TimeSpan.FromMilliseconds(1000) _serialDevice.BaudRate = DaL.P1config.Baudrate _serialDevice.Parity = DirectCast(DaL.P1config.parity, SerialParity) _serialDevice.StopBits = DirectCast(DaL.P1config.stopBits, SerialStopBitCount) _serialDevice.DataBits = CUShort(DaL.P1config.dataBits) _serialDevice.Handshake = SerialHandshake.None dataReaderObject = New DataReader(_serialDevice.InputStream) With { .InputStreamOptions = InputStreamOptions.None } End Function |
Laat je de reset erin of niet, ben tot dinsdag nog thuis.Willie Wortel schreef op donderdag 18 juli 2019 @ 07:28:
@klump4u wanneer ga je op vakantie? Want als je nog genoeg tijd hebt kan jij de nieuwe code testen, ten slotte gaat het programma bij jou in de stress. Dan zet ik het voor je online.
Dan moet dit stukje code zijn werk doen. (ter inzage)
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 Private Async Function initSerialDevice() As Task If _serialDevice IsNot Nothing Then _serialDevice.Dispose() End If If dataReaderObject IsNot Nothing Then dataReaderObject.Dispose() End If Dim aqs As String = SerialDevice.GetDeviceSelector() Dim allCOMMdevices As DeviceInformationCollection = Await DeviceInformation.FindAllAsync(aqs) Try Dim s As Integer = DaL.P1config.commPort.Split(" ")(1) _serialDevice = Await SerialDevice.FromIdAsync(allCOMMdevices(s).Id) Catch ex As Exception Dim errTxt As String = "Er zit een fout in selectie communicatie port" appendToFile("Errors", "Startup ", errTxt & vbCrLf & ex.Message & vbCrLf & ex.StackTrace).Wait() DaL.exeptions.storeExeption(errTxt, ex) Exit Function End Try For t As Integer = 0 To allCOMMdevices.Count - 1 Debug.WriteLine(t & " - " & allCOMMdevices(t).Id) Next _serialDevice.ReadTimeout = TimeSpan.FromMilliseconds(1000) _serialDevice.BaudRate = DaL.P1config.Baudrate _serialDevice.Parity = DirectCast(DaL.P1config.parity, SerialParity) _serialDevice.StopBits = DirectCast(DaL.P1config.stopBits, SerialStopBitCount) _serialDevice.DataBits = CUShort(DaL.P1config.dataBits) _serialDevice.Handshake = SerialHandshake.None dataReaderObject = New DataReader(_serialDevice.InputStream) With { .InputStreamOptions = InputStreamOptions.None } End Function
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
https://we.tl/t-qI6yXdHQLh
hier een stukje van de code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Catch ex As Exception 'we hebben een fout ontdekt, we verhogen de mustReset met 1 en bij 10 rebooten we mustReset += 1 If mustReset = 10 Then DaL.exeptions.storeExeption("error in P1 loop, we gaan rebooten", ex) Task.Delay(2000).Wait() Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1)) End If 'er is een fout ontdekt, we gaan kijken of opnieuw initialiseren soelaas biedt, zo niet dan rebooten na 10 pogingen Task.Delay(2000).Wait() DaL.exeptions.storeExeption("error in P1 loop, we gaan de SerialDevice opnieuw initialiseren", ex) initSerialDevice().Wait() Task.Delay(2000).Wait() End Try |
Ik heb niet kunnen testen!
Ik heb hem erop gezet, hou je op de hoogte.Willie Wortel schreef op donderdag 18 juli 2019 @ 18:47:
@klump4u Ik heb het zo geschreven dat eerst tot 10 pogingen gedaan wordt om de serial device nieuw leven in te blazen en anders reboot. Kijk of het werkt en anders terug naar je huidige versie.
https://we.tl/t-qI6yXdHQLh
hier een stukje van de code:
Visual Basic:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Catch ex As Exception 'we hebben een fout ontdekt, we verhogen de mustReset met 1 en bij 10 rebooten we mustReset += 1 If mustReset = 10 Then DaL.exeptions.storeExeption("error in P1 loop, we gaan rebooten", ex) Task.Delay(2000).Wait() Windows.System.ShutdownManager.BeginShutdown(Windows.System.ShutdownKind.Restart, TimeSpan.FromSeconds(1)) End If 'er is een fout ontdekt, we gaan kijken of opnieuw initialiseren soelaas biedt, zo niet dan rebooten na 10 pogingen Task.Delay(2000).Wait() DaL.exeptions.storeExeption("error in P1 loop, we gaan de SerialDevice opnieuw initialiseren", ex) initSerialDevice().Wait() Task.Delay(2000).Wait() End Try
Ik heb niet kunnen testen!
Wordt er wel telkens al er iets gebeurt naar de ERROR log geschreven?
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
bij reboot:
DaL.exeptions.storeExeption("error in P1 loop, we gaan rebooten", ex)
bij init:
DaL.exeptions.storeExeption("error in P1 loop, we gaan de SerialDevice opnieuw initialiseren", ex)
Hij doet nu niks bij een P1 loop.
De Pi loopt gewoon door, als ook DAL, er is geen reboot geweest maar de P1 wordt niet meer uitgelezen.
Er is maar een error melding in de log op de SD.
1
2
3
4
5
| DateTime: Sunday, 21 Jul 2019 - 22:58:33 Detail: error in P1 loop, we gaan de SerialDevice opnieuw initialiseren Message: No mapping for the Unicode character exists in the target multi-byte code page. No mapping for the Unicode character exists in the target multi-byte code page. Stack: at Windows.Storage.Streams.DataReader.ReadString(UInt32 codeUnitCount) at StartupDaL.ReadSerialP1poort.VB$StateMachine_6_readOutP1port.MoveNext() Type: System.ArgumentOutOfRangeException |
Laatste telegram is van 12 seconden voor de foutmelding
1
2
3
| Command Now on: 7/22/2019 4:50:06 PM LastTimeReceivedTelegram: 7/21/2019 10:58:21 PM |
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Waarom deze storing plaatsvind weet ik niet maar is bij jou begonnen toen er een nieuwe meter werd geĆÆnstalleerd. Software matig zijn de oplossingen uitgeput.
Tja is jammer, ik zet de vorige P1 met de software reboot erop en kijk na de vakantie wel verder wat ik ermee ga doen, bedankt voor het mee denken.Willie Wortel schreef op maandag 22 juli 2019 @ 20:39:
@klump4u Je IC geeft niet meer de juiste data door aan je communicatie port. Je IC geeft zoals dat heet non-valid tekens door die niet leesbaar zijn, de tekens die doorgegeven worden komen niet voor in de uni-char tabel.
Waarom deze storing plaatsvind weet ik niet maar is bij jou begonnen toen er een nieuwe meter werd geĆÆnstalleerd. Software matig zijn de oplossingen uitgeput.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
De satelite raspberry werk dat ook nog voor de P1 poort? Ik krijg het niet voor elkaar.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Die optie stamt nog uit de tijd van de Netduino en is nooit meer wat mee gedaan. Zal eens kijken of het nog werkt.klump4u schreef op maandag 19 augustus 2019 @ 17:43:
@Willie Wortel
De satelite raspberry werk dat ook nog voor de P1 poort? Ik krijg het niet voor elkaar.
Is misschien handig om de P1 apart te loggen op een Pi maar wel de data te hebben op de andere ivm de LCDWillie 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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.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
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
[ Voor 75% gewijzigd door Willie Wortel op 25-08-2019 10:04 ]
Mijn meter was een een-fase Kamstrup 162JxC met DSMR versie 2.2 van Enexis
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½

pullUp van 3.3v
En het mysterie waarom ik geen data kreeg was omdat de baudrate verkeerd stond.
[ Voor 42% gewijzigd door Willie Wortel op 26-08-2019 10:41 ]
En wat is hier het voordeel van?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.
Werkt het bij jou?
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
tuurlijk werkt het bij mij. Heb het een dag laten draaien.klump4u schreef op maandag 26 augustus 2019 @ 12:43:
[...]
En wat is hier het voordeel van?
Werkt het bij jou?
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.
[ Voor 4% gewijzigd door Willie Wortel op 29-08-2019 08:47 ]
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?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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Moet dit in de sourcecode komen?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.
Ik heb een Pi3B besteld, kijken wat dat doet i.pv. een Pi2 en Pi3B+ wat ik al heb.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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 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.
Laatste poging, heb nu een raspberry pi 3b geĆÆnstalleerd.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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
en hoe heb je hem aangesloten, dat maakt eel veel uit in deze?klump4u schreef op donderdag 3 oktober 2019 @ 18:55:
[...]
Laatste poging, heb nu een raspberry pi 3b geĆÆnstalleerd.
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.
[ Voor 40% gewijzigd door Willie Wortel op 04-10-2019 09:41 ]
Zo: https://tweakers.net/ext/f/PcsGuLz87mhybwimil7WqzjU/full.jpgWillie 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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.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.
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.

[ Voor 46% gewijzigd door Willie Wortel op 06-10-2019 10:01 ]
Omnik 3.0 15 Eging panelen 195wp
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Ja al 4 jaar, maar ook al zonder splitter getest en geen verschil.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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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 schreef op zondag 6 oktober 2019 @ 18:51:
[...]
Ja al 4 jaar, maar ook al zonder splitter getest en geen verschil.
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.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.
Dat moet dan toch werken lijkt mij.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.
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!
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.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?
Dan zul je al een S0 meter erbij moeten plaatsen om het werkelijke verbruik overdag te zien.
[ Voor 5% gewijzigd door klump4u op 13-12-2019 12:46 ]
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Dus je hebt een S0 voor de zonnepanelen en de andere voor de totaal stroom verbruik?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.
Hoe heb je die andere aangesloten?
Heb je een link naar pvoutput?
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
.
"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ā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?
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.
[ Voor 8% gewijzigd door klump4u op 14-12-2019 17:01 ]
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Hier:
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
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 |
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.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.
Kijk hier maar eens:
https://nl.aliexpress.com...ce_asc&page=1&groupsort=1
https://www.banggood.com/...=6157240&cur_warehouse=CN
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Omnik 3.0 15 Eging panelen 195wp

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.

[ Voor 14% gewijzigd door klump4u op 12-01-2020 17:37 ]
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
Maar dat is raar, je gebruikt dus een USB device om de data te ontvangen?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]
Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!
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.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?
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½
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
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.
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.
18950Wpš, Atlantic 270V3š§, Pana 5Jš„. Zendure 2400AC 11,5kWhš,Hyundai Kona 64kWh š, Peblar Home ā½

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:


[ Voor 30% gewijzigd door Willie Wortel op 31-01-2020 11:37 ]

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).
[ Voor 137% gewijzigd door Willie Wortel op 23-02-2020 10:47 ]
Installatie ging goed, had wel eerst tx en rx verkeerd aangesloten deze omgewisseld en werkt in een keer. UART 1 adres PZEM 1 (niet gewijzigd)

Hoe weet ik welke UART je in dalng moet selecteren? Bij mij ging UART 1 gelijk goed. Met commando ip:poort/uart is niet te zien welk UART de usb ttl zit.

Ik zag in now ook alarm bij PZEM staan, is het zo dat je een bepaalde waarde kunt instellen wattage of ampĆØre?
PinOnWrite bij PZEM heb ik d6 ingevoerd maar mijn led werkt niet, is dit nog niet geactiveerd?
Voor de rest werkt alles prima.
Omnik 3.0 15 Eging panelen 195wp
Met het command UART(s) komen alle aangesloten zichtbare UARTS in je webbrowser. Alleen bij jou komt de data achter elkaar te staan (waarom de HTML code van je webbrowser bij jou niet werkt,...weet ik veel). Nu zie je 2 uarts en als je heel goed kijkt zijn deze genummerd.jmeinders schreef op zaterdag 29 februari 2020 @ 20:50:
@Willie Wortel PZEM op mijn raspberry voeding aangesloten, Leuk om te zien wat het verbruik is.
Installatie ging goed, had wel eerst tx en rx verkeerd aangesloten deze omgewisseld en werkt in een keer. UART 1 adres PZEM 1 (niet gewijzigd)
[Afbeelding]
Hoe weet ik welke UART je in dalng moet selecteren? Bij mij ging UART 1 gelijk goed. Met commando ip:poort/uart is niet te zien welk UART de usb ttl zit.
[Afbeelding]
Ik zag in now ook alarm bij PZEM staan, is het zo dat je een bepaalde waarde kunt instellen wattage of ampĆØre?
PinOnWrite bij PZEM heb ik d6 ingevoerd maar mijn led werkt niet, is dit nog niet geactiveerd?
Voor de rest werkt alles prima.
Kijk maar eens, deze is UART 0 (de interne Rasp UART)

Je USB UART:

Als jij een beter systeem weet zeg het maar, dan programmeer ik dat erin.
---
Met het commando [IP]/SetPowerAlarmPZEM: CommPort : SlaveAddress : WATTS
kan je het commando PowerAlarm instellen. Wat het power alarm doet weet ik niet. Wil je dit anders laat het weten.
Met het commando [ip:port]HELP worden alle commando's zichtbaar.
---
De PinOnWrite was er idd niet ingeprogrammeerd. Nu wel.
zoek in bestand PZEM004T.vb (in MAP PZEM)

en zoek en verander onderstaand.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
| If TimeFilter(TimerFilter) AndAlso CompareBuilderResult(ComparisonFilter) Then SyncLock DaL.PZEMserialDevice(CommPort) WritePin(PinOnWrite, True) 'deze toevoegen UpdateValues() Task.Delay(50).Wait() 'deze toevoegen millisecs LED on WritePin(PinOnWrite, False) 'deze toevoegen End SyncLock End If |
---
In de wiki staat alles beschreven, Ook hoe je de TX en RX moet wisselen.