Website Monitoring using Home Assistant and Node-RED

Recently I was asked by a Scout unit to try to let them know when an event was available for signup. While there are sites that allow you to do this, I didn’t want to have to signup for another site so I decided to figure out how to get Home Assistant to notify me of changes. I’ve written in the past about using Node-RED with Home Assistant and while Home Assistant has made it easier to create automations without having to use YAML, I still find that Node-RED is a much cleaner and simpler way of creating and viewing automations.

So I started trying to figure out how to get Node-RED to check websites and notify me. Turns out the process was pretty easy.

  1. Add node-red-contrib-object-hash to Node-RED’s configuration.
  2. Tell Node-RED to do an HTTP GET on each site once an hour.
  3. Take the result of the HTTP GET and perform a hash on the results.
  4. Create a Home Assistant sensor using MQTT with the URL and the hash in it.
  5. Wait for a change in the hash and then notify me of the change (I use Slack right now).

It’s a pretty simple slow and the downsides are that there is a slim chance that a change would trigger a hash change (hash collisions are possible, but rare) and it doesn’t tell me what the change actually is.

I’m sure there are other ways to monitor sites, but I don’t have to rely on others for this. While the notification uses Slack, I can switch out the notification to any other method.

Picture of Node-RED Flow

You can download the flow here.

Review: Ender 3 Direct Drive Upgrade Kit

I’ve been 3D printing for about 3 years now and anyone that has taken up this hobby knows that there is a lot of fiddling and tweaking to get the kind of prints you want. When I bought my Ender 3 Pro, I knew I wouldn’t be satisfied with the stock printer as I had read about so many nifty little upgrades. Over the years I’ve added things like an EZRStuder, a glass bed, a filament holder with bearings, a Capricon Bowden Tube, etc. With these upgrades, I’ve been pretty successful at printing PETG, PLA, and TPU filament. Since most of my prints these days are functional prints, I really haven’t tuned the printer for the best quality.

This summer I went to print some battery caps for my Ryobi batteries out of Sainsmart TPU like I had done many times and had the hardest time getting it to print well. I replaced the Bowden tube, used a glue stick to get the print to stick, changed settings in Cura, and various other things I could think of really to no avail. I was so frustrated that I ordered an Ender 3 Direct Drive Upgrade Kit and thought that it would solve all my problems. After reading a bit more about this and how it could lead to other problems due to the weight on the gantry, I cancelled my order and just lived with the mediocre prints.

Ryobi Battery Cap Ryobi Battery Cap

A few weeks ago after reading in the Reddit forums, I decided to give the upgrade kit another try. It arrived pretty quickly, but I had to wait to install and set it up. Installation was a breeze, but it turns out that I made enough changes to the printer that the prints (even with regular PLA filament) turned out poorly. I tried to tune my Cura settings, but that didn’t help. I went back and tightened the belts, the eccentric nuts, re-leveled the bed, changed the nozzle, reset the Z probe offset, and finally got some decent prints.

After all that work, I went ahead and started printing various pieces in PLA, TPU 95 and TPU 85. All of the pieces came out good enough for what I needed. I still can fine tune the Cura settings, but the direct drive has allowed me to print faster with fewer problems. Since it is cold in my garage where my printer is, I decided to forego the PEI bed I’ve been using and simply use a glass bed with a glue stick.

The direct drive upgrade has gotten me thinking about an Ender S1 Pro printer. However, it is really hard to justify that kind of money when I don’t print that often. The $30 I spent on the direct drive upgrade was a much better investment because a new printer would bring different issues and would still require me to fine tune various aspects of it.

Installed Direct Drive Installed Direct Drive

Pros

  • Inexpensive upgrade
  • Easy to install
  • Easier to print flexible filaments
  • Eliminates Bowden tube issues

Cons

  • Requires tuning the printer again
  • Extra weight on gantry could cause quality issues with prints
  • Still has a piece of tubing between the extruder and the hotend (could get clogged)

Summary

If you have an Ender 3 printer, this upgrade is a no brainer. Even if you don’t print flexible filaments, it is so much easier to print with PLA when the filament goes directly into the hot end. Of all the upgrades I’ve done to my printer, this may have given me the most bang for the buck. If I had gotten this before, I could have passed on the EZRStruder and the Capricorn tubing.

One caution if you do get this and that is that it may take some time to tune the printer back to the way it was. It took me about 5 hours to get prints working again.

3D Printer 3D Printer

Review: LED Headlamp

I’ve written in the past about having a variety of flashlights and when I came across this headlamp, I had to give it a try. I actually stumbled upon it from a spammy ad for a similar product; given that there were a number of products that looked identical, I decided to purchase the cheapest with the idea that they all came from the same factory and I was probably correct.

Lately I’ve been walking the dog when it is dark (I’ve run out of time during the day and the dog needs a walk), so I was interested in what would make it easier to see at night. I found that other headlamps were uncomfortable and were very directional with a very narrow beam. While some people swear by headlamps for camping and other activities, I’ve avoided them as much as possible as I found a flashlight to be easier to light my way.

This headlamp differs from other headlamps in that the main light is a strip of LEDs across the front and weighs significantly less than other lights. I’ve used it on a few walks and was amazed at how bright it was and how much it lit the path. There is a gimmicky feature on it that lets you wave your hand on the side of the light to turn it on and off (kind of like wax on/wax off). Turns out it is actually useful! My walk isn’t in the complete dark, so I was easily able to turn the light off when not needed. However, the sensor is quite sensitive so if you’re using it in an enclosed space, it will likely turn on and off as you move.

I haven’t had a chance to see how long it lasts, so I can’t confirm the runtime. It does charge pretty quickly over USB-C. Well, sort of. I was intrigued about USB-C charging so I connected a USB-C to USB-C cable to 2 different chargers and it didn’t charge. The headlamp uses a USB-C connector, but doesn’t actually use USB-C (it comes with a USB-A to USB-C cable for charging). That’s a bit disappointing as I have to bring a different cable if I go camping.

Pros

  • Light weight
  • Wide beam

Cons

  • Doesn’t use real USB-C charging
  • Hand waving sensor is gimmicky

Summary

This inexpensive headlamp is well worth the $10 I paid for it. While I hope that it lasts, I have no idea the longevity of it. I’m excited to take it on my next camping trip. While I would have designed it differently by removing the side sensor, putting the battery in the back and getting rid of the light on the side, it is good enough for my needs.

Relying on the cloud for home automation and monitoring

When I started getting into home automation 9 years ago, I decided to go with Z-Wave devices as it had the largest range of devices I could integrate into a system. Z-Wave communicates locally with a hub for automation and doesn’t rely on the cloud to work. At the time I made this choice, there weren’t many options let alone ones that relied on the cloud or apps to work. Fast forward a few years and there are a number of proprietary systems and apps that won’t work without a connection to the cloud. This, of course, causes problems when the Internet is down, the provider is down, or the provider has gone out of business. Luckily my setups have never relied on the cloud (they have had some integrations for notifications and such, but the basic automations have been local).

Part of my home automation is monitoring power usage as well as solar production. When I had my SunPower system installed two years ago, I had researched how to monitor the system locally. I’ve written about my system and how I monitor it. While SunPower has their own app, I’ve never relied on it because it isn’t integrated into the rest of my home automation setup. I was told by the installer that if there was ever a problem, they would be notified and would give me a call to come out and take a look. That shouldn’t great, but I never really trusted that would happen as one of the panels wasn’t activated when the system was turned on and because of my own monitoring, I alerted them to come out. I have no idea if they would have called me to fix the problem or I would have been out 1 panel of production.

If you follow the discussion of my article, you’ll see that people have been reporting that the SunPower app isn’t showing any data. I hadn’t noticed, but checked and saw that the app hasn’t recorded data for the last 1.5 months! Ouch. I don’t know how SunPower or the installer monitors the system when it hasn’t reported in, but I would have expected a call to fix the system. Luckily I don’t rely on the app to see production. My nice dashboard in Home Assistant tells me production and usage without talking to the cloud. If my system had failed 1.5 months ago, it would cost me a significant amount of money and I would have been quite annoyed that SunPower didn’t alert me.

I just used the app to change the device to connect via WiFi (it is still connected via wired Ethernet) and now the device says it is online. Will it work tomorrow when the sun is up? I don’t know. Do I care? Not really as long as my non-cloud based system keeps working.

Side note

This year we may have turned a corner with relying on the cloud for various home automations. The Matter standard aims to join various systems and have local control over devices. Will this work out? I can only hope.

Eating my own words (again)

I’ve spent a little less than half my career self employed and the other half working for companies, so I’d like to think I know something about the pros and cons of both types of work. In the last two companies I worked, I said at the end of my tenure that I’d never work for anyone again and would always be self employed. That didn’t work out for a number of reasons causing me to eat my words.

