BlueIris Plugin  

Developer: Glenn's Plugins     Like this plugin? Show your appreciation!
Category: Security & Locks
Github: Github Repo
Assistance: Get help!   
Plugin ID: com.GlennNZ.indigoplugin.BlueIris
Latest release: v1.0.0 released on March 25, 2018
Requires: Indigo v7.0.2 or higher
(Check the Releases tab below for older releases that may have different requirements)
  Download latest release

BlueIris Indigo Plugin

https://s17.postimg.org/mv5typblr/icon.png

Have put together the Indigo Plugin for BlueIris windows based Cam Server Software.

This plugin creates BlueIris Server Device and BlueIris Cameras within Indigo. With these devices you can monitor the current condition of Server (CPU/Mem etc) and also trigger Cameras to record. There are multiple actions that Indigo can perform on each or multiple cameras - IR on/IR off, Ptz cycle on, enable/disable camera/motion etc.

From within BI we also setup communication back to Indigo - this enables immediate indigo awareness of any camera based motion events. So Indigo based events can be triggered on one or multiple cameras - eg. motion turn lights on etc. There is a small amount of setup required within BI for each Camera to enable this.

Here: http://www.indigodomo.com/pluginstore/149/

Indigo 7 Only

Installation Download, Enable.

For Neatness I suggest creating a BlueIris Directory - which the plugin will use. https://s17.postimg.org/41k11akz3/Create_Directory.png

Go to Plugin Config

https://s17.postimg.org/7l5yr4xzj/Plug_Config1.png

Enter: BlueIris Server: IP address Port Used for Webserver: Username Password

(for some actions your BI account needs to be admin enabled)

0.6.0 Change

Changes to Plugin managing it's own Http Server:

Need to put port number of server in PluginConfig:

Default port 4556

Can be changed to any allowed port if needed.

Click Login/Generate Server Device, here: https://s17.postimg.org/9pqbs74r3/Plug_Config_Loginbutton.png

(This will generate a main BI server device in either BlueIris directory or main) https://s17.postimg.org/jzsqrg2cf/Main_Device_Created.png

if all goes well -- Generate Cameras button should appear https://s17.postimg.org/qdhtuorsv/Generate_Camera_Button.png

Click this - to generate all your camera devices...

https://s17.postimg.org/9cyxm19mn/List_Camera_Devices.png

Main BI Server Device

http://i66.tinypic.com/1qh4yf.png

Generates this device with status options

http://i64.tinypic.com/fongab.png

Allows CPU,Mem Monitoring etc and triggering if CPU gets out of hand


BlueIris Server Camera End Setup

To enable triggers from with the plugin - add http://192.168.1.6:4556/&CAM/&TYPE/&PROFILE/True or http://192.168.1.6:4556/&CAM/&TYPE/&PROFILE/False

eg. IndigoIP = 192.168.1.6, Port selected in PluginConfig: 4556

``` When Triggered http://192.168.1.6:4556/&CAM/&TYPE/&PROFILE/True POST text: Indigo

Request again when trigger is reset http://192.168.1.6:4556/&CAM/&TYPE/&PROFILE/False POST text: Indigo ```

to each camera in BlueIris; Camera: Alerts, request from web service: When triggered. &

BI ScreenShots:

http://i68.tinypic.com/30agg7c.png


This has changed from new version 0.6.0 Same for everyone - no longer different for Basic/Digest Authenication

Allows:Motion On& Off, and adds

Add new Camera Device States: lastMotionTriggerType possible results - TEST [from the Test button] - MOTION - AUDIO - EXTERNAL - WATCHDOG

timelastMotion = time of last Motion Detection

This will trigger and update camera in Indigo everytime triggered or motion sensor changes - this happens immediately.


Actions:

There are multiple support actions that can be performed on each/some/or the Server

https://s17.postimg.org/vowqfdqq7/Action_Options.pnghttps://s17.postimg.org/vowqfdqq7/Action_Options.png

https://camo.githubusercontent.com/6da5f1a4ee61eefae425c1064cfc4ff058fdc757/687474703a2f2f6936332e74696e797069632e636f6d2f33327a693235642e706e67

Recent Actions Added

Add Enable/Disable Generate Animated Gifs as Action Group per Camera/s [this enables you to change the camera settings with an action as required - e.g arrived home; stop making them]

