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.
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
The last two may be a cache of measurements that are polled by the Eve app when the accessory is in range.
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.
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
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 % |
Service - Characteristic | UUID | R | W | Type | Description |
---|---|---|---|---|---|
Battery Level | E863F11B-079E-48FF-8F27-9C2605A29F52 | ? | ? | UInt16 | UInt16(value) in % |
I might have finally figured out why there are two W/kWh values. Talking to the right people (and brushing up on electrical engineering skills) alway helps. It seems that they are actually not two W/kWh values (which wouldn't make a lot of sense anyways) but W/kWh and VA/kVAh.
If my guess is correct, telling kWh and kVAh apart is rather easy as kVAh is always more than kWh. The same applies for comparing W and VA but as I cannot get these values on the exact same time and need to fetch them after one another they are hard to tell apart. Judging from several samples I took it seems that E863F110-079E-48FF-8F27-9C2605A29F52 is most of the time larger than E863F10D-079E-48FF-8F27-9C2605A29F52 so I think the first one is VA and the second one is W.
Does this make sense?