Paso 1: Instalar binding
Paso 2: Configurar openHab
El segundo paso es configurar en openhab.cfg la direccion del broker. En mi caso como mosquitto corre en la misma raspberry y por ahora no tiene nada de seguridad, fue fácil:
mqtt:broker:url=tcp://localhost:1883
* para abrir el archivo de configuración desde la Rapi, hay que pararse en el directorio donde esta guardado y usar sudo nano
cd /opt/openhab/configurations
sudo nano openhab.cfg
Para guardar los cambios se usa Ctrl+O y para cerrar la ventan Ctrl+X
Paso 3: Agregar items
Una vez cambiada la configuración hay que agregar los items necesarios en el archivo de items el que recibe la información especificando:
direction: < para recibir mensajes
broker: alias del broker especificado en la configuracion
topic: topico al que se suscribe
type: tipo de mensaje que se recibe, puede ser
state : actualización de estado
command: comando
transformation: regla que define como transformar el mensaje en algo que openHab reconozca.
default
transformation name > cualquiera de los definidos en org.openhab.core.transform.bundle
regex_filter: texto que representa una expresión regular para filtrar mensajes
Item myItem {mqtt="<direction>[<broker>:<topic>:<type>:<transformer>:<regex_filter>], <direction>[<broker>:<topic>:<type>:<transformation>], ..."}
En mi caso solo configuré un item de prueba:
Number MQTT_Tempe "Temperatura Cocina [%.1f °C]" <temperature> {mqtt="<[broker:tempe/cocina:state:default]"}
Para más información hay ejemplos de salida y entrada en la wiki del binding
* para abrir el archivo de items, se usa también sudo nano pero desde la carpeta /opt/openhab/configurations/items
Paso 4: Ajustar sitemap
El cuarto paso consiste en agregar ese item en el sitemap, yo lo agregué en uno casi vacío que se llama casa (tengo ese y el demo), donde configuré también el binding de weather.
Simplemente agregué en /opt/openhab/configurations/sitemaps/casa.sitemap la siguiente línea:
Text item=MQTT_Tempe
Recuerden chequear que las mayusculas y minúsculas esten iguales... les puede pasar que pongan MQTT_tempe en un lado y MQTT_tempe en otro y no funcione...
Paso 5: Probar!
Con esto configurado, y con openhab y mosquitto corriendo en la Raspberry, solo quedaba probar a publicar un mensaje al tópico tempe/cocina del broker (desde la aplicación MQTTool) y ver si lo recibía...
Funcionó! Desde la ventana de openHab en la RaPi se puede ver la siguiente información:
2016-10-26 09:47:30:182 [INFO ] [runtime.busevents ] - MQTT_Tempe state updated to 32
No hay comentarios.:
Publicar un comentario