# sensor: # - platform: imap # name: 'Chickadee: All' # server: !secret imap_server # port: 993 # username: !secret imap_username # password: !secret imap_password # search: !secret imap_search_1 # charset: US-ASCII # - platform: imap # name: 'Chickadee: Unread' # server: !secret imap_server # port: 993 # username: !secret imap_username # password: !secret imap_password # search: !secret imap_search_2 # charset: US-ASCII template: - trigger: - trigger: event event_type: "imap_content" id: "custom_event" sensor: - name: imap_content state: "{{ trigger.event.data['subject'] }}" attributes: Entry: "{{ trigger.event.data['entry_id'] }}" UID: "{{ trigger.event.data['uid'] }}" Message: "{{ trigger.event.data['text'] }}" Server: "{{ trigger.event.data['server'] }}" Username: "{{ trigger.event.data['username'] }}" Search: "{{ trigger.event.data['search'] }}" Folder: "{{ trigger.event.data['folder'] }}" Sender: "{{ trigger.event.data['sender'] }}" Date: "{{ trigger.event.data['date'] }}" Subject: "{{ trigger.event.data['subject'] }}" Initial: "{{ trigger.event.data['initial'] }}" To: "{{ trigger.event.data['headers'].get('Delivered-To', ['n/a'])[0] }}" Return-Path: "{{ trigger.event.data['headers'].get('Return-Path',['n/a'])[0] }}" Received-first: "{{ trigger.event.data['headers'].get('Received',['n/a'])[0] }}" Received-last: "{{ trigger.event.data['headers'].get('Received',['n/a'])[-1] }}" # - name: PNC Balance # default_entity_id: sensor.pnc_balance # unique_id: 741fc355-76da-4a14-8c31-8d9b94bd4376 # availability: "{{ states('sensor.balance_alert_messages') not in ['unknown', 'unavailable'] }}" # state: > # {{ trigger.event.data["text"] | regex_findall_index("\ x7491:\* \$([0-9.]+)") }} binary_sensor: - name: Low Balance device_class: problem default_entity_id: binary_sensor.low_balance unique_id: ae9d430f-53a5-4fcb-af51-d645592617e6 availability: "{{ states('sensor.balance_alert_messages') not in ['unknown', 'unavailable'] }}" state: >- {{ 'Your available balance is less than your threshold amount.' in trigger.event.data["subject"]}} attributes: balance: > {{ trigger.event.data["text"] | regex_findall_index("\ x7491:\* \$([0-9.]+)") }}