Olá, sou relativamente novo no home assistant e em domótica em geral.
Tenho andado a procurar uma solução para o caso dos meus estores cá em casa.
Eles são legrand de 2 botões de retenção (1 para subir e outro para descer), ou seja, quando desço fisicamente o estore e ele termina de descer, o botão não volta à posição inicial.
Instalei um módulo tuya num deles e o meu problema começa quando uso o estore fisicamente. Se deixar os botões físicos OFF, trabalha sem problema no HA, mas se deixo um deles ON fisicamente não consigo usar no HA. Exemplo: Desço totalmente o estore no botão físico e deixo o botão que desce ON. Depois se for a subir pelo home assistant o estore entra em conflito pq o HA manda subir e o botão físico manda descer.
Já procurei por fóruns e afins e não consigo resolver, alguma sugestão?
Eu tenho botões desses, mas da Efapel e tenho módulos wifi da Loratap (https://www.loratap.com/products/sc500w-v2n-4-pack) com firmware da Tasmota e funcionam muito bem, seja pelos botões físicos como pelo HA.
Se houver interesse, posso partilhar o setup do Tasmota.
Tenho também alguns módulos Tuya Zigbee (Tuya Wifi ZigBee Smart Vorhang Schalter Modul verbinden Rollläden Shutter Elektromotor Arbeit mit Alexa Google Home Smart Life - AliExpress) e funcionam bem das duas formas, mas tem o defeito de quando falta a luz, o módulo ao reiniciar se tiver algum botão físico pressionado, o estore segue nessa direção, sem que mude o estado no Home Assistant, visto que ainda não está disponível aí, obrigando a um ciclo de abertura/fecho completo…
Obrigado pela resposta @Peixeiro .
Os meus são exatamente esse módulo tuya mas por wifi. Também tenho o mesmo por zigbee mas acho que não afeta o meu problema (ainda não testei, mas por ditinguir apenas o protocolo de comunicação creio que não seja por aqui).
Aqui o problema reside mesmo por se contrariarem, ou seja, o botão ficando on para descer e se eu mandar subir pelo HA, fica preso sem saber o que fazer.
Será alguma configuração elétrica mal feita?
As ligações tenho exatamente como no esquema gravado no módulo e ambos funcionam bem, mesmo deixando os botões primidos.
Tens de trocar os interruptores por botões de pressão e ligá-los ao módulo Tuya.
Dessa forma, só o módulo Tuya é que controla o estore. E podes comandar o módulo via botões ou via wifi.
Eu não conheço esse módulo em particular e até pode dar. Mas na domótica, salvo alguma excepção, é sempre melhor ter botões de pressão. Porque vai-te permitir mais tarde, por exemplo, comandar outras coisas, com toque longo ou toque duplo
Oi amigo,
Com botões “de retenção” a única ideia que me ocorre é usar algum sistema de relés que pemitam de alguma forma ter o estado NA (normalmente aberto) e NC (normalmente fechado), para depois fazeres as combinações com os módulos da Tuya. Mas teria de ser algo bem pensado e sinceramente acho que a dor de cabeça não compensa…
A opção mais fácil e directa é mesmo os botões de pressão com o amigo João disse acima, nunca fica retido e será sempre o módulo Tuya que irá comandar os estores.
Seja pela APP, seja fisicamente, garantes sempre que tem o travamento do motor e que funciona.
Abraço
Obrigado @miky_boy .
Acho que vou pelo caminho de substituir os interruptores por modelos de pressão. Obrigado a todos pelo esclarecimento detalhado.
os botões estão ligados ao modulo certo ?
Olá Pedro,
Eu tenho estores com botão de retenção e resolvi a questão na casa toda com sonoff dual r3 lite e com esphome. Mais logo posso partilhar o meu código, mas digo-te já que funciona muito bem.
Olá @renatose , obrigado pela resposta.
Agradecia se partilhasses sim. Ainda não consegui uma solução para além de substituir tudo por botões de pressão.
É só pegar num relógio e contar o tempo que levam a abrir/fechar para atualizar a respetiva duration. Fiz assim porque foi com o Dual R3 Lite, se fosse com o não Lite dava para medir o consumo e ter o próprio SonOff a controlar esse tempo.
substitutions:
devicename: estore-a
long_devicename: Estore Cozinha
esphome:
name: $devicename
friendly_name: $long_devicename
platform: ESP32
board: esp32dev
wifi:
networks:
- ssid: !secret wifi_ssid2
password: !secret wifi_password2
- ssid: !secret wifi_ssid1
password: !secret wifi_password1
power_save_mode: light
domain: .lan
ap:
ssid: $devicename
password: !secret ap_password
captive_portal:
api:
encryption:
key: !secret api_encryptkey
ota:
- platform: esphome
password: !secret ota_password
web_server:
port: 80
logger:
baud_rate: 0
sensor:
- platform: wifi_signal
name: "WiFi Signal $long_devicename"
update_interval: 60s
entity_category: "diagnostic"
text_sensor:
- platform: wifi_info
ssid:
name: "$long_devicename Connected SSID"
entity_category: "diagnostic"
bssid:
name: "$long_devicename Connected AP"
entity_category: "diagnostic"
filters:
- substitute:
- "E8:13:89:AB:CD:EF -> Huawei VDF"
- "9C:5C:89:AB:CD:EF -> Asus 4"
- "40:B0:89:AB:CD:EF -> Asus 5"
scan_results:
name: "$long_devicename Latest Scan Results"
entity_category: "diagnostic"
output:
- platform: gpio
pin: GPIO27
id: relay1
- platform: gpio
pin: GPIO14
id: relay2
switch:
- platform: output
name: "$long_devicename - Sobe"
output: relay1
id: open_cover_switch
disabled_by_default: true
on_turn_on:
- switch.turn_off: close_cover_switch
- platform: output
name: "$long_devicename - Desce"
output: relay2
id: close_cover_switch
disabled_by_default: true
on_turn_on:
- switch.turn_off: open_cover_switch
status_led:
pin:
number: GPIO13
inverted: yes
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "$long_devicename Microswitch"
disabled_by_default: true
on_press:
- logger.log: "$long_devicename button press"
- cover.open: cvr
on_release:
- logger.log: "$long_devicename button release"
- cover.stop: cvr
- platform: gpio
pin:
number: GPIO32
mode: INPUT_PULLUP
inverted: True
name: "$long_devicename Botão Abrir"
disabled_by_default: true
on_press:
- logger.log: "$long_devicename switch 1 press"
- cover.open: cvr
on_release:
- logger.log: "$long_devicename switch 1 release"
- cover.stop: cvr
- platform: gpio
pin:
number: GPIO33
mode: INPUT_PULLUP
inverted: True
name: "$long_devicename Botão Fechar"
disabled_by_default: true
on_press:
- logger.log: "$long_devicename switch 2 press"
- cover.close: cvr
on_release:
- logger.log: "$long_devicename switch 2 release"
- cover.stop: cvr
cover:
- platform: time_based
name: "Estore"
id: cvr
device_class: "shutter"
open_action:
- switch.turn_on: open_cover_switch
open_duration: 17.5sec
close_action:
- switch.turn_on: close_cover_switch
close_duration: 17sec
stop_action:
- switch.turn_off: open_cover_switch
- switch.turn_off: close_cover_switch