As a workaround, I had to create new sensors from state attributes using platform template and then use them in gauge card, which is not ideal but works.
configuration.yaml:
sensor: !include sensors.yaml
sensors.yaml
- platform: template
sensors:
weather_outside_humidity:
friendly_name: 'Outside Humidity'
unit_of_measurement: '%'
value_template: >-
{{ state_attr('weather.home_assistant_hourly', 'humidity') }}
weather_outside_temperature:
friendly_name: 'Outside Temperature'
unit_of_measurement: 'F'
value_template: >-
{{ state_attr('weather.home_assistant_hourly', 'temperature') }}
weather_outside_pressure:
friendly_name: 'Outside Pressure'
unit_of_measurement: 'inHg'
value_template: >-
{{ state_attr('weather.home_assistant_hourly', 'pressure') }}
weather_outside_wind_speed:
friendly_name: 'Outside Wind Speed'
unit_of_measurement: 'mph'
value_template: >-
{{ state_attr('weather.home_assistant_hourly', 'wind_speed') }}
lovelace (code editor):
type: horizontal-stack
cards:
- type: gauge
entity: sensor.weather_outside_temperature
needle: true
severity:
green: 32
yellow: 85
red: 100
max: 150
name: Temperature
- type: gauge
entity: sensor.weather_outside_humidity
max: 100
needle: true
severity:
green: 30
yellow: 10
red: 70
name: Humidity
- type: gauge
entity: sensor.weather_outside_pressure
needle: true
min: 28
max: 32
severity:
green: 29.8
yellow: 30.2
red: 0
name: Pressure
- type: gauge
entity: sensor.weather_outside_wind_speed
name: Wind
needle: true
severity:
green: 1
yellow: 39
red: 73
max: 120
Screenshot: