Thanks @fantangelo this is great!
This is what I ended up with, working perfectly.
# weather network environment data
sensor:
- platform: rest
resource: https://www.theweathernetwork.com/api/data/XXXXXXXX
name: weather_network
json_attributes:
- obs
- swo
value_template: 'OK'
scan_interval:
minutes: 160
- platform: template
sensors:
weather_network_pollen_index:
value_template: '{{ states.sensor.weather_network.attributes["obs"]["pollen_index"] }}'
friendly_name: 'Pollen Index'
weather_network_pollen_name:
value_template: '{{ states.sensor.weather_network.attributes["obs"]["pollen_name"] }}'
friendly_name: 'Pollen Risk Type'
weather_network_uv_index:
value_template: '{{ states.sensor.weather_network.attributes["obs"]["uv_label"] }}'
friendly_name: 'UV Index'
weather_network_air_quality:
value_template: '{{ states.sensor.weather_network.attributes["obs"]["aq_level"] }}'
friendly_name: 'Air Quality'
weather_network_temperature:
value_template: '{{ states.sensor.weather_network.attributes["obs"]["t"] }}'
friendly_name: 'Temperature (Weather Network)'
device_class: temperature
unit_of_measurement: '°C'
weather_network_swo_level:
value_template: '{{ states.sensor.weather_network.attributes["swo"]["swo_level"] }}'
friendly_name: 'Severe Weather Risk Level'
weather_network_swo_type:
value_template: '{{ states.sensor.weather_network.attributes["swo"]["swo_type"] }}'
friendly_name: 'Severe Weather Risk Type'