Elgato Eve door and window

Thanks I have been trying a reverse engineer approach following https://www.open-homeautomation.com/2016/08/23/reverse-engineering-the-mi-plant-sensor/

Since it is a binary sensor I would be happy just to detect when it switches state.
Making some progress… Thinking to make a python script to speed up to process of decoding all this, perhaps modify https://github.com/open-homeautomation/miflora/blob/master/miflora/miflora_poller.py

This handle is Eve Door, decoded using https://www.browserling.com/tools/hex-to-text

1 Like

OK I modified the miflora script to parse every handle in the list of handles returned by char-desc, and I have found that none change between having the door open or closed, so if there is a handle that contains this information it is not in the list below. I assume the Eve sensor must only publish a bluetooth event signal when the door is opened, and this handle is not in the list below. Any advice on how to proceed further is appreciated, otherwise I think I abandon this effort… Cheers

0x1000, [1, 24]
0x2000, [0, 24]
0x2001, [2,2,32,0, 42]
0x2002, [69,118,101,32,68,111,111, 114]
0x2003, [2,4,32,1, 42]
0x2004, [0, 2]
0x3000, [145,82,118,187,38,0,0,128,0,16,0,0,85,0,0, 0]
0x3010, [2,17,48,209,160,131,80,0,170,211,135,23,72,89,167,93,233,4, 230]
0x3011, [102, 0]
0x3020, [10,33,48,145,82,118,187,38,0,0,128,0,16,0,0,79,0,0, 0]
0x3022, [117, 0]
0x3030, [10,49,48,145,82,118,187,38,0,0,128,0,16,0,0,76,0,0, 0]
0x3032, [118, 0]
0x3040, [10,65,48,145,82,118,187,38,0,0,128,0,16,0,0,78,0,0, 0]
0x3042, [119, 0]
0x3050, [10,81,48,145,82,118,187,38,0,0,128,0,16,0,0,80,0,0, 0]
0x3052, [120, 0]
0x4000, [145,82,118,187,38,0,0,128,0,16,0,0,62,0,0, 0]
0x4010, [2,17,64,209,160,131,80,0,170,211,135,23,72,89,167,93,233,4, 230]
0x4011, [1, 0]
0x4020, [10,33,64,145,82,118,187,38,0,0,128,0,16,0,0,35,0,0, 0]
0x4022, [110, 0]
0x4030, [10,49,64,145,82,118,187,38,0,0,128,0,16,0,0,32,0,0, 0]
0x4032, [111, 0]
0x4040, [10,65,64,145,82,118,187,38,0,0,128,0,16,0,0,33,0,0, 0]
0x4042, [112, 0]
0x4050, [10,81,64,145,82,118,187,38,0,0,128,0,16,0,0,48,0,0, 0]
0x4052, [113, 0]
0x4060, [10,97,64,145,82,118,187,38,0,0,128,0,16,0,0,20,0,0, 0]
0x4062, [114, 0]
0x4070, [10,113,64,145,82,118,187,38,0,0,128,0,16,0,0,82,0,0, 0]
0x4072, [115, 0]
0x5000, [145,82,118,187,38,0,0,128,0,16,0,0,128,0,0, 0]
0x5010, [2,17,80,209,160,131,80,0,170,211,135,23,72,89,167,93,233,4, 230]
0x5011, [103, 0]
0x5020, [10,33,80,145,82,118,187,38,0,0,128,0,16,0,0,35,0,0, 0]
0x5022, [122, 0]
0x5100, [42,1,81,145,82,118,187,38,0,0,128,0,16,0,0,106,0,0, 0]
0x5102, [149, 0]
0x5103, [0, 0]
0x5110, [42,17,81,82,159,162,5,38,156,39,143,255,72,158,7,41,241,99, 232]
0x5112, [150, 0]
0x5113, [0, 0]
0x5120, [42,33,81,82,159,162,5,38,156,39,143,255,72,158,7,24,241,99, 232]
0x5122, [151, 0]
0x5123, [0, 0]
0x5130, [42,49,81,82,159,162,5,38,156,39,143,255,72,158,7,25,241,99, 232]
0x5132, [152, 0]
0x5133, [0, 0]
0x5140, [42,65,81,82,159,162,5,38,156,39,143,255,72,158,7,26,241,99, 232]
0x5142, [153, 0]
0x5143, [0, 0]
0x9000, [145,82,118,187,38,0,0,128,0,16,0,0,150,0,0, 0]
0x9010, [2,17,144,209,160,131,80,0,170,211,135,23,72,89,167,93,233,4, 230]
0x9011, [107, 0]
0x9020, [10,33,144,145,82,118,187,38,0,0,128,0,16,0,0,35,0,0, 0]
0x9022, [173, 0]
0x9030, [42,49,144,145,82,118,187,38,0,0,128,0,16,0,0,104,0,0, 0]
0x9032, [174, 0]
0x9033, [0, 0]
0x9040, [42,65,144,145,82,118,187,38,0,0,128,0,16,0,0,143,0,0, 0]
0x9042, [175, 0]
0x9043, [0, 0]
0x9050, [42,81,144,145,82,118,187,38,0,0,128,0,16,0,0,121,0,0, 0]
0x9052, [176, 0]
0x9053, [0, 0]
0xa000, [82,159,162,5,38,156,39,143,255,72,158,7,7,240,99, 232]
0xa010, [2,17,160,209,160,131,80,0,170,211,135,23,72,89,167,93,233,4, 230]
0xa011, [108, 0]
0xa020, [10,33,160,82,159,162,5,38,156,39,143,255,72,158,7,30,241,99, 232]
0xa022, [178, 0]
0xa030, [10,49,160,82,159,162,5,38,156,39,143,255,72,158,7,18,241,99, 232]
0xa032, [179, 0]
0xa040, [10,65,160,82,159,162,5,38,156,39,143,255,72,158,7,28,241,99, 232]
0xa042, [180, 0]
0xa050, [10,81,160,82,159,162,5,38,156,39,143,255,72,158,7,33,241,99, 232]
0xa052, [181, 0]
0xa060, [10,97,160,82,159,162,5,38,156,39,143,255,72,158,7,22,241,99, 232]
0xa062, [182, 0]
0xa070, [10,113,160,82,159,162,5,38,156,39,143,255,72,158,7,23,241,99, 232]
0xa072, [183, 0]
0xa080, [10,129,160,82,159,162,5,38,156,39,143,255,72,158,7,29,241,99, 232]
0xa082, [186, 0]
0xa090, [42,145,160,82,159,162,5,38,156,39,143,255,72,158,7,49,241,99, 232]
0xa092, [199, 0]
0xa093, [0, 0]
0xb000, [145,82,118,187,38,0,0,128,0,16,0,0,162,0,0, 0]
0xb010, [2,17,176,209,160,131,80,0,170,211,135,23,72,89,167,93,233,4, 230]
0xb011, [197, 0]
0xb020, [10,33,176,145,82,118,187,38,0,0,128,0,16,0,0,55,0,0, 0]
0xb022, [198, 0]

