Evohome / Evotouch Wireless protocol?

Pop your questions regarding Home automation Domotica hardware here.....
Post Reply
mouse256
Starting Member
Starting Member
Posts: 7
Joined: Fri Feb 10, 2012 10:20 pm

Re: Evohome / Evotouch Wireless protocol?

Post by mouse256 »

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!
colintd
Starting Member
Starting Member
Posts: 12
Joined: Wed Apr 10, 2013 9:05 am

Re: Evohome / Evotouch Wireless protocol?

Post by colintd »

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.
Giuseppe
Starting Member
Starting Member
Posts: 10
Joined: Tue May 22, 2012 11:31 pm

Re: Evohome / Evotouch Wireless protocol?

Post by Giuseppe »

Smart idea, i am interested in hardware modification and software.
How to contact?
User avatar
Rene
Global Moderator
Global Moderator
Posts: 1689
Joined: Wed Oct 08, 2008 3:54 pm
Location: Netherlands

Re: Evohome / Evotouch Wireless protocol?

Post by Rene »

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

Does it only provide monitoring capabilities or also control?
Rene.
colintd
Starting Member
Starting Member
Posts: 12
Joined: Wed Apr 10, 2013 9:05 am

Re: Evohome / Evotouch Wireless protocol?

Post by colintd »

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.
Just RS232
Just RS232
RS232.jpg (68.94 KiB) Viewed 24491 times
[
RS232 + power
RS232 + power
rs232+power.jpg (76.75 KiB) Viewed 24491 times
attachment=0]connector.jpg[/attachment]
Case mod
Case mod
case.jpg (60.33 KiB) Viewed 24491 times
Attachments
Connector on FTDI cable
Connector on FTDI cable
connector.jpg (55.27 KiB) Viewed 24491 times
colintd
Starting Member
Starting Member
Posts: 12
Joined: Wed Apr 10, 2013 9:05 am

Re: Evohome / Evotouch Wireless protocol?

Post by colintd »

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 764 times
cmdecode.pdf
Program (rename as .exe)
(177.5 KiB) Downloaded 782 times
r_255
Advanced Member
Advanced Member
Posts: 621
Joined: Wed Jun 11, 2008 9:39 pm
Location: Netherlands

Re: Evohome / Evotouch Wireless protocol?

Post by r_255 »

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.
colintd
Starting Member
Starting Member
Posts: 12
Joined: Wed Apr 10, 2013 9:05 am

Re: Evohome / Evotouch Wireless protocol?

Post by colintd »

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.
Bwired
Administrator
Administrator
Posts: 4704
Joined: Sat Mar 25, 2006 1:07 am
Location: Netherlands
Contact:

Re: Evohome / Evotouch Wireless protocol?

Post by Bwired »

You can now...
kimstone
Starting Member
Starting Member
Posts: 5
Joined: Mon Apr 22, 2013 9:55 pm

Re: Evohome / Evotouch Wireless protocol?

Post by kimstone »

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
colintd
Starting Member
Starting Member
Posts: 12
Joined: Wed Apr 10, 2013 9:05 am

Re: Evohome / Evotouch Wireless protocol?

Post by colintd »

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.
kimstone
Starting Member
Starting Member
Posts: 5
Joined: Mon Apr 22, 2013 9:55 pm

Re: Evohome / Evotouch Wireless protocol?

Post by kimstone »

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: Mon Apr 22, 2013 9:55 pm

Re: Evohome / Evotouch Wireless protocol?

Post by kimstone »

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: Mon Apr 22, 2013 9:55 pm

Re: Evohome / Evotouch Wireless protocol?

Post by kimstone »

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
colintd
Starting Member
Starting Member
Posts: 12
Joined: Wed Apr 10, 2013 9:05 am

Re: Evohome / Evotouch Wireless protocol?

Post by colintd »

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.
Post Reply

Return to “Questions & Discussions Forum”