Ajustando a posição da cortina dinamicamente com o input number

Boa tarde pessoal, fiz um esquema bem legal aqui no HA onde utilizamos:

1 - Input Number e Input_Boolean
2 - Integrações da sua persiana no componente Cover (caso não possua, terá que instalar e colocar suas persianas nessa integração)
3 - Node-red

A ideia é você selecionar no input a posição da persiana no input_number.

Vídeo Final
https://drive.google.com/file/d/1XU9SjjlZMwFT4v2TFeCrd0V2FqNNmP1M/view?usp=sharing

Código Node-Red

[{"id":"a08097555242aa5c","type":"api-call-service","z":"f727fdcc.c16a4","name":"","server":"d854bbe5.321208","version":3,"debugenabled":false,"service_domain":"cover","service":"set_cover_position","entityId":"cover.persiana_quarto_direita","data":"{'position': msg.position}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":900,"y":1780,"wires":[["92053e6691d9b7fa"]]},{"id":"92053e6691d9b7fa","type":"debug","z":"f727fdcc.c16a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1130,"y":1760,"wires":[]},{"id":"0ac477904f7967d7","type":"api-current-state","z":"f727fdcc.c16a4","name":"","server":"d854bbe5.321208","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_number.coverposition","state_type":"num","blockInputOverrides":false,"outputProperties":[{"property":"position","propertyType":"msg","value":"","valueType":"entityState"}],"for":0,"forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":600,"y":1780,"wires":[["a08097555242aa5c"]]},{"id":"816ff5d8950303b3","type":"server-state-changed","z":"f727fdcc.c16a4","name":"","server":"d854bbe5.321208","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.startcover","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":260,"y":1780,"wires":[["0ac477904f7967d7","d73b8d0035822de1"],[]]},{"id":"d73b8d0035822de1","type":"api-call-service","z":"f727fdcc.c16a4","name":"","server":"d854bbe5.321208","version":3,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.startcover","data":"","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":560,"y":1740,"wires":[[]]},{"id":"d854bbe5.321208","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30"}]

1 - Crie um input_number com o nome que preferir, no meu caso ficou assim:

2 - Depois crie um input_boolen, no meu ficou assim:
image

3 - Jogue o código do node-red no seu, e ajuste para a cortina que deseja comandar, caso tenha alterado o nome dos inputs, não esqueça de mudar nos nós também.

4 - No HomeAssistant é só ajeitar do jeito que vc preferir, código exemplo bem simples.

type: entities
entities:

  • entity: input_number.coverposition
  • entity: input_boolean.startcover

image

O funcionamento é bem simples, basicamente ele passa o valor do input_number pro nó que define a posição da cortina, e o input_boolean faz o start, repare que após o acionamento, ele volta ao estado “off”, para poder acionar novamente depois.

Valeu galera!

To-Dos: Selecionar dinamicamente quais cortinas deseja realizar essa operação através do front-end também, se alguém quiser fazer compartilha ai ficaria showww!

2 curtidas

Olá amigo, estou tentando utilizar essa solução mas estou perdido no passo 3, onde devo colar o código? Tentei dentro do “Data” em um Call service, mas estou tendo erro. Pode também postar um print de como ficou seu fluxo no node-red? Valeu!

opa, vai no node-red e importa o código .json!

1 curtida

Pô brother, brigadão! Deu certinho agora, melhorou muito a usabilidade.

1 curtida

Opa estou procurando alguns modelos de motor de cortinas persianas e de trilho… qual vocês usam tem como indicar alguma que funcione bem com o H.A?

A minha eu utilizo com IR + Broadlink mesmo.

De motor não conheço muito…
Acho que tem uns Tuya que talvez funcione, pergunte no grupo do telegram do HA que é melhor!

1 curtida

@Choske você integrou as cenas do Broadlink no Home Assistant ? Como fez essa integração ? Tenho Hub Broadlink onde controlo as janelas e cortinas RF433 e não sei como integrar essas cenas de comando no HA / Nodered.

Sem cenas.

Tem que passar os comandos no HA via script/switch e chamar eles.