Recentemente ho scritto su come mostrare le informazioni sulla raccolta dei rifiuti in Home Assistant, e il mio prossimo progetto è stato quello di estrarre alcune informazioni sulla qualità dell'aria. Fortunatamente ho un account "Tado", il che significa che ho potuto estrarre queste informazioni da loro API utilizzando il codice seguente
Aggiornato 20-dic-2021
Questo è stato aggiornato per modificare un problema in cui l'assistente domestico converte il valore di testo "nessuno" in "sconosciuto".
Molte delle informazioni per questo sono state prese da un thread su forum di assistenti domestici, ma sono stato in grado di aggiungere informazioni sull'inquinamento e sui pollini, e ho anche dovuto modificare il codice per risolvere un problema con "nessuno" trattato come "sconosciuto" piuttosto che come una stringa di testo. Un sacco di credito a Drillbit sui forum però.
Dettagli dell'account Tado
- Avrai bisogno di alcune informazioni per il tuo account Tado
- Visita https://my.tado.com/api/v2/me?username=you@emailaddress.tld&password = tua password
- Nella parte superiore dell'output è necessario l'ID numerico elencato sotto homes: 0: il:
- Prossimo, vai a https://www.latlong.net/ e individua la tua casa e prendi nota della latitudine e della longitudine
- Visita successiva https://acme.tado.com/v1/homes/ID-casa/airComfort?latitudine =12.34&longitudine =12.34&nome utente =la tua email&password =la tua password per assicurarti che venga caricato
Codice per l'assistente domestico
- Aggiungi il codice seguente al tuo file 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”
Cosa ne pensi? Mandaci un commento qui sotto! Se si desidera iscriversi si prega di utilizzare il link iscriviti sul menu in alto a destra. È inoltre possibile condividere con i tuoi amici usando i link sottostanti sociali. Saluti.
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
Ciao Flavio
sì, questo funziona ancora per me.
Il mio URL è https://acme.tado.com/v1/homes/123456/airComfort?latitude=11.11&longitude=11.11&username=me@myemail.com&password=mypassword
Ovviamente ho rimosso l'ID di casa, latitudine, longitudine, indirizzo e-mail, e la password che uso. Ma se li ottieni correttamente, dovrebbe caricarsi correttamente
Hai ricontrollato il tuo indirizzo e-mail e la password? Hai controllato il tuo ID di casa a https://my.tado.com/api/v2/me?username=you@emailaddress.tld&password=yourpassword
Non so se il sistema Tado sia diverso al di fuori del Regno Unito - forse non hanno dati per latitudine e longitudine dove ti trovi? Ricevi dati sulla qualità dell'aria nella tua app Tado quando accedi al tuo account?