2Asistente de calidad del aire en el hogar

Recientemente escribí sobre cómo mostrar la información de la colección de contenedores en Home Assistant, y mi próximo proyecto fue obtener información sobre la calidad del aire. Afortunadamente, tengo una cuenta de "Tado", lo que significaba que podía extraer esta información de su API usando el siguiente código

Actualizado el 20-dic-2021

Esto se actualizó para modificar un problema en el que el asistente doméstico convierte el valor de texto "ninguno" en "desconocido".

Gran parte de la información para esto se tomó de un hilo en el foros del asistente de inicio, pero pude agregar información sobre contaminación y polen, y también tuve que modificar el código para resolver un problema en el que "ninguno" se trataba como "desconocido" en lugar de como una cadena de texto. Sin embargo, mucho crédito para Drillbit en los foros.

Detalles de la cuenta de Tado

  • Necesitará información para su cuenta de Tado
  • Visite https://my.tado.com/api/v2/me?username=you@emailaddress.tld&contraseña = su contraseña
  • Cerca de la parte superior de la salida, necesita la identificación numérica que se enumera en hogares: 0: la:
  • Próximo, ir https://www.latlong.net/ y ubique su casa y anote la latitud y la longitud
  • Próxima visita https://acme.tado.com/v1/homes/ID de tu casa/airComfort?latitud =12.34&longitud =12.34&nombre de usuario =Tu correo electrónico&contraseña =tu-contraseña para asegurarse de que cargue

