Jeedom como controlador complementario de eedomus - Bucle infinito

phroc

  • *
  • 5703
  • Belle époque
    • Ver Perfil
    • PR-DOMOTICA
Hola a tod@s.

En este hilo, me voy a referir concretamente a este post:

http://www.domoticadomestica.com/usar-jeedom-controlador-complementario/

que publiqué recientemente sobre cómo usar Jeedom como controlador complementario de eedomus usando como ejemplo la integración de la regleta MP1 de Broadlink.

A - Lo que comentaba en el post

Resumiendo mucho, en el post comentaba 1) cómo controlar desde eedomus la regleta MP1 incluida en Jeedom mediante un actuador http y 2) cómo obtener un retorno de estado de la regleta en el mismo actuador http mediante la función "Push URL" de Jeedom (se puede hacer de otras maneras pero mucho menos interesantes).

En el post indicaba que al usar esa función "Push URL" de Jeedom había que marcar la casilla "No repetir nunca" para evitar que se produjera un bucle infinito entre eedomus y Jeedom, ya que ese bucle tendría como efecto poner sucesivamente la regleta en ON y luego en OFF sin parar.

Pues bien, muy recientemente he cambiado de router. El nuevo router procesa las llamadas http en local de forma mucho más rápida, lo que ha tenido como efecto que se produzca ese bucle infinito entre eedomus y Jeedom, a pesar de tener la opción "No repetir nunca" en "Push URL" en Jeedom.

No sé si los que habéis hecho esa integración lo habéis experimentado. Sino, podéis probrar a poner en ON cualquiera de los enchufes de la regleta desde Jeedom y muy rápidamente, al segundo, ponerlo en OFF y quizá eso provoque el dichoso bucle infinito, incluso si tenéis la opción "No repetir nunca marcada".

Obviamente, es un inconveniente muy grande ya que podría estropear algún aparato, como un televisor por ejemplo.

Así que después de pensarlo mucho, he encontrado una solución que quiero compartir con vosotr@s:

B - Cómo evitar el bucle infinito sin renunciar a tener en un mismo widget el actuador y el retorno de estado

Os voy a contar paso a paso lo que hay que hacer.

1) Hay que crear un actuador http con dos valores (ON y OFF) que apunte mediante dos llamadas http a Jeedom para encender y apagar cada enchufe de la regleta. Eso ya lo había explicado en el post y si habéis integrado la regleta en eedomus ya tendréis ese actuador http creado.

- En el nombre de ese actuador http, es conveniente que indiquemos que es un actuador http y no otra cosa (en mi caso "Televisión (actuador http)".

- También puede ser conveniente hacer que ese actuador http no aparezca en ninguna habitación porque una vez que hayamos terminado de configurar lo que estoy explicando, no hay motivo para usar ese actuador http directamente desde la interfaz de eedomus.

2) Luego, en eedomus, nos iremos a Configuración/Añadir o eliminar un periférico/Añadir otro tipo de periférico/Estado/Crear.

- Es importante que sea un periférico de estado. Con uno de escena no funciona.

- Pondremos un nombre a nuestro nuevo periférico de estado, le asignaremos una o varias habitaciones y en el campo uso es imprescindible que elijamos "Otro indicador (Actuador)". Lo podéis ver en la captura 1 adjunta. Eso hace que ese periférico de estado se convierta en un actuador y que podamos cambiar sus valores desde la interfaz de eedomus.

- En la pestaña de valores, crearemos 4 valores en el orden y con los valores brutos que os indico y que podéis ver en la captura 2 adjunta.

--> Valor bruto 0 --> Apagado --> Campo "Acciones relacionadas" vacío.
--> Valor bruto 1 --> Encendido --> Campo "Acciones relacionadas" vacío.
--> Valor bruto 2 --> Apagado --> Campo "Acciones relacionadas" ejecutar actuador http relacionado, valor Apagado. (ese valor bruto 2 podría ser otro, aquí no importa).
--> Valor bruto 3 --> Encendido --> Campo "Acciones relacionadas" ejecutar actuador http relacionado, valor Encendido. (ese valor bruto 3 podría ser otro, aquí no importa).

