Today we left for a quick trip to San Francisco. I have to say, this felt like the most organized we ever were before leaving on a trip. Of course, that means I forgot something or left something running; fortunately we have some very nice people staying at the house, so I can just call them if I think of something I may have forgotten, and they can check and tell me if I really did forget or if I’m just a nutjob worrywart.
I’m sure I’m not the only one with “did I lock the door?” syndrome — where you leave for work, say, and half an hour later wonder if you locked the door, turned off the water, whatever — because those motions are so automatic, that there’s no good way to query your brain and figure out if you did them that morning or not.
To some extent I’ve solved that with automation — I have some stuff wired up so I can query the locks and windows and find out if I actually did do that. But I always find something else to worry about; at some point you just have to stop worrying and say “Yes, I do that every day, so I would know if I’d forgotten to do it because the pattern would be different.”
I suppose I’d be a great candidate for one of those super-automated integrated smart houses that you always read about, where you phone home (or now web browse home) and fill the bathtub, start the oven roasting, and turn on the music as you leave work. The only problem is those are way out of my price range, and chances are if I could even afford the lowest-end version of some of that stuff, they wouldn’t do quite exactly what I’m looking for.
So I hack and cobble and wire and program, and slowly but surely my franken-automated-whatever starts working and doing what I want, how I want it.
Last night’s project that was supposed to be 20 minutes turned into a two hour troubleshooting hunt. I have a network of 5 ibutton temperature sensors using the older 1820 ibuttons (I think; I can’t remember), and just ordered some newer 1920 ibuttons (though maybe the older ones are also 1920s) to add onto the network. So I put together the sensor boxes; I start with a dual-port RJ11 modular jack, drill holes in the cover, and solder in a DS9094 ibutton holder. I ran wire for the new ibutton, and hooked it into the network.
Unfortunately, while the older ibuttons read fine, the new one would read a consistent 185 degrees F. After much digging, I found that this was the ‘power-up’ default value for the memory in the ibutton, and that when you query the temperature, you have to send a ‘get temperature’ command, which samples the temperature and then copies it into memory, then you have to send a ‘read memory’ command to get the actual value. It turns out that when I set up the original network, I was being a smart-ass and cranked down the delay between the two commands to 500 milliseconds instead of the recommended 1000 milliseconds. Hey, it worked, right?
So it turns out that either the new ibutton just has a longer wire run, or perhaps the new ones sample more slowly, because when I cranked up the delay to 600 milliseconds, it read the newest ibutton perfectly as well as the old. (I can’t just go to 1000 milliseconds and be done with it, you see, because I’m a smart-ass that way.) And now I have a 6th (and when I find places for them, 7th and 8th) ibutton on the network, to add to my obsessive-compulsive temperature graphs.