Remeha Calenta interface for Homeseer
Re: Remeha Calenta interface for Homeseer
Guess I was lucky then, cause after figuring out what a packet was made of and finding the xml info, I wrote my code without (being able to) test; and it all worked instantly once I connected to my Calenta again. All I really needed was a 1 sample of each function code and the response. For what? To dissect it into the obvious parts.
And Recom can also support all models, so why can't it be done. And I'm sure, when you ask Avanta owners to send you some captured data so that a Plugin can be made, you'll get it. So that won't be the problem either.
I think, it's more likely that not finding out where the payload starts and ends is the problem, so you end up with peeking at a certain offset from the start of the packet. Don't do that.
I am quite certain that the Quinta status can be found in payload byte 33. If not, I am totally wrong
Oh btw, this doesn't mean I'm going to make such a Plugin
And Recom can also support all models, so why can't it be done. And I'm sure, when you ask Avanta owners to send you some captured data so that a Plugin can be made, you'll get it. So that won't be the problem either.
I think, it's more likely that not finding out where the payload starts and ends is the problem, so you end up with peeking at a certain offset from the start of the packet. Don't do that.
I am quite certain that the Quinta status can be found in payload byte 33. If not, I am totally wrong
Oh btw, this doesn't mean I'm going to make such a Plugin
Re: Remeha Calenta interface for Homeseer
I agree with Robert that this can be done with a little help from others, the real problem i think is in the hardware. For the Calenta it is easy,
for the other models i am not sure, unless you have the official Remeha cable.
Robert, for the plugin: I didn't expect you to do
for the other models i am not sure, unless you have the official Remeha cable.
Robert, for the plugin: I didn't expect you to do
-
- Member
- Posts: 123
- Joined: Sun Nov 21, 2010 9:53 pm
Re: Remeha Calenta interface for Homeseer
OK... After I did the Avanta I ordered the Quinta interface and started writing the code based on what I already knew from the Avanta and the Quinta xml file. It got me started but for it to work you need more. Sure others can help with the data, but I have seen many differences between Avanta and Quinta.
Avanta: One message to get all data, startbyte, endbyte, length, checksum, 5 discrete messages to get error codes, reset code = 2 messages, send command bytes are always found in received data, 9600 baud.
Quinta: three messages to get all data, no startbyte - lengthbyte - endbyte, different or no checksum, 7 discrete messages to get error codes, reset code = 3 messages, send command bytes are found in monitoring data messages but not so in error messages, 4800 baud.
Error codes, reset codes are not described in the xml file.
Anyways, my intent wasn't hostile, I just meant to say that it is going to be hard to deliver a working plugin without the actual hardware. I guess the newer the Remeha, the easier it gets. Many similarties between Calenta and Avanta, but not so with Quinta.
And as for the payload being in byte 33... depend on how you think of byte 33. Quinta needs three messages to get three replies. You don't get all data in one reply. The xml file just keeps on increasing the byte number but in realtime byte 33 may very well be byte 6 in the 3rd message.
Below are the Quinta codes: no byte 33 there;) And as you can see, Quinta has way less values to output than Avanta does and even moreso the Calenta. I especially like the Calenta's Waterpressure and 'Tapdebiet'.. Avanta doesn't have those.
Byte 0 is actually byte 5 in the 13 byte message
- 1e Message -> Send: 0640AE000804 - Receive: 0D 00 AE 00 3D 24 DB 04 DB 00 00 3C EE
Byte 0 Min =-30 Max =120 Aanvoer Temp
Byte 1 Min =-30 Max =120 Retour Temp
Byte 2 Min =-30 Max =120 Boiler
Byte 3 Min =-30 Max =120 Buiten Temp
Byte 4 Min =-30 Max =120 Rookgas
Byte 5 Min =0 Max =6000 Toeren (7.500.000 / HexValue = RPM)
Byte 7 Min =0 Max =100 Setpunt
- 2e Message -> Send: 0640AE0808FC - Receive: 0D 00 AE 08 00 F2 BB 20 00 00 00 00 70
Byte 0 Min =0 Max =1 Bit 0 Boilervraag 0 = Nee, 1 = Ja
Byte 0 Min =0 Max =1 Bit 2 LDS 0 = Open, 1 = Dicht
Byte 0 Min =0 Max =1 Bit 3 Warmtevraag 0 = Nee, 1 = Ja
Byte 0 Min =0 Max =1 Bit 6 Min Gasdruk 0 = Uit, 1 = In
Byte 0 Min =0 Max =1 Bit 7 Ionisatie 0 = Ja, 1 = Nee
Byte 1 Min =0 Max =1 Bit 0 Gasklep 0 = Open, 1 = Dicht
Byte 1 Min =0 Max =1 Bit 2 Driewegklep 0 = Uit, 1 = In
Byte 1 Min =0 Max =1 Bit 6 Pomp 0 = Uit, 1 = Aan
Byte 2 Min =0 Max =6000 Bereik Toerental
- 3e Message -> Send: 0640AE1008F4 - Receive: 0D 00 AE 10 00 00 23 14 82 14 82 04 E2
Byte 0 Min =1 Max =100 Pomp Vermogen
Avanta: One message to get all data, startbyte, endbyte, length, checksum, 5 discrete messages to get error codes, reset code = 2 messages, send command bytes are always found in received data, 9600 baud.
Quinta: three messages to get all data, no startbyte - lengthbyte - endbyte, different or no checksum, 7 discrete messages to get error codes, reset code = 3 messages, send command bytes are found in monitoring data messages but not so in error messages, 4800 baud.
Error codes, reset codes are not described in the xml file.
Anyways, my intent wasn't hostile, I just meant to say that it is going to be hard to deliver a working plugin without the actual hardware. I guess the newer the Remeha, the easier it gets. Many similarties between Calenta and Avanta, but not so with Quinta.
And as for the payload being in byte 33... depend on how you think of byte 33. Quinta needs three messages to get three replies. You don't get all data in one reply. The xml file just keeps on increasing the byte number but in realtime byte 33 may very well be byte 6 in the 3rd message.
Below are the Quinta codes: no byte 33 there;) And as you can see, Quinta has way less values to output than Avanta does and even moreso the Calenta. I especially like the Calenta's Waterpressure and 'Tapdebiet'.. Avanta doesn't have those.
Byte 0 is actually byte 5 in the 13 byte message
- 1e Message -> Send: 0640AE000804 - Receive: 0D 00 AE 00 3D 24 DB 04 DB 00 00 3C EE
Byte 0 Min =-30 Max =120 Aanvoer Temp
Byte 1 Min =-30 Max =120 Retour Temp
Byte 2 Min =-30 Max =120 Boiler
Byte 3 Min =-30 Max =120 Buiten Temp
Byte 4 Min =-30 Max =120 Rookgas
Byte 5 Min =0 Max =6000 Toeren (7.500.000 / HexValue = RPM)
Byte 7 Min =0 Max =100 Setpunt
- 2e Message -> Send: 0640AE0808FC - Receive: 0D 00 AE 08 00 F2 BB 20 00 00 00 00 70
Byte 0 Min =0 Max =1 Bit 0 Boilervraag 0 = Nee, 1 = Ja
Byte 0 Min =0 Max =1 Bit 2 LDS 0 = Open, 1 = Dicht
Byte 0 Min =0 Max =1 Bit 3 Warmtevraag 0 = Nee, 1 = Ja
Byte 0 Min =0 Max =1 Bit 6 Min Gasdruk 0 = Uit, 1 = In
Byte 0 Min =0 Max =1 Bit 7 Ionisatie 0 = Ja, 1 = Nee
Byte 1 Min =0 Max =1 Bit 0 Gasklep 0 = Open, 1 = Dicht
Byte 1 Min =0 Max =1 Bit 2 Driewegklep 0 = Uit, 1 = In
Byte 1 Min =0 Max =1 Bit 6 Pomp 0 = Uit, 1 = Aan
Byte 2 Min =0 Max =6000 Bereik Toerental
- 3e Message -> Send: 0640AE1008F4 - Receive: 0D 00 AE 10 00 00 23 14 82 14 82 04 E2
Byte 0 Min =1 Max =100 Pomp Vermogen
Last edited by richard naninck on Sun Jan 09, 2011 1:35 pm, edited 1 time in total.
-
- Member
- Posts: 88
- Joined: Wed Oct 27, 2010 8:36 pm
Re: Remeha Calenta interface for Homeseer
At this moment I have allmost completed my calenta php script. At this moment I am monitoring which other received values within the known bytes I have to decode in the script. As soon as I believe it is complete I will post those values and messages...
For now I am looking for de byte positions of the 'teller' data, because I would also like to log these one time every day...
I am looking at Robert, because he has already implemented these in his website...
Regards,
Peter
For now I am looking for de byte positions of the 'teller' data, because I would also like to log these one time every day...
I am looking at Robert, because he has already implemented these in his website...
Regards,
Peter
___________________________________________________________________
iEase Home Control
iEase Home Control
Re: Remeha Calenta interface for Homeseer
As I rembember, the teller "uren onder spanning" is somewhere in function byte 8. Just read the XML for details on this.
Re: Remeha Calenta interface for Homeseer
For the Avanta i have test it, it's the same cable.the real problem i think is in the hardware. For the Calenta it is easy,
for the other models i am not sure, unless you have the official Remeha cable.
At this moment i have build a small SMD TTL - RS232 cable that i have connect to a old RS232 to LAN converter that do the job for me.
Now for me the difficult task of getting the script working for the avanta_p1...
__________________
Re: Remeha Calenta interface for Homeseer
Right, byte 8 is involved: Actually it's ((256*byte8 )+byte9)*2.As I rembember, the teller "uren onder spanning" is somewhere in function byte 8.
Re: Remeha Calenta interface for Homeseer
Hi Richard,
So byte 5 is what I would call payload byte 0. The payload is what it's all about so I start counting there.
I picked a random Quinta XML (v2p2) and there I see:
Here it says that byte 0 is named 202 (Aanvoer), the Unit is 312 (degC). This can't be a coincidence.
So I am still under the impression that those XML files are there for a reason and are used to map the data somehow.
The only "problem" is, we don't know exactly how (byte 33 for status...). Maybe by concatenating the packets? I don't know.
Can't you open a port on your Internet connection to it?
I just wanted to see how different it all is. I won't take this any furtherByte 0 is actually byte 5 in the 13 byte message
- 1e Message -> Send: 0640AE000804 - Receive: 0D 00 AE 00 3D 24 DB 04 DB 00 00 3C EE
Byte 0 Min =-30 Max =120 Aanvoer Temp
Byte 1 Min =-30 Max =120 Retour Temp
Byte 2 Min =-30 Max =120 Boiler
Byte 3 Min =-30 Max =120 Buiten Temp
Byte 4 Min =-30 Max =120 Rookgas
Byte 5 Min =0 Max =6000 Toeren (7.500.000 / HexValue = RPM)
Byte 7 Min =0 Max =100 Setpunt
So byte 5 is what I would call payload byte 0. The payload is what it's all about so I start counting there.
I picked a random Quinta XML (v2p2) and there I see:
Code: Select all
<config type="field" group="1">
<present name.nr="202" description.nr="202" unit.nr="312" />
<function byte="0" expression="sgn(A)" format="0" />
<limits min="-30" max="120" />
</config>
So I am still under the impression that those XML files are there for a reason and are used to map the data somehow.
The only "problem" is, we don't know exactly how (byte 33 for status...). Maybe by concatenating the packets? I don't know.
Can't you open a port on your Internet connection to it?
-
- Member
- Posts: 123
- Joined: Sun Nov 21, 2010 9:53 pm
Re: Remeha Calenta interface for Homeseer
OK, last post about this one (just for fun of course)..
In the Avanta and Calenta you can start counting from the Payload (byte 0) because all data is in one message. The Quinta has three messages to provide all data. 8 bytes per message. When the xml file talks about byte 9, that is actually byte zero again from the second message. I am sure you get all that, but the point was that it is going to be hard to write a plugin when you don't have that info. The xml file is not talking about how many messages the info is contained in etc.
Btw: I use an old version of the Recom software since the xml files made more sense to me. I got the newest version on a USB stick when I bought the Quinta interface but the newer xml files are much bigger and set up different.
It took me a while to figure out how the actual ventilator RPM's were retieved. XML didn't provide that info as well or I may have missed it..
In the Avanta and Calenta you can start counting from the Payload (byte 0) because all data is in one message. The Quinta has three messages to provide all data. 8 bytes per message. When the xml file talks about byte 9, that is actually byte zero again from the second message. I am sure you get all that, but the point was that it is going to be hard to write a plugin when you don't have that info. The xml file is not talking about how many messages the info is contained in etc.
Btw: I use an old version of the Recom software since the xml files made more sense to me. I got the newest version on a USB stick when I bought the Quinta interface but the newer xml files are much bigger and set up different.
It took me a while to figure out how the actual ventilator RPM's were retieved. XML didn't provide that info as well or I may have missed it..
Re: Remeha Calenta interface for Homeseer
And my last one
The counter data is scattered over 5 packets in the Calenta; 5 x 16 bytes. In my code I send 5 commands to the Calenta:
These commands are queued; the next one will be sent when the response for the last sent command has arrived.
And there where the response is parsed I do (this is for a value in the 2nd set of 16 bytes in a counter response):
As you see, in fact I have to do "function byte mapping" myself too: the -16 you see twice. Another method would have been to wait for all responses and concatenate the payloads to 1 payload of 80 bytes, then I wouldn't have to do the mapping at all. The point is, this way the XML can be used. Maybe this can help you.
The counter data is scattered over 5 packets in the Calenta; 5 x 16 bytes. In my code I send 5 commands to the Calenta:
Code: Select all
procedure TCalenta.Counter;
begin
SendCommand(00, $010B);
SendCommand(00, $101C);
SendCommand(00, $101D);
SendCommand(00, $101E);
SendCommand(00, $101F);
end;
And there where the response is parsed I do (this is for a value in the 2nd set of 16 bytes in a counter response):
Code: Select all
// 2nd counter response, bytes 16..31 which means that Payload[0] = byte 16
// <config type="field" group="3">
// <present name.nr="1769" description.nr="1769" /> Total burner starts CHDHW
// <function byte="16" expression="(A.1 + B.0) x 8" format="0" />
// </config>
Pin(BURNSTARTS).AsInteger := ((Payload[16-16]*256)+Payload[17-16]) * 8;
Re: Remeha Calenta interface for Homeseer
Hi,
At this moment i'm trying to getting it working.
When i use a sniffer i see that the request form recom is
Now i have use this request as follow in the script from menno:
But when i snif the port data i see this request:
And is not really the code i want to send, what do i wrong?
Grtz,
At this moment i'm trying to getting it working.
When i use a sniffer i see that the request form recom is
Code: Select all
Request:
02 52 05 06 02 00 53 03
Code: Select all
hs.SendToComPort (2, CHR(02) & CHR(52) & CHR(05) & CHR(06) & CHR(02) & CHR(00) & CHR(53) & CHR(03))
Code: Select all
Request:
02 34 05 06 02 00 35 03
Grtz,
__________________
-
- Member
- Posts: 123
- Joined: Sun Nov 21, 2010 9:53 pm
Re: Remeha Calenta interface for Homeseer
CHR(52) = Hex 34. Your conversion is wrong.
Re: Remeha Calenta interface for Homeseer
The request for data must be:
hs.SendToComPort (5, CHR(02) & CHR(254) & CHR(01) & CHR(05) & CHR(08) & CHR(02) & CHR(01) & CHR(105) & CHR(171) & CHR(03))
You are also mixing up with decimal and hex conversion.
hs.SendToComPort (5, CHR(02) & CHR(254) & CHR(01) & CHR(05) & CHR(08) & CHR(02) & CHR(01) & CHR(105) & CHR(171) & CHR(03))
You are also mixing up with decimal and hex conversion.
Re: Remeha Calenta interface for Homeseer
Is it possible that there are more options?
Because in the mean time i have found with a ascii/hex table the next combination:
hs.SendToComPort (2, CHR(02) & CHR(82) & CHR(05) & CHR(06) & CHR(02) & CHR(00) & CHR(83) & CHR(03))
what give me in the sniffer the same result
Because in the mean time i have found with a ascii/hex table the next combination:
hs.SendToComPort (2, CHR(02) & CHR(82) & CHR(05) & CHR(06) & CHR(02) & CHR(00) & CHR(83) & CHR(03))
what give me in the sniffer the same result
__________________
Re: Remeha Calenta interface for Homeseer
What combination does Recom send to the boiler when you hit the "Actuele waarden" button?
You can view this with your sniffer.
You can view this with your sniffer.