Ultima entrada

  • Gateway DGNWG02LM obtener token y key , e integración en Home Assistant

    Hace poco cayo en mis manos un Gateway DGNWG02LM , ya tenia tres que integre en su dia y la verdad es que funcionan muy bien , tanto como luz de cortesia , para avisos visuales y avisos sonoros , y lo fui a integrar como se hacia hace unos años , pero mis coj .. veintitrés.

    Antes mediante la aplicación Mi Home obtenías la KEY y la usabas directamente , pero ahora no hay forma directa de hacerlo y telita con la nueva forma de hacerlo , a ello se le suma que con los nuevos firmwares han bloqueado el puerto al que se accedia directamente para tener control via LAN , vamos una tocada de webs.

    Yo uso Mi Home VEVS para saltarme las restricciones geográficas en mis dispositivos

    Lo primero será sacar el token con VEVS

    Ya tenemos el token , en este caso será el d3c1b247bfebdac74a25c5db89726a60

    Ahora tenemos que poner nosotros una key a nuestra elección de 16 caracteres alfanumérica , lo haremos siguiendo este proyecto https://github.com/rytilahti/python-miio

    Para ahorrarme problemas de versiones de Python y demás tonterias lo instalare en el docker de mi Home Assistant

    pip install python-miio

    Una vez instalado ejecutaremos el siguiente comando

    miiocli gateway --ip 192.168.1.45 --token d3c1b247bfebdac74a25c5db89726a60 set_developer_key 0123456789012345

    0123456789012345 será la key que le asignare y el Gateway lo había configurado en la IP 192.168.1.45

    Si devuelve el OK entonces vamos por el buen camino

    Esto serian los parámetros que le pondremos en nuestro secrets.yaml

    ######## GATEWAY XIAOMI 4 ######## 
    gateway_4_key: 0123456789012345
    gateway_4_mac: 04CF8CF69F4F

    Vamos a ver como esta el tema de puertos , ejecutamos el siguiente comando

    miiocli -d gateway --ip 192.168.1.45 --token d3c1b247bfebdac74a25c5db89726a60 enable_telnet

    Y vemos que la respuesta nos da un error , malooooooo , muy malooooooooooooooooo

    Para probar el puerto ejecutamos este comando de nmap

    sudo nmap -sU 192.168.1.45 -p 9898

    y vemos como nos dice que esta cerrado el puerto

    No queda otra opción que abrir el cacharro , para ello seguiremos el manual de https://community.openhab.org/t/solved-openhab2-xiaomi-mi-gateway-does-not-respond/52963/171

    Tiene tres tornillos en la parte inferior que debemos quitar

    Estos tornillos tienen una forma bien curiosa

    Una vez abierto separamos al parte del altavoz

    Al no tener comunicación via wifi no nos queda mas remedio que conectarnos via UART , tendremos que soldar SOLO TRES CABLES , RX , TX y GND , no soldar la alimentación ya que tendremos que conectar el dispositivo a 220 mientras nos comunicamos con el

    GND lo podemos coger de la carcasa del pulsador

    Otra opción seria coger GND del conector directamente

    Yo para comunicarme prefiero usar el hyperterminal de toda la vida , pero en las ultimas versiones de Windows no viene , pero lo podemos descargar de aquí mismo

    Conectamos el Gateway y el adaptador USB a RS232

    Los parámetros de comunicación son 115200, 8,N,1,N

    Enviamos el comando  psm-set network.open_pf 3 , y lo comprobamos con el comando   psm-get network.open_pf para asegurarnos de que esta abierto

    reiniciamos el gateway y si queremos opcionalmente podemos comprobar que el puerto 4321 esta abierto con el comando nmap -sU -p 4321 192.168.1.45

    Al entrar en Home Assistant vemos como nos lo ha detectado ya

    Ahora es donde tenemos que poner la KEY que habíamos grabado en el cacharro

    Si todo es correcto nos lo reconoce al momento

    Ya nos aparece el dispositivo con su MAC, en este caso seria light.gateway_light_04cf8cf69f4f

    Lo ponemos bonito en el customize.yaml

    light.gateway_light_04cf8cf69f4f:
      friendly_name: Luz Gateway 4
      icon: mdi:blur-radial

    Ahora ya podemos empezar a trastear con el en nuestras automatizaciones , en este caso lo añadiré a la de parada de la caldera por apertura de puertas o ventanas

    # ================================
    # 🛑 DESACTIVACIÓN POR PUERTAS/VENTANAS
    # ================================
    
    - id: apagar_calefaccion_puertas_balcones_abiertas_5min
      alias: "🚪 Apagar Calefacción - Puertas Balcones Abiertas 5min"
      description: "Apaga la calefacción si puertas/balcones están abiertos más de 5 minutos"
      initial_state: true
      mode: restart
      trigger:
        - platform: state
          entity_id:
            - binary_sensor.sensor_balcon_comedor_derecho_evento
            - binary_sensor.sensor_balcon_comedor_izquierdo_evento
            - binary_sensor.sensor_balcon_matrimonio_derecho_evento
            - binary_sensor.sensor_balcon_matrimonio_izquierdo_evento
            - binary_sensor.sensor_oriol_derecho_evento
            - binary_sensor.sensor_oriol_izquierdo_evento
          to: 'on'
          for:
            minutes: 5
      condition:
        - condition: state
          entity_id: climate.calefaccion_casa
          state: heat
      action:
        - service: climate.turn_off
          target:
            entity_id: climate.calefaccion_casa
        
        - service: notify.notif_telegram_bot
          data:
            message: |
              ❄️🚪 *Calefacción APAGADA*
              
              ⚠️ Puerta/balcón abierto >5min
              🚪 Sensor: {{ trigger.to_state.attributes.friendly_name }}
              🌡️ Temperatura: {{ states('sensor.temperatura_comedor_calibrada') }}°C
    
        - service: light.turn_on
          entity_id: light.gateway_light_7c49eb1d1d0a
          data:
            brightness: 255
            rgb_color: [4, 29, 247] 
        - service: light.turn_on
          entity_id: light.gateway_light_286c07f0e736
          data:
            brightness: 255
            rgb_color: [4, 29, 247]       
        - service: light.turn_on
          entity_id: light.gateway_light_286c07f0b574
          data:
            brightness: 255
            rgb_color: [4, 29, 247] 
        - service: light.turn_on
          entity_id: light.gateway_light_04cf8cf69f4f
          data:
            brightness: 255
            rgb_color: [4, 29, 247] 
       
        # TTS solo entre las 8:00 y las 23:00
        - choose:
            - conditions:
                - condition: time
                  after: "08:00:00"
                  before: "23:00:00"
              sequence:
                - service: tts.google_translate_say
                  data:
                    language: "es-es"	
                    entity_id: 
                      - media_player.lenovo_smart_clock
                      - media_player.lenovo_lenovo_matrimonio
                      - media_player.googlehome2670
                    message: 'Apagado de la caldera , alguna puerta abierta'   
            
            
        #Apagamos las luces azules a los quince minutos        
        - delay: 00:15:00
    
        - service: light.turn_off
          entity_id: light.gateway_light_7c49eb1d1d0a
        - service: light.turn_off
          entity_id: light.gateway_light_286c07f0e736        
        - service: light.turn_off
          entity_id: light.gateway_light_286c07f0b574  
        - service: light.turn_off
          entity_id: light.gateway_light_04cf8cf69f4f  

    Y con esto y un bizcocho ……

2 comentarios en «Ultima entrada»

  1. Hola Antonio!! LLegue a tu web buscando un tutorial de como instalar un ZBDongle-E en un QNAP TS 251D pero aun ando bastante liado jaja ojala me puedas dar una mano si tienes un tiempo libre!! Abrazo desde Argentina!!

    Responder

Deja un comentario