#------------------------------------------- # @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 }}