Evohome / Evotouch Wireless protocol?

Pop your questions regarding Home automation Domotica hardware here.....

Re: Evohome / Evotouch Wireless protocol?

Postby mouse256 » Thu Mar 28, 2013 12:08 pm

I did not know about the HGS80.
The HGI80 is rather new. As far as I know it's supported by at least 2 devices: The somfy tahoma box (although it's not on their site) and the electrabel smart thermostat (https://www.electrabel.be/nl/particulie ... thermostat -- Belgian energy supplier)

The tahoma box is what honeywell promotes itself. I've seen it on "batibouw" (a belgian construction event) on the honeywell exhibition.

But be warned, for the HGI80 to work you need firmware 2.3!
mouse256
Starting Member
Starting Member
 
Posts: 7
Joined: February 2012

Re: Evohome / Evotouch Wireless protocol?

Postby colintd » Wed Apr 10, 2013 8:32 am

I don't know if anyone is interested, but I've found that it is easy to enhance an HC60NG boiler controller to add an optoisolated RS232 port which allows you to monitor all the received CMzone/Evohome traffic. I've got this running as both a standalone USB powered sniffer (using a spare HC60NG I had from my multizone CM67z system) and as live monitoring of the HC60NG controlling my boiler.

I've produced some initial software to survey all the devices and to provide a system summary, which proved very useful in tracking down a problem where my boiler was constantly firing (it turned out one rad had a virtually closed balance valve from when I decorated, so it never heated properly and that HR80 was always calling for heat).

Sample output from my 3xCM67z, 6xzone system attached.

System State : Tue 09/04/13 23:08:43
------------------------------------
A_Zones:
Zone 1: Flags=00 Min=5.00C Max=21.00C Now=xx.xxC Next=xx.xxC When=0
A_Zones, Set=18.00C Temp=20.31C Demand=xxx
SitRm_F, Set=13.00C Temp=17.61C Demand=000
SitRm_B, Set=18.00C Temp=18.17C Demand=000

Zone 2: Flags=00 Min=5.00C Max=21.00C Now=16.50C Next=10.00C When=66
DwnRm_1, Set=16.50C Temp=17.07C Demand=010
DwnRm_2, Set=16.50C Temp=16.94C Demand=010
DwnRm_3, Set=16.50C Temp=16.76C Demand=014
DwnRm_4, Set=16.50C Temp=17.01C Demand=042

B_Zones:
Zone 1: Flags=00 Min=5.00C Max=21.00C Now=17.00C Next=14.00C When=58
Hall_W, Set=17.00C Temp=16.82C Demand=028
Hall_C, Set=16.00C Temp=15.85C Demand=008
Hall_S, Set=5.00C Temp=16.46C Demand=000
Land_W, Set=16.50C Temp=16.52C Demand=026
Land_C, Set=16.00C Temp=16.88C Demand=002

Zone 2: Flags=00 Min=5.00C Max=21.00C Now=16.00C Next=14.00C When=58
Office, Set=16.00C Temp=18.60C Demand=000

C_Zones:
Zone 1: Flags=00 Min=5.00C Max=30.00C Now=14.50C Next=16.00C When=4
M_Bed_F, Set=16.00C Temp=16.03C Demand=038
M_Bed_B, Set=16.00C Temp=17.37C Demand=000

Zone 2: Flags=00 Min=5.00C Max=30.00C Now=15.00C Next=15.50C When=94
B_Bed__, Set=15.00C Temp=17.01C Demand=000
S_BedRm, Set=14.00C Temp=15.73C Demand=000
S_BedSh, Set=16.00C Temp=16.21C Demand=008
DressRm, Set=15.00C Temp=17.37C Demand=000

Total demand = 186

Unbound:

If anyone is interested in the hardware modification or the software please let me know.

Cheers,

Colin.
colintd
Starting Member
Starting Member
 
Posts: 12
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby Giuseppe » Thu Apr 11, 2013 9:53 pm

Smart idea, i am interested in hardware modification and software.
How to contact?
Giuseppe
Starting Member
Starting Member
 
Posts: 10
Joined: May 2012

Re: Evohome / Evotouch Wireless protocol?

Postby Rene » Fri Apr 12, 2013 6:56 am

Can you post the information, cause I think a lot of people are interested?

Does it only provide monitoring capabilities or also control?
Rene.
User avatar
Rene
Global Moderator
Global Moderator
 
Posts: 1689
Joined: October 2008
Location: Netherlands

Re: Evohome / Evotouch Wireless protocol?

Postby colintd » Tue Apr 16, 2013 4:38 pm

My modification for the HC60NG allows monitoring of the received signals, but no control, as the RF device is an Infineon TDA5210 which is receive only.

The TDA5210 has an RF front end (including a wide range automatic gain control circuit) and ASK/FSK demodulator. The two output signals going to the microcontroller are the data signal and the RSSI (receive signal strength indicator, generated from the AGC). As far as I can see the latter is only used when testing signal strength, with the Manchester encoding being used to differentiate between valid messages and the noise that you see in between valid messages (pinning the RSSI low doesn’t stop message receipt).

The key thing to note when trying to interface the data signal to a PC is the unit power supply. The unit is fed via the classic capacitor/resistor current limiter + bridge rectifier, followed by a 24V zener shunt regulator (for the relay power supply) and an LM317 adjustable regulator for the RF/microcontroller stage.

THIS IS A NON-ISOLATING PSU, AND THE USE OF THE BRIDGE RECTIFIER MEANS THE “GND” OF THE LOGIC CIRCUIT IS AT LINE VOLTAGE. EXTREME CARE IS REQUIRED!

Having said that, all is not lost.

At the top of the PCB are two headers, one 5x2 the other 6x1. The 6x1 header has two ground pins, VCC, the data signal via a 1K resistor and the relay/led signals. This is perfect for driving a sensitive optocoupler. With a typical 1V drop in the led, the 1K resistor gives us a max current of about 3mA. On the RS232 side, the simplest solution is to use a device with logic / totem-pole output and a voltage range sufficient for the extremes of the RS232 level (in theory +/-15V so 30V total, but +/-7V so 15V total is quite typical for most PCs). We can then leech power off the DTR/RTS signal for one rail and Tx for the other rail, with the logic output stage then switching between the two.

Several optocouplers could work, but the TLP558 fits the bill perfectly, having a 1.6mA threshold, sufficient voltage range, operation fast enough for the 38K4 data rate and importantly inverting operation (RS232 using –ve for a 1, so to ensure the data ends up the correct polarity we need an inverting optocoupler).

For size reasons I selected a 3.5mm stereo jack for the physical interface to the monitoring RS232 port, with Data at the tip, RTS (could have been DTR is I wanted) on the ring as the positive supply, and Tx on the body as the negative supply. As my laptop has no physical RS232 port I used on of the wire ended USB-RS232 ports from FTDI http://www.ftdichip.com/Support/Documen ... CABLES.pdf .

I fitted the jack at the side of the case, epoxied the optocoupler to the gap between the jack and the PCB, and made the connections using fine insulated wire I had to hand. In the photos, on the PCB side, green is signal, black gnd. On the jack side, red is RTS/ring, black Tx/body and green Rx/tip.

IT IS CRITICAL THAT WIRING IS TIDY AND CLEARANCE MAINTAINED ACROSS THE OPTOCOUPLER TO AVOID EXCITING APPLICATION OF MAINS TO YOUR PC!

The above is the modification as required for monitoring a live HC60NG, but if you have a spare unit then you can also arrange for standalone operation with power taken off the RS232 port. For this you need to solder a couple of extra wires from the RS232 side to the internal side of the bridge rectifier. With the FTDI cable this gives just enough power to bring the unit online and with the FTDI cable effectively gives a USB power CMzone sniffer.

Note, the power connection defeats the Optocoupler isolation, so must _never_ be used with an HC60NG connected to the mains.

Photos of the mods attached.

Colin.

RS232.jpg
Just RS232
RS232.jpg (68.94 KiB) Viewed 19402 times
[
rs232+power.jpg
RS232 + power
rs232+power.jpg (76.75 KiB) Viewed 19402 times
attachment=0]connector.jpg[/attachment]
case.jpg
Case mod
case.jpg (60.33 KiB) Viewed 19402 times
Attachments
connector.jpg
Connector on FTDI cable
connector.jpg (55.27 KiB) Viewed 19402 times
colintd
Starting Member
Starting Member
 
Posts: 12
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby colintd » Tue Apr 16, 2013 4:55 pm

In terms of software, I have put together a basic program which decodes / validates the data stream and then for a CmZone system learns the system setup, and displays overall system status approximately every 5mins. The system config is dumped to a data file, and the name of each unit can be customizes to match your system. You can also lock the system config to deal with spurious signals (I occassionally pick up a neighbours CM67z).

While the core decode should also work for an EvoTouch system, I suspect there might be issues with zone numbers. If anyone is interested I'd be happy to work with them on enhancing the core support.

The program is written in C and currently complied for Win32. I have deliberately excluded any serial port setup (this sits in a batch job) to make the code easy to port to Linux or other OSes.

For now I am just attaching the script and program, but once I've done a bit of tidying up I'll probably post the source also.

Colin.

Example Output, with a . for each msg received

................................................................................
................................................................................
.......

System State : Tue 16/04/13 16:45:17
------------------------------------
A_Zones:
Zone 1: Now=xx.xxC Next=xx.xxC When=0 [Flags=00 Min=5.00C Max=21.00C ]
A_Zones, Set=Off Temp=19.71C Demand=xxx
SitRm_F, Set=5.00C Temp=17.99C Demand=000
SitRm_B, Set=5.00C Temp=17.80C Demand=000

Zone 2: Now=Off Next=Off When=297 [Flags=00 Min=5.00C Max=21.00C ]
Kitchen, Set=5.00C Temp=17.49C Demand=000
Utility, Set=5.00C Temp=17.92C Demand=000
Study__, Set=5.00C Temp=17.25C Demand=000
Play_Rm, Set=5.00C Temp=17.92C Demand=000

B_Zones:
Zone 1: Now=Off Next=Off When=292 [Flags=00 Min=5.00C Max=21.00C ]
Hall_W, Set=5.00C Temp=17.43C Demand=000
Hall_C, Set=5.00C Temp=20.57C Demand=000
Hall_S, Set=5.00C Temp=17.07C Demand=000
Land_W, Set=5.00C Temp=17.37C Demand=000
Land_C, Set=5.00C Temp=17.61C Demand=000

Zone 2: Now=Off Next=Off When=292 [Flags=00 Min=5.00C Max=21.00C ]
Office, Set=19.00C Temp=19.16C Demand=056

C_Zones:
Zone 1: Now=Off Next=Off When=68 [Flags=00 Min=5.00C Max=30.00C ]
M_Bed_F, Set=5.00C Temp=16.76C Demand=000
M_Bed_B, Set=5.00C Temp=16.64C Demand=000

Zone 2: Now=Off Next=Off When=128 [Flags=00 Min=5.00C Max=30.00C ]
B_Bed__, Set=5.00C Temp=17.61C Demand=000
S_BedRm, Set=5.00C Temp=17.19C Demand=000
S_BedSh, Set=5.00C Temp=17.19C Demand=000
DressRm, Set=5.00C Temp=18.23C Demand=000

Total demand = 56

Unbound:

Example system data file, produced after 10min of running

CM67Z A_Zones 332EC0
HR80 SitRm_F 112BD4 1
HR80 SitRm_B 112BD3 1
HR80 Kitchen 119935 2
HR80 Utility 1199D5 2
HR80 Study__ 112BD5 2
HR80 Play_Rm 1249B7 2
CM67Z B_Zones 334687
HR80 Hall_W 1199CB 1
HR80 Hall_C 1199D3 1
HR80 Hall_S 1199D4 1
HR80 Land_W 112BD9 1
HR80 Land_C 128900 1
HR80 Office 1199C7 2
CM67Z C_Zones 3362F2
HR80 M_Bed_F 128910 1
HR80 M_Bed_B 128906 1
HR80 B_Bed__ 112BED 2
HR80 S_BedRm 128907 2
HR80 S_BedSh 128901 2
HR80 DressRm 128911 2
LOCKED

cmsniff.pdf
Script (rename .cmd)
(65 Bytes) Downloaded 427 times
cmdecode.pdf
Program (rename as .exe)
(177.5 KiB) Downloaded 475 times
colintd
Starting Member
Starting Member
 
Posts: 12
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby r_255 » Thu Apr 18, 2013 8:24 am

Thanks a lot for sharing, I think its done in a very creative and clever way... !
If you see anything that is wrong in the protocol documented here in the topic ( see the .pdf ) please report back.
r_255
Advanced Member
Advanced Member
 
Posts: 621
Joined: June 2008
Location: Netherlands

Re: Evohome / Evotouch Wireless protocol?

Postby colintd » Sun Apr 21, 2013 11:23 pm

Fyi, as a recent joiner to the forum I don't currently have PM rights. So if anyone contacts me directly (you know who you are :-), could you please include an email address for yourself in your PM? I'll then reply directly with my own details.

Many thanks,

Colin.
colintd
Starting Member
Starting Member
 
Posts: 12
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby Bwired » Mon Apr 22, 2013 7:25 am

You can now...
User avatar
Bwired
Administrator
Administrator
 
Posts: 5309
Joined: March 2006
Location: Netherlands

Re: Evohome / Evotouch Wireless protocol?

Postby kimstone » Mon Apr 22, 2013 10:34 pm

Colin
Excellent work, can I have clarify a two points. Which version of the FTDI cable did you use the link talks about different versions i.e. 3.3 vs 5 volt etc? If you run the stand alone version with power taken from the RS232 port is the opto isolator still required if so could you post the circuit?

Thanks Kim
kimstone
Starting Member
Starting Member
 
Posts: 5
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby colintd » Wed Apr 24, 2013 9:02 am

I originally used the 5V version (USB-RS232-WE-1800-BT_5.0 http://www.ftdichip.com/Products/Cables/USBRS232.htm ), with the auxillary 5V supply providing power for the optocoupler, but then twigged that the RS232 levels were sufficient, so I swapped to taking power from RTS/Tx. With this change any of the FTDI cables giving true RS232 levels should suffice, or in fact any proper RS232 port on a PC, etc.

When using the RS232 port to power the whole receiver, the optocoupler isn't required for isolation, but you do still need an inverter as the HC60NG uses TTL levels which as the opposite sense to RS232 level. I did try using a version of the FTDI cable which gives TTL rather than RS232 signal levels, but it turned out that direct application of 5V to the receiver circuitry didn't work (I suspect the regulator misbehaved when there is power on the output but not the input) and the voltage drop in the regulator means that application of 5V to the regulator input doesn't work either. So overall it is better to stick with RS232 levels and use an inverter, optocoupler or otherwise.

In terms of the "circuit" the photos say it all:

* RTS or DTR provide your positive supply
* Tx provides the negative supply
* If using the recommended optocoupler, +ve goes to pins 7 & 8 (+ve & enable), -ve to pin 5 (Gnd) and Rx to pin 6 (output)
* On the "internal" side, pin 2 of the optocoupler connects to the signal on the PCB (see green wire), pin 3 to the PCB ground (see black wire)
* If using leech power for the receiver (i.e. standalone) add the two extra wires shown from +ve & -ve to the inside of the bridge rectifier.

Hope that helps, but happy to answer any questions.

Colin.
colintd
Starting Member
Starting Member
 
Posts: 12
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby kimstone » Wed Apr 24, 2013 2:07 pm

Colin
Thanks for that, I understand the RS232 level thing for the power. I was assuming that the RX data on the HC60 would be ttl level and therefore wouldn't drive the 232 FTDI cable correctly.
For the software how does it pick up the description of the HR80's Dinning room etc? Do you have to edit the source? I'm in the UK any idea where to pick up the opto coupler?
kimstone
Starting Member
Starting Member
 
Posts: 5
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby kimstone » Wed Apr 24, 2013 2:14 pm

P.S Forgot to add I'm looking at a BDR91 relay box which is a later version of the HC60, It allegedly can transmit and receive possiblities for control....
kimstone
Starting Member
Starting Member
 
Posts: 5
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby kimstone » Thu Apr 25, 2013 1:07 am

Forget the part about the TTL HC60 signal driving the 232 cable, the opto isolator takes care of that. I'm on a Mac any idea when you will post the source? Thanks
kimstone
Starting Member
Starting Member
 
Posts: 5
Joined: April 2013

Re: Evohome / Evotouch Wireless protocol?

Postby colintd » Fri Apr 26, 2013 11:57 pm

The descriptive text comes from the system data file. Initially it is written with numeric names, but you can edit to meaningful values and these are used at the next program start.
colintd
Starting Member
Starting Member
 
Posts: 12
Joined: April 2013

PreviousNext

Return to Questions & Discussions Forum

Who is online

Users browsing this forum: No registered users and 1 guest