About Brad

All-around tough guy.

American Gardener CS18 Battery Replacement

My bride takes care of our lovely garden and lawn. One of her favorite trimming tools is the American Gardener CS18. We’ve gone through a couple rechargeable batteries now (*hint* bring the battery inside your house during cold winter months) and it continues to operate fine. For others trying to replace or upgrade to a more potent battery pack, I’ve used the make/model below and there are likely other packs that work just as well.

The Venom  Power 3000 mAH NiMH flat battery pack has more capacity than the inferior 1800 mAH Ni-Cd (p/n 700228) battery pack the CS18 came with. Yes, the new battery will take longer to charge, but does this really matter to most yard warriors? Plug it in and charge it overnight. For those who find the Venom Power 3000 later fails, initiate an online claim for Venom Power’s lifetime warranty; the first year Venom Power offers complete replacement and years two and greater they will give you 30% off a new battery. I’ve exercised the latter option once – the first Venom Power battery pack lasted 3 years before it suddenly failed on us and as I said above, the failure could have been due to cold temperature when it sat out in the garage for a winter season (or two).

To install a new battery pack, you’ll need to take the CS18 apart. There are 4 Phillips screws to get into the tool, all located on the side. Once inside, take a picture in case the spring flies out later, which it will. The wiring connectors the Venom Power comes with are different than your existing battery. If you’re handy with a soldering gun, I recommend breaking apart the existing wiring harness inside the CS18 to reuse its metal slip on jacks with the new battery pack (or don’t be a cheap bastard like me and pick up new jacks at the hardware store). Here’s a pic inside the tool, in case it helps anyone:

View of CS18 innards when replacing battery back.

** Update 6-24-2021 **

For those who need to replace the power adapter, we used the make/model pictured below and it continues to charge the Venom Power battery pack just fine at 7.5 volts, center pin positive, and at around 600 mA (probably less at 7.5 volts, which is fine).

CS18 replacement power adapter, back side

CS18 replacement power adapter, back side

CS18 replacement power adapter, center pin polarity setting

CS18 replacement power adapter, center pin polarity setting

Looks like you can still pick this power adapter up on eBay.
If Walmart gets stock back, you might try this link.

Run PNNL Visual Sample Plan 7.9 on macOS Sierra

Early versions of Visual Sample Plan were not supported on the Mac, but I’ve used wineBottler with success in the past, so I set out to test it with VSP 7.9 on my Mac. The following steps should work on a Mac running macOS Sierra (10.12.6):

  1. Download wineBottler and install it and the bundled wine in your Applications folder.
  2. Download the latest version of VSP to the Downloads in your home directory/folder.
  3. Open the wineBottler application, click the “Advanced” button, and configure it as shown in the screenshot below:                    
  4. Click “Install” and then click “Next” whenever prompted by the Windows installer.
  5. The installer should run for a few minutes and you’ll need to click “Next” or “Agree” whenever prompted.
  6. Near the end of the installation process, you’ll be prompted to select a Startfile. The default, selected option is incorrect – you’ll need to click the file path drop down menu, select the option for “Program Files/Visual Sample Plan/VSample.exe”, and click OK, as shown below:                                                                   
  7. After doing this, you should reach the dialog/prompt “Prefix created successfully” and then click OK.
  8. To run the newly created application, search for “Visual Sample Plan 7.9” on your machine and launch it – should be inside your Applications folder and you should see something like below:                       
  9. Bonus step – on my machine, I launched Visual Sample Plan and noticed its icon in the Dock is generic, even though the VSP icon for the application in the Applications folder has the green and red grid. To fix this, I selected the icon for VSP in the applications folder, pressed command-C, command-I, clicked the icon in the Get Info window, and command-V to paste in the icon. Make sure you do this when the application is not running.

Homebridge and Garadget notes

** Sadly, a tree fell on our old garage and took out our old opener not long after I recorded these notes, so they aren’t as refined as I’d like them to be; however, they might serve others getting stuck setting up their Garadget. **

To install homebridge, I followed these instructions:
https://community.garadget.com/t/homekit-integration-with-homebridge-garadget-plugin/664
and
https://github.com/nfarina/homebridge/wiki/Install-Homebridge-on-OSX

From Terminal.app, I ran:

