šŸ”¹ Browser_mod - turn your browser into a controllable device, and a media_player

I used TTS but I think that part doesnā€™t matter. I also have played numerous types of audio to google devices but in this instance it was advantageous for browser-mod to navigate to a tab displaying a camera and then browser-mod to play audio while that tab was open. I could probably just play audio to a speaker right beside the hub. As of now I have returned to a backup that utilized browser-mod 1.53

Thanks a lot, it helped me

@reste_narquois Is there any way how to format font used in the popup window header? As it differs from the font used in the theme.
I mean change font and font-variant

Anyone else getting this in their logs since upgrading to 2.x?

Logger: homeassistant.components.binary_sensor
Source: helpers/entity_platform.py:520
Integration: Binary sensor (documentation, issues)
First occurred: September 15, 2022 at 6:22:03 PM (3 occurrences)
Last logged: September 15, 2022 at 6:22:03 PM

Platform browser_mod does not generate unique IDs. ID 58157dcc-da85eb01-Browser_dark_mode already exists - ignoring binary_sensor.58157dcc_da85eb01_browser_dark_mode
Platform browser_mod does not generate unique IDs. ID 58157dcc-da85eb01-Browser_FullyKiosk already exists - ignoring binary_sensor.58157dcc_da85eb01_browser_fullykiosk
Platform browser_mod does not generate unique IDs. ID 58157dcc-da85eb01-activity already exists - ignoring binary_sensor.58157dcc_da85eb01

These are the sensor entities for my main desktop browser. They all show as unavailable. The Screen switch works fine.

I was just going to ask a similar question.
I used to use this, but it no longer seems to work.

      style:
        $: |
          .mdc-dialog .mdc-dialog__container .mdc-dialog__surface {
              font-family: "Oswald" %};
            }

but that no longer works.

I know about the websocket closing but with the old browser mod I could get around that using an automation.

Whenever the media player became unavailable would send a rest command to Fully Kiosk to reload the start URL and the media player became available again.

That doesnā€™t work anymore. Is there any other way than touching the screen?

    trigger:
      - platform: homeassistant
        event: start

      - platform: state
        entity_id: media_player.hallpanel
        to: unavailable

    action:
      - delay:
          seconds: 10

      #=== If unavailable then reload start url
      - if:
          - condition: state
            entity_id: media_player.hallpanel
            state: unavailable
        then:
          - service: rest_command.hall_panel_fully_kiosk_load_start_url

Glad that I am not alone, still believe that there is the solution, but not able to find it

1 Like

Hello,

i have a question. Is it possible to show a ā€œgallery-cardā€ as timeout action?

How it works?

This is my configuration in the lovelace:

type: custom:gallery-card
show_reload: true
entities:
  - path: media-source://media_source
    recursive: true
title: Abwesenheit
parsed_date_sort: false
caption_format: '%m/%d %H:%M %p'
maximum_files: '5'

thanks for your help

The idea behind it would be that I show a video of the doorbell ringing when Iā€™m not at home. In other words, a notification should be triggered here in which I can then click on it and watch the video.

I donā€™t understand how to use form data from the popup. Could someone give any insight?

In the popup I would like to be able to select the value for an input_datetime helper.
Iā€™ve managed to create the popup with an input for time but I donā€™t know how to pass the value to the set_datetime service.

hold_action:
  action: fire-dom-event
  browser_mod:
    service: browser_mod.popup
    data:
      title: Set charging start time
      content:
        - name: startTime
          label: Start charging at
          selector:
            text:
              type: time    
      right_button: "Set"
      right_button_action: 
        action: call-service
        service: input_datetime.set_datetime
        data:
          time: [[ HOW DO I PASS THE INPUT VALUE HERE? ]]
        target:
          entity_id: input_datetime.ev_charging_start_time

EDIT
Ok, I managed to learn how to pass along form data. All I needed to know was in the documentation, I just had to re-read it again.

Sorry, but I canā€™t make it work on unregistered devices. According to the documentation a browser call will perform the service on the current browser if browser_id is omitted. I am not entirely sure on how to accomplish a browser call despite reading the documentation.

In my Lovelace dashboard I have

type: custom:mushroom-light-card
            name: Outside
            entity: light.outside_lights
            hold_action:
              action: fire-dom-event
              browser_mod:
                service: script.light_info_popup
                data:
                  entity_id: light.outside_lights

and in scripts I have

  light_info_popup:
    sequence:
      - service: browser_mod.popup
        data_template:
          title: "{{ state_attr(entity_id, 'friendly_name') }}"
          content:
            type: custom:auto-entities
            card:
              type: entities
            filter:
              include:
                - domain: light
                  group: "{{ entity_id }}"

What am I doing wrong here, what do I need to make this a browser call?

