[DEPRECATED] Blink Camera Device Handler with Motion Sensor, Live Video Streaming, Integration with SmartThings/SHM, Temperature, Signals and Push Notifications

NOTE: THIS INTEGRATION HAS BEEN SUSPENDED BY AMAZON AFTER THE BLINK ACQUISITION

Check out the Blink IFTTT Integration for SmartThings


Folks have been requesting to integrate Blink Camera with SmartThings, so here it is finally. This has been approved by Blink. A big thank you to Blink’s management and engineers for their support in making this happen.

For those who don’t know Blink, it’s a VERY cool HD wireless camera that runs on a battery (about 1-2 years per set of 2 batteries)/USB power and uses a PIR motion detector to detect intrusion and start recording a clip / see a live video and connects via Wifi (totally wirefree). You will need to buy a Blink sync module which can support up to 10 Blink Cameras. You can find more details about it here http://blinkforhome.com/

image


Where To Buy (Amazon)

We worked with Blink to create a promotion exclusively for the SmartThings community

10% of ALL Blink products (including individual cameras and multi camera systems)

  1. Click here to visit the BlinkForHome.com.com website
  2. Use the code RBOYCAM10 at checkout

Enjoy, this code expires Dec 31


You will need to add the Blink Device Handler AND the Blink Camera Manager SmartApp codes in the IDE. However to install the camera, you just install the SmartApp (see below) and enter your Blink eMail and password and it will automatically create one Blink device for each camera that you have added to your account (yes it’s that easy!! No more fiddling with IP address and all that nonsense).

The features of this Blink Device Handler/SmartApp are:

  1. Enable/Disable each camera’s motion detection/alerts independently from SmartThings (DONE!)
  2. Control the monitoring system at sync module level from SmartThings (DONE!)
  3. Take a Picture from each camera independently and show in it SmartThings (DONE!)
  4. Get the Temperature reported by each camera (DONE!)
  5. Get the camera to sync module link signal strength for each camera (DONE!)
  6. Get the sync module WiFi signal strength (DONE!)
  7. Expose interface as a Camera device (take command) (DONE!)
  8. Expose interface as a Temperature sensor device (DONE!)
  9. Expose interface as a Switch to control each camera’s motion detection on/off (DONE!)
  10. Expose interface as a Motion Sensor to report motion events (DONE!)
  11. Expose interface as an Alarm to take a picture and turn on motion detection when turned on (DONE!)
  12. Expose interface to turn on/off system (sync module) via CoRE (monitorOn/monitorOff) (DONE!)
  13. Expose interface to turn on/off individual camera motion detection/alerts via CoRE (enableCamera/disableCamera) (DONE!)
  14. Proof of concept for SmartTiles to take/show pictures (DONE!)
  15. Motion Detection Actions from within Smart App (turn on lights with timeout option, turn on alarm, etc) (DONE!)
  16. Support for multi user SMS notifications and push notifications (DONE!)
  17. Queue and retry commands if server is busy (DONE!)
  18. Integration with Smart Home Monitor (SHM) (DONE!)
  19. Detect and show if Sync Module is offline (DONE!)
  20. Support for Push Notifications (DONE!)
  21. Support for Multiple Sync Modules per Account (DONE!)
  22. Support for Multiple Accounts (DONE!)
  23. Support for worldwide regions (DONE!)
  24. Support for changing video recording length (DONE!)
  25. Support for setting video recording length via CoRE (setVideoLength(x)) (DONE!)
  26. Support for setting motion sensitivity via CoRE (setMotionSensitivity(x)) (DONE!)
  27. Support for setting retrigger time via CoRE (setRetriggerTime(x)) (DONE!)
  28. Support for changing the LED modes (DONE!)
  29. Support for changing LED modes via CoRE (ledOn/ledOff/ledAuto) (DONE!)
  30. Support for forcing a sensors update (temperature, signal strength, battery etc) via CoRE (forceSensorsUpdate) (DONE!) (Caution: It drains the battery)
  31. Support for Live viewing of the camera (video + audio) (DONE!) (Caution: It drains the battery)

