垃圾回收日程接入 Home Assistant:Waste Collection Schedule 快速上手指南
【免费下载链接】hacs_waste_collection_scheduleHome Assistant integration framework for (garbage collection) schedules项目地址: https://gitcode.com/GitHub_Trending/ha/hacs_waste_collection_schedule
家里堆着几个垃圾桶,哪天该倒哪个全靠脑记——忘了就把垃圾在家多放两天,味儿自己体会。开源项目 Waste Collection Schedule 是一个 Home Assistant 集成,能把各市政/垃圾公司的回收日程抓进系统,自动填进内置日历,还能生成"今天倒垃圾 / 还有 2 天倒回收"这类传感器卡片。这篇按"能不能用 → 怎么装 → 怎么配 → 坏了怎么查"的顺序讲一遍,装完你就能在 Dashboard 上直接看到下次回收日。
装之前先确认你的垃圾公司在不在名单里
这个集成的核心是一个"数据源(source)"目录:一个市政或垃圾公司对应一个 source,README 里按国家列了支持清单,从德国的 Abfallkalender 到加拿大 Recollect、蒙特利尔 Info Collecte 都能查到。装之前打开 doc/ 目录翻一下有没有你所在城市的文档,文件名就是 source 名;每个文档里还写明了需要填哪些args(街道、门牌、扇区号之类)。
好消息是:就算名单里没有你,也大概率有救——后面会讲的通用ics数据源几乎能兜底。
安装:HACS 走菜单,手动装就拷个目录
推荐走 HACS。装好 HACS 后:
- 打开 Integrations 面板,点 Explore & Download
- 搜
Waste Collection Schedule,点 Download - 按提示选国家 → 选数据源 → 填参数 → 配传感器,全程在 UI 里点,不用写 YAML
装完重启 Home Assistant 即可。如果没装 HACS,也可以 clone 仓库后把custom_components/waste_collection_schedule整个目录拷进 HA 的config/custom_components/,仓库地址是 https://gitcode.com/GitHub_Trending/ha/hacs_waste_collection_schedule 。注意只拷这一个文件夹,别把别的带进去。
配置长什么样:sources 找数据,sensors 管显示
整个配置分两半:sources负责"去哪拿数据",sensors负责"显示成什么"。以 YAML 方式为例,最简结构长这样:
waste_collection_schedule: sources: - name: muellmax_de args: mm_frm_str_sel: <my_street> sensors: - name: next_collectionargs填什么完全取决于你选的数据源,照着 doc/configuration.yaml 和对应 source 文档抄就行。
让显示更顺眼:customize 和 value_template
两个最常用的"美化"手段。customize挂在 source 下,改垃圾类型的名字和可见性:
customize: - type: green bin alias: Yard Waste - type: brown bin show: falsealias把源站返回的原始名换成自己顺眼的叫法,show: false直接隐藏不关心的类型。注意:一旦用了alias,后面 sensors 里的types过滤要写别名。
value_template挂在 sensor 下,控制卡片正文显示什么:
sensors: - name: next_collection value_template: 'in {{value.daysTo}} days'日期格式用 strftime 拼,比如{{value.date.strftime("%a, %d.%m")}}会输出 "Fri, 20.10"。更多花样(Today/Tomorrow 三态、只看某类型、第一/第二回收日分卡)在 doc/faq.md 里都有现成片段。
装好之后,Home Assistant 日历会自动多出一条 "Waste Collection" 的日历,每个回收日一个事件:
排错:日历空了先查这三处
大多数"没数据"的问题出在args上——街道名拼错、扇区号填错,数据源会静默返回空列表。先调waste_collection_schedule.fetch_data服务手动触发一次抓取(不用等定时),然后看:
- HA 日志:有没有 SSL 报错(部分源站证书链不全,
ics源可用verify_ssl: false绕过)或 403(被 WAF 拦了) - source 文档的 args 说明:逐字核对,尤其是必填项
fetch_time有没有加引号:YAML 1.1 会把不带引号的10:00解析成数字 600,直接报 "Invalid time specified";fetch_time和day_switch_time务必写成"10:00"这种带引号的形式
官方 source 没覆盖你?通用 ics 源兜底
很多市政网站本来就提供 iCal 订阅链接。ics数据源可以直接喂它一个 URL 或本地文件,事件标题自动当作垃圾类型:
sources: - name: ics args: url: "https://example.com/abfall.ics" split_at: " / "split_at用来把"一天多类型"合并在一个事件里的标题拆成多个类型;regex可以削掉标题里多余的前缀;要带自定义 header 的加headers。本地文件放config/www/下最稳,路径写www/xxx.ics。个别源还需要先查参数——比如蒙特利尔的扇区号,官方文档给了一张 GeoJSON 地图让你点选自己所在区域:
另外三个全局旋钮值得知道:fetch_time定每天几点抓取(默认 "01:00"),fetch_interval_days控制抓取频率,day_switch_time控制几点把"今天"的条目翻到"明天"。
把 sources 和 sensors 配好、重启一次 Home Assistant,回收日程就会自己出现在日历和卡片里,之后每天自动刷新——你只需要在垃圾车来之前把桶拖出去。
【免费下载链接】hacs_waste_collection_scheduleHome Assistant integration framework for (garbage collection) schedules项目地址: https://gitcode.com/GitHub_Trending/ha/hacs_waste_collection_schedule
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考