Hello all
It has been some time since I have been playing with HA but I have once again strugling with an idea.
I have a heat meter: Rossweiner Heat PLUS. I have also built IR communication board on the base of Wemos D1 mini (as described here IR Remote - Tasmota to be exact N2222 option). I have checked it out and it seems to be working well - can read and send raw data.
Basicaly this heat meter comes under lot of brands like Qundis heat 5, Ivar HMR-D (not sure of version ivar has couple of these) or just no name Heat Plus meter.
The idea is to get any data once, a day about amount of used heat. Using M-bus protocol via InfraRed
I have been studying :
https://tasmota.github.io/docs/Tasmota-IR/
https://tasmota.github.io/docs/IRSend-RAW-Encoding/
https://www.diehl.com/cms/files/254374-FR-EN-RAY_RADIO_CommunicationDescription_v04_EN.pdf?download=1
https://assets.danfoss.com/documents/DOC266551583039/DOC266551583039.pdf
So it is almost sure that parameters should be :
Scan frequency 0.5 Hz, wake-up signal 0x00
9600 bauds
8 data bits
Even parity
1 stop bit
…… and at this point I have realized I bit off more than I can chew. Probably because I have some gaps in knowledge of how devices are communicating.
What i can see in console if don`t do anything is
20:36:48 MQT: tele/tasmota_F5B57A/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":3,"Hash":"0x22AE7A29","Repeat":0,"RawData":[80,19758,78,34872,80],"RawDataInfo":[5,5,0]}}
20:37:38 MQT: tele/tasmota_F5B57A/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":3,"Hash":"0xFEAC02E5","Repeat":0,"RawData":[84,1162,172,406,116],"RawDataInfo":[5,5,0]}}
20:38:12 MQT: tele/tasmota_F5B57A/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":5,"Hash":"0x66EB4AB8","Repeat":0,"RawData":[238,36524,140,29184,322,29950,74,502,124],"RawDataInfo":[9,9,0]}}
20:39:20 MQT: tele/tasmota_F5B57A/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":3,"Hash":"0xFCABFFBF","Repeat":0,"RawData":[80,450,156,4308,120],"RawDataInfo":[5,5,0]}}
20:39:22 MQT: tele/tasmota_F5B57A/RESULT = {"IrReceived":{"Protocol":"UNKNOWN","Bits":3,"Hash":"0x4AB0F7B5","Repeat":0,"RawData":[74,42908,56,23478,90],"RawDataInfo":[5,5,0]}}
On one had it is surprising that energy efficient device like this is sanding so much data, and on the other it is good since according to this post Request: Send / Receive RAW IR data for any UNKNOWN device · Issue #2116 · arendst/Tasmota · GitHub
“correct JSON message would return two equal numbers followed by a 0“.
So what I got together for wake up is :
IRSend raw,
9600, -(Hz) frequency referring to 9600 bauds in binary communication
8600,header mark duration
4260, header space duration
544,bit mark duration
411,zero space duration (µs)
1496, one space
^ basically I did copied these from tasmota docs
and according to linked DIEHL documentation:
01010101 - sync bit could not find any info about how it should work but since it is for setting up contrast i concluded that it shoud be flashing
11111111 - BOF pretty much same as above I asumed that it should be all ones
00000000 - long field low byte
11111111 - same as above but high
00000000 - same as above but low
11111111 - same as above but high
1110000 - C field
And when sending:
IRSend raw,9600,8600,4260,544,411,1496,0101010111111111000000001111111100000000111111111110000
And after sending this only thing that has changed is that I am receiving data more often. Before the first try it was once every 5-10 min now it is sending data a few times per minute.
I am aware that it should be also app layer of this protocol wich may be not accesible but I have seen integration for wired m-bus so I hope it will be accesible.
I would be grateful for any tip.