Como automatizar socket wifi xiaomi+sensor motion xiaomi

boa tarde a todos alguem me ajudar no seguinte codigo?
Basicamente quero fazer o mesmo que a app da mi home faz .
ligar tomada quando passar pelo sensor a partir de x horas.
e desligar passado x minutos se ninguem passar.

- alias: Motion Sensor switch On
  trigger:
    platform: state
    entity_id: binary_sensor.motion_sensor
    to: 'on'
  condition:
    condition: time
    after: '12:30'
    before: '23:30'
  action:
    service: switch.turn_on
    entity_id: switch.tomada
   
- alias: Motion Sensor switch Off
  trigger:
    - platform: state
      entity_id: binary_sensor.motion_sensor
      to: 'off'
      for:
        minutes: 1
  action:
    - service: switch.turn_off
      entity_id: switch.tomada

Bem vindo ao fórum da CPHA @victor87 e não esqueças de ler os nossos Termos do Serviço/Regras e também a nossa FAQ.

Se precisares de ideias, conselhos, tutoriais, projectos, dicas, etc tens muitas aqui no fórum. Caso tenhas alguma questão especifica, opta por abrir um novo tópico aqui no fórum pois as respostas às tuas duvidas irão posteriormente ajudar outros utilizadores. Antes de abrir um novo tópico usa a pesquisa do fórum para saber se o tema já foi tratado. Se já foi tratado usa um tópico já existente, lembrando sempre que o assunto a que os tópicos dizem respeito deve sempre ser respeitado. É prático ir colocando várias questões diferentes no mesmo tópico, mas depois torna-se inútil para os outros utilizadores a curto prazo e isto faz também com que seja difícil encontrar a melhor solução nos resultados da pesquisa do Fórum. A regra é: Novo Assunto = Novo Tópico .

Se quiseres conversar sobre algum tema que não diga respeito directamente ao Home Assistant ou para tirar uma duvida rápida, tens sempre o nosso servidor de Discord!

O nosso fórum usa como base a plataforma Discourse. Caso nunca tenhas utilizado esta plataforma, lê aqui como utilizar da melhor maneira o Discourse.

Conforme vais participando, a plataforma ir-te-á conhecendo melhor e as limitações a que os novos utilizadores estão sujeitos irão sendo levantadas gradualmente. Com o tempo, e com a tua participação, ganharás Níveis de Confiança que te darãohabiidades especiais para nos ajudar a gerir toda a nossa Comunidade de utilizadores. Para saberes mais sobre os Níveis de Confiança dos Utilizadores, clica no link.

As mensagens privadas não deverão NUNCA ser utilizadas para colocar questões que deveriam estar no fórum, e os Moderadores irão ignorar essas mesmas questões. As mensagens privadas deverão servir apenas para trocar informação que de outro modo não possa ser publicada (por conter dados pessoais como passwords, links, moradas ou outros).

@victor87 quando publicares código ou logs deves sublinhar o texto que queres transformar em código e clicar no icone </>. Deverá existir um espaço antes e outro depois do bloco de código para que funcione correctamente. O código em Yaml é muito sensível aos espaçamentos e sem o código devidamente formatado não te poderemos ajudar. E nos logs há pormenores que só devidamente formatados se conseguem ver.
Além disso, existem regras no fórum que devem ser cumpridas e que podes ler nos nossos Termos do Serviço/Regras e na FAQ .`

Vê um exemplo:

ok obrigado pela dica.
já formatei o codigo

Não precisas de duas automações, basta uma que ligue temporize e depois desligue.

. . .
  action:
    - service: switch.turn_on
      entity_id: switch.tomada
    - delay:
      minutes: 2
    - service: switch.turn_off
      entity_id: switch.tomada

não consigo encaixar o seu código no meu sem dar erro.

E qual é o erro que tens?

fiz o seguinte não deu erro,mas também não acionou a tomada

- alias: Motion Sensor switch On
  trigger:
    platform: state
    entity_id: binary_sensor.motion_sensor
    to: 'on'
  condition:
    condition: time
    after: '12:30'
    before: '23:50'
  action:
  - service: switch.turn_on
    entity_id: switch.tomada_cozinha
  - delay:
      minutes: 1
  - service: switch.turn_off
    entity_id: switch.tomada_cozinha

Bom dia.
Tens de dar mais informação para te conseguir-mos ajudar. Como addicionas-te o dispositivos ao Home assistant? Tens a certeza que eles estão no HA?

Via às ferramentas de programação e procura por eles nos estados em “entidades”.

Numa automação colocas-te um entity_id para a tomada e agora já colocas-te outro, não pode ser.

Estás a colocar a automação na pasta automations.yaml ?

Se for mais simples para ti agora ao principio cria a automação no editor visual de automações em Configuração/automação e +. Para o que queres existe exemplos automáticos que te podem ajudar.

Nota: Para o que queres tem mesmo de ser como fizeste no primeiro post, que é duas automações , acho que o @j_assuncao não percebeu bem o que queres fazer, mas também tens de nos dar os dados todos.

@victor87 tens a certeza que essa última automação está activada?

Bom dia Ricardo,sim os dispositivos aparecem todos na lista.
Primeiro adicionei a gateway no configuration.yml w fiquei logo com tudo que estava ligado à gateway nessa lista que você falou.
Para a tomada fiz a mesma coisa que a gateway visto que não é a versão zigbee.
E ficou disponível também .

Bom dia Rodolfo sim está ativada.
Quando vou às automacoes aparece lá

Isso não quer dizer que esteja activada. Adiciona a entrada initial_state: true à automação.

- alias: Motion Sensor switch On
  initial_state: true
  trigger:
    platform: state
    entity_id: binary_sensor.motion_sensor
    to: 'on'
. . .

Também já tinha feito isto no primeiro código nas duas automacoes e não funcionou.
Vou tentar neste último código

continua sem funcionar …

E tens alguns erros no log? Estás a reiniciar o HA ou apenas as automações?

Não tem erross,sim reinicio mesmo o HA

qunado vou a ferramentas de programação e vou as entidades quando clico duas vezes sobre a tomada consigo ligar atraves do switch.
O sensor de movimento também esta la consigo ver as informaçoes sobre a bateria etc

Estás a fazer os testes e a alterar a hora para ter a certeza que a condição valida, certo? Tenta com esta automação:

- alias: Motion Sensor switch On
  initial_state: true
  trigger:
    platform: state
    entity_id: binary_sensor.motion_sensor
    to: 'on'
  condition:
    condition: time
    after: '12:30:00'
    before: '23:50:00'
  action:
    - service: switch.turn_on
      entity_id: switch.tomada_cozinha
    - delay:
        minutes: 1
    - service: switch.turn_off
      entity_id: switch.tomada_cozinha

@victor87 A seguir ao action: faltam-te os dois espaços nas linhas que se seguem

1 Like

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


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