Custom Component: Blue Iris integration
Description
Integration with Blue Iris Video Security Software. Creates the following components:
- Camera - per-camera defined.
- MQTT Binary Sensors (MOTION, AUDIO, WATCHDOG) - per-camera defined.
- Switch (Arm / Unarmed) - only when profiles and admin username and password are provided.
- Support HLS Streams instead of H264.
- Support SSL with self-signed certificate.
How to
Requirements
- BlueIris Server available with a user
- To control profiles, user must have āadminā level permissions
- MQTT Integration is optional - it will allow to listen to BlueIris event
- Read the BlueIris manual for this component
Installations via HACS
Look for āBlue Iris NVRā and install
Integration settings
Basic configuration (Configuration -> Integrations -> Add BlueIris)
Fields name | Type | Required | Default | Description |
---|---|---|---|---|
Host | Texbox | + | None | Hostname or IP address of the BlueIris server |
Port | Textbox | + | 0 | HTTP Port to access BlueIris server |
SSL | Check-box | + | Unchecked | Is SSL supported? |
Username | Textbox | - | Username of admin user for BlueIris server | |
Password | Textbox | - | Password of admin user for BlueIris server |
Integration options (Configuration -> Integrations -> BlueIris Integration -> Options)
Fields name | Type | Required | Default | Description |
---|---|---|---|---|
Host | Texbox | + | ast stored hostname | Hostname or IP address of the BlueIris server |
Port | Textbox | + | 0ast stored port | HTTP Port to access BlueIris server |
SSL | Check-box | + | Last stored SSL flag | Is SSL supported? |
Username | Textbox | - | Last stored username | Username of admin user for BlueIris server |
Password | Textbox | - | Last stored password | Password of admin user for BlueIris server |
Clear credentials | Check-box | + | Unchecked | Workaround to clear the username & password since there is not support for optional fields (Not being stored under options) |
Generate configurations | Check-box | + | Unchecked | Will take generate store and configuration for HA, more details below (Not being stored under options) |
Log level | Drop-down | + | Default | Changes componentās log level (more details below) |
Reset components settings to default | Check-box | + | Unchecked | Will reset drown-downs of componetās creation to their default (Not being stored under options) |
Camera components | Drop-down | - | All camera | Will create camera for each of the chosen camera |
Motion sensors | Drop-down | - | All non-system camera | Will create binary sensor for each of the chosen camera |
Connectivity sensors | Drop-down | - | All non-system camera | Will create connectivity binary sensor for each of the chosen camera |
Audio sensors | Drop-down | - | All audio supported non-system camera | Will create audio binary sensor for each of the chosen camera |
Profile switches | Drop-down | - | All profiles | Will create switch for each of the chosen profiles |
Stream type | Drop-down | - | H264 | Defines the stream type H264 / MJPG |
Integrationās title
Title will be extracted from BlueIris serverās configuration, it will be set upon adding the server, and after every Optionās change
Note that in case there are 2 integrations with the same integrationās title, components will be overwritten by both integrations.
Log Levelās drop-down
New feature to set the log level for the component without need to set log_level in customization:
and restart or call manually logger.set_level
and loose it after restart.
Upon startup or integrationās option update, based on the value chosen, the component will make a service call to logger.set_level
for that component with the desired value,
In case Default
option is chosen, flow will skip calling the service, after changing from any other option to Default
, it will not take place automatically, only after restart
Control componentās creation
New feature to control which of the components will be created:
- Sensors drop-down will be available only when MQTT component is defined
- Audio sensors drop-down will include only audio support non-system camera
- Connectivity and Motion sensors will be created only for non-system camera
- In case none of the Audio, Connectivity and Motion binary sensors are being created, main binary sensor of Alerts will not be created as well
- Profileās drop-down will be available only when admin userās credentials set to the integration
- Once configuration manually changed, new camera that will be added will require manually setting configuration
- To restore defaults which allows automatically adding new camera, check the check-box of Reset components settings to default
Componentās drop-downs NONE option - work-around
As workaround for UI not allowing submitting the form without all fields with values,
First option in each drop-down is NONE,
as long as this option is checked,
it will not allow checking other items
Auto-generating configurations files:
Will create YAML with all the configurations in the config directory under blueiris.advanced_configurations.yaml:
- Input select (drop-downs)
- Script to cast based on the selection
- UI of all the components created by BlueIris based on the description above
Example of configuration output
Configuration validations
Upon submitting the form of creating an integration or updating options,
Component will try to login to the BlueIris server to verify new settings, following errors can appear:
- BlueIris integration ({host}) already configured
- Invalid administrator credentials - credentials are invalid or user is not an admin
- Invalid server details - Cannot reach the server
Password protection
Password is being saved in integration settings to .storage
encrypted,
In the past password saved in clear text, to use the encryption, please remove the integration, restart HA and re-add integration,
As long as the password will remain in clear text saved in integration setting, the following warning log message will appear during restart:
BlueIris password is not encrypted, please remove integration and reintegrate
Components
Binary Sensor - Alerts
Represents whether there is an active alert or not
Attributes |
---|
Active alerts # |
System name |
Version |
License |
Support expiration |
Logged in User |
Latitude |
Longitude |
Binary Sensor - Connectivity - Non-system-camera
Represents whether the camera is online or not (based on MQTT message)
Binary Sensor - Audio - Non-system-camera and camera supports audio
Represents whether the camera is triggered for noise or not (based on MQTT message)
Binary Sensor - Motion - Non-system-camera
Represents whether the camera is triggered for motion or not (based on MQTT message)
Binary Sensor - DIO - Non-system-camera
Represents whether the camera is triggered for digital I/O event or not (based on MQTT message)
Binary Sensor - External - Non-system-camera
Represents whether the camera is triggered for external / ONVIF event or not (based on MQTT message)
Camera
State: Idle
Attributes |
---|
FPS |
Audio support |
Width |
Height |
Is Online |
Is Recording |
Issue (Camera is yellow) |
Alerts # |
Triggers # |
Clips # |
No Signal # |
Error |
Switch - Profile (Per profile)
Allows to set the active profile, only one of the profile switches can be turned on at a time
If you are turning off one of the switch it will work according to the following order:
Profile #1 turned off, will turn on Profile #0
All the other profiles upon turning off, will turn on Profile #1
Lovelace UI Configuration
Casting
Currently the Stream Component is a bit ragged to use to cast Blue Iris video streams, which donāt need proxying.
Lovelace UI for casting
# Example ui-lovelace.yaml view entry
- type: entities
title: Cast Camera to Screen
show_header_toggle: false
entities:
- entity: input_select.camera_dropdown
- entity: input_select.cast_to_screen_dropdown
- entity: script.execute_cast_dropdown
Example of configuration output