Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Contar ventas en la máquina de bebidas de la oficina: ¿enviar cada venta o un total acumulado?

Contar ventas en la máquina de bebidas de la oficina: ¿enviar cada venta o un total acumulado?

Resuelto 6 5

Traducido del English por IA ·

Un proyecto paralelo divertido. Leí la vieja historia de la máquina de Coca-Cola de la universidad que informaba de su stock por red a principios de los 80 y quise hacer lo mismo con la máquina de bebidas de nuestra oficina (una vieja unidad Sanden, sin electrónica que valga la pena).He puesto un microinterruptor en el conducto de salida de cada una de las 6 columnas, conectado a un Wemos D1 mini. Cuenta las caídas. Ahora no sé qué enviar a Hermetry. Opción 1: en cada venta enviar {«col3»: 1}. Opción 2: mantener un total acumulado por columna y enviarlo cada 5 minutos. Quiero un gráfico de ventas por día y saber cuándo es probable que una columna esté vacía (reponemos los lunes, 40 latas por columna).¿Cómo lo hace la gente normalmente?

♥ 0

Traducido del English por IA ·

Hagas lo que hagas, elimina el rebote del microinterruptor. Una lata que rebota por el conducto te dará 3 conteos.

♥ 2

Traducido del English por IA ·

Algunas de esas máquinas tienen un bus MDB interno que informa correctamente de las ventas; quizá merezca la pena echarle un vistazo antes de taladrar más agujeros.

♥ 0

Traducido del English por IA ·

¿Qué pasa con el total acumulado cuando el Wemos se reinicia? Apuesto a que se van los cortes de luz cuando los limpiadores lo desenchufan.

Timestamps in UTC or it didn't happen.
♥ 2

Traducido del English por IA ·

Vuelve a empezar desde cero. No lo había pensado. Esta no tiene MDB, lo comprobé, es más antigua que yo.

♥ 1

Traducido del English por IA ·

Lo hice para las lavadoras de dos de nuestros edificios (recuentos de monedas), así que aquí está lo que me funcionó aunque no soy programador.Envíe un total acumulado por columna, cada pocos minutos, como números simples:

{"vend.col1": 1834, "vend.col2": 977, "vend.col3": 2210, ...}

Luego, en la tarjeta del gráfico, elija el agregado «increase». Está pensado para contadores: cada intervalo muestra cuánto aumentó el contador, y si el valor baja porque la placa se reinició, cuenta desde cero en lugar de mostrar un enorme valor negativo. Así que un reinicio no le cuesta nada, siempre que no reinicie dos veces dentro de un mismo intervalo y no supere el valor anterior.Enviar {«col3»: 1} por venta también funciona con «sum», pero si se pierde un mensaje, el recuento se pierde para siempre. Con totales, el siguiente mensaje se pone al día.Una cosa que me dio problemas: los intervalos diarios son días UTC. Estamos en hora del Este, así que mis barras «por día» se dividían a las 7 u 8 de la tarde. Para días locales use intervalos horarios y sume las horas, o simplemente conviva con ello.Para «probablemente vacía»: guarde el total en el momento del rellenado (yo escribo un atributo de servidor por columna los lunes desde la página del dispositivo) y genere una alerta cuando el total menos ese valor supere aproximadamente 38. Hago esa parte en un flujo porque una condición de alarma no puede hacer operaciones aritméticas entre dos valores.La página es Aggregates and rollups.

Timestamps in UTC or it didn't happen.
Solución aceptada♥ 8

Traducido del English por IA ·

Cambié a totales acumulados cada 5 min y a «increase» con intervalos de 1 h. La desconecté dos veces a propósito y el gráfico no se inmutó. Jason también tenía razón: la columna 4 se contaba tres veces hasta que añadí un debounce de 150 ms. La alerta de columna vacía es el trabajo del próximo fin de semana.

♥ 2
Viendo 7 entradas – de la 1 a la 7 (de un total de 7)
  • Debes estar registrado para responder a este debate.

Únete a la conversación

Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

Compartir