Skip to main content

Ghost in the wiring

The kitchen has an old Nutone vent hood. The fan didn't spin as fast as it should and the fan blades looked rusty so I decided to replace the motor and blades. I found a replacement motor off Amazon (of all places) and found a metal fan of the exact same design off ebay. I dismantled the vent fan assembly and replaced the motor and fan and tested it and everything worked fine.

A few days later I switched the vent fan on and it did not work. Neither did the hood light. I puzzled over this, wondered if I'd blown a fuse, checked all the fuses - all were intact. I could not figure anything out. I decided that the wiring inside the hood was old and had come apart from my fiddling with it.

A few days later I idly switched the fan on - and it worked! Now I was sure there was loose wiring somewhere.

Then a few days later again I tried the fan, and it did not work. I banged the hood I banged under the fan trying to see if I could jar the loose wiring in place but nothing worked. I left the kitchen disappointed, trying to decide how best to tackle this. I started to think of replacing the entire vent hood.

After a while I came back and switched off the over sink light. There was a sudden rattling sound. I jumped. I was confused for a moment. I was pretty sure I had turned off the over sink light and not hit the disposal button (they are located symmetrically on either side of the sink) but it sure sounded like the disposal. I flipped the switch again. The rattling sound stopped and the sink light came on.

I flipped the switch again. The light went off and the rattling - which I now properly identified as the vent hood fan, which I had messed with and unseated so it was brushing the hood roof (because of all my banging) - started again. It took me a while to stop laughing.

Somebody had gone to great lengths to wire the kitchen light with a single pole double throw switch with the other circuit serving the vent hood. I'm so glad I had accidentally left the vent fan on, otherwise I would have NEVER figure this one out.

Comments

Popular posts from this blog

A note on Python's __exit__() and errors

Python's context managers are a very neat way of handling code that needs a teardown once you are done. Python objects have do have a destructor method ( __del__ ) called right before the last instance of the object is about to be destroyed. You can do a teardown there. However there is a lot of fine print to the __del__ method. A cleaner way of doing tear-downs is through Python's context manager , manifested as the with keyword. class CrushMe: def __init__(self): self.f = open('test.txt', 'w') def foo(self, a, b): self.f.write(str(a - b)) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.f.close() return True with CrushMe() as c: c.foo(2, 3) One thing that is important, and that got me just now, is error handling. I made the mistake of ignoring all those 'junk' arguments ( exc_type, exc_val, exc_tb ). I just skimmed the docs and what popped out is that you need to return True or

Using adminer on Mac OS X

adminer is a nice php based sqlite manager. I prefer the firefox plugin "sqlite manager" but it currently has a strange issue with FF5 that basically makes it unworkable, so I was looking for an alternative to tide me over. I really don't want apache running all the time on my computer and don't want people browsing to my computer, so what I needed to do was: Download the adminer php script into /Library/WebServer/Documents/ Change /etc/apache2/httpd.conf to allow running of php scripts (uncomment the line that begins: LoadModule php5_module Start the apache server: sudo apachectl -k start Operate the script by going to localhost Stop the server: sudo apachectl -k stop