Supereg / hap-proxy

Transparent Proxy for the HomeKit Accessory Protocol to intercept and analyze traffic between an Accessory and an iDevice.
MIT License
27 stars 1 forks source link

Possibility of proxying homepod messages? #15

Open BNolet opened 1 year ago

BNolet commented 1 year ago

I have a homepod here and I'd like to intercept the messages regarding the temperature sensors and see if I can give a helping hand to those more knowledgeable than me on the Home Assistant side.

Unfortunately, the homepod doesn't have a target pincode so I'm stumped as to how one would communicate with the homepod.

Supereg commented 1 year ago

HomePods can't be proxied with this tool. HomePods use an Apple-specific process (probably WAC?) of onboarding them to your WiFi network and setup is done through a "sound code". Before they introduced the sensors, I'm not even sure to what extend they were running the HomeKit Accessory Protocol at all. Only now, with the addition of the sensors are they advertising a service record under _hap._tcp via mDNS. I assume they have some custom process of adding the sensor accessory to your home.

BNolet commented 1 year ago

You mentioned the sound code but, in case you hadn't encountered it before, there is the option to have Siri speak aloud a code (though only four digits). The homepod needs to be out of earshot of the iDevice's microphone (eg: next room over with the door closed)

What do you make of that?

Supereg commented 1 year ago

I know about the manual backup code.

To my understanding HomePod uses a completely different setup and communication protocol (e.g. configuring Apple ID etc, doing WiFi configurations if the personal device is nearby). I assume they use some combination of WAC and Bluetooth(?). Protocols like AirPlay 2 and HomeKit (for the temperature and humidity sensors) are then configured and set up with this communication channel. There is no way intercepting this without intercepting the initial pairing step (which is currently not doable, and depending on the security measures in place maybe not even possible). Also probably not worth the effort for "just" a temperature and humidity sensor.