And the code for parsing the handles:

Any progress on this? I’ve just got myself two eve door and window sensors installed too and having them appear in HA would be great.

Got it integrated via Homebridge https://github.com/robmarkcole/robins-hassio-config/blob/master/README.md

1 Like

All working perfectly thanks for the guide.

I’m now trying to find a way to make the Boolean input not show as a ‘switch’ in HA i.e. I don’t want to change the state from HA I just want HA to read the state and let Homekit do the changes.

I know this is something we mentioned before. Any thoughts?

I think Im using a template sensor to display the state of the switch, and not actually displaying the switch on the front end (i.e. it’s not in any of my groups)

That’s makes sense. Do you have a config you can share?

OK I use a binary template, config here

1 Like

Perfect! many thanks for that :slight_smile:

Now to change the state name from on/off to open/closed…:smirk:

1 Like

@robmarkcole just seen this in 0.68.

https://rc.home-assistant.io/components/homekit_controller/

Excited for future integration with other HomeKit devices… such as Eve :smiley:

1 Like

Totally agree!

Hey Rob,

FYI I’ve recently integrated @gazoscalvertos’s Hass-Custom-Alarm and the Eve door/windows sensors were picked up perfectly first time without any tweaking thanks to your solution :slight_smile: .

One thing I’ve still struggling with however is changing the state name from on/off to open/closed in the HA frontend. Any idea how this is acheived?

1 Like

Try a template sensor

Im using it and its working perfctly, before i used homebrisge to gap between hass and homebridge but now you can use the homekit component and create a fake switch in hass that can be controlled by elgato eve.

Hope it makes sense.

Try settings a class:

 device_class: 'door'
1 Like

It does kinda, I’m still using homebridge but was waiting for further HomeKit integration into HA. Your solution sounds good, care to elaborate?

That worked perfectly :grinning:

2 Likes

Sure:

  1. Create a input_boolean in hass: input_boolean.eve
  2. Install this homekit component, if you don’t want to expose all of your stuff in hass to homekit you can use the include_entities/exclude_entitues, see the link for more information.
  3. In the elgato eve app, create two rules, one rule that turns on the switch eve (input_booleans are switches in homekit) when the elgate eve door is set to “open”, and one rule that turns off the switch eve when the elgate eve door is set to “closed”.

To be clear, the switch eve in step 3 is the one that you creted in hass as input_boolean and chose to include to be shown in homekit.

That’s all. Not the status of elgato eve is present in hass and you can use it for automations.

2 Likes

Sorry for bringing up this old thread but where exactly can I set the device class?