A Python library for the Blink Camera system Only compatible with Python 3+
Published under the MIT license - See LICENSE file for more details.
"Blink Wire-Free HS Home Monitoring & Alert Systems" is a trademark owned by Immedia Inc., see www.blinkforhome.com for more information. I am in no way affiliated with Blink, nor Immedia Inc.
Original protocol hacking by MattTW : https://github.com/MattTW/BlinkMonitorProtocol
API calls faster than 60 seconds is not recommended as it can overwhelm Blink's servers. Please use this module responsibly.
pip3 install blinkpy
To install the current development version, perform the following steps. Note that the following will create a blinkpy directory in your home area:
$ cd ~
$ git clone https://github.com/fronzbot/blinkpy.git
$ cd blinkpy
$ rm -rf build dist
$ python3 setup.py bdist_wheel
$ pip3 install --upgrade dist/*.whl
This library was built with the intention of allowing easy communication with Blink camera systems, specifically so I can add a module into homeassistant https://home-assistant.io
The simplest way to use this package from a terminal is to call Blink.start()
which will prompt for your Blink username and password and then log you in. Alternatively, you can instantiate the Blink class with a username and password, and call Blink.start()
to login and setup without prompt, as shown below.
import blinkpy
blink = blinkpy.Blink(username='YOUR USER NAME', password='YOUR PASSWORD')
blink.start()
If you would like to log in without setting up the cameras or system, you can simply call the Blink.login()
function which will prompt for a username and password and then authenticate with the server. This is useful if you want to avoid use of the start()
function which simply acts as a wrapper for more targeted API methods.
The cameras are of a BlinkCamera class, of which the following parameters can be used (the code below creates a Blink object and iterates through each camera found)
import blinkpy
blink = blinkpy.Blink(username='YOUR USER NAME', password='YOUR PASSWORD')
blink.start()
for name, camera in blink.cameras.items():
print(name) # Name of the camera
print(camera.attributes) # Print available attributes of camera