As a volunteer firefighter I may be called to duty during work hours, and wanted a way to quickly notify my team with a calendar and slack status.
Yeah! Sorry that probably deserves it’s own post, why and when. But I’m a member of our local Volunteer Fire Department, which is staffed by a collection of local residents giving back. Honored to be amongst them. Also, fire departments across the country need more members, so considering joining your local department, there is a job for everyone!
IamResponding (IaR) is a platform for first responders to connect them with incidents, provide details, manage schedules, and importantly indicate when they are able to respond. This is especially important for Volunteer Firefighters and EMS where availability can vary widely over the course of a day or week. IaR lets the dispatcher notify everyone, and let’s the command officers know who’s coming before they send the response team to the scene.
IaR allows me to automatically send a text to my wife when I respond to a fire call. With a single action on my phone I can notify my Fire Chief, my fellow members, and my family that I am leaving wherever I am to respond to the fire station.
I also work remotely, with a flexible schedule. THis makes me an ideal VFD member since I can respond during business hours, but it may impact planned meetings with my team or partners. Rather then shuffling my calendar, and setting my Slack status to OOO, I devised a way to let Home Assistant notify folks for me.
Two main challenges I ran into:
With a mix of IaR, Home Assistant, Email, Google Calendar and existing Slack Apps we can achieve this.
Pretty straightforward, just add the email address to user profile to send to. The only caveat for me, which is optional, was that I setup a dedicated email address for this. If you choose an existing address you will just need to add more filters in home Assistant later.
The IMAP integration in Home Assistant let’s us respond to new emails. In my case it’s any new email, but filters (as automation conditions) can be added to only act on ones from IaR.
THe integration exposes a trigger as a customer event, and also a service I can use to delete the incoming email.
My HA instance uses the Google Calendar integration to sync events from personal and work calendars. So I can fire an action to add a new event, marking me offline.
action: calendar.create_event
metadata: {}
data:
summary: "On Fire Call (Out of Office) 🧑🚒"
description: >-
I am out of office responding to an incident for my local Volunteer Fire
Department
# starting in 1 minute
start_date_time: "{{ (now()+timedelta(minutes=1)).strftime('%Y-%m-%d %H:%M:%S') }}"
# lasting 3 hours
end_date_time: "{{ (now()+timedelta( hours=3)).strftime('%Y-%m-%d %H:%M:%S') }}"
target:
entity_id: calendar.eddie_work
enabled: true
Both Google Calendar (for slack) and Clockwise worked for this. They will see the calendar event and update your status automatically.