Evohome / Evotouch Wireless protocol?

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

Re: Evohome / Evotouch Wireless protocol?

Postby inode » Tue Dec 10, 2019 12:26 pm

@DanD thank you, it was exactly what i need.

I hope the process for Y87 is the same, I will do some test when I receive the hardware.

Thank you
inode
Starting Member
Starting Member
 
Posts: 2
Joined: December 2019

Re: Evohome / Evotouch Wireless protocol?

Postby aelorenzo » Tue Jan 28, 2020 11:37 pm

HI have the @Colintd evohome implementation in a CUL,

colintd wrote:This code is now checked into the trunk of the culfw project, with the default makefile building the support into the CUL_V3_ZWAVE image file.


and I am receiving the packets. How can I decode them? I have been reading the evohome protocol wiki and the trancoder.c file from evofw2 for nanocul. Is it possible to implement the same decoding for the culfw?

Here I have an example of the messages I am sniffing, are these messages correct?

Thanks!

23:11:28.729 -> vr18107CA0056B5512B003030000
23:11:31.940 -> vr18107CA0056B5512B003030000
23:11:45.548 -> vr18107CA0056B55230903030834
23:12:01.916 -> vr18056B55056B551F0903FF07A8
23:12:01.916 -> vr18056B55056B5523090C0008340108340205DC030834
23:12:01.949 -> vr18056B55056B5530C90C00085101085202079203083B
23:12:11.101 -> vr18056B55056B55000802FC00
23:12:29.161 -> vr188974418974413120070070B0000000FF
23:13:05.206 -> vr1889744189744130C903000852
23:13:56.481 -> vr18107CA4107CA430C903000AB0
23:14:16.573 -> vr18107CA4056B553150020130
23:15:19.665 -> vr18056B55056B551F0903FF07A8
23:15:19.665 -> vr18056B55056B5523090C0008340108340205DC030834
23:15:19.665 -> vr18056B55056B5530C90C0008510108520207A503083B
23:16:18.903 -> vr18119C20056B55230903030834
aelorenzo
Starting Member
Starting Member
 
Posts: 5
Joined: January 2020

Re: Evohome / Evotouch Wireless protocol?

Postby tinky_doy » Wed Jan 29, 2020 10:36 pm

inode wrote:Hello everybody,

I was planning to create a little RPi interface with cheap remote temperature sensors (Xiaomi Aqara Smart Home Temperature & Humidity Sensor Thermometer) and send these data to the Honeywell devices via 868Mhz.

The idea is emulate a Y87/T87 honeywell thermostats, unfurtonatly I don't have one of them (they are not cheap!), can anyone provide me a trace of the communication between the Y87/T87 and the Evotouch controller?

I just bought the hardware and will arrive in some days, in the mean time I would like to get more info as possible.

The best should be:

-sniff of the binding process of the Y87 with the Evotouch
-sniff of communicaiton between Y87 and evotouch during normal operations

Thank you in advance.


Did you make any progress on your attempts? I am very keen on achieving something similar, already having Aqara Temperature sensors throughout the house feeding into my Domoticz setup.
tinky_doy
Starting Member
Starting Member
 
Posts: 1
Joined: January 2020

Re: Evohome / Evotouch Wireless protocol?

Postby DanD » Thu Jan 30, 2020 10:22 am

colintd wrote:
23:11:28.729 -> vr18107CA0056B5512B003030000
23:11:31.940 -> vr18107CA0056B5512B003030000
23:11:45.548 -> vr18107CA0056B55230903030834
23:12:01.916 -> vr18056B55056B551F0903FF07A8
23:12:01.916 -> vr18056B55056B5523090C0008340108340205DC030834
23:12:01.949 -> vr18056B55056B5530C90C00085101085202079203083B
23:12:11.101 -> vr18056B55056B55000802FC00
23:12:29.161 -> vr188974418974413120070070B0000000FF
23:13:05.206 -> vr1889744189744130C903000852
23:13:56.481 -> vr18107CA4107CA430C903000AB0
23:14:16.573 -> vr18107CA4056B553150020130
23:15:19.665 -> vr18056B55056B551F0903FF07A8
23:15:19.665 -> vr18056B55056B5523090C0008340108340205DC030834
23:15:19.665 -> vr18056B55056B5530C90C0008510108520207A503083B
23:16:18.903 -> vr18119C20056B55230903030834


Those messages look OK to me as I recognise the structure. I've highlighted the parts in the first few below [header] [device1] [device2] [command] [length] [payload] in the examples below:

23:11:45.548 -> vr [18] [107CA0] [056B55] [2309] [03] [030834]
23:12:01.916 -> vr [18] [056B55] [056B55] [1F09] [03] [FF07A8]
23:12:01.916 -> vr [18] [056B55] [056B55] [2309] [0C] [0008340108340205DC030834]
23:12:01.949 -> vr [18] [056B55] [056B55] [30C9] [0C] [00085101085202079203083B]

