我在家庭助理上显示我的 Office 365 日历

我的目标:

  • 恢复我的O365日历
  • 将其显示在全屏家庭助理视图上

注意,集成的变化 HA

此页面日期为2023年5月27日,因为集成的作者决定删除电子邮件,日历和团队。 就这个主题而言,我将重新制作一个专门用于这种新集成的电子邮件页面。 它在这里可用:

因此,我建议使用上述链接与新的整合。 当然,此页面的其余部分仍然适用于存档。

安装HACS集成

我将使用这种集成:

我去HACS。

我要重新启动家庭助理。

我创建 Azure Microsoft 和 Home Assistant 之间的链接

我连接到The Azure 门户 (应用程序记录)

我添加了一个新的应用程序注册,我选择第二帐户类型,我放了一个网络重定向URL,https://login.microsoftonline.com/common/oauth2/nativeclient。

一旦创建记录,我将生成一个Secret客户端访问权限,左列,我单击:

为此,我点击:

我采取最长的拟议持续时间,并点击验证。 我注意到 值 值 由此生成。

文档表明你必须配置 API 授权,我不需要他们查阅日历,如果我想用这个 API 做其他事情,我会回来更改它。

在所有这些屏幕上,我注意到我检索到的两条信息:

  • 概述中的应用程序ID(客户)
  • 值 值 创建时产生的客户保密。 如果我忘了写下这个值,别担心,我会删除创建的客户秘密,并通过不忘记记下该值来重新创建。

Home Assistant 手动配置

没有自动配置,我们必须添加第o365节: 在 配置.yaml

像往常一样,为了找到我的路,我会创建一个文件。 O365.yaml 在配置文件夹中,然后添加行

第365章 : 包括o365.yaml

配置.yaml

我在o355.yaml中添加了这些行。

账户 : 帐户_name : Moncalendar 的 # 请勿使用电子邮件地址或空格 client_id: 秘密 o365-client_id client_secret: 秘密 o365-client_secret alt_auth_meth_method: false 启用 _update : 假 的

我填写了Secrets.yaml的两行,上面提到的值。

o365-client_id: xxxxxxxxxxxxxxxxxxxxx o365客户端_secret: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我重新启动家庭助理

验证链接 O365 <=> Home Assistant

在设置中,我找到通知 

点击链接O365帐户

我登录到 Microsoft 365 帐户

一旦确定,页面就会变成空白,URL栏中应该注意的URL,https://login.microsoftonline.com/common/oauth2/nativeclient?code=xxxxx。

我复制整个URL显示,我关闭窗口。

我将复制的URL粘贴到Returned URL字段中,然后验证

建立了联系。

选择要显示的日历

在这一点上,我转到开发工具/状态以检查我的日历是否正确检测到。

要过滤,我键入日历,这里是结果:

所以我看到我的日历以及所有和我分享的人都会上去。

我不会使用资源来让实体保持我不打算使用的最新信息,所以我只会保留我的日历。

为此,我禁用了我不想在我的日历中看到的所有实体。

我重新启动家庭助理

检查日历是否工作

我注意到在左边,添加了一个链接,我点击它,几秒钟后,神奇的,我的约会出现了。

为了保密起见,我缩小屏幕大小以张贴此图像:

在视图中显示日历

在这个阶段,我还没有找到如何在视图中展示这个美丽的日历,我觉得很可惜,我希望如果有人知道如何做到这一点,他们会告诉我。

所以我寻找一个地图来显示我的日历在我的仪表板上的全屏。

有几张地图,我想我已经测试了它们,但只有一个地图让我看到了一个在全屏幕上正确显示的日历,经过深思熟虑并且易于实现。

这是自定义的:atomic-calendar-revive卡

安装 Atomic Calendar Revice 卡

要安装它,我去HACS。

添加日历视图

因此,我添加了一个面板视图日历月图标,它有一个日历URL。

新卡的代码是:

类型 : 自定义:atomic-calendar-revive name : 日历 Lionel enableModeChange: 真正的默认模式 : 日历实体: - calendar.calendrier _moncalendrier newInterval : 14400 ShowDate: True DisableCalLink : True Dim FinishedEvents: 真实 的

结果相当不错: