home-assistant-configuration/sensors/weather.yaml

174 lines
5.2 KiB
YAML

- platform: darksky
api_key: !secret FORCAST_API_KEY
forecast:
- 0
monitored_conditions:
- summary
- icon
- nearest_storm_distance
- nearest_storm_bearing
- precip_type
- precip_intensity
- precip_probability
- temperature
- temperature_high
- temperature_low
- apparent_temperature
- dew_point
- wind_speed
- wind_bearing
- cloud_cover
- humidity
- pressure
- visibility
- ozone
- minutely_summary
- hourly_summary
- daily_summary
- precip_intensity_max
update_interval:
# At least one of these must be specified:
days: 0
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- platform: moon
- platform: pollen
zip_code: "30017"
monitored_conditions:
- allergy_index_today
- asthma_index_today
## Accurite 158 - Back Porch
- platform: mqtt
name: "Accurite Back Porch Temperature"
state_topic: "house/accurite-158/temperature"
- platform: mqtt
name: "Accurite Back Porch Humidity"
state_topic: "house/accurite-158/humidity"
# - platform: mqtt
# name: "Accurite Back Porch Status"
# state_topic: "house/accurite-158/status"
# - platform: mqtt
# name: "Accurite Back Porch Battery"
# state_topic: "house/accurite-158/battery"
- platform: mqtt
name: "Accurite Back Porch Model"
state_topic: "house/accurite-158/model"
- platform: mqtt
name: "Accurite Back Porch lupdate"
state_topic: "house/accurite-158/lastupdate"
- platform: mqtt
name: "Accurite Garage Temperature"
state_topic: "house/accurite-10968/temperature"
- platform: mqtt
name: "Accurite Garage Humidity"
state_topic: "house/accurite-10968/humidity"
- platform: mqtt
name: "Accurite Garage Model"
state_topic: "house/accurite-10968/model"
- platform: mqtt
name: "Accurite Garage lupdate"
state_topic: "house/accurite-10968/lastupdate"
- platform: nws_alerts
zone_id: 'GAZ034'
# - platform: rest
# resource: https://api.weather.gov/alerts/active/count
# name: NWS Alert Count Raw
# value_template: >
# {% if value_json is defined and value_json.zones.GAZ034 is defined %}
# {{ value_json.zones.GAZ034 }}
# {% else %}
# 0
# {% endif %}
# headers:
# User-Agent: Homeassistant
# Accept: application/ld+json
# scan_interval: 60
# - platform: template
# sensors:
# nws_alert_count_filtered:
# friendly_name: NWS Alert Count
# entity_id: sensor.nws_alert_count_raw
# value_template: >
# {% if is_state('sensor.nws_alert_count_raw', 'unavailable') or is_state('sensor.nws_alert_count_raw', 'unknown') %}
# {{ states.sensor.nws_alert_count_filtered.state }}
# {% else %}
# {{ states.sensor.nws_alert_count_raw.state }}
# {% endif %}
# - platform: rest
# resource: https://api.weather.gov/alerts/active?zone=GAZ034
# name: NWS Alert Event Raw
# value_template: >
# {% if value_json.features[0] is defined %}
# {{ value_json['features'][0]['properties'].event }}
# {% else %}
# None
# {% endif %}
# json_attributes:
# - features
# headers:
# User-Agent: Homeassistant
# Accept: application/geo+json
# scan_interval: 60
# - platform: template
# sensors:
# nws_alert_event_filtered:
# friendly_name: NWS Alert Event
# entity_id: sensor.nws_alert_event_raw
# value_template: >
# {% if is_state('sensor.nws_alert_event_raw', 'unavailable') or is_state('sensor.nws_alert_event_raw', 'unknown') %}
# {{ states.sensor.nws_alert_event_filtered.state }}
# {% else %}
# {{ states.sensor.nws_alert_event_raw.state }}
# {% endif %}
# - platform: template
# sensors:
# nws_alert_event_2:
# friendly_name: NWS Alert Event 2
# entity_id: sensor.nws_alert_event_raw
# value_template: >
# {% if state_attr('sensor.nws_alert_event_raw', 'features')[1] is defined %}
# {{ state_attr('sensor.nws_alert_event_raw', 'features')[1]['properties'].event }}
# {% else %}
# None
# {% endif %}
# nws_alert_event_3:
# friendly_name: NWS Alert Event 3
# entity_id: sensor.nws_alert_event_raw
# value_template: >
# {% if state_attr('sensor.nws_alert_event_raw', 'features')[2] is defined %}
# {{ state_attr('sensor.nws_alert_event_raw', 'features')[2]['properties'].event }}
# {% else %}
# None
# {% endif %}
- platform: template
sensors:
clothing_forecast:
friendly_name: "Clothing Forecast"
unit_of_measurement: ''
value_template: >-
{%- if states('sensor.dark_sky_daytime_high_temperature_0')|float > 63 %}
{%- if states('sensor.dark_sky_daytime_high_temperature_0')|float < 80 %}
Nice
{% elif states('sensor.dark_sky_daytime_high_temperature_0')|float > 95 %}
Hot
{% else %}
Toasty
{%- endif %}
{% elif states('sensor.dark_sky_daytime_high_temperature_0')|float < 64 %}
{%- if states('sensor.dark_sky_daytime_high_temperature_0')|float < 32 %}
Freezing
{% elif states('sensor.dark_sky_daytime_high_temperature_0')|float > 50 %}
Chilly
{% else %}
Cold
{%- endif %}
{% else %}
Unknown
{%- endif %}