A draft of my wordpress Weather dashboard.


type: sidebar
path: test
title: weather
cards:
  - type: iframe
    url: >-
      https://embed.windy.com/embed.html?type=map&location=coordinates&metricRain=default&metricTemp=default&metricWind=default&zoom=3&overlay=wind&product=ecmwf&level=surface&lat=42.553&lon=-91.758
    aspect_ratio: 50%
  - type: clock
    view_layout:
      position: sidebar
  - type: vertical-stack
    cards:
      - type: custom:mushroom-template-card
        entity: sensor.nws_alerts_alerts
        primary: ๐ŸŒฉ๏ธ National Weather Service Alerts
        icon: mdi:alert
        icon_color: amber
        multiline_secondary: false
        tap_action:
          action: more-info
        secondary: |-
          {% if (states('sensor.nws_alerts_alerts') | int) > 0 %}
            {{ states('sensor.nws_alerts_alerts') }} active alert{{ 's' if (states('sensor.nws_alerts_alerts') | int) > 1 else '' }}
          {% else %}
            No active alerts
          {% endif %}
        badge_color: ""
        fill_container: false
      - type: conditional
        conditions:
          - condition: numeric_state
            entity: sensor.nws_alerts_alerts
            above: 0
        card:
          type: markdown
          content: >
            {% set alerts = state_attr('sensor.nws_alerts_alerts', 'Alerts') %}
            {% if alerts %}
              {% for alert in alerts %}
            โš ๏ธ **{{ alert.Event }}**

            ๐Ÿ“ฐ  {{ alert.Headline }}

            ๐Ÿ•’ Issued:   {{ as_local(strptime(alert.Sent,
            '%Y-%m-%dT%H:%M:%S%z')).strftime('%B %-d, %Y at %-I:%M %p') }}

            โฐ Expires:   {{ as_local(strptime(alert.Expires,
            '%Y-%m-%dT%H:%M:%S%z')).strftime('%B %-d, %Y at %-I:%M %p') }} {% if
            alert.Severity != 'Unknown' %}

            ๐Ÿ“Š Severity: {{ alert.Severity }} {% endif %}

            {% if alert.Certainty != 'Unknown' %} ๐Ÿ“ก Certainty: {{
            alert.Certainty }} {% endif %}

            <details> <summary>๐Ÿ“ <strong>Description</strong></summary>
              {% set desc = alert.Description.replace('\n', ' ') %}
              {% set parts = desc.split('* ') %}
              {% for part in parts if part %}
              <strong>{{ part.split('...')[0] | trim }}:</strong> {{ part.split('...', 1)[1] | trim }}
              {% endfor %}
            </details>

            <details>
              <summary>๐Ÿ“ข <strong>Instructions</strong></summary>
              {% set instruction = alert.Instruction.replace('\n', ' ') %}
              {{ instruction | trim }}
            </details>

              {% endfor %}
            {% else %} No active alerts. {% endif %}
    grid_options:
      columns: 12
      rows: auto
    view_layout:
      position: sidebar
  - type: custom:windrose-card
    title: Wind direction
    data_period:
      hours_to_show: 4
    refresh_interval: 300
    windspeed_bar_location: bottom
    wind_direction_entity:
      entity: sensor.wind_direction
      use_statistics: true
      direction_compensation: 0
    windspeed_entities:
      - entity: sensor.wind_speed
        name: speed
        speed_unit: auto
        use_statistics: true
        windspeed_bar_full: true
        output_speed_unit: mps
        speed_range_beaufort: true
    direction_labels:
      cardinal_direction_letters: NESW
    windrose_draw_north_offset: 0
    current_direction:
      show_arrow: true
      arrow_size: 50
      center_circle_size: 30
    compass_direction:
      auto_rotate: true
      entity: sensor.wind_direction
    cardinal_direction_letters: N,E,S,W
    matching_strategy: direction-first
    center_calm_percentage: true
    view_layout:
      position: sidebar
  - square: true
    type: grid
    cards:
      - graph: line
        type: sensor
        entity: sensor.esphome_web_9e83dc_temperature
        detail: 2
        name: Inside
      - graph: line
        type: sensor
        entity: sensor.esphome_web_9e83dc_higrow1_humidity_2
        detail: 1
        name: Humid
      - graph: line
        type: sensor
        entity: sensor.esphome_web_9e83dc_bh1750_illuminance_2
        detail: 1
        name: Lux
      - graph: line
        type: sensor
        entity: sensor.wind_speed
        detail: 1
        name: Wind
      - graph: line
        type: sensor
        entity: sensor.home_dew_point
        detail: 1
        name: Dew
      - graph: line
        type: sensor
        entity: sensor.home_grass_pollen_day_0
        detail: 1
        name: Pollen
    view_layout:
      position: sidebar
  - square: true
    type: grid
    cards:
      - graph: line
        type: sensor
        entity: sensor.home_apparent_temperature
        detail: 1
        name: Outside
      - graph: line
        type: sensor
        entity: sensor.home_realfeel_temperature
        detail: 1
        name: Feels like
      - graph: line
        type: sensor
        entity: sensor.humidity_kikk
        detail: 1
        name: Humidity
      - graph: line
        type: sensor
        entity: sensor.home_uv_index_day_0
        detail: 1
      - graph: line
        type: sensor
        entity: sensor.home_thunderstorm_probability_day_0
        detail: 1
        name: Thunder
      - graph: line
        type: sensor
        entity: sensor.home_precipitation
        detail: 1
        name: Rain
    view_layout:
      position: main
    columns: 6
icon: mdi:weather-cloudy-alert

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.