About Brad

All-around tough guy.

IoT Garage Door Openers

Our garage has a Chamberlain 4620 door opener that has Security+ (not Security+ 2.0). I wanted to control the garage door from my bike (when riding home) and also to control it from inside our house without having to buy additional remotes for each location/vehicle. Everyone in our family carries an iPhone or has access to a mobile browser, so those would be great remotes. I’m a fan of open source hardware and software, so any solution coopting those technologies would be cool. Anyway, the following three were considered:

  1. Chamberlain MyQ
  2. gLink
  3. Garadget

The first logical consideration is the recently updated Chamberlain MyQ, a drop in solution compatible with my opener. Unfortunately, it requires two devices be powered up; one in the garage and one plugged into the internet router with a Cat5 cable. I was pleased to read MyQ works with Siri; however, proprietary hardware and software sucking power in multiple locations irked me.

Looking to third party competitors, gLink popped up. Its a single device that controls the opener with a smart phone, but the remote control occurs over Bluetooth. Our alley has a significant amount of foliage and I know vegetation is not good for radio waves, so I ruled it out.

Bugged that I wasn’t finding what I wanted, I reviewed Indiegogo and Kickstarter offerings some more and came across Garadget, which had several advantages over the previous items I looked at. First, the software and hardware are open source – major win here! If my Garadget were to break someday and the manufacturer decides to stop producing them, there are instructions to purchase parts and make your own. Second, Garadget is one device that communicates directly with our home’s existing wifi network, a second device isn’t necessary. Third, because Garadget is open source, plug-ins for homebridge and other platforms are available to enable Siri and HomeKit. Fourth, because Garadget joins our home’s wireless network there’s not a range issue as it makes your opener accessible through any internet connection. Fifth, Garadget’s compatibility with IFTTT means the door can do things like automatically open as I ride up the alley returning home. Sixth, Garadget can monitor its condition during specific hours of the day and send alerts.

I’ve only had it installed for a day now, but I’m pleased with the results. Will report more later.

Armstrong SX90 SX93 Furnace

My friends’ Amstrong furnace wasn’t working a couple days ago. It would seem to start burning natural gas, but then minute the combination blower tried to start spinning, it would make a bunch of what appeared to be clicking sounds before shutting down and not warming the house.

After following the troubleshooting guide in the manual, it recommended replacing the same blower board that was making the clicking noise.

And looking more closely at the blower board, resistor R1 had brown marks all around the board it was attached to. We pulled the blower board out, looked at the back of it, and noticed that the solder connections were cracked – the clicking noise must have been coming from the bad solder connection and the arcing sparks were browning the board over time. Testing the resistor with a multimeter indeed indicated that the itself resistor was fine, just the connection was bad.

A quick visit to Schwie’s Shop for medicine, in the form of a solder pen, and the board is fixed!

Syncthing, syncthing-inotify, and Qsyncthingtray

Insert taunts below, but I chose to stop using owncloud/Nextcloud after considering several options for my macOS Sierra Server, including: Seafile, Tonido, Pyd.io, CEPH, ownCloud/Nextcloud, BitTorrent Sync, and Syncthing.

The ownCloud/Nextcloud gang was ruled out as the project doesn’t support installation on Mac OS X Server, and this despite folks like me who have run ownCloud on Macs for years with only minor issues. ownCloud/Nextcloud seem to offer many more features than I want, which is just to sync files across several devices.

Of the options I considered, only Tonido, CEPH, and BitTorrent Sync seemed to offer Mac support and then I was fortunate to read about Syncthing. It seemed to have most of the advantages of BitTorrent Sync, only its open source and potentially more difficult to set up.

