卡尔达夫


卡尔达夫平台允许您连接到WebDAV日历并生成二进制传感器。每个日历将创建不同的传感器,或者您可以指定符合您定义的标准的自定义日历(以下更多内容)。这些传感器将是如果您在该日历中有进行进行的活动或离开如果事件稍后时间,或者根本没有事件。WebDAV日历大约每15分钟更新一次。

先决条件

您需要拥有Caldav服务器和凭据。该集成已针对贝加尔但是任何符合RFC4791的集成都应起作用。NextCloudowncloud工作正常。

您可能需要一些其他系统软件包来编译Python Caldav库。在基于Debian的系统上,通过:

Sudoapt-get安装libxml2-dev libxslt1-dev zlib1g-dev

基本设置

要将WebDav日历集成到家庭助理中,请在您的必威是什么configuration.yaml文件:

#示例configuration.yaml输入日历-平台卡尔达夫用户名[电子邮件保护]密码!秘密卡尔达夫URLhttps://baikal.my-server.net/cal.php/calendars/[电子邮件保护]/默认
#示例configuration.yaml输入NextCloud,将自动找到日历日历-平台卡尔达夫用户名约翰密码!秘密卡尔达夫URLhttps://nextcloud.example.com/remote.php/dav
#示例configuration.yaml输入iCloud,将自动找到日历日历-平台卡尔达夫用户名!秘密Usericloud密码!秘密passicloudURLhttps://caldav.icloud.com

此示例将为您的帐户中每个日历生成默认的二进制传感器。那些日历将是当有持续的事件时离开如果不。在这些日历中忽略了持续一整天的事件。您必须设置自定义日历才能考虑到它们或进行高级事件过滤。

自定义日历

您有可能为符合某些条件的事件创建多个二进制传感器。

#示例Configuration.yaml条目日历-平台卡尔达夫用户名[电子邮件保护]密码!秘密卡尔达夫URLhttps://baikal.my-server.net/cal.php/calendars/[电子邮件保护]/默认custom_calendars-姓名在家办公”日历议程”搜索在家办公”-姓名热身式”日历议程”搜索暖身”

这将为日历名称议程创建两个二进制传感器:“家乡”和“热身”。这些传感器将是如果有一个正在进行的事件与在搜索。在自定义日历中,考虑了持续一整天的事件。

请注意,如果您使用custom_calendars选项,仅将加载这些日历。您不能使用日历custom_calendars在相同的配置中。

配置变量

URL 细绳 必需的

日历的完整URL。

用户名 细绳 ((可选的

身份验证的用户名。

密码 细绳 ((可选的

身份验证的密码。

日历 列表 ((可选的

要过滤的日历列表。空或不存在意味着没有过滤,即将添加所有日历。如果它不能使用custom_calender使用选项。

custom_calendars 列表 ((可选的

有关要创建的任何自定义二进制传感器日历的详细信息。使用此功能只会加载提供的自定义日历。没有其他日历会加载。

姓名 细绳 必需的

自定义日历的名称。

日历 细绳 必需的

要搜索的源日历。

搜索 细绳 必需的

根据其摘要,描述或位置的内容过滤事件的正则表达式。

整数 ((可选的,默认:1

寻找即将到来的约会的天数。

verify_ssl 布尔 ((可选的,默认:正确

是否验证SSL证书。如果使用自签名的证书,通常需要将其设置为“ false”。

传感器属性

  • offset_reached:如果在事件标题中设置并解析,则一旦达到标题中的偏移,将在几分钟内打开/关闭。因此,标题非常重要的会议!-10将触发此属性在事件开始前的10分钟内。这应该是HH:MM或者毫米
  • 一整天真假如果这是一整天的活动。将会错误的如果没有发现事件。
  • 信息:带有的活动标题搜索提取的值。因此在上面的示例中offset_reached该消息将设置为非常重要的会议
  • 描述:事件描述。
  • 地点:事件位置。
  • 开始时间:开始活动时间。
  • 时间结束:活动的结束时间。

例子

日历“私人”和“假期”的所有事件。请注意,不包括全天活动。

#示例configuration.yaml for NextCloud日历-平台卡尔达夫URLhttps://nextcloud.example.com/remote.php/dav用户名我”密码!秘密卡尔达夫日历-私人的-假期

完整的示例与自动化,如果不是假期,可以醒来音乐。先决条件:您有一个名为“工作”的日历,在其中创建包含“假日”的日历条目。

自定义日历名称是从自定义日历的主日历 +名称构建的。使用选项'。*'将加载所有日历事件。

#configuration.yaml日历-平台卡尔达夫URLhttps://nextcloud.example.com/remote.php/dav用户名我”密码!秘密卡尔达夫custom_calendars-姓名假期日历工作搜索假期”-姓名假期日历假期搜索。*”#automations.yaml-ID醒来别名工作时间醒来”扳机平台时间06:40:00”行动-服务Media_player.media_play目标ENTITY_IDMedia_player.bedroom(健康)状况-(健康)状况状态ENTITY_IDcalendar.work_holiday状态离开”