Problema automação


(Luís Martins) #1

Caros tentei fazer uma automação para abrir um estore quando é detato movimento durante o dia. No entanto parece-me que a condição sun é sempre ignorada. Será que conseguem detetar o que estou a fazer mal? Obrigado.

 automation:
  # Open shutters if sun is up
  - alias: 'Open shutters wc'
    trigger:
      platform: state
      entity_id: binary_sensor.motion_sensor_158d0001660b63
      from: 'off'
      to: 'on'
    condition:
      condition: or
      conditions:
        - condition: sun
          after: sunrise
        - condition: sun
          before: sunset

    action:
      - service: switch.turn_on
        entity_id: switch.wc_shutter_up

(Rodolfo) #2
 Tenta assim sff

automation:
      # Open shutters if sun is up
      - alias: 'Open shutters wc'
        trigger:
          platform: state
          entity_id: binary_sensor.motion_sensor_158d0001660b63
          from: 'off'
          to: 'on'
        condition:
          condition: or
          conditions:
            - condition: sun
              after: sunrise
              after_offset: "-1:00:00"
            - condition: sun
              before: sunset
              before_offset: "-1:00:00"
         action:
          - service: switch.turn_on
            entity_id: switch.wc_shutter_up

(Luís Martins) #3

Não resultou, continua a a abrir à noite logo q detecta movimento.

Pela minha lógica devia chegar uma única condição (after sunrise) mas essa tb não funcionou. Será necessário colocar
’ no sunrise?


(Rodolfo) #4

Estranho, deveria funcionar não estou a ver o que possa estar errado assim em uma primeira análise.
Eu também nunca testei o sun.

Deixa ver se alguém tenha uma ideia.
A não ser que testes um template como está aqui no ultimo post https://community.home-assistant.io/t/correct-condition-using-sun/27972/6


(Luís Martins) #5

Há aqui algum promenor que me está a escapar. Lembro-me que quando fiz a primeira vez esta programação tive que utilizar a condição ‘time’ e definir uma hora para conseguir que funcionasse. Mas queria mesmo ligar a automação à posição do sol e por isso voletei a tentar, sem resultado.

Tenho outras automações com a condição sol (e offsets) que estão a funcionar, a única difrença é que não têm sensor de movimento associado.

Ainda não trabalhei/explorei as templates (nem percebi bem o que trazem a mais…) mas vou fazer mais testes para ver se encontro o erro.

Lembrei-me agora que esta automação está dentro de um package, mas penso que isso não tem influência…


(Rodolfo) #6

Chamas te o package no teu configuration.yaml?


(Luís Martins) #7

Sim e aparentemente está tudo bem, menos a automação


(Jorge Assunção) #8

E erros no log do HA, tens algum?


(Luís Martins) #9

Nada de relevante ou relacionado com estes elementos


(Jorge Assunção) #10

Que configuração tens para o sun dentro do ficheiro configuration.yaml?


(Luís Martins) #11

no configuration. yaml está apenas

# Track the sun
sun:

(Nuno Neves) #12

Desculpem a resposta tardia, mas a solução, na minha opinião é simples… Em vez de or tens de usar and


(Luís Martins) #13

Nuno, essa foi a minha primeira abordagem mas também não funcionou. Quando copiei o código tinha estado a testar com o ‘or’ e por isso foi esse que coloquei no fórum.

Como disse anteriormente, a meu ver deveria bastar a condição after sunrise, pois segundo os docs do HA esta condição retorna falso à noite.


(Rodolfo) #14

Coloca aqui o que tens nesse ficheiro package sff. Podes por no hastebin.com


(Luís Martins) #15
switch:

##### WC Hall #####
  - platform: mqtt
    name: "wc_shutter_down"
    state_topic: "shutter/wchall/relay/1"
    command_topic: "shutter/wchall/relay/1/set"
    payload_on: 1
    payload_off: 0
    optimistic: false
    qos: 0
    retain: true
    
  - platform: mqtt
    name: "wc_shutter_up"
    state_topic: "shutter/wchall/relay/0"
    command_topic: "shutter/wchall/relay/0/set"
    payload_on: 1
    payload_off: 0
    optimistic: false
    qos: 0
    retain: true

