Cover Garagem com sensor Xiaomi


(Carlos Alberto Martins) #1

Senhores tinha um COVER no portao da garagem, usando um sensor ligado ao SONOFF, agora substitui pelo sensor de porta da Xiaomi, como devo alterar no cover, algo mais ou menos como isso:

  - platform: mqtt
    name: "Garage Door"
    state_topic: binary_sensor.door_window_sensor_158d0001f38878
    command_topic: "cmnd/sonoffDual/POWER2"
    payload_open: "ON"
    payload_close: "ON"
    payload_stop: "ON"
    state_open: "ON"
    state_closed: "OFF"
    optomistic: false
    retain: false

(Hopeless Automations) #2

Qual é o sensor da Xiaomi que compras-te? Geralmente precisas de ter também a gateway da Xiaomi ligada ao HA e todos os sensores que ligares a gateway aparecem automaticamente no HA.


(Carlos Alberto Martins) #3

Já está tudo OK, sensores, Gateway etc…
Problema que não sei como faço pro COVER usar esse sensor para ser o status atual.
Usava assim quando o sensor era no sonoff, mas agora não sei a sintaxe.


(Rodolfo) #4

Se usas o sensor de porta da xiami para saberes o estado do portao, não precisas de usar o cover.


(Carlos Alberto Martins) #5

Sim o sensor esta OK, ja tenho o estado atual.
Mas eu tenho um sonoff que uso para abrir e fechar o portao (COVER), e ele tambem precisa do estado do portao para mudar icone, etc…


(Rodolfo) #6

Mas tu não precisas de um cover para isso.
Usas um input_boolean por exemplo… se o sensor estiver off o input_boolean esta off, e vice versa,
Nao precisas de usar o cover, eliminas.


(Carlos Alberto Martins) #7

Pode me dar um exemplo ?
Hoje aparece assim:

31

Em cima é o status do sensor, em baixo é o cover que devia seguir o mesmo status.


(Rodolfo) #8
  - alias: on_sensor
    initial_state: true
    trigger:
      platform: template
      value_template: >
          {%- if is_state("SENSOR_X", "on") -%}
            true
          {% endif %}
    action:       
      - service: homeassistant.turn_on
        data:
          entity_id: input_boolean.portao
		  
  - alias: on_input
    initial_state: true
    trigger:
      platform: state
      entity_id: input_boolean.portao
      from: "off"
      to: "on"
    action:      
      - service: homeassistant.turn_on
        data:
          entity_id: switch.DO_SONOFF
		  
  - alias: offf_sensor
    initial_state: true
    trigger:
      platform: template
      value_template: >
          {%- if is_state("SENSOR_X", "off") -%}
            true
          {% endif %}
    action:       
      - service: homeassistant.turn_off
        data:
          entity_id: input_boolean.portao
		  
  - alias: on_input
    initial_state: true
    trigger:
      platform: state
      entity_id: input_boolean.portao
      from: "on"
      to: "off"
    action:      
      - service: homeassistant.turn_off
        data:
          entity_id: switch.DO_SONOFF

(Carlos Alberto Martins) #9

Vou testar e posto o resultado. valeww.


(Hopeless Automations) #10

Lol desculpa pensava que estavas com problemas a ligar o sensor ao Home Assistant, my bad :smile: !

Podes usar as automations que o @RodolfoVieira te deixou, ou podes usar o Cover Template


(Rodolfo) #11

@sthopeless por acaso nunca testei o cover template nem sei bem qual seriam as configuracoes para o caso dele.


(Hopeless Automations) #12

@RodolfoVieira para o status ser igual ao do sensor ou whatever basta usar

value_template: >
  {% if is_state('XIAOMI.SENSOR', 'on') %}
    open
  {% else %}
    closed
  {% endif %} 

Algo deste estilo o resto e so definir qual o comando ou entity para fechar, abrir e também podes definir o icon


(Rodolfo) #13

@sthopeless entao e como seria o código para o cover em si? ou seja sempre que ele clicar na seta para cima colocar o switch.portao em on e quando clicar a seta para baixo colocar o switch.portao em off. Se calhar ficaria melhor do que a solução que eu coloquei.


(Hopeless Automations) #14

@RodolfoVieira secalhar nao te estou a perceber bem!

  cover:
  - platform: template
    covers:
      garage_door:
        friendly_name: "Sonoff & Xiaomi Sensor"
        value_template: >
          {% if is_state('XIAOMI.SENSOR', 'on') %}
            open
          {% else %}
            closed
          {% endif %}
        open_cover:
          service: switch.turn_on
          data:
            entity_id: switch.SONOFF
        close_cover:
          service: switch.turn_off
          data:
            entity_id: switch.SONOFF
        stop_cover:
          service: switch.turn_on
          data:
            entity_id: switch.SONOFF

(Rodolfo) #15

@sthopeless Não, tu estás me a entender sim :wink: esse código parece bem melhor para o caso dele.
Pois ele queria manter o cover, assim escusa de ter o input_boolean pois fica mais “feio”, só não sei se esse código fará que fique indisponivel a seta para cima quando está aberto, e que fica indisponivel quando a seta esta para baixo. isto porque? porque as próprias setas já nos indicam do estado do portão.


(Hopeless Automations) #16

Ok boa! Eu nao uso nenhuma cover e julgo que nunca brinquei com nenhum código relacionado no HA.

Mas a partida julgo que fiquem ambas disponíveis, isto porque aberto pode ser qualquer coisa entre 1% e 100% e tudo entre 1% e 99% pode ser aberto ou fechado. So testando :stuck_out_tongue:


(Rodolfo) #17

Ainda assim acho que nao funciona nenhum, porque um portao funciona com pulso ou seja o comando que tens que enviar é sempre ON o limitador é que vai dizer ao sensor se esta off ou on, mas sim só testando.


(Carlos Alberto Martins) #18

PERFEITO !

Obrigado pela ajuda !