Sida 1 av 1

HAN port, serielldataproblem

Postat: 2 januari 2023, 19:35:26
av sommarlov
Då har jag äntligen fått nya elmätaren med HAN/P1 port, och vattenfall har äntligen öppnat upp den (tog dem bara 2 månader).
Jag använder koppling + kod från Pär Svanström (https://github.com/psvanstrom/esphome-p1reader)
Bild

Problemet jag har nu är att datat från elmätaren kommer... nästan fram till min ESP8266, typ första 4-5 mätvärdena kommer fin-fint, men sen blir det tvärstopp och resten av datat försvinner ngnstans och jag kan inte läsa färdigt meddelandet.

Mon 19:14:00.47,DEBUG,Raw (20 bytes): /AUX5<vet inte resten här är "privat">
Mon 19:14:00.50,DEBUG,Raw (1 bytes):
Mon 19:14:00.53,DEBUG,Raw (57 bytes): 0-0:96.1.0(<ngt id här, gissar mitt anläggningsid>)
Mon 19:14:00.57,DEBUG,Raw (25 bytes): 0-01.0.0(230102191400W) <- notera ngt konstigt tecken istället för ett kolon som det ska vara
Mon 19:14:00.57,DEBUG,Raw (26 bytes): 1-0:1.8.0(003331.936*kWh)
Mon 19:14:01.58,DEBUG,Raw (17 bytes): 1-0:2.8.0(0000810 <- här avbryts datat.

Jag kör SoftwareSerial (115200 8N1 enl spec), har satt 128 bytes som buffer för den. Iom att ovan data är det jag nästan får varje gång undrar jag om det är buffringsproblem på ngt sätt. Summerar man antalet lästa bytes ovan (det som står inom parantes) så blir det 146 vilket är hyffsat nära 128 ;-)
Ökar jag bufferten för SoftwareSerial så går det att läsa mer data innan det dör.
Jag tycker att jag läser så snabbt jag kan från Serial objektet, och jag använder samma kod som psvanstrom ovan som bevisligen fungerar.

Under tiden jag läser från elmätaren är det det enda jag gör, har inga interrupts som jag själv startat. Wifikoppling är igång.

Ser ni vad jag gör fel? Tips på felsökning?

Re: HAN port, serielldataproblem

Postat: 2 januari 2023, 19:53:52
av Wirewrap
Jag hade motvarande problem i Tasmota. Data kommer i en klump var 10 sek, sen är det tyst. Prova att dra upp läsbufferten till att rymma hela meddelandet.
Att du tappar på slutet tyder på buffertproblem.

Varför kör du software serial?

Re: HAN port, serielldataproblem

Postat: 2 januari 2023, 20:14:23
av sommarlov
Wirewrap skrev: 2 januari 2023, 19:53:52 Jag hade motvarande problem i Tasmota. Data kommer i en klump var 10 sek, sen är det tyst. Prova att dra upp läsbufferten till att rymma hela meddelandet.
Att du tappar på slutet tyder på buffertproblem.
Testat att dra upp bufferstorlek, ungefär vid 800 bytes så vägrar esp:n boota. Fortfarande för liten buffert tyvärr.
Wirewrap skrev: 2 januari 2023, 19:53:52 Varför kör du software serial?
För att vara ärlig, jag har alltid i skallen tänkt att Serial TX/RX är för debugging så jag har aldrig använt dem för ngt annat. Men det är nog dags att titta om de löser mitt problem.
Tack för tipset.

Re: HAN port, serielldataproblem

Postat: 2 januari 2023, 20:44:59
av Mickecarlsson
Byt till denna: https://github.com/UdoK/esp8266_p1meter_sv.
Ur README.MD:
”This causes the used SoftwareSerial to struggle to keep up and thus only receives corrupted messages. This fork switches to using the main Hardware serial port (RX) for communication with the meter.”

Re: HAN port, serielldataproblem

Postat: 2 januari 2023, 21:06:15
av sommarlov
Tack. Jag har redan ändrat min krets och har kodat om mitt program. Nu får jag alla paket (visuellt) rätt, ska bara få till de sista buggarna. Jag är på G!! ;-)

Re: HAN port, serielldataproblem

Postat: 3 januari 2023, 10:49:54
av sommarlov
Telegram read. CRC: D8D0 = D8D0. Ok = YES

Snurrar på nu. Tack för hjälpen @wirewrap