sebr / bhyve-home-assistant

Orbit BHyve custom component for Home Assistant
MIT License
252 stars 42 forks source link

Native Bluetooth #149

Open BlackandBlue1908 opened 2 years ago

BlackandBlue1908 commented 2 years ago

I May be asking for the moon here but would be awesome if this could use the new native Bluetooth integration. Could circumvent the need for the hubs altogether and give full local control.

sebr commented 2 years ago

This is not something I have plans to investigate, however I will leave the issue open; I imagine you won't be the first or last to request this 😄.

It may also be helpful as a future reference should anybody wish to collect or share any reverse engineered bluetooth dumps that could be used to implement this request in the future.

AlohaFlyer commented 2 years ago

I love to see this implemented. I have been having some cloud latency with this recently.

GitHubGoody commented 1 year ago

@sebr Thank you for developing this integration. I just picked up an XD and Gen 2 hub since I knew I could get it into HA because of this.

I know this issue requesting Bluetooth was opened before most of HA's work on expanding Bluetooth support at the end of last year. Would any of that development work make it easier to add Bluetooth support for this integration?

sebr commented 1 year ago

@GitHubGoody, I haven't investigated the progress of HA's native Bluetooth support. This is partially because I don't have any plans to reverse engineer B-Hyve's Bluetooth protocols or reimplement them in HA.

GitHubGoody commented 1 year ago

OK. NP. I figured I'd check before opening the hub. Thanks.

kaechele commented 1 year ago

I took a cursory glance at it. I've recently built a HA Bluetooth integration for my fireplace utilizing ESPHome Bluetooth proxies, so my memory of the implementation procedure is still fresh. It should be possible to reverse engineer the protocol. Bluetooth communication is encrypted using AES ECB without padding (so it's pretty insecure as far as I can see). The encryption key can be seen at https://techsupport.orbitbhyve.com when viewing a device. It will show up Base64 encoded as the "Network Key" under Mesh Details. I don't have experience dealing with the Mesh bit of the BLE communication, so I haven't looked into that.