Blue Iris UI3

DarkHelmet

Getting the hang of it
Joined
Feb 26, 2017
Messages
167
Reaction score
66
I was just typing an and edit but you beat me to it :D

I see they are targeting different things, so I could use both methods. myCss to hide buttons. Within admin checker to use standard override format to hide menu items. Awesome. I'll get to testing!
 

DarkHelmet

Getting the hang of it
Joined
Feb 26, 2017
Messages
167
Reaction score
66
After testing, the 'myCss' bits are working perfectly to hide buttons from non-admins.

The other settings overrides are being applied to everyone, however. Here's what I have:
I also tried changing overrideSettings(false); to true just in case, but that made no change.
 
Last edited:

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,676
Reaction score
14,023
Location
USA
After testing, the 'myCss' bits are working perfectly to hide buttons from non-admins.

The other settings overrides are being applied to everyone, however. Here's what I have:
I also tried changing overrideSettings(false); to true just in case, but that made no change.
Oh, hmm, it turns out there were problems with the implementation of OverrideDefaultSetting and that flag specifically. Fixed in UI3-268. I think it should work properly now if you install that update.
 

DarkHelmet

Getting the hang of it
Joined
Feb 26, 2017
Messages
167
Reaction score
66
No joy as yet. Copied over new version files and restarted BI service. Here's my full overrides file so you can see it in context. Perhaps I have something laid out incorrectly. Again, myCss stuff is working perfectly! It's just the "OverrideDefaultSetting" lines that are applying to users and admins alike.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,676
Reaction score
14,023
Location
USA
@DarkHelmet
That script is working as intended on my system. Perhaps the difference is that I misunderstood your intent.

The OverrideDefaultSetting function was only originally meant to be used before the list of default settings is processed -- which is shortly after the DOM is ready, and long before the session's permission level is known. That is what the overrideSettings(false); call on line 59 accomplishes. When we call OverrideDefaultSetting from the "Login Success" event handler, it is no longer able to affect the live settings object. When it is called this late, it only manages to change metadata about each setting (which is read by the UI Settings panel to know which settings to hide, what the default values are, etc).

If you wanted to leave admin users completely alone and only apply any of those settings changes to non-admin users, then that can't be accomplished simply via the OverrideDefaultSetting function. You can't just change the settings either (e.g. settings.ui3_is_maximized = "1") because for the most part UI3 does not react to sudden changes in the settings object. You'd have to call maximizedModeController.EnableMaximizedMode() instead.

For some of the settings, you can actually set them (e.g. settings.ui3_topbar_alerts_confirmed_shortcut_show = "1";) and then call their onChange function (OnChange_ui3_topbar_alerts_confirmed_shortcut_show()) to make UI3 react to the change. But not all of the settings have an onChange function. You'd have to research how each setting is declared and used and identify the appropriate functions to call.

As another example, ui3_streamingQuality is another setting that doesnt have an onChange function. You'd need to instead call genericQualityHelper.QualityChoiceChanged("1080p VBR^").
 

DarkHelmet

Getting the hang of it
Joined
Feb 26, 2017
Messages
167
Reaction score
66
Oh I see. I mean even just having the myCss function working is awesome. Hiding those buttons is enough to make 99% of my users not know how or be able to change things.

I'll look through the rest of the javascript to find the functions you mentioned for everything else and see if I can't figure that out.

Thanks for all the help!
 
Last edited:

EvanVanVan

Pulling my weight
Joined
Jul 29, 2022
Messages
135
Reaction score
102
Location
NJ
In the full Blue Iris app, you can right click a cancelled alert and Confirm Alert and the alert moves to the Confirmed Alerts list.

In UI3, you can right click alerts and Mark as AI-Confirmed but all that appears to do is give the alert a checkmark? It doesn't move the alert to the Confirmed Alerts. It works the same on already confirmed alerts, the option is to Mark not Unmark (which adds a checkmark).

Are these supposed to be equivalent functions between the app the web ui? Maybe it's just a limitation of what's possible via the web ui? Is there a way of actually confirming the alert (and moving it to the correct list)?

Thanks
Hi @EvanVanVan

Thanks for reporting the issue!

Yes, those functions are supposed to be equivalent. Something is broken. I've just sent Ken a support request detailing what is going on and asking for his input on the matter.
Fixed in the latest update, thank you!
 

MrRobinHood

Getting comfortable
Joined
Nov 29, 2021
Messages
182
Reaction score
340
Location
England
How can I tell which camera the default audio is coming from on the overlay timeline view? And is this changeable?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,676
Reaction score
14,023
Location
USA
What is "the overlay timeline view"?

When viewing a camera group in UI3, all the audio streams from the visible cameras are combined into one stream by Blue Iris. Not changeable as far as I know.

On UI3's timeline tab, Blue Iris only sends audio when you are LIVE, not when looking at past clips.
 

TheWaterbug

