Persianas y Sonoff Dual

Buenas a todos!!!

Me dispongo a escribir unas lineas para comentaros como hemos conseguido domotizar de una manera sencilla y económica las persianas eléctricas de nuestra casa algunos de nosotros.

Objetivo

La idea de este tutorial, es que a partir de unas persianas motorizadas con sus interruptores de pared, consigamos integrar en HA mediante un fork (desarrollo paralelo) del conocido Tasmota. El repositorio en cuestión es el del autor Stefanbode, y se puede encontrar aquí. Una de las opciones que ha implementado, es la posibilidad de dar soporte a persianas, ya que ha modificado tasmota, añadiendo la funcionalidad de almacenar la información de la posición de las persianas, la cual es enviada mediante mqtt.

La elección de un sonoff dual, en vez de un wemos, nodeMCU o similar más módulos de reles + fuente de alimentación, se ve en el simple nombre. Un sonoff dual se alimenta a 220, y ya está, no necesitas nada más. Por el contrario, si eligieramos la opción de poner un NodeMCU, necesitaríamos un par de relés y una fuente de alimentación, y probablemente una caja donde meterlo todo (mucho más lioso y no más barato).

Empecemos. Estos son los materiales que vamos a utilizar:

  • 1 x Sonoff Dual
  • 2 x resistencias de 4K7 (opcional)
  • 2 x condensadores de 33 pf (opcional)

1.- Instalación del fork de Tasmota de
Stefanbode

Primeramente deberemos instalar el fork, este paso se realiza exactamente de la misma manera que para instalar Tasmota, por lo que este paso no lo explicaré aquí.

A continuación, y una vez que tengamos funcionando el firmware, accederemos a la web del dispositivo mediante su ip. Una vez en la interfaz, configuraremos el módulo como un sonof dual R2, tal y como haríamos en la configuración de Tasmota. (Configuration/Configure Module)

Al pulsar en guardar, ya tendríamos los dos switch del sonoff dual operativos. En este punto, hay que destacar que, debido a que el sonoff dual se pone en modo programación al darle corriente teniendo pulsados gnd y button 0, hay que tener especial cuidado si se deja pulsado el botón que esté conectado a este pin, ya que si se va la luz/o la quitamos, y este interruptor está pulsado, el sonoff entrará en modo programación, y no arrancará. En principio esto se puede evitar, no utilizando el button 0, utilizando rx, aunque yo en mi montaje no lo haya tenido en cuenta.

Después de estar haciendo pruebas, recomendable utilizar rx y btn1 siempre que sean interruptores (si son pulsadores daría igual).


El siguiente paso, será activar varias configuraciones en la consola, para ello ir al menu «console», y una vez allí activar los siguientes códigos.

  • SetOption14 1 -> Este comando habilitará el modo interlock de los dos interruptores, para evitar puedan estar activados al mismo tiempo los dos interruptores.
  • SetOption80 1 y SetOption81 1: Esto activa la funcionalidad para manejar las persianas. Una vez realizado este paso, se debe reiniciar el sonoff, y en la ventana principal, debe aparecer un slider debajo de los botones.

Una vez que ya tenemos activado la funcionalidad de las persianas, nos hace falta configurar los tiempos de subida y bajada de la persiana, para ello, accederemos otra vez a la ventana de la consola e introduciremos los siguientes comandos.

  • SHUTTEROPENDURATION X: donde X es el tiempo en segundos necesario para abrir la persiana por completo.
  • SHUTTERCLOSEDURATION X: donde X es el tiempo en segundos necesario para baja la persiana por completo.
  • PowerRetain 1: Para mantener la posición después de reiniciar HA

Con esto, ya tendríamos funcionando las persianas, con control de posición. Para un ajuste más real, se debe de calibrar la persiana, ya que si no lo hacemos, es más que probable que el 50% de la persiana no coincida con el 50% real de apertura por el funcionamiento de las mismas. Para ello basta con aplicar dos pasos muy sencillos (explicado en el paso 4.), pero antes de eso, deberíamos de conectar nuestra persiana al sonoff.

2.- Configuración Hardware

La última parte que quedaría sería el añadir las ya famosas resistencia de pullup, y un condensador, para asi evitar falsas activaciones del interruptor y conectarlas físicamente a los interruptores. Existe un video que lo explica muy bien del famoso «DrZzs», el cual podréis ver aquí. Yo simplemente me he limitado a hacer lo que se indica en el video. Este paso es casi indispensable, si se quieren tener interruptores físicos cableados. Básicamente lo que se trata es de agregar un par de condensadores y resistencias.

Conector en sonoff dual R2
Resistencias de pull-up
Conector para utilizar los interruptores

Para conectar físicamente los interruptores y el sonoff dual, se hace de la misma manera que un sonoff basic. Deberemos conectarlo en base al siguiente esquema. Para que todo funcione correctamente, hay que comprobar que el switch 1 corresponde a subir y el 2 a bajar. Si no funcionan de esta manera, simplemente basta con intercambiar los cables de Motor 1 y Motor 2

Con esto ya tendríamos nuestras persianas listas para funcionar…..

3. Calibración.

Para calibrar las persianas , lo único que hay que hacer es indicarle al sonoff que porcentaje de tiempo conicide con el 50% de apertura de la persiana, para ello:

  1. Poner la persiana en la posición que queramos nosotros que el sonoff tome como 50%. Normalmente esta posición será un poco más del 50%. En mí caso es el 63%. Para ello basta con introducir en la consola SHUTTERPOSITION 63 (si vemos que no coincide con el 50%, cambia el 63 por el valor que corresponda con el 50% real de la persiana), y anotar ese valor.
  2. SHUTTERCLOSE: para cerrar la persiana por completo.
  3. SHUTTER50PERCENT X: donde X es el valor anteriormente apuntado (en mi caso 63).
  4. Reiniciar:

Una vez realizados estos pasos, ya tenemos calibradas las persinas, y al indicar que nos ponga la persiana al 50%, la persiana se colocara en la posición correcta.

El siguiente paso será configurar los interruptores de las persianas.

A diferencia de los interruptores de las luces, donde es indiferente la posición del interruptor para que esté encendida o apagada, para las persianas si que es importante, y haremos que el estado del interruptor coincida con el estado de la persiana. Por defecto esto no es así, y cada vez que se acciona el interruptor, se produce un cambio de estado en el interruptor. Para evitar esto, en la consola introduciremos los siguientes comandos:

  • SwitchMode1 2: Activarlo el modo2 interruptor 1
  • SwitchMode2 2: Activar el modo2 en el interruptor 2

Si observamos que los interruptores funcionan alreves, es decir que cuando están apagados, deberían estar encendidos, utilizar en vez de los comandos anteriores los siguientes:

  • SwitchMode1 1
  • SwitchMode2 1

4.- Configuración Home Asistant

Para crear la configuración de HA, utilizaremos el componente Cover, para ellos deberemos crear las siguientes configuraciones:

#################################################################
### configuration.yaml
#################################################################
cover: !include covers.yaml
#################################################################
### covers.yaml
#################################################################
- platform: mqtt
  name: "Persiana Domology"
  availability_topic: "tele/persiana_domology/LWT"
  payload_available: "Online"
  payload_not_available: "Offline"
  position_topic: stat/persiana_domology/SHUTTER1
  position_open: 100
  position_closed: 0
  set_position_topic: "cmnd/persiana_domology/shutterposition"
  value_template: "{{ value | int }}"
  command_topic: "cmnd/persiana_domology/backlog"
  payload_open: "SHUTTEROPEN"
  payload_close: "SHUTTERCLOSE"
  payload_stop: "SHUTTERSTOP"
  retain: false
  optimistic: false
  qos: 1

Una vez creadas las anteriores configuraciones, simplemente bastará con reiniciar HA y añadirlo a la interfaz. Para ello, y puesto que la interfaz gráfica actual es Lovelace. Os dejo una configuración básica para mostrar la persiana recientemente creada.

*Para mostrar el slider, se ha utilizado el custom component ‘slider-entity-row’ que lo puedes encontrar aquí.

#################################################################### Card Persiana
#################################################################
type: entities
title: Persiana Domology
show_header_toggle: false
entities:
  - cover.domology
  - type: 'custom:slider-entity-row'
    full_row: true
    entity: cover.domology

Extra:

Si queremos que Alexa nos detecte directamente las persianas y nos las simule como si fueran bombillas, pudiendo controlar su posición (intensidad dado que Alexa piensa que es una bombilla), bastará con activar la opción de «Hue Bridge», para ell hay que ir a «Configuration/Configuration Other» y activar la opción de Hue Bridge. También es recomendable cambiar el nombre de Friendly Name 1, ya que este es el nombre que reconocerá Alexa. Si no lo hacemos, se puede cambiar en Alexa.

Una vez realizado este paso, en la app de alexa, iremos a la sección de dispositivos y le daremos a añadir otro. Despues de 20s, nos aparecerán dos, uno por cada switch. Sólo es necesario elegir el primero, que se llamara según esta guía «Persiana Domology». El segundo que también se agregará llamado «Persiana Domology Down», lo podremos eliminar.

Para google home no digo nada porque no lo he probado. Espero que disfrutéis abriendo y cerrando el bunker…..

2 comentarios sobre “Persianas y Sonoff Dual

  • el 20 febrero, 2019 a las 08:07
    Permalink

    Muy buen tutorial, ENHORABUENA!!
    La guía la he seguido paso a paso y funciona perfectamente.
    Decir que para Google Assistant, al configurarlo así te reconoce la persiana como un switch que te permite regular la posición con un slider como si fuera una bombilla.
    Para ello es necesario incluir el dominio «cover» en la declaración de Google Assistant en el configuration.yaml
    Saludos!!

  • el 27 febrero, 2019 a las 21:08
    Permalink

    En el repositorio está el bin o hay que compilarlo con el arduino… Estaría bien si alguien tiene ya el bin compilado que lo subiera.

Deja un comentario

Síguenos

Siguenos en facebook