If you would like to see more features/integration please feel free to ask.

Also added a Smart App called “Trigger based Camera Pictures which allows you to use triggers (motion sensors, contact/door sensors, momentary switches like door bells) to activate the Camera to take pictures and turn on switches and enable Camera monitoring optionally. The pictures will show up in your SmartThings camera device page.


NOTE: DO NOT Install the BLINK CAMERA MANAGER SmartApp multiple times WITH THE SAME LOGIN otherwise you will get a Cannot create Blink Device error message. There should only be one Blink Camera Manager SmartApp for each unique login


INSTALLATION INSTRUCTIONS:

There are 2 parts to this installation so please see the instruction carefully (there is difference between how the SmartApp is installed and how the Device Handler is installed, don’t mix it up or it won’t work)

A. Install the Blink Device Handler

  1. Download/Copy the Blink Camera device handler code from the RBoy SmartThings server (look under Device Handlers) (copy EVERY line from beginning to end, Ctrl + A, Ctrl + C, don’t miss ANY line or you get an error).
  2. Login to your SmartThings IDE at https://graph.api.smartthings.com (create a login if you don’t have one AND don’t forget to opt-in for the developer account). Note: To verify that you’re working on the correct location, after logging into the above URL, click on “My Locations”, click on the name of the location listed and if prompted log into your account again.
  3. Click on “My Device Handlers ← NOTE THIS IS DEVICE HANDLERS (NOT SmartApps)
  4. Click on “+New Device Handler” on the top right
  5. Click “From Code”
  6. Paste the code (Ctrl + V) into the editor and click “Create”
  7. Click “Publish” and then “For me” on the top right

B. Install the Blink Camera Manager SmartApp

  1. Download/Copy the Blink Camera Manager SmartApp code from the RBoy SmartThings server (look under SmartApps) (copy EVERY line from beginning to end, Ctrl + A, Ctrl + C, don’t miss ANY line or you get an error)
  2. Login to your SmartThings IDE at https://graph.api.smartthings.com (create a login if you don’t have one AND don’t forget to opt-in for the developer account). Note: To verify that you’re working on the correct location, after logging into the above URL, click on “My Locations”, click on the name of the location listed and if prompted log into your account again.
  3. Click on “My SmartApps ← NOTE THIS IS SMARTAPPS (NOT Device Handlers)
  4. Click on “+New SmartApp” on the top right
  5. Click “From Code”
  6. Paste the code (Ctrl + V) into the editor and click “Create”
  7. Click “Publish” and then “For me” on the top right
  8. After clicking Publish, click on the “App Settings” button next to the Publish button
  9. Scroll down and click on “OAuth” to expand the section
  10. Click on “Enable OAuth in Smart App” (it will create an ID and Secret) (do NOT forget this step)
  11. Click on “Update” at the bottom of the page
  12. Scroll down back to OAuth, click on it and verify that the Client ID and Client Secret have been created/saved. If not repeat the process until it is saved (sometimes it takes a few tries)
  13. To install the SmartApp, open your SmartThings App on your phone (iPhone or Android), click on the Star icon at the bottom bar right corner of the main screen. Now click on the “SmartApps” tab on the top right of the screen. Scroll down to the “My Apps” section and click on it. (If you don’t see “My Apps”, please contact ST support to enable it, if you don’t see the SmartApp in “My Apps”, then you may have installed the code on the wrong ‘Shard’, please check step 2 again).
  14. Scroll down the “My Apps” section until you see the new app you just created and click on it on install / configure it.
  15. Enter your Blink eMail and Blink password to log into your blink account
  16. Once you’ve entered the correct credentials it will IMMEDIATELY show you the list of cameras found in your Blink account ABOVE your login username and password. Verify it
  17. Click Done and you’re done!!
  18. The SmartApp will create a Blink Camera device for every camera it find in your Blink account and those Blink Camera Device will show up under things. Enjoy!!