cover:
      
#####  WC Hall  #####

  - platform: template
    covers:
      shutter_wc:
        friendly_name: Shutter
        position_template: '50'
        open_cover:
          service: switch.turn_on
          data:
            entity_id: switch.wc_shutter_up

        close_cover:
          service: switch.turn_on
          data:
            entity_id: switch.wc_shutter_down
        stop_cover:
          service: script.shutters_wc_stop
          
        icon_template: >-
          {% if is_state('switch.wc_shutter_down', 'off') %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %}

group:

  wc_hall:
    name: WC Hall
    control: hidden
    entities:
      - sensor.illumination_158d0001660b63
      - binary_sensor.motion_sensor_158d0001660b63
      - cover.shutter_wc

automation:
  # Open shutters if sun is up
  - alias: 'Open shutters wc'
    trigger:
      platform: state
      entity_id: binary_sensor.motion_sensor_158d0001660b63
      from: 'off'
      to: 'on'
    condition:
      condition: or
      conditions:
        - condition: sun
          after: sunrise
          after_offset: "-1:00:00"
        - condition: sun
          before: sunset
          before_offset: "-1:00:00"

    action:
      - service: switch.turn_on
        entity_id: switch.wc_shutter_up

  # Close shutters everyday     
  - alias: 'Close WC shutters 30 minutes before sunset'
    trigger:
      - platform: sun
        event: sunset
        offset: "00:30:00"              
    action:
      service: switch.turn_on
      entity_id: switch.wc_shutter_down

(Rodolfo) #16

Testa isto sff, mas apaga a última automação que tens ai.

automation:
  # Open shutters if sun is up
  - alias: 'Open shutters wc'
    trigger:
      platform: state
      entity_id: binary_sensor.motion_sensor_158d0001660b63
      from: 'off'
      to: 'on'
    condition:
       - condition: sun
         before: sunrise
         before_offset: "-00:30:00"
    action:
      - service: switch.turn_on
        entity_id: switch.wc_shutter_up

E diz me o que acontece, se continua a abrir…após detectar movimento.
não te esqueças de apagar a última automação.


(Luís Martins) #17

Vou experimentar. 2 questões:

1 - na condição deverá ser before Sunset ou então after sunrise, certo?

2- a automação a apagar ė a que usa o sinal como trigger. Desconfias que dá conflito?


(Rodolfo) #18
  1. acho que pode ser ambas
  2. exprimenta agora apagar a ultima e testa como te enviei

(Luís Martins) #19

Rodolfo, testei com a automação tal como enviaste (apagando a outra) e não abriu. Testei em seguida sem o offset e também não abriu.

Se eu estiver a ler bem o codigo está a acontecer o contrário do que devia. o sensor passa a on (ativa o trigger). A condição, tal como está devia retornar verdadeiro (https://www.home-assistant.io/docs/scripts/conditions/) e executara a ação , mas não é isso que acontece.

Atualização: Afinal abre! Não o fez na primeira deteção de movimento mas nas seguintes reagiu como esperado. Vou mudar a condição para after sunrise para ver o que acontece e já atualizo (isto está num Pi 1ª geração, demora um bocadinho a reiniciar :slight_smile: )

Atualização 2: Não abriu com a condioção after sunrise (como eseperado). amanhã vou ver como reage e se estiver normal acrescento a automação que apaguei para ver se seria isso a interferência.


(Luís Martins) #20

Mais uma atualização.

Depois de aparentemente ter funcionado corretamente eis que ontem o estore voltou a abrir por volta das 21h…

Começo a pensar que o problema não está na automação em si. Entretanto, lembrando do que que perguntou o @j_assuncao, fui ver novamente o registo de erros e desta vez dei por um que, pelo menos para mim, é novo:

ERROR (MainThread) [homeassistant.core] Timer got out of sync. Resetting