So this all looks super cool, but do you think we can take everything here and combine it together? As a noob at this it’s a little hard to follow, but I’m getting there. If we could sum up that would be awesome though. Thanks!
Here is the sample of complete code in my configuration.yaml…
input_slider:
alarmhour:
name: Hour
icon: mdi:timer
initial: 9
min: 0
max: 23
step: 1
alarmminutes:
name: Minutes
icon: mdi:timer
initial: 0
min: 0
max: 55
step: 5
input_boolean:
alarmstatus:
name: Wake Me Up
initial: off
icon: mdi:alarm-check
alarmweekday:
name: Weekdays Only
initial: off
icon: mdi:calendar
sensor:
platform: template
sensors:
alarm_time:
friendly_name: 'Time'
value_template: '{{ states.input_slider.alarmhour.state }}:{% if states.input_slider.alarmminutes.state|length == 1 %}0{% endif %}{{ states.input_slider.alarmminutes.state }}'
group:
default_view:
view: yes
entities:
- group.alarmclock
alarmclock:
name: Wake Me Up
entities:
- sensor.alarm_time
- input_slider.alarmhour
- input_slider.alarmminutes
- input_boolean.alarmstatus
- input_boolean.alarmweekday
automation
- alias: 'Wake Me Up'
trigger:
platform: template
value_template: '{{ now.time().strftime("%-H") == states.input_slider.alarmhour.state and now.time().strftime("%-M") == states.input_slider.alarmminutes.state }}'
condition:
condition: or
conditions:
- condition: and
conditions:
- condition: state
entity_id: input_boolean.alarmstatus
state: 'on'
- condition: state
entity_id: input_boolean.alarmweekday
state: 'on'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: and
conditions:
- condition: state
entity_id: input_boolean.alarmstatus
state: 'on'
- condition: state
entity_id: input_boolean.alarmweekday
state: 'off'
action:
service: notify.notify
data:
message: 'Good morning. Time to Wake Up!'
title: ""
Which show this in my HASS home screen…
Thanks! Really appreciated. You just have a little mistake in your template sensor: you handled the case where the minutes were 0, and added another 0, but you didn’t handled the case where they were set to 5. A more generic template: {{ states.input_slider.alarmhour.state }}:{% if states.input_slider.alarmminute.state|length == 1%}0{% endif %}{{ states.input_slider.alarmminute.state }}
yes. you are right. thanks!
Fantastic, thanks for the sum up!
I have a question !
When i want to put a transition on my light for the morning like that
- alias: "aurora 07h00" trigger: - platform: time after: "06:50:00" condition: - platform: state entity_id: input_boolean.reveil state: 'on' - platform: state entity_id: input_boolean.lightreveil state: "on" - platform: state entity_id: input_select.choixreveil state: "07:00" action: service: light.turn_on entity_id: light.chambre data: transition: 600
The light turn on but the transition doesn’t happen… the light is on with full brightness… it isn’t very peaceful to wake up…
Have you test that ?
I updated my code to replace platform with condition in condition.
I think that my word transition was not good indented, a space was needed the T of transition had to be under the T of data.
I’ll try this tomorrow moring.
Working like a charm for me.
Thanks for sharing!!!
You’re welcome
This is awesome stuff guys! Thank you. As a noob of course I have at least one question! Would it be possible to add a duration slider? So that you can set how long the even triggers for? Obviously not useful as an alarm with notify, however, I’m thinking this would be amazingly useful as a timer module for a pool pump.
Im also not sure how to change the action to use a rpi_gpio switch… one thing at a time!
Thanks again for sharing!
Continuing the discussion from Creating a alarm clock:
I’ve tested the transition item as well, but unfortunately is not working for me.
Is there any limitation (as in plattforms,etc.) that might be impacting on it?
I’m working with custom Dimmers based on MySensors and I’m not sure if I’m missing anything.
When this triggers, the lights are going 100%, and I’d like to have a more progressive effect.
ideas?
thanks in advance
Hi davedan for me to succes i had to write automation like that
- alias: "aurora 07h55" trigger: - platform: time after: "07:45:00" condition: - condition: state entity_id: input_boolean.reveil state: 'on' - condition: state entity_id: input_boolean.lightreveil state: "on" - condition: state entity_id: input_select.choixreveil state: "07:55" action: service: light.turn_on entity_id: light.chambre data: transition: 600 brightness: 255
In the begining the transition didn’t work now it works fine.
Goos luck to you
thank you @hokagegano,
quick question: The transition time is in secs? I can’t find the unit in the doc: https://home-assistant.io/components/light/
thanks in advance!
Yes transition is an integer in seconds
Hello!
I would also like to have a duration slider and a repeat slider so that the alarm can be triggered every x hrs or mins. I am thinking of using it as a timer for my hydroponic pump. Since the delay feature won’t allow for template values ( e.g. minutes: ‘{{ input_slider.hydroponic_pump.state }}’) I’m finding very difficult to find a way to implement this. Can someone think of a solution?
Thanks!
what you need is not an alarm clock function. just create an automation using time trigger. For example…
automation:
trigger:
platform: time
# Matches every 2 hours
hours: /2
minutes: 0
seconds: 0
That is a good way to do it, I suppose it would be possible to use a slider to input the time variables. The alarm clock drew my attention because of the “gui” adjustments.
I could still use the slider input and the time trigger, I swear I read somewhere time has both an after and before?
If so I could take the after and just use the “alarm” time, I could use the slider variables to take alarm time and add the duration time to give me the before. Assuming I can use before and after in that manner.
The question is: would it be possible to use the values input by the user through the input slider to feed the time trigger?
should be able to, I mean you are using those to input the time for the alarm.
Here is my snippet for the timer function, im currently testing it. I have absolutely NO idea if the syntax for the hour and minutes in the automation are correct!
##POOL TIMER ##
input_slider:
alarmhour:
name: Hour
icon: mdi:timer
initial: 9
min: 0
max: 23
step: 1
alarmminutes:
name: Minutes
icon: mdi:timer
initial: 0
min: 0
max: 55
step: 5
alarmdurationhour:
name: Duration Hour
icon: mdi:watch-export
initial: 9
min: 0
max: 23
step: 1
alarmdurationminutes:
name: Duration Minutes
icon: mdi:watch-export
initial: 0
min: 0
max: 55
step: 5
input_boolean:
alarmstatus:
name: Wake Me Up
initial: off
icon: mdi:alarm-check
alarmweekday:
name: Weekdays Only
initial: off
icon: mdi:calendar
sensor:
platform: template
sensors:
alarm_time:
friendly_name: 'Time'
value_template: '{{ states.input_slider.alarmhour.state }}:{% if states.input_slider.alarmminutes.state|length == 1 %}0{% endif %}{{ states.input_slider.alarmminutes.state }}'
duration_time:
friendly_name: 'Duration'
value_template: '{{ states.input_slider.alarmdurationhour.state }}:{% if states.input_slider.alarmdurationminutes.state|length == 1 %}0{% endif %}{{ states.input_slider.alarmdurationminutes.state }}'
group:
default_view:
entities:
- group.alarmclock
- group.equipment
alarmclock:
name: Pool Pump Schedule
entities:
- sensor.alarm_time
- input_slider.alarmhour
- input_slider.alarmminutes
- sensor.duration_time
- input_slider.alarmdurationhour
- input_slider.alarmdurationminutes
- input_boolean.alarmstatus
- input_boolean.alarmweekday
equipment:
name: Equipment
entities:
- switch.bedroom_switch
- switch.pool_lights
- switch.pool_pump
- switch.waterfall
automation:
- alias: 'Pool Pump On'
trigger:
platform: time
after: '{{ now.time().strftime("%-H") == states.input_slider.alarmhour.state and now.time().strftime("%-M") == states.input_slider.alarmminutes.state }}'
hour: '{{ now.time().strftime("%-H") == states.input_slider.alarmdurationhour.state }}'
minutes: '{{ now.time().strftime("%-M") == states.input_slider.alarmdurationminutes.state }}'
condition:
condition: or
conditions:
- condition: and
conditions:
- condition: state
entity_id: input_boolean.alarmstatus
state: 'on'
- condition: state
entity_id: input_boolean.alarmweekday
state: 'on'
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: and
conditions:
- condition: state
entity_id: input_boolean.alarmstatus
state: 'on'
- condition: state
entity_id: input_boolean.alarmweekday
state: 'off'
action:
service: switch.turn_on
entity_id: switch.pool_pump