C. Updating the Code (do not skip any of these steps when updating the code)

  1. You can update the code with newer releases by copy-pasting the new code into the SmartApp and Device Handler respectively, click Save and don’t forget to Publish it. If you’re updating the SmartApp and DeviceHandler code, then you must update the Device Handler code first and then the SmartApp code.
  2. After updating the SmartApp reinitialize the app, i.e. Open the SmartApp on the phone, verify the settings and hit Done
  3. After updating the Device Handler click on the Refresh tile for the changes to take effect

FAQ’s and Troubleshooting

  1. If I have a question or problem who should I contact?
    Read through this post and it should answer most of your questions. If you have a question regarding the ST device, app or platform/integration post it here (Blink support isn’t trained to help). They can only handle questions about the native Blink iOS/Android app and their camera’s/sync modules (i.e. anything except ST related questions).

  2. How do I uninstall the Blink Camera devices/smartappp?
    There are 3 ways to address this:

  3. First make sure that your Blink Camera devices are NOT in use by any SmartApps. If they are then go into each SmartApp and remove the Blink Camera devices from those SmartApps. Then open the Blink Camera Manager, scroll down and click on Uninstall. This method will not work if the Blink Cameras are linked to any SmartApps, it will throw an error.

  4. The other way is to login to the SmartThings IDE, under My Devices, click on each Blink Camera device, scroll down and click on Delete. Confirm that it will delete the device from all linked SmartApps if prompted. Repeat this process for EVERY Blink Camera device in “My Devices”. Once all the Blink Camera devices are deleted, the ST platform will automatically also uninstall the Blink Camera Manager SmartApp.

  5. If you have deleted a Blink Camera permanently from your Blink account using the native Blink phone app and want to now remove it from your ST list of devices, open the Blink Camera Manager and click Done, it will delete that camera device which you removed from your Blink account.

  6. Live view can’t seem to connect or I get an error
    Try a few times, this a BETA viewer and ST hasn’t made an official release, so you may need to try connecting a few times before it works. If it still doesn’t work then you camera isn’t able to connect to the WiFi.

    1. [Check phone capabilities and signal strength] ([DEPRECATED] Blink Camera Device Handler with Motion Sensor, Live Video Streaming, Integration with SmartThings/SHM, Temperature, Signals and Push Notifications - #716 by RBoy)
    2. Check and optimize your WiFi settings
      NOTE: Blink needs 10-15 seconds between successive live stream connect requests, so after trying/connecting once, give it some time before trying again.
  7. I get an error “Failed to save page: mainPage”?
    You haven’t enabled OAuth, read the installation instructions again. If you’re still getting an error try again after a while, ST platform may be having temporary issues.

  8. Does this hurt my blink camera battery by excessive polling?
    No it does not, infact except for the take picture, enable/disable camera and enable/disable monitoring ALL calls are made to the Blink server without any update requests to the camera i.e. the information is retrieved from the server. However you can force the camera to wake up and refresh the sensors by clicking on the “Sensor Update” button.

  9. I’m pressing a button but the state isn’t changing or it isn’t taking a picture?
    Possible Reasons: Your login and password are most likely incorrect, reopen the Blink Camera Manager SmartApp and correct it. The camera batteries are dead. The camera can’t reach your WiFi/Router. The camera is too far away from the Sync Module or can’t connect to the WiFi. The Sync Module can’t connect to the internet.

  10. Can I use this with Routines or other SmartApp to Enable/Disable Motion Detection for each Camera?
    Yes, the device exposes itself as a “Switch”. So you can use any Routine/App that supports turning on/off switches to control the camera. It also exposes itself as an “Alarm”. When the “Alarm” interface is turned on it takes a Picture and then Enables the Motion Detection feature. The difference between the “Switch” interface and “Alarm” interface is the Picture. Where as the “Switch” interface only Enables/Disables the Motion Detection, the “Alarm” interface will take a Picture and then Enables the Camera.

  11. Can I use this with CoRE?
    Yes you can, you can use the custom commands exposed to control it via CoRE. The commands for activating/deactivating the System (sync module) are monitorOn and monitorOff. You can Enable/Disable individual camera motion detection/alerts using the enableCamera and disableCamera commands from CoRE. Command for controlling the LED status are ledOn, ledOff, ledAuto. Command for setting the video recording length is setVideoLength(x), where x is the number of seconds from 1 to 120 (these limits may change in future).
    CoRE can also read the attributes monitorStatus which reflects the on/off status on the System (sync module) and enableStatus which reflects the on/off/alarm status of the Camera.
    You can also force the camera to wake up and update it’s sensors by using the command forceSensorsUpdate. Note that this can drain the battery.

  12. What’s the difference between Activating/Deactivating the System and Enabling/Disabling the Camera?
    When the System (sync module) is Deactivated NO camera connected to the sync module will generate any motion alerts. The System (sync module) needs to be Activated to enable Motion Detection on any of the cameras connected to that sync module. When you Enable Motion Detection for a any camera, the SmartApp will automatically Activate the System (sync module) for that camera. However when you Disable a camera, the System (sync module) will still remain active, otherwise the other cameras connected to the sync module will not be able to Detect Motion.

  13. What is the best way to arm/disarm Motion Detection externally (i.e. not manually)
    There are 3 days to control Motion Detection externally (each Blink Camera shows up as a switch in a Smartapp or a Routine):

    1. Turn the switch on/off from the Routine, this will enable/disable each Camera individually (default behavior)
    2. Enable the Smart Home Monitor (SHM) integration options in the SmartApp, this will turn on/off ALL cameras when SHM arms/disarms
    3. Modify the Switch behavior via the SmartApp to control the system instead of the cameras. This will now arm/disarm the system (sync module) instead of controlling each camera individually when the switch is turned on/off from the Routine.
  14. When does Blink send Motion alerts?
    Blink’s motion sensor will send notifications only when the Motion Alerts (Motion Detection) is enabled. When Motion Detection is disabled, it will not send any alerts and will behave like a regular stand alone camera.

  15. I’m not seeing motion detection events reported from the Camera to ST.
    Make sure that Motion Alerts (Motion Detection) are enabled.
    Open your Blink Camera Manager and hit Done, this should force the ST app to setup a new connection with the Blink servers and reset the motion notification connection.

  16. How long does it take to get the motion notifications?
    It depends upon your camera’s configured recording length. The Camera will send the push notification AFTER it has finished recording the video AND uploaded it to the Blink server (this is by Blink design). It typically takes 2-5 seconds to receive the notification after the video has been uploaded (and depends upon the WiFi quality, router speed and platform speed)

  17. How can I reduce the time taken to receive the motion notification?
    Configure your Blink camera (for each camera individually) to record video for only 1 second on motion detection. This can be done through the Blink SmartApp. This will provide the fastest push notification response from the camera to the ST platform. Also make sure your WiFi network is strong and configured properly otherwise it’ll create delays in sending the notifications.

  18. How do I install/configure multiple sync modules?
    Install the Blink Camera Manager SmartApp once for each sync module. Then install with the respective email id’s for the sync module (unique to each sync module). Do NOT use the same credentials with more than one SmartApp (each SmartApp should have a unique Blink credential).

  19. Can I use this App if I’m using Blink outside USA?
    Yes you absolutely can, it support worldwide regions (plug and play). Just make sure that if you have sync modules from different regions/countries, then you MUST have different eMail accounts for each region. I.e. do NOT mix sync modules from different regions in a single eMail account.

  20. How do I get notified of updates to the code?
    Subscribe to our facebook page RBOY APPS SmartThings - Make your Home your Butler or monitor this thread.

  21. How do I get this to work with multiple Sync Modules or Multiple Blink Accounts
    Install the Blink Camera Manager SmartApp once for each sync modules/blink account that you want to control. Each install will control all cameras connected to the configured sync module/blink account. Blink allows multiple sync module per Blink account and upto 10 cameras per sync module. Just make sure that if you have sync modules from different regions/countries, then you MUST have different eMail accounts for each region. I.e. do NOT mix sync modules from different regions in a single eMail account.

  22. Does this support Blink Alarms?
    No, not yet. Blink Alarms’ haven’t been released yet! When they are we will consider adding support for it.

  23. I’m having trouble with my Blink setup, what can I do?
    Please contact Blink support for the Blink Android/iOS App and general questions about Blink. Post your questions here for all ST related Blink Device and SmartApp queries/issues.

  24. My camera is slow to upload pictures/videos to the Blink server or my videos are starting late
    The performance the Blink camera depends heavily on the configuration of your WiFi network, uploading the recording only starts after the camera connects to the WiFi (it wakes up and tries to connect to WiFi for a snapshot or recording event). Issues with WiFi can cause delayed starts or recordings or slow responses. See this post from @wsutard1 Blink Camera Issues - Slow Connection to Servers? - #5 by wsutard1

  25. How do I see my recorded motion video clips
    TBD in progress, may be made available in future.

  26. I see ‘unavailable’ on my video tile or my video doesn’t work properly and it works fine on the Blink app
    The to start the video, click on the tile until you see the play button and then click on the play button. Also note, the video tile is heavily dependent on your phone, since it’s rendered by your phone it depends upon what codecs your phone supports. So it may work on some phones and not others. Also the video tile is very very sensitive to errors in the stream. So if your network connection is slow, your camera signal is low or there any issues short of a perfect connection with your camera it won’t work. Hence it may work with some your cameras and not others. It may work sometimes and not others (depending upon your network connection quality and camera signal quality). This is a limitation of the ST Video Tile and hopefully they’ll make it hardy in future. Also note that after you start one streaming session you should wait for upto 15 seconds to restart the streaming on the same cameras to allow the Blink server to reset the connection.

  27. Can I use the camera in Smart Home Monitor (SHM)
    No, ST does not support third party cameras in SHM. You can however use it as a motion sensor in SHM.

  28. I clicked on Take picture but I see an old picture show up
    That means the the blink camera is not reachable so the app pulls the last image stored on the server. Possible reasons include camera batteries are dead, the camera can’t connect/too far away from WiFi (most likely cause), the camera is too far away from the sync module (2nd most likely) or the sync module can’t connect to the Internet (offline).

  29. I’m trying to install the app but I keep getting an error when click ‘Done’
    This affects a small percentage of users temporarily who are unlucky enough to end up with a slow ST cloud instance. Just retry after a while and hopefully the ST cloud would have load balanced itself and will execute the code faster.

  30. My battery reading keeps fluctuating
    That’s normal. Battery voltage varies depending upon the use of the camera. After a lot of recent use/activity the voltage drops. If it’s allowed to recover, after a while the voltage increases. That’s how batteries work. The app is just reporting it.

  31. My layout is a little messy, tiles are not cleanly shown, some text is off screen
    Unfortunately that’s not in our control. Usually the iOS version looks great but the Android version looks a little off/messed up. That’ an issue with the ST App design, you should report it to @slagle or @jody.albritton. Since it’s a common code base we try our best to optimize it for both ST apps but for obvious reasons we can’t make it look identical, that’s in ST’s hands.

  32. I keep seeing my recently tab fill up with activity/images every 6-15 minutes
    That’s normal. ST polls the device periodically and the device reports the latest values and images taken from the Blink server (from the server and not the camera so it won’t hurt your battery). The only way to turn this off is to edit the Device Handler code and remove the capability polling from the metadata section.

  33. How do I manually force the camera to start a recording
    Blink does not support forcing a recording start right now.

  34. Can I modify or customize the SmartApp or Device Handler code
    Under the terms of the agreement with Blink, you are prohibited from modifying or customize the code in any shape or manner. Doing do can lead to suspension or termination of your Blink account.


NOTE:

  1. This is being done in collaboration with the Blink engineers to integrate Blink into the ST ecosystem. The blink API’s have not been released publicly as yet.

This device/app is available on the RBoy apps server (along with all the rest of the premium and free apps) http://smartthings.rboyapps.com.
Visit our Facebook page to get access to all our Premium ST Apps Server and get updates on new apps. http://www.facebook.com/RBoySTApps
If you like the Apps consider supporting our development efforts.

The latest version of these apps with updates are available via membership to the RBoy server.

29 Likes

Very cool @RBoy. I’m seriously thinking about this camera system instead of more Samsung cams, and you probably just helped me decide to get a couple. Can you provide a screenshot of what the device looks like in the ST phone app?

2 Likes

I just ordered two after I saw this. Already have your app and DH installed and waiting

1 Like

The Smartapp and Device Handler you describe sound awesome. I have a couple questions about how the device would integrate with other apps such as Rule Machine. Are each camera’s motion detection and temperature sensors able to be used as triggers or conditions? Also, are disarming/arming the system, disabling/enabling notifications on each individual camera, and taking pictures available as actions in Rule Machine? Are there are any other triggers, conditions and/or actions available that I failed to mention?

Thanks.

1 Like

Anyone know If the sync module required or can the cams sync directly to SmartThings?

3 Likes

Updated the first post to answer your questions.

1 Like

Sync module required, one sync module can operate upto 10 cameras.

1 Like

Thank you for your prompt and thorough response. Items 11 and 12 on the features list would provide nearly complete integration with ST.
I have one additional question. What exactly does feature 10 (Expose interface as a Switch to control motion detection on/off (DONE!)) mean?

It can interact with ST like a switch to turn on/off motion detection

1 Like

Version 1.1.0

  • Added support for WiFi and LFR (sync module) signals
  • Improved battery reporting accuracy
  • Improve reliability of picture snapping with delayed retry if camera is busy/command incomplete
  • Updated layout with new icons
  • Added support for Rule Machine custom commands to turn on/off motion detection

Enjoy!

2 Likes

Will this be possible? I have two sync modules and presently Blink requires two different accounts. If you could handle multiple sync modules I wouldn’t have to log out and in each time.

Awesome work!

1 Like

Two logins? Hmm be honest I thought 10 cameras per module would be good for most folks.

You can try installing the smart app camara manager twice and see if that works. You will need to make one edit to it. In the definition section remove the single instance line.

Can this app arm/disarm the Blink camera automatically when you leave home/enter home? Also, can it be arm when, for example, I execute the Goodnight routine? Thanks in advanced. This looks great.

1 Like

This sounds great. I’m still fairly new to SmartThings and brand new to RBoy Apps. A couple of questions before I plunk down my $15:

  1. Is there a GitHub repo for RBoy ST Apps? If not, any plans for one?
    EDIT: I guess you’d have to make your repo public for this to work with the ST IDE, so probably a dumb question.

  2. I understand how to update the apps/device handlers, but besides randomly checking for a new version, how do I know a new version exists? This forum? Mailing list? Nothing?

Thanks!

1 Like

Follow on q: Can it only arm/disarm a subset of the cameras when a routine is triggered?

Me too. However, the price point and simple setup encourages creative uses. I have one on my 3D printer, inside a safe and monitoring the sump pump among others.

Another question… Blink is optimized for minimal battery usage. Does your code consider this? For example, temperature is not polled, but only comes along when a motion event, live view or update request is sent. When you “Get the Temperature reported by each Camera” are you polling the camera with an update request or only displaying the temperature last recorded. If the latter, this could be days old. If the former, polling this value could reduce battery life.

2 Likes

This works great. Thank you. I have a question/request. Is control of the Alerts from the individual cameras exposed to Rule Machine (I didn’t see it)? If not would this be possible? It would be great to turn the individual camera alerts on or off based on a variety of scenarios.

1 Like

Updated the FAQ’s in the 1st post to answer everyone’s questions. Thanks for your support :slightly_smiling:

2 Likes

Interesting point. Why do you feel the temperature is days old? I’ve seen it update every few hours.
I can always introduce a button to force a camera refresh / update