I dove in and set up Syncthing on my MacBook Pro, macOS Sierra server, and my work’s Dell laptop running Win7. So far syncs are working like a champ across all devices. This post lays out what steps I used to get the titled apps running on macOS Sierra and Win7:

  1. Download brew from http://brew.sh – open Terminal.app and paste in the code from brew.sh or use the following two commands: “sudo xcodebuild -license” and “/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)””.
  2. Install syncthing in Terminal.app, executing “brew install syncthing” – when prompted at the end, also enable the autolaunching feature “brew services start syncthing”.
  3. Optional step – Install syncthing-inotify in Terminal.app, executing “brew install syncthing-inotify” – when prompted at the end, also enable the autolaunching feature “brew services start syncthing-inotify”.
  4. Download Qsyncthingtray from https://github.com/sieren/QSyncthingTray/releases and drag it to your Applications folder.
  5. Open System Preferences and add Qsyncthingtray to your Login items.
  6. Unmount the installer images.
  7. Launch Qsyncthingtray by double-clicking it from /Applications or from Spotlight or other launcher.
  8. Configure Qsyncthingtray’s preferences to be aware of the file path of Syncthing, I told mine ~/Applications/Syncthing/usr/local/bin/syncthing, and for Syncthing-inotify, /usr/local/bin/syncthing-inotify:

Windows instructions:

  1. Download and open up syncthing’s official installer.
  2. Configure Task Scheduler to autolaunch syncthing when computer boots up, using these instructions.
  3. Download Qsyncthingtray from https://github.com/sieren/QSyncthingTray/releases and drag it to your Applications folder.
  4. Optional step – Download Syncthing-inotify.
  5. Launch Qsyncthingtray by double-clicking it from c:/Program Files or by searching for it.
  6. Enter Qsyncthingtray’s preferences by right-clicking the Qsyncthingtray’s icon in Windows’ system tray in the lower right corner of the screen.
  7. Click the “” tab and specify the file paths for where you saved Syncthing and Syncthing-inotify and check the “Launch” box for each.
  8. Finally, add a shortcut for Qsyncthingtray to the Startup Items folder. In Windows 7, that folder was here:

If you want screenshots showing the setup of a single shared folder across all devices, let me know in the comments.

Gemini MER6872BAS Repair

Portions of our oven’s keypad were no longer acknowledging button presses. Sometimes power-cycling the oven would allow the non-functioning portions to temporarily work, but this only worked for less than a minute at a time after power was restored, not an ideal fix/workaround.

I decided to rip into the back of the oven and look at things. I started with pulling the button pad ribbon cables off the control board and noticing that the leads seemed to be oxidized. I took an eraser to the leads and cleaned them up, but the problems persisted.

The next time I pulled the back off the oven, I noticed the control panel had a serious blowout at some point, as shown below.

Blown Maytag Gemini Board

Blown Maytag Gemini Board

I looked into online services through eBay, but was deterred by the service details they provided: sometimes the services were only to assess the board’s condition and other times the services covered the control board but not the buttons. With this oven, the control board and buttons are considered one unit.

Not wanting to get screwed by one of these services, I decided to buy a new control board (with buttons) on Amazon. After installing the new control board, full oven functionality returned. The new board gives us a 1-year warranty and since it was charged with Visa, we will have coverage from years 1 to 2 as well.

DiskStore.Warning: Failed messaging flag writer

Our El Capitan Server was shooting off the following error messages every 30 seconds in Console.app:

mds[81]: (DiskStore.Warning:127) Failed messaging flag writer

Thinking the error might have something to do with Spotlight, I went to System Preferences->Spotlight->Privacy, and dragged my startup disk to the Privacy pane. The error messages stopped immediately.

When I removed the startup disk from the Privacy pane and allowed my trusty Mac to re-index the startup disk – the error messages began to reappear.

This machine is my server, so I’m going to leave Spotlight’s privacy enabled for all of my drives, but I’m hoping to figure out what’s wrong, later.

Cloning OpenWRT w/ ROOter

I’ve put time into configuring routers and need to be able to quickly clone settings to new hardware. I was hoping to take a working router configuration, connect it to a PC (or device), and open a terminal session to use the following commands:

cd desktop

ssh  root@192.168.1.1