Being self employed sounds great as I didn’t have a boss, no reviews, I could work my own schedule, and no one was looking over my shoulder. That was only partly true; as a contractor I always had to work on someone else’s schedule and meet deadlines. In addition, I was sometimes the only person doing my type of work meaning I had to handle all the support, deal with all the issues, and sort of be on call all the time. Also any time I took off, I didn’t get paid for meaning that it could be very costly (depending on the contract I could get paid for some vacation, but I always felt guilty about taking time off). Being self employed also means sending out invoices, hoping you get paid on time, stressing over raising rates, and crossing your fingers that your contract isn’t terminated without notice.

One of the things that I missed when I was self employed last was working with other developers doing the same type of work, i.e. iOS or Mac development. This made it hard to learn new things as there was no one around to push me or show me better ways. No one was looking over my code and since I’m not perfect, I likely kept making the same mistakes over and over again.

This past April I started a new job and now work on a team with another 14 iOS developers. I pretty much learn something new everyday and know that I’m not alone when it comes to figuring out problems or tackling the work. Of course, I do my best at work, but it is much easier to leave work at the end of the day.

As much as being self employed sounded great, this change has been good to me and has lowered my stress. It has also given me opportunities to learn new skills and hone my existing ones.

Those words about never working for someone else sure tasted good!

Fixing Battery Drain in Kwikset Locks

Almost 10 years ago I installed Kwikset Z-Wave locks on our doors. They had been working well for years, but I noticed that the batteries drained faster than I had expected. I attributed this to buying refurbished or b stock locks and just tried to get batteries that lasted longer. Last December I decided to replace the locks with new ones that hopefully drained the batteries slower.

The locks appeared to drain slower initially, but I wasn’t get the year out of a set of batteries that I had read others could get; I could get a few months. After one of the updates to Home Assistant, I noticed in the Logbook that it recorded Z-Wave commands. In the list of commands were a bunch of "lock" commands sent to one of the locks; about once every 30 seconds at night.

Ah ha! It finally dawned on me. In my Node-RED automations, I had it setup to lock the garage door lock at night if the door was closed. This was repeated every 30 seconds. I had thought that if the lock was locked, nothing would happen. That was not the case as Home Assistant happily sent the command causing the lock to wake up every 30 seconds. The fix was quite simple: before sending the lock command check the state of the lock as Home Assistant stored this without having to poll the lock. With this simple change I stopped seeing the Z-Wave lock command and knock on wood, the batteries are lasting longer!

Review: Ryobi Hobby Station (and a missed opportunity)

I love having the right tools for the job whether it is software tools or physical tools to tackle projects around the house. As I’ve mentioned before, I really like the Ryobi 18V One+ line of tools. I have a number of the tools and keep adding to my collection. While the tools may not be contractor grade, they are more than enough for my uses.

Last year they announced a number of new tools in their collection including a new Power Source that can charge batteries from USB-C as well as power USB-C devices. Unfortunately the product isn’t available and I check Ryobi’s website every few days to see if the "Coming Soon" button changes to "Buy Now".

A few weeks ago when I was checking the site, I noticed the Hobby Station which takes on of Ryobi’s rotary tools and turns it into a drill press and holds the tool making it easier to use. This was a little expensive for what it was, but I decided to order it. Even though I don’t own any of the rotary tools that Ryobi says works with it, I though that I might be able to use my P460 Rotary Tool Station with it if I screwed off the top housing. What I didn’t realize at the time is that the diameter of that housing and the diameter of the tools that are designed to work with the station are different.

The Hobby Station arrived and I quickly set it up. When I put the tool in the holder, I found my mistake where the tool was too small. However, that didn’t deter me. I screwed the tool in place and it gripped the rubber and seemed fairly secure. Perfect, I didn’t have to return it!

Hobby Station
Hobby Station with rotary tool

Later I thought about the main nut holding the tool in place digging into the rubber and didn’t like it. So I looked for a reducer bushing and thought I found an irrigation one at Home Depot, but realized that the threads probably wouldn’t match. Not deterred by this, I asked my son if he could design a part and I could 3D print it. After a number of test prints, we had a working bushing! While it isn’t an exact fit, the plastic is soft enough that the threads of the tools can dig into it and provide a fairly tight fit.

Reducer Bushing

Now that I had a working hobby station, what do I think? For starters, the drill press has limited utility. With my solution, there is a bit of wiggle in the tool and frankly, how often have I needed a drill press? The station does hold the tool and make it easier for me to just hold the working piece. The angle adjustment is somewhat useful as I can see myself using it facing straight down or at a 90 degree angle. I don’t know how much I’ll use the fence that comes with it or use the vacuum attachment.

