Integración externa: Yeelight

Retomo este tema tras la llegada del nuevo plugin externo Yeelight!

Mi lámpara de techo ambilight es bien reconocida :slight_smile:

MODEL	ceiling10
FIRMWARE_VERSION	49
SUPPORTED_METHODS	get_prop set_default set_power toggle set_bright set_scene cron_add cron_get cron_del start_cf stop_cf set_ct_abx set_name set_adjust adjust_bright adjust_ct bg_set_rgb bg_set_hsv bg_set_ct_abx bg_start_cf bg_stop_cf set_scene_bundle bg_set_default bg_set_power bg_set_bright bg_set_adjust bg_adjust_bright bg_adjust_color bg_adjust_ct bg_toggle dev_toggle


Tras algunas pruebas, aquí están mis comentarios:

  • color de iluminación: corresponde al color del ambilight, debería tener el nombre ambient dentro
  • color de iluminación: la paleta de colores funciona :white_check_mark: pero no recupera el color cuando lo modifico desde la aplicación móvil
  • temperatura de iluminación: no controla nada :cross_mark: pero el nivel cambia cuando se modifica desde la aplicación
  • temperatura de iluminación: el control deslizante y sus colores cálidos/fríos están invertidos: si lo modifico a cálido desde la aplicación, se pone frío en el control deslizante, y viceversa
  • yeelight ceiling10 - ambient brightness: no sé por qué tiene el nombre del dispositivo y que está en inglés
  • yeelight ceiling10 - ambient brightness: el control deslizante es demasiado pequeño y no se puede gestionar el nivel correctamente
  • yeelight ceiling10 - ambient brightness: el cambio de nivel funciona bien :white_check_mark: y se modifica bien cuando lo modifico desde la aplicación
  • yeelight ceiling10 - ambient light: no sé por qué tiene el nombre del dispositivo y que está en inglés, debería ser Ambiance On/Off
  • yeelight ceiling10 - ambient light:
    • si todo está apagado, hago clic en On y la luz ambiente se enciende, el On/Off de la luz principal se activa, la luz principal no se enciende
    • si hago clic en Off, la luz ambiente se apaga, la luz principal se pone en Off
    • si la luz principal (On), la luz ambiente se enciende (On)
      • si apago la luz ambiente, se apaga físicamente pero el botón vuelve a On
      • si hago clic de nuevo para apagar, el botón se pone en Off
      • si hago clic de nuevo para encender, la luz ambiente se enciende
  • yeelight ceiling10 - brightness: no sé por qué tiene el nombre del dispositivo y que está en inglés
  • yeelight ceiling10 - brightness: el cambio de nivel funciona bien :white_check_mark: y se modifica bien cuando lo modifico desde la aplicación
  • yeelight ceiling10 - night light: pequeño modo que no conocía en la aplicación y que atenúa las dos luces (principal y ambiente) :white_check_mark:
  • yeelight ceiling10 - on/off: no sé por qué tiene el nombre del dispositivo y que está en inglés
  • yeelight ceiling10 - on/off:
    • si todo está apagado, hago clic en On y la luz principal se enciende junto con el ambiente
    • si todo está encendido o solo la principal, si apago la principal, apaga todo.

Espero que sea lo suficientemente detallado para una futura actualización.

En general, o está en inglés o en francés.
No es necesario tener dos veces el nombre del dispositivo.
Tener ambient para el ambilight y main para la luz principal (o en francés).
Corregir el problema On/Off del botón de la luz ambiente.

Para ir más allá:

  • el encendido de principal solo enciende principal
  • el encendido de ambiente solo enciende ambiente
  • añadir un botón on/off global para encender/apagar los dos

Vale, gracias por tu respuesta, lo miro en cuanto pueda.
Hay un punto al que puedo responder ahora mismo, es sobre los sliders, que es un problema de front en gladys, la integración no cambiará nada en este nivel.
Espera a tener el nuevo tema de gladys y coir para hacer una solicitud de funcionalidad para que el slider con el valor de % sea más fácil de manipular.

Para los demás puntos, te mantendré informado.

Muchas gracias por tu respuesta, fue precisa y permitió encontrar un verdadero error fundamental. Una nueva versión corrige la mayor parte de lo que señalaste.

La temperatura de color (tus puntos 3 y 4)

