J'ai récemment écrit sur la façon d'afficher les informations de collecte des bacs dans Home Assistant, et mon prochain projet consistait à extraire des informations sur la qualité de l'air. Heureusement, je possède un compte «Tado», ce qui signifie que je pourrais extraire ces informations de leur API en utilisant le code suivant
Mis à jour le 20-déc-2021
Cela a été mis à jour pour régler un problème où l'assistant à domicile convertit la valeur de texte « aucun » en « inconnu ».
La plupart des informations à ce sujet ont été tirées d'un fil de discussion sur le forums d'assistants à domicile, mais j'ai pu ajouter des informations sur la pollution ainsi que sur le pollen, et j'ai également dû modifier le code pour résoudre un problème avec « aucun » étant traité comme « inconnu » plutôt que comme une chaîne de texte. Beaucoup de crédit à Drillbit sur les forums cependant.
Détails du compte Tado
- Vous aurez besoin de quelques informations pour votre compte Tado
- Visitez https://my.tado.com/api/v2/me?username=you@emailaddress.tld&mot de passe = votre mot de passe
- Près du haut de la sortie, vous avez besoin de l'ID numérique qui est répertorié sous les maisons: 0: la:
- Suivant, aller à https://www.latlong.net/ et localisez votre maison et notez la latitude et la longitude
- Prochaine visite https://acme.tado.com/v1/homes/votre-identifiant-de-maison/airConfort?latitude =12.34&longitude =12.34&nom d'utilisateur =votre @ email&mot de passe =votre-mot de passe pour s'assurer qu'il se charge
Code pour assistant domestique
- Ajoutez le code suivant à votre 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”
S'il vous plaît envoyez-nous vos pensées en commentant ci-dessous! Si vous souhaitez vous abonner s'il vous plaît utiliser le lien d'abonnement dans le menu en haut à droite. Vous pouvez également partager avec vos amis en utilisant les liens sociaux ci-dessous. À votre santé.
CIao
je suivais ton guide. Il s'avère que la chaîne de tado fonctionne toujours? parce que ça me donne une erreur {"message":"L'utilisateur n'est pas autorisé à accéder à cette ressource avec un refus explicite"} ou le mettre dans la version du code yaml me renvoie {"message":"Jeton d'authentification manquant"} . Merci
Salut Flavio
Oui, cela fonctionne toujours pour moi.
Ma URL est https://acme.tado.com/v1/homes/123456/airComfort?latitude=11.11&longitude=11.11&username=me@myemail.com&password=mypassword
Évidemment, j'ai supprimé l'identifiant de la maison, latitude, longitude, adresse e-mail, et le mot de passe que j'utilise. Mais si vous les obtenez correctement, cela devrait bien se charger
Avez-vous vérifié votre adresse e-mail et votre mot de passe? Avez-vous vérifié votre ID de domicile à https://my.tado.com/api/v2/me?username=you@emailaddress.tld&password=yourpassword
Je ne sais pas si le système Tado est différent en dehors du Royaume-Uni - peut-être qu'ils n'ont pas de données pour la latitude et la longitude où vous vous trouvez? Obtenez-vous des données sur la qualité de l'air dans votre application Tado lorsque vous êtes connecté à votre compte ??