Adaptive Mushroom

Yes. For me as well

I guess you have to define a min heigth of that card

Thanks for solving that issue!

@gh0st125 you could add a gap-card below the media player cards, it8s an invisible card that adds height to the layout. I think it comes standard with the layout-card that you already have installed. Define a height for it (idk, maybe 2000px) and the sticky footer should work.

you’re welcome, it seemed the CSS is commented with those lines. So removing them makes the footer sticky again :smiley:

I updated my HA to 2024.2.5, and also updated Mushroom, button-card and card-mod. Luckily there was little to no damage to the dashboard. I’ve updated the github to reflect the changes. I’ve also added the code for my weather/news, automations and system/settings page.

1 Like

How did you get the Google Weather Frog in? Is it a screenshot or the “live” version?

It is live in the sense that the picture and background change with the weather conditions and frog location, so the basic function is the same of the frog from your Google app, but the exact picture may be different. See Adaptive Mushroom - #64 by ArenaCloser or Mushroom Cards - Build a beautiful dashboard easily 🍄 (Part 1) - #8657 by ArenaCloser

Hi. I really like your frog card and copy all your codes :grinning:, including templates, but nothing working, and developer tool said an error in template, but configuration is right
image

#################Weather Frog Sensors################

- name: "Weather frog status"
  state: >-
    {% set entity = states("sensor.openweathermap_condition") %} 
    {% set cloud = states("sensor.openweathermap_cloud_coverage")|int %}  
    {% set rain = states("sensor.openweathermap_forecast_precipitation")|float %} 
    {% if entity == "fog" %}
    fog
    {% elif entity == "hail" %}
    hail
    {% elif entity == "lightning" or entity == "lightning-rainy" or entity == "exceptional" %}
    lightning
    {% elif entity == "snowy" or entity == "snowy-rainy" %}
    snowy
    {% elif rain > 0 and rain <= 0.8 %}
    drizzle
    {% elif rain > 0.8 %}
    rainy
    {% elif states("sun.sun") == "below_horizon" %}
    {% if cloud < 20 %}
    clear
    {% elif cloud < 40 %}
    mostly-clear
    {% elif cloud < 60 %}
    partly-cloudy-night
    {% elif cloud < 80 %}
    mostly-cloudy-night
    {% else %}
    cloudy
    {% endif %} {% else %}
    {% if cloud < 20 %}
    sunny
    {% elif cloud < 40 %}
    mostly-sunny
    {% elif cloud < 60 %}
    partly-cloudy-day
    {% elif cloud < 80 %}
    mostly-cloudy-day
    {% else %}
    cloudy
    {% endif %} {% endif %}
  icon: mdi:weather-partly-cloudy
  
- trigger:
    - platform: time_pattern
      hours: 0
      minutes: 0
  sensor:
    - name: "Weather frog location"
      state: '{{ ["city", "creek", "field", "hills", "home", "orchard"] | random()}}'  # ToDo: add "beach" location in summer time
      icon: mdi:map-marker
      
