Tämä projekti on ollut jo hetken aikaa käynnissä ja nyt olen juossut seinään niin, että apu olisi tarpeen.
Tavoitteena on kerätä dataa Jäspin EcoWatti kattilasta ja tähän suunnittelin käyttää relekortissa olevia portteja, jotka on tarkoitettu huoneyksikön kytkentään. Pinnien järjestys on tiedossa ja näilläkin forumeilla on liikkunut dokumentaatiota kyseisen kattilan modbus rekistereistä. Kyseessä on kuitenkin 09 version relekortti, jossa ei modbussia ole ja tarkempi tarkastelu osoitti, että muutkaan dokumentaation speksit eivät sovi tähän relekorttiin.
Kortissa on kuitenkin RS-485 sarjaportti pinneillä 51-54, jotka sain selvitettyä seuraavasti:
51 =GND
52 = RS485/B
53 = RS485/A
54 =+5DC
Tuo sarjaportti on samassa väylässä itse kattilassa olevan ohjaimen kanssa.
Dokumentaation mukaisesti lähdin ensin kokeilemaan suoraan väylään kiinni speksin asetuksilla ja katsomaan miltä modbus data näyttää. Vastauksena sain pelkkää hepreaa ja totesin ettei speksissä olevat väylän asetukset voi pitää paikkaansa eikä data muutenkaan noudata modbus protokollaa.
Tämän jälkeen löin kiinni logiikka-analysaattorin ja nyt olen vahvasti sitä mieltä, että homma toimii 115200 8N1 asetuksilla (olen kuitenkin avoin myös eriäville mielipiteille).
Otin dataa ulos laitteen ollessa "koskemattomana" (capture) ja tilanteesta, jossa avasin ohjauspaneelista lämpötilojen infon näkyville (capture3).
Laitteen "idlatessa", uskoisin pelkästään relekortin lähettävän jonkinlaista pingpongia väylälle ja jonkun statuksen:
Ohjausyksikön näyttäessä inffoa, ilmestyy väylälle myös 07 alkuisia viestejä, joten uskon noiden olevan ohjausyksikön lähettämiä requesteja relekortille, johon tulee mielestäni myös response.
Huomioita mitä olen tehnyt:
Requesteissa on aina samat 4 ensimmäistä byteä = jonkinlainen header?
Requestin 5 byte on juokseva, mutta jotain hypätään yli
Requestin 6 byte on aina AA, jonkinlainen erotin tai lukukomento?
Requestin 7 byte on aina juokseva 01-09, mutta jotain hypätään yli
Responsen 6 ensimmäistä byteä ovat aina samat
Responsen 7 byte on aina sama kuin requestin 5 byte
Responsen bytet 8-9 ovat aina 81 AA
Responsen bytet 10-12 vaihtuvat, saattavat olla dataa tai CRC?
Ohjausyksikön inffossa näkyi seuraavat lämpötilat kun data on kerätty:
T01: 23
T02: 13
T03: --
T04: 47
T05: 88
T06: 24
T07: --
T08: 86
T09: 59
T10: 20
Protokolla ei kuitenkaan sen enempää aukea enkä oikein saa mätsättyä näitä infossa näkyneisiin lämpötiloihin.
Löytyykö foorumilta ketään aiheeseen perehtynyttä?
Kiinnostavia kysymyksiä:
- Onko olettama 115200 8n1 mielestänne oikein?
- Tunnistaako joku protokollan?
- Miten tuo paketti jakautuu, näkeekö joku logiikkaa id, command, crc tjmsp?
Laitoin tänne Logic2 capturet, tekstiversiot ja parsitut tiedot, jotka mielestäni edustavat "request response" pareja:
Tavoitteena on kerätä dataa Jäspin EcoWatti kattilasta ja tähän suunnittelin käyttää relekortissa olevia portteja, jotka on tarkoitettu huoneyksikön kytkentään. Pinnien järjestys on tiedossa ja näilläkin forumeilla on liikkunut dokumentaatiota kyseisen kattilan modbus rekistereistä. Kyseessä on kuitenkin 09 version relekortti, jossa ei modbussia ole ja tarkempi tarkastelu osoitti, että muutkaan dokumentaation speksit eivät sovi tähän relekorttiin.
Kortissa on kuitenkin RS-485 sarjaportti pinneillä 51-54, jotka sain selvitettyä seuraavasti:
51 =GND
52 = RS485/B
53 = RS485/A
54 =+5DC
Tuo sarjaportti on samassa väylässä itse kattilassa olevan ohjaimen kanssa.
Dokumentaation mukaisesti lähdin ensin kokeilemaan suoraan väylään kiinni speksin asetuksilla ja katsomaan miltä modbus data näyttää. Vastauksena sain pelkkää hepreaa ja totesin ettei speksissä olevat väylän asetukset voi pitää paikkaansa eikä data muutenkaan noudata modbus protokollaa.
Tämän jälkeen löin kiinni logiikka-analysaattorin ja nyt olen vahvasti sitä mieltä, että homma toimii 115200 8N1 asetuksilla (olen kuitenkin avoin myös eriäville mielipiteille).
Otin dataa ulos laitteen ollessa "koskemattomana" (capture) ja tilanteesta, jossa avasin ohjauspaneelista lämpötilojen infon näkyville (capture3).
Laitteen "idlatessa", uskoisin pelkästään relekortin lähettävän jonkinlaista pingpongia väylälle ja jonkun statuksen:
Koodi:
2021-05-25T05:19:57.038605 A3 FD
2021-05-25T05:19:57.039344 00
2021-05-25T05:19:57.039951 A3 24 09 A2 80 04 83 18 01 00 08 FF
2021-05-25T05:19:57.054151 A3 FD
2021-05-25T05:19:57.054892 00
2021-05-25T05:19:57.100784 A3 FD
2021-05-25T05:19:57.101527 00
2021-05-25T05:19:57.162962 A3 FD
2021-05-25T05:19:57.163702 00
2021-05-25T05:19:57.225138 A3 FD
2021-05-25T05:19:57.225878 00
2021-05-25T05:19:57.287315 A3 FD
2021-05-25T05:19:57.288054 00
2021-05-25T05:19:57.349493 A3 FD
2021-05-25T05:19:57.350235 00
2021-05-25T05:19:57.411669 A3 FD
2021-05-25T05:19:57.412407 00
2021-05-25T05:19:57.473849 A3 FD
2021-05-25T05:19:57.474591 00
2021-05-25T05:19:57.536025 A3 FD
2021-05-25T05:19:57.536764 00
2021-05-25T05:19:57.537370 A3 24 09 A2 80 04 83 10 01 00 08 BB
2021-05-25T05:19:57.551570 A3 FD
2021-05-25T05:19:57.552313 00
Koodi:
2021-05-26T05:27:41.475221 A3 FD
2021-05-26T05:27:41.476051 00
2021-05-26T05:27:41.547727 A3 FD
2021-05-26T05:27:41.548452 07 A2 81 81 68 AA 04 00
2021-05-26T05:27:41.596947 A3 FD
2021-05-26T05:27:41.597668 00
2021-05-26T05:27:41.598231 A3 24 09 A2 80 83 68 81 AA 8E 03 6E
2021-05-26T05:27:41.599577 A3 FD
2021-05-26T05:27:41.600422 00
2021-05-26T05:27:41.672082 A3 FD
2021-05-26T05:27:41.672808 07 A2 81 81 69 AA 05 66
2021-05-26T05:27:41.673858 A3 24 09 A2 80 04 83 98 00 00 08 2B
2021-05-26T05:27:41.675972 A3 FD
2021-05-26T05:27:41.676702 00
2021-05-26T05:27:41.677308 A3 24 09 A2 80 83 69 81 AA F3 00 F0
2021-05-26T05:27:41.678559 A3 FD
2021-05-26T05:27:41.679396 00
2021-05-26T05:27:41.734260 A3 FD
2021-05-26T05:27:41.734979 07 A2 81 81 6A AA 06 CC
2021-05-26T05:27:41.783478 A3 FD
2021-05-26T05:27:41.784215 00
2021-05-26T05:27:41.784780 A3 24 09 A2 80 83 6A 81 AA FF 7F 50
2021-05-26T05:27:41.786109 A3 FD
2021-05-26T05:27:41.786961 00
Requesteissa on aina samat 4 ensimmäistä byteä = jonkinlainen header?
Requestin 5 byte on juokseva, mutta jotain hypätään yli
Requestin 6 byte on aina AA, jonkinlainen erotin tai lukukomento?
Requestin 7 byte on aina juokseva 01-09, mutta jotain hypätään yli
Responsen 6 ensimmäistä byteä ovat aina samat
Responsen 7 byte on aina sama kuin requestin 5 byte
Responsen bytet 8-9 ovat aina 81 AA
Responsen bytet 10-12 vaihtuvat, saattavat olla dataa tai CRC?
Ohjausyksikön inffossa näkyi seuraavat lämpötilat kun data on kerätty:
T01: 23
T02: 13
T03: --
T04: 47
T05: 88
T06: 24
T07: --
T08: 86
T09: 59
T10: 20
Protokolla ei kuitenkaan sen enempää aukea enkä oikein saa mätsättyä näitä infossa näkyneisiin lämpötiloihin.
Löytyykö foorumilta ketään aiheeseen perehtynyttä?
Kiinnostavia kysymyksiä:
- Onko olettama 115200 8n1 mielestänne oikein?
- Tunnistaako joku protokollan?
- Miten tuo paketti jakautuu, näkeekö joku logiikkaa id, command, crc tjmsp?
Laitoin tänne Logic2 capturet, tekstiversiot ja parsitut tiedot, jotka mielestäni edustavat "request response" pareja:
EcoWatti – Google Drive
drive.google.com
Viimeksi muokattu: