Viva.
aqui vai uma contribuição muito útil para automações que só queremos que sejam despelotadas em dias uteis, ou seja vamos imaginar sabados domingos e feriados devem ser excluidos. particularmente util para estores. no exemplo coloquei ação para levantar um estore shelly por mqtt
config:
binary_sensor:
- platform: workday
name: dias uteis
country: PT
#workdays: [mon, wed, fri] --> define-se quais os dias uteis
excludes: [sat, sun, holiday] --> Exclusoes, ou seja o sensor nao passa a on nestes dias
#add_holidays: --> adicionar feriados locais por exemplo ou outros dias à escolha
# - '2018-12-26'
# - '2018-12-31'
Por acaso a uns dias a trás fiz essa mesma configuração mas ainda não tenho automações. Ainda ando a estudar o que vou fazer com este componente. Em princípio irei usei para as luzes.
Peço desculpa, li a parte do comemtário de adicionar feriados locais e assumi que era para colocar a lista de feriados. Vou apagar o comentário pois não faz sentido.
O que me levou a procurar este compunente foi gerar automações para feriados. Já tinha as automações de iluminação configuradas para semana e fim de semana. Mas faltava os feriados e férias que com este componente já se pode adicionar. Ora acabei de ter ideias para as minhas automações o que leva a refazer todas as automações de iluminação. Mas acho que vai valer a pena. Alguém já descobriu onde se pode ver os feriados que já estão configurados no componente?
Estou a tentar fazer uma automação para abrir s estores a horas diferentes (trigger) consoante seja semana ou fim de semana (condition) mas sem sucesso. Penso que é possível usar vários triggers mas parece que não dá (ou eu não sei) conjugar a condição.
Se percebi bem, gostarias de conjugar o dia da semana com a hora para fazer abertura?
Se a pergunta é como conjuntar condições (AND ou OR), fica aqui um exemplo de um “AND”:
(mas se quiseres mostrar a tua base, depois poderemos ajudar melhor)
- alias: Levar o Lixo
trigger:
platform: state
entity_id: group.TodosSensoresMovimento
to: 'on'
condition:
condition: and
conditions:
- condition: state
entity_id: input_boolean.levar_lixo
state: 'on'
- condition: state
entity_id: 'device_tracker.tmp'
state: 'home'
action:
- service: notify.dev
data:
message: "Nao esquecer de levar o LIXO"
- service: homeassistant.turn_off
entity_id: input_boolean.levar_lixo
Seria pela via do “and” que te mostrei acima. Ias ganhar umas linhas de código, mas acho que na prática ia ficar menos legível e menos leve, pelo que também recomendo automação distinta.
Seria uma combinação do or e and, similar ao código de exemplo no HA, mas invertido, porque irias dizer que querias:
(dia_de_semana AND 07h00 ) OR ( fim_de_semana AND 10h00)
condition:
condition: and
conditions:
- condition: state
entity_id: 'device_tracker.paulus'
state: 'home'
- condition: or
conditions:
- condition: state
entity_id: sensor.weather_precip
state: 'rain'
- condition: numeric_state
entity_id: 'sensor.temperature'
below: 20
Li bem a pergunta colocada e em termos práticos era saber se dava para ter tudo na mesma automação.
Mantenho a afirmação que é melhor separar tendo em conta legibilidade e eficiência, mas queria partilhar também que há sempre alternativas que não ajudando aqui, podem ajudar noutras automações.
Seria algo parecido com isto:
- alias: open_shutters
trigger:
platform: time_pattern
minutes: '/1'
seconds: '0'
condition:
condition: or
conditions:
- condition: and
conditions:
- condition: state
entity_id: 'binary_sensor.workday_sensor'
state: 'on'
- condition: time
before: '07:02:00'
after: '07:00:00'
conditions:
- condition: state
entity_id: 'binary_sensor.workday_sensor'
state: 'off'
- condition: time
before: '10:02:00'
after: '10:00:00'
action:
- service: cover.set_cover_position
data:
entity_id: cover.shutter_kidsroom
position: 100
Não acho que seja a mais eficiente, nem mais legível, conforme mencionei antes.
alguma forma de automatizar os feriados? assim temos que os alterar todos os anos, se fosse possível ele efetuar update num site qq era bem porreiro. obrigado