- name: "Weather frog image wide"
  state: >
    {% set weather_status = states("sensor.weather_frog_status") %}
    {% set frog_location = states("sensor.weather_frog_location") %}
    {% set dict = {'sunny': {'beach':['01-sunny-beach-reading.png','01-sunny-beach-sandcastle.png','01-sunny-beach-sunscreen.png']|random(), 'city':['01-sunny-citypark-sunbathing.png','01-sunny-rooftop-pinacolada.png']|random(), 'creek':'01-sunny-creek-swimming.png', 'field':'01-sunny-field-kite.png', 'hills':'01-sunny-hills-sunbathing.png', 'home':'01-sunny-home-laundry.png', 'orchard':'01-sunny-orchard-picking.png'}, 
    'mostly-sunny': {'beach':['02-mostly-sunny-beach-reading.png','02-mostly-sunny-beach-sandcastle.png','02-mostly-sunny-beach-sunscreen.png']|random(), 'city':['02-mostly-sunny-citypark-picnic.png','02-mostly-sunny-rooftop-pinacolada.png']|random(), 'creek':'02-mostly-sunny-creek-swimming.png', 'field':'02-mostly-sunny-field-kite.png', 'hills':'02-mostly-sunny-hills-sunbathing.png', 'home':'02-mostly-sunny-home-laundry.png', 'orchard':'02-mostly-sunny-orchard-picking.png'}, 
    'partly-cloudy-day': {'beach':'03-partly-cloudy-day-beach-shells.png', 'city':'03-partly-cloudy-day-citypark-ukelele.png', 'creek':'03-partly-cloudy-day-creek-feet.png', 'field':['03-partly-cloudy-day-field-biking.png','03-partly-cloudy-day-field-hiking.png']|random(), 'hills':['03-partly-cloudy-day-hills-painting.png','03-partly-cloudy-day-hills-reading.png']|random(), 'home':'03-partly-cloudy-day-home-flowers.png', 'orchard':['03-partly-cloudy-day-orchard-butterflies.png','03-partly-cloudy-day-orchard-treeswing.png']|random()},
    'mostly-cloudy-day': {'beach':'04-mostly-cloudy-day-beach-shells.png', 'city':'04-mostly-cloudy-day-citypark-ukelele.png', 'creek':'04-mostly-cloudy-day-creek-feet.png', 'field':['04-mostly-cloudy-day-field-biking.png','04-mostly-cloudy-day-field-hiking.png']|random(), 'hills':['04-mostly-cloudy-day-hills-painting.png','04-mostly-cloudy-day-hills-reading.png']|random(), 'home':'04-mostly-cloudy-day-home-flowers.png', 'orchard':['04-mostly-cloudy-day-orchard-butterflies.png','04-mostly-cloudy-day-orchard-treeswing.png']|random()},
    'clear': {'city':'05-clear-home-lounging.png', 'creek':'05-clear-creek-stars.png', 'field':'05-clear-field-lanterns.png', 'hills':['05-clear-hills-camping.png','05-clear-hills-telescope.png']|random(), 'home':'05-clear-home-lounging.png', 'orchard':'05-clear-orchard-fireflies.png'},
    'mostly-clear': {'city':'06-mostly-clear-home-lounging.png', 'creek':'06-mostly-clear-creek-stars.png', 'field':'06-mostly-clear-field-lanterns.png', 'hills':['06-mostly-clear-hills-camping.png','06-mostly-clear-hills-telescope.png']|random(), 'home':'06-mostly-clear-home-lounging.png', 'orchard':'06-mostly-clear-orchard-fireflies.png'},
    'partly-cloudy-night': {'city':'07-partly-cloudy-night-home-inside.png', 'creek':'07-partly-cloudy-night-creek-fireflies.png', 'field':'07-partly-cloudy-night-field-fireflies.png', 'hills':'07-partly-cloudy-night-hills-smores.png', 'home':'07-partly-cloudy-night-home-inside.png', 'orchard':'07-partly-cloudy-night-orchard-eating.png'},
    'mostly-cloudy-night': {'city':'08-mostly-cloudy-night-home-inside.png', 'creek':'08-mostly-cloudy-night-creek-fireflies.png', 'field':'08-mostly-cloudy-night-field-fireflies.png', 'hills':'08-mostly-cloudy-night-hills-smores.png', 'home':'08-mostly-cloudy-night-home-inside.png', 'orchard':'08-mostly-cloudy-night-orchard-eating.png'},
    'cloudy': {'city':'26-haze-fog-dust-smoke-fruit-stand.png', 'creek':'26-haze-fog-dust-smoke-bridge.png', 'field':'26-haze-fog-dust-smoke-mountain.png', 'hills':'09-cloudy-hills-coffee.png', 'home':'09-cloudy-home-flowers.png', 'orchard':'09-cloudy-orchard-watching.png'},
    'drizzle': {'city':'10-drizzle-home-laundry.png', 'creek':'10-drizzle-creek-leaf.png', 'field':'10-drizzle-field-leaf.png', 'hills':'10-drizzle-hills-umbrella.png', 'home':'10-drizzle-home-laundry.png', 'orchard':'10-drizzle-orchard-reading.png'},
    'rainy': {'city':'12-heavy-rain-busstop-umbrella.png', 'creek':['11-rain-creek-leaf.png','12-heavy-rain-creek-leaf.png']|random(), 'field':'', 'hills':'11-rain-hills-umbrella.png', 'home':['11-rain-home-inside.png','11-rain-home-laundry.png']|random(), 'orchard':['11-rain-home-inside.png','11-rain-home-laundry.png']|random()},
    'snowy': {'city':['13-flurries-citypark-snowman.png','15-snow-showers-snow-citypark-snowman.png','20-rain-snow-wintry-mix-citypark-snowman.png']|random(), 'creek':['13-flurries-creek-iceskating.png','15-snow-showers-snow-creek-iceskating.png']|random(), 'field':'16-blowing-snow-field-snowman.png', 'home':'15-snow-showers-snow-home-shoveling.png'},
    'snow-storm': {'home':['17-heavy-snow-blizzard-home-inside.png','17-heavy-snow-blizzard-home-shoveling.png']|random(), 'field':'16-blowing-snow-field-snowman.png'},
    'hail': {'city':['19-mixed-rain-hail-rain-sleet-busstop-waiting.png','19-mixed-rain-hail-rain-sleet-cafe-entering.png']|random()},
    'lightning': {'city':'22-iso-thunderstorm-cafe-looking-outside.png', 'home':['22-iso-thunderstorms-home-inside.png','24-strong-thunderstorms-home-inside.png']|random()},
    'fog': {'city':['26-haze-fog-dust-smoke-busstop-waiting.png','26-haze-fog-dust-smoke-fruit-stand.png','26-haze-fog-dust-smoke-pier.png']|random(), 'creek':'26-haze-fog-dust-smoke-bridge.png', 'field':'26-haze-fog-dust-smoke-field-lantern.png', 'hills':'26-haze-fog-dust-smoke-hills-cocoa.png', 'home':'26-haze-fog-dust-smoke-rooftop.png', 'orchard':'26-haze-fog-dust-smoke-mountain.png'}} %}
            
    {% if weather_status == "snowy" %}
    {% set other_location = ['13-flurries-citypark-snowman.png', '15-snow-showers-snow-citypark-snowman.png', '20-rain-snow-wintry-mix-citypark-snowman.png', '13-flurries-creek-iceskating.png', '15-snow-showers-snow-creek-iceskating.png', '16-blowing-snow-field-snowman.png', '15-snow-showers-snow-home-shoveling.png'] | random() %}
    {% elif weather_status == "snow-storm" %}
    {% set other_location = ['17-heavy-snow-blizzard-home-inside.png', '17-heavy-snow-blizzard-home-shoveling.png', '16-blowing-snow-field-snowman.png'] | random() %}
    {% elif weather_status == "lightning" %}
    {% set other_location = ['22-iso-thunderstorm-cafe-looking-outside.png', '22-iso-thunderstorms-home-inside.png', '24-strong-thunderstorms-home-inside.png'] | random() %}
    {% elif weather_status == "hail" %}
    {% set other_location = ['19-mixed-rain-hail-rain-sleet-busstop-waiting.png','19-mixed-rain-hail-rain-sleet-cafe-entering.png'] | random() %}
    {% endif %}
    {{ 'https://raw.githubusercontent.com/Senexis/Google-Weather-Frog/master/images/wide/' + dict[weather_status][frog_location] | default(other_location) }}
  icon: mdi:image

      
      

