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

Las compuertas servo controladas por botones de pared y un deslizador del panel se desincronizan

Las compuertas servo controladas por botones de pared y un deslizador del panel se desincronizan

Resuelto 4 3

Traducido del English por IA ·

Soy el responsable de instalaciones de un hotel. Nuestras dos salas de conferencias tienen pequeñas compuertas de ventilación motorizadas que construyó un contratista: un ESP32 con dos servos MG996R, además de dos pulsadores en la pared por sala (abrir más / cerrar más, 15 grados por pulsación). El ESP32 ya envía la temperatura y el CO2 a Hermetry.Quiero que el equipo de eventos ajuste las compuertas desde un panel en el PC de recepción. Añadí al perfil un comando damper.set con un parámetro angle y coloqué una tarjeta de control Slider en el panel. El envío funciona, la compuerta se mueve.Pero el deslizador sigue mostrando la posición incorrecta. Si alguien pulsó el botón de la pared, el deslizador todavía marca 45 cuando la compuerta está en 75. A veces, después de mover el deslizador, vuelve al valor anterior un segundo más tarde, lo que confunde a todos.¿Hay forma de que el panel siga la posición real, o tengo que quitar los botones de pared? A los huéspedes les gustan los botones.

QoS 1 and a lot of patience.
♥ 0

Traducido del English por IA ·

Siguiendo con esto, tenemos lo mismo con las persianas motorizadas.

♥ 0

Traducido del English por IA ·

Conserve los botones. El deslizador solo puede mostrar lo que el dispositivo le comunica a Hermetry, así que el ESP32 tiene que informar la posición después de cada movimiento, ya sea desde un botón o desde un comando.Apuesto a que el salto de vuelta se debe a su enlace de Current value. Revise a qué apunta la ranura Current value del deslizador. Si lee algo que solo cambia cuando envía (o nada), vuelve a ese valor. Enlácelo a una clave de telemetría que el propio ESP32 envíe, por ejemplo damper1_pos.En el ESP32, después de cualquier movimiento:

void moveTo(int ch, int angle) {
  angle = constrain(angle, 0, 90);
  servo[ch].write(angle);
  pos[ch] = angle;
  char buf[48];
  snprintf(buf, sizeof buf, "{"damper%d_pos":%d}", ch + 1, angle);
  mqtt.publish("v1/telemetry", buf);
}
// button handler: moveTo(ch, pos[ch] + 15);
// command handler for damper.set: moveTo(ch, params["angle"]); then answer ok

Ajustes del deslizador que nos funcionaron: Minimum 0, Maximum 90, Step 15 para que coincida con los pasos de los botones. El deslizador envía una vez al soltarlo, no mientras arrastra, así que el servo no recibe un bombardeo de órdenes. Para una compuerta puede activar Ask before running off; si no, recepción recibe un cuadro de confirmación en cada movimiento. Deje el comando en nivel Basic, una placa no envía nada superior.También está «Disable the control when the reading is old», activado por defecto. Si el ESP32 solo informa cuando hay cambios y nadie la ha tocado en horas, el deslizador puede aparecer en gris. Haga que repita la posición cada pocos minutos junto con las demás lecturas.Los pasos de configuración están en Control cards.

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

Traducido del English por IA ·

Eso era, Current value estaba vinculado al parámetro de comando en lugar de a una clave reportada. El contratista añadió la publicación tras la pulsación del botón y una repetición cada 5 minutos con la lectura de CO2. El deslizador ahora sigue a los botones de pared. «Preguntar antes de ejecutar» está desactivado, el equipo de eventos les da las gracias.

QoS 1 and a lot of patience.
♥ 0

Traducido del English por IA ·

Se lo envío a nuestro contratista de persianas, la misma idea debería funcionar.

♥ 0
Viendo 5 entradas – de la 1 a la 5 (de un total de 5)
  • 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