Dispositivo virtual que copie el estado de otro dispositivo

No se si la terminologia que uso es la correcta; tengo un dispositivo con 8 entradas/salidas cableadas de relé, y mi intención es disponer de una copia/un clon de esas entradas cableadas. Tendrá los mismos valores, pero por ejemplo distintos iconos.

https://i.imgur.com/tD28oCF.jpg

Para ello he creado unos perifericos de estado, les he puesto nombre y dibujo, les he creado dos estados al igual que con los relés (0/1).

https://i.imgur.com/E4tsa8u.jpg

Por último para cada relé he creado dos reglas. Que cuando el relé cambie a abierto me ponga el dispositivo virtual a 0 (no hay movimiento), y cuando el relé cambie a cerrado me ponga el dispositivo virtual a 1 (hay movimiento).

https://i.imgur.com/OpnZLQd.jpg

https://i.imgur.com/wxbkNGL.jpg

Estoy haciendolo de la manera correcta, o me estoy complicando la vida? Funcionar me funciona, pero por ahora son 6 reglas que quizás sean innecesarias (serán como poco 10, ya que me falta montar dos detectores más).

Es una forma de hacerlo, pero te obliga a usar escenas.

En la Store eedomus, tienes un periférico que se llama “Calculadora”, que te permite coger el valor de un periférico y modificarlo con la fórmula que quieras.

Podrías usas ese periférico para lo que pretendes (sin modificar el valor del periférico de referencia). Sería una forma de hacerlo (aunque eso técnicamente está basado en un “cron”, es decir que refresca cada x minutos, 1 como mínimo si no recuerdo mal).

Casi que me quedo así pues, no se si es la forma más adecuada, pero al menos el cambio de los estados es inmediato.

No sabia que se pudieran ejecutar tareas cron en un eedomus? Hay alguna manera de ver que tareas se auto-ejecutan cada x tiempo? Tengo precisamente el script que me actualiza los estados de los relés que se ejecuta cada 30 segundos, pero no tengo ni idea de desde donde se “lanza” por primera vez.

El plugin me creó todos los dispositivos individuales de las entradas/salidas, y a parte un dispositivo para actualizar los estados de los relés. Este dispositivo tiene un macho que ejecuta un script en PHP, que con un bucle de 6 iteraciones que cada 5 segundos actualiza los estados. Y entiendo que el propio macro a los 30 segundos se vuelve a llamar a si mismo, y así hasta el infinito…

https://i.imgur.com/0zK9OMb.jpg

https://i.imgur.com/uVc2wHC.jpg

https://i.imgur.com/65SL06F.jpg

Lo que no entiendo es donde se ejecuta por primera vez este macro cuando digamos el eedomus se arranca desde cero.
Gracias!

Nada, en eedomus no tienes mucho control sobre los crones.

Solo puedes controlar la frecuencia de los mismos, donde has visto.

Muy buenas:

aunque tenga cierto tiempo este hilo, intento aportar mi granito de arena (estoy dando mis primeros pasos, así que si digo alguna burrada, vayan mis disculpas por delante :-[).

Podrías utilizar una única regla cuyos criterios de activación sean:
rele físico 1 cambia de estado OR
rele físico 2 cambia de estado OR
rele físico 3
… y así hasta el 8

Y las acciones serían:
rele virtual 1 | “valor otro periférico” | rele físico 1
rele virtual 2 | “valor otro periférico” | rele físico 2
rele virtual 3 | “valor otro periférico” | rele físico 3
… y así hasta el 8

De ese modo cada vez que un rele físico cambie de estado (sea el que sea, da igual), te sincroniza todos los valores. Con eso utilizas una única regla para todos los relés. ¿Tiene sentido lo que digo?

Pues si, igual me compliqué la vida de manera innecesaria, y habría sido más sencillo hacerlo todo con una sola regla. No se cual de las dos opciones debe ser más “eficiente” de cara a no sobrecargar el eedomus de forma innecesaria.

Gracias por la idea!