Boa tarde.
Estou a tentar criar um lembrete para efectuar a desparasitação ao meu cão, porque me esqueço constantemente.
Pode não ser a melhor forma de o fazer, mas é a única forma que me lembrei.
input_boolean:
internal_deworming_done:
internal_deworming_alarm:
input_number:
internal_deworming_day:
name: Dia de Desparasitação
min: 1
max: 31
step: 1
internal_deworming_month:
name: Mês de Desparasitação
min: 1
max: 12
step: 1
internal_deworming_year:
name: Ano de Desparasitação
min: 2018
max: 2100
step: 1
sensor:
- platform: time_date
display_options:
- 'date'
- platform: template
sensors:
internal_deworming_day:
value_template: '{{ states.input_number.internal_deworming_day.state | int }}'
internal_deworming_month:
value_template: '{{ states.input_number.internal_deworming_month.state | int }}'
internal_deworming_year:
value_template: '{{ states.input_number.internal_deworming_year.state | int }}'
internal_deworming_date_small:
value_template: "{{ states.sensor.internal_deworming_year.state }}-{{ states.sensor.internal_deworming_month.state }}-{{ states.sensor.internal_deworming_day.state }}"
internal_deworming_date:
value_template: >-
{{ states.sensor.internal_deworming_year.state }}-
{%- if states.sensor.internal_deworming_month.state|length == 1 -%}
0
{%- endif -%}
{{ states.sensor.internal_deworming_month.state }}-
{%- if states.sensor.internal_deworming_day.state|length == 1 -%}
0
{%- endif -%}
{{ states.sensor.internal_deworming_day.state }}
automation:
- alias: 'Internal Deworming Day'
initial_state: true
hide_entity: False
trigger:
platform: template
value_template: '{{ states.sensor.date.state == states.sensor.internal_deworming_date.state }}'
action:
- service: input_boolean.turn_off
entity_id: input_boolean.internal_deworming_done
- service: input_boolean.turn_on
entity_id: input_boolean.internal_deworming_alarm
- alias: Internal Deworming Warning
initial_state: true
hide_entity: true
trigger:
- platform: time
at: '17:00:00'
- platform: time
at: '18:00:00'
- platform: time
at: '18:30:00'
- platform: time
at: '19:00:00'
- platform: time
at: '19:30:00'
- platform: time
at: '20:00:00'
- platform: time
at: '20:30:00'
condition:
condition: template
value_template: '{{ states.input_boolean.internal_deworming_alarm.state == "on" }}'
action:
- service: telegram_bot.send_message
data_template:
target: !secret telegram_chatid1
message: 'Dia de fazer desparasitação interna!'
disable_notification: true
inline_keyboard:
- "Feito:/internal_deworm_done"
- "Lembrar Amanhã:/internal_deworm_tomorrow"
- alias: 'internal_deworm_done'
hide_entity: true
trigger:
platform: event
event_type: telegram_callback
event_data:
data: '/internal_deworm_done'
action:
- service: telegram_bot.answer_callback_query
data_template:
callback_query_id: '{{ trigger.event.data.id }}'
message: 'Excelente, aviso daqui a três meses novamente!'
- service: input_boolean.turn_on
entity_id: input_boolean.internal_deworming_done
- service: input_boolean.turn_off
entity_id: input_boolean.internal_deworming_alarm
- service: input_number.set_value
data_template:
entity_id: input_number.internal_deworming_month
value: "{{ states.sensor.internal_deworming_month.state }}+3"
- alias: 'internal_deworm_tomorrow'
hide_entity: true
trigger:
platform: event
event_type: telegram_callback
event_data:
data: '/internal_deworm_tomorrow'
action:
- service: telegram_bot.answer_callback_query
data_template:
callback_query_id: '{{ trigger.event.data.id }}'
message: 'Ok, aviso novamente amanhã!'
- service: input_boolean.turn_on
entity_id: input_boolean.internal_deworming_done
- service: input_boolean.turn_off
entity_id: input_boolean.internal_deworming_alarm
- service: input_number.set_value
data_template:
entity_id: input_number.internal_deworming_day
value: "{{ states.sensor.internal_deworming_day.state }}+1"
group:
dog_internal_deworming:
name: Desparasitação Interna
entities:
- input_boolean.internal_deworming_done
- input_boolean.internal_deworming_alarm
- sensor.internal_deworming_date
- sensor.internal_deworming_day
- input_number.internal_deworming_day
- sensor.internal_deworming_month
- input_number.internal_deworming_month
- sensor.internal_deworming_year
- input_number.internal_deworming_year
Agora, tenho um problema,
Não sei como fazer com que me volte a lembra dentro de 3 meses quando respondo que a desparasitação foi efectuada no Telegram, ou como adicionar um dia à data ao responder lembrar amanha.