Integración domótica ecobee, gratuita y de código abierto

Termostatos y sensores ecobee: temperatura, consignas, modos, confort y presencia.
1. Presentación
Esta integración trae sus termostatos ecobee y sus sensores SmartSensor (sensores de habitación) a Gladys: temperatura, humedad, consignas de calefacción y refrigeración, modo, ajuste de confort (Casa / Ausente / Sueño), mantenimientos, lo que hace la instalación y presencia. Desde Gladys cambia la consigna, el modo, el ventilador y el ajuste de confort, reanuda el programa e inicia o cancela unas vacaciones desde una escena.
Funciona a través de la nube de ecobee, como la aplicación ecobee: el termostato necesita conexión a internet.
Desarrollada sin el hardware: sus comentarios son bienvenidos. Esta integración no tiene relación con ecobee.
2. Requisitos
- Gladys Assistant 5.2.0 o posterior.
- Una cuenta ecobee (la de la aplicación ecobee) con al menos un termostato.
- Si su cuenta usa la verificación en dos pasos: su aplicación de autenticación, o su teléfono para el código por SMS. Las notificaciones y los enlaces por correo no se admiten.
- Opcional: una clave de API de desarrollador, si aún tiene una (ecobee dejó de emitirlas en 2024).
3. Configuración
Instale la integración desde la tienda de integraciones de Gladys y abra su pestaña Configuración.
Inicio de sesión con su cuenta ecobee (recomendado)
- Introduzca el correo electrónico y la contraseña de la aplicación ecobee y guarde.
- Sin verificación en dos pasos, el estado se pone en verde y los termostatos aparecen en la pestaña Descubrimiento.
- Con verificación en dos pasos, el estado pide el código: ejecute la acción Introducir el código de verificación con el código de 6 dígitos de su aplicación de autenticación, o del SMS que ecobee acaba de enviar (en 10 minutos).
La integración guarda entonces una sesión (token de renovación) en su volumen /data y la
renueva sola. La contraseña se queda en la configuración de Gladys; solo se reutiliza si ecobee
cierra la sesión. Iniciar sesión y probar lee los termostatos e indica cuántos se han
encontrado. Cerrar sesión elimina la sesión guardada.
Con una clave de API de desarrollador (opcional)
Introduzca la clave en Clave de API y guarde (sustituye al correo y la contraseña). Ejecute Obtener un PIN: en ecobee.com, abra My Apps, Add application, e introduzca el PIN mientras sea válido. La integración detecta sola la autorización.
Ajustes
- Unidad de temperatura: la unidad de las funciones: la del termostato (por defecto), Celsius o Fahrenheit. Gladys también convierte las lecturas a la unidad preferida de cada usuario.
- Mantener los cambios hechos desde Gladys: una consigna o un ajuste de confort cambiado desde Gladys es un mantenimiento, como en la aplicación ecobee. Por defecto dura hasta el próximo cambio del programa; puede elegir hasta que usted lo cambie, 2 horas, 4 horas o el ajuste de mantenimiento del termostato.
- Intervalo de lectura: cada cuánto se lee ecobee, 3 minutos como mínimo.
- Idioma de los nombres de funciones: los nombres que reciben las funciones al añadir un dispositivo.
Después, añada los dispositivos desde la pestaña Descubrimiento.
4. Dispositivos
Un dispositivo por termostato
| Función | Qué es |
|---|---|
| Temperatura, Humedad | lecturas interiores del termostato |
| Consigna de calefacción | objetivo en calefacción (solo si el termostato controla una calefacción) |
| Consigna de refrigeración | objetivo en refrigeración (solo si controla una refrigeración) |
| Modo | apagado, calor, frío, auto (según la instalación) |
| Solo calefacción auxiliar | solo bombas de calor: la calefacción auxiliar funciona sola (calor de emergencia) |
| Estado de funcionamiento | en reposo, calentando, enfriando |
| Ventilador siempre encendido | encendido: el ventilador funciona sin parar; apagado: automático |
| Ventilador en marcha | el ventilador funciona en este momento |
| Ajuste de confort | programa (seguir el programa), Casa, Ausente, Sueño — escribirlo crea un mantenimiento |
| Ajuste de confort actual | el nombre del ajuste de confort aplicado, incluidos los creados por usted |
| Mantener | lo que prima: programa, mantenido hasta una hora, sin límite, vacaciones |
| Presencia | el sensor de presencia del termostato (no en el ecobee3 lite) |
Escribir Programa (valor 0) en el ajuste de confort reanuda el programa: se cancelan todos los mantenimientos y también unas vacaciones en curso. En modo auto, la consigna de refrigeración se mantiene por encima de la de calefacción al menos la diferencia mínima del termostato.
Un dispositivo por sensor de habitación (SmartSensor): temperatura y presencia.
Las funciones del termostato usan la categoría termostato del núcleo: el termostato de Gladys 5.2 puede controlar un ecobee como termostato externo (elija la consigna de calefacción como objetivo y el modo como función de modo).
5. Widget del panel
Añada el widget Termostato ecobee y elija un termostato. Muestra la temperatura, la o las consignas y la humedad en mosaicos en directo, el modo, lo que funciona, el ajuste de confort y el mantenimiento, y cuatro botones:
- Bajar / Subir: un paso de consigna (0,5 °C o 1 °F); en auto, las dos consignas se mueven juntas. Ocultos cuando el termostato está apagado.
- Modo: la lista de los modos del termostato.
- Confort: programa, Casa, Ausente, Sueño.
6. Disparadores de escena
- ecobee: presencia detectada (
home_occupied): no se detectaba a nadie en torno a un termostato (él y sus sensores), ahora sí. Variables: nombre del termostato, sensores que detectan a alguien. - ecobee: ya no hay nadie (
home_vacant): ningún sensor del termostato detecta ya a nadie. - ecobee: nueva alerta (
alert): el termostato emitió una alerta o un recordatorio (filtro, mantenimiento, temperatura fuera de rango…). Variables: nombre del termostato, texto, tipo.
La presencia de cada sensor también es una función: use el disparador habitual «valor de un dispositivo» para una sola habitación. Estos disparadores añaden lo que una función sola no dice: toda la casa.
7. Acciones de escena
- ecobee: reanudar el programa (
resume_program): cancela todos los mantenimientos y las vacaciones en curso. - ecobee: elegir un ajuste de confort (
set_comfort): mantiene Casa, Ausente o Sueño durante el tiempo elegido (el de la configuración, hasta el próximo cambio del programa, hasta nuevo aviso, 2 o 4 horas). - ecobee: empezar unas vacaciones (
start_vacation): inicia ahora unas vacaciones ecobee durante un número de días; sin consignas, se usan las de Ausente. Salida: la fecha de fin. - ecobee: cancelar las vacaciones (
cancel_vacation): elimina las vacaciones en curso y previstas.
La consigna, el modo y el ventilador se ajustan con la acción «Controlar un dispositivo» del núcleo. Un sensor de habitación elegido en una acción vale por su termostato.
8. Ejemplos de escenas
- Todos se han ido: cuando se arma la alarma, ejecute elegir un ajuste de confort Ausente, hasta nuevo aviso; cuando se desarma, reanudar el programa.
- Recordatorio del filtro: con nueva alerta, envíe el mensaje «{{triggerEvent.data.text}}».
- Ventana abierta: cuando un sensor de apertura indique abierto durante 5 minutos, ponga el Modo en apagado; al cerrarse, vuelva a calor.
- Viaje largo: desde el calendario, ejecute empezar unas vacaciones durante 10 días.
9. Actualización y límites de la API
ecobee pide a los clientes de su API que no lean los termostatos con más frecuencia que cada 3 minutos. La integración lee todos sus termostatos en una sola petición en cada intervalo de lectura (3 minutos por defecto), más una lectura unos segundos después de una orden para mostrar su efecto. Solo se envían a Gladys los valores que cambian, y cada valor al menos cada 6 horas. La integración se actualiza sola y no depende del sondeo de Gladys.
10. Solución de problemas
- «ecobee ha rechazado el correo electrónico o la contraseña»: compruébelos en la aplicación ecobee; la integración nunca reintenta sola una contraseña rechazada, vuelva a guardar la configuración.
- El estado pide un código de verificación: ejecute Introducir el código de verificación. Un código por SMS vale unos 10 minutos; pasado ese tiempo, la acción provoca un nuevo SMS.
- «ecobee pide un paso en un navegador»: inicie sesión una vez en ecobee.com (nuevas condiciones…) y vuelva a guardar la configuración.
- «ecobee no responde»: corte de internet o de ecobee; la integración lo reintenta en cada intervalo de lectura.
- Un termostato está sin conexión: perdió su conexión con ecobee; sus últimos valores se mantienen y las órdenes se rechazan hasta que vuelva.
- Registros: la integración escribe su inicio de sesión y los problemas una vez;
LOG_LEVEL=debugmuestra cada lectura.
11. Limitaciones
- El inicio de sesión con cuenta usa la misma página de acceso que el portal web de ecobee, como Home Assistant: si ecobee la cambia, el acceso puede fallar hasta una actualización.
- La verificación en dos pasos por notificación o enlace por correo no se admite.
- Las lecturas se hacen como mucho cada 3 minutos: la presencia y el estado de funcionamiento no son instantáneos.
- No se admite: humidificador, deshumidificador y ventilador de aire fresco, los sensores de un ajuste de confort, calidad del aire, meteorología, ni la edición del programa del termostato.
- Los nombres de las funciones se fijan al añadir un dispositivo a Gladys.
- Desarrollada sin el hardware ni una cuenta ecobee: probada solo con respuestas publicadas de la API. Sus comentarios son bienvenidos.
Parámetros de configuración
Estos son los parámetros que ecobee te pide en su pantalla de configuración en Gladys.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| Su cuenta ecobee | section | No | Introduzca el correo y la contraseña de la aplicación ecobee y guarde. Si su cuenta usa la verificación en dos pasos, introduzca el código con la acción «Introducir el código de verificación». Sin relación con ecobee. |
| Correo electrónico | string | No | El correo electrónico de su cuenta ecobee. |
| Contraseña | secret | No | Guardada por Gladys, solo se reutiliza cuando ecobee cierra la sesión. |
| Ajustes | section | No | Unidad de las temperaturas, duración de un cambio hecho desde Gladys y frecuencia de lectura de ecobee. |
| Unidad de temperatura | select | No | La unidad de las funciones. Gladys también convierte las lecturas a la unidad de cada usuario. |
| Mantener los cambios hechos desde Gladys | select | No | Una consigna o un ajuste de confort cambiado desde Gladys es un mantenimiento, como en la aplicación ecobee. |
| Intervalo de lectura (minutos) | number | No | ecobee pide no leer con más frecuencia que cada 3 minutos. |
| Idioma de los nombres de funciones | select | No | Los nombres se fijan al añadir el dispositivo a Gladys. |
| Clave de API de desarrollador (opcional) | section | No | ecobee ya no emite claves de API. Si aún tiene una, introdúzcala aquí en lugar del correo y la contraseña, guarde y use la acción «Obtener un PIN». |
| Clave de API | secret | No |
Cómo instalar ecobee en Gladys
- En Gladys, abre Integraciones: ecobee aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
- Haz clic en Instalar. Gladys descarga la imagen Docker (
ghcr.io/guim31/gladys-ecobee:1.0.1), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración). - Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
- También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-ecobee.
ecobee requiere Gladys >=5.2.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.
¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.
Sobre las integraciones externas
ecobee es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.
- Explorar todas las integraciones, nativas y de la comunidad
- Crear y publicar tu propia integración externa
- Código fuente en GitHub — fuente de esta documentación