Cómo implementar scripts en el controlador domótico eedomus
- En este tutorial, explicamos cómo implementar y usar scripts en el controlador domótico eedomus para tener aún más posibilidades de domotización.
Una de las preguntas recurrentes que nos llegan sobre el controlador domótico Z-Wave eedomus, es si permite usar scripts como ocurre con otros centros de control, como es el caso del Home Center 2 de Fibaro, por ejemplo.
El controlador eedomus es muy atractivo para mucha gente, a pesar de no ser perfecto, como subrayamos muchas veces, porque no existen los controladores domóticos perfectos.
Pero no cabe duda de que eedomus Plus tiene grandes virtudes que son decisivas cuando el usuario toma su decisión de compra: compatibilidad plena con un número amplísimo de módulos Z-Wave, apertura a otras tecnologías y soluciones, alto grado de personalización, plataforma en permanente evolución…
La posibilidad de implementar scripts en un controlador domótico, es algo que no solemos valorar cuando empezamos en domótica porque no sabemos muy bien para qué sirve o simplemente somos conscientes de que no sabemos programar y por tanto no seremos capaces de sacarle partido a esa posibilidad.
El caso es que los scripts pueden ser de muchísima ayuda en un controlador domótico porque nos permiten ir mucho más allá de las posibilidades que nos ofrecen éstos de serie. Los ejemplos son múltiples y variados. A través de scripts podemos integrar en nuestro sistema domótico dispositivos en teoría no compatibles con éste, podemos basar nuestras escenas en servicios web externos (calendarios, servicios meteorológicos, agenda, etc.), podemos disfrutar de estadísticas de nuestra instalación domótica…
Y lo mejor de todo es que no hace falta saber programar para todo eso porque hoy se encuentran en Internet una gran cantidad de scripts que podemos usar tal cual o adaptar de forma muy sencilla.
Si habéis llegado hasta aquí y aún os preguntáis si es posible implementar scripts en el controlador domótico eedomus, la respuesta, obviamente, es sí. Veamos ahora qué tipo de scripts y cómo y dónde implementarlos.
¿Qué tipo de scripts admite la plataforma eedomus?
Al contrario de otros controladores domóticos, como los controladores Vera (al menos en UI5) y HC2 de Fibaro, eedomus no admite scripts en LUA sino scripts HTTP basados en el lenguaje PHP. Para ser más preciso, hay que añadir que es un PHP adaptado, simplificado, customizado.
Los que sepan programar en PHP, no tendrán problemas, evidentemente, y los que no sabemos, como decía antes, podemos acceder a través de múltiples páginas y foros a scripts ya hechos y funcionales que no nos costará mucho adaptar a nuestras necesidades.
Para los entendidos en PHP, la wiki de eedomus nos da información precisa (en francés) sobre las distintas funciones, variables y codificación de este lenguaje PHP customizado de eedomus: http://doc.eedomus.com/view/Scripts
¿Dónde se alojan los scripts en eedomus?
Tenemos dos posibilidades para poder aprovechar scripts en una instalación domótica basaba en el controlador eedomus:
- Podemos alojar el/los script(s) en cualquier servidor, incluso en un NAS, en cuyo caso no tendremos más limitaciones que las que nos imponga ese servidor o NAS (lenguaje PHP estándar, peso variable del archivo que contiene el script, etc.).
- Podemos alojar el/los scripts(s) en nuestro controlador eedomus o eedomus Plus. En ese caso, tenemos una serie de limitaciones, a saber:
– Peso del archivo del script limitado a 50 Kb
– Tiempo de ejecución del script limitado a 30 segundos.
– Limitación de la memoria del controlador asignada al script
Todas esas limitaciones que acabamos de enumerar no con casuales, evidentemente. Son limitaciones que ha impuesto el equipo de desarrollo de eedomus para garantizar el buen funcionamiento y la fluidez del controlador en todas las circunstancias.
Si optamos por alojar el script en nuestro controlador eedomus, tendremos que acudir a la interfaz web prevista para ello, tecleando en la barra de URL’s de nuestro navegador de Internet la siguiente dirección:
Si nos sabéis cuál es la IP local de vuestro controlador eedomus, os recomiendo que leáis el post que publicamos hace algunas semanas sobre esta cuestión.
Una vez hecho lo anterior, accederemos a la ventana que se puede ver en la imagen superior, y desde ahí podremos “subir” el archivo de script a nuestro controlador eedomus. Esa misma pantalla, como se puede apreciar, también nos muestra los scripts ya subidos anteriormente y podemos incluso ejecutarlos y obtener información detallada sobre los mismos.
¿Cómo podemos “llamar” un script desde nuestro controlador eedomus?
Una vez que tenemos nuestro script alojado ya sea en nuestro controlador eedomus o en cualquier otro servidor o NAS, tenemos varias opciones para ejecutar y/o “explotar” el script desde eedomus:
- En la ventana anterior, como hemos visto, podemos ejecutar cualquier script que hayamos subido a nuestro controlador, para hacer una prueba. En ese caso, tan sólo tendremos que pincha en “Ejecutar”.
- Podemos “llamar” a nuestro script alojado en eedomus desde cualquier navegador de Internet o cualquier otro dispositivo que permita realizar llamadas http. En ese caso, usaremos la URL de nuestro script, que tiene el siguiente formato (suponiendo que el archivo se llame “MiScript.php”): http://ip_local_controladore_eedomus/script/?exec=MiScript.php
- Podemos “llamar” a nuestro script desde un sensor o un actuador HTTP previamente creado en la interfaz web de nuestro controlador. Por tanto, también podremos integrar el script en nuestras escenas domóticas.
Ahora que sabemos cómo subir un script a nuestro controlador eedomus y cómo sacar provecho de él desde la interfaz de usuario e integrarlo en reglas, sólo nos quedará programar un script en PHP adaptado a nuestras necesidades, si sabemos hacerlo, o usar los scripts que es posible descargarse en muchas páginas.
Sentadas esas bases, en próximos artículos entraremos en materia y veremos casos concretos de scripts para cubrir necesidades y usos muy determinados.
Muy interesante, lo desconocía casi por completo, habrá que empezar a trastear.
Muy, muy interesante. Gracias Philippe.