我最近写了关于如何在Home Assistant中显示垃圾箱收集信息的文章, 我的下一个项目是获取一些空气质量信息. 幸运的是,我有一个“ Tado”帐户,这意味着我可以从他们的帐户中提取此信息 API 使用以下代码
2021 年 12 月 20 日更新
这已更新以调整家庭助理将文本值“无”转换为“未知”的问题.
这方面的大部分信息来自于 家庭助理论坛, 但我能够添加污染和花粉信息, 而且我还必须调整代码以解决“无”被视为“未知”而不是文本字符串的问题. 虽然在论坛上对 Drillbit 有很多功劳.
Tado帐户详细信息
- 您将需要一些有关您的 Tado 帐户的信息
- 访问 https://my.tado.com/api/v2/me?用户名=you@emailaddress.tld&密码=您的密码
- 在输出顶部附近,您需要家庭下列出的数字 ID: 0: ID:
- 下一个, 去 https://www.latlong.net/ 找到你的家并记下经纬度
- 下次访问 https://acme.tado.com/v1/homes/您的家庭编号/空中舒适?纬度=12.34&经度=12.34&用户名=你的邮件&密码=你的密码 确保加载
家庭助理代码
- 将以下代码添加到您的 configuration.yaml123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109sensor:- platform: rest# API call to get air quality# Result goes into outdoorQuality attribute in JSON formatname: TadoAirverify_ssl: truescan_interval: 1800resource: https://acme.tado.com/v1/homes/<em>your-home-ID</em>/airComfort?latitude=<em>12.34</em>&longitude=<em>12.34</em>&username=<em>your@email</em>&password=<em>your-password</em>headers:User-Agent: Home AssistantContent-Type: application/jsonmethod: GETjson_attributes:- roomMessages- outdoorQualityvalue_template: ‘Tado airComfort’# Enumerate JSON to populate various template sensors- platform: templatesensors:air_quality:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“aqi”][“level”] | capitalize }}’friendly_name: “Air Quality”icon_template: mdi:air-filterunique_id: “air_quality”# Pollen sensorsair_pollen_level:value_template: >{% if states(‘sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“dominant”][“level”]’) == ‘unknown’ %}None.{% else %}{{states(‘sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“dominant”][“level”]’)}}{% endif %}friendly_name: “Pollen Level”icon_template: mdi:flowerunique_id: “pollen_level”air_pollen_level_grass:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“types”][0][“forecast”][0][“level”] | capitalize }}.’friendly_name: “Grass Pollen”icon_template: mdi:flowerunique_id: “grass_pollen_level”air_pollen_level_grass_tomorrow:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“types”][0][“forecast”][1][“level”] | capitalize }}.’friendly_name: “Grass Pollen Tomo.”icon_template: mdi:flowerunique_id: “grass_pollen_level_tomorrow”air_pollen_level_weed:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“types”][1][“forecast”][0][“level”] | capitalize }}.’friendly_name: “Plant Pollen”icon_template: mdi:sproutunique_id: “plant_pollen_level”air_pollen_level_weed_tomorrow:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“types”][1][“forecast”][1][“level”] | capitalize }}.’friendly_name: “Plant Pollen Tomo.”icon_template: mdi:sproutunique_id: “plant_pollen_level_tomorrow”air_pollen_level_tree:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“types”][2][“forecast”][0][“level”] | capitalize }}.’friendly_name: “Tree Pollen ”icon_template: mdi:treeunique_id: “tree_pollen_level”air_pollen_level_tree_tomorrow:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollens”][“types”][2][“forecast”][1][“level”] | capitalize }}.’friendly_name: “Tree Pollen Tomo.”icon_template: mdi:treeunique_id: “tree_pollen_level_tomorrow”air_pollution_level_pm10:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][0][“level”] | capitalize }}: {{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][0][“concentration”][“value”]}}μg/m³’friendly_name: “PM 10”icon_template: mdi:treeunique_id: “pollution_pm10”air_pollution_level_pm25:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][1][“level”] | capitalize }}: {{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][1][“concentration”][“value”]}}μg/m³’friendly_name: “PM 2.5”icon_template: mdi:treeunique_id: “pollution_pm25”air_pollution_level_ozone:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][2][“level”] | capitalize }}: {{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][2][“concentration”][“value”]}}ppb’friendly_name: “Ozone”icon_template: mdi:treeunique_id: “pollution_ozone”air_pollution_level_sulphur:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][3][“level”] | capitalize }}: {{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][3][“concentration”][“value”]}}ppb’friendly_name: “Sulphur Dioxide”icon_template: mdi:treeunique_id: “pollution_sulphur”air_pollution_level_carbon:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][4][“level”] | capitalize }}: {{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][4][“concentration”][“value”]}}ppb’friendly_name: “Carbon Monoxide”icon_template: mdi:treeunique_id: “pollution_carbon”air_pollution_level_nitrogen:value_template: ‘{{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][5][“level”] | capitalize }}: {{ states.sensor.tadoair.attributes[“outdoorQuality”][“pollutants”][5][“concentration”][“value”]}}ppb’friendly_name: “Nitrogen Dioxide”icon_template: mdi:treeunique_id: “pollution_nitrogen”
认为我们已经错过了什么? 让我们通过下面的评论知道. 如果您想订阅,请使用菜单上的订阅链接右上方. 您还可以通过使用下面的链接社会分享这与你的朋友. 干杯.
再见
我在听你的指导. 事实证明,tado的字符串仍然有效? 因为它给我错误 {“信息”:“用户无权通过明确拒绝访问此资源”} 或者把它放在 yaml 代码版本中返回我 {“信息”:“缺少身份验证令牌”} . 谢谢
嗨弗拉维奥
是的, 这仍然对我有用.
我的 网址 是 https://acme.tado.com/v1/homes/123456/airComfort?latitude=11.11&longitude=11.11&username=me@myemail.com&password=mypassword
显然我已经删除了家庭 ID, 纬度, 经度, 电子邮件地址, 和我使用的密码. 但如果你做对了,那么它应该可以正常加载
您是否仔细检查过您的电子邮件地址和密码? 您检查过您的家庭身份证吗? https://my.tado.com/api/v2/me?username=you@emailaddress.tld&password=yourpassword
不知道外面的Tado系统有没有不一样 联合王国 — 也许他们没有您所在位置的经纬度数据? 当您登录帐户时,您会在 Tado 应用程序中获取空气质量数据吗?