🔹 Browser_mod - turn your browser into a controllable device, and a media_player

Hi All,

I have still problems with Fully Kiosk and use it as a media player. When I keep the agent to default the stream I send to it will stop after 30 seconds. When I change the agent to chrome or internet explorer (fake agent) then media player is working correct. But then when selecting tabs of HA it takes so long before they appear… Moving back then its working again, but then the 30 seconds media player problem is back

That’s the one. The camera function that’s built in to Fully Kiosk.

I’m using this card for popups. The popup works fine, but on mobile when I press back button to close the popup it goes to the previous page instead of closing the popup. Home assistant Builtin popups work great, maybe this is something possible to fix?

Thanks :slight_smile:

Hi
Is it posible to get deviceID: “this” to work in NodeRed.
I am trying to do some actionable notifications where the service should navigate to a lovelace tab on the device that are using the notification.

{
“navigation_path”: “/lovelace/1”,
“deviceID”: “this”
}

The feature works by replacing deviceID: this with deviceID: 12345678-90abcdef in any service call made from the frontend.

I don’t know what you’re trying to do or how NR works, but I assume NR is somehow listening for a service call, and in that case it should see deviceID: 12345678-90abcdef.

What a powerful tool. I have a an android tablet (a “Hudl 2”) that is working quite well with browser_mod and the pro version of fully_kiosk.

As for a couple of comments above - the camera isnt working for me - I dont want it for motion detection but as a convenient remote view.

I have…

browser_mod:
  prefix: "browser_"
  devices:
    73251250-6fb9374d:
      camera: true
      name: browser_hudl

I get the media_player, light and sensor - but not the binary_sensor. And the sensor doesn’t show as fully_kiosk…

type: browser_mod
last_seen: 2020-01-13T12:21:50.075443
deviceID: 73251250-6fb9374d
path: /lovelace/main_view
visibility: hidden
userAgent: Mozilla/5.0 (Linux; Android 5.1; Hudl 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Safari/537.36
currentUser: Dean Smith
width: 960
height: 600

The camera does work using the generic/web page explicit definition. The remote admin for fully_kiosk shows…

Fully version	1.36.1
Android version	5.1 (SDK 22)
Webview version	79.0.3945.116

Its clearly an old Android version (due to age of tablet) - would this have an impact ?
(Edit: browser_mod ver 15 installed via HACS)

How do I delete device_id's that are no longer available if the browser_mod entities aren’t stored to core.entity_registry? I don’t have any entries in my SQL database after running the below sql either but the unavailable browser_mod entities continue to appear in the states developer tools.

SELECT * FROM states WHERE entity_id LIKE 'browser%';

Ok, maybe it’s because NodeRed doesnt allow this then, if it only works from the frontend.

:man_shrugging: Restart?

this only makes sense in the frontend.

When you click a button in your frontend, that usually sends some kind of service request to the backend (which is where node red lives). The backend runs on your server, and neither knows or cares whether you clicked that button on your computer, phone or toaster. All it knows is that you want a light to turn on.

What browser_mod does is change the way those service calls happen - by modifying the frontend across all devices - such that the parameter deviceID: this is replaced with a unique identifier in the service request, so that the backend can actually know which device it came from.

Then it’s up to the backend to react to this information, be it a core script, node red, appdaemon or that C# thing @helto4real is secretly working on. What it will see is a service call, having a parameter named deviceID with a list of deviceIDs as value.

I keep seeing this plugin… but even though you list use cases for this… I can’t think of one applicable implementation in my everyday life.

So this means a browser has to be running on the device at all times and pointing to a particular URL that is “listening” for stuff? Every screen in the house? I don’t get that part… how would you control every screen in your house with a browser?

Any update on this ?

Also, I found another issue. If I use a card which expand when loaded, like calendar card or shopping list card. The popup won’t get centered. Well, when open the popup and it centers, but after some milliseconds the card will refresh and expand it’s size, at this time the popup won’t resize aswell.

Example code:

popup_cards:
    input_boolean.shoppinglist:
      title: Shopping list
      card:
        type: shopping-list

Image:

Hello, I am using broswer_mod popup to call several cards: entity-row, custom button … the problem is that the entities inside the popup cards cannot be clicked, if it is a light, for example, within the pop-up window when the entity is clicked is not open to see the menu for more information. Am I doing something wrong or is it normal?

Have this issue also with basic HA popups. Resize browser will correct the popup into the center.

1 Like

Restarted everything (hass, docker container, server), and refreshed the cache but still seeing browser_mod entities from incognito connections in my states table. How are the browser_mod entities persisted?

They aren’t. That’s the thing. They are created when a browser connects, if they didn’t already exist. But they aren’t saved.

That said, I don’t quite understand persistence of entities fully…

hi,again thanks for your great work
it is posibble to cal a service from a poppup view?
i cant do it work
this my custom button card template

  birthday:
    card: 
      type: custom:button-card
      entity: '[[entity]]'
      size: 100%
      entity_picture: '[[entity-picture]]'
      show_entity_picture: true
      show_label: true
      tap_action:
        action: more-info

this my popup button template:

  popup_birthday:
    card: 
      type: "custom:button-card"
      name: '[[name]]'
      color: auto 
      show_icon: false
      show_label: false
      styles:
        card:
          - background: 'linear-gradient(rgba(255,255,255,0.1) 50%, rgba(0,0,20,0.3)50%)'
          - border: '3px double rgba(57,128,228)'
          - height: 30px    
      tap_action:
        action: call-service
        service: browser_mod.popup
        service_data:
          title: '[[name]]'
          card:
            type: vertical-stack      
            cards:
              - type: horizontal-stack
                cards:
                  - type: custom:decluttering-card
                    template: birthday
                    variables:
                      - entity: sensor.jack
                      - entity-picture: /local/images/jack.jpg 
                  - type: custom:decluttering-card
                    template: birthday      
                    variables:
                      - entity: sensor.chris
                      - entity-picture: /local/images/chris.jpg 
          deviceID:
            - this 

and this in my lovelace view:

  - type: custom:decluttering-card
    template: popup_birthday
    variables:
      - name: "\U0001F389 BIRTHDAY "  

so,i click on my popup_birthday button and i can see all my birthday buttons(jack,chris),but if i click on one of them ,they dont do nothing when in teory should show the more-info of the entity.
i have the same problem with fold-entity.row cards

Unfortunately more-info cannot be opened from more-info, and the popup overrides the more-info dialog.
You can open another popup, though.

Ok, thanks for answer