Visualización de gráficos para sensores binarios

Es una acción manual, después si quieres poder compartir más fácilmente enlaces de Cloudflare, puedes configurar Cloudflare en tu repositorio Gladys y lo hará automáticamente :wink:

Bueno, todo está hecho, solo me queda el reordenamiento… galería y el toque final.

He mirado un poco para Cloudflare, he creado una cuenta y una página vinculada a mi fork… pero no da mucho ^^

Edición: Reordenamiento de los gráficos binarios (orden en la representación en el panel) hecho. Solo queda volver a probar. @pierre-gilles si puedes reiniciar un Cloudflare, o si tienes tiempo, guiarme para que lo haga ^^

Estoy trabajando hoy y mañana, así que no es posible, pero me sorprende que no puedas hacer un build de Cloudflare Pages, normalmente se hace en unos pocos clics

¿Hiciste push de un commit después de configurar los builds?

Quizás busca un tutorial de Cloudflare Pages en Google :slight_smile:

Gracias por tu respuesta ^^

Voy a mirar un poco más… ^^ por el momento mi prueba fue ir a la pestaña « Workers y Pages » de Cloudflare y hacer esto:

Pero no sé qué poner en la página de configuración (si es donde se hace ^^)

Infrastructure predefinida: nada coincide
Comando de versión: npm run build?

Mi configuración :

Configuraciones de compilación

Comando de compilación: cd front && npm run build
Directorio de salida de compilación: /front/build
Directorio raíz: /
Comentarios de compilación en solicitudes de extracción: Activado

Variable de entorno:

Nombre de la variable Valor
CYPRESS_INSTALL_BINARY 0
GATEWAY_MODE true
NODE_VERSION 18
SERVER_URL https://api.gladysgateway.com

¡Muchas gracias! ¡Funciona genial!
@guim31 y a los interesados, el enlace Gladys Plus para probar Gladys Assistant
:


Visualización sin modificación con orden base:


Después de renombrar y con reordenamiento:

¡Hecho!!

@Terdious ,

Acabo de probarlo y cuando hay mucha información no es realmente utilizable.
Al mismo tiempo, es complicado hacer algo mejor, habrá que ver al pasar la curva en una sola columna

Por lo demás, está bien

Otro pequeño detalle, bueno, yo lo encuentro raro. Cuando pasas el ratón por encima de una curva, en un gráfico con varias curvas, resalta todas las curvas.

Hola @Will_71,

Gracias por tu prueba, la ventaja de las PR front es poder probar rápidamente y fácilmente, es genial ^^

De hecho, en sensores como la detección que sube a 1 en cuestión de segundos, los resultados no son evidentes visualmente en 24 horas. ¿Has probado a hacer zoom (actualmente solo posible en escritorio creo) ? En mi caso funciona bien.
Como dices, es difícil hacer algo mejor. Para este tipo de casos. La PR en expand también debería ayudar.

Estoy haciendo una nueva imagen de prueba con las 2 PR combinadas si quieres probar: Binario + Columnas dashboard
No puedo separar el resaltado de las líneas porque resalta el valor « on » o « off » que es el mismo para todos los gráficos, por lo tanto. ¡Pero puedo quitar el resaltado si es necesario!

Por lo tanto, en 2 columnas queda así:

Y si hacemos zoom en una parte con apariciones fugaces:


Por lo tanto, funciona bastante bien al hacer zoom. El problema se plantea sobre todo en móvil mientras no se pueda hacer zoom.

Y en 1 columna (que no cambiará nada en móvil, quizás solo en tableta):


Por otro lado, de todas formas en 24 horas, el objetivo es solo localizar aproximadamente dónde están las zonas de detección. Luego el zoom (gracias a los valores reales) permite localizar rápidamente las horas de activación.

Haría una prueba esta noche

Puedes volver a probar si quieres @Will_71, he revisado el resaltado. También he revisado las alturas de visualización de las líneas de tiempo para que sea más coherente cuando se muestra 1 o varios binarios. Podrás probarlo directamente en el gladys plus con las columnas: https://terdious-binary-and-columns-dashboard.pages.dev/

EDIT: Ups, mensajes cruzados ^^ Perfecto, integra el cambio.

En una columna el display es un poco mejor, por otro lado, el zoom me encanta
¡Buen trabajo!

La modificación que hiciste con el resaltado me parece más natural, el resaltado solo está debajo del mouse y solo en la curva debajo del mouse. Por otro lado, si nos colocamos abajo en el On, por ejemplo, entonces selecciona el On en todas las curvas. Personalmente, lo prefiero así.

Sin embargo, tengo algunas observaciones:

Tengo la fecha que aparece en la misma línea que la hora
image

Tengo líneas blancas que aparecen por todas partes. La zona On está cortada en varios pedazos
image

Si hago un zoom, se puede ver que el primer On termina a las 22:13:11.

Y el segundo On comienza a las 22:13:11. No hay zona Off entre los dos, entonces ¿por qué este corte?

Cuando se hace un zoom, sería bueno tener la escala abajo. Hay un valor abajo a la izquierda, pero habría que convertirlo.

¡Espero que esto se fusione pronto!

Sí, es así para todos los gráficos cuando la visualización abarca varios días ^^. Ejemplo en mi instancia de producción:

De hecho, lo reproduzco, lo estoy mirando. Todavía no entiendo la razón. ¿Sabes si en este intervalo debería haber habido una zona Off, o si realmente no había ningún cambio?

Jajaja te has ido muy lejos con el zoom ^^ Has llegado a un orden de visualización en milisegundos, así que no lo gestionaba ^^
Me costó, pero parece que está bien: he limitado el zoom a una escala de 1s (creo que todos estamos de acuerdo en que hay poco interés en ir por debajo, ¿no?). Por lo tanto, se muestran 10s como mínimo. Si intentas hacer zoom de nuevo, solo se desplaza.
Zoom máximo:

