(My) Home Shower Problem

Photo by Robert Guss on Unsplash

Setting up a Smart Home is a lot of fun for a certain group of people.

It is always incredibly interesting to me to talk to someone else about my own experiences and efforts in this area. This conversation usually starts with a warning:

You don’t know what you are getting yourself into, oh, and this is a deep, dark, and often expensive rabbit hole.

Before I go any further here, let me just say: consider that your warning.

The fact of the matter is – a vast majority of the time you: the person reading this, and also you: the person wanting to set up or learn more about smart home stuff are not just the architect here, you are the project manager, tester, engineer, and are the primary user. You very well could be the only active user of this system.

One of the most interesting observations I have made regarding people who set up their own internal software is that we not only tend to be more technical than the people we live with, but we also generally have a deep desire to share the end result of that software and those experiences with others.

I have experienced this in myriad ways myself. As a server owner, it does bring joy when others use my server and enjoy that experience. I have run a Plex server for many, many years and can confirm that others feel this way as well. Reddit and even Plex’s own forums have plenty of examples of people getting excited and showing off when friends and family are enjoying watching content from the server.

That translates well into the Smart Home space. We build and we build, we tinker, break, fix and ultimately end up with some really cool stuff – yet most of it ends up pretty transparent to the people that we live with.

Sure – they are happy doing what they have always done and leaving the shower fan running after a shower, never noticing the effort it took to build an algorithm that takes into account humidity levels and light states and presence guesses to automatically turn that fan off down the line.

Or even a much simpler automation turning on the lights in a storage area when a presence detector device notices someone there and triggers the lights to come on generally doesn’t break the conscious notice on a daily basis – except when it doesn’t work and then the complaints start.

I want to be clear – none of this is a bad thing.

Photo by Andre Mouton on Unsplash

The one area of clarity I would suggest anyone new to this space consider is that YOU are the primary user here. You are building for yourself. If you are building for others, and expect them to actively use the systems, you will be fighting an uphill battle.

It probably isn’t worth the mental effort to try and force that. Instead, I would suggest that you keep working to make the primary user happy. Yes, work to make your own cool stuff here.

Remember, if you build it then they will maybe, eventually, come.

Which brings us to today.

One of the “joys” of having your own personal smart home is that there will be things that bug you and question that you want answers for.

For me, one of these is all about showers.

Yes – I am such a dad here. I know, I admit it, let’s move on.

Over time the water bill has gone up, up, up.

I have always been curious about who is showering the most and how much water and costs are associated with that usage.

So the question that I care about for some strange reason that everyone else in my household thinks I am a bit looney about is: who is showering and how much?

Photo by Nicole Queiroz on Unsplash

Thus, we have (My) Shower Problem.

Now, the reason it is a problem is that I don’t have an easy black-and-white way to answer this question.

Like most smart home questions like this, it could be solved with money.

More sensors = more money. This gets you more data, and with more data you can answer more questions that don’t mean anything to anyone else.

See the fun loop here?

However, one of the biggest things to embrace as a smart home owner is that you won’t make anything cool without learning. At some level you need to realize that this is one giant discovery and learning effort.

If you can embrace this, then you can build just about anything!

For me? And for this question? I want to learn, and in my case I want to get better at some technologies that might be able to help answer questions like this with what I have.

Therefore, this post is my starting point for (My) Shower Problem.

Through a series of posts, explorations, and code I will go deep down the rabbit hole of finding ways to answer data questions with what I have already in the system and hopefully learn a few things along the way as well.

It you are interested in following along, then welcome!

If you came here to answer a few questions of your own, then welcome. Some of these solutions will get you what you want – but if all you want is a simple answer to a burning question then they will probably be massive overkill form a solution standpoint.

However, if you are like me and learning is your primary objective alongside answering a few niggling questions for your primary user then this is the right spot for you.


As always, thanks for reading and have an awesome day!!

Scroll to Top