All this in my template file
Please help us to fix this problem
Thank you

Try this:

You can also try to manually set the frog location in developer tools to for example ‘city’. That should solve the card problem.

Did all this, same result. I think it’s something simple, but I can’t see.
Same empty card today.
I change your code a little bit:

- trigger:
    - platform: time_pattern
      hours: 0
      minutes: 0

May be this is why it’s not refreshing?
One more thing:
What is that?
https://raw.githubusercontent.com/Senexis/Google-Weather-Frog/master/images/wide/
I try to open this page and it’s showing error: 400: Invalid request

Yeah try to change it to my original code:

I’m guessing your ‘frog location’ sensor says ‘unknown’ now, which is why your last screenshot has the error, and why the image URL doesn’t work (it expects more text after /images/wide/).
Change the location sensor’s code like above, and for now manually set its status in developer tools (e.g. to ‘city’) and it should work.

1 Like

I found my mistake, in template file, I got a -sensor: on a top of the page and I add trigger to sensors. After I separate them, no more errors, but still no pictures. Will check tomorrow after location update at 4 :00 AM. Thank you for your help. Will update my result tomorrow

No luck with Frog card.


Any idea where else I screwed? TY

Can you send a screenshot of the frog sensor states like mine here?

Thank you for quick respond. I don’t have my PC with me, here is screenshots from my phone:


Did you already Post the Code of your Card? The entities Look good in my opinion

I copy @ArenaCloser code:

