Skip to content

Instantly share code, notes, and snippets.

@gomfunkel
Last active October 29, 2024 19:01
Show Gist options
  • Save gomfunkel/b1a046d729757120907c to your computer and use it in GitHub Desktop.
Save gomfunkel/b1a046d729757120907c to your computer and use it in GitHub Desktop.
Elgato Eve HomeKit Services & Characteristics

Elgato Eve HomeKit Services & Characteristics

A work in progress collection of proprietary and as of yet undocumented HomeKit characteristics and their UUIDs used by Elgato Eve.

This list is not including all Eve accessories available and some services and characteristics still make no sense to me. If you have anything to contribute, please leave a comment. There is no guarantee that the information listed below is correct.

Elgato Eve Energy (Firmware Revision 1.3.1;466)

Service - Characteristic UUID R W Type Description
Accessory Information 0000003E-0000-1000-8000-0026BB765291 - - HomeKit Standard
  • Name | 00000023-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Manufacturer | 00000020-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Model | 00000021-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Serial Number | 00000030-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Identify | 00000014-0000-1000-8000-0026BB765291 | | X | Boolean | HomeKit Standard
  • Firmware Revision | 00000052-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard Outlet | 00000047-0000-1000-8000-0026BB765291 | - | - | | HomeKit Standard
  • Name | 00000023-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Power State | 00000025-0000-1000-8000-0026BB765291 | X | X | Boolean | HomeKit Standard
  • Outlet In Use | 00000026-0000-1000-8000-0026BB765291 | X | | Boolean | HomeKit Standard
  • Volt (V) | E863F10A-079E-48FF-8F27-9C2605A29F52 | X | | UInt16 | Volt = UInt16(value) / 10
  • Ampere (A) | E863F126-079E-48FF-8F27-9C2605A29F52 | X | | UInt16 | Ampere = UInt16(value) / 100
  • Watt (W) | E863F10D-079E-48FF-8F27-9C2605A29F52 | X | | UInt16 | Watt = UInt16(value) / 10. This is what is reported as "Consumption" in the Eve app.
  • Kilowatt-Hour (kWh) | E863F10C-079E-48FF-8F27-9C2605A29F52 | X | | UInt32 | kWh = UInt32(value) / 1000. This is what is reported as "Total Consumption" in the Eve app. ??? | E863F007-079E-48FF-8F27-9C2605A29F52 | - | - | | Probably a service for meta and/or historical information
  • Volt-Ampere (VA) | E863F110-079E-48FF-8F27-9C2605A29F52 | X | | UInt16 | Volt-Ampere = UInt16(value) / 10
  • kVAh | E863F127-079E-48FF-8F27-9C2605A29F52 | X | | UInt32 | kVAh = UInt32(value) / 1000
  • ??? | E863F11E-079E-48FF-8F27-9C2605A29F52 | X | X | | ??? - Also available on Eve Room & Weather
  • ??? | E863F112-079E-48FF-8F27-9C2605A29F52 | X | X | UInt32? | ??? - Always <00000000>? Also available on Eve Weather
  • ??? | E863F10E-079E-48FF-8F27-9C2605A29F52 | X | | UInt16? | ??? - Seems to be 0 when no consumers are attached to the outlet
  • ??? | E863F11C-079E-48FF-8F27-9C2605A29F52 | | X | | ??? - Also available on Eve Room
  • ??? | E863F121-079E-48FF-8F27-9C2605A29F52 | | X | | ??? - Also available on Eve Room
  • ??? | E863F116-079E-48FF-8F27-9C2605A29F52 | X | | | ??? - Also available on Eve Room & Weather
  • ??? | E863F117-079E-48FF-8F27-9C2605A29F52 | X | | | See below - Also available on Eve Room & Weather

Notes

The last two may be a cache of measurements that are polled by the Eve app when the accessory is in range.

E863F117-079E-48FF-8F27-9C2605A29F52

Array of logs with each entry having x bytes as determined by Byte 1. The following is what I think I learned about logs with 20 bytes. I have already seen 21 bytes but haven't taken a look at those yet:

  • Byte 1: Length (i.e. 14 for 20 Bytes)
  • Bytes 2 & 3: Counter
  • Bytes 4 & 5: ??? (always 0x00 or maybe an extension of the counter?)
  • Bytes 6 & 7: Seconds since ???
  • Bytes 8 & 9: ???
  • Byte 10: ??? (always 0x1f?)
  • Bytes 11 & 12: Watt (W)(see E863F10D-079E-48FF-8F27-9C2605A29F52)
  • Bytes 13 & 14: Volt-Ampere (VA) (see E863F110-079E-48FF-8F27-9C2605A29F52)
  • Bytes 15 & 16: Volt (V) (see E863F10A-079E-48FF-8F27-9C2605A29F52)
  • Bytes 17 & 18: Ampere (A) (see E863F126-079E-48FF-8F27-9C2605A29F52)
  • Bytes 19 & 20: ??? (might correspond to E863F10E-079E-48FF-8F27-9C2605A29F52)

Bytes 6 to 9 look like some kind of timestamp. The format is not clear but from the limited dataset available to me up to now it seems that they are offsets from an initial timestamp, most likely the original installation date. Bytes 8 and 9 could thus be something like "days since installation".

