this post was submitted on 05 Jul 2023
3 points (80.0% liked)

homeassistant

12297 readers
58 users here now

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Available for free at home-assistant.io

founded 2 years ago
MODERATORS
 

I'm trying to improve my morning routines with Home Assistant. I have a set of Eve Motionblinds connected to Home Assistant, along with my Sonos with Alexa.

My goal is to set an alarm with Alexa, and have the Eve Motionblines raise 15-20m before the alarm goes off as a sort of sunrise alarm clock.

I've looked through the docs, but I can't figure out any way to make something like this happen. Anyone have any ideas?

you are viewing a single comment's thread
view the rest of the comments
[–] TotallyNotAMurderer@lemmy.world 3 points 2 years ago

This is the template trigger code I use in my automation. Automations triggers and ramps up lighting 5min before phone alarm goes off.

The template checks the current time/date at the start of ever minute (the bracketed bit formats the current timestamp) then checks to see if current time matches my next alarm time formula and triggers automation if it does match.

The next alarm formula gets the (time to) next alarm in milliseconds, devides that by a thousand to make it seconds then, subtracts 300 (= 5 minutes) then prints that formula to a time stamp formatted the same as the current time stamp (for it to compare against)

This is for an Android phone and using the companion app sensor for 'next alarm'. #USER# is to be replaced with users own name/entity. Not sore how much of this translates to an Amazon thing but, hopefully give you a bit of an idea of how to perform it once you find the right entity?

{{now().strftime('%H:%M %Z %a %d %h %Y') == (((state_attr('sensor.#USER#_phone_next_alarm', 'Time in Milliseconds') | int / 1000 | int - 300 )) | timestamp_custom('%H:%M %Z %a %d %h %Y'))}}