My UniFi doorbell works great, but I frequently miss the sound of the doorbell because the main chime is far from my workstation, plus I prefer to mostly silence my phone while I'm working. Physical UniFi Chimes are available, but are usually out of stock, and their price seems to keep going up! So my initial motivation was to write enough of a client to enable a doorbell application which would play a sound whenever a "ring" event was emitted by Protect's API.
A few dozen commits later, I found I had built a half decent client and CLI command utility for talking to the Network and Protect APIs. So I'm pleased to announce the initial v0.1.0 release of `unified`:
`unified` is a command line utility (and Golang client) for talking to UniFi Network and Protect APIs.
You can check out the code at: https://github.com/ClifHouck/unified
v0.1.0 supports the following:
UniFi Network API V1 is fully supported as of Network application version "9.1.120".
UniFi Protect API V1 is only partially supported, with the following endpoints supported:
- `/v1/meta/info`
- `/v1/subscribe/devices`: only partial type support.
- `/v1/subscribe/events`
- `/v1/cameras/`
- `/v1/cameras/{id}`
But I'm committed to working towards full Protect API V1 support.
I think there's a lot of potential for interesting uses of these APIs. Hopefully someone besides me finds this useful.
Disclaimer: This client is not in any way affiliated with Ubiquiti. I do not take any responsibility for any harm that may come to your device(s) by utilizing this client. Use at your own risk!