UPDATE - November 8th, 2022
- On November 3rd, 2022 the Blink servers were updated to block certain User-Agents. The driver has now been updated (November 8th, 2022) to get this working again and a longer-term solution to this problem will be added in the future. Thanks to @tomw for the idea about the User-Agent.
Drivers for polling the Blink API for your Blink cameras and related devices.
- BlinkAPI.groovy = REQUIRED
- BlinkChild.groovy = REQUIRED
- BlinkChild-Network.groovy = REQUIRED
- BlinkChild-SyncModule.groovy = REQUIRED
- BlinkChild-Camera.groovy = REQUIRED
- BlinkChild-Doorbell.groovy = OPTIONAL
- BlinkChild-MiniCamera.groovy = OPTIONAL
- BlinkChild-Floodlight.groovy = OPTIONAL
- BlinkChild-WiredFloodlight.groovy = OPTIONAL
- Can request a PIN be emailed to your account from Blink (Authorize)
- Can validate PIN received from Blink (Verify PIN)
- Can check Blink account for any "networks" of devices and pull basic information
- Can check Sync Modules, Cameras, and more for basic information
- Can arm/disarm systems individually or all for the account
- Can enable/disable motion detection on cameras individually or all for the account
- Devices are "Actuators" so they can be given custom actions to trigger commands in Rules
- Re-authorizes the auth-token every 12 hours based on when you last Saved Preferences
- Child devices have a number of commands they can also perform such as Arm/Disarm (Cameras, Doorbells, MiniCameras, Networks, or Sync Modules) or Enable/Disable Motion Detection (Cameras only, NOT Doorbells or MiniCameras), Floodlights can be turned on/off.
- Available within the Hubitat Package Manager (HPM).
- Cannot display a thumbnail image from a camera (cannot save images to Hubitat from driver)
- Cannot display video in Hubitat (it DOES provide an RTSP link though so you can put that in your own RTSP viewer)
- Cannot receive motion notifications (it polls for data and it is unknown how to get a push of motion detection)
- Cannot Enable/Disable Motion Detection for Doorbells or MiniCameras (this appears to be an API limitation) but you can still Arm/Disarm them
- Add BlinkAPI.groovy driver to your Drivers Code section on your Hubitat (you can Import using the URLs above) then Save the driver. Repeat with the BlinkChild.groovy driver and BlinkChild-Network.groovy driver, all THREE drivers are now REQUIRED.
OPTIONAL - But RECOMMENDED Add additional BlinkChild-xyz.groovy drivers for types of devices you have.
- Add a Virtual device and set the Type to be BlinkAPI (user-added drivers are going to be at the bottom of the list), then Save Device.
- Enter the email and password used for your Blink account into the Account Email and Account Password fields in Preferences then Save Preferences.
- Select the "Authorize" command with the Reauthorize parameter set to "false". Check your email for a PIN sent to you from Blink.
- Enter the PIN received from Blink into the field for the Verify PIN command then select the "Verify PIN" command. NOTE: Step 5 must be done within 40 minutes of receiving the PIN from step 4. If it expires, repeat from step 4.
- Once the initial authorization is all set, I recommend using the GetHomescreen command to pull in your devices. This will create child devices to match up with whatever information the API returns for your account. If you have added the optional drivers it should automatically set each of those child devices to the correct type, making it easier to have the correct commands and attributes applicable only for that device.
Enjoy checking out the features!
- If you need to re-authorize for some reason after you have already completed the PIN verification, you can do it by using the Authorize command with the Reauthorize parameter set to true.
- If you post logs (my drivers are designed to get pretty verbose if you set them for Trace, but mostly use debug for unhandled variables I need to add and such) please make sure there are no account emails, passwords, IDs, or AuthTokens in them. Or you can send them to me directly as a PM. I have no interest in messing with other people's systems.
- If you already have the drivers installed and attempt to update them (since I have posted many updates since the original version), sometimes your browser will have cached the old version. You will need to refresh the driver's page (the link's above) so that the newest version can be imported or just copy/paste it in once you have forced your browser to refresh.