sudo npm install -g --unsafe-perm homebridge
(unsafe-perm was needed on macOS Sierra, not sure about other systems)

After installing homebridge, begin installing plugins for your accessories. For instance, to install a plugin for an open source garage door opener, Garadget, read the plugin instructions, then open Terminal and paste in:

sudo npm install -g homebridge-garadget
cd ~/.homebridge
pico config.json

Paste in the text below and save it (you can skip the “Platforms” section, as that is for other devices I’m using on the network):

{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:39",
"port": 51826,
"pin": "031-45-154"
},

"description": "Garadget as an accessory.",
"accessories": [{
"accessory": "Garadget",
"name": "Garage Door",
"cloudURL": "https://api.particle.io/v1/devices/",
"deviceID": "500031001851353432393433",
"access_token": "7ab6b8b49072b6caf7490b8beb0a75086b1f4401"
}
],

"platforms": [
{
"platform": "BelkinWeMo",
"name": "WeMo Platform",
"expected_accessories" : "1",
"timeout" : "25",
"no_motion_timer": "60",
"homekit_safe" : "1"
},
{
"platform": "Nest",

"token" : "c.mLRXPhJxsllnEk2XGVkh4yE4iceogLwK19iyRihYLJaZOWWl6vadUBw0pYzNH5Nqyu5ANCjmnay4PzGXmCX7xiQifgJro7rymQgTKdsxQ4Z7GwJEUya0jpU2y3C8YBSLntYuy4kZIPsNaQDb",

"clientId": "0fb9563b-16b3-4452-8721-268df1104d5a",
"clientSecret": "8o4x71vmef6BDieuLTNwLyZx4",
"code": "RLZC9XJX",

"username" : "brad@schwie.com",
"password" : "schw0143"
}
]

}

The Garadget plug-in requires a bit more tinkering of obtaining a Device ID and Access Token using Chrome, as described here.

An example config.json file is here if you don’t want to copy and paste what I laid out above.

In my case, the Garadget device ID was:
https://api.particle.io/v1/devices/500031001851353432393433/setState
with access_token:
7ab6b8b49072b6caf7490b8beb0a75086b1f4401

Paste the Device ID and Access Token into your ~./homebridge/config.json file.

I can’t remember why, but I also needed to tweak my homebridge settings in ~./config.json file by changing the port number from 51826 to 59393.

TROUBLESHOOTING:
The garadget access_token reset 90 days after I started using homebridge. It took me a while to figure this out – just couldn’t dedicate time to it – but finally got it working again:

While running homebridge, I tried opening the garage door from the homekit hub device, my daughter’s iPad, using the Home app. But the garadget button in Home app said “No Response”, which was what I was seeing from other devices. When I looked at the output of homebridge from the macOS Sierra server, I noticed the following output, which indicated the token was no longer working:

[6/21/2017, 4:20:12 PM] [Garage Door] Set state to closed
[6/21/2017, 4:20:12 PM] [Garage Door] Error ‘null’ setting door state. Response: {“error”:”invalid_token”,”error_description”:”The access token provided is invalid.”}
[6/21/2017, 4:20:14 PM] [Garage Door] state = 1
[6/21/2017, 4:20:14 PM] [Garage Door] Set state to closed
[6/21/2017, 4:20:14 PM] [Garage Door] Error ‘null’ setting door state. Response: {“error”:”invalid_token”,”error_description”:”The access token provided is invalid.”}

At least two things can mess up your access_token:

