openHAB en Raspberry PI (parte 5): Configuración básica

Una de las cosas que menos me ha gustado de openHAB es que la primera vez que te encuentras con él y quieres probarlo tienes la sensación de no saber dónde tienes que tocar para que todo funcione como tu quieres. Incluso para hacer unas pequeñas modificaciones para trastearlo se te hace todo cuesta arriba, no es algo que digas: cambio esto aquí y listo. No. No, no y no. Vas a mirar en la wiki del proyecto y aún así no te quedan las cosas demasiado claras.
Como se trata de un sistema muy, muuuuyyyy útil, que a más de uno de los que me leáis os gustará probar voy a ir describiendo paso a paso como hacerlo funcionar.
Lo primero con lo que te encuentras es una carpeta configurations repleta de archivos y directorios de configuración:
  • openhab_default.cfg: Contiene todos los valores por defecto del sistema. En principio no hay que tocarlo para nada.
  • openhab.cfg: Hay que crearlo como una copia del anterior, y aquí es donde especificaremos la configuración de cada addon que tengamos instalado.
  • users.cfg: Si activamos la seguridad, aquí se guardarán los usuarios y contraseñas de acceso al sistema.
  • items: En los archivos de este directorio es donde especificaremos cada uno de los elementos de nuestro sistema domótico, es decir, los interruptores, los enchufes radio controlados, las cadenas de texto, los contadores…
  • sitemaps: Por cada sistema domótico que creemos deberemos crear un archivo en este directorio y en él especificar como se agruparán los distintos items que queramos mostrar en la web de control.
  • rules: Son las reglas de control del sistema. Indican qué hacer y cuando. Por ejemplo: si son las 7:00 envía un correo electrónico a tal dirección y enciende la radio.
  • scripts: Los scripts son funciones que se pueden llamar desde distintas partes de openHAB (como las reglas) mediante el uso de callScript(“mi_script”). Sirven para reutilizar código.
  • persistence: Si queremos ir almacenando información sobre el estado del sistema a lo largo del tiempo, en bases de datos, archivos, etc, deberemos definirlo en los archivos es este directorio.
Ahora que ya tenemos la estructura de esta carpeta clara vamos a por un ejemplo:  Vamos a crear un sistema muy simple con un item que representará un activador/desactivador de una estufa, un número que iremos modificando con una regla, y otro item que se automodificará dependiendo del resultado de la ejecución de un comando (comprobará si nuestro router está activo). Los resultados y estado del sistema lo podremos ver por la web local openHAB, a través de HABdroid, o por la consola de depuración de openHAB.
Creamos el fichero items/ejemplo1.items con el siguiente contenido:

 

Para presentar los elementos en una web, creamos el fichero sitemaps/ejemplo1.sitemap con el contenido siguiente:

Ahora vamos a crear una regla a modo de ejemplo que escriba algo en el Text item Temperatura cuando pulsemos el Switch item Estufa (no tiene mucho sentido, pero como es un ejemplo, nos vale). Para ello creamos el fichero rules/ejemplo1.rules con la siguiente regla:

Como hemos usado el plugin Exec tendremos que copiar del paquete comprimido de addons, el fichero correspondiente al plugin, que en el caso de la versión de desarrollo de openHAB, se llama org.openhab.binding.exec-1.4.0-SNAPSHOT.jar a la carpeta addons de nuestra instalación.

Finalmente iniciamos openHAB en modo depuración con el comando start_debug.sh, y nos conectamos a la web local de openHAB en http://127.0.0.1:8080/openhab.app?sitemap=ejemplo1 (o la que hayáis configurado) y trasteamos…

El ejemplo en sí mismo no tiene mucho sentido, pero nos sirve para ver las posibilidades que tiene el entorno y más o menos el funcionamiento de todos los componentes de forma integrada.

Comentarios

  1. Por Jose Landa

    Responder

    • Por José María

      Responder

      • Responder

        • Por José María

          Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *