Closed hooray4me closed 5 years ago
Can you provide more details?
Thanks
the entities don't load. In the logs it only says that blueiris hasn't been tested.
For clarification, my config directory (linux) is /home/
I created a custom_components folder here and added the blueiris sub-folder with the 4 python scripts in it and made them executable.
I updated my config file and secrets file very similar to your example. My blueiris server is on the latest version.
Any ideas?
Are you using the short camera name as id? If you are trying to access BI webserver can you see the camera over there?
If you can see it by accessing the webserver directly, try to go to the camera you are trying to add and make sure the id is the same
example:
I am. it doesn't work. Also I I get errors if I specify more than one camera. `blueiris:
host: !secret blueiris_host
port: !secret blueiris_port
profile:
armed: 1
#unarmed profile number
unarmed: 2
username: !secret blueiris_api_username
password: !secret blueiris_api_password
mqtt:
watchdog: BlueIris/[camera_id]/Connectivity
#Motion MQTT Topic
motion: BlueIris/[camera_id]/Motion
camera:
binary_sensor:
switch:
camera:
Was it solved?
thanks
no it wasn't. I ended up just adding the cameras individually to ha... Still use BI from the web.
can you try the latest version? if it still doesn't work, please send me the logs
thanks
does the config file really start with configuration? `configuration: blueiris:
host: !secret blueiris_host`
No, it just to explain that it should be at the same level of all other domain under the root tag which is configuration
blueiris:
host: !secret blueiris_host
port: !secret blueiris_port
profile:
armed: !secret blueiris_profile_armed
#unarmed profile number
unarmed: !secret blueiris_profile_unarmed
username: !secret blueiris_api_username
password: !secret blueiris_api_password
mqtt:
watchdog: BlueIris/[camera_id]/Connectivity
#Motion MQTT Topic
motion: BlueIris/[camera_id]/Motion
camera:
- name: 'Olivias Room'
#BlueIris camera's short name
id: olivia
#Room name (adds as attribute)
room: Upstairs
- name: 'Noahs Room'
#BlueIris camera's short name
id: noah
#Room name (adds as attribute)
room: Upstairs
- name: 'Driveway'
#BlueIris camera's short name
id: front
#Room name (adds as attribute)
room: Outside
custom_updater: track:
camera:
binary_sensor:
switch:
this is the logs:
2019-04-09 17:19:31 WARNING (MainThread) [homeassistant.loader] You are using a custom component for custom_updater which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 17:19:31 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 17:19:31 WARNING (MainThread) [homeassistant.components.http] legacy_api_password support has been enabled. If you don't require it, remove the 'api_password' from your http config. 2019-04-09 17:19:33 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris.camera which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 17:19:33 ERROR (MainThread) [homeassistant.loader] Unable to find platform blueiris 2019-04-09 17:19:33 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris.switch which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 17:19:34 WARNING (MainThread) [homeassistant.loader] You are using a custom component for cisco_ios.device_tracker which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 17:19:34 WARNING (MainThread) [homeassistant.loader] You are using a custom component for lennox.climate which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 17:19:43 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/home/rob/.homeassistant/custom_components/custom_updater.py", line 217, in extra_init await self.cache_versions() File "/home/rob/.homeassistant/custom_components/custom_updater.py", line 222, in cache_versions information = await self.pyupdate.get_sensor_data(True) File "/home/rob/homeassistant/lib/python3.6/site-packages/pyupdate/ha_custom/custom_components.py", line 56, in get_sensor_data components = await self.get_info_all_components(force) File "/home/rob/homeassistant/lib/python3.6/site-packages/pyupdate/ha_custom/custom_components.py", line 33, in get_info_all_components for name, component in response.json().items(): File "/home/rob/homeassistant/lib/python3.6/site-packages/requests/models.py", line 897, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 7 column 1 (char 6)
it lacks of the begining of the errors, can you cleanup the logs before starting the ha and after it fails copy that
in addition, it seems that there is a problem with your custom updater
Im going to manually install and then see what happens... BTW there is a typo in in your blueiris json file on line 17 /which.py should be switch.py
2019-04-09 18:01:57 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 18:01:57 WARNING (MainThread) [homeassistant.components.http] legacy_api_password support has been enabled. If you don't require it, remove the 'api_password' from your http config. 2019-04-09 18:01:58 WARNING (MainThread) [homeassistant.loader] You are using a custom component for cisco_ios.device_tracker which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 18:01:59 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris.binary_sensor which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 18:01:59 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris.switch which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-04-09 18:01:59 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.blueiris.camera. Make sure all dependencies are installed Traceback (most recent call last): File "/home/rob/homeassistant/lib/python3.6/site-packages/homeassistant/loader.py", line 147, in _load_file module = importlib.import_module(path) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/rob/.homeassistant/custom_components/blueiris/camera.py", line 14, in <module> from homeassistant.components.generic.camera import (CONF_LIMIT_REFETCH_TO_URL_CHANGE, ModuleNotFoundError: No module named 'homeassistant.components.generic' 2019-04-09 18:01:59 ERROR (MainThread) [homeassistant.loader] Unable to find platform blueiris 2019-04-09 18:01:59 WARNING (MainThread) [homeassistant.loader] You are using a custom component for lennox.climate which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
Here's the latest log:
2019-04-09 18:10:00 WARNING (MainThread) [homeassistant.components.http] legacy_api_password support has been enabled. If you don't require it, remove the 'api_password' from your http config. 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.blueiris.switch. Make sure all dependencies are installed Traceback (most recent call last): File "/home/rob/homeassistant/lib/python3.6/site-packages/homeassistant/loader.py", line 147, in _load_file module = importlib.import_module(path) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/rob/.homeassistant/custom_components/blueiris/__init__.py", line 18, in <module> from .blue_iris_data import BlueIrisData File "/home/rob/.homeassistant/custom_components/blueiris/blue_iris_data.py", line 4, in <module> from homeassistant.components.generic.camera import (CONF_STREAM_SOURCE, CONF_STILL_IMAGE_URL) ModuleNotFoundError: No module named 'homeassistant.components.generic' 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Unable to find platform blueiris 2019-04-09 18:10:02 WARNING (MainThread) [homeassistant.loader] You are using a custom component for lennox.climate which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 18:10:02 WARNING (MainThread) [homeassistant.loader] You are using a custom component for cisco_ios.device_tracker which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant. 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.blueiris.binary_sensor. Make sure all dependencies are installed Traceback (most recent call last): File "/home/rob/homeassistant/lib/python3.6/site-packages/homeassistant/loader.py", line 147, in _load_file module = importlib.import_module(path) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/rob/.homeassistant/custom_components/blueiris/__init__.py", line 18, in <module> from .blue_iris_data import BlueIrisData File "/home/rob/.homeassistant/custom_components/blueiris/blue_iris_data.py", line 4, in <module> from homeassistant.components.generic.camera import (CONF_STREAM_SOURCE, CONF_STILL_IMAGE_URL) ModuleNotFoundError: No module named 'homeassistant.components.generic' 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Unable to find platform blueiris 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.blueiris.camera. Make sure all dependencies are installed Traceback (most recent call last): File "/home/rob/homeassistant/lib/python3.6/site-packages/homeassistant/loader.py", line 147, in _load_file module = importlib.import_module(path) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/rob/.homeassistant/custom_components/blueiris/__init__.py", line 18, in <module> from .blue_iris_data import BlueIrisData File "/home/rob/.homeassistant/custom_components/blueiris/blue_iris_data.py", line 4, in <module> from homeassistant.components.generic.camera import (CONF_STREAM_SOURCE, CONF_STILL_IMAGE_URL) ModuleNotFoundError: No module named 'homeassistant.components.generic' 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Unable to find platform blueiris 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.blueiris. Make sure all dependencies are installed Traceback (most recent call last): File "/home/rob/homeassistant/lib/python3.6/site-packages/homeassistant/loader.py", line 147, in _load_file module = importlib.import_module(path) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen importlib._bootstrap>", line 971, in _find_and_load File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/rob/.homeassistant/custom_components/blueiris/__init__.py", line 18, in <module> from .blue_iris_data import BlueIrisData File "/home/rob/.homeassistant/custom_components/blueiris/blue_iris_data.py", line 4, in <module> from homeassistant.components.generic.camera import (CONF_STREAM_SOURCE, CONF_STILL_IMAGE_URL) ModuleNotFoundError: No module named 'homeassistant.components.generic' 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.loader] Unable to find component blueiris 2019-04-09 18:10:02 ERROR (MainThread) [homeassistant.setup] Setup failed for blueiris: Component not found. 2019-04-09 18:10:03 ERROR (SyncWorker_14) [homeassistant.components.sensor.rest] Error fetching data: <PreparedRequest [GET]> from http://localhost:5556/devices/bathroom/apps/tv.emby.embyatv/state failed with HTTPConnectionPool(host='localhost', port=5556): Max retries exceeded with url: /devices/bathroom/apps/tv.emby.embyatv/state (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7da400c518>: Failed to establish a new connection: [Errno 111] Connection refused',)) 2019-04-09 18:10:03 ERROR (SyncWorker_7) [homeassistant.components.sensor.rest] Error fetching data: <PreparedRequest [GET]> from http://localhost:5556/devices/state/oliviaroom failed with HTTPConnectionPool(host='localhost', port=5556): Max retries exceeded with url: /devices/state/oliviaroom (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7da4053f98>: Failed to establish a new connection: [Errno 111] Connection refused',)) 2019-04-09 18:10:03 ERROR (SyncWorker_8) [homeassistant.components.sensor.rest] Error fetching data: <PreparedRequest [GET]> from http://localhost:5556/devices/state/playroom failed with HTTPConnectionPool(host='localhost', port=5556): Max retries exceeded with url: /devices/state/playroom (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7d9c1b1278>: Failed to establish a new connection: [Errno 111] Connection refused',)) 2019-04-09 18:10:03 ERROR (SyncWorker_4) [homeassistant.components.sensor.rest] Error fetching data: <PreparedRequest [GET]> from http://localhost:5556/devices/state/bathroom failed with HTTPConnectionPool(host='localhost', port=5556): Max retries exceeded with url: /devices/state/bathroom (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7d9c1b1be0>: Failed to establish a new connection: [Errno 111] Connection refused',)) 2019-04-09 18:10:03 ERROR (SyncWorker_10) [homeassistant.components.sensor.rest] Error fetching data: <PreparedRequest [GET]> from http://localhost:5556/devices/oliviaroom/apps/tv.emby.embyatv/state failed with HTTPConnectionPool(host='localhost', port=5556): Max retries exceeded with url: /devices/oliviaroom/apps/tv.emby.embyatv/state (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7d9c1b6978>: Failed to establish a new connection: [Errno 111] Connection refused',)) 2019-04-09 18:10:03 ERROR (SyncWorker_5) [homeassistant.components.sensor.rest] Error fetching data: <PreparedRequest [GET]> from http://localhost:5556/devices/playroom/apps/tv.emby.embyatv/state failed with HTTPConnectionPool(host='localhost', port=5556): Max retries exceeded with url: /devices/playroom/apps/tv.emby.embyatv/state (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7d9c1cb080>: Failed to establish a new connection: [Errno 111] Connection refused',)) 2019-04-09 18:10:04 WARNING (MainThread) [homeassistant.components.sensor] Platform rest not ready yet. Retrying in 30 seconds. 2019-04-09 18:10:04 WARNING (MainThread) [homeassistant.components.sensor] Platform rest not ready yet. Retrying in 30 seconds. 2019-04-09 18:10:04 WARNING (MainThread) [homeassistant.components.sensor] Platform rest not ready yet. Retrying in 30 seconds. 2019-04-09 18:10:04 WARNING (MainThread) [homeassistant.components.sensor] Platform rest not ready yet. Retrying in 30 seconds. 2019-04-09 18:10:04 WARNING (MainThread) [homeassistant.components.sensor] Platform rest not ready yet. Retrying in 30 seconds. 2019-04-09 18:10:04 WARNING (MainThread) [homeassistant.components.sensor] Platform rest not ready yet. Retrying in 30 seconds.
what version of HA are you using?
0.88.2
component is aligned with latest version of HA v0.91, HA changed the structure of components that's why it didn't find the generic camera class
did you try that with latest version of HA?
no havent had time to make sure nothing else breaks...
Get Outlook for Androidhttps://aka.ms/ghei36
From: elad-bar notifications@github.com Sent: Saturday, April 20, 2019 12:50:57 PM To: elad-bar/ha-custom-components Cc: Rob; Author Subject: Re: [elad-bar/ha-custom-components] Cant get this to work (#1)
did you try that with latest version of HA?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felad-bar%2Fha-custom-components%2Fissues%2F1%23issuecomment-485146828&data=02%7C01%7C%7C0487f8666dfb4207773908d6c5b8bf15%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636913794595455237&sdata=dkiwu8m6zS90sjr8nfESGhnX9KqlaofVh%2FfwaK0eCjQ%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAC6TEIR6N5O7H75CSTPZXJDPRNJYDANCNFSM4HETH3WA&data=02%7C01%7C%7C0487f8666dfb4207773908d6c5b8bf15%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636913794595465260&sdata=qqZCJZJ232tWF2neI2CR1Wif6fEo%2FcQkqD18U%2F%2Fhtwk%3D&reserved=0.
I upgraded to .91. I am not able to get this to run from custom_updater.
rob@ha:~/.homeassistant$ tail home-assistant.log for name, component in response.json().items(): File "/home/rob/homeassistant/lib/python3.6/site-packages/requests/models.py", line 897, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 7 column 1 (char 6) rob@ha:~/.homeassistant$ tail home-assistant.log for name, component in response.json().items(): File "/home/rob/homeassistant/lib/python3.6/site-packages/requests/models.py", line 897, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 7 column 1 (char 6)
config:
`custom_updater:
track:
I manually updated the blueiris component. I can get the elements to show up in unused entities, but they do not work and I don't show a login in blueiris for my ha user.
No errors in the logs
_rob@ha:~/.homeassistant$ tail home-assistant.log 2019-04-23 14:53:52 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-04-23 14:53:54 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris.binary_sensor which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-04-23 14:53:55 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris.camera which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-04-23 14:53:55 WARNING (MainThread) [homeassistant.loader] You are using a custom component for myicomfort.climate which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-04-23 14:53:55 WARNING (MainThread) [homeassistant.loader] You are using a custom component for blueiris.switch which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant._
`blueiris: host: !secret blueiris_host port: !secret blueiris_port profile: armed: !secret blueiris_profile_armed unarmed: !secret blueiris_profile_unarmed username: !secret blueiris_api_username password: !secret blueiris_api_password mqtt: watchdog: BlueIris/[camera_id]/Connectivity motion: BlueIris/[camera_id]/Motion camera:
blueiris_host: 172.17.17.75 blueiris_port: 80 blueiris_api_username: ha blueiris_api_password: Bartlebee92 blueiris_profile_armed: 1 blueiris_profile_unarmed: 2
binary_sensor:
camera:
switch:
It looks like the camera_proxy_stream api is not passing the blueiris credentials to the blueiris server. I see repeated login attempts without a username on the blueiris server.
I've even set the logger level to debug for the blueiris components, but can't seem to get any more information from it.
logger: default: critical logs: homeassistant.loader: warning homeassistant.components.blueiris: debug homeassistant.components.blueiris.camera: debug homeassistant.components.blueiris.binary_sensor: debug homeassistant.components.command_line.sensor: critical homeassistant.components.rest.sensor: critical
I found that it won't work if you have use secure session keys enabled, which kinda stinks... with out it I don't get the nice UI3 login page or the security that comes from it.
do you have any examples of what controls I can use for these cameras as ui cards?
I'm not using it, will check it in the weekend and see how to fix that security settings, I'm using the motion sensor on top of the image from the camera, It supports binary sensors of:
2 first just added thanks to @darkgrue
In addition switch to control whether the BlueIris is armed or not:
The Use secure session keys and login page
uses HTTP_DIGEST_AUTHENTICATION
. Which you probably don't want to use for two reasons. First, I see in other component integrations there are comments that "currently aiohttp only works with basic authentication". Also, if you wish to use Casting, I don't think Chromecast or Google Assistant supports passing authentication values (though you may get away with passing it in the URL, not clear on that - but you cannot perform HTTP Digest auth passing values in the URL, it must be in the header). So, to cast you'd need to set Require from Non-LAN only
, and uncheck Use secure session keys and login page
.
To be fair, HTTP Digest auth only gives you marginal better security, you'd be far better served setting up SSL (which appears to be another prerequisite for integrating with Google Assistant). I threw another Pi running a NGINX reverse-proxy in front of my Home Assistant and Blue Iris servers for that reason.
do you have any examples of what controls I can use for these cameras as ui cards?
@hooray4me these are the Lovelace cards I use in my setup so far. I'm using one custom card custom:vertical-stack-in-card
that would be a prerequisite. You can use a regular vertical-stack
if you don't want to install the custom one, and it'd be perfectly functional. I think the custom one looks better.
Obviously some of the entity names would have to be edited to reflect your configuration, but it'll get you started on ideas on how to display your cards and sensors...
cards:
- type: custom:vertical-stack-in-card
cards:
# System cameras
- type: horizontal-stack
cards:
- type: custom:vertical-stack-in-card
# title: All Cameras
cards:
- type: picture-entity
entity: camera.bi_all
name: All
show_state: false
- type: custom:vertical-stack-in-card
# title: Camera Cycle
cards:
- type: picture-entity
entity: camera.bi_cycle
name: Cycle
show_state: false
# Blue Iris Armed / Disarm Profiles
- type: entities
title: Blue Iris
show_header_toggle: false
entities:
- entity: switch.bi_alerts
name: Arm / Disarm
# Front Door camera
- type: custom:vertical-stack-in-card
# title: Front Door
cards:
- type: picture-entity
entity: camera.bi_front_door
name: Front Door
show_state: false
- type: glance
entities:
- entity: binary_sensor.bi_front_door_motion
name: Motion
- entity: binary_sensor.bi_front_door_audio
name: Audio
- entity: binary_sensor.bi_front_door_watchdog
name: Watchdog
# Front Drive camera
- type: custom:vertical-stack-in-card
# title: Front Drive
cards:
- type: picture-entity
entity: camera.bi_front_drive
name: Front Drive
show_state: false
- type: glance
entities:
- entity: binary_sensor.bi_front_drive_motion
name: Motion
- entity: binary_sensor.bi_front_drive_audio
name: Audio
- entity: binary_sensor.bi_front_drive_watchdog
name: Watchdog
# Garage camera
- type: custom:vertical-stack-in-card
# title: Garage
cards:
- type: picture-entity
entity: camera.bi_garage
name: Garage
show_state: false
- type: glance
entities:
- entity: binary_sensor.bi_garage_motion
name: Motion
- entity: binary_sensor.bi_garage_audio
name: Audio
- entity: binary_sensor.bi_garage_watchdog
name: Watchdog
@darkgrue how do I get audio and watchdog into my configuration?
@darkgrue how do I get audio and watchdog into my configuration?
I just put in a pull request (#7) with updated documentation and screenshots that shows the necessary configuration in Blue Iris to support the new MQTT messages. You can see the new documentation on my fork (it's not real practical to try an read it through the pull request, I think).
The new alerts only work with cameras that support it, of course. If the AUDIO
and EXTERNAL
events don't work in BI with your camera, they won't ever trigger a MQTT message for those events, either.
and is there a way to limit the cameras in the cycle? I have 3 cams, one is outside and the other 2 are for my kids rooms when they are sleeping. I'd like to cycle just 2 of the 3
also there is a typo in the blueiris.json for the customer updater. switch.yaml is witch.yaml.
and is there a way to limit the cameras in the cycle? I have 3 cams, one is outside and the other 2 are for my kids rooms when they are sleeping. I'd like to cycle just 2 of the 3
The "All" and "Cycle" cameras are internally-generated views created by Blue Iris. I didn't see any options to specify which cameras get included in those views. But that configuration would be done on the BI side, if it was possible.
The only other functionality I'd like to see is a toggle for infrared...
@darkgrue How do the additional binary sensors get created? I can see the mqtt topic come thru when I unplug the camera... but a binary sensor isn't getting created...
The only other functionality I'd like to see is a toggle for infrared...
There's a pretty extensive JSON interface for Blue Iris (which appears to be mirrored by the HTTP interface, even if it isn't fully documented as such), that can do that. I'm thinking about trying to implement a better integration with that, but it's getting towards the edges of the limits of my understanding of the HA architecture and OO programming. (I'm also wondering if polluting the entity space with tons of auto-generated switches makes sense, since not all BI cameras are going to be able to support the associated actions.)
However, in the meantime, you could always create switches with scripted actions inside of HA (number of different ways to do that, look at something like an Command Line Switch; or use the BI REST interface with a RESTful Switch, probably a few dozen other ways...).
Something (not tested) along the lines of this might work:
http://[{username}:{password}@]{host}:{port}/cam/{cam shortname}/pos=34 # IR on
http://[{username}:{password}@]{host}:{port}/cam/{cam shortname}/pos=35 # IR off
I'd recommend getting it working in BI with a web browser and/or CURL first, then working on the HA part, 'cause if it doesn't work in BI first, trying to get it working in HA is going to be futile.
@darkgrue Now you're speaking my language... I'm very big into json/bash/etc.. Thanks!
@darkgrue How do the additional binary sensors get created? I can see the mqtt topic come thru when I unplug the camera... but a binary sensor isn't getting created...
Should just work, but it's possible all the necessary prerequisite configurations haven't been met. I'm not familiar with troubleshooting this issue. Things to check:
Enable discovery
box when you configure the integration.@darkgrue Now you're speaking my language... I'm very big into json/bash/etc.. Thanks!
You're welcome!
Also, keep in mind that if Blue Iris' integration with your cameras doesn't support a feature, you could use the same technique to just call the camera's API directly (if it has one). You wouldn't necessarily have to have BI proxy the command (though it might be preferable from the standpoint of notifying BI of state changes in the camera, assuming BI wouldn't be notified otherwise, or was tracking them at all).
I saw the rest API earlier today and thought to switch to it... hope that I'll have some results by the end of the weekend
I saw the rest API earlier today and thought to switch to it... hope that I'll have some results by the end of the weekend
You'll probably beat me to it. It looks like most/all the status and UI controls (with the obvious exceptions of setup and configuration), is exposed with the API. It looks like the REST and the HTTP APIs are pretty symmetrical, even though the docs might lead you to think they're not.
BTW, looks like the API can return the list of and status of all the cameras, so that per-camera configuration can be eliminated too and the platform can auto-discover (though probably would want to create an exclude pragma, like the other discoverable platforms have, to be able to not show particular cams in HA you may want to still see in BI without hiding them there too).
Right now I'm trying to figure out the problems with casting. I need to start troubleshooting the input_select.py
module. I've only started looking at it, but it doesn't seem to be building the list entities, and I'm not sure if that's because it's not being called at all, or there's a problem. Following the Chromecast-style cast-to-device working from Lovelace instructions, I've got that working basically doing the same thing by hand (yaml config). But building those lists programmatically would be much slicker.
The other, bigger priority, for me is getting Google Assistant streaming to work - I want to be able to tell a HUB "Show me the Front Door camera" - because I can't get that working at all.
I think I know why the integration isn't exposing cameras to GA, but even setting a camera up manually using the Generic Camera component doesn't fully succeed. Because even though doing it that way GA can see that camera with a sync devices
command, when I tell it to show the camera (or invoke camera.play_stream
), it will respond to the command by saying it's playing, I see a HA log entry that indicates the Stream component is being pinged, and the Hub looks like it's running a player... It basically shows a black screen until it times out and returns to the homepage/screensaver. I can't see any errors anywhere that indicate why. I don't know if it's because there's some setting in BI I've mucked up, or just the HA stream component doesn't work fully yet (I'm on hass.io on a Raspberry Pi, BTW). I've tried HTTP, HTTPS, and every different streaming URL BI offers with the same result. Frustrating, 'cause it looks like other people might have success (which makes me wonder if other people are on different HA platforms and the problem is hass.io isn't caught up). =(
I do some automation like this to play a movie from my emby server onto my daughter's firestick in her room.
I'm not a fan of the Google Home/Alexa listening devices... I'll take a look at casting to my firesticks though! Mine HA on Ubuntu Server 18.04 straight home assistant in a Python virtual environment on fitlet-x hardware.
I'm not a fan of the Google Home/Alexa listening devices... I'll take a look at casting to my firesticks though!
I've got a lot of mixed feelings about them, but at the same time, it's pretty clear that the voice control of Google Assistant is that one feature that people really expect out of home automation, even if they might not use it.
And let's face it, getting it to work with BI, or with some $25 Dafang-Hacks piece of hardware, instead of a $200-300 Nest cam... I can buy a LOT of T20-SOC-based cameras before I can buy even one Nest. Or buy more HA hardware, or beer...
managed to understand how the rest API is working including the pre-login and login (claim token), the following details available for status: alerts, clips, cpu, mem, memfree, profile, signal, uptime, disks [] for each disk - allocated, disk, free, total, used
camera list - for each camera: name, short name (ID), active, FPS, color, ptz, audio, width, height, new alerts, last alert, alert utc, webcast, is enabled, is online, hidden, temp full, active, type, profile, lock, pause, is paused, is recording, is manual recording, manual recording elapsed, manual recording limit, is yellow, is motion, is triggered, is no signal, is alerting, number of alerts, number of triggers, number of clips, number of no signal, error
Set configuration in level of the web server or specific camera
Didn't find (yet through REST API) how to set IR state, but will be able to add it through regular API
I'm planning to:
What do you think?
by the way, the rest api is much faster and it can be called every 5-10 seconds without noticing any difference in the machine running the BI.
the main purpose of the input_select.py was to generate dropdown to allow casting, the problem was that I didn't manage to initiate it, though about different approach with that - by set new state of HA with all the options.
I like it. Anything REST is going to be faster... the sheer size of the call is smaller and processes more efficiently.
Maybe you can explain something to me in blueiris... what is the methodology behind armed vs disarmed and the multiple profiles. I'm wondering if I'm not using BI to its fullest capacity.
also ir ON: {"cmd":"ptz","session":"182c8a04f7d4ab042ff8e4a2","camera":"olivia","button":"34"} ir OFF: {"cmd":"ptz","session":"182c8a04f7d4ab042ff8e4a2","camera":"olivia","button":"35"}
Is there anything special I need to do to get this work?