type: custom:stack-in-card
cards:
  - type: custom:mushroom-template-card
    primary: 'Nu: {{states("sensor.openweathermap_weather")}}'
    secondary: '{{states("sensor.openweathermap_temperature")| round(1) }} °C'
    icon: mdi:weather-partly-cloudy
    entity: sensor.openweathermap_condition
    picture: >-
      {% set entity = states("sensor.openweathermap_condition") %} {% set cloud
      = states("sensor.openweathermap_cloud_coverage")|int %}  {% set rain =
      states("sensor.openweathermap_precipitation")|float %}  {% if entity ==
      "exceptional" %}
        {% set slug = "isolated_scattered_tstorms_day" %}
      {% elif entity == "fog" %}
        {% set slug = "haze_fog_dust_smoke" %}
      {% elif entity == "hail" %}
        {% set slug = "wintry_mix_rain_snow" %}
      {% elif entity == "lightning" or entity == "lightning-rainy"%}
        {% set slug = "strong_tstorms" %} 
      {% elif entity == "snowy" %}
        {% set slug = "flurries" %}
      {% elif entity == "snowy-rainy" %}
        {% set slug = "wintry_mix_rain_snow" %}
      {% elif rain > 0 and rain <= 0.5 %}
        {% set slug = "drizzle" %}
      {% elif rain > 0.5 and rain <= 1.5 %}
        {% set slug = "showers_rain" %}
      {% elif rain > 1.5 %}
        {% set slug = "heavy_rain" %}
      {% elif states("sun.sun") == "below_horizon" %} 
        {% if cloud < 20 %}
        {% set slug = "clear_night" %}
        {% elif cloud < 40 %}
        {% set slug = "mostly_clear_night" %}
        {% elif cloud < 60 %}
        {% set slug = "partly_cloudy_night" %}
        {% elif cloud < 80 %}
        {% set slug = "mostly_cloudy_night" %}
        {% elif cloud <= 100 %}
        {% set slug = "cloudy" %}
        {% endif %}
      {% else %}  
        {% if cloud < 20 %}
        {% set slug = "sunny" %}
        {% elif cloud < 40 %}
        {% set slug = "mostly_sunny" %}
        {% elif cloud < 60 %}
        {% set slug = "partly_cloudy" %}
        {% elif cloud < 80 %}
        {% set slug = "mostly_cloudy_day" %}
        {% elif cloud <= 100 %}
        {% set slug = "cloudy" %}
        {% endif %}
      {% endif %}
      http://www.gstatic.com/images/icons/material/apps/weather/2x/{{slug}}_dark_color_96dp.png
    multiline_secondary: false
    icon_color: grey
    tap_action:
      action: navigate
      navigation_path: /dashboard-view/nieuws
    badge_icon: ''
    badge_color: ''
    card_mod:
      style: |
        ha-card {
          background: none;
          box-shadow: none;
           --primary-text-color: rgb(240,240,240);
           --secondary-text-color: rgb(220,220,220);
        }
card_mod:
  style: |
    ha-card {
      height: 13em !important;
      background: linear-gradient(to top, transparent, rgba(var(--frog-rgb-{{states('sensor.weather_frog_status')}})) 10%), url({{states('sensor.weather_frog_image_wide')}});
      background-size: cover, 200% auto;
      background-position: bottom left {% if is_state("sensor.weather_frog_location", "field") %}20%{% elif is_state("sensor.weather_frog_location", "hills") %}40%{% else %}10%{% endif %};
      background-repeat: no-repeat;
      background-blend-mode: saturation;
    }

Ok I have another idea. Indeed the entities are correct now, but did you add the theme variables? Mushroom Cards - Build a beautiful dashboard easily 🍄 (Part 1) - #8657 by ArenaCloser
If you’re using Mushroom theme, go to your themes folder and add it to your active mushroom[…].yaml, then call the service frontend.reload_themes.

Yes, I did
I use Mashroom Shadow Square theme and added your code to yaml file.
If I want to use a different theme, do I have to add this to thet yaml file to?

Yes, otherwise the background will not work. You can also define the background colors in the yaml of the card code itself, instead of in the theme, but it is easier to have it in the theme.

When I copied your code I got the frog background. I only didn’t get a cloud/sun/rain Google icon in the top left. But we can fix it later

It was my stupid mistake. I use same theme for all pages on my frontend, except this one :slight_smile:. I create this page only for experiments and forgot to change theme, after I did it’s start working


Thank you so much for your nice job and for your help
Just curios, what NU mean?