We've developed an extensive wiki on Github which is still work in progress, but has tons of information on the structure and meaning of the different commands : https://github.com/Evsdd/The-Evohome-Protocol
DanD
Starting Member
Starting Member
 
Posts: 23
Joined: June 2016

Re: Evohome / Evotouch Wireless protocol?

Postby aelorenzo » Thu Jan 30, 2020 2:08 pm

Thank you @DanD, I am able to decode the messages.

Only one question.

In the wiki there is a python example to decode Device IDs, but _tmp variable is missing.

def dev_hex_to_id(device_hex: str, friendly_id=False) -> str:

"""Convert (say) '06368E' to '01:145038' (or 'CTL:145038')."""

if not device_hex:

return f"{'':9}" if friendly_id else "--:------"

dev_type = f"{(int(device_hex, 16) & 0xFC0000) >> 18:02d}"

if friendly_id:

dev_type = DEVICE_MAP.get(dev_type, f"{dev_type:<3}")

return f"{dev_type}:{_tmp & 0x03FFFF:06d}"

I defined it as follows: _tmp = int(device_hex, 16)

Is it OK?

Thank you
aelorenzo
Starting Member
Starting Member
 
Posts: 5
Joined: January 2020

Re: Evohome / Evotouch Wireless protocol?

Postby aelorenzo » Fri Jan 31, 2020 12:10 am

Thank you @DanD.

I have a problem with the header and de deviceIDs, how can I decode them with python2 to get the evofw2 format?

I mean:

"--- XX ---" for the header and
"01:000000" for the devices

I am getting wrong devides types and always " I" type message...

I do:

data="1889744189744130C903000852" # HEADER [18] DEVICEID [897441]
HEADER_FLAGS = [0x0F, 0x0C, 0x0D, 0x0B,0x27, 0x24, 0x25, 0x23,0x47, 0x44, 0x45, 0x43,0x17, 0x14, 0x15, 0x13]

then HEADER:

flags = HEADER_FLAGS[(data[0:2] >> 2) & 0x0F]
if (is_information(flags)):
typecmmd = "--- I --- "
if (is_request(flags)):
typecmmd = "--- RQ --- "
if (is_response(flags)):
typecmmd = "--- RP --- "
if (is_write(flags)):
typecmmd = "--- W --- "

For the DEVICE:

device = str(int(data[2:4], 16)).zfill(2) + ":" + str(int(data[4:8],16)).zfill(6))

This str(int(data[2:4], 16)).zfill(2) , data[2:4] is 84 hex, decimal 132....

Maybe everything is wrong...

Thank you,

Antonio
aelorenzo
Starting Member
Starting Member
 
Posts: 5
Joined: January 2020

Re: Evohome / Evotouch Wireless protocol?

Postby aelorenzo » Sat Feb 01, 2020 10:30 pm

I have solved the problem, I am starting with python, and I forgot to implement the byte operations...

Now I am able to decode all the messages from CUL device.

Next step is to use the Evohome listener from Smar000 in github to implement a virtual serial port, test send functionality and connect there HA or Domoticz. What do you think about this idea?

Which is the best implementation of evohome support, HA or Domoticz?

Thank you
aelorenzo
Starting Member
Starting Member
 
Posts: 5
Joined: January 2020

Re: Evohome / Evotouch Wireless protocol?

Postby DanD » Mon Feb 03, 2020 1:18 pm

Great, glad you managed to get it working.

If I'm understanding correctly what you've done (created a python-based decoder which turns the raw bytes into structured message bytes) then it sounds like this should work using a virtual serial port and in theory implementing a python encoder for the CUL firmware should work OK too. I'm biased with regards to HA versus Domoticz as I'm one of the developers of the Evohome Domoticz code and I've not used HA :). Either of them should work OK for you.

Dan
DanD
Starting Member
Starting Member
 
Posts: 23
Joined: June 2016

Re: Evohome / Evotouch Wireless protocol?

Postby aelorenzo » Tue Feb 04, 2020 8:09 am

Thank you @DanD, I appreciate the way you managed my beginer question on HA and Domoticz, sorry for being so so... on this...

I will try to send evohome commands and to setup the virtual port and later on I will check the platform for my smart devices.

I need to integrate Dyson cool fan, xiaomi smart strips, sonoffs flashed with espurna firmwares, another CUL device with 434 support for RTS Somfy blinds, alarm using serial over wifi comms, foscam cameras, LG smart TVs and... :(

So I will decide later which platform to choose.... It will be a difficult task! :D

Thank you very much for your support on this,

Antonio
aelorenzo
Starting Member
Starting Member
 
Posts: 5
Joined: January 2020

Previous

Return to Questions & Discussions Forum

Who is online

Users browsing this forum: Google Feedfetcher and 1 guest