Exemplos de automações para o gateway da Xiaomi


(Rodolfo) #1

:bookmark_tabs: Exemplos de automações para o gateway da Xiaomi
(Armindo Martins) #2

partilho a minha primeira automação com os leds do gateway xiaomi e um sensor de janela que deteta a abertura da tampa da caixa do correio ( o sensor da caixa está no alcance do gateway, +/- 5 m).
Além do tts avisar, como pode não estar ninguém em casa…a luz azul fica acesa até alguém a desativar.
A cor verde, amarelo e vermelho vou usar da ideia do Rodolfo para a minha mulher ver logo a previsão de chuva a curto prazo. A branca fica para usar na luz de presença automática, já que também tenho o gateway no hall de entrada bem à vista.

### Automação para ver se ha correio na caixa ###
  - alias: Verificar se ha correio na caixa
    initial_state: "on"
    trigger:
      - platform: state
        entity_id: binary_sensor.door_window_sensor_158d0001de6779
        to: 'on'
    action:
      - service: media_player.volume_set
        entity_id: media_player.zonacentral
        data_template:
          volume_level: "1"        
      - service: tts.amazon_polly_say
        entity_id: media_player.zonacentral
        data_template:
          message: '<speak>Olá! Há correio na caixa! Não se esqueça de desativar a notificação, obrigada.</speak>'        
      - service: light.turn_on
        data:
          entity_id: light.gateway_light_7811dc6c983b
          brightness: 100
          color_name: blue

:bookmark_tabs: Exemplos de automações para o gateway da Xiaomi
(Tiago Marques) #3

Esta parece-me a melhor utilização para os leds da gw que já vi :clap:
como é que transformo o trânsito de alverca em trânsito do final do IC2 (bobadela->tunel moscavide) ? Podes partilhar o código desse sensor?
@RodolfoVieira


(Rodolfo) #4

@tmarquespt hoje se tiver tempo faco um tutorial sobre isso. É preciso criar um api no google tar a explicar assim rápido é difícil.


(Bruno Lopes) #5

Tenho uma de trânsito que me informa do estado (acende a luz de acordo com o tempo até determinado local) caso o despertador esteja ligado e se desliga quando saio de casa (quando a porta fecha).

   - alias: Aviso Transito
    initial_state: on
    trigger:
      - platform: time
        minutes: '/1'
        seconds: 0
    condition:
      - condition: template
        value_template: '{{ ((now().strftime("%s") | int) | timestamp_custom("%H:%M")) == states.sensor.despertador.state  }}'
      - condition: state
        entity_id: input_boolean.despertador
        state: 'on' 
      - condition: state
        entity_id: input_boolean.modo_ferias
        state: 'off'
      - condition: state
        entity_id: input_boolean.modo_ausente
        state: 'off'
      - condition: state
        entity_id: device_tracker.####
        state: home       
    action:
      - service: light.turn_on
        entity_id: light.gateway_light_286c0785f3ae
        data_template: 
          color_name: >
            {% if states.sensor.ate_ao_trabalho.state < "22" %} green
            {% elif states.sensor.ate_ao_trabalho.state == "22" %} orange
            {% elif states.sensor.ate_ao_trabalho.state == "23" %} orange        
            {% elif states.sensor.ate_ao_trabalho.state > "24" %} red
            {% endif %}
          brightness: 25
      - delay: "00:20:00"
      - service: script.turn_on
      - entity_id: script.desliga_luz_transito

(Armindo Martins) #6

Boa tarde
Usei a automação para através do darksky acender os leds do gateway xiaomi, conforme as probablidades de chuva e como tem estado bom tempo acendia à hora da automação sempre a verde.
O problema é que agora tem chovido, a probabilidade está a 65% e acende verde na mesma!
O que estará errado?

automations.yaml

### Informa o estado do estado do tempo de manhã mudando a cor do gateway ###
  - alias: Informa probabilidade chuva 07H45
trigger:
  - platform: time
    at: '07:45'
action:
  - service: light.turn_on
    data_template:
      entity_id: light.gateway_light_7811dc6c983b
      brightness: 05
      color_name: >
        {% if states('sensor.dark_sky_precip_probability') | int >= 0 %}
          green
        {% elif states('sensor.dark_sky_precip_probability') | int >= 20 %}
          yellow
        {% elif states('sensor.dark_sky_precip_probability') | int >= 50 %}
          red
        {% endif %}            
