En el anterior post vimos como el servidor Mosquitto quedaba funcionando y aparecía como online en nuestro PAPER UI
Ahora vamos a añadir un dispositivo para que podamos controlarlo a través de MQTT.
Usaré en éste ejemplo un SonOff que reciba el mensaje «1» para activar el relé y «0» para apagarlo a través del topic «salon/led». De igual forma si usamos el pulsador para activar el relé, el SonOff devolverá el nuevo estado («0» o «1») a través del topic «salon/led/status»
Primero vamos a añadir a nuestro archivo mqtt.things unas nuevas líneas. Accedemos a través de Putty con nuestro usuario y contraseña y con la instrucción:
sudo nano /etc/openhab2/things/mqtt.things
Tendremos abierto nuestro archivo, listo para editar y añadimos las siguientes líneas:
Thing topic sonoffdual "Sonoff Basic" @ "Salón" { Channels: Type switch : lamp "Led Salón" [ stateTopic="salon/led/status", commandTopic="salon/led" ] }
Guardamos los cambios con “Ctrl+X” -> “Y” -> “Enter” y podemos ver en nuestro PAPER UI como hemos añadido un nuevo dispositivo.
Si hacemos click en el lápiz a la derecha podremos ver que hay un canal disponible llamado «Led Salón» tal y como hemos configurado en nuestro archivo mqtt.things.
Sólo nos queda editar nuestro archivo items para vincular el item con el canal.
Entramos al editor con la instrucción:
sudo nano /etc/openhab2/items/home.items
Insertamos la línea:
Switch ledsalon_item "Led Salón" ["Lighting"] { channel="mqtt:topic:mosquitto:sonoffdual:lamp" }
- Switch: Define el item como un interruptor con estados «0» para apagado y «1» para encendido.
- ledsalon_item: El nombre que tiene le damos a nuestro item
- Led Salón: El texto que aparecerá en nuestro sitemap
- [«Lighting»]: Parámetro que servirá para controlar nuestro item con «Homekit» de Apple
- Y por último el canal, que debe coincidir con el que aparece en la imagen anterior en el apartado «Configuration > Things > SonOff Basic»
El último paso será crear nuestro primer sitemap y ver como controlamos nuestra primera lámpara en casa.
De nuevo en Putty tecleamos la instrucción:
sudo nano /etc/openhab2/sitemaps/casa.sitemap
Insertamos las líneas:
sitemap casa label="Menú Principal" { Frame label="Salón" { Switch item=ledsalon_item icon="light" } }
Y comprobamos el resultado a través de la web
Podremos comprobar como activamos el relé desde el CLASSIC UI pero que, si activamos manualmente el pulsador para activar el relé, inmediatamente obtenemos el nuevo estado en pantalla.
Ahora un par de detalles de configuración de OpenHAB
Insertamos las coordenadas GPS de nuestra posición. Puede sernos útil en un futuro.
Y en Configuration -> Services -> UI -> Classic UI tecleamos el nombre de nuestro sitemap por defecto. En éste caso «casa»
Como hay que configurar el tasmota para que comunique con el openhab?
Me gustaMe gusta
Hay otros blogs en los que hay mucha información sobre el Tasmota. En mi caso nunca lo he usado y por tanto no sé como configurarlo para OpenHAB
Me gustaMe gusta
Hola buenas tardes, primero que todo muchas gracias por todo tu trabajo, a las personas que no somos muy avezados en ingles este tipo de esfuerzo nos ayuda muchisimo. Hasta aqui he obtenido resultados, en la inclusion del sonoff basic, no.Lo he salteado y me he ido al siguiente y tampoco. El archivo things/mqtt.things queda editado pero no me aparece en la pestaña Things. En la captura de pantalla de Putty del sonoff veo dos } al final, y en la instruccion una, no se si tiene algo que ver, pero si le agrego la segunda } me desaparece mosquitto de la ventana Things. Te ha pasado, tienes alguna idea de por que no me aparece? Gracias de nuevo por tu colaboracion.
Me gustaMe gusta
El archivo mqtt.things consta de dos partes: La primera (Bridge mqtt… etc) que sirve para crear el MQTT Broker y una segunda en la que incluimos todos los dispositivos que queremos conectar al Broker. Y por último cada dispositivo conectado puede hacer uso de uno o varios canales.
Para entenderlo de una forma más simple, abrimos un corchete ( { ) para incluir dentro del Bridge todos los dispositivos que queramos ( Thing ) y lo cerramos al final del archivo, a su vez abrimos otro corchete para incluir los canales que usa cada dispositivo y lo cerramos para no tener errores. Por ejemplo:
Bridge 1 {
Thing 1 {
Channel 1
Channel 2
}
Thing 2 {
Channel 1
Channel 2
}
}
Espero haber aclarado tu duda
Me gustaMe gusta