Reducing some complexity in my weather sensors.
This commit is contained in:
parent
915b62b7bc
commit
cce4bb973c
|
@ -103,6 +103,123 @@ sensor:
|
|||
|
||||
- platform: template
|
||||
sensors:
|
||||
current_forecast:
|
||||
friendly_name: Current Forecast
|
||||
unit_of_measurement: ''
|
||||
icon_template: mdi:weather-sunny
|
||||
value_template: >-
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{{ forecast.condition }}
|
||||
attribute_templates:
|
||||
high_temp: >-
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{{ forecast.temperature }}
|
||||
wind_bearing: >-
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{{ forecast.wind_bearing }}
|
||||
wind_speed: >-
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{{ forecast.wind_speed }}
|
||||
precipitation_probability: >-
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{{ forecast.precipitation_probability }}
|
||||
description: >
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{{ forecast.detailed_description | truncate(250, False) }}
|
||||
overnight_forecast:
|
||||
friendly_name: Overnight Forecast
|
||||
unit_of_measurement: ''
|
||||
icon_template: mdi:weather-sunny
|
||||
value_template: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% endif %}
|
||||
{{ forecast.condition }}
|
||||
attribute_templates:
|
||||
low_temp: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% endif %}
|
||||
{{ forecast.temperature }}
|
||||
wind_bearing: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% endif %}
|
||||
{{ forecast.wind_bearing }}
|
||||
wind_speed: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% endif %}
|
||||
{{ forecast.wind_speed }}
|
||||
precipitation_probability: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% endif %}
|
||||
{{ forecast.precipitation_probability }}
|
||||
description: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[0] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% endif %}
|
||||
{{ forecast.detailed_description | truncate(250, False) }}
|
||||
tomorrow_forecast:
|
||||
friendly_name: Tomorrows Forecast
|
||||
unit_of_measurement: ''
|
||||
icon_template: mdi:weather-sunny
|
||||
value_template: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[2] %}
|
||||
{% endif %}
|
||||
{{ forecast.condition }}
|
||||
attribute_templates:
|
||||
high_temp: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[2] %}
|
||||
{% endif %}
|
||||
{{ forecast.temperature }}
|
||||
wind_bearing: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[2] %}
|
||||
{% endif %}
|
||||
{{ forecast.wind_bearing }}
|
||||
wind_speed: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[2] %}
|
||||
{% endif %}
|
||||
{{ forecast.wind_speed }}
|
||||
precipitation_probability: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[2] %}
|
||||
{% endif %}
|
||||
{{ forecast.precipitation_probability }}
|
||||
description: >-
|
||||
{% if is_state('binary_sensor.overnight', 'on') %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[1] %}
|
||||
{% else %}
|
||||
{% set forecast = state_attr('weather.klzu_daynight','forecast')[2] %}
|
||||
{% endif %}
|
||||
{{ forecast.detailed_description | truncate(250, False) }}
|
||||
outside_pressure:
|
||||
friendly_name: 'outisde pressure'
|
||||
value_template: '{{ state_attr(''weather.home'',''pressure'') }}'
|
||||
|
@ -111,18 +228,18 @@ sensor:
|
|||
friendly_name: "Clothing Forecast"
|
||||
unit_of_measurement: ''
|
||||
value_template: >-
|
||||
{%- if states('sensor.nws_daytime_temperature')|int > 63 %}
|
||||
{%- if states('sensor.nws_daytime_temperature')|int < 80 %}
|
||||
{%- if state_attr('sensor.current_forecast', 'high_temp')|int > 63 %}
|
||||
{%- if state_attr('sensor.current_forecast', 'high_temp')|int < 80 %}
|
||||
Nice
|
||||
{% elif states('sensor.nws_daytime_temperature')|int > 95 %}
|
||||
{% elif state_attr('sensor.current_forecast', 'high_temp')|int > 95 %}
|
||||
Hot
|
||||
{% else %}
|
||||
Toasty
|
||||
{%- endif %}
|
||||
{% elif states('sensor.nws_daytime_temperature')|int < 64 %}
|
||||
{%- if states('sensor.nws_daytime_temperature')|int < 32 %}
|
||||
{% elif state_attr('sensor.current_forecast', 'high_temp')|int < 64 %}
|
||||
{%- if state_attr('sensor.current_forecast', 'high_temp')|int < 32 %}
|
||||
Freezing
|
||||
{% elif states('sensor.nws_daytime_temperature')|int > 50 %}
|
||||
{% elif state_attr('sensor.current_forecast', 'high_temp')|int > 50 %}
|
||||
Chilly
|
||||
{% else %}
|
||||
Cold
|
||||
|
@ -131,97 +248,39 @@ sensor:
|
|||
Unknown
|
||||
{%- endif %}
|
||||
nws_current_forecast:
|
||||
friendly_name: 'Current Forecast'
|
||||
value_template: "{{ states.weather.klzu_daynight.attributes.forecast[0].detailed_description | truncate(250, False) }}"
|
||||
friendly_name: 'Current Detailed Forecast'
|
||||
value_template: "{{ state_attr('sensor.current_forecast', 'description')}}"
|
||||
nws_current_rain_forecast:
|
||||
friendly_name: 'Current Rain Chance'
|
||||
value_template: "{{ states.weather.klzu_daynight.attributes.forecast[0].precipitation_probability }}"
|
||||
value_template: "{{ state_attr('sensor.current_forecast', 'precipitation_probability')}}"
|
||||
unit_of_measurement: '%'
|
||||
nws_current_temperature:
|
||||
friendly_name: 'Current Temperature'
|
||||
value_template: "{{ states.weather.klzu_daynight.attributes.temperature }}"
|
||||
device_class: temperature
|
||||
nws_daytime_temperature:
|
||||
friendly_name: 'Daytime Temperature'
|
||||
value_template: >-
|
||||
{% if states.weather.klzu_daynight.attributes.forecast[0].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[0].temperature }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[1].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[1].temperature }}
|
||||
{% endif %}
|
||||
value_template: "{{ state_attr('weather.klzu_daynight','temperature') }}"
|
||||
device_class: temperature
|
||||
nws_current_condition:
|
||||
friendly_name: 'Current Condition'
|
||||
value_template: "{{ states.weather.klzu_daynight.state }}"
|
||||
value_template: "{{ states('weather.klzu_daynight') }}"
|
||||
nws_current_humidity:
|
||||
friendly_name: 'Current Humidity'
|
||||
value_template: "{{ states.weather.klzu_daynight.attributes.humidity }}"
|
||||
value_template: "{{ state_attr('weather.klzu_daynight','humidity') }}"
|
||||
nws_current_visibility:
|
||||
friendly_name: "Current Visability"
|
||||
value_template: "{{ states.weather.klzu_daynight.attributes.visibility }}"
|
||||
value_template: "{{ state_attr('weather.klzu_daynight','visibility') }}"
|
||||
nws_current_windspeed:
|
||||
friendly_name: "Current Windspeed"
|
||||
value_template: "{{ states.weather.klzu_daynight.attributes.wind_speed }}"
|
||||
value_template: "{{ state_attr('weather.klzu_daynight','wind_speed') }}"
|
||||
nws_overnight_low:
|
||||
friendly_name: "Overnight Low"
|
||||
unit_of_measurement: ''
|
||||
value_template: >-
|
||||
{% if states.weather.klzu_daynight.attributes.forecast[0].daytime == False %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[0].temperature }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[1].daytime == False %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[1].temperature }}
|
||||
{% endif %}
|
||||
nws_overnight_forecast:
|
||||
friendly_name: "Overnight Forecast"
|
||||
unit_of_measurement: ''
|
||||
value_template: >-
|
||||
{% if states.weather.klzu_daynight.attributes.forecast[0].daytime == False %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[0].detailed_description | truncate(250, False) }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[1].daytime == False %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[1].detailed_description | truncate(250, False) }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[2].daytime == False %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[2].detailed_description | truncate(250, False) }}
|
||||
{% endif %}
|
||||
nws_forecast_tomorrow:
|
||||
friendly_name: "Forecast Tomorrow"
|
||||
unit_of_measurement: ''
|
||||
value_template: >-
|
||||
{%- if states.weather.klzu_daynight.attributes.forecast[1].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[1].detailed_description | truncate(250, False) }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[2].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[2].detailed_description | truncate(250, False) }}
|
||||
{%- endif %}
|
||||
nws_forecast_rain_tomorrow:
|
||||
friendly_name: "Rain Chance Tomorrow"
|
||||
unit_of_measurement: '%'
|
||||
value_template: >-
|
||||
{%- if states.weather.klzu_daynight.attributes.forecast[1].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[1].precipitation_probability }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[2].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[2].precipitation_probability }}
|
||||
{%- endif %}
|
||||
nws_forecast_tomorrow_night:
|
||||
friendly_name: "Forecast Tomorrow Night"
|
||||
unit_of_measurement: ''
|
||||
value_template: >-
|
||||
{%- if states.weather.klzu_daynight.attributes.forecast[1].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[2].detailed_description | truncate(250, False) }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[2].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[3].detailed_description | truncate(250, False) }}
|
||||
{%- endif %}
|
||||
nws_forecast_rain_tomorrow_night:
|
||||
friendly_name: "Rain Chance Tomorrow Night"
|
||||
unit_of_measurement: '%'
|
||||
value_template: >-
|
||||
{%- if states.weather.klzu_daynight.attributes.forecast[1].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[2].precipitation_probability }}
|
||||
{% elif states.weather.klzu_daynight.attributes.forecast[2].daytime == True %}
|
||||
{{ states.weather.klzu_daynight.attributes.forecast[3].precipitation_probability }}
|
||||
{%- endif %}
|
||||
{{ state_attr('sensor.overnight_forecast', 'low_temp')}}
|
||||
|
||||
|
||||
current_inside_humidity:
|
||||
friendly_name: "Current Inside Humidity"
|
||||
unit_of_measurement: '%'
|
||||
value_template: "{{ states.climate.home.attributes.current_humidity }}"
|
||||
value_template: "{{ state_attr('climate.home','current_humidity') }}"
|
||||
lighting_stike_count:
|
||||
friendly_name: "Lightning Strike Count"
|
||||
value_template: "{{ states('sensor.acurite_6045m_3078_strcnt') }}"
|
||||
|
|
|
@ -1288,25 +1288,25 @@ input_text:
|
|||
name: Triggered Weather Alert IDs - UI
|
||||
icon: mdi:information-variant
|
||||
max: 255
|
||||
initial: None
|
||||
initial: 1
|
||||
|
||||
weatheralerts_triggered_pushbullet_alert_ids:
|
||||
name: Triggered Weather Alert IDs - Pushbullet
|
||||
icon: mdi:information-variant
|
||||
max: 255
|
||||
initial: None
|
||||
initial: 1
|
||||
|
||||
weatheralerts_triggered_alert_ids:
|
||||
name: Triggered Weather Alert IDs - Text
|
||||
icon: mdi:information-variant
|
||||
max: 255
|
||||
initial: None
|
||||
initial: 1
|
||||
|
||||
weatheralerts_triggered_audible_alert_ids:
|
||||
name: Triggered Weather Alert IDs - Audible
|
||||
icon: mdi:information-variant
|
||||
max: 255
|
||||
initial: None
|
||||
initial: 1
|
||||
|
||||
|
||||
################################################################################
|
||||
|
|
Loading…
Reference in New Issue