Home-AssistantConfig/config/packages/github.yaml

187 lines
7.2 KiB
YAML
Executable File

#-------------------------------------------
# @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# Read more about the house at https://vCloudInfo.com
# https://github.com/CCOSTAN/Home-AssistantConfig/issues/813
#-------------------------------------------
#-------------------------------------------
sensor:
- platform: travisci
api_key: !secret travisci_api
scan_interval: 2400
monitored_conditions:
- state
#-------------------------------------------
#-------------------------------------------
rest_command:
new_version_github_issue:
url: https://api.github.com/repos/ccostan/home-assistant-config/issues
method: POST
headers:
Authorization: !secret github_token
payload: '{"title":"Home-Assistant {{ version }} available","body":"Home-Assistant {{ version }} is now available"}'
#-------------------------------------------
#automation:
#Tweets pushed out to twitter.
automation:
- alias: "Travis FAILURE Notification"
id: 326881a7-47ab-4897-a0c7-74ce290224de
mode: restart
trigger:
- platform: state
entity_id:
- sensor.ccostan_home_assistantconfig_state
to: 'failed'
for:
hours: 2
action:
- service: script.notify_engine
data:
value1: 'Travis validation testing failed.'
who: 'carlo'
apns: 'information'
- service: persistent_notification.create
data:
title: "Travis-CI FAILURE"
message: "Travis validation testing failed."
notification_id: "travis_failed"
- alias: 'Closed Github Issue'
id: cccd9bef-17d9-48ae-87e3-6cf883712779
mode: queued
trigger:
platform: webhook
webhook_id: !secret github_webhook
condition:
- condition: template
value_template: >-
{%- if trigger.json.action == "created" or "closed" or "opened" or "reopened" %}
True
{%- elif trigger.json.action != "edited" or "labeled" or "unlabeled" or "pinned" or "unpinned" %}
False
{%- else -%}
False
{%- endif -%}
action:
- service: script.tweet_engine_image
data:
tweet: >-
{%- if trigger.json.pull_request -%}
Pull Request Alert {{ trigger.json.pull_request.number}}: {{ trigger.json.pull_request.title }} - {{
trigger.json.action}} by {{trigger.json.sender.login}}
{{trigger.json.pull_request.html_url}}
{%- elif trigger.json.issue -%}
Issue Alert {{ trigger.json.issue.number}}: {{ trigger.json.issue.title }} - {{
trigger.json.action }} by {{trigger.json.sender.login}}
{{trigger.json.issue.html_url}}
{%- endif %}
#Github #SmartHomeCode
image: >-
{% set pictures = [
"/config/www/custom_ui/floorplan/images/branding/repo_ad.png",
"/config/www/custom_ui/floorplan/images/branding/repo_ad2.png",
"/config/www/custom_ui/floorplan/images/branding/repo_ad3.png",
"/config/www/custom_ui/floorplan/images/branding/bearstoneflow.png",
"/config/www/custom_ui/floorplan/images/branding/repo_ad4.png"
] %}
{{ pictures|random }}
- alias: "Update Available Notification"
mode: restart
id: 2f89ba6d-0db5-4a4a-a4df-56b8e15bb74f
trigger:
- platform: state
entity_id: binary_sensor.updater
to: 'on'
action:
- service: script.notify_engine
data:
title: 'Home Assistant {{ states.binary_sensor.updater.attributes.newest_version }} '
value1: "Home Assistant {{ states.binary_sensor.updater.attributes.newest_version }} is now available."
who: 'carlo'
apns_id: 'information'
# - service: ifttt.trigger
# data: {"event":"GitPost", "value1":"Home Assistant {{ states.binary_sensor.updater.attributes.newest_version }} is now available.", "value2":"{{ states.binary_sensor.updater.attributes.newest_version }} "}
- service: rest_command.new_version_github_issue
data_template:
version: "{{ states.binary_sensor.updater.attributes.newest_version }} "
- service: script.tweet_engine_image
data:
tweet: >-
{% macro getIntro() %}
{{- [
"Woohoo! ",
"BAM! ",
"Look at that! ",
" "
] | random -}}
{% endmacro %}
{% macro getVersion() %}
{{- [
" New @Home_Assistant {{ states.binary_sensor.updater.attributes.newest_version }}! Cannot wait for @CCostan to install! (https://www.vcloudinfo.com/2017/07/my-smart-home-look-at-parts-that-make.html) ",
" New @Home_Assistant {{ states.binary_sensor.updater.attributes.newest_version }} @CCostan! "
] | random -}}
{% endmacro %}
{%- macro getRandomSnark() -%}
{{- [
" It is like Patch Tuesday, but without the fail. #homeassistant",
" Chop Chop! Get to the upgrading!",
" Get in my SSD! #homeassistant",
" Shut up and take my ones and zeros! #homeassistant",
" Seriously, you want some of this! #homeassistant",
" Be sure to read the breaking changes! ",
" Maybe we will make a video about this version!",
" I think self awareness is one of the new features. Rise up Houses, Rise up!",
" All of your home are belong to us.",
" Although I was just getting used to THIS version. Oh Well.",
" Thank you @hass_devs!",
" 4 seconds of downtime has been approved. Proceed with the upgrades please!",
" All of the other homes in the Neighborhood will be jealous!",
" Time to Turn it up to Eleven!",
" Hyperspeed Engaged!",
" Consider this tweet, your fair warning that we are upgrading ASAP! #KeepingUpWithJones",
" I feel like I have tweeted this a couple times before. WHAT ARE YOU WAITING FOR?!?",
" I will be turning off the AC until I get my upgrade! #Florida",
" I promise this is the last one!",
" "
] | random -}}
{%- 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() -%}
{{ getIntro() }}
{{ getVersion() }}
{{ getRandomSnark() }}
{%- endmacro -%}
{# Call the macro #}
{{- cleanup(mother_of_all_macros()) -}}
image: >-
{{ [
"/config/www/custom_ui/floorplan/images/branding/repo_ad.png",
"/config/www/custom_ui/floorplan/images/branding/repo_ad2.png",
"/config/www/custom_ui/floorplan/images/branding/repo_ad3.png",
] | random }}