¡Joder, lo encontré! ^^ Es una tontería ^^
Ocurre con los sensores binarios que envían más de 100 datos en 1 hora (o en 24 horas según lo que se muestre). Envían un agregado. Por lo tanto, si solo hay unos 1 y aparece un « 0 », promedia a « 0.5 », por lo que hay un valor diferente, pero no sabe cómo representarlo…
Maxstate = 100 zoom:

Maxstate = 1000 zoom:

Por lo tanto, @pierre-gilles, no sé qué hacer en este caso… para una visualización de 1 hora, contaba con poner 1000 estados, pero probablemente hará lo mismo si el dispositivo envía un valor cada 5 segundos, por ejemplo, ya que « Última hora » ya devuelve 3 horas actualmente en todas las curvas… (supongo que toma la hora UTC - no lo he visto en el código del lado del servidor).
Bueno, en mi caso, 1000 estados máximos resuelve el problema para « Última hora », pero aún tengo el caso para las 24 horas.
Otra opción es poner 10000 estados… pero…
En 24 horas, 1000 estados:


En 24 horas, 10000 estados máximos => 1600 realmente (se ve claramente que no es la realidad en la de arriba, entre las 10:06 y las 10:08 hubo un corto On y luego un largo Off antes de volver a pasar a On):

EDIT: 3000 estados máximos… eso da un valor cada 30 segundos. Aproximadamente correspondería a la realidad. Y para el resto, lo veremos en una de las próximas PR con el recálculo al hacer zoom ??

Os dejo probar de nuevo en https://terdious-binary-and-columns-dashboard.pages.dev/ (no antes de 10 minutos) pero así diría que no está nada mal!

Nunca me había fijado antes, pero no siempre está presente, depende de la hora.
El ejemplo de abajo:


No sé por qué, pero en mi producción el día aparece en negrita.

No tengo ninguna zona inactiva.

Sí, buscaba entender si había una zona inactiva

¡Sí, eso es!

Ah, vale, sorprendente. En ese caso, si puedes volver a intentarlo (lo he actualizado), porque en mi caso ha sacado las zonas Off (coherentes con la realidad, por cierto). La idea es asegurarse de que el parche también resuelva tu problema.

¿No afecta demasiado al rendimiento tener 3000 estados?

Y si solo hay 10 estados, ¿estamos de acuerdo en que no se añaden estados falsos para llegar a 3000?

He probado con 3 características en el mismo gráfico, no he visto ninguna diferencia. Pero puedo probar con 10 gráficos de 5 características para estar seguro.

Lo confirmo, es bien state_max. No he tocado el sistema

Bueno, acabo de hacer más pruebas. Ya no es tan reactivo como en mis pruebas anteriores. No sé qué ha cambiado en unos pocos días.

El problema es que, si no tenemos todos los valores, como se mencionó anteriormente sobre los binarios, todo se promedia, lo que distorsiona todo porque tenemos estados ‹ 0.333 ›, ‹ 0.5 ›, ‹ 0.66667 › y otros que pueden aparecer al pasar a 0 o al pasar a 1. Y que además no son reales en el tiempo.

Diferencias visuales en mi caso con un sensor de presencia:

Mi problema radica en el hecho de tratar los estados promediados para devolverles un valor coherente.


Al tomar 3000 estados, sé que el primer estado es ‹ 1 › en este caso. Pero ¿cómo asegurarse de que siempre es así? Y si tomamos el ejemplo de un parpadeo, ¿cómo funciona para el promedio… solo 0.5? ¿cómo se traduce?

No veo el interés de mostrar tantos puntos.

El usuario ni siquiera verá las pequeñas líneas, ¡será más pequeño que un píxel de la pantalla! ¡No es utilizable!

¿Por qué no limitar la duración de visualización? Por ejemplo, 1 hora.

Ese es el problema… Ya hemos limitado la visualización a 24 horas, más allá de eso no tiene sentido. Pero hay 2 puntos a considerar:

  • Los sensores que envían datos cada x segundos
  • Los sensores que envían datos cuando cambia el estado, como por ejemplo un interruptor (que permanecerá encendido por más tiempo).
  1. Sería una lástima penalizar la vista del segundo, que es ampliamente legible:
  2. El interés del primero es que es interesante poder consultar un día completo y que se puede hacer zoom para ver mejor, por ejemplo aquí se ve claramente que entre las 11h y las 13h de ayer hubo una detección de presencia:

    => si hago zoom en el intervalo de 11:50-12:10 de ayer, se vuelve completamente legible y veo que tuve una presencia de 10 segundos a las 11:50. Por lo tanto, completamente utilizable.

    El interés será luego poder recalcular al hacer zoom. (Por ejemplo, tener todos los datos utilizables y poder hacer zoom en la zona roja para recuperar los datos no visibles en la vista inicial)

Si tienes un poco de tiempo esta semana para una videollamada con visualización, estoy muy interesado. Porque he revisado mi trabajo, pero ya no es probado desde Gladys Plus, desafortunadamente, estoy « obligado » a hacer cambios en el servidor.

He añadido una consulta específica a las características ‹ binarias › y limitar el número de resultados a 300.

Lo único que me molesta es que funcionaba tan bien la última vez con 3000 estados que estoy realmente sorprendido del cambio radical hoy. Tengo miedo de que sea mi PC que está medio en PLS (pero no puedo reiniciarlo. Tendría que montar una nueva máquina para el desarrollo. Pero no tengo tiempo ni recursos.

Sin embargo, creo que el método es mejor porque organizamos los datos directamente en la consulta.
Luego habrá que añadir el recálculo de los valores al hacer zoom.