1. Using the web app (accessing the garadget from a web browser – https://www.garadget.com/my/) seems to request a new token from the Garadget, which then causes the old token to be purged.

2. Every 90 days the garadget token seems to expire.

I’m not sure which of these cases bit me, but I’ll update this later when I know.

To fix this issue, open the config.json app (mine was at ~/.homebridge), I grabbed my updated token following these instructions (https://community.garadget.com/t/using-garadget-in-ifttts-recipes/440), and then I inserted the updated token in the config.json app. Bam. Everything is working again.

***********************************
To update npm:
sudo npm install -g npm

To find outdated homebridge plugins:
sudo npm outdated -g

To update homebridge:
sudo npm install -g -unsafe-perm homebridge@latest -g

To update home bridge plugins:
sudo npm install -g -unsafe-perm homebridge-pluginname@latest -g
sudo npm install -g -unsafe-perm homebridge-nest@latest -g
sudo npm install -g -unsafe-perm homebridge-platform-wemo@latest -g
sudo npm install -g -unsafe-perm homebridge-lifx-lan@latest -g
sudo npm install -g -unsafe-perm git+https://github.com/luisiam/homebridge-liftmaster2.git -g
sudo npm install -g -unsafe-perm homebridge-samsung-tizen

homebridge runs out of launchDaemons on the Mac mini. To restart it, unload it:
sudo launchctl unload /Library/LaunchDaemons/com.homebridge.server.plist

and then re-load it:
sudo launchctl load /Library/LaunchDaemons/com.homebridge.server.plist

LIVALL BH81H Helmet Review

In late-November 2016, I ordered a large (58-61 cm) LIVALL BH81H bicycle helmet in fluorescent green. I was drawn to the helmet’s backside illumination and the ability to make and receive phone calls through Bluetooth while riding. For the last couple years, I’ve been using a Jabra Sport+ bluetooth headset, which worked until it failed, deserving its own blog entry… At the time of my helmet order, I also requested a BlingJet 100 (BJ100) – more on the BlingJet later, but I found little use for it and its not worth a handlebar installation.

I was excited to receive the BH81H and BJ100 on March 7, 2017, less than 4 months after placing the order on Indiegogo. After opening the package, I was surprised at how light the helmet actually is – the battery can run for several hours, yet the helmet seems to weigh about as much as my locally sourced NiceRide helmet. The helmet seems solidly assembled and the straps and padding all seem to be high quality. Overall, my first impressions are favorable.

The helmet didn’t have sufficient battery charge on arrival to power up and the instructions say that you must charge it. I plugged the included micro-USB cable into the helmet to start charging it – two red lights in the rear of the helmet illuminated with a steady glow to indicate charging. The manual said to give the helmet about 3 hours of charging time, which I did, but after unplugging the USB cable, the helmet still did not power up. I let it continue charging overnight and the next morning it powered on!

The setup guide describes pairing the BH81H and BJ100 to each other and a separate Bluetooth pairing with my iPhone was easy and just like other Bluetooth devices. If you are interested in reading other data the helmet measures, like heart rate, download the iPhone app. In this early version of the helmet, the heart rate data does not appear to feed into the iPhones HealthKit/Health app, but it seems this type of feature could be added later.

I ended up using the helmet for a little over a month, but in early April, I noticed the helmet was no longer taking a charge. Slowly the helmet lost all of its charge and hasn’t powered up since. I contacted LIVALL support and they said they’d send a new helmet out, but two months later and I’ve received no update. Reports on their site indicate there are issues with the heart rate sensor killing the helmet. I’m not sure if this is actually the case though, because the heart rate sensor on my helmet continued to work while it had battery charge left. It would seem the charge control chip is failing?

While the helmet worked, I enjoyed listening to music and news and placed a few phone calls that appeared to be better quality than my Jabra headset, but I was hoping to get more time with the helmet before making these assessments.

I’ll post more as my experience develops, but I remain optimistic.

** Update ** LIVALL support reached out to me with instructions to detach the heart rate sensor. Doing this, I was able to revive the helmet and it worked until January 2018, when it stopped working again and I haven’t been able to revive it since then. In January 2018, LIVALL support offered a BH61S at a reduced price, so I jumped at the offer. Trials and tribulations with the BH61S are here.

DiamondBack’s Axis and Overdrive Pedals

I happily used DiamondBack Axis MTB SPD pedals (344 grams) for almost a year, until the bearings escaped from the drive side pedal (heh, Amazon says they weigh 352 grams with all the bearings present). After contacting DiamondBack’s excellent support staff, they offered a set of replacement pedals, which I received less than a week later.

While I was waiting for the new pedals to arrive, I tossed on a very old and used set of Shimano PD-M520 pedals, which weigh in at 375 grams. When the new pedals arrived, DiamondBack surprised me with their Overdrive MTB pedals, which are also SPD, but sport sealed cartridge bearings and weigh in at a feather-light 295 grams. I quickly installed the Overdrives this evening and based on the brief post-installation test ride, they spin smooth. Will report more later, but I would say the Axis pedals were fine until I had logged about 5,000 miles on them. The Axis pedals also weren’t as smooth to click in and out of as my PD-M520’s, so I’m curious to see how the Overdrive’s compare.

Windows 7 Auto Log Off

Just got a new Smell laptop at work and it was logging off every 15 minutes, which was a bit annoying.

Fix: Hold down Windows key and “R” key-> type in “gpedit.msc”->computer configuration->windows settings->Local Policies->Security Options->Microsoft network server:Amount of idle time required before suspending session, right-click this and choose “Properties”.

Set “Disconnect when idle time exceeds to:” to “0” and now your machine should no longer auto log you out at the interval it was previously set to.

Bosch Spray Arm and Tube Gasket Hack

Its always something… Our Bosch SHU8805 is usually meticulous at cleaning dishes, but suddenly we noticed that the upper rack wasn’t getting as clean as the lower rack. I love solving a crime that involves broken things. Upon opening the dishwasher, I removed the top rack and noticed the back wall of the dishwasher had a sort of halo about a foot across around the location where water is suppose to enter tubing for the top and lower spray arms, as shown below:

I figured the gasket must be worn, as the spray arm is constantly removed and inserted into the fittings on the back wall. Being the exceptionally cheap bastard that I am, I could have replaced the upper spray arm (00359976) and tube (00350321) with these parts, as described by the nice woman at e-Spares:

http://www.bosch-home.com/us/store/product/SprayArmAssembly/00359976

http://www.bosch-home.com/us/store/product/Tube/00350321

But, no, I’m too cheap to spend $80. Instead, I entered my hellhole, unkempt shop area in the basement and proudly emerged with some bits that were suddenly useful, including two standard garden hose gaskets and two rain barrel gaskets that were just barely bigger than the hose gaskets (you might be able to pull this hack off with 2-4 total garden hose gaskets). To do the repair, I popped the rain barrel gaskets on to the Tube fittings first, as shown in the picture above, and then slipped the garden hose gaskets on. After popping these gaskets on to the tube fittings of the dishwasher, the top rack is now getting clean again – woohoo – cheap bastard wins! And I spent more time writing this useless entry for some schlep as cheap as me.

Ok, and I probably wrote this so that when the hose gaskets fail miserably due to the hot water and strong detergents, I’ll know which parts to quickly order.

Thanks to Bosch for making all their parts readily available and to e-Spares for the slick video.

macbookpro7,1 resuscitation!

My macbookpro7,1 has had an RAM issue manifest a couple times since 2015. It is now rocking 16 GB of RAM and the lower RAM slot has stopped working twice now. This behavior was usually foreshadowed by the Mac not waking from sleep and running slower.

Both times, I seemed to be able to resuscitate the lower RAM slot by using a white eraser and rubbing it on the socket pins on the board and the RAM card itself. I’m pretty sure this issue has occurred, because I expose my macbookpro7,1 to temperatures below zero F daily during the winter for about 3 hours per day during my daily bike commute. I don’t give the Mac much time to equilibrate to room temperature when I arrive at my destinations, so I’m assuming some moisture may be condensing on the RAM connector pins. Seems I shouldn’t be so rough on my gear, but the eraser trick has brought it back.

Safari.app and secure websites, fixed

Suddenly when I was visiting my own website (to edit my blog), Safari was being forced to a secure website on my own domain. I had been editing my blog a couple days ago on the plane and didn’t finish an edit – my connection with gogo dropped and left the update in limbo.

Figuring this might have something to do with it, within Safari I went to Safari->Clear History… I tried deleting one day of history, but the problem wasn’t resolved. Knowing the issue happened a little over 2 days ago, I then tried to delete “Today and Yesterday” and bam! Problem solved and I was now able to see all content when I visited my own website.

Calendars.app fixed

The Calendars.app on my Mac hasn’t worked correctly in a few weeks, the calendaragent process would run wild and sap my battery. Lucky for me, the temporary workaround was to not use Calendars.app on my Mac and my iPhone’s calendar worked fine.

After reading Apple’s Forums (follow the tip from “ST Munees”) and an older Chris Breen Macworld article I was able to fix Calendars.app on my Mac. I can elaborate more later, but following those tips got mine running again and calendaragent is behaving again.