dd if=/dev/mtd4 of=/tmp/backup20160505.trx

scp root@192.168.1.1:/tmp/backup20160505.trx .
scp backup20160505.trx root@192.168.1.1:/tmp

mtd -r write backup20160505.trx art

But at the final step, my router throws up an error message that includes:

Could not open mtd device: art
Can't open device for writing! openwrt

If someone has a suggestion, I’m all for it. I’ll report back when I figure this out.

MacBook Pro and Bluetooth

I’ve had a problem with the Bluetooth on my MacBook Pro where the menu bar icon is grayed out and it is crossed out and not functioning. Restarts and PRAM resets don’t seem to resolve the issue, but the following steps are pretty painless and fixed things for me:

  1. Close System Preferences and/or any app that was trying to use or configure any Bluetooth device with the Mac
  2. From the OS X Finder, hit Command+Shift+G to summon Go To Folder and enter the following path:  /Library/Preferences/
  3. Locate the file named “com.apple.Bluetooth.plist” and delete it
  4. (you may see a com.apple.Bluetooth.plist.lockfile too, if so delete that as well – this is a system folder so you will need to authenticate with an admin user)
  5. Head to the Apple menu and choose “Shut Down” to power down the Mac
  6. Wait a minute or so before booting the Mac again
  7. Head to the Bluetooth menu or System Preference panel to resync your hardware

Thanks to Max108 for posting the fix.

Fix Illustrator CS5 Crashing in OS X El Capitan

If you’re running Adobe Illustrator CS5 on Mac OS X El Capitan, you may be plagued by the bug where Illustrator crashes hard when you try to normally quit it:

Screen Shot 2016-03-26 at 8.43.07 PM

Perusing Adobe’s forums revealed this post with a workaround, which can be reduced to the following fix:

  1. Quit Illustrator if it is open.
  2. Open “Terminal.app”.
  3. Paste the following command at the prompt:sudo mv /Library/Application\ Support/Adobe/CS5ServiceManager/lib /Library/Application\ Support/Adobe/CS5ServiceManager/lib.bak
  4. Enter your password when prompted and then press “enter”.

Try launching Illustrator CS5 and then quit it. Hard crashes should be a thing of the past.

And for those not wanting to use Terminal, double click your hard drive icon on the desktop, and navigate to Library->Application Support->Adobe->CS5ServiceManager. Click on the folder named “lib” and rename it to “lib.bak”. You may be prompted for your password on your Mac. Feel free to launch Illustrator and it should quit like it should, peacefully.

Bosch SHU 8800/8805

We’ve had our trusty Bosch SHU 8805 (Stainless Steel) Dishwasher for over 15 years now, but recently several problems were apparent:

  1. the dishes weren’t getting clean (the machine had become noticeably louder while trying to do so)
  2. the detergent dispenser was no longer holding soap, and
  3. the sump wasn’t properly discharging waste water.

I purchased replacement parts for all of these issues, even though I probably didn’t need all of them, more on that later.

To address the issues above, Bosch gave me this parts list over the phone and we purchased the following parts:

  1. Sealing Kit, 00167085
  2. Dispenser, 00490467
  3. Pump-drain (pump), 00167082

Disassembly of the dishwasher will take an hour of your time and I recommend watching this video as you do it. One note on the video, as you remove the “Pump Housing” be careful, mine was very brittle and some of the edges broke off – I may need to buy another one at some point.

As for the rest of the parts, they were all fairly easy to install using the video. Aside from wishing I had purchased the Pump Housing, I found that I did not actually need the Pump-drain (sump pump). The sump pump in my dishwasher was fine, except it was jammed with food and other debris that somehow managed to pass. Still, I installed the new one as I didn’t want to take the dishwasher apart again and I was faced with a restocking fee if I decided to return the pump to Bosch.

Anyway, the repairs went fine and the dishwasher has been running a couple weeks now and the dishes and silverware are clean and the machine is noticeably quiet again.