HomeKit support for the Bold Smart Locks.
npm install homebridge-bold




This Homebridge plugin brings HomeKit support for the Bold Smart Locks.
npm install --global homebridgeThen, install the Bold pluginnpm install --global homebridge-bold
For HOOBS or Homebridge without a configuration UI, you can use the authentication website and use the resulting access & refresh token in the Manual configuration.
Notes:
* A Bold Connect hub is required for this plugin to function. This plugin will only expose locks that are linked to a Bold Connect hub to HomeKit.
* While HomeKit shows the lock with locked/unlocked state, this only reflects whether you can turn the lock, not whether the door is locked.
| Property | Type | Details |
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------- |
| platform | string | Required
Must always be Bold. |
| accessToken | string | Required
Access token for the Bold API. |
| refreshToken | string | Required
Refresh token for the Bold API. |
| refreshURL | string | Optional
Custom refresh URL for token refreshing. Use this only if you authenticated with a custom backend. |
| legacyAuthentication | boolean | Required
Switch between default and legacy authentication. This settings will impact token refreshing. |
| | | |
The backend/ folder contains the source code for the backend that is used while authenticating using the Bold app (default authentication). I host this myself on AWS, with a client id and secret that was provided to me. While your password is never available to this server, you can choose to self host this backend if you obtain a client id and secret from Bold. Specify a custom backend by clicking the settings icon on the login page. Also specify a custom refresh URL in the config, as a custom client id and secret require refreshing with the same client id and secret.
Alternatively you can also choose to use legacy authentication using username/password if you prefer not to use either of these options. This will log out your Bold app as only one username/password based session can be active at the same time.
Note: While default authentication is (semi-)supported by Bold, legacy authentication is not supported at all and may break at any time.
Thanks to Erik Nienhuis for helping with reverse-engineering the Bold API and providing me with the Bold API documentation.