diff --git a/binary_sensor.yaml b/binary_sensor.yaml index 86299b6..5deee16 100644 --- a/binary_sensor.yaml +++ b/binary_sensor.yaml @@ -2,7 +2,43 @@ country: US province: OH workdays: [mon, tue, wed, thu, fri] + - platform: tod name: School - after: "09:00" - before: "15:30" + after: '09:00' + before: '15:30' + +- platform: tod + name: Night + after: sunset + before: sunrise + +- platform: tod + name: Day + after: sunrise + before: sunset + +- platform: tod + name: Quiet time + after: '21:00' + before: '07:30' + +- platform: tod + name: Morning + after: '07:30' + before: '09:00' + +- platform: tod + name: Midday + after: '09:00' + before: '16:00' + +- platform: tod + name: Evening + after: '16:00' + before: '21:00' + +- platform: tod + name: Overnight + after: '18:00' + before: '07:30' diff --git a/packages/custom_weather.yaml b/packages/custom_weather.yaml new file mode 100644 index 0000000..3d8e316 --- /dev/null +++ b/packages/custom_weather.yaml @@ -0,0 +1,753 @@ +weather: + - platform: template + name: "Iron Nerd Weather Station" + condition_template: "{{ states('weather.iron_nerd_studios') }}" + temperature_template: "{{ states('sensor.pirateweather_temperature') | float }}" + humidity_template: "{{ states('sensor.pirateweather_humidity') | float }}" + forecast_template: "{{ state_attr('weather.iron_nerd_studios', 'forecast') }}" + pressure_template: "{{ states('sensor.barometric_pressure') | float }}" + wind_speed_template: "{{ states('sensor.pirateweather_wind_speed') | float }}" + wind_bearing_template: "{{ states('sensor.pirateweather_wind_bearing') | float }}" + visibility_template: "{{ states('sensor.kdfi_visibility') | float }}" + attribution_template: "Weather data from Iron Nerd's custom weather station template" + ozone_template: "{{ states('sensor.pirateweather_ozone') | float }}" + - platform: pirateweather + api_key: !secret pirate_weather_api + mode: "daily" + name: Iron Nerd Studios + +sensor: + # - platform: template + # sensors: + # pirateweather_pressure_inhg: + # friendly_name: Pirateweather Pressure inHg + # device_class: pressure + # unit_of_measurement: 'inHg' + # value_template: "{{ (states('sensor.pirateweather_pressure') | float * 0.029529983071445) | round(2) }}" + - platform: pirateweather + api_key: !secret pirate_weather_api + scan_interval: '00:15:00' + monitored_conditions: + - icon + - temperature + - precip_probability + - precip_type + - humidity + - cloud_cover + - nearest_storm_distance + - precip_intensity + - wind_speed + - precip_accumulation + - apparent_temperature + - dew_point + - wind_gust + - wind_bearing + - pressure + - ozone + - minutely_summary + - hourly_summary + - daily_summary + - temperature_high + - temperature_low + - apparent_temperature_high + - apparent_temperature_low + - precip_intensity_max + - uv_index + - moon_phase + - sunrise_time + - sunset_time + - nearest_storm_bearing + - alerts + units: us + - platform: weatheralerts + state: OH + zone: 4 + county: 39 + + - platform: average + name: 'Average Temperature' + duration: + days: 7 + entities: + - sensor.pirateweather_temperature + - platform: average + name: 'Average Feels Like' + duration: + days: 7 + entities: + - sensor.pirateweather_apparent + - platform: average + name: 'Average Wind Speed' + duration: + days: 7 + entities: + - sensor.pirateweather_wind_speed + + + - platform: template + sensors: + current_forecast: + friendly_name: Current Forecast + unit_of_measurement: '' + icon_template: mdi:weather-sunny + value_template: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[0] %} + {{ forecast.condition }} + attribute_templates: + high_temp: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[0] %} + {{ forecast.temperature }} + overnight_low: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[1] %} + {{ forecast.templow }} + wind_bearing: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[0] %} + {{ forecast.wind_bearing }} + wind_speed: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[0] %} + {{ forecast.wind_speed }} + precipitation: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[0] %} + {{ forecast.precipitation }} + current_forecast_detail: + friendly_name: Current Forecast Detail + unit_of_measurement: '' + icon_template: mdi:weather-sunny + value_template: >- + {%- macro getReport() -%} + {{ [ + 'Today in Defiance ', + 'Later Today ', + 'For the rest of the day' + ] | random }} + expect a high of {{ state_attr('sensor.current_forecast','high_temp') }} + {%- if states('sensor.current_forecast') == 'sunny' and is_state('binary_sensor.night','off')%} + {{ [ + 'and sunny.', + 'with sun.', + 'with sunny conditions prevailing.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'sunny' and is_state('binary_sensor.night','on') %} + {{ [ + 'and clear.', + 'with clear skies.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'clear-night' %} + {{ [ + 'and clear.', + 'with clear skies.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'rainy' %} + {{ [ + 'with rain.', + 'with showers.', + 'and rainy.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'snowy' %} + {{ [ + 'with snow.', + 'with snow showers.' + ] | random }} + {{ [ + 'Snowfall accumulations ', + 'Total snowfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'snowy-rainy' %} + {{ [ + 'with mix preciptation possible.', + 'with snow and rain showers.' + ] | random }} + Total accumulation near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'windy' %} + {{ [ + 'and windy.', + 'with lots of wind.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'fog' %} + {{ [ + 'and foggy.', + 'with some fog.' + ] | random }} + {% elif states('sensor.current_forecast') == 'cloudy' %} + {{ [ + 'with clouds.', + 'with cloudy skies.' + ] | random }} + {% elif states('sensor.current_forecast') == 'partlycloudy' %} + {{ [ + 'with some clouds.', + 'with partly cloudy skies.', + 'with scattered clouds' + ] | random }} + {%- elif states('sensor.current_forecast') == 'hail' %} + {{ [ + 'with severve thunderstorms possible.', + 'with hail possible.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'lightning' %} + {{ [ + 'with thunderstorms possible.', + 'with the potential of thunderstorms.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {% endif -%} + {{ [ + 'Later tonight expect a low of ', + 'Overnight expect a low of ' + ] | random }} + {{ state_attr('sensor.current_forecast','overnight_low') }} degrees. + {%- endmacro -%} + {# a macro that removes all newline characters, empty spaces, and returns formatted text #} + {%- macro cleanup(data) -%} + {%- for item in data.split("\n") if item | trim != "" -%} + {{ item | trim }} {% endfor -%} + {%- endmacro -%} + {# a macro to call all macros :) #} + {%- macro mother_of_all_macros() -%} + {{ getReport() }} + {%- endmacro -%} + + {# Call the macro #} + {{- cleanup(mother_of_all_macros()) -}} + tomorrow_forecast: + friendly_name: Tomorrows Forecast + unit_of_measurement: '' + icon_template: mdi:weather-sunny + value_template: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[1] %} + {{ forecast.condition }} + attribute_templates: + high_temp: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[1] %} + {{ forecast.temperature }} + overnight_low: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[2] %} + {{ forecast.templow }} + wind_bearing: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[1] %} + {{ forecast.wind_bearing }} + wind_speed: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[1] %} + {{ forecast.wind_speed }} + precipitation: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[1] %} + {{ forecast.precipitation }} + tomorrow_forecast_detail: + friendly_name: Tomorrow Forecast Detail + unit_of_measurement: '' + icon_template: mdi:weather-sunny + value_template: >- + {%- macro getReport() -%} + {{ [ + 'Tomorrow in Defiance ', + 'For the next day ', + 'Tomorrow ' + ] | random }} + expect a high of {{ state_attr('sensor.tomorrow_forecast','high_temp') }} + {%- if states('sensor.tomorrow_forecast') == 'sunny' %} + {{ [ + 'and sunny.', + 'with sun.', + 'with sunny conditions prevailing.' + ] | random }} + {%- elif states('sensor.tomorrow_forecast') == 'rainy' %} + {{ [ + 'with rain.', + 'with showers.', + 'and rainy.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.tomorrow_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.tomorrow_forecast') == 'snowy' %} + {{ [ + 'with snow.', + 'with snow showers.' + ] | random }} + {{ [ + 'Snowfall accumulations ', + 'Total snowfall amounts ' + ] | random }} + near {{ state_attr('sensor.tomorrow_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.tomorrow_forecast') == 'snowy-rainy' %} + {{ [ + 'with mix preciptation possible.', + 'with snow and rain showers.' + ] | random }} + Total accumulation near {{ state_attr('sensor.tomorrow_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.tomorrow_forecast') == 'windy' %} + {{ [ + 'and windy.', + 'with lots of wind.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'fog' %} + {{ [ + 'and foggy.', + 'with some fog.' + ] | random }} + {% elif states('sensor.tomorrow_forecast') == 'cloudy' %} + {{ [ + 'with clouds.', + 'with cloudy skies.' + ] | random }} + {% elif states('sensor.tomorrow_forecast') == 'partlycloudy' %} + {{ [ + 'with some clouds.', + 'with partly cloudy skies.', + 'with scattered clouds' + ] | random }} + {%- elif states('sensor.tomorrow_forecast') == 'hail' %} + {{ [ + 'with severve thunderstorms possible.', + 'with hail possible.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'lightning' %} + {{ [ + 'with thunderstorms possible.', + 'with the potential of thunderstorms.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {% endif -%} + {{ [ + ' Tomorrow night expect a low of ' + ] | random }} + {{ state_attr('sensor.tomorrow_forecast','overnight_low') }} degrees. + {%- endmacro -%} + {# a macro that removes all newline characters, empty spaces, and returns formatted text #} + {%- macro cleanup(data) -%} + {%- for item in data.split("\n") if item | trim != "" -%} + {{ item | trim }} {% endfor -%} + {%- endmacro -%} + {# a macro to call all macros :) #} + {%- macro mother_of_all_macros() -%} + {{ getReport() }} + {%- endmacro -%} + + {# Call the macro #} + {{- cleanup(mother_of_all_macros()) -}} + current_conditions: + friendly_name: Current Conditions + unit_of_measurement: '' + icon_template: mdi:weather-sunny + value_template: >- + {%- macro getReport() -%} + The Weather in Defiance + {{ [ + ' is ', + ' is currently ' + ] | random }} + {{states('sensor.pirateweather_temperature')|round}} degrees + {% if is_state('weather.iron_nerd_weather_station', 'rainy') %} + {{ [ + 'with rain.', + 'with showers.' + ] | random }} + {% elif is_state('weather.iron_nerd_weather_station', 'cloudy') %} + {{ [ + 'with clouds.', + 'with cloudy skies.' + ] | random }} + {% elif is_state('weather.iron_nerd_weather_station', 'partlycloudy') %} + {{ [ + 'with some clouds.', + 'with partly cloudy skies.', + 'with scatterd clouds' + ] | random }} + {% elif is_state('weather.iron_nerd_weather_station', 'sunny') %} + {% if is_state('sun.sun', 'above_horizon') %} + {{ [ + 'and sunny.', + 'with sun.' + ] | random }} + {% else %} + {{ [ + 'and clear.', + 'with clear skies.' + ] | random }} + {% endif %} + {% else %} + and {{ states.weather.iron_nerd_weather_station.state }} + {% endif %} + {%- endmacro -%} + {# a macro that removes all newline characters, empty spaces, and returns formatted text #} + {%- macro cleanup(data) -%} + {%- for item in data.split("\n") if item | trim != "" -%} + {{ item | trim }} {% endfor -%} + {%- endmacro -%} + {# a macro to call all macros :) #} + {%- macro mother_of_all_macros() -%} + {{ getReport() }} + {%- endmacro -%} + + {# Call the macro #} + {{- cleanup(mother_of_all_macros()) -}} + current_conditions_detail: + friendly_name: Current Conditions Detail + unit_of_measurement: '' + icon_template: mdi:weather-sunny + value_template: >- + {%- macro getReport() -%} + The Weather in Defiance + {{ [ + ' is ', + ' is currently ' + ] | random }} + {{states('sensor.pirateweather_temperature')|round}} degrees + {% if is_state('weather.iron_nerd_weather_station', 'rainy') %} + {{ [ + 'with rain.', + 'with showers.' + ] | random }} + {% elif is_state('weather.iron_nerd_weather_station', 'cloudy') %} + {{ [ + 'with clouds.', + 'with cloudy skies.' + ] | random }} + {% elif is_state('weather.iron_nerd_weather_station', 'partlycloudy') %} + {{ [ + 'with some clouds.', + 'with partly cloudy skies.', + 'with scatterd clouds' + ] | random }} + {% elif is_state('weather.iron_nerd_weather_station', 'sunny') %} + {% if is_state('sun.sun', 'above_horizon') %} + {{ [ + 'and sunny.', + 'with sun.' + ] | random }} + {% else %} + {{ [ + 'and clear.', + 'with clear skies.' + ] | random }} + {% endif %} + {% else %} + and {{ states.weather.iron_nerd_weather_station.state }} + {% endif %} + {%- if is_state('binary_sensor.night','off')%} + {{ [ + 'Later Today ', + 'For the rest of the day' + ] | random }} + expect a high of {{ state_attr('sensor.current_forecast','high_temp') }} + {%- if states('sensor.current_forecast') == 'sunny' and is_state('binary_sensor.night','off')%} + {{ [ + 'and sunny.', + 'with sun.', + 'with sunny conditions prevailing.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'sunny' and is_state('binary_sensor.night','on') %} + {{ [ + 'and clear.', + 'with clear skies.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'clear-night' %} + {{ [ + 'and clear.', + 'with clear skies.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'rainy' %} + {{ [ + 'with rain.', + 'with showers.', + 'and rainy.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'snowy' %} + {{ [ + 'with snow.', + 'with snow showers.' + ] | random }} + {{ [ + 'Snowfall accumulations ', + 'Total snowfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'snowy-rainy' %} + {{ [ + 'with mix preciptation possible.', + 'with snow and rain showers.' + ] | random }} + Total accumulation near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'windy' %} + {{ [ + 'and windy.', + 'with lots of wind.' + ] | random }} + {%- elif states('sensor.current_forecast') == 'fog' %} + {{ [ + 'and foggy.', + 'with some fog.' + ] | random }} + {% elif states('sensor.current_forecast') == 'cloudy' %} + {{ [ + 'with clouds.', + 'with cloudy skies.' + ] | random }} + {% elif states('sensor.current_forecast') == 'partlycloudy' %} + {{ [ + 'with some clouds.', + 'with partly cloudy skies.', + 'with scattered clouds' + ] | random }} + {%- elif states('sensor.current_forecast') == 'hail' %} + {{ [ + 'with severve thunderstorms possible.', + 'with hail possible.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {%- elif states('sensor.current_forecast') == 'lightning' %} + {{ [ + 'with thunderstorms possible.', + 'with the potential of thunderstorms.' + ] | random }} + {{ [ + 'Rainfall accumulations ', + 'Total Rainfall amounts ' + ] | random }} + near {{ state_attr('sensor.current_forecast','precipitation') }} inches + possible. + {% endif -%} + {{ [ + 'Later tonight expect a low of ', + 'Overnight expect a low of ' + ] | random }} + {{ state_attr('sensor.current_forecast','overnight_low') }} degrees. + {%- else -%} + {{ [ + 'Tonight expect a low of ', + 'Overnight expect a low of ' + ] | random }} + {{ state_attr('sensor.current_forecast','overnight_low') }} degrees. + {% endif %} + {%- endmacro -%} + {# a macro that removes all newline characters, empty spaces, and returns formatted text #} + {%- macro cleanup(data) -%} + {%- for item in data.split("\n") if item | trim != "" -%} + {{ item | trim }} {% endfor -%} + {%- endmacro -%} + {# a macro to call all macros :) #} + {%- macro mother_of_all_macros() -%} + {{ getReport() }} + {%- endmacro -%} + + {# Call the macro #} + {{- cleanup(mother_of_all_macros()) -}} + outside_pressure: + friendly_name: 'Outside Pressure' + value_template: '{{ state_attr(''weather.iron_nerd_weather_station'',''pressure'') }}' + unit_of_measurement: '' + todays_high_temp: + friendly_name: "Today's High Temp" + unit_of_measurement: '' + device_class: temperature + value_template: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[0] %} + {{ forecast.temperature }} + tonights_low_temp: + friendly_name: "Tonight's Low Temp" + unit_of_measurement: '' + device_class: temperature + value_template: >- + {% set forecast = state_attr('weather.iron_nerd_weather_station','forecast')[1] %} + {{ forecast.lowtemp }} + clothing_forecast: + friendly_name: "Clothing Forecast" + unit_of_measurement: '' + value_template: >- + {% if is_state('binary_sensor.overnight', 'off') %} + {% set temp = states('sensor.todays_high_temp')|int %} + {% else %} + {% set temp = states('sensor.pirateweather_temperature')|round %} + {% endif %} + {%- if states('sensor.todays_high_temp')|int > 63 %} + {%- if states('sensor.todays_high_temp')|int < 80 %} + Nice + {% elif states('sensor.todays_high_temp')|int > 95 %} + Hot + {% else %} + Toasty + {%- endif %} + {% elif states('sensor.todays_high_temp')|int < 64 %} + {%- if states('sensor.todays_high_temp')|int < 32 %} + Freezing + {% elif states('sensor.todays_high_temp')|int > 50 %} + Chilly + {% else %} + Cold + {%- endif %} + {% else %} + Unknown + {%- endif %} + clothing_forecast_detail: + friendly_name: "Clothing Forecast Detail" + unit_of_measurement: '' + value_template: >- + {% if is_state('binary_sensor.morning','on') %} + Based on the forecasted high temperature, + {% if is_state('sensor.clothing_forecast', 'Freezing') %} + It is going to be freezing today. so I suggest wearing long pants and a heavy coat. + {% elif is_state('sensor.clothing_forecast','Cold') %} + It is going to be cold today. so I suggest wearing long pants and a light jacket. + {% elif is_state('sensor.clothing_forecast', 'Chilly') %} + It is going to be chilly today. so I suggest wearing at least long pants. + {% elif is_state('sensor.clothing_forecast', 'Nice') %} + It is going to be + {{ [ 'nice outside. ', + 'pretty nice outside. ', + 'a good day to be outside. ', + 'rather enjoyable outside. ', + ] | random }} + So I suggest wearing shorts. + {% elif is_state('sensor.clothing_forecast', 'Toasty') %} + It is going to be + {{ [ 'bit warm ', + ' rather warm outside ', + ' almost too hot outside ', + ' a little warm ', + ] | random }} + today. So I suggest wearing shorts. + {% elif is_state('sensor.clothing_forecast', 'Hot') %} + It is going to be + {{ [ 'hot', + 'hotter than the sun ', + 'hotter than hot. but in a lot of bad ways ', + 'hotter than the sun outside ', + 'super hot ', + 'hotter than the inside of a volcano ' + ] | random }} + today. So I suggest wearing shorts. + {% else %} + It is going to be {{ states.sensor.clothing_forecast.state }} today so I suggest wearing shorts. + {% endif %} + {% else %} + Based on the current temperature, + {% if is_state('sensor.clothing_forecast', 'Freezing') %} + It is freezing. so I suggest wearing long pants and a heavy coat if you are going out. + {% elif is_state('sensor.clothing_forecast','Cold') %} + It is cold outside. so I suggest wearing long pants and a light jacket. + {% elif is_state('sensor.clothing_forecast', 'Chilly') %} + It is chilly right now. so I suggest wearing at least long pants + if you are going to venture outside. + {% elif is_state('sensor.clothing_forecast', 'Nice') %} + It is + {{ [ 'nice outside. ', + 'pretty nice outside. ', + 'a good day to be outside. ', + 'rather enjoyable outside. ', + ] | random }} + So I suggest wearing shorts. + {% elif is_state('sensor.clothing_forecast', 'Toasty') %} + It is + {{ [ 'bit warm ', + ' rather warm outside ', + ' almost too hot outside ', + ' a little warm ', + ] | random }} + outside. So I suggest wearing shorts. + {% elif is_state('sensor.clothing_forecast', 'Hot') %} + It is + {{ [ 'hot', + 'hotter than the sun ', + 'hotter than hot. but in a lot of bad ways ', + 'hotter than the sun outside ', + 'super hot ', + 'hotter than the inside of a volcano ' + ] | random }} + outside. So I suggest wearing shorts. + {% else %} + It is {{ states.sensor.clothing_forecast.state }} right now so I suggest wearing shorts. + {% endif %} + {% endif %} + nws_current_visibility: + friendly_name: "Current Visibility" + value_template: "{{ ((state_attr('weather.iron_nerd_weather_station','visibility') | int) * 0.621371) | round }}" + + current_inside_humidity: + friendly_name: "Current Inside Humidity" + unit_of_measurement: '%' + value_template: "{{ state_attr('climate.home','current_humidity') }}" + # lighting_stike_count: + # friendly_name: "Lightning Strike Count" + # value_template: "{{ states('sensor.acurite_6045m_3078_strcnt') }}" + yesterday_rainfall_in: + friendly_name: "Yesterday Rainfall" + value_template: "{{ state_attr('sensor.daily_rainfall_in', 'last_period') }}" + previous_rainfall: + friendly_name: "Past 48h Rainfall" + value_template: "{{ states('sensor.daily_rainfall_in') | float + state_attr('sensor.daily_rainfall_in', 'last_period') | float }}" + # lightning_warning: + # friendly_name: "Lightning Warning" + # value_template: >- + # {%- if states('sensor.recent_lightning_strikes') | int > 0 %} + # Unsafe + # {% else %} + # Safe + # {%- endif %} + +input_boolean: + freeze_warning: + name: Freeze Warning + icon: mdi:snowflake-alert + weather_alert_texts: + name: Weather Alert Texts + icon: mdi:telegram + lightning_warning: + name: Lightning Warning + icon: mdi:flash-alert + tornado_alarm: + name: Tornado Alarm + icon: mdi:speaker-wireless + tstorm_alarm: + name: T-Storm Alarm + icon: mdi:speaker-wireless + raining: + name: Raining diff --git a/sensor.yaml b/sensor.yaml index 9b76832..446eb3c 100644 --- a/sensor.yaml +++ b/sensor.yaml @@ -1,7 +1,3 @@ -- platform: weatheralerts - state: OH - zone: 4 - county: 39 - platform: twitch_helix client_id: !secret twitch_client_id client_secret: !secret twitch_client_secret @@ -15,24 +11,6 @@ - STPeach - BroteinGaming404 - NotoriosPenguin -- platform: average - name: 'Average Temperature' - duration: - days: 7 - entities: - - sensor.temperature -- platform: average - name: 'Average Feels Like' - duration: - days: 7 - entities: - - sensor.feels_like -- platform: average - name: 'Average Wind Speed' - duration: - days: 7 - entities: - - sensor.wind_speed - platform: rest name: Household Tasks method: GET