Adicionar Cover MQTT

Hoje consegui flashar tasmota num interruptor de persiana, e agora estou a tentar adicionar ao Hassio por mqtt… Mas não estou a conseguir basicamente nada, vou deixar aqui as configs para me ajudarem.

cover:
  - platform: mqtt
    name: "Estore Escritorio"
    command_topic: "estoreescritorio/cover/set"
    state_topic: "estoreescritorio/cover/state"
    availability:
      - topic: "estoreescritorio/cover/availability"
    qos: 0
    retain: true
    payload_open: "OPEN"
    payload_close: "CLOSE"
    payload_stop: "STOP"
    state_open: "open"
    state_opening: "opening"
    state_closed: "closed"
    state_closing: "closing"
    payload_available: "online"
    payload_not_available: "offline"
    optimistic: false
    value_template: '{{ value.x }}'

Tasmota settings :

MQTT Host 192.168.1.101
MQTT Port 1883
MQTT User mqtt
MQTT Client DVES_91290F
MQTT Topic estoreescritorio
MQTT Group Topic 1 tasmotas/cmnd/
MQTT Full Topic estoreescritorio/cmnd/
MQTT Fallback Topic cmnd/DVES_91290F_fb/

https://tasmota.github.io/docs/Blinds-and-Shutters/

cover:
  - platform: mqtt
    name: "Balcony Blinds"
    availability_topic: "tele/%topic%/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"
    position_topic: "stat/%topic%/RESULT"
    value_template: >
      {% if ('Shutter1' in value_json) and ('Position' in value_json.Shutter1) %}
        {{ value_json.Shutter1.Position }}
      {% else %}
        {% if is_state('cover.balcony_blinds', 'unknown') %}
          50
        {% else %}
          {{ state_attr('cover.balcony_blinds','current_position') }}
        {% endif %}
      {% endif %}    
    position_open: 100
    position_closed: 0
    set_position_topic: "cmnd/%topic%/ShutterPosition1"
    command_topic: "cmnd/%topic%/Backlog"
    payload_open: "ShutterOpen1"
    payload_close: "ShutterClose1"
    payload_stop: "ShutterStop1"
    retain: false
    optimistic: false
    qos: 1

Já tentei as configs todas que encontrei, até agora nada.

Com o auto discovery o hassio encontra e consigo comandar, mas em vez de criar uma entidade cover, ele cria 3 entidades switch, isso não me dá jeito.

Estou apeado nisto agora, quero avançar para os restantes interruptores, mas só quando conseguir integrar no Hassio como cover.

Tenta assim:

cover:
  - platform: mqtt
    name: "Estore Escritorio"
    availability_topic: "estoreescritorio/tele/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"
    position_topic: estoreescritorio/stat/Shutter1
    position_open: 100
    position_closed: 0
    set_position_topic: "estoreescritorio/cmnd/ShutterPosition1"
    command_topic: "estoreescritorio/cmnd/Backlog"
    payload_open: "ShutterOpen1"
    payload_close: "ShutterClose1"
    payload_stop: "ShutterStop1"
    retain: false
    optimistic: false
    qos: 1

Uma coisa que confunde é que, ao teres activado o autodiscovery, os tópicos ficaram com um formato “invertido”
Depois diz que tal…
Não te esqueças de usar powerretain on

@Maddoctor sim eu já percebi que ao usar o auto discovery ele inverte, mas eu corriji isso.

No entanto usando a tua solução acontece o mesmo que me acontece desde sempre, a entidade Estore Escritorio é criada, mas fica indisponivel.

Acho que já tentei uma centena de codigos diferentes, e nunca fica funcional. alem do codigo referente a cover é preciso algum mais referente ao mqtt ? Porque eu apenas configurei o broker, confirmei que comunicam, e não adicionei mais nada.

Estás a usar o tasmota em português, provavelmente…
Muda para inglês… O português usa termos diferentes… Não ganhas nada com isso…

Não. Firmware em inglês tudo.

Então os tópicos estão errados… Não pode ser mais nada…
Instala o mqtt.fx no PC e subscreve o tópico estoreescritorio/+ e vê que tópicos aparecem e com que conteúdo. Reinicia o interruptor enquanto tens essa subscrição activa

cover:
  - platform: mqtt
    name: "Tuya Curtain"
    command_topic: "cmnd/tasmota/TuyaSend4"
    payload_open: "1,0"
    payload_close: "1,2"
    payload_stop: "1,1"
    position_open: 0
    position_closed: 100
    position_topic: "tele/tasmota/RESULT"
    value_template: >-
          {% if value_json.TuyaReceived.DpType2Id3 is defined %}
          {{ value_json.TuyaReceived.DpType2Id3 }}
          {% else %}  
          {{ state_attr('cover.tuya_curtain','current_position') | int }}
          {% endif %}  
    set_position_topic: "cmnd/tasmota/TuyaSend2"
    set_position_template: '2,{{ position }}'
    availability_topic: "tele/tasmota/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"

Usando essa configuração, a entidade é cover e fica disponivel, um dos leds do interruptor pisca com os comandos, mas não faz nada, na consola do tasmota aparece sempre comand unknow. Não está facil.

Isto era um dispositivo tuya antes de flashar, não sei se faz diferença, mas deixo aqui a info.

Tasmota Cover

Faz toda a diferença… Vê na wiki do tasmota a secção acerca de tuya… Qual é o modelo do teu interruptor?

@Maddoctor eu editei o post anterior.

Já confirmaste quais são os dpid correctos?
Lê a wiki do tasmota acerca de tuyamcu

Com este template o botão tem funcionamento normalissimo, apenas me falta adicionar corretamente ao hassio.

Então não usa tuyamcu. O problema era o template errado, então

O botão em si tem o comportamento extamente esperado, inclusive o interlock. Agora é só descobrir como adicionar.

Atendendo ao tipo de switch que é, o teu problema é idêntico a outro que já resolvemos aqui noutro tópico… Ou seja, “esquece” o que está para trás, incluindo as instruções que estão a acompanhar o template que puseste. Idealmente faz um reset ao device para começar de novo ( reset 6 ) e segue o que está neste tópico:

@Maddoctor pelo site do template que te dei, diz lá que o switch usar mcu separado. É a primeira vez que uso tasmota e mqtt, daí andar perdido.

Para já consegui que fisicamente o comportamento do botão fosse o correcto, agora tenho de tentar portar isso para o hassio.

Eu sugeria um moderador a fazer merge com o topic “Como configurar estores com tasmota”

Faz como te disse no meu último post… Segue aquele tópico e começa do 0. É usado um mcu separado porque os botões são Touch e o esp não tem suporte directo para isso…

Já tive a ver, mas se usar as settings dele o interruptor não fica bem, este interruptor que estou a usar é originalmente de cover já.

Usando o setoption80 1 eu acho que o interruptor fica mais instavel, além de que eu acho que este interruptor não tem forma de calcular a posição da persiana, pelo menos com o firmware origianal da tuya não tinha.

Mais uma razão para se usar tasmota!!! :wink:

1 Like

Copyright © 2017-2020. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade