Como configurar um cover template para persianas com estado

Continua a não funcionar… Alias acho que é impossível com templates porque o relé vai acabar por estar sempre off mais de 9 segundos, independentemente da forma como parou… (por pulsetime ou manualmente…). Se tentares ver se está on mais de 9 segundos, essa condição só será válida durante 1 segundo e depois passa a falsa, portanto também não dá… Os templates, da forma como os usas, são “demasiado dinâmicos”…

1 Curtiu

Actualizei o código… Tive que adicionar um estado “parcialmente aberto” para que os botões apenas ficassem desactivados quando a abertura era total… Isso implicou uma abordagem diferente à forma como é determinado o estado…
Se tinham usado o código anterior, mudem… :wink:

Fico à espera de feedback

Já testei numa persiana e funcionou impec.
Excelente trabalho MadDoctor, agora vou ter de replicar para as outras ver se corre bem…

Vou implementar e testar, depois dou feedback :stuck_out_tongue:

Já tenho tudo programado e a funcionar, quando reinicio o HA arranca com os últimos estados só que não se alteram, tenho que recarregar automações para voltar a funcionar.
Tenho no final de cada automação “initial_state: true” mas o resultado é o mesmo.

Isso é estranho… Esse comportamento, em princípio, não deve ser problema da minha configuração uma vez que o reload automations resolve… Será que as automações que fazem parte de packages têm algum bug?
Tenta pôr as automações “fora” do package, no sítio habitual e depois dá feedback…

Tenho a configuração dos covers, binary_sensor e input_select no “configuration.yaml” e as automações no “automations.yaml”, não percebi o que queres dizer com package, deve haver uma forma mais simples de fazer porque eu tiver a fazer uma replica do código para cada uma.
Mas já resolvi não tinha colocado o “initial_state: true” em todas as automações.
Está a funcionar 5*

Bem, os packages são, como o nome indica, pacotes onde estão incluídos vários elementos usados para determinado objectivo. Cada package é um ficheiro yaml que inclui, por exemplo, tudo o que eu pus acima… Simplifica as coisas, em vez de andar a colocar cada elemento separado…
Têm uma ENORME desvantagem - quando fazes reload (automations, groups, etc), os elementos dos packages “desaparecem” e, portanto, tens de reiniciar o sistema tornando os reloads inúteis… (já houve imensos pedidos para mudar esse comportamento, mas em vão… :frowning: )

Mas contínuas a ter a indicação de quantos % está aberto?

Como assim, continuo?! No meu nunca mostrou… No teu mostra? Como é que ele poderia determinar?
Por acaso estou a trabalhar num código para isso… Devo fazer um tutorial muito em breve… :wink:

1 Curtiu

@Maddoctor nao sei se ele tava a falar disto:

Tenho esta configuração a funcionar mas não atualiza para o estado correto no input_select, coloca sempre “partial” quer abra ou feche completamente o estore.

Mas se alterar manualmente as opções no input_select, o cover atualiza o estado corretamente ou seja se escolher “close” ele bloqueia a seta para baixo.

Na linha “position” também só coloca a bola azul se o input_select estiver “close”, nas outra duas opção não aparece.

Podem dar uma ajuda? Obrigado

############### Cover.yaml #############################
- platform: template
  covers:
    estore_sala:
      friendly_name: "Estore Sala"
      position_template: >-
        {% if is_state('input_select.est_sala','closed') %} 0 
        {% elif is_state('input_select.est_sala','open') %} 100 
        {% elif is_state('input_select.est_sala','parcial') %} 50
        {% endif %}
      open_cover:
        - service: mqtt.publish
          data:
            topic: 'cmnd/sonoffdual01/POWER1'
            payload: 'ON'
      close_cover:
        - service: mqtt.publish
          data:
            topic: 'cmnd/sonoffdual01/POWER2'
            payload: 'ON'
      stop_cover:
        - service: mqtt.publish
          data:
            topic: 'cmnd/sonoffdual01/POWER1'
            payload: 'OFF'
        - service: mqtt.publish
          data:
            topic: 'cmnd/sonoffdual01/POWER2'
            payload: 'OFF'
			
			
############## binary_sensor.yaml #########################
- platform: mqtt
  name: rele_sala 1
  state_topic: "stat/sonoffdual01/POWER1"
  payload_on: "ON"
  payload_off: "OFF"
- platform: mqtt
  name: rele_sala 2
  state_topic: "stat/sonoffdual01/POWER2"
  payload_on: "ON"
  payload_off: "OFF"

############## input_select.yaml ############################
est_sala:
  name: Estado Estore Sala
  options:
    - open
    - closed
    - parcial

############## automation.yaml ##############################	
- id: '1528802738668'
  alias: Estore Sala parcialmente aberto
  trigger:
  - entity_id: binary_sensor.rele_sala_1
    platform: state
    to: 'on'
  - entity_id: binary_sensor.rele_sala_2
    platform: state
    to: 'on'
  condition: []
  action:
  - data:
      entity_id: input_select.est_sala
      option: parcial
    service: input_select.select_option
- id: '1528803507391'
  alias: Estore Sala aberto
  trigger:
    platform: state
    entity_id: binary_sensor.rele_sala_1
    to: 'on'
    for:
      seconds: 13
  action:
    service: input_select.select_option
    data:
      entity_id: input_select.est_sala
      option: open
    
- id: '1528803606196'
  alias: Estore Sala fechado
  trigger:
    platform: state
    entity_id: binary_sensor.rele_sala_2
    to: 'on'
    for:
      seconds: 13
  action:
    service: input_select.select_option
    data:
      entity_id: input_select.est_sala
      option: close

Qual foi o pulsetime que definiste?convém ser superior os 13 que puseste no código…
A linha “position” não funciona (deve ser um bug do HA)…
Sugiro-te que uses antes o outro tutorial que fiz mais recentemente porque tem mais opções…

Coloquei 13 no pulsetime também, o estore leva cerca de 12 segundos num fecho/abertura completa.

Após alteração do pulsetime 1 e 2, o comportamento é igual.

Então deves pôr 12 segundos no código… E manter os 13 no pulsetime… (no meu estava 10s pulsetime e 9 no código…)
Ou pôr 14 no pulsetime e manter 13 ou 12 no código…

@Maddoctor devemos manter este topico ou queres , bloquear e passarmos so a discutir no outro tutorial que fizeste?

Bem, o outro é uma evolução deste, por isso acho que manter este “comentável” não se justifica muito… Por outro lado este é uma abordagem diferente e um bocado mais simples.
Na minha opinião acho que se bloqueia a novos comentários e põem-se um link para o outro… que dizes?

Acho bem. Assim é menos confusão.

Discussão movida para:

1 Curtiu

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


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