where is the error?

entity: binary_sensor.stato_bnt
type: custom:button-card
name: ' '
show_state: false
aspect_ratio: 1/1
size: 100%
state:
  - color: red
    icon: mdi:shield-lock
    value: 'on'
  - color: green
    icon: mdi:lock-open-variant
    value: 'off'
tap_action:
  action: call-service
  service: browser_mod.popup
  data:
    title: Alarm
    content:
      type: alarm-panel
      states:
        - arm_away
      entity: alarm_control_panel.centrale_allarme
  target: {}

ShouldĀ“t be like this?

          tap-action:             
            action: fire-dom-event
            browser_mod:
                service: browser_mod.popup
                data:

with this code doesenā€™t work

Is it possible to hide the scroll bar in a popup?

UPDATE: It would appear that adding browser_id: THIS is stopping browser_mod working on all my use cases. I have some where tap_action should pop-up a thermostat card. Again if I remove the browser_id: then it attempts to show the card, although the content is missing. FIXED: I hadnā€™t changed card: to content:

ORIGINAL QUESTION - STILL OPEN:
I have updated to the latest version of browser_mod and most of my pop-ups are working, except where Iā€™m using browser_mod.more_info.

My code is:

</s> <s>hold_action:</s> <s> action: call-service</s> <s> service: browser_mod.more_info</s> <s> data:</s> <s> entity: number.wiser_away_mode_target_temperature</s> <s>
This works on my laptop, but if I hold on this on my phone the pop-up appears on the laptop.

So I added browser_id: THIS

Following this the pop-up doesnā€™t appear at all on any device.

Any clues? FIXED: I changed to using the fire-dom-event and this is now working.

Hey. Im trying to do a pop up within a slider card but cant get it to work/call the service. Any help would be awesome. Im trying to build a slider card (works) where i can press the ā€œpictureā€ i,e ā€œLightsā€ which shows me a pop up to all my lights/light group. Right now its just showing me a blank pop-up without any text or entities/lights

Thank you :smiley:

type: custom:swipe-card
cards:
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Licht
        secondary: ''
        icon: mdi:lightbulb
        icon_color: yellow
        layout: vertical
        tap_action:
          action: fire-dom-event
          browser_mod:
            service: browser_mod.popup
            data:
              entity: light.alle_lichter
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Temperatur
        secondary: ''
        icon: mdi:thermometer
        icon_color: blue
        layout: vertical
        tap_action:
          action: navigate
          navigation_path: temperatur
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Jalousie
        secondary: ''
        icon: mdi:window-shutter
        icon_color: green
        layout: vertical
        tap_action:
          action: navigate
          navigation_path: rollos
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Media
        secondary: ''
        icon: mdi:cast-variant
        icon_color: teal
        layout: vertical
        tap_action:
          action: navigate
          navigation_path: test

i have the same problem, the browser_mod panel is empty, try Edge, Chrome, Firefox, same problem.

Uncaught SyntaxError: Identifier 't' has already been declared (at browser_mod_panel.js:1:1)

is someone can help please?

help myself lol : find a glitch :
right click on the panel ā†’ open in a new window, and the panel display!!! and i can check the register box! 4 hours for that lol

SOLVED

this code work:

type: button
tap_action:
  action: call-service
  service: browser_mod.popup
  data:
    title: ALARM
    content:
      type: alarm-panel
      states:
        - arm_away
      entity: alarm_control_panel.centrale_allarme
entity: binary_sensor.stato_bnt

but I need a type: custom:button-card
this code doesenā€™t work:

entity: binary_sensor.stato_bnt
type: custom:button-card
name: ' '
show_state: false
aspect_ratio: 1/1
size: 100%
state:
  - color: red
    icon: mdi:shield-lock
    value: 'on'
  - color: green
    icon: mdi:lock-open-variant
    value: 'off'
tap_action:
  action: call-service
  service: browser_mod.popup
  data:
    title: ALARM
    content:
      type: alarm-panel
      states:
        - arm_away
      entity: alarm_control_panel.centrale_allarme

For anyone wondering: Ive got it working now. Missed the ā€œcontentā€

type: custom:swipe-card
cards:
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Licht
        secondary: ''
        icon: mdi:lightbulb
        icon_color: yellow
        layout: vertical
        tap_action:
          action: call-service
          service: browser_mod.popup
          data:
            title: Lichter
            content:
              type: entities
              entities:
                - entity: light.tv_board
                  name: TV Board
                - entity: light.hyperhdr
                  name: Ambilight
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: Temperatur
        secondary: ''
        icon: mdi:thermometer
        icon_color: blue
        layout: vertical
        tap_action:
          action: navigate
          navigation_path: temperatur

1 Like