home assistant 配置microsoft todo(微软待办)同步
前提條件:
1.home assistant 系統有HACS。
2.有微軟賬號。
3.知道怎么編輯configuration.yaml文件。
操作:
第一步(添加插件)
在HACS添加倉庫鏡像 https://github.com/black-roland/homeassistant-microsoft-todo,類別為 “集成”(integration)
添加完后,在商店搜索Microsoft To Do
第二步(添加配置)
在HACS配置文件中,添加或修改配置如下
homeassistant:internal_url: http://localhost:8123 # 配置microsoft_todo 的API接口參數。 calendar:- platform: microsoft_todoclient_id: e32da15d-9e6a-48c3-8781-69a2c43dd0a4client_secret: "wPk8Q~mbyOeqar~tK1TWIFAz~BoeVOQ4FEUg9bQo"注意internal_url 前面有空格,不懂得可以百度yaml格式。
此處引入端口映射
localhost我們都知道,是本機地址,無法訪問的,所以我們還需要在自己的windows電腦上運行
netsh interface portproxy add v4tov4 listenport=8123 connectaddress=[home assistant在瀏覽器中訪問的IP地址] connectport=[home assistant在瀏覽器中訪問的端口]
例子:netsh interface portproxy add v4tov4 listenport=8123 connectaddress=192.168.1.100 connectport=8123
指的是我們原本訪問的http://192.168.1.100:8123 ,通過映射后 我們就可以通過http://localhost:8123
第三步(應用配置)
一定要重啟home assistant,重啟完后,點擊通知
會提示configurator
這個時候就可以看點擊藍色的configure文字,將會彈出配置對話框
點擊link Microsoft To Do account,將會打開微軟登錄頁面,剩下的就不用說了吧,操作到如下頁面提示登錄成功就可以把這個登錄窗口給叉了。
叉完以后,再回到配置Microsoft To Do對話框,
點擊I AUTHORIZED SUCCESSFULLY 按鈕,沒有反應多點幾次,多點幾次肯定還沒有反應,我們點擊左側的日歷
就會出現我的日歷下的Tasks,如果登錄失敗,就不會出現這個這個。由于我點擊了3次I AUTHORIZED SUCCESSFULLY 按鈕,就有3份tasks,這個時候不怕,多等15分鐘以后,就只有1份了。
第四步(開發參數查詢)
在開發者工具里面,搜索calendar關鍵字,可以得到幾個實體,這個實體是通過microsoft To Do分類自動生成的。
第五步(源碼優化)
不優化的可以跳過。
由于home assistant 的to do插件是15分鐘的輪詢時間,對于玩機人員來說肯定是太久了,所以可以修改源碼,
文件路徑為custom_components\microsoft_todo\calendar.py,修改行數大概為第64行,
把MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=15)修改為MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1)
這樣就可以把輪詢時間修改為1分鐘了
修改源碼需要重啟hass.
第六步(在home assistant 儀表盤上的應用)
type: markdown content: |-{% for task in state_attr('calendar.ren_wu', 'all_tasks') -%}- {{ task }}{% endfor %} title: To Do第七步(在android app 桌面小部件上的應用)
效果預覽:
在桌面上添加模板小部件
這是模板代碼:
<font color="#face"><b>待辦列表</b></font> <font color="#8470FF"> {% if state_attr('calendar.ren_wu', 'all_tasks') %} {% for task in state_attr('calendar.ren_wu', 'all_tasks') -%} <br> {{loop.index}}. {{ task }} {% endfor %} {% else%} <br> ---------------------- <br> 這里很干凈呀! <br> 卡片更新時間:{{now().year}}-{{"%02d"% now().month}}-{{"%02d"%now().day}} {{"%02d"% now().hour}}:{{"%02d"%now().minute}}:{{"%02d"%now().second}} {%endif %} </font>---------------------------------------------------------------------------------------
疑惑解答
1.為什么要用映射的方式使用localhost訪問hass呢?
因為我的microsoft應用注冊的限制,無法對其他IP地址添加http類型的重定向。
在授權完成,todo 插件能夠正常獲取到數據了后,就可以把homeassistant.internal_url還原成你原本的值或者注釋了。
總結
以上是生活随笔為你收集整理的home assistant 配置microsoft todo(微软待办)同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 楼距的计算
- 下一篇: 夺命雷公狗—玩转SEO---56---q