eedomus y eedomus+ son controladores domóticos Z-Wave parcialmente dependientes de la nube, con las ventajas e inconvenientes que eso supone.
Por consiguiente, es esencial garantizar la conexión del controlador a los servidores eedomus en todo momento, especialmente si nuestro sistema domótico hace también las veces de sistema de seguridad.
eedomus nos ofrece la posibilidad de disponer de una conexión de respaldo por 3G en caso de que nuestra conexión convencional falle. De hecho, cuando nuestro eedomus se conecta por 3G por un fallo de la conexión ADSL o de fibra, y cuando se vuelve a conectar a ésta después del restablecimiento del servicio, nos avisa pero únicamente a través de una notificación en el portal eedomus.
En este tutorial paso a paso, veremos cómo crear en eedomus un periférico que nos indique en todo momento el estado de nuestra conexión y nos envíe notificaciones push y/o por mail con cada cambio de estado.
Si nuestra conexión ADSL o de fibra nos ofrece una IP estática (cosa poco probable hoy en día, salvo que paguemos por ello), no tenemos problema a la hora de saber si nuestro eedomus está conectado por 3G o no, con este script que el equipo de desarrollo de eedomus pone a nuestra disposición.
En cambio, si como yo tienes una conexión con IP dinámica -es decir que tu IP cambia cada vez que reinicias el router, cuando se va y vuelve la luz, etc.-, es mucho más difícil saber cuando eedomus se conecta por 3G por un fallo de la conexión ADSL o de fibra (el script que incaba anteriormente no sirve en este caso).
Hasta hace poco usaba para eso un complejo entramado de reglas que consistían en hacer “pings” a distintos equipos de mi red local para intuir (con alto grado de fiabilidad pero no al 100%) si mi eedomus estaba o no conectada por 3G en cada momento. Pero ahora, con la llegada de la Store eedomus, tenemos a nuestra disposición medio centenar de plugins que nos facilitan mucho la vida, incluso para esto que estamos hablando.
Veamos paso a paso cómo proceder.
Paso nº 1 – Creación de un periférico de estado de la conexión a Internet
En primer lugar, crearemos en nuestra eedomus un periférico virtual que refleje en todo momento el estado de nuestra conexión a Internet.
Para ello, en el portal eedomus nos vamos a Configuración / Añadir o eliminar un periférico / Añadir otro tipo de periférico / Apartado “Elemento de programación” / Escena / Crear.
Rellenamos los distintos campos necesarios en la ventana de configuración del nuevo periférico:
A continuación nos vamos a la pestaña “Valores” y creamos dos valores: Ethernet y 3G.
Paso nº 2 – Uso del plugin “Dirección IP Internet”
Para conocer en todo momento la IP pública de nuestra conexión, usaremos este plugin, especialmente diseñado para ello, que se encuentra en la Store eedomus.
Para instalarlo nos iremos, en el portal eedomus, a Configuración / Añadir o eliminar un periférico / Store eedomus / Apartado “Utilitario” / Dirección IP Internet / Crear.
Al igual que en el paso anterior, rellenaremos los campos necesarios en la ventana de configuración del nuevo periférico. En “Tipo de datos” es importante que elijamos “Texto” (para el siguiente paso). En “Frecuencia de la petición” podemos poner lo que queramos (yo lo tengo en 10 minutos).
Con este segundo paso, ya podremos saber en todo momento en la interfaz de usuario de eedomus cuál es la dirección IP pública de nuestra conexión a Internet.
En la captura anterior he ocultado los últimos dígitos de mi dirección IP pública (sustituyéndolos por “X”) y he dejado visible, a propósito, los 4 primeros dígitos.
Haciendo un sencillo trabajo de análisis, he comprobado que la dirección IP pública que me proporciona mi proveedor de acceso a Internet siempre empieza por esos 4 primeros dígitos. Éstos nunca cambian, los que sí lo hacen son los otros.
Para que este método funcione, por consiguiente, debéis analizar el patrón que siguen vuestras IP’s públicas. Es muy probable que, como en mi caso, vuestras IP’s siempre empiecen de la misma forma. Para comprobarlo es muy sencillo. Una vez creado el periférico de dirección IP en eedomus, anotaremos la IP, desconectaremos el router y lo volveremos a conectar y a continuación nos fijaremos en la nueva IP, y así sucesivamente 2 o 3 veces veces más hasta sacar un patrón.
Paso nº 3 – Uso del plugin “Calculadora matemática”
Para poder usar la parte de nuestra IP pública que siempre es la misma en reglas de eedomus, vamos a necesitar el plugin llamado “Calculadora matemática”, disponible en la Store eedomus.
Para instalarlo nos iremos, en el portal eedomus, a Configuración / Añadir o eliminar un periférico / Store eedomus / Apartado “Utilitario” / Calculadora matemática / Crear.
Rellenaremos los campos necesarios en la ventana de configuración del nuevo periférico, y prestaremos atención a dos casillas importantes:
- En la variable de usuario [VAR1], debemos indicar el código API del periférico que hemos creado en el paso anterior, es decir el periférico “Dirección IP Internet”. Os recuerdo que aparece en la ventana de configuración de dicho periférico, en el apartado “Parámetros experto”.
- En “URL de la llamada” añadiremos al final * (es decir multiplicar) y en mi caso particular 1000 (es decir *1000).
En mi caso he multiplicado por 1000 porque la dirección IP pública que me proporciona mi proveedor de acceso a Internet, como hemos visto, siempre empieza por 1.741. Además, en el paso anterior, hemos configurado el periférico para que fuera una valor de texto.
Pues bien, la calculadora matemática irá a buscar el valor del periférico de dirección IP (en mi caso pongamos que sea 1.741.123.123). Al tratarse de un valor de texto y al contener puntos, si multiplico ese valor por 1000, la calculadora matemática me devuelve como resultado 1741 (trata el punto como una coma).
Ya lo tenemos. Ahora, en el periférico anterior, tendré el valor 1741 si eedomus está conectado al router y éste a su vez a Internet.
Si fallara mi conexión ADSL, eedomus lo detectaría, se conectaría por 3G y entonces la IP sería distinta (empezaría por otros dígitos, aunque en mi caso mi operador de 3G es el mismo que el del ADSL), y el valor anterior sería distinto.
A partir de ahí, sólo me queda crear un par de reglas para que eedomus refleje en todo momento en el periférico creado en el paso 1 el estado real de mi conexión, y además me notifique por Push y/o por mail cada vez que se produce un cambio en mi conexión.
Usos posibles
Saber cuando nuestro controlador eedomus está conectado por 3G o por Ethernet, incluso cuando no estamos en casa, o crear reglas basadas en este factor, puede tener multitud de usos: controlar el funcionamiento de distintos equipos de red, saber si nos pueden haber cortado la conexión a Internet con vistas a un robo…
En mi caso me es muy útil porque resulta que mi controlador eedomus+ (no me pasaba con el modelo anterior) se conecta bien por 3G la primera vez, pero no las siguientes, por un problema de la alimentación del pincho 3G a través del puerto USB. Sabiendo en todo momento cuando eedomus se conecta por 3G y cuando vuelve a conectarse por Ethernet, me es muy fácil, a través de una regla, decirle a eedomus que se reinicie automáticamente cuando después de conectarse por 3G, vuelve a conectarse por Ethernet. De esta forma, la próxima vez que se conecte por 3G sé que lo podrá hacer sin prolemas al haberse reiniciado.