Los dos síntomas eran en realidad uno solo. Gladys espera una temperatura de color en mired, no en Kelvin — es lo que usan las integraciones nativas (Philips Hue expone 153–500, Tasmota 123–500). El control deslizante tiene un degradado fijo de azul a naranja, por lo que asume que el valor aumenta cuando la luz se calienta. El Kelvin va exactamente en la dirección opuesta: de ahí tu control deslizante invertido. Y como los valores devueltos se leían como Kelvin, caían fuera del rango — de ahí «no controla nada».

La integración ahora convierte en ambos sentidos, respetando el rango real de tu modelo (2700–6500 K en un ceiling10).

:warning: Como los límites de esta funcionalidad cambian, lo más limpio es quitar y volver a añadir la lámpara después de la actualización. Los valores ya registrados en el historial están en Kelvin y seguirán siendo inconsistentes con los nuevos.

El color de ambiente no actualizado desde la aplicación (tu punto 2)

Bien visto, era un error real. La luz principal gestionaba el modo HSV, no el ambiente — y es precisamente el modo en el que la aplicación Yeelight deja el anillo de ambiente cuando le das un color. Los cambios nunca llegaban a Gladys. Esto está corregido.

Los nombres de los controles (tus puntos 1 y 5)

El nombre de la lámpara ya no se repite: Gladys ya lo muestra alrededor de la funcionalidad, lo que daba «Salón - Salón - brightness». Y en un plafón con retroiluminación, las etiquetas ahora indican claramente qué luz controlan:

  • Luz principal / Brillo principal / Color principal / Temperatura de color principal
  • Luz de ambiente / Brillo de ambiente / Color de ambiente

En una lámpara sin retroiluminación, sigue siendo simple: Encendido/Apagado, Brillo, Color, Temperatura de color.

El encendido independiente (tu punto 7)

Ya lo es: son dos comandos distintos, y he verificado que no se envía ningún modo especial en el encendido principal. Lo que observas es el firmware que restaura su último estado. Los nuevos nombres deberían ya levantar una buena parte de la confusión — pero si el comportamiento persiste después de la actualización, dime, lo miraré con los registros de la lámpara.

El botón de ambiente inconsistente (tu punto 6)

No he encontrado una causa cierta en el código. Mi hipótesis es que era una consecuencia del error de color de ambiente mencionado anteriormente: el estado no se reportaba, por lo que la interfaz se desincronizaba. ¿Puedes confirmarme si se reproduce después de la actualización? Prefiero no corregir a ciegas.

El botón global On/Off

No puedo hacerlo a nivel de la integración: una funcionalidad que controla dos otras no existe en el modelo de Gladys. La forma prevista es una escena que actúa sobre los dos interruptores — está documentado en la nueva versión.

Para los controles deslizantes, seguimos como se dijo en la espera del nuevo tema.

Actualización ok, eliminación y reintegración como propusiste.

Al iniciar, mi lámpara (principal y ambiente) está físicamente encendida, pero nada se actualiza en Gladys:


Por otro lado, se modifica cuando cambio los parámetros desde la aplicación, pero solo en las funciones que modifico, no en las otras.

En cuanto a Temperatura de iluminación, va bien (frío>frío, caliente>caliente) cuando modifico desde la aplicación, pero cuando lo controlo desde Gladys no pasa nada.

Si enciendo o apago luz ambiente desde la aplicación, Gladys pone On y no se mueve más.
Si lo apago desde Gladys, funciona bien (off, luego on, luego off), pero a veces (sin un tiempo repetitivo) vuelve a On directamente aunque la luz se apaga.

Brillo ambiente y Brillo principal funcionan bien en el control y se actualizan correctamente cuando modifico desde la aplicación.

Color de iluminación del ambiente recupera bien las modificaciones realizadas desde la aplicación y modifica bien la luz en el control.
En la aplicación, puedo ajustar el color del ambiente, pero también el calor de la luz del ambiente (caliente/frío). Habrá que ver si también podemos tenerlo en Gladys; en cualquier caso, si modifico el calor desde la aplicación, no pasa nada en Gladys.

Pues no es nada de lo que yo escribí:

¡Me gusta!
Y por cierto, este pequeño modo parece actuar solo sobre la luz principal, nada sobre el ambiente.

Lo dejamos así.

Tengo ganas de ver ese nuevo tema :star_struck:

Información adicional:

  • Acabo de ver que en mi aplicación Yeelight, he activado para el ambilight: « Auto Encendido/Apagado con luz principal » → por lo tanto, comportamiento totalmente normal en Gladys. Al desactivarlo, puedo gestionar el encendido/apagado de cada uno sin que modifique el otro :stuck_out_tongue_winking_eye:

nueva versión en curso, espero que sea buena, mantente en contacto