Home Assistant Add-On: Firefox

Version 1.1.0

  • Base image update: jlesage/docker-firefox to 23.11.3

  • Allow exposing VNC and Web ports on the Home Assistant host. This enables Kiosk scenarios (and some iFrame / Webpage card scenarios) with Kiosk mode and default URL options.

  • Make the menu entry only available to all users (panel_admin: false).

  • Enable the “legacy” mode to use options as environment variables. Few examples of available options below:

  • Option to set a VNC password.

  • Option to set a default URL.

  • Option to start Firefox in Kiosk mode.

  • Option to enable Dark Mode.

  • Option to add font WenQuanYi Zen Hei. Support for Chinese/Japanese/Korean characters.

  • Option to set the resolution of the application.

2 Likes

The startup speed of the Edge version’s add-on tends to become progressively slower after each Firefox update, as it updates all installed packages, including Firefox, upon booting.

The Edge version can also be unstable because the compatibility with the VNC add-on is not tested with the latest Firefox version. If you don’t need the very latest version of Firefox, it’s fine to stay on the standard version.

Nope. :frowning:

Is there a way to remotely upload files to the Firefox instance?

I’m trying to upload a file to my HA server remotely so I can use it to update the firmware of a CCTV camera which I log in to using the Firefox browser when I’m away from home. Unfortunately the file upload isn’t working using my usual method via Studio Code Server (it keeps timing out) so I was hoping to try another method.

Use the File Editor add-on to upload your file to /share/firefox.
Your file will be available in the downloads folder in the add-on, so you can upload it to your camera from here.

2 Likes

I have installed firefox inside Home Assistant and that is working, but I can’t get VNC on my iPad to connect to Firefox in Home Assistant. There’s obviously a step I have missed…any help offered greatly appreciated. Thank you.

Hello,
Maybe you forgot to explicitly set the port for VNC?

Yes that’s it but where do I find this window / setting? Thank you.

OK found it!

Touch screen scrolling of a page doesn’t work on my tablet… how can I solve this problem?

That’s a known issue. I did not find a way to scroll with touch in “touch mode”, it was only possible using the scrollbar.

Maybe it would work with another VNC client. If you find one that works, please share on the topic. :slight_smile:

Alternatively, you can update the dashboard made for you tablet to use different views that don’t require scrolling (when possible).

Hello, is there a way to automate the download of a webpage? If not I hope you find it interesting enough to add an option to do so.

I’ve setted the desired URL (my SolarEdge monitoring site) to open at start, the first time I introduced user/pass credentials, next times credentials are remembered and I am able to see the data I want to collect as sensors. To do so, I can manually save the page as text file and extract the data from the file saved in the shared/firefox folder.

Note: Before finding this, I’ve tried to collect the data with browserless + multiscrape with no success, looks like SolarEdge website has something to avoid it.

Nice work by the way!

I saw this extension for Chrome, but did not find similar thing for Firefox.

Maybe you can use a combination of two extensions:

The only thing that could be boring in your case would be the added timestamp in the name of the file. It would require to remove that part from the code. It should be possible without too much trouble since the project is open source. Otherwise, I guess there are also ways to fix that in Home Assistant with shell commands to rename the file.

Wow, looks promising, I’m gonna try

Many thanks!

Is there a way to handle when a webpage opens a new window? I can only get back to the “main” window by going to the hamburger menu and opening a settings page which defaults back to the main window.

Something like that?

I was not aware myself that such view existed.

That seems to work. I’ve always disabled that “Firefox View” button since they made it default, so I had to re-enable it to find this. Still a bit clunky to move around between the windows, but this works well enough for me. Thanks.

Looks like there are some about:config settings that can be used to force links to open in the same window:

https://support.mozilla.org/bm/questions/1365765

Hello,
I have a problem with the FireFox add on. When I start the FireFox add on I get a red screen on top of the FireFox browser. It says:

Unexpected error encountered:
Orphaned iframed
Zn@webkit-masked-url://hidden/:2:291833
Jn@webkit-masked-url://hidden/:2:291911
@webkit-masked-url://hidden/:2:447806
@webkit-masked-url://hidden/:2:198796
d@webkit-masked-url://hidden/:2:188937
@webkit-masked-url://hidden/:2:190271
l@webkit-masked-url://hidden/:2:195948
a@webkit-masked-url://hidden/:2:196152
@webkit-masked-url://hidden/:2:196211
Promise@[native code]
@webkit-masked-url://hidden/:2:196102
d@webkit-masked-url://hidden/:2:188937
@webkit-masked-url://hidden/:2:190271
l@webkit-masked-url://hidden/:2:195948
a@webkit-masked-url://hidden/:2:196152

Does anyone have a solution for this? Thanks for your help!

I found out that it is a problem in Safari. When I use Chrome it works fine.

Release 1.3.2 available

  • Base image update: jlesage/docker-firefox to 24.09.1 (Firefox 130.0.1-r0)
  • Option to enable audio support through web browser (when you expose the addon with a dedicated web port). Not working with Ingress.
  • HA Addon Audio support enabled for the host (not tested).
  • Remote Debugging Port added.
  • Option to enable Web authentication support.
  • Option to set custom arguments for Firefox.

Hello!
Thank you for the addon! I use it mostly to visit pages of specific devices that are not exposed to the internet (for example WLED devices).

I noticed that in the latest version audio support has been added. When tried the addon, it didn’t work for me most probably because i haven’t exposed the addon to a port.

Could you please guide me on how to do this?

Thank you very much
Kind Regards
M