111 lines
4.6 KiB
YAML
Executable File
111 lines
4.6 KiB
YAML
Executable File
#-------------------------------------------
|
|
# RSS Podcast Alerting function Packages
|
|
# @CCOSTAN
|
|
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
|
|
#-------------------------------------------
|
|
|
|
#-------------------------------------------
|
|
feedreader:
|
|
urls:
|
|
- https://hasspodcast.io/feed/podcast #HA Podcast Feed
|
|
- https://us12.campaign-archive.com/feed?u=45cab4343ffdbeb9667c28a26&id=e01847e94f #This is CCOSTAN's Smart Home Blog feed
|
|
# - http://feeds.feedburner.com/RecentCommitsToBearStoneHA - This is the Repo Commit feed.
|
|
#-------------------------------------------
|
|
|
|
automation:
|
|
- alias: Send notification of RSS feed title when updated
|
|
trigger:
|
|
platform: event
|
|
event_type: feedreader
|
|
|
|
action:
|
|
- service: script.notify_engine
|
|
data_template:
|
|
value1: 'There is a new RSS item available for {{trigger.event.data.title}}.'
|
|
value2: '{{trigger.event.data.link}}'
|
|
who: 'carlo'
|
|
|
|
- service: notify.html5
|
|
data_template:
|
|
title: "New RSS Item available"
|
|
message: "New RSS Item - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }} {{trigger.event.data.title}}"
|
|
data:
|
|
url: "{{trigger.event.data.link}}"
|
|
|
|
- service: persistent_notification.create
|
|
data_template:
|
|
title: "{{trigger.event.data.title}}"
|
|
message: "New RSS item available - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}"
|
|
notification_id: "update_available"
|
|
|
|
- service: script.tweet_engine
|
|
data_template:
|
|
tweet: '{{trigger.event.data.title}} - {{trigger.event.data.link}}'
|
|
|
|
- service: script.notify_engine
|
|
data_template:
|
|
value1: 'Check the MQTT Dump'
|
|
value2: '/dump/{{ trigger.platform }}'
|
|
who: 'carlo'
|
|
- service: mqtt.publish
|
|
data_template:
|
|
topic: '/dump/{{ trigger.platform }}'
|
|
retain: false
|
|
payload: >-
|
|
{%- macro dumpState(statePrefix, stateObj) -%}
|
|
{{statePrefix ~ ": "}} {{- stateObj.state }}{{- "\n" -}}
|
|
{{statePrefix ~ ".entity_id: "}} {{- stateObj.entity_id }}{{- "\n" -}}
|
|
{{statePrefix ~ ".domain: "}} {{- stateObj.domain }}{{- "\n" -}}
|
|
{{statePrefix ~ ".object_id: "}} {{- stateObj.object_id }}{{- "\n" -}}
|
|
{{statePrefix ~ ".name: "}} {{- stateObj.name }}{{- "\n" -}}
|
|
{{statePrefix ~ ".last_updated: "}} {{- stateObj.last_updated }}{{- "\n" -}}
|
|
{{statePrefix ~ ".last_changed: "}} {{- stateObj.last_changed }}{{- "\n" -}}
|
|
{%- for attrib in stateObj.attributes | sort() %}
|
|
{%- if attrib is defined -%}
|
|
{{- statePrefix ~ ".attributes." ~ attrib ~ ": " -}} {{- stateObj.attributes[attrib] -}}
|
|
{{- "\n" -}}
|
|
{%- endif -%}
|
|
{%- endfor -%}
|
|
{%- endmacro -%}
|
|
|
|
{% set p = trigger.platform %}
|
|
{{"trigger.platform: "}} {{ p }}{{- "\n" -}}
|
|
|
|
{%- if p == "mqtt" -%}
|
|
{{"trigger.topic: "}} {{ trigger.topic }}{{- "\n" -}}
|
|
{{"trigger.payload: "}} {{ trigger.payload }}{{- "\n" -}}
|
|
{{"trigger.payload_json: "}} {{ trigger.payload_json }}{{- "\n" -}}
|
|
{{"trigger.qos: "}} {{ trigger.qos }}{{- "\n" -}}
|
|
{%- endif -%}
|
|
|
|
{%- if p == "event" or p == "sun" or p == "zone" -%}
|
|
{{"trigger.event: "}} {{ trigger.event }}{{- "\n" -}}
|
|
{%- endif -%}
|
|
|
|
{%- if p == "numeric_state" -%}
|
|
{{"trigger.above: "}} {{ trigger.above }}{{- "\n" -}}
|
|
{{"trigger.below: "}} {{trigger.below }}{{- "\n" -}}
|
|
{%- endif -%}
|
|
|
|
{%- if p == "state" -%}
|
|
{{"trigger.for: "}} {{ trigger.for }}{{- "\n" -}}
|
|
{%- endif -%}
|
|
|
|
{%- if p == "time" -%}
|
|
{{"trigger.now: "}} {{ trigger.now }}{{- "\n" -}}
|
|
{%- endif -%}
|
|
|
|
{%- if p == "zone" -%}
|
|
{{"trigger.zone: "}} {{ trigger.zone }}{{- "\n" -}}
|
|
{%- endif -%}
|
|
|
|
{%- if p == "state" or p == "numeric_state" or p == "template" or p == "zone" -%}
|
|
{{"trigger.entity_id: "}} {{ trigger.entity_id }}{{- "\n" -}}{{- "\n" -}}
|
|
{{"trigger.from_state: "}} {{- "\n" -}}
|
|
-------------------{{- "\n" -}}
|
|
{{ dumpState("trigger.from_state", trigger.from_state) }} {{- "\n" -}}
|
|
trigger.to_state:{{- "\n" -}}
|
|
-----------------{{- "\n" -}}
|
|
{{ dumpState("trigger.to_state", trigger.to_state) }}
|
|
{%- endif -%}
|