home-assistant-configuration/packages/usps.yaml

113 lines
3.8 KiB
YAML
Raw Normal View History

2019-02-21 17:49:55 +00:00
###############################################################################
# @author : Jeffrey Stone
# @date : 02/19/2019
# @package : USPS
# @description : Notifies us of mails and packages.
# Package modified from https://github.com/skalavala/smarthome/blob/master/packages/usps.yaml
###############################################################################
homeassistant:
customize:
sensor.usps_mail:
friendly_name: USPS Mail
icon: mdi:mailbox
sensor.usps_packages:
friendly_name: USPS Packages
icon: mdi:package-variant
sensor:
- platform: mqtt
name: 'USPS Mail'
state_topic: 'house/usps/mails'
value_template: "{{ value }}"
- platform: mqtt
name: USPS Packages
state_topic: 'house/usps/packages'
value_template: "{{ value }}"
camera:
- platform: generic
name: USPS Mail Pictures
still_image_url: !secret usps_camera_url
automation:
- id: reset_usps
alias: Reset USPS
trigger:
- platform: time
at: '00:00:10'
action:
- service: shell_command.usps
- service: script.add_logbook_entry
data_template:
name: USPS
message: Reset Mail Count
- id: get_usps
alias: Get USPS
trigger:
- platform: time
at: '10:00:00'
action:
- service: shell_command.usps
- service: script.add_logbook_entry
data_template:
name: USPS
message: Checking for mail
# Notify USPS mails via TTS, and iOS notification with attachment
###############################################################################
- id: notify_usps_mail
alias: Notify USPS Mail
initial_state: true
trigger:
- platform: state
entity_id: sensor.usps_mail
condition:
- condition: template
value_template: '{{ states.sensor.usps_mail.state | int > 0 }}'
- condition: template
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}'
action:
- service: script.voice_notify
data_template:
message: >
{%- if states.sensor.usps_mail.state | int == 1 -%}
Attention: USPS is delivering {{ states.sensor.usps_mail.state }} piece of mail today.
{%- else -%}
Attention: USPS is delivering {{ states.sensor.usps_mail.state }} pieces of mail today.
{%- endif -%}
- service: notify.jeff_ios
data_template:
message: "USPS will be delivering {{ states.sensor.usps_mail.state }} piece(s) of mail today."
data:
push:
category: camera
entity_id: "camera.usps_mail_pictures"
attachment:
url: "{{ states.camera.usps_mail_pictures.attributes.entity_picture }}"
content-type: jpg
# Notify USPS packages via TTS. Usually there are no pictures for packages
###############################################################################
- id: notify_usps_packages
alias: Notify USPS Packages
initial_state: true
trigger:
- platform: state
entity_id: sensor.usps_packages
condition:
- condition: template
value_template: '{{ states.sensor.usps_packages.state | int > 0 }}'
- condition: template
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}'
action:
- service: script.voice_notify
data_template:
message: >
{%- if states.sensor.usps_packages.state | int == 1 -%}
Attention: USPS is delivering {{ states.sensor.usps_packages.state }} package today.
{%- else -%}
Attention: USPS is delivering {{ states.sensor.usps_packages.state }} packages today.
{%- endif -%}