Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Reloj en vivo en Power BI en Raspberry Pi

Hola, una vez recibí ayuda aquí para hacer mi reloj en vivo en Power BI a través del Deneb viusual personalizado, con este código. Sin embargo, el remort se muestra en la TV con raspberry pi, en chromium y el reloj nunca se carga, ¿hay alguna otra solución que funcione para mi entorno?

Código:

{
"descripción": "Reloj digital robusto para Power BI".,
"ancho": "contenedor",
"altura": "contenedor",
"tamaño automático": { "tipo": "en forma", "contiene": "relleno" },
"señales": [
{
"nombre": "Fechaactual",
"inicio": "ahora ()",
"encendido": [
{ "eventos": [{"tipo": "horas", "acelerador": 1000}], "actualización": "ahora ()" }
]
},
{
"nombre": "timeText",
"actualización": "timeFormat(currentDate, '%d-%m-%Y %H:%M')"
},
{
"nombre": "Tamaño de fuente",
"valor": 35,
"encendido": [
{
"eventos": {"tipo": "cambiar tamaño"},
"actualización": "max(20, min(ancho, alto) / 3)"
}
]
}
],
"marcas": [
{
"tipo": "texto",
"codificar": {
"entrar": {
"alinear": { "valor": "centro" },
"línea de base": { "valor": "medio" }
},
"actualización": {
"x": { "señal": "ancho / 2" },
"y": { "señal": "altura / 2" },
"texto": { "señal": "timeText" },
"Tamaño de fuente": { "señal": "Tamaño de fuente" }
}
}
}
]
}

7 Replies

  • HOLA @duddys ,

    el reloj temporizador por segundo en Deneb / Vega a menudo no sobrevive a todos los entornos. En una Raspberry Pi que ejecuta Chromium en modo quiosco o TV, es posible que no se actualice el entorno de ejecución de Vega dentro de los objetos visuales personalizados de Power BI. T

    Uso de un conjunto de datos de streaming en tiempo real (más confiable) Si puede insertar datos en Power BI, puede obtener un reloj en vivo real sin depender de Deneb dentro del informe.

    Qué harás

    Cree un conjunto de datos de streaming en el servicio Power BI (conjunto de datos de inserción) con un campo, por ejemplo, CurrentTime (DateTime).
    Cree un pequeño informe en Power BI Desktop que use ese campo (un objeto visual de tarjeta que muestre el CurrentTime más reciente).
    Publicar en el servicio Power BI.
    En la Raspberry Pi, ejecute un pequeño script que envíe la hora actual al conjunto de datos de streaming cada segundo (o cada pocos segundos). El script debe autenticarse en la API REST de Power BI y publicar filas en: POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/rows Body: { "rows": [ { "CurrentTime": "2025-09-09T12:34:56Z" } ] }
    Lo que necesitarás

    Un área de trabajo de Power BI, un conjunto de datos de streaming "Push" y groupId/datasetId del conjunto de datos.
    Un registro de aplicación (Azure AD) o una entidad de servicio para obtener un token de acceso para la API de Power BI.
    Un pequeño script de Python (o Node.js, etc.) en la Raspberry Pi para enviar datos cada 1-5 segundos.

    Por favor, marque esta publicación como solución si le ayuda. Agradezco las felicitaciones.

  • Hola @duddys , Gracias por comunicarse con el Foro de la comunidad de Microsoft.

    Encontramos que la respuesta compartida por @FarhanJeelani es apropiada. ¿Puede confirmar si la solución funcionó para usted? Ayudará a otras personas con problemas similares a encontrar la respuesta fácilmente.

    Gracias @FarhanJeelani por tu valiosa respuesta..

  • Hola @duddys

    El reloj Deneb/Vega que está usando funciona bien en Power BI Desktop y en la mayoría de los navegadores modernos, pero el problema en la configuración de su televisor con una Raspberry Pi que ejecuta Chromium proviene de la forma en que funcionan los eventos now() y timer de Vega. Deneb se basa en la ejecución de JavaScript dentro del contenedor visual de Power BI y, en entornos más ligeros o restringidos como Chromium en Raspberry Pi, la señal del temporizador que actualiza el reloj (eventos: {type: "timer"}) a menudo no se activa o se limita, lo que deja el reloj congelado en el momento de la carga inicial. Desafortunadamente, esto significa que no se garantiza que su configuración procese actualizaciones en vivo de manera consistente. Un enfoque más confiable para el entorno sería evitar por completo la lógica del temporizador del lado cliente y, en su lugar, pasar la hora actual del sistema a Power BI desde el origen de datos (por ejemplo, a través de una pequeña consulta que devuelva GETDATE() o CURRENT_TIMESTAMP de la base de datos, o una función de Power Query). A continuación, puede actualizar esa consulta ligera cada minuto en el servicio Power BI o usar el truco de actualización de Power Automate para obtener actualizaciones casi en tiempo real. Otra opción fuera de Power BI es superponer un widget de reloj del sistema simple directamente en la pantalla de Raspberry Pi o en la pantalla del televisor (mediante una aplicación de quiosco o superposición), dejando Power BI solo para informes. De esta manera, no dependerá del temporizador de Vega, que es la raíz de su problema.

  • Hola @duddys ,

    ¡Espero que estés bien! ¿Podemos saber si funcionó para usted o todavía tiene dificultades? Háganos saber: sus comentarios realmente pueden ayudar a otros en la misma situación.

  • Hola @duddys , espero que estés bien. ¿Puede confirmar si el problema está resuelto o aún persiste? Compartir sus datos ayudará a otros miembros de la comunidad.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola, no he podido llegar a él, así que no probé la solución, parece sólido, creo que funcionará, pero desafortunadamente no pude probarlo todavía, así que no puedo marcarlo como solución.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola @duddys , ¿cómo estás? Solo quería saber si ha tenido la oportunidad de probar la respuesta de @FarhanJeelani para ver si resuelve su problema. Si aún tiene algún problema, comparta los detalles, siempre estaremos encantados de ayudarlo.
        Gracias.