Rotary tool in hobby station

Pros

  • Convenient way to hold a rotary tool
  • Flexible angles to hold tool
  • Appears well made

Cons

  • Only works with some rotary tools
  • Drill press has limited utility
  • Over priced

Summary
This tool is definitely over priced and has limited utility for many people. It isn’t a precision instrument which is needed for a drill press. It does seem like it is built solidly and will work for my needs; holding the rotary tool while I work on something is very useful for me.

Unfortunately I can’t recommend this to others; I will keep mine, but there are probably better solutions out there. If Ryobi had included a reducer bushing to fit their other rotary tools, it may have been a more compelling purchase and would definitely increase potential buyers.

Review: Costco Optical

I’ve been wearing glasses or contacts since I was about 12. As I’ve aged, my eyes have gotten worse and my glasses prescription has become more complex. For the last 20 years or so, I’ve bought my glasses from the optician associated with my optometrist or ophthalmologist. Vision insurance paid for some of the cost, but had to be used at certain locations. Even with insurance, my glasses cost a lot so I had to wait every 2 years before getting a new pair; I believe my last pair of glasses cost over $600 out of pocket with insurance picking up about the same. That’s just crazy for a pair of glasses!

My parents have been using Costco Optical for years and have generally been satisfied with them. This year after my eye exam, I wasn’t eligible for insurance to cover anything on my glasses, so I decided to try out Costco. My ophthalmologist warned me about their lenses and said they weren’t as good as the ones her optician sold. How many companies actually manufacture lenses? I know that Luxottica basically has corned the market on vision insurance, frames, lenses and retail outlets! I figured I didn’t have much to risk trying out Costco; they do have their own lab in Chula Vista (south of San Diego) and computers do most of the work grinding the lenses.

A few weeks ago, we went to Eyeglass World to buy my son new glasses (he wanted the same ones he already had so that was easy). My wife and I looked at frames and they had a decent selection of frames. Going through the numbers, 2 pair of glasses for me (regular glasses and computer glasses) would have been $700, I believe. We decided to visit Costco to see what they could do. Costco’s frame selection isn’t as large, but we both managed to find frames that we liked. I found "designer" Oakley frames that were about $85 (frame only) vs the standard frames that ran about $50; definitely lower priced than other places, but the frame price is only a small fraction of the cost of a pair of glasses for me.

My wife picked out sunglasses and regular glasses; I picked regular and computer glasses. Both of us have pretty bad eyes and need progressive lenses in high index material that tends to drive up the price. I like transitions (darkening) in my regular glasses so that adds to the cost. By the time we were done with our glasses, it cost us $700 for 4 pair of glasses (my wife had about $150 in insurance benefit)! Wow, after we paid I told my wife that if the glasses work out, there will never be a reason for me to wait for insurance to kick in to buy new ones!

I’ve been wearing the glasses for a few weeks now and it took a little getting used to the computer glasses (the other glasses are about the same prescription as my last ones). I’m pretty impressed with them; I can see well and I really like the frames. The optician I went to had 1 or 2 men’s styles and nothing like what I got. I’m really kind of surprised how much I like my glasses. They seem well made and the prescription seems on target.

Pros

  • Excellent price
  • Backed by Costco
  • 90 day guarantee to make it right (i.e. wrong prescription, made wrong, etc.)

Cons

  • Limited selection of frames
  • Limited choices on lens options (Costco offered 2 types of Transitions; Eyeglass World offered 4 including 1 that would change while driving)

Summary
If you wear glasses and need new ones, I would definitely check out Costco. The price is truly amazing and I couldn’t be happier with the quality of the lenses.

Does privacy really exist?

The other day my wife and I were talking about the Live scan requirement for AB 506 that I’ll have to do as I’m a Scout leader even though I have been live scanned before to renew my EMT certification once. Live scan is done on a per organization/company basis and is a snapshot in time making it somewhat pointless in my opinion.

My wife suggested that the live scan results aren’t shared because of privacy concerns which got me thinking about how much privacy most people can have in today’s society.

Whether you like it or not, you’re being tracked by the government and various companies. For instance, every time you use a credit card, the date/time, location, and name of the vendor is tracked by the credit card company. While it may be to help prevent fraud, they can build a pretty detailed picture of you just based on your buying habits. Likewise if you have a club card at a super market or shop at Costco, you can bet the data is being used to target you for ads.