- Elegimos iconos idénticos para los dos valores "Pagado" y los dos valores "Encendido.

- Y muy importante: Hacemos clic en "Mostras las acciones ocultas" y desmarcamos los dos primeros valores (los que tienen los valores brutos 0 y 1). Eso hará que esos valores no aparezcan en el Widget de la interfaz, por tanto no podremos elegirlos, pero en cambio sí se podrán visualizar llegado el momento.

- Todo esto del punto 2) lo entenderéis mucho mejor al ver la captura 2.

3) Sólo nos queda ir a Jeedom y en el comando de estado correspondiente, en la pestaña "Configuración avanzada", en la casilla "Push URL", indicaremos la url correspondiente al periférico de estado que acabamos de crear en eedomus y al final añadiremos #value#. Esto último lo explicaba en el post. No varía.

Ya está. Con eso conseguimos tener en eedomus un periférico que nos permite:

a) Controlar cada enchufe de la regleta desde eedomus.

b) Conocer el estado de cada enchufe en eedomus no sólo cuando se controla desde eedomus sino desde cualquier otro sitio (botón físico, Jeedom, aplicación móvil).

c) Evitamos el blucle infinito. Y esto lo explico. ¿Qué sucede ahora cuando desde eedomus damos una orden de encendido o apagado?

Sucede esto: Pulsamos en "Encendido" en el periférico de estado en eedomus --> Eso hace que se ejecute el valor "Encendido en el actuador http creado en eedomus"--> Ese actuador manda una URL a Jeedom que hace que Jeedom ponga en ON el enchufe correspondiente de la regleta --> Al cambiar el estado en Jeedom, mediante la opción "Push URL" Jeedom manda una URL a eedomus que hace que el periférico de estado se ponga en el valor bruto 1. Y aquí se acaba todo. No puede haber haber bucle infinito pero todo funciona como debe.

La explicación es un poco larga pero creo que merece la pena. Os animo a ponerlo en práctica para evitar en el futuro un bucle infinito de éstos, aunque no los hayáis sufrido nunca aún, porque pueden ser muy malos para cualquier aparato eléctrico.

Si tenéis cualquier duda, me lo comentáis.

Saludos.
« Última modificación: Mayo 11, 2017, 09:40:52 am por phroc »
https://pr-domotica.es/

Communication Manager & Business Manager Spain at  NodOn
Consultoría en domótica inalámbrica e IoT
Formación Oficial Jeedom
Formación LoRa

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Jeedom como controlador complementario de eedomus - Bucle infinito
« Respuesta #1 en: Mayo 11, 2017, 10:46:52 am »
Gracias por este hilo. Yo lo que había notado es que al presionar sobre OFF para cambiar a ON, se cambiaba a ON pero inmediatamente pasaba a OFF y luego al cabo de unos segundos pasaba de nuevo a lo que querías, ON. De ahí que tampoco le di muchas vueltas. Era un mini-bucle. Lo malo es que no he comprobado si eso era sólo en las interfaces o también en el enchufe pues lo tengo lejos del ordenador. Total que me viene bien lo que has añadido para probarlo esta tarde y proteger los equipos de ese potencial bucle.

Jokin

  • *****
  • 1920
  • Meliorem domum
    • Ver Perfil
Re:Jeedom como controlador complementario de eedomus - Bucle infinito
« Respuesta #2 en: Mayo 11, 2017, 22:16:01 pm »
Evitado el bucle infinito y funcionando bien. Gracias Phroc.

Re:Jeedom como controlador complementario de eedomus - Bucle infinito
« Respuesta #3 en: Julio 22, 2017, 22:44:42 pm »
Me ha costado un poco, pero ya tengo la regleta en jeedom trabajando en Eedomus.
Gracias por la información.