Creating bindings - what's needed from the device vendor?

What’s needed from a device vendor in order to create a binding for that device? Can a developer, e.g., me, create a binding for any wi-fi thermostat on the market, or would I have to work with the vendor of that thermostat? What would they have to provide me so I can create the binding?

They must provide you the protocol, authentication, etc necessary to communicate with the device. Each device can potentially use a completely different protocol. Or they must provide an API you can use to interact with the device or the cloud servers that control your device.

If they do not provide this information you would have to use network sniffing and reverse engineer the protocol, but that is only if they don’t encrypt the traffic (in which case you probably shouldn’t use it anyway).

1 Like

I also got this response from somebody else:
You have to consider yourself to be very lucky if you can rely on a vendor to implement a binding, or if you have some spec/document at your disposal. Most of the time this is not the case, and your binding will in fact be a reverse engineering excercise. You are not obliged to work with vendors to create a binding, but some might stipulate in their terms & conditions that reverse engineering their products or services is not allowed.