Many people don’t realize that they’ve accepted this "invasion" of privacy as they have to sacrifice it for convenience. In addition to your shopping habits, if you own your house it does not take much to figure out where you live.

Let’s get into the more subtle ways you’re being tracked. I just read an article the other day how many law enforcement agencies in San Diego county are using License Plate Readers (LPR) which can give law enforcement a decent idea of your driving habits if you happen to pass by the readers (some are on police cars and others may be stationary). LPR is not just used by law enforcement. The University Town Center mall uses LPR in its parking garages so you can exit without having to insert your ticket in the machine. If you frequent the mall, your habits are being tracked.

If you think that your ad blocker and turning off location services on your cell phone prevent you from being tracked, you’re mistaken. Cell phone companies can know which cell towers your phone hits as it is required in order to route calls to you. Do they keep that data and do something with it? I have no idea, but it is quite possible and not just some made up stuff seen in TV shows.

Do you have a car with "connected services" in it? You’re being tracked. While you can ask the company to turn off all services, you lose the ability to have collision notification, vehicle theft recovery and some other features. In order to have the convenience and safety of these features, your location is being tracked. I have no idea what the car manufacturers are doing with this data, but they’re collecting it. Even if you don’t subscribe to the services and don’t explicitly opt-out, they still may collect the data as the cost to keep a live cellular connection in your car is minor compared to what they can do with your data.

Don’t forget about your Netflix or Amazon Prime history. When and where you watch a show along with what the show is can be valuable data that forms a picture of who you are and what you do.

Is there anything you can do about staying private? I suppose you could always pay cash, stop using a cell phone, drive a car without connected services (or rip out the cellular connection), avoid all places with LPR, etc. Is this practical, not really? Does this mean you should just give up on privacy? I don’t think so, but you have to be realistic on what you can control and how much will it inconvenience you.

Personally I’m not going to change my habits, but I am very cognizant of what I post, when I post it (posting stuff on vacation could give a clue that I’m away from home), and how much I share. That’s really all I can do without wearing a tin foil hat and living off the grid.

The Promise of Wireless CarPlay

I’ve been a huge fan of CarPlay for 5 years and can’t imagine a car without it. Lately I’ve been reading about adapters to make wired CarPlay into wireless CarPlay. This sounded perfect as I wouldn’t have to take my phone out of my pocket and still be able to use CarPlay.

There are a number of devices out there that are basically hacks that make a car think that a wired device is plugged in and then have the iPhone talk wirelessly to it. None of how to do this is public knowledge and I doubt the manufacturers got Apple to reveal the secret sauce, so I knew things might not be perfect.

I decided on this device as it was small and supposedly had the latest hardware version. Installation was a breeze and I was amazed that it worked just like wired CarPlay except that there was maybe an additional 15 second startup time. Given the convenience of not having to plug in the phone, I could accept the delay.

I happily used the device for a few weeks on short trips around town and was pretty pleased with it. When we went on a longer trip, the device restarted after about 90 minutes. The dongle was warm to the touch and I suspect a big heat sink would mitigate the problem. In addition to restarting after awhile, the music was sounding garbled. At first I thought it was the streaming connection, but plugged in the phone and the issue went away.

One of the interesting, lesser known features of CarPlay is that if you have a garage door opener connected to HomeKit (I now use OpenGarage connected via Home Assistant, a button will appear on CarPlay when you are close to your house that lets you open and close the door. Why not just use the opener in your car, you ask? My wife has had a lot of problems with the HomeLink connected mirror triggering the door and kept sending me messages to open or close the garage. This feature, however, wasn’t working reliably with wireless CarPlay and I couldn’t pinpoint the problem.

After a bit of thinking about HomeKit and wireless CarPlay, I have a theory. HomeKit, when away from home uses a hub such as an Apple TV or HomePod Mini to communicate. When you’re on your local network, your phone talks directly to whatever device. Wireless CarPlay uses Bluetooth to setup a connection from the phone to the car (or device) and then switches to WiFi for the extra bandwidth. The car (or device) creates a private WiFi network for communication. Normally when apps talk to the network, they’ll try to use the primary interface (WiFi usually) and then failover to cellular if needed. When using wireless CarPlay, the WiFi connection always will fail and have to failover to cellular. This causes some delay and may be a bit unreliable depending on how long it takes to failover. Apple has an option called Wi-Fi Assist that is supposed to handle this automatically.

So while wireless CarPlay is a great feature, the dongle I purchased had some issues, but what really caused me to return it was opening the garage door; I was just tired of pushing the door button and not having it work.