Add Status PluginTriggeringEnabled to each Camera. [this enabled you as an action to disable any Plugin Based triggering [this doesn't affect BI Server] eg. arrived home - Disable this setting and no Plugin Triggers for this camera will occur]

PluginTriggeringEnabled for all Cameras reset at Plugin startup to Enabled.

Triggers

The Plugin also creates a Trigger which is run when the selected Camera(s) detects motion.

You can select multiple cameras:

https://s17.postimg.org/si26vsgkv/Select_Trigger_Cameras.png

The triggering of these alerts is dependant in the settings that are created within BlueIris as above - including the retrigger timeout - will not retrigger until this time has passed.

Camera Device Options

The Camera Devices have a few user configurable options:

  • Save Image if Camera Triggered
  • Width in Pixels of image (up to maximum of the camera) Proportions are left unchanged

http://i65.tinypic.com/ftzfw1.png

If this option is select the plugin will download an image from this camera locally everytime it is triggered. It is stored in path /User/Documents/Indigo-BlueIris/

This image can be used in Control Pages (showing last triggering) or used to send via iMsg/PushOver etc with these plugins.

Animated GIFs Created

From version 0.6.0

The Plugin can also generate an Animated Gif for each Camera. This can be done automatically if triggered from within the Camera Device settings, or it can be performed as an Action on selected Cameras

The animated Gif once triggered is then generated - eg. if length is 10 seconds 15 images/10 seconds are taken, and then packaged and sent, so if being used in a action group will need to add appropriate delay for it all to be created.

The way I have done this is to use two external calls - one to build-in Sips app to convert jpg to Gif. The next is to package gifiscle within the plugin and this is called to create the Anims. Separate threads are created so there is no main-thread time impact for this. There are no additional libraries required (I hope....)

Options

These can then be sent via imsg very easily with the following Applescript action group.

delay 5 tell application "Messages" set myid to get id of first service set theBuddy to buddy "toemailaddress" of service "E:fromemailaddress note the E:" send POSIX file "/Users/Username/Documents/Indigo-BlueIris/CameraNameShort/Animated.gif" to theBuddy end tell

Would suggest this is best in a external script given the time to run aspects. Delay above depends on how long images are captured for.

Glenn

Release details
Released on: March 25, 2018
Requires: Indigo v7.0.2+
Changes in this release

Version 1.0.0

Add streams information so this can be used by HomeKit

Release details
Released on: Feb. 27, 2018
Requires: Indigo v7.0.2+
Changes in this release

Version 0.9.9

Changes:

  • Adds action Group to generate clipList html file of recently recorded files
  • Add Config Advanced options: ServerTimeOut, Recommend 5, and ImageDownload Timeout - recommend 10
  • Adds Network timeout awareness to all interactions to deal with dodgy connections/speed/Server load issues
  • Catch and deal with requests connectionissues/errors/timeouts
  • Debug code changing/logging changes

The new Action Group - Create Cliplist Html for Cameras

Select the Cameras (I do all) and then select the number of hours to go back and display the clips. (in hours)

This will go back the selected hours and for the selected cameras generate a cliplist of recent alerts/videos. The plugin then creates html file/s (stored in IndigoWebServer/static which can be used to display these clips).

Clicking on the clip then opens the video/playback/audio etc.

From within Indigo Touch - in a Control Page use go to external URL and use this URL to navigate here. This will on my ipad open Safari and display nicely - can play videos by clicking, or just browse the thumbnails, and then click back top left arrow to go back to Touch.

(There is a Cross-Origin Domain issue with Chrome where the images won't show - so for the moment Safari it needs to be.)

eg. Location: IndigoIP:IndigoPort/static/CameraName-cliplist.html eg 192.168.1.6:8176/static/FrontLow-cliplist.html

If I can think of better Indigo Touch integration I'll change.

But I am very pleasantly surprised at how useful this is going to be, as when I start down this cliplist road I wasn't quite sure how it was going to end up useful in Indigo!

Network Timeout Awareness

  • Add Config Advanced options: ServerTimeOut, Recommend 5, and ImageDownload Timeout - recommend 10 These are default values and if not interested will be set Change in Plugin Config Advanced Settings if checkbox enabled.

eg. http://i68.tinypic.com/r2w6sj.png

Release details
Released on: Feb. 25, 2018
Requires: Indigo v7.0.2+
Changes in this release

0.9.3

  • Code hardening for catching intermittent issues/add checks for correct data received before moving ahead.
  • Catching of any intermittent Network issue.=s
  • Change to default startup behaviour - cameras default to online; so remain online after editing preferences
  • Add check for two BIServer devices at startup
  • Change to update logging/turn off
Release details
Released on: Feb. 24, 2018
Requires: Indigo v7.0.2+
Changes in this release

Version 0.8.5

This add a new Action group to generate a recent ClipList for playback of recently recorded files. (! )

This is the only addition but has taken a bit of time. Consider this addition a bit of a test, but if not running this action group - nothing specific has changed.

The new Action Group - Create Cliplist Html for Cameras

Select the Cameras (I do all) and then select the number of hours to go back and display the clips. (in hours)

This will go back the selected hours and for the selected cameras generate a cliplist of recent alerts/videos. The plugin then creates html file/s (stored in IndigoWebServer/static which can be used to display these clips).

Clicking on the clip then opens the video/playback/audio etc.

From within Indigo Touch - in a Control Page use go to external URL and use this URL to navigate here. This will on my ipad open Safari and display nicely - can play videos by clicking, or just browse the thumbnails, and then click back top left arrow to go back to Touch.

(There is a Cross-Origin Domain issue with Chrome where the images won't show - so for the moment Safari it needs to be.)

eg. Location: IndigoIP:IndigoPort/static/CameraName-cliplist.html eg 192.168.1.6:8176/static/FrontLow-cliplist.html

Try it out!
If I can think of better Indigo Touch integration I'll change.

But I am very pleasantly surprised at how useful this is going to be, as when I start down this cliplist road I wasn't quite sure how it was going to end up useful in Indigo!

Release details
Released on: Feb. 23, 2018
Requires: Indigo v7.0.2+
Changes in this release

Version 0.8.0

Changes:

Adds BlueIris Server States:

diskfree, diskallocated, disktotal, diskused [First disk only which should be main storage] Are numbers so can run triggers when less than/greater than etc from within Indigo diskname Path to current main storage clipsInfo state eg. Something like this: As a string of current storage/drive/info Clips: 30870 files, 0.97T/1.00T; \FILESERVER2012 +250.5G, C: +153.4G

Add Action to Download Image for Selected Camera(s)

Also thread the download image code in case massive delays in multiple image downloads (surprisingly uncommon - I have only seen it once)

Add try/exception to getCamlist code pending more information

Update Updater to use curl to bypass github download TLSv1 error

Add Folder Selector in PluginConfig - can select folder to save images and Animated Gif to.

Must have write access. Should check this on entry. Blank or none defaults to current.

Release details
Released on: Feb. 21, 2018
Requires: Indigo v7.0.2+
Changes in this release

0.7.6

  • New Version Requires different setup from within BlueIris. Moves to its own Server to enable better communication/more information and no future issues.
  • Other changes include Animated Gif Support

Change from 0.7.0

  • add Trigger option on Motion False/Motion Stopped
  • adds Variable lastAnimGif which is automatically updated to the path of the last AnimGif created (can be used to send iMsg via Applescript without knowing what camera was triggered)
  • few debugging changes

Major changes

  • Animated GIF support; working well ...
  • Add action to create Gif per Camera(s) when run - can then be sent etc. as required; rather than generated with each trigger (although that is also possible with Camera Setting) Closes #1
  • Add PluginTriggeringEnabled setting for Cameras to True/False - if set to False with Action Camera will not trigger within Plugin.

Major change is plugin built in ## Http Threaded Server

0.6.0 Change

Changes to Plugin managing it's own Http Server:

Need to put port number of server in PluginConfig:

Default port 4556

Can be changed to any allowed port if needed.

In Plugin Config select port to use and then will start its own server on this port. Will need to reconfigure BlueIris Server web requests/alerts to this server

```
When Triggered http://IndigoIP:4556/&CAM/&TYPE/&PROFILE/True POST text: Indigo

Request again when trigger is reset
http://IndigoIP:4556/&CAM/&TYPE/&PROFILE/False
POST text: Indigo

```

see here:

https://camo.githubusercontent.com/6b17f5f6af6a53cdc448035d2af006fb7776dfec/687474703a2f2f6936382e74696e797069632e636f6d2f333061676737632e706e67

Recent Actions Added

Add Enable/Disable Generate Animated Gifs as Action Group per Camera/s [this enables you to change the camera settings with an action as required - e.g arrived home; stop making them]

Add Status PluginTriggeringEnabled to each Camera. [this enabled you as an action to disable any Plugin Based triggering [this doesn't affect BI Server] eg. arrived home - Disable this setting and no Plugin Triggers for this camera will occur]

PluginTriggeringEnabled for all Cameras reset at Plugin startup to Enabled.

Animated GIFs Created

From version 0.6.0

The Plugin can also generate an Animated Gif for each Camera. This can be done automatically if triggered from within the Camera Device settings, or it can be performed as an Action on selected Cameras

The animated Gif once triggered is then generated - eg. if length is 10 seconds 15 images/10 seconds are taken, and then packaged and sent, so if being used in a action group will need to add appropriate delay for it all to be created.

The way I have done this is to use two external calls - one to build-in Sips app to convert jpg to Gif. The next is to package gifiscle within the plugin and this is called to create the Anims. Separate threads are created so there is no main-thread time impact for this. There are no additional libraries required (I hope....)

Options

These can then be sent via imsg very easily with the following Applescript action group.

delay 5 tell application "Messages" set myid to get id of first service set theBuddy to buddy "toemailaddress" of service "E:fromemailaddress note the E:" send POSIX file "/Users/Username/Documents/Indigo-BlueIris/CameraNameShort/Animated.gif" to theBuddy end tell [Ideally as external script.]

This is more robust, avoids dependency on variables and the subscription to variable changes that was needed. I suspect overall is more light weight. Allows triggering on start and stop motion (in future) also sends the reason for trigger e.g. external, test, audio etc.. And as a plus removes the Web Server log entries - which were harmless but a bit annoying.

Still testing currently... but so far so good, the more testing the better - thanks...But will likely merge with main branch and update release soon.

Please test........!

Release details
Released on: Feb. 17, 2018
Requires: Indigo v7.0.2+
Changes in this release

Version 0.4.1

Pulling all possible information from BI Server now.....

Changes: - Fix for Wrong PluginName for Update

Add Additional Custom States to Server Device

  • SystemName - Name of System
  • Admin - Whether current user is admin or not
  • Audio - Audio enabled
  • Clips
  • User - Reported Username from BI
  • Latitude
  • Longitude
  • Version - BI Version Number

Add States to BI Camera Device

  • Camera Motion Detector On/Off True/False
  • Camera Paused -1,0 as per BI
  • Camera PtzCycle active True/False

Some of these states require the Indigo Plugin BI Username to have admin rights on the BI server. I have added quite a few checks to capture when they are not, even if changing back and forwards without restarting.
If you don't want to be a BI Admin user - thats fine - the these new states will remain blank.

If any CamConfig commands are run - will immediately update on Camera Device the new setting (Motion Detector off etc.)

Release details
Released on: Feb. 17, 2018
Requires: Indigo v7.0.2+
Changes in this release

0.3.6

  • Remove a few unneeded menu items
  • Updating code functioning. Waiting new StoreAPI
  • Update menu items updated.
  • Fix/Oops
Release details
Released on: Feb. 17, 2018
Requires: Indigo v7.0.2+
Changes in this release

Remove a few unneeded menu items Updating code now functioning. Waiting new StoreAPI Update Plugin menu items updated. New, updated Readme

Release details
Released on: Feb. 16, 2018
Requires: Indigo v7.0.2+
Changes in this release

Version 0.3.3

Adds Cam Configuration Action Groups (need BI admin access to run these)

Selectable for each Camera; Allows: - Send Reset to Camera - Enable/Disable Motion Detection - Enable/Disable Camera - Start PTZ Cycle/Stop PTZ Cycle - Pause/Unpause

http://i63.tinypic.com/32zi25d.png

Obviously quite useful to be able to turn off/on from within Indigo!

Release details
Released on: Feb. 16, 2018
Requires: Indigo v7.0.2+
Changes in this release
  • Change Triggers to List - can select multiple one/two/all cameras for each trigger created (Will need older triggers deleted - and redone - sorry - the problem of being on the cutting edge!)
  • Delete all non user, debug logging unless debug options selected