šŸ–¼ļø WallPanel Addon - Wall panel mode for your Home Assistant Dashboards

If you donā€™t mind, would you share your dashboard code?

This is what the configuration file for the overview dashboard contains before adding the WallPanel configuration.

title: Home
views: []

Do you mean the contents of:

/config/.storage/lovelace.dashboard_pad1

(Pad1 is the name of my dashboard for the Kindle Fire tablet)

Here is the contents of that file:

{
  "version": 1,
  "minor_version": 1,
  "key": "lovelace.dashboard_pad1",
  "data": {
    "config": {
      "wallpanel": {
        "enabled": true,
        "hide_toolbar": true,
        "hide_sidebar": true,
        "fullscreen": true
      },
      "views": [
        {
          "title": "Home",
          "sections": [
            {
              "type": "grid",
              "cards": [
                {
                  "type": "heading",
                  "heading": "New section"
                },
                {
                  "show_state": true,
                  "show_name": true,
                  "camera_view": "auto",
                  "type": "picture-entity",
                  "entity": "camera.driveway_2",
                  "image": "https://demo.home-assistant.io/stub_config/bedroom.png"
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

No ideas, if casting to a Nest Hub (or any Chromecast device) is possible? If I just click on the Nest Hub on the Google Cast integration and select a dashboard to stream, the dashboard is shown on the Nest Hub but not the screensaver.
In the browser the dashboard is working fine with screensaver.
Thanks a lot!

More experimenting. It appears that what I thought was affecting all dashboards was just a need to clear my browser cache.

This is what I have in my configuration file

/config/.storage/ lovelace.dashboard_pad1

     "wallpanel": {
        "enabled": true,
        "hide_toolbar": false,
        "hide_sidebar": false,
        "fullscreen": false,
        "camera_motion_detection_enabled": true

And this is what I see.

Two questions.

  1. What is the source of the random image background? I didnā€™t specify one.
  2. Why is the dashboard looking for my weather entity? Where is that set?

Still experimenting. Found my answers in the docs.

Now how do I increase the size of the text in a card?

Where do I put:

  style:
    wallpanel-screensaver-info-box-views:
      transform: scale(1.2)
      transform-origin: top center

From the docs:


It looks like if you donā€™t put anything in the cards it defaults to that.

Hi All, can we talk screensaver? So I have my wall panel set up with unsplash as the screen saver. I also have a day profile and night profile:

 profiles:
    Day:
      image_url: >-
        https://api.unsplash.com/photos/random?client_id=myapicode=daybackground,dayview,dayscene

 Night:
      image_url: >-
        https://api.unsplash.com/photos/random?client_id=myapicode=nightbackground,nightcity,nightview

I have created 2 sensors; the first one is time of day which outputs the following values:

Early Morning
Morning
Afternoon
Early Evening
Evening
Night

The second sensor is season and outputs the season.

Is there a way i can integrate those outputs into the unsplash query?

So currently its ā€œWinter Early Eveningā€ according to the sensor.

Anyone know how i could modify the image url?

I figured that out by a third read of the docs. I would have never been confused if the parameters table said that there was a default card.

You can use an entity to set the image url dynamically:

wallpanel:
  image_url: '${entity:input_select.wallpanel_image_url}'

or:

wallpanel:
  image_url: 'https://api.unsplash.com/photos/random?client_id=YOUR_ACCESS_KEY&query=${entity:input_text.wallpanel_unsplash_query}'

See the README for details.

1 Like

enabled_on_tabs uses the URL for the tab and not the tab name. You may want to update your documentation. Here is the code in a reply I made deep in your comments: I think I found the issue, if you never set a URL for your default-tab (first tab), it gets set to empty string, which in actuality makes your url be 0. The code uses activeTab here lovelace-wallpanel/wallpanel.js at 1cfbf705afd20c0796e9922e7892143340e3342b Ā· j-a-n/lovelace-wallpanel Ā· GitHub which is set from tab which is pulled from the URL here lovelace-wallpanel/wallpanel.js at 1cfbf705afd20c0796e9922e7892143340e3342b Ā· j-a-n/lovelace-wallpanel Ā· GitHub. So essentially, the URL sets the active tab. So enabled_on_tabs needs to match whatever your URL is, not necessarily your tab name.

I think I found the issue, if you never set a URL for your default-tab (first tab), it gets set to empty string, which in actuality makes your url be 0. The code uses activeTab here lovelace-wallpanel/wallpanel.js at 1cfbf705afd20c0796e9922e7892143340e3342b Ā· j-a-n/lovelace-wallpanel Ā· GitHub which is set from tab which is pulled from the URL here lovelace-wallpanel/wallpanel.js at 1cfbf705afd20c0796e9922e7892143340e3342b Ā· j-a-n/lovelace-wallpanel Ā· GitHub. So essentially, the URL sets the active tab. So enabled_on_tabs needs to match whatever your URL is, not necessarily your tab name.

Canā€™t get wallpanel to show my google photos. Is something wrong with my YAML?

Right now all it shows is random images from a random source and no matter what I do, I canā€™t get my photos to appear, even after granting access to the Google Photos API. I also canā€™t get wallpanel working on just one device, via browser mod, unless I enable it from the top, for some reason. Any help will be greatly appreciated.

           wallpanel:
          enabled: true
          profiles:
            device.idnumberhere:
              enabled: true
              hide_toolbar: true
              hide_sidebar: true
              fullscreen: true
              image_fit: cover
              display_time: 15
              image_url: media-entity://camera.google_photos_album_namehere_media

@j-a-n
Thanks for an excellent addon! I started using it yesterday on my main tablet, because using Fotoo as a screensaver made the tablet refresh all my cards when switching back to Home Assistant as the foreground app. Thanks to your addon, I can now stay entirely in Home Assistant. :slight_smile:

However, one of the nice features of Fotoo is that it can make the background ā€œbokehā€, based on the actual displayed image. I tried to replicate that effect by using the image_url_entity helper and then using that image as a background for a card also on the dashboard. However, for some reason it seems to not reflect the currently used imageā€¦ and it is a bit of a hack. Please see my code below.

Do you think itā€™d be possible for you to include the option to use the currently displayed image with a blur effect as a background? That way, vertical/portrait images will look a million times better on a horizontal display. Thank you. If you arenā€™t planning on including that option, can you then guide me on how to use the actual displayed image?

wallpanel:
  enabled: true
  hide_toolbar: false
  hide_sidebar: true
  fullscreen: false
  idle_time: 0.1
  image_url: media-source://media_source/local/nuc
  image_fit: contain
  image_order: random
  display_time: 60
  image_url_entity: input_text.image_url_entity
  cards: []
  style:
    wallpanel-screensaver-container:
      background-color: '#00000000'
views:
  - title: Wallpanel
    sections:
      - type: grid
        cards:
          - type: custom:button-card
            styles:
              card:
                - width: 110vw
                - height: 110vh
                - margin: 0
                - padding: 0
                - position: fixed
                - top: '-5vh'
                - left: '-5vw'
                - z-index: 1
                - overflow: hidden
            tap_action:
              action: none
            hold_action:
              action: none
            card_mod:
              style: |
                ha-card {
                  background-image: url('http://homeassistant:8123/local/images/googlephotos/{{ states('input_text.image_url_entity').split('/')[-1] }}');
                  background-color: black!important;
                  background-size: cover;
                  background-position: left;
                  filter: blur(50px) brightness(100%) saturate(1); 
                }

@j-a-n Dā€™OH! Never mind ā€“ found out I could just use the ā€œimage_backgroundā€ thatā€™s already included. :smiley: Thanks again for all your work on this!

However, I have another question. How does the camera motion work? Canā€™t get it to work on my tablet (permissions allowed, tried both through Fully Kiosk, native HA app and Chrome. Of course I activated camera_motion_detection_enabled. How do I specify which camera it should use?

@j-a-n

Thanks for this. Can you guide me on the creating the helper please for the query?

I have already created one for the Day and Night profiles called ā€œinput_select.wallpanel_screensaverā€

has anyone been able to arrange multiple views in a grid pattern on the screensaver?

I can arrange individual card by using wp_style but it does not seem to work for views

  cards:
    - type: custom:simple-clock-card
      use_military: true
      hide_seconds: false
      bold_clock: false
      wp_style:
        grid-row: 1 / 1
        grid-column: 2 / 2
        align-self: start

this is the code i use for views that does not work:

  views:
    - title: View1
      wp_style:
        grid-row: 1
        grid-column: 1
        align-self: start

First, thanks @j-a-n for the great work, and the rest of you for the lively discussion!

I stumbled across this strange behavior thatā€™s been driving me crazy for a week now. When screensaver is based on a view, it always seems to append a Weather forecast Card at the end of the referenced view, always configured to use entity ā€œweather.homeā€ and ā€œShow current weather onlyā€.

**Update: I have finally found an explanation here: šŸ–¼ļø WallPanel Addon - Wall panel mode for your Home Assistant Dashboards - #414 by jeffcrum **
In short: if there is no ā€œcards:ā€ the addon automatically adds the Weather Forecast card, I guess for a demo effect. ā€œcards:ā€ must be present even if screensaver is to use a view. Adding an empty ā€œcards:ā€ to the config removes the demo weather card.

If the view is empty, it will only show the Weather Forecast card that is obviously not part of the dashboard yaml.

This phantom Weather Forecast card always refers to an entity ā€œweather.homeā€, which I didnā€™t even have among my entities, resulting in an ā€œEntity not available ā€˜weather.homeā€™ā€ error. As soon as I renamed one of my weather provider entities to ā€œweather.homeā€, the error got replaced by a functioning weather card. Which is not what I want.

If I use Cards: instead of Views: for the screensaver, the Weather card is not there and everything works fine.

This looks much like a bug to me. Several other users seem to have stumbled across this in the past, but I didnā€™t find an explanation or a solution yet.

Here is an example of a minimal dashboard that shows this behaviour. Note that there is no mention of ā€œweather.homeā€ in it, and yet the entity is required, and if it exists, it gets shown in the screensaver (see screenshot).

wallpanel:
  enabled: true
  debug: false
  hide_toolbar: false
  hide_sidebar: true
  fullscreen: true
  idle_time: 5
  views:
    - title: Screensaver
views:
  - theme: Backend-selected
    title: Home
    icon: mdi:home
    layout: {}
    type: sections
    sections:
      - type: grid
        cards:
          - type: heading
            heading: New section
  - type: masonry
    title: Screensaver
    sections: []
    subview: false
    cards:
      - type: heading
        icon: mdi:fridge
        heading: Screen saver
        heading_style: title
    badges: []

@j-a-n Small feature request: would it be possible to add the idke_time as an input text helper entity (or similar) as well?

That way, you would be able to disable or change the idle time if for instance music is playing etc.

Thanks for your work on this again ā€“ really feature rich!

Can you post an exemple with WallPanel that not showing any cards ?

Iā€™m playing with this to see if it suits my use case. I started with the basic example. Issue I am experiencing is that once it is enabled, the sidebard disappears and I canā€™t find a way to get it back. I am testing this using an edge browser to start with then I intend to use it in my Android wall tablet once I am certain that I have configured things correctly.

Also the top menu bar disappears. I cannot find a way to take it back and cannot edit the dashboard.