This characteristic seems to only return a maximum of 11 log entries and I have no clear idea on how to scroll back in time. Maybe that's what either E863F11C-079E-48FF-8F27-9C2605A29F52 or E863F121-079E-48FF-8F27-9C2605A29F52 is for: You write a value to one of the characteristics and get a different range from the logs. Just a wild guess.

Elgato Eve Room (Firmware Revision 1.3.1;466)

Service - Characteristic UUID R W Type Description
Accessory Information 0000003E-0000-1000-8000-0026BB765291 - - HomeKit Standard
  • Name | 00000023-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Manufacturer | 00000020-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Model | 00000021-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Serial Number | 00000030-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Identify | 00000014-0000-1000-8000-0026BB765291 | | X | Boolean | HomeKit Standard
  • Firmware Revision | 00000052-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard Battery | 00000096-0000-1000-8000-0026BB765291 | - | - | | HomeKit Standard
  • Name | 00000023-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Status Low Battery | 00000079-0000-1000-8000-0026BB765291 | ? | ? | ? | HomeKit Standard
  • Battery Level | 00000068-0000-1000-8000-0026BB765291 | ? | ? | ? | HomeKit Standard
  • Charging State | 0000008F-0000-1000-8000-0026BB765291 | ? | ? | ? | HomeKit Standard Temperature Sensor           | 0000008A-0000-1000-8000-0026BB765291 | - | - | | HomeKit Standard
  • Name | 00000023-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Current Temperature | 00000011-0000-1000-8000-0026BB765291 | ? | ? | ? | HomeKit Standard Humidity Sensor | 00000082-0000-1000-8000-0026BB765291 | - | - | | HomeKit Standard
  • Name | 00000023-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Current Relative Humidity | 00000010-0000-1000-8000-0026BB765291 | ? | ? | ? | HomeKit Standard Air Quality Sensor | 0000008D-0000-1000-8000-0026BB765291 | - | - | | HomeKit Standard
  • Name | 00000023-0000-1000-8000-0026BB765291 | X | | String(64) | HomeKit Standard
  • Air Quality | 00000095-0000-1000-8000-0026BB765291 | ? | ? | ? | HomeKit Standard (Level 0 - 5)
  • Air Quality in ppm | E863F10B-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | UInt16(value) in ppm. Rough classification: 0 - 700 Excellent, 700 - 1100 Good, 1100 - 1600 Acceptable, 1600 - 2000 Moderate, > 2000 Bad. Represented by simple levels with the characteristic above.
  • ??? | E863F132-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ??? ??? | E863F007-079E-48FF-8F27-9C2605A29F52 | - | - | | Probably a service for meta and/or historical information
  • ??? | E863F11C-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ??? - Also available on Eve Energy
  • ??? | E863F121-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ??? - Also available on Eve Energy
  • ??? | E863F11D-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ???
  • ??? | E863F11E-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ??? - Also available on Eve Energy
  • ??? | E863F116-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ??? - Also available on Eve Energy
  • ??? | E863F117-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ??? - Also available on Eve Energy
  • ??? | E863F131-079E-48FF-8F27-9C2605A29F52 | ? | ? | ? | ???
  • Status Fault | 00000077-0000-1000-8000-0026BB765291 | ? | ? | ? | HomeKit Standard

Elgato Eve Door

Service - Characteristic UUID R W Type Description
Number of times opened E863F129-079E-48FF-8F27-9C2605A29F52 ? ? UInt32 UInt32(value) / 2
Battery Level E863F11B-079E-48FF-8F27-9C2605A29F52 ? ? UInt16 UInt16(value) in %

Elgato Eve Weather

Service - Characteristic UUID R W Type Description
Battery Level E863F11B-079E-48FF-8F27-9C2605A29F52 ? ? UInt16 UInt16(value) in %
@simont77
Copy link

I'm trying to get some progress on this topic, also aggregating infos from all the comments. You can find latest findings in my fork of the gist https://gist.github.com/simont77/3f4d4330fa55b83f8ca96388d9004e7d

@simont77
Copy link

simont77 commented Aug 11, 2017

All of you interested: see my gists https://gist.github.com/simont77/3f4d4330fa55b83f8ca96388d9004e7d and https://gist.github.com/simont77/919399dda338e37213b1ca231082c219 for a working history service emulating Eve Weather and Eve Energy (still to be refined, but working). In order to emulate other accessory, I would need the full list of services and characteristics exposed and a dump of characteristics E863F116 and E863F117 during a data transfer. For Motion and Door, it would be helpful also a dump of E863F11A which is related to time from last activation.

@simont77
Copy link

Now a proper repository with a module emulating the history service is available here https://github.com/simont77/fakegato-history. Every comment and contribution is well accepted.

@jDavidnet
Copy link

Has anyone been able to render out and energy history from a real eve power device, or get a humidity / temp graph from the devices?

@benoitc
Copy link

benoitc commented Jul 15, 2022

Has anyone been able to render out and energy history from a real eve power device, or get a humidity / temp graph from the devices?

i'm interrested to know too :)

@jDavidnet
Copy link

Can Home Assistant automate and query these commands?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment