IMAP电子邮件内容


imap_email_content集成将读取来自IMAP电子邮件服务器的电子邮件,并将它们报告为Home Assistant中的状态更改。必威是什么如果你的设备只通过电子邮件报告它的状态,这是很有用的。

配置

要启用此传感器,请将以下行添加到您的configuration.yaml文件:

#配置示例。yaml入口传感器:-平台:imap_email_content服务器:imap.gmail.com端口:993用户名:YOUR_USERNAME密码:YOUR_PASSWORD文件夹:YOUR_FOLDER发件人:-(电子邮件保护)

配置变量

服务器 字符串 要求

IMAP服务器的IP地址或主机名。

港口 整数 可选默认值:993

可以访问服务器的端口。

的名字 字符串 可选

IMAP传感器名称。

用户名 字符串 要求

IMAP服务器的用户名。

密码 字符串 要求

IMAP服务器密码。

文件夹 字符串 可选默认:收件箱

文件夹来获取邮件。

发送方 字符串 要求

允许通过电子邮件报告状态的发送者电子邮件地址列表。只有从这些地址收到的电子邮件将被处理。

value_template 模板 可选

如果指定,此模板将用于渲染传感器的状态。如果没有提供模板,则将使用消息主题作为传感器值。以下属性将提供给模板。

电子邮件的起始地址。

身体

邮件正文。

主题

email.git的主题。

日期

发送邮件的日期和时间。

示例—关键字发现

下面的示例展示了使用IMAP邮件内容传感器扫描邮件主题的文本,在本例中,是来自APC SmartConnect服务的邮件,它告诉UPS是否在电池上运行。

传感器:—平台:imap_email_content服务器:imap.gmail.com名称:house_electricity端口:993用户名:MY_EMAIL_USERNAME密码:MY_EMAIL_PASSWORD发件人:—(电子邮件保护)value_template: >- {% if 'UPS On Battery' in subject %} power_out {% elif 'Power Restored' in subject %} power_on {% endif %}

同样的模板结构可以扫描日期,正文或发送器匹配文本之前设置传感器的状态。

示例-使用模板传感器从电子邮件中提取格式化的文本

这个示例展示了如何从电子邮件中提取数字或其他格式化的数据,以将模板传感器的值更改为从电子邮件中提取的值。在本例中,我们将从一封电子邮件(来自Georgia Power)提取能源使用、成本和收费金额,并使用一个针对已设置的IMAP电子邮件传感器运行的模板传感器将其放入传感器值中。邮件正文的示例如下:

昨日的能源消耗:76千瓦时昨日的能源消耗估算:8元迄今为止23天的能源消耗:1860千瓦时迄今为止23天的能源消耗估算:198元想查看你的帐户以了解你的能源消耗详情,请按此。

下面是模板传感器,它将IMAP电子邮件传感器(名为sensor.energy_email)中的电子邮件正文信息提取为3个传感器,分别是能源使用、每日成本和计费周期总和。

模板:- sensor: - name: "Previous Day Energy Use" unit_of_measurement: "kWh" state: > {{state_attr('sensor.energy_email','body') | regex_findall_index("\*昨天的能源使用:\* ([0-9]+)kWh")}} - name: "Previous Day Cost" unit_of_measurement: "$" state: > {{state_attr('sensor.energy_email','body')energy_email', 'body') | regex_findall_index("\*昨天的估计能源成本:\* \$([0-9.]+)")}}- name: "Billing Cycle Total" unit_of_measurement: "$" state: > {{state_attr('传感器。energy_email”、“身体”)| regex_findall_index(“\天:\ \ $ ([0 - 9]+)")}}

通过对上面定义的正则表达式进行小的修改,类似的结构可以从其他电子邮件的正文中解析出其他类型的数据。

Baidu