Google Home as School Bell System

Greetings ST community! I’ve been lurking and learning for a week or so. I stumbled in while searching for a what I was sure was going to be a no brainer off-the-shelf function: Play synchronized chime along with a custom phrase on a detailed schedule. Well, maybe not so easy, but still worth the effort of learning a whole new set of skills for me. This could end up being a really cool school bell system with all kinds of other potentials down the road for charter school that I work for. (I’m a teacher resident at the moment)

I have a few ideas how to implement, and I’ll be detailing them as I go, but I have a feeling there are some folks who know more about what’s available/possible/feasible, so I thought I’d put it out there. I’m willing to work at it, but ultimately this has to be pretty simple to maintain and operate day-to-day.

So, if you had a GH speaker in ~20 classrooms and wanted them to at the minimum play a few custom chimes on a schedule that rotates daily (A day, B day, minimum day, etc.) Even better than just chimes wold be chime + custom announcement ( [binnng] “Block Five” ) How would you go about it? Seems like there could be all kinds of combinations of bits for each segment of the job and I suspect that there is still a lot more I can learn. Thanks!

1 Like

Well excellebt excitement and enthusiasm and awesome that you want to do things for your school. My entire family is in education, Im in education IT and I applaud it

That said before I answer how, I’d first say, I wouldn’t do it. Primarily, because the SmartThings TOS specifically says the system is not intended to be used in commercial settings. (for profit or nonprofit).ST is simply not reliable enough to be used in that setting and they have zero need to beef the back end to the point it would be.l because the TOS specifically excludes that use case.

That said, if you’re interested in the learning opportunity you could do this with WebCoRE. The Gcal connector and the smartapp that connects to your gh devices. I’ll leave you to look up these three smartapps.

1 Install all three smartapps
2 create a Google calendar for your schedule.
3 create appointments labeled something like Bell
4 configure the Gcal smartapp to read the calendar and the appointments - essentially creating an on / off virtual switch
5 use webcore to create a piston that triggers on the ‘activation’ of one of your appointments
6 configure the piston to send your alert to the GH devices when the piston activates.

So your ‘bell’ should trigger every time it finds an appointment. Or if you need different operation, just change the logic as appropriate.

I do a variant of this to modify my lighting schedule on my days off so my morning lighting routines all get jogged back 3 hours later if I have a calendar item named Vacation listed on that day in a certain calendar.

Good luck!


Thanks for this, lots to chew on fo a few days. I got the school IT department to kick down an old i3 laptop to run js, VLC, or whatever I need. Now I Just need some time! I hope this thread is useful and interesting to others.


For what you described, I’m not sure that SmartThings is even needed, and may just add a layer for things to go wrong. I very recently set up something similar for my kids’ bedtime through the week, as I got tired of hearing “I didn’t know what time it was” an hour past bedtime. I simply set up a routine in the Google Home app. When setting up a custom routine, in addition to the trigger phrase, there is an option for a specific time and days of the week, I chose their bedtime on Sunday through Thursday. Then under “assistant will” I simply typed “Broadcast it’s time to go to sleep”. Now at the same time every Sunday through Thursday night, all of the Google speakers in the house chime, followed by saying “It’s time to go to sleep”. I added another this weekend to try and help wake them up in the mornings.

Since you are talking about different times and a rotating schedule, it would take several different routines, and this assumes the schedule is based on or can be converted to the days of the week versus, like the high school I went to, some six day schedule or something.

Though if it is critical that all of these chimes/notifications trigger, as nathancu noted above, it may not really be ideal for your purposes as there are likely to be the occasional issues.

Now I’ve still used SmartThings (using WebCore) to also flash the lights in their bedrooms at the same time so they can’t say they didn’t hear it because they had their headphones in. But that is a separate action all together.

1 Like

Ooh! Interesting, Mrgneissguy (Geologist?)

“Since you are talking about different times and a rotating schedule, it would take several different routines, and this assumes the schedule is based on or can be converted to the days of the week versus, like the high school I went to, some six day schedule or something.”

So I looked at the app, and to my great surprise, that’s almost exactly what I had hoped for. The scheduling is not nearly as robust as we need, so I am wondering is there a way to hand this part of the task off? I need to play 20 or so chimes per day, and the schedule changes. A days, B days, minimum days, and there is no set rhythm. The best I can imagine is setting up the most usual ring scenarios and them schedule them by the calendar, sometimes having to make up a custom schedule (for testing or whatever thing we have to work around)

Thoughts? Does that put me back with the ST?

I will of course goof around with all of this, but you might be able to save from making a few mistakes.



Yes, a geologist.

I think the scheduling would be the hardest part, based on what you are describing, as it’s based on days of the week and not specific dates. I went in with the ones I created, and it’s simple enough to turn off and on the scheduled events (I left the time alone and just didn’t select any days of the week). It would take regular attention, but as you said for the most common ones, maybe once a week figure out which days of the week are A, B , and minimum that week and select those days as needed for the different routines. Then do the same the next week. I think it would work but that’s not ideal and if you have a lot, not very efficient. And it’s even less efficient if the times vary as well as the days. Maybe someone can come up with something using WebCore and/or some other custom apps/device type handlers that can do the job in a more self sufficient way.