(este tópico foi actualizado - havia um problema com o state e os botões que ficavam desactivados, por isso tive que adoptar uma abordagem diferente - penso que agora sim, está bem!)
Esta é apenas uma sugestão… Uma ideia que tive e testei para resolver o problema de saber se a janela fechou completamente ou não.
Os pressupostos são os seguintes:
- Sonoff dual ou equivalente com firmware tasmota
- o estore demora ligeiramente menos de 10 segundos a fechar completamente (adaptar o código em conformidade se assim não for)
(é aconselhavel configurar no tasmota o powerretain off)
Raciocínio - o estore demora 10 segundos a fechar, ou seja, se o relé estiver activo mais de 9 segundos, é porque ninguém o parou e, portanto, fechou completamente. Se estiver activo menos tempo foi porque alguém o parou antes de fechar totalmente e ele continua aberto. Além disso, se for activado o relé para abrir, o estore está aberto, obviamente…
Digam coisas no tópico de discussão…
Passos:
-
definir um pulsetime de 10s no tasmota digitando na consola dele (sem as aspas): “pulsetime1 100” e “pulsetime2 100” e definir “setoption14 on”, para activar interlocking!
-
criar um “package” no home assistant com o seguinte código ou “encaixar” na configuração os seguintes componentes:
cover: - platform: template covers: persiana: friendly_name: "Persiana" position_template: >- {% if is_state('input_select.persiana','closed') %} 0 {% elif is_state('input_select.persiana','open') %} 100 {% elif is_state('input_select.persiana','parcial') %} 50 {% endif %} open_cover: - service: mqtt.publish data: topic: 'cmnd/wemosd1pro/POWER1' payload: 'ON' close_cover: - service: mqtt.publish data: topic: 'cmnd/wemosd1pro/POWER2' payload: 'ON' stop_cover: - service: mqtt.publish data: topic: 'cmnd/wemosd1pro/POWER1' payload: 'OFF' - service: mqtt.publish data: topic: 'cmnd/wemosd1pro/POWER2' payload: 'OFF' binary_sensor: - platform: mqtt name: rele 1 state_topic: "stat/wemosd1pro/POWER1" payload_on: "ON" payload_off: "OFF" - platform: mqtt name: rele 2 state_topic: "stat/wemosd1pro/POWER2" payload_on: "ON" payload_off: "OFF" input_select: persiana: name: Estado da persiana options: - open - closed - parcial automation: - id: persiana_parcialmente_aberta alias: Persiana parcialmente aberta trigger: - platform: state entity_id: binary_sensor.rele_1 to: 'on' - platform: state entity_id: binary_sensor.rele_2 to: 'on' action: service: input_select.select_option data: entity_id: input_select.persiana option: parcial - id: persiana_aberta alias: Persiana aberta trigger: platform: state entity_id: binary_sensor.rele_1 to: 'on' for: seconds: 9 action: service: input_select.select_option data: entity_id: input_select.persiana option: open - id: persiana_fechada alias: Persiana fechada trigger: platform: state entity_id: binary_sensor.rele_2 to: 'on' for: seconds: 9 action: service: input_select.select_option data: entity_id: input_select.persiana option: closed