Adaptive Mushroom: one dashboard for mobile/tablet and light/dark mode
A minimalistic Mushroom-based dashboard for Home Assistant. No more need to maintain multiple dashboards! With this setup, you can create a single minimalistic-looking dashboard for both mobile/desktop and light/dark mode.
I wanted to be able to have a nice, modern mobile layout like in 7ahang’s design, while also making use of the full screen on tablet/desktop. Having both in one dashboard meant I could do quick edits on cards without having to copy them to another dashboard. After much trial and error, nitpicking and YAML syntax errors, I ended up with my current dashboard that you see below.
Screenshots and features
The amazing layout-card is used to make the layout adaptive for mobile/tablet/desktop.
The mobile layout features a bottom navigation bar inspired by Android material design; the tablet/desktop layout has an easily accessible menu on the left of the three columns.
Custom theme variables are used for light/dark mode support.
I mainly use Mushroom cards, but I also made several custom cards using for example button-card.
This is my personal setup uploaded as is, there’s no quick installation button. But you can start your own Adaptive Mushroom dashboard fairly easily.
To help you get started with the main layout framework and theme, I’ve made a step-by-step installation guide.
Questions, comments, suggestions
If you have any questions or comments, feel free to reply to this topic. If you use Adaptive Mushroom for your setup, please share your dashboard here! I’m always looking for new inspiration and ideas. Suggestions or enhancements are also appreciated, either here or on the Github.
My wall dashboard is based on your inspiration. I am changing a few things and adding stuff here and there. I will post it once I’ve reached a good version 1.0 of my dash xD
@ArenaCloser lets continue here. For some reason the sticky footer doesn’t work with your code. I chanced it as followed which works. Please note I had the dash on a custom dashboard url prior. So both on lovelace as custom board it didn’t work.
Strange to hear that it works if you leave out the card_mod line and instead directly use style: | (looks like the only difference to my code if I’m not mistaken). FYI for me it works both ways, so not sure what the culprit was.
It looks like you have a very wide screen. It causes the layout-cards below e.g. ‘Favoriti’ and ‘Illuminazione’ to use three-column grids instead of two columns. I haven’t figured out a way yet to make those layout-cards work properly on very wide screens. You can change them to a regular type: grid to fix that issue until I find a fix.
I see what you guys mean now. Indeed for the 5-day forecast card I use the Buienradar integration, because it provides a daily forecast for the next 5 days. If you have another integration, the code has to be adjusted for that a little.
I believe you can use OpenWeatherMap in daily mode, which would be an international alternative option for this card. I use hourly mode, so my sensors may be slightly different (I only get up to 48 hours of forecasts). But here’s some code to get started for OWM:
@mysob note that you were using decluttering template incorrectly; in order to pass on a variable it must be in between two square brackets, like [[index]]. And since the forecast attribute provides an array of forecasts, we need to use square brackets again, so it becomes state_attr(entity, 'forecast')[[[index]]].condition.
It is used to get the name of the day for each forecast section, using the datetime value of the forecast attribute of the weather sensor.
Thanks, I updated my code and works now. Only a matter optimising the code so it takes the temp/data is from mid day 3PM e.g… Alternatively this also gives the opportunity set / display the day low temp during night times.
Question about the media card. I cannot set the artwork as background. This is what it looks like right now. Is it possible to set the icons of the radio station as artwork?
@mysob you did some great work there, code and cards look great!
I had been wondering how to calculate the noon hour, but you managed to work it out
One question: what are your OWM settings? Mine is set to onecall_hourly so I only get the next 48 hours. But it looks like you have data up to 5 days in the future.
If it’s alright with you, I will update the Github with your new code for better international support (or you can do a pull request if you prefer).
@ArenaCloser I’ve updated the code. It should now correctly present the 5 day ahead from 13h. Also changed the http in https, for correctly displaying the icons when using HA cloud.
Feel free to add it. I use the official OWM integration, nothing had been adjusted there. The standard plan includes the 5 day ahead:
Hi guys, I tried to simplify the person chip cards a bit. Not needing the two grid layouts depending home / not home. Two issues to resolve:
Right now the float is being set inside the child instead of the chips > entity > card-mod
This creates a spacing issue, couldn’t solve it so far. Anyone?
check entity instead of peron.a / b inside chips > entity > card-mod
Didn’t seem to work with the original either. Perhaps we need to use style instead here?
Resolving both would eliminate almost half of the original code and would ease the plug-&-play use of this board.
@mysob Later I will share the card for the people I use on the mobile-dashboard.
I was also wondering, since OpenWeatherNetwork provides hour-by-hour forecasts, why not create a clickable popup for each day so I can see all the forecasts for the day? Or the forecast every 3 hours?