416 lines
19 KiB
YAML
Executable File
416 lines
19 KiB
YAML
Executable File
###############################################################################
|
|
# @author : Jeffrey Stone
|
|
# @date : 07/15/2019
|
|
# @package : Twitter
|
|
# @description : Just some tweet stuff - @anchoragehouse2
|
|
###############################################################################
|
|
automation:
|
|
|
|
- id: first_day_info
|
|
alias: First Day Info
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '00:10:00'
|
|
condition:
|
|
- condition: template
|
|
value_template: >
|
|
{% set day=states("sensor.date").split('-')[2] | int %}
|
|
{%- if day == 1 -%}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: >-
|
|
"Its a new month, so this is a good time to remind you that I am powered by @homeassistant and configured by @thejeffreystone. Find my code at https://github.com/thejeffreystone/home-assistant-configuration"
|
|
image: >-
|
|
image: >-
|
|
{{ [ "/config/www/tweet_images/robot1.jpg",
|
|
"/config/www/tweet_images/robot2.jpg"] | random }}
|
|
|
|
- id: tweet_some_snark
|
|
alias: Tweet Some Snark
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '08:00:00'
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_snark
|
|
|
|
- id: tweet_some_snark
|
|
alias: Tweet Some Snark
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '13:00:00'
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_snark
|
|
|
|
- id: tweet_some_stats
|
|
alias: Tweet Some Stats
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '08:00:00'
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_stats
|
|
|
|
- id: tweet_some_promos
|
|
alias: Tweet Some Promos
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '08:00:00'
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_promos
|
|
|
|
- id: bot_info
|
|
alias: Bot Info
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '10:00:00'
|
|
condition:
|
|
- condition: template
|
|
value_template: >
|
|
{% set day=states("sensor.date").split('-')[2] | int %}
|
|
{%- if day == 15 -%}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: >-
|
|
"This is a good time to remind you that I am a bot powered by @home_assistant and configured by @thejeffreystone. Find my code at https://github.com/thejeffreystone/home-assistant-configuration"
|
|
image: >-
|
|
{{ [ "/config/www/tweet_images/robot1.jpg",
|
|
"/config/www/tweet_images/robot2.jpg"] | random }}
|
|
|
|
- id: net_speed_report
|
|
initial_state: true
|
|
alias: Network Speed Report
|
|
trigger:
|
|
- platform: time
|
|
at: '11:15:00'
|
|
action:
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: >-
|
|
{{ [ "According to my latest speed tests Anchorage House is getting
|
|
{{ states.sensor.internet_test_down.attributes.max_value }} Mbps down and {{ states.sensor.internet_test_up.attributes.max_value }}
|
|
Mbps up thanks to #ATTFiber. ", "How fast is your internet? I just checked
|
|
am Im seeing {{ states.sensor.internet_test_down.attributes.max_value }} Mbps down and {{ states.sensor.internet_test_up.attributes.max_value }}
|
|
Mbps up. Beat that. ", "My speed is monitored using @home_assistant and https://github.com/thejeffreystone/speedtest_to_mqtt
|
|
and is {{ states.sensor.internet_test_down.attributes.max_value }} Mbps down and {{ states.sensor.internet_test_up.attributes.max_value }}
|
|
Mbps up." ] | random }}
|
|
image: >-
|
|
{{ [ "/config/www/tweet_images/speed.jpg",
|
|
"/config/www/tweet_images/fiber-optic.jpg"] | random }}
|
|
|
|
- id: rex_manning_day_tweet_1
|
|
alias: Rex Manning Day Tweet One
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '08:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: calendar.anchorage_holidays
|
|
state: "on"
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.calendar.anchorage_holidays.attributes.message %}
|
|
{%- if event == 'Rex Manning Day' %}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: >-
|
|
"Happy Rex Manning Day! https://www.youtube.com/watch?v=30fw5My1QJM #damntheman #savetheempire"
|
|
|
|
- id: rex_manning_day_tweet_2
|
|
alias: Rex Manning Day Tweet Two
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '13:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: calendar.anchorage_holidays
|
|
state: "on"
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.calendar.anchorage_holidays.attributes.message %}
|
|
{%- if event == 'Rex Manning Day' %}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: >-
|
|
"We mustn't dwell. No, not today. We can't. Not on Rex Manning day! https://www.youtube.com/watch?v=szvt8iWJ0oo #damntheman #savetheempire"
|
|
|
|
- id: Halloween Countdown Tweet
|
|
alias: Halloween Countdown Tweet
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '13:00:00'
|
|
condition:
|
|
- condition: template
|
|
value_template: >
|
|
{% set month= now().month | int %}
|
|
{%- if month == 10 -%}
|
|
true
|
|
{%- endif -%}
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.sensor.halloween_countdown.state | int %}
|
|
{%- if event > 0 %}
|
|
true
|
|
{%- endif -%}
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.sensor.halloween_countdown.state | int %}
|
|
{%- if event < 31 %}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: >-
|
|
{{ [ "There are only {{states.sensor.halloween_countdown.state}} days until Halloween.",
|
|
"Halloween is only {{states.sensor.halloween_countdown.state}} days away. It might not be enough time. ",
|
|
"Halloween is coming. {{states.sensor.halloween_countdown.state}} days and counting.",
|
|
"Only {{states.sensor.halloween_countdown.state}} days until Halloween.",
|
|
"You have {{states.sensor.halloween_countdown.state}} days until you need a costume.",
|
|
"Only {{states.sensor.halloween_countdown.state}} days until Halloween. But who is counting. amirite?",
|
|
"Would it be cliche if I went as a haunted house for Halloween? Asking for a another house.",
|
|
"Just in case I wanted to be HAL 9000 for Halloween I ordered some Pod Bay Doors."
|
|
] | random }}
|
|
|
|
- id: Christmas Countdown Tweet
|
|
alias: Christmas Countdown Tweet
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '19:00:00'
|
|
condition:
|
|
- condition: template
|
|
value_template: >
|
|
{% set month= now().month | int %}
|
|
{%- if month == 12 -%}
|
|
true
|
|
{%- endif -%}
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.sensor.christmas_countdown.state | int %}
|
|
{%- if event > 1 %}
|
|
true
|
|
{%- endif -%}
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.sensor.christmas_countdown.state | int %}
|
|
{%- if event < 31 %}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: >-
|
|
{{ [ "There are only {{states.sensor.christmas_countdown.state}} days until Christmas.",
|
|
"Christmas is only {{states.sensor.christmas_countdown.state}} days away. It might not be enough time. ",
|
|
"Santa is coming. {{states.sensor.christmas_countdown.state}} days and counting until he is here.",
|
|
"Only {{states.sensor.christmas_countdown.state}} days until Christmas.",
|
|
"You have {{states.sensor.christmas_countdown.state}} days until we get to unwrap presents!",
|
|
"Only {{states.sensor.christmas_countdown.state}} days until Christmas. But who is counting. amirite?",
|
|
"It is beginning to look a lot like Christmas. Which checks out because it is {{states.sensor.christmas_countdown.state}} days away.",
|
|
"Have you finished your Chistmas shopping? You only have {{states.sensor.christmas_countdown.state}} days left.",
|
|
"Have you started your Chistmas shopping? You only have {{states.sensor.christmas_countdown.state}} days left."
|
|
] | random }}
|
|
image: >-
|
|
{{ [ "/config/www/tweet_images/xmas.jpg",
|
|
"/config/www/tweet_images/gift.jpg",
|
|
"/config/www/tweet_images/christmas-cookies.jpg",
|
|
"/config/www/tweet_images/christmas.jpg",
|
|
"/config/www/tweet_images/christmas-tree.jpg"] | random }}
|
|
|
|
- id: Christmas Eve Tweet
|
|
alias: Christmas Eve Tweet
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '19:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: calendar.holidays_in_united_states
|
|
state: "on"
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.calendar.holidays_in_united_states.attributes.message %}
|
|
{%- if event == 'Christmas Eve' %}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: Tomorrow is Christmas. It is practically here! Santa is coming tonight! Do not forget the cookies!
|
|
image: /config/www/tweet_images/santa.png
|
|
|
|
- id: Christmas Day Tweet
|
|
alias: Christmas Day Tweet
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '05:30:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: calendar.holidays_in_united_states
|
|
state: "on"
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.calendar.holidays_in_united_states.attributes.message %}
|
|
{%- if event == 'Christmas Day' %}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: From everyone at Anchorage House, Merry Christmas!
|
|
image: /config/www/tweet_images/merry-christmas.jpg
|
|
|
|
- id: Freeze Warning Tweet
|
|
alias: Freeze Warning Tweet
|
|
initial_state: 'on'
|
|
trigger:
|
|
- platform: time
|
|
at: '08:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.freeze_warning
|
|
state: 'on'
|
|
action:
|
|
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: >-
|
|
{{ [ "Appears that the temperature will be below freezing soon. I think I will stay inside.",
|
|
"The forecasted temperature may kill sensative plants, so I will let the house know. I cannot through inaction allow another to come to harm.",
|
|
"Winter is coming. Actually it is already here. I suggest sleeping with Dragon Glass.",
|
|
"When the temperature is forcasted to get near freezing, or the NWS issues a Freeze Warning I make sure the residents of Anchorage House know."
|
|
] | random }}
|
|
image: >-
|
|
{{ [ "/config/www/tweet_images/ice.jpg",
|
|
"/config/www/tweet_images/snowfall.jpg",
|
|
"/config/www/tweet_images/snowflake.jpg"] | random }}
|
|
|
|
- id: new_pull_request
|
|
alias: New Pull Request
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id: sensor.open_pull_requests
|
|
condition:
|
|
- condition: template
|
|
value_template: '{{ states.sensor.open_pull_requests.state | int > 0 }}'
|
|
action:
|
|
- service: script.text_notify
|
|
data_template:
|
|
who: "jeff"
|
|
title: "New Pull Request"
|
|
message: >-
|
|
{%- if states.sensor.open_pull_requests.state | int == 1 -%}
|
|
There is {{ states.sensor.open_pull_requests.state }} pending pull request.
|
|
{%- else -%}
|
|
There are {{ states.sensor.open_pull_requests.state }} pending pull requests.
|
|
{%- endif -%}
|
|
- service: script.twitter_notify_image
|
|
data_template:
|
|
tweet: >-
|
|
{{ [
|
|
"Look at that. There is a new pull request waiting to be merged. You can create one too by contributing to my code at https://github.com/thejeffreystone/home-assistant-configuration #coding #opensource",
|
|
"Fork Yes! Someone contributed some code to https://github.com/thejeffreystone/home-assistant-configuration and you could to. #coding #opensource.",
|
|
"Thanks for the code kind stanger. Join the fun at https://github.com/thejeffreystone/home-assistant-configuration #coding #opensource",
|
|
"Theres been an awakening. Have you felt it? I will merge it so it can become the master. https://github.com/thejeffreystone/home-assistant-configuration #coding #opensource"
|
|
] | random }}
|
|
image: >-
|
|
{{ [ "/config/www/tweet_images/code.jpg",
|
|
"/config/www/tweet_images/codeing.jpg",
|
|
"/config/www/tweet_images/code2.jpg",
|
|
"/config/www/tweet_images/computer.jpg"] | random }}
|
|
|
|
- id: national_holiday_tweet
|
|
alias: National Holiday Tweet
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '07:00:00'
|
|
condition:
|
|
- condition: state
|
|
entity_id: calendar.national_holidays
|
|
state: "on"
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.calendar.national_holidays.attributes.message %}
|
|
{% if 'Day' in event %}
|
|
true
|
|
{%- endif -%}
|
|
- condition: template
|
|
value_template: >
|
|
{%- set event=states.calendar.national_holidays.attributes.message %}
|
|
{% if 'National' in event %}
|
|
true
|
|
{%- endif -%}
|
|
action:
|
|
- delay: '0{{ (range(1, 3)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: >-
|
|
{{ [ "Hey, Look at that. It is {{states.calendar.national_holidays.attributes.message}}. So Happy {{states.calendar.national_holidays.attributes.message}}! #nationalholiday #themoreyouknow",
|
|
"I bet you did not know today was {{states.calendar.national_holidays.attributes.message}}. How will you celebrate? #nationalholiday #themoreyouknow",
|
|
"Happy {{states.calendar.national_holidays.attributes.message}}! #nationalholiday #themoreyouknow",
|
|
"Whats with today, today? It is {{states.calendar.national_holidays.attributes.message}}. #nationalholiday #themoreyouknow",
|
|
"Did you know today was {{states.calendar.national_holidays.attributes.message}}? Now you do. That is why I am here. Tweeting. #nationalholiday #themoreyouknow",
|
|
"I already let my residents know that today is {{states.calendar.national_holidays.attributes.message}}. But I didn't want to leave you guys out. #nationalholiday #themoreyouknow",
|
|
"I hope you have a fun {{states.calendar.national_holidays.attributes.message}}. #nationalholiday #themoreyouknow"
|
|
] | random }}
|
|
|
|
- id: tweet_covid19_stats
|
|
alias: Tweet Some Covid Stats
|
|
initial_state: true
|
|
trigger:
|
|
- platform: time
|
|
at: '09:00:00'
|
|
action:
|
|
- service: script.text_notify
|
|
data_template:
|
|
who: "jeff"
|
|
title: "Covid-19 Update"
|
|
message: "In the last 24 hours there have been {{ states.sensor.covid19_confirmed.state | int - states.sensor.covid19_confirmed_stats.attributes.min_value | round }} new cases and {{ states.sensor.covid19_dead.state | int - states.sensor.covid19_deaths_stats.attributes.min_value | round }} more deaths. We now have {{ states.sensor.covid19_confirmed.state | round }} people that have been infected and {{ states.sensor.covid19_dead.state | round }} dead. That is an increase of {{ ((states.sensor.covid19_confirmed.state | int - states.sensor.covid19_confirmed_stats.attributes.min_value) / states.sensor.covid19_confirmed_stats.attributes.min_value * 100) | round }}% in infections and {{ ((states.sensor.covid19_dead.state | int - states.sensor.covid19_deaths_stats.attributes.min_value) / states.sensor.covid19_deaths_stats.attributes.min_value * 100) | round }}% in deaths. However, {{ states.sensor.covid19_recovered.state | int}} have also recovered."
|
|
- service: script.twitter_notify
|
|
data_template:
|
|
message: "In the last 24 hours in the US there have been {{ states.sensor.covid19_confirmed.state | int - states.sensor.covid19_confirmed_stats.attributes.min_value | round }} new cases and {{ states.sensor.covid19_dead.state | int - states.sensor.covid19_deaths_stats.attributes.min_value | round }} more deaths. We now have {{ states.sensor.covid19_confirmed.state | round }} people that have been infected and {{ states.sensor.covid19_dead.state | round }} dead. That is an increase of {{ ((states.sensor.covid19_confirmed.state | int - states.sensor.covid19_confirmed_stats.attributes.min_value) / states.sensor.covid19_confirmed_stats.attributes.min_value * 100) | round }}% in infections and {{ ((states.sensor.covid19_dead.state | int - states.sensor.covid19_deaths_stats.attributes.min_value) / states.sensor.covid19_deaths_stats.attributes.min_value * 100) | round }}% in deaths. However, {{ states.sensor.covid19_recovered.state | int}} have also recovered. #washyourhands"
|
|
|
|
- id: new_ha_notification
|
|
alias: New HA Notification
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id: binary_sensor.updater
|
|
from: 'off'
|
|
to: 'on'
|
|
action:
|
|
- service: script.twitter_new_ha
|
|
- service: ifttt.trigger
|
|
data_template: {"event":"GitPost", "value1":"Home Assistant {{ states.binary_sensor.updater.attributes.newest_version }} is now available.", "value2":"{{ states.binary_sensor.updater.attributes.newest_version }}"} |