Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. sensors.yaml:
  2.  
  3. - platform: rest
  4. name: Home Assistant Docker Latest Image Build
  5. scan_interval: 300
  6. resource: https://registry.hub.docker.com/v1/repositories/homeassistant/home-assistant/tags
  7. headers:
  8. Content-Type: application/json
  9. User-Agent: Home Assistant REST sensor
  10. value_template: >-
  11. {% for image_build in value_json | reverse if image_build.name.split(".")[0]=="0" %}
  12. {% if loop.first %}
  13. {{image_build.name}}
  14. {% endif %}
  15. {% endfor %}
  16. - platform: rest
  17. name: Home Assistant Released Version
  18. scan_interval: 300
  19. json_attributes:
  20. - body
  21. - html_url
  22. resource: https://api.github.com/repos/home-assistant/home-assistant/releases/latest
  23. username: !secret github_username
  24. password: !secret github_access_token
  25. authentication: basic
  26. value_template: '{{ value_json.tag_name }}'
  27. headers:
  28. Accept: application/vnd.github.v3+json
  29. Content-Type: application/json
  30. User-Agent: Home Assistant REST sensor
  31.  
  32. - alias: Home Assistant Release Check
  33. initial_state: on
  34. trigger:
  35. - platform: template
  36. value_template: >-
  37. {% if states.sensor.home_assistant_released_version %}
  38. {% if states.sensor.current_version %}
  39. {% if states.sensor.home_assistant_docker_latest_image_build %}
  40. {% if states('sensor.home_assistant_released_version') != states('sensor.current_version') %}
  41. {{ states('sensor.home_assistant_released_version') == states('sensor.home_assistant_docker_latest_image_build') }}
  42. {% endif %}
  43. {% endif %}
  44. {% endif %}
  45. {% endif %}
  46. - platform: homeassistant
  47. event: start
  48. condition:
  49. condition: and
  50. conditions:
  51. - condition: template
  52. value_template: >-
  53. {% if states.sensor.home_assistant_released_version %}
  54. {% if states.sensor.current_version %}
  55. {% if states.sensor.home_assistant_docker_latest_image_build %}
  56. {% if states('sensor.home_assistant_released_version') != states('sensor.current_version') %}
  57. {{ states('sensor.home_assistant_released_version') == states('sensor.home_assistant_docker_latest_image_build') }}
  58. {% endif %}
  59. {% endif %}
  60. {% endif %}
  61. {% endif %}
  62. action:
  63. - service: persistent_notification.create
  64. data_template:
  65. title: Home Assistant Release
  66. notification_id: hass_release_{{states('sensor.home_assistant_docker_latest_image_build')}}
  67. message: >-
  68. A new version of Home Assistant is available, {{ states('sensor.home_assistant_released_version') }}, while current version is {{states('sensor.current_version') }}
  69.  
  70. Link: {{states.sensor.home_assistant_released_version.attributes.html_url}}
  71.  
  72. Release notes:
  73.  
  74. {{states.sensor.home_assistant_released_version.attributes.body.split("## All changes")[0]}}
  75.  
  76. - service: notify.telegram_notifier
  77. data_template:
  78. message: >-
  79. A new version of Home Assistant is available, {{ states('sensor.home_assistant_released_version') }}, while current version is {{states('sensor.current_version') }}
  80.  
  81. Link: {{states.sensor.home_assistant_released_version.attributes.html_url}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement