Recentemente, escrevi sobre como mostrar informações de coleta de lixo no Home Assistant, e meu próximo projeto foi obter algumas informações sobre a qualidade do ar. Felizmente, tenho uma conta ‘Tado’, o que significa que eu poderia extrair essas informações de seus API usando o seguinte código
Atualizado em 20 de dezembro de 2021
This was updated to tweak an issue where home assistant converts the text value “none” into “unknown”.
Much of the information for this was taken from a thread on the home assistant forums, but I was able to add pollution as well as pollen information, and I also had to tweak the code to resolve an issue with “none” being treated as “unknown” rather than as a string of text. Lots of credit to Drillbit on the forums though.
Detalhes da conta Tado
- You will need some information for your Tado account
- Visit https://my.tado.com/api/v2/me?username=you@emailaddress.tld&senha = sua senha
- Near the top of the output you need the numeric ID that is listed under homes: 0: o:
- Próximo, vamos para https://www.latlong.net/ and locate your home and make a note of the latitude and longitude
- Next visit https://acme.tado.com/v1/homes/sua-casa-ID/airComfort?latitude =12.34&longitude =12.34&nome de usuário =seu email&senha =your-password para ter certeza de que carrega
Código para assistente de casa
- Add the following code to your configuration.yaml
sensor: - plataforma: resto # API ligue para obter a qualidade do ar # Result goes into outdoorQuality attribute in JSON format name: TadoAir verify_ssl: true scan_interval: 1800 recurso: https://acme.tado.com/v1/homes/sua-casa-ID/airComfort?latitude =12.34&longitude =12.34&nome de usuário =seu email&senha =sua senha cabeçalhos: Agente de usuário: Home Assistant Content-Type: application/json method: GET json_attributes: - roomMessages - outdoorQuality value_template: 'Tado air Comfort' # Enumere JSON para preencher vários sensores de modelo - plataforma: template sensors: qualidade do ar: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["aqi"]["nível"] | capitalizar }}' friendly_name: "Qualidade do ar" icon_template: mdi:air-filter unique_id: "qualidade do ar" # Pollen sensors air_pollen_level: value_template: > {% se estados('sensor.tadoair.attributes["outdoorQuality"]["pólens"]["dominante"]["nível"]') == 'desconhecido' %} Nenhum. {% outro %} {{estados('sensor.tadoair.attributes["outdoorQuality"]["pólens"]["dominante"]["nível"]')}} {% endif %} nome amigável: "Nível de Pólen" icon_template: mdi:flower unique_id: "nível de pólen" air_pollen_level_grass: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pólens"]["tipos"][0]["previsão"][0]["nível"] | capitalizar }}.' friendly_name: "Pólen de Grama" icon_template: mdi:flower unique_id: "grass_pollen_level" air_pollen_level_grass_tomorrow: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pólens"]["tipos"][0]["previsão"][1]["nível"] | capitalizar }}.' friendly_name: "Grass Pollen Tomo." icon_template: mdi:flower unique_id: "grass_pollen_level_tomorrow" air_pollen_level_weed: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pólens"]["tipos"][1]["previsão"][0]["nível"] | capitalizar }}.' friendly_name: "Pólen de planta" icon_template: mdi:sprout unique_id: "plant_pollen_level" air_pollen_level_weed_tomorrow: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pólens"]["tipos"][1]["previsão"][1]["nível"] | capitalizar }}.' friendly_name: "Plant Pollen Tomo." icon_template: mdi:sprout unique_id: "plant_pollen_level_tomorrow" air_pollen_level_tree: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pólens"]["tipos"][2]["previsão"][0]["nível"] | capitalizar }}.' friendly_name: "Pólen de árvore " icon_template: mdi:tree unique_id: "tree_pollen_level" air_pollen_level_tree_tomorrow: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["pólens"]["tipos"][2]["previsão"][1]["nível"] | capitalizar }}.' friendly_name: "Tree Pollen Tomo." icon_template: mdi:tree unique_id: "tree_pollen_level_tomorrow" air_pollution_level_pm10: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][0]["nível"] | capitalizar }}: {{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][0]["concentração"]["valor"]}}μg/m³' friendly_name: "PM 10" icon_template: mdi:tree unique_id: "poluição_pm10" air_pollution_level_pm25: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][1]["nível"] | capitalizar }}: {{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][1]["concentração"]["valor"]}}μg/m³' friendly_name: "PM 2.5" icon_template: mdi:tree unique_id: "poluição_pm25" air_pollution_level_ozone: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][2]["nível"] | capitalizar }}: {{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][2]["concentração"]["valor"]}}ppb' friendly_name: "Ozônio" icon_template: mdi:tree unique_id: "poluição_ozona" air_pollution_level_sulphur: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][3]["nível"] | capitalizar }}: {{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][3]["concentração"]["valor"]}}ppb' friendly_name: "Dióxido de enxofre" icon_template: mdi:tree unique_id: "poluição do enxofre" air_pollution_level_carbon: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][4]["nível"] | capitalizar }}: {{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][4]["concentração"]["valor"]}}ppb' friendly_name: "Monóxido de carbono" icon_template: mdi:tree unique_id: "poluição_carbono" air_pollution_level_nitrogen: value_template: '{{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][5]["nível"] | capitalizar }}: {{ states.sensor.tadoair.attributes["outdoorQuality"]["poluentes"][5]["concentração"]["valor"]}}ppb' friendly_name: "Dióxido de nitrogênio" icon_template: mdi:tree unique_id: "poluição_nitrogênio"
CIao
stavo seguendo la tua guida. Ti risulta che la stringa di tado funzioni ancora? perchè mi restituisce errore {“message”:“User is not authorized to access this resource with an explicit deny”} oppure inserendola in versione codice yaml mi restituisce {“message”:“Token di autenticazione mancante”} . Grazie
Hi Flavio
Sim, this is still working for me.
Minhas URL é https://acme.tado.com/v1/homes/123456/airComfort?latitude=11.11&longitude=11.11&username=me@myemail.com&password=mypassword
Obviously I’ve removed the home ID, latitude, longitude, email address, and password I use. But if you get those right then it should load fine
Have you double checked your email address and password? Have you checked your home ID at https://my.tado.com/api/v2/me?username=you@emailaddress.tld&password=yourpassword
I don’t know if the Tado system is different outside of the Reino Unido — maybe they don’t have data for latitude and longitude where you are? Do you get air quality data in your Tado app when you’re logged into your account?