OpenHAB 2019 #3 (MQTT BINDING 2.4)

En el anterior post vimos como el servidor Mosquitto quedaba funcionando y aparecía como online en nuestro PAPER UI

MosquiOK

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" ]
  }

 

 

Captu23

Guardamos los cambios con “Ctrl+X” -> “Y” -> “Enter” y podemos ver en nuestro PAPER UI como hemos añadido un nuevo dispositivo.

Captu64

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.

Captu65

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" }

Puttyitems

  • 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

Sitemap01

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.

Config01

Y en Configuration -> Services -> UI -> Classic UI tecleamos el nombre de nuestro sitemap por defecto. En éste caso «casa»

Config02

 

 

4 Comentarios Agrega el tuyo

  1. Jose dice:

    Como hay que configurar el tasmota para que comunique con el openhab?

    Me gusta

    1. recretron dice:

      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 gusta

  2. Fabian Dovao dice:

    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 gusta

    1. recretron dice:

      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 gusta

Replica a Jose Cancelar la respuesta