############################################################################### # @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 initial_state: true alias: Reset USPS trigger: - platform: time at: '00:00:10' action: - service: shell_command.usps - id: get_usps initial_state: true alias: Get USPS trigger: - platform: time at: '10:00:00' action: - service: shell_command.usps # 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.ah_report data_template: usps: >- {%- if states.sensor.usps_mail.state | int == 1 -%} USPS is delivering {{ states.sensor.usps_mail.state }} piece of mail today. {%- else -%} USPS is delivering {{ states.sensor.usps_mail.state }} pieces of mail today. {%- endif -%} call_interuption: 1 - service: script.text_notify data_template: who: "jeff" title: "USPS Delivering Today" 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.ah_report data_template: usps: > {%- if states.sensor.usps_packages.state | int == 1 -%} USPS is delivering {{ states.sensor.usps_packages.state }} package today. {%- else -%} USPS is delivering {{ states.sensor.usps_packages.state }} packages today. {%- endif -%} call_interuption: 1