Código para asistente de hogar

  • Agrega el siguiente código a tu configuration.yaml
    sensor:
     - plataforma: descanso
       # API llamar para obtener calidad del aire
       # El resultado entra en el atributo outdoorQuality en formato JSON
       nombre: TadoAir
       verificar_ssl: cierto
       scan_interval: 1800
       recurso: https://acme.tado.com/v1/homes/ID de tu casa/airComfort?latitud =12.34&longitud =12.34&nombre de usuario =Tu correo electrónico&contraseña =tu contraseña
       encabezados:
         Agente de usuario: Asistente de hogar
         Tipo de contenido: aplicación / json
       método: OBTENER
       json_attributes:
         - roomMensajes
         - calidad al aire libre
       value_template: 'Tado Air Comfort'
    
     # Enumere JSON para completar varios sensores de plantilla
     - plataforma: plantilla
       sensores:
         calidad del aire:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["aquí"]["nivel"] | capitalizar }}'
           nombre amigable: "Calidad del aire"
           icon_template: mdi:filtro de aire
           Identificación única: "calidad del aire"
    
         # Sensores de polen
         air_pollen_level:
           value_template: >
             {% si estados('sensor.tadoair.attributes["calidad al aire libre"]["polen"]["dominante"]["nivel"]') == 'desconocido' %}
               Ninguno.
             {% más %}
               {{estados('sensor.tadoair.attributes["calidad al aire libre"]["polen"]["dominante"]["nivel"]')}}
             {% endif %}
           nombre amigable: "Nivel de polen"
           icon_template: mdi:flor
           Identificación única: "polen_level"
    
         air_pollen_level_grass:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["polen"]["tipos"][0]["pronóstico"][0]["nivel"] | capitalizar }}.'
           nombre amigable: "Polen del cesped"
           icon_template: mdi:flor
           Identificación única: "grass_pollen_level"
    
         air_pollen_level_grass_tomorrow:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["polen"]["tipos"][0]["pronóstico"][1]["nivel"] | capitalizar  }}.'
           nombre amigable: "Tomo de polen de hierba."
           icon_template: mdi:flor
           Identificación única: "grass_pollen_level_tomorrow"
    
         air_pollen_level_weed:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["polen"]["tipos"][1]["pronóstico"][0]["nivel"] | capitalizar  }}.'
           nombre amigable: "Polen vegetal"
           icon_template: mdi:brote
           Identificación única: "plant_pollen_level"
    
         air_pollen_level_weed_tomorrow:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["polen"]["tipos"][1]["pronóstico"][1]["nivel"] | capitalizar  }}.'
           nombre amigable: "Planta de polen Tomo."
           icon_template: mdi:brote
           Identificación única: "plant_pollen_level_tomorrow"
    
         air_pollen_level_tree:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["polen"]["tipos"][2]["pronóstico"][0]["nivel"] | capitalizar  }}.'
           nombre amigable: "Polen de árbol "
           icon_template: mdi:árbol
           Identificación única: "tree_pollen_level"
    
         air_pollen_level_tree_tomorrow:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["polen"]["tipos"][2]["pronóstico"][1]["nivel"] | capitalizar }}.'
           nombre amigable: "Tomo de polen de árbol."
           icon_template: mdi:árbol
           Identificación única: "tree_pollen_level_tomorrow"
    
         air_pollution_level_pm10:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][0]["nivel"] | capitalizar }}: {{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][0]["concentración"]["valor"]}}μg / m³ '
           nombre amigable: "PM 10"
           icon_template: mdi:árbol
           Identificación única: "contaminación_pm10"
    
         air_pollution_level_pm25:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][1]["nivel"] | capitalizar }}: {{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][1]["concentración"]["valor"]}}μg / m³ '
           nombre amigable: "PM 2.5"
           icon_template: mdi:árbol
           Identificación única: "contaminación_pm25"
    
         air_pollution_level_ozone:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][2]["nivel"] | capitalizar }}: {{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][2]["concentración"]["valor"]}}ppb '
           nombre amigable: "Ozono"
           icon_template: mdi:árbol
           Identificación única: "contaminación_ozona"
    
         air_pollution_level_sulphur:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][3]["nivel"] | capitalizar }}: {{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][3]["concentración"]["valor"]}}ppb '
           nombre amigable: "Dióxido de azufre"
           icon_template: mdi:árbol
           Identificación única: "azufre_contaminacion"
    
         air_pollution_level_carbon:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][4]["nivel"] | capitalizar }}: {{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][4]["concentración"]["valor"]}}ppb '
           nombre amigable: "Monóxido de carbono"
           icon_template: mdi:árbol
           Identificación única: "contaminación_carbono"
    
         air_pollution_level_nitrogen:
           value_template: '{{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][5]["nivel"] | capitalizar }}: {{ states.sensor.tadoair.attributes["calidad al aire libre"]["contaminantes"][5]["concentración"]["valor"]}}ppb '
           nombre amigable: "Dioxido de nitrogeno"
           icon_template: mdi:árbol
           Identificación única: "contaminación_nitrógeno"
    

Deja una respuesta

2 comentarios

Fflavio

CIao
estaba siguiendo tu guia. Resulta que la cuerda de tado sigue funcionando? porque me da error {"mensaje":"El usuario no está autorizado para acceder a este recurso con una denegación explícita"} o ponerlo en la versión de código yaml me devuelve {"mensaje":"Token de autenticación faltante"} . Gracias

Respuesta
JSJon Scaife

hola flavio

si, esto todavía funciona para mí.
Mi URL es https://acme.tado.com/v1/homes/123456/airComfort?latitude=11.11&longitude=11.11&username=me@myemail.com&password=mypassword

Obviamente he eliminado la identificación de la casa, latitud, longitud, dirección de correo electrónico, y contraseña que uso. Pero si lo haces bien, debería cargarse bien.

¿Ha verificado dos veces su dirección de correo electrónico y contraseña?? ¿Ha comprobado su ID de casa en https://my.tado.com/api/v2/me?username=you@emailaddress.tld&password=yourpassword

No sé si el sistema Tado es diferente fuera del Reino Unido — tal vez no tienen datos de latitud y longitud donde te encuentras? ¿Obtiene datos de calidad del aire en su aplicación Tado cuando inicia sesión en su cuenta??

Respuesta