Shoutout to Pirateweather for still being dogwater...
This commit is contained in:
@ -1,10 +1,32 @@
|
||||
weather:
|
||||
- platform: template
|
||||
name: "Iron Nerd Weather Station"
|
||||
condition_template: "{{ states('weather.iron_nerd_studios') }}"
|
||||
temperature_template: "{{ states('sensor.pirateweather_temperature') | float }}"
|
||||
condition_template: >
|
||||
{% set stations = [
|
||||
states.weather.iron_nerd_studios,
|
||||
states.weather.kdfi_daynight,
|
||||
states.weather.openweathermap
|
||||
] %}
|
||||
{% set result = stations | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) }}
|
||||
temperature_template: >
|
||||
{% set temps = [
|
||||
states.sensor.pirateweather_temperature,
|
||||
states.sensor.kdfi_temperature,
|
||||
states.sensor.openweathermap_temperature,
|
||||
states.sensor.myradar_temperature
|
||||
] %}
|
||||
{% set sensor = temps | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(sensor) | float }}
|
||||
temperature_unit: °F
|
||||
humidity_template: "{{ states('sensor.pirateweather_humidity') | float }}"
|
||||
humidity_template: >
|
||||
{% set humidity = [
|
||||
states.sensor.pirateweather_humidity,
|
||||
states.sensor.kdfi_relative_humidity,
|
||||
states.sensor.openweathermap_humidity
|
||||
] %}
|
||||
{% set result = humidity | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
forecast_template: >
|
||||
{% if state_attr('weather.iron_nerd_studios','forecast') %}
|
||||
{{ state_attr('weather.iron_nerd_studios','forecast') }}
|
||||
@ -16,32 +38,78 @@ weather:
|
||||
{{ state_attr('weather.weatherapi_stratton_ave','forecast') }}
|
||||
{% endif %}
|
||||
pressure_template: >
|
||||
{% if states('sensor.kdfi_barometric_pressure') %}
|
||||
{{ states('sensor.kdfi_barometric_pressure') }}
|
||||
{% else %}
|
||||
{{ states('sensor.myradar_pressure') | float }}
|
||||
{% endif %}
|
||||
{% set pressures = [
|
||||
states.sensor.kdfi_barometric_pressure,
|
||||
states.sensor.myradar_pressure
|
||||
] %}
|
||||
{% set result = pressures | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
pressure_unit: inHg
|
||||
wind_speed_template: "{{ states('sensor.pirateweather_wind_speed') | float }}"
|
||||
wind_speed_template: >
|
||||
{% set windspeeds = [
|
||||
states.sensor.pirateweather_wind_speed,
|
||||
states.sensor.kdfi_wind_speed,
|
||||
states.sensor.openweathermap_wind_speed,
|
||||
states.sensor.myradar_wind_speed
|
||||
] %}
|
||||
{% set result = windspeeds | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
wind_speed_unit: mph
|
||||
wind_bearing_template: "{{ states('sensor.pirateweather_wind_bearing') | float }}"
|
||||
wind_bearing_template: >
|
||||
{% set windbearings = [
|
||||
states.sensor.pirateweather_wind_bearing,
|
||||
states.sensor.openweathermap_wind_bearing,
|
||||
states.sensor.myradar_wind_bearing
|
||||
] %}
|
||||
{% set result = windbearings | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
visibility_template: >
|
||||
{% if states('sensor.kdfi_visibility') %}
|
||||
{{ states('sensor.kdfi_visibility') | float }}
|
||||
{% else %}
|
||||
{{ states('sensor.pirateweather_visibility') }}
|
||||
{% endif %}
|
||||
{% set vis = [
|
||||
states.sensor.kdfi_visibility,
|
||||
states.sensor.pirateweather_visibility,
|
||||
states.sensor.openweathermap_visibility
|
||||
] %}
|
||||
{% set result = vis | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
visibility_unit: mi
|
||||
attribution_template: "Daily weather data from Iron Nerd's custom weather station template"
|
||||
ozone_template: "{{ states('sensor.pirateweather_ozone') | float }}"
|
||||
ozone_template: >
|
||||
{% set ozones = [
|
||||
states.sensor.pirateweather_ozone,
|
||||
states.sensor.myradar_ozone
|
||||
] %}
|
||||
{% set result = ozones | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
precipitation_unit: in
|
||||
|
||||
- platform: template
|
||||
name: "Iron Nerd Weather Station - Hourly"
|
||||
condition_template: "{{ states('weather.iron_nerd_studios') }}"
|
||||
temperature_template: "{{ states('sensor.pirateweather_temperature') | float }}"
|
||||
condition_template: >
|
||||
{% set stations = [
|
||||
states.weather.iron_nerd_studios,
|
||||
states.weather.kdfi_daynight,
|
||||
states.weather.openweathermap
|
||||
] %}
|
||||
{% set result = stations | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) }}
|
||||
temperature_template: >
|
||||
{% set temps = [
|
||||
states.sensor.pirateweather_temperature,
|
||||
states.sensor.kdfi_temperature,
|
||||
states.sensor.openweathermap_temperature,
|
||||
states.sensor.myradar_temperature
|
||||
] %}
|
||||
{% set sensor = temps | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(sensor) | float }}
|
||||
temperature_unit: °F
|
||||
humidity_template: "{{ states('sensor.pirateweather_humidity') | float }}"
|
||||
humidity_template: >
|
||||
{% set humidity = [
|
||||
states.sensor.pirateweather_humidity,
|
||||
states.sensor.kdfi_relative_humidity,
|
||||
states.sensor.openweathermap_humidity
|
||||
] %}
|
||||
{% set result = humidity | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
forecast_template: >
|
||||
{% if state_attr('weather.kdfi_hourly','forecast') %}
|
||||
{{ state_attr('weather.kdfi_hourly', 'forecast') }}
|
||||
@ -49,24 +117,48 @@ weather:
|
||||
{{ state_attr('weather.iron_nerd_studios_hourly','forecast') }}
|
||||
{% endif %}
|
||||
pressure_template: >
|
||||
{% if states('sensor.kdfi_barometric_pressure') %}
|
||||
{{ states('sensor.kdfi_barometric_pressure') }}
|
||||
{% else %}
|
||||
{{ states('sensor.myradar_pressure') | float }}
|
||||
{% endif %}
|
||||
{% set pressures = [
|
||||
states.sensor.kdfi_barometric_pressure,
|
||||
states.sensor.myradar_pressure
|
||||
] %}
|
||||
{% set result = pressures | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
pressure_unit: inHg
|
||||
wind_speed_template: "{{ states('sensor.pirateweather_wind_speed') | float }}"
|
||||
wind_speed_template: >
|
||||
{% set windspeeds = [
|
||||
states.sensor.pirateweather_wind_speed,
|
||||
states.sensor.kdfi_wind_speed,
|
||||
states.sensor.openweathermap_wind_speed,
|
||||
states.sensor.myradar_wind_speed
|
||||
] %}
|
||||
{% set result = windspeeds | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
wind_speed_unit: mph
|
||||
wind_bearing_template: "{{ states('sensor.pirateweather_wind_bearing') | float }}"
|
||||
wind_bearing_template: >
|
||||
{% set windbearings = [
|
||||
states.sensor.pirateweather_wind_bearing,
|
||||
states.sensor.openweathermap_wind_bearing,
|
||||
states.sensor.myradar_wind_bearing
|
||||
] %}
|
||||
{% set result = windbearings | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
visibility_template: >
|
||||
{% if states('sensor.kdfi_visibility') %}
|
||||
{{ states('sensor.kdfi_visibility') | float }}
|
||||
{% else %}
|
||||
{{ states('sensor.pirateweather_visibility') }}
|
||||
{% endif %}
|
||||
{% set vis = [
|
||||
states.sensor.kdfi_visibility,
|
||||
states.sensor.pirateweather_visibility,
|
||||
states.sensor.openweathermap_visibility
|
||||
] %}
|
||||
{% set result = vis | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
visibility_unit: mi
|
||||
attribution_template: "Hourly weather data from Iron Nerd's custom weather station template"
|
||||
ozone_template: "{{ states('sensor.pirateweather_ozone') | float }}"
|
||||
ozone_template: >
|
||||
{% set ozones = [
|
||||
states.sensor.pirateweather_ozone,
|
||||
states.sensor.myradar_ozone
|
||||
] %}
|
||||
{% set result = ozones | selectattr('state','ne','unavailable') | selectattr('state','ne','unknown') | map(attribute='entity_id') | list | first %}
|
||||
{{ states(result) | float }}
|
||||
precipitation_unit: in
|
||||
|
||||
template:
|
||||
|
Reference in New Issue
Block a user