Project: Soft Rains Entry 01

Starting from a dumb house

I bought a place in May. Every light in it was a light switch and nothing else.

I bought a place in the Bay Area this spring and moved in with the usual pile of boxes. Top floor, two staircases inside the unit, and more light through the windows than I expected. It is upside down compared to everywhere else I have lived: the front door, the kitchen and the living room are all on the upper of its two levels, and the bedrooms are on the floor below them. What it did not have was a single thing in it that could be told what to do. Every light was a light, operated by a switch on the wall, and that was the whole system.

I had reservations about the place and I still have a few. Two staircases inside one home is an odd thing to sign up for. The internal one is genuinely dark at night, and the switch for it is at the wrong end if you are the one going down. Being on the top floor means every delivery is a small expedition. I saw it twice, argued about the layout on the drive home both times, and took it anyway, mostly on the light. I have not regretted that part once, although I did stand at the top of those stairs on the second night doing the arithmetic on how many times the people living here are going to walk down them in the dark.

The rest of what bothers me is small and specific. Lights get left on in rooms with nobody in them. I keep walking back out to the car in my pyjamas to check I locked it. None of that needs a home automation project. All of it is fixable with a bit of attention and better habits. I am going to do it anyway, because I like this sort of thing, and because the failure modes are cheap. If I get it wrong the worst case is that a light is the wrong brightness.

Why this time is different

This is not my first go. I have been messing about with this in mild forms for a while, and the last proper round was in a rented condo in the city, where everything had to come back off the wall at the end. Stick-on sensors, batteries in everything, plugs sitting in front of plugs, nothing that left a mark. It worked, mostly. It was also a permanent compromise, and I could never get past the fact that the actual switches on the actual walls were not mine to touch. I spent an afternoon before the move peeling all of it back down to bare rented plaster. There is something clarifying about undoing your own work with a putty knife.

So this time I want the whole thing, end to end, every layer of it mine. The wiring, the switches, the hub, the software in the middle, the logs. If something misbehaves I want to be able to follow it all the way down without hitting a wall that says this part belongs to somebody else. It is so much fun being allowed to drill holes in walls again. I had forgotten that.

I do not know exactly when this starts in earnest, or how far it ends up going. It might be a couple of weekends of sensors and then nothing. It might quietly eat every spare evening for a year. Either way it will be a fun little experiment, and I would rather write it down as I go than try to reconstruct it afterwards.

The name

Ray Bradbury wrote a short story called There Will Come Soft Rains, about a fully automated house that keeps making breakfast and reading poetry aloud long after the family who lived there is gone. It is not a cheerful story. It stuck with me anyway, and when I needed a folder name it was the one that came to mind, so the project has been Soft Rains ever since.

There is a warning buried in it that I want to take seriously. The house in the story is completely indifferent to whether anyone is there. I do not want a house that runs its routine at me. I want one that gets out of the way.

Rules I am setting at the start

Everything keeps working when the internet does not. The lights, the switches, the motion triggers. If my broadband goes down I should not be able to tell from inside the house. This rules out a lot of products immediately.

Every automated thing keeps its manual control. The wall switch has to still be a wall switch. Nobody else in the house should have to know that a light is automated, or care, and if somebody flips the paddle the automation should get out of the way rather than fight them for it. I suspect this is the rule I will break most often, and the one I will be least happy about breaking.

Anything with consequences stays in the stack it came with. The front door lock is a Schlage BE889WB, and it is one of the first things I want working, because a door that locks itself behind me is the single most useful thing on this list. It is going to run entirely inside HomeKit, on the schedule and the geofence Apple already ships, and my own software is never getting write access to it. Heating is on the list too, and cooling if I can manage it, though that one is going to be a slow negotiation with the rules about what I am allowed to change in a shared building, and I expect to lose at least one round of it. Same principle will apply when I get there. The rule is not that nothing important gets automated. It is that the important things are automated by code far better tested than mine, and the worst my own daemons can ever do to a door is watch it.

Write down what breaks. Which is what this is. I have found the failure write-ups far more useful than the setup guides when I have been the one searching at midnight, and almost nobody publishes them, presumably because they are embarrassing. I expect most of the entries here to be things that did not work.