### Desliga a informação visual do estado do tempo ###
  - alias: Desliga informação chuva 08H30
trigger:
  - platform: time
    at: '08:30'
action:
  - service: light.turn_off
    data_template:
      entity_id: light.gateway_light_7811dc6c983b 

sensors.yaml

#Plaforma Dark Sky
  - platform: darksky
api_key: !secret darksky_key
language: pt    
monitored_conditions:
  - summary
  - precip_type
  - precip_probability
  - temperature
  - humidity
  - temperature_max
  - temperature_min

(Rodolfo) #7

Troca onde diz | int por | float


(Armindo Martins) #8

Não funcionou, continua a acender verde com 70.0% de probabilidade! Usei um scrip para testar…mas deve ser igual na automação com hora agendada.


(Rodolfo) #9

e em vez de ali estar 50 colocares 50.0 ?


(Carlos Alberto Martins) #10

Muito bom !!
Aproveitando, oq usa como media player central para emitir o tts ?
Não seria possível emitir via o próprio Gateway ?


(Rodolfo) #11

@CarlosMartins media player kodi.
O gateway não reproduz TTS.


(Armindo Martins) #12

Boas! Usei uma coluna amplificada com um raspberry + wifi + kodi para reproduzir o TTS, mas depois acabei por gravar a mensagem tts num ficheiro mp3 diretamente no gateway e assim é emitido pelo próprio.

Atenção que para gravar os ficheiros mp3 no gateway tive de fazer downgrade na versão da MiHome para 5.0.19 pois as versões atualizadas deixaram de permitir isso.

  - alias: Verificar se ha correio na caixa
initial_state: "on"
trigger:
  - platform: state
    entity_id: binary_sensor.door_window_sensor_158d0001de6779
    to: 'on'
action:
  - service: light.turn_on
    data:
      entity_id: light.gateway_light_7811dc6c983b
      brightness: 100
      color_name: blue   
  - service: xiaomi_aqara.play_ringtone
    data:
      gw_mac: 7811dc6c983b
      ringtone_id: 10002
      ringtone_vol: 100

(Armindo Martins) #13

Boas Rodolfo, já tinha testado por a casa decimal mas sem sucesso!
A Questão é se alguém tem essa automação a funcionar nestes moldes?
obrigado


(Rodolfo) #14

@arjotema

tens que fazer algo tipo isto:

   {% if states.sensor.rodolfo_trabalho.state >= "0" and states.sensor.rodolfo_trabalho.state <= "23" %}
      green
    {% elif states.sensor.rodolfo_trabalho.state >= "24" and states.sensor.rodolfo_trabalho.state <= "29" %}
      yellow
    {% elif states.sensor.rodolfo_trabalho.state >= "30" %}
      red
    {% endif %}

(Jorge Assunção) #15

É exactamente como o Rodolfo diz. No teu código todos os valores são maiores que 0 por isso é que dá sempre verde.


(Luis Belo ) #16

@arjotema, estou com a 5.1.39 e ainda hj gravei um MP3 sem problema.

Estranho…


(Jorge Rocha) #17

Estou com a 5.1.38 e é possível escolher mp3 ou gravar do mic do telem.


(Armindo Martins) #18

deve ter sido problema de alguma versão que eu tambem apanhei, fiz uma pesquisa num forum e encontrei a solução:

digdilem 1 mês ago
Sadly, the android app at least seems to have lost the ability to record or upload custom ringtones. Rather frustrating as I spent half an hour looking for it, having done so before.
Apparently it’s possible to get an older version from apkmirror.com, so I’m going to give that a try.
------
daverinnadesan 5 dias ago
You can downgrade your android app version to get the option back.
I downloaded an older version (5.0.19) from APKMirror and it seems to work fine even after a gateway firmware update (1.4.1_154.0143). Uploading custom tones works fine for now but this might change in the future if Xiaomi decides to remove innaccessble features from the firmware

Conforme agora indicam já deve estar a funcionar nas versões mais recentes, hei-de experimentar mas por enquanto ainda estou com a versão antiga.


(Carlos Alberto Martins) #19

Pessoal ja é a terceira vez q isso acontece.
Esta tudo OK a dias, e apos reiniciar o HA aparece esse erro, que se resolve removendo o gateway e adicionando novamente, alguem ja passou por isso e tem a solução ?

44