Getting comfortable
Joined
Oct 20, 2017
Messages
763
Reaction score
1,661
Location
Palos Verdes
What can I do to troubleshoot the dreaded "The video stream was lost. Attempting to reconnect..." messages? Running BI 5.6.5.4 with 18 modest cameras on an i7-6700 (see .sig).
Based on this thread I turned off HA on my box, and halle-freakin-lujah, I think this may have solved this problem. I've been banging on the arrow keys like a wild monkey for the last 30 minutes, and I've yet to see the dreaded error. Even with all 23 cameras on the timeline the video always recovers and starts playing within 2-3 seconds, and with 4 cameras on the timeline it recovers within a fraction of a second.

If this holds up it will make my daily footage review sooooo much better!
 

MrRobinHood

Getting comfortable
Joined
Nov 29, 2021
Messages
182
Reaction score
340
Location
England
What is "the overlay timeline view"?

When viewing a camera group in UI3, all the audio streams from the visible cameras are combined into one stream by Blue Iris. Not changeable as far as I know.

On UI3's timeline tab, Blue Iris only sends audio when you are LIVE, not when looking at past clips.
I mean the screen where you see all the thumbnails, the main timeline view.

So it's a combined stream, right, I see, thanks for the clarification.
 

TheWaterbug

Getting comfortable
Joined
Oct 20, 2017
Messages
763
Reaction score
1,661
Location
Palos Verdes
Based on this thread I turned off HA on my box, and halle-freakin-lujah, I think this may have solved this problem. I've been banging on the arrow keys like a wild monkey for the last 30 minutes, and I've yet to see the dreaded error. Even with all 23 cameras on the timeline the video always recovers and starts playing within 2-3 seconds, and with 4 cameras on the timeline it recovers within a fraction of a second.

If this holds up it will make my daily footage review sooooo much better!
Nope. It's back this morning :mad:
 

gurpal2000

n3wb
Joined
Dec 9, 2021
Messages
9
Reaction score
2
Location
UK
Additional hack suggestion: Wrap your iframe in another card (e.g stack-in-card) and then set overflow:hidden to the stack-in-card. Then apply negative margin-bottom to your iframe-card. Could even set the margin as a variable that you could then control with a toggle switch, automation etc...
Like this? I'm still able to click and bring up the BI menu/etc

Code:
views:
  - type: custom:grid-layout
    layout:
      grid-template-rows: 65% 35%
      grid-template-areas: |
        "top"
        "bottom"
    cards:
      - type: picture
        image: https://demo.home-assistant.io/stub_config/t-shirt-promo.png
        tap_action:
          action: none
        hold_action:
          action: none
      - type: custom:stack-in-card
        mode: horizontal
        cards:
          - type: iframe
            url: >-
              http://xxxxxxx:81/ui3.htm?tab=live&maximize=1&timeout=0&cam=Cam3&streamingprofile=480p
            aspect_ratio: '16:9'
            card_mod:
              style: |
                margin-bottom: -100px
        card_mod:
          style: |
            overflow: hidden
 

bigscout79

n3wb
Joined
Mar 30, 2018
Messages
7
Reaction score
1
I think I read all 214 pages! Thank you for this very helpful addition to BI.

I read the help and searched, but can't seem to find an answer.

1. Is it possible to pass in 'auto-maximize' (on motion) as a URL parm? If so, what is the syntax? I am guessing not, but thought I'd ask. It would be helpful for kiosk type/tv type devices without mice or good input options.

2. the auto-maximize works great on my computer, but on a FireStick in Silk doesn't show triggered cam full screen even when enabled (via ui-settings->video->auto-maximize = yes)

Thanks!
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,676
Reaction score
14,023
Location
USA
I think I read all 214 pages! Thank you for this very helpful addition to BI.

I read the help and searched, but can't seem to find an answer.

1. Is it possible to pass in 'auto-maximize' (on motion) as a URL parm? If so, what is the syntax? I am guessing not, but thought I'd ask. It would be helpful for kiosk type/tv type devices without mice or good input options.

2. the auto-maximize works great on my computer, but on a FireStick in Silk doesn't show triggered cam full screen even when enabled (via ui-settings->video->auto-maximize = yes)

Thanks!
Hi.
For #1 you are correct, there is no URL parameter.
For #2, I have no idea why it would not work.
 

actran

Getting comfortable
Joined
May 8, 2016
Messages
806
Reaction score
730
Upgraded to UI3 version 268, Blue Iris version: 5.8.9.3. I now see this warning:
Blue Iris did not provide an offset in milliseconds for this alert, so it may being at the wrong position
no offset.png
for 1 cam, for every alert. I tested alert playback for 16 other cams and do not see this warning.

I suspect that this warning is related to BI5 v5.8.9.x release where Ken added additional configs around pre-triggers:
record.png

Does the 20 secs pre-trigger aggravate the problem? My other cams typically have pre-trigger of 5 secs.

Related, I saw this warning when trying to do alert playback while the alert is still being recorded. It complains about non BVR format when the alert is configured to record in that format. I don't get this warning after the file is done recording the alert event.not bvr.pngbvr settings.png

P.S. After BI5 upgrade, I did do browser clear cache/history just to be sure. I also tried Chrome incognito mode. Same warning about time offset every time when doing alert playback for this 1 cam.
 
Top