• Monthly Battery Checks

    Every month I have a routine where I make sure batteries and devices that I don't use regularly are charged. Some may think that I'm a "prepper" getting ready for a major disaster, but I'm definitely not that extreme (I don't have a bunker and am not off the grid!). You never know when some of this will come in handy; a few months ago the power went out at dinner time due to an emergency transformer replacement. I pulled out the LED lanterns I have (the orange pucks in the picture) and we had light. It wasn't a big deal.

    I know that I still have a lot of work to do to be fully prepared for an emergency, but having light, some power, and cooking equipment (my camping stove is in the garage and we have a gas grill outside) goes a long way. The good news is that much of my gear is used for camping so it isn't just sitting around collecting dust (some emergency meals I have need to be checked as I have no idea how old they are!).

    I highly recommend that people regularly charge devices, check flashlights, and have some portable battery packs lying around.

    Also, just about all my devices can be charged via USB which makes it easier to charge everything.

    In case people are curious, here's what is in the picture.

  • Fighting back against rebates

    The other day I was filling out a rebate form and it got me thinking. Rebates are a great way for companies to make people believe that they are getting a deal on a product. The reality from what I've read, is that most people don't bother filling out rebate forms or fill them out incorrectly and don't receive the rebate thereby making rebates just a marketing gimmick. Years ago, the minority of people that received rebates got checks that they could deposit.

    At some point, companies decided to switch to prepaid gift cards that are more difficult to redeem. The gift cards expire within a few months and it is hard to use up the last few dollars of the cards since many vendors don't do split payments across multiple payment types. After thinking about this for awhile (yes, I think about strange things), I came up with what I consider a brilliant solution. As a frequent Amazon shopper, I figured that I could just buy an Amazon gift card and apply it to my account. Amazon lets you purchase a gift card in any amount (not sure if it is whole dollars only) and then have it sent to yourself. Apply it to your account, it doesn't expire, and there is no need to worry about spending the last bit of the card.

    Next time you get one of those prepaid gift cards, go ahead and buy an Amazon gift card and either send it to me or apply it to your account! You'll thank me for not having to deal with that piece of plastic for more than a few minutes.

  • Dealing with the influx of scooters

    I try to get out and run 3-4 times a week down by Mission Bay as there is a nice path and I don't have to be afraid of vehicle traffic. I used to run on the sidewalk where there was one and on dirt when there wasn't; however with traffic whizzing by at 55 mph (speed limit is 45 mph), I got smart and decided that I'd just drive to a nice place and run. Last year on one of my runs, I noticed electric scooters parked in groups along the path. Over the course of the next few months, the scooters started appearing just about everywhere I went in the city.

    The scooters are an interesting solution to the last mile problem and appear to be useful for a lot of people. However, the companies that are running the scooters have taken the approach that they'll just "disrupt" transportation and simply do what they want and deal with the fallout and laws later. This has been a big topic on the news with injuries happening all the time, lawsuits (currently San Diego is facing a lawsuit about disabled access on the sidewalks), and some riders disobeying laws.

    The San Diego mayor and city council have been working on ways to handle these scooters so that they can co-exist with everyone in the city. While this may seem like the right thing to do, I'd argue that instead of spending time trying to handle these scooters, how about taking a look at the problems they are causing and what laws already exist to handle them.

    In my view, there are a number of issues that I've seen:

    1. Scooters are parked on the sidewalk either by the companies (or their contractors) or the riders.
    2. Scooters are being ridden on the sidewalk and the riders are getting into accidents with innocent pedestrians.
    3. Scooter riders are riding in the street in the wrong direction and not stopping at traffic lights and/or stop signs.
    4. Parent and child riding on a scooter.
    5. Kids riding the scooters.

    The scooters, themselves, aren't the problem in my opinion. It is the riders (mostly) that don't know what they are supposed to do or frankly don't care.

    Let's take a closer look at my list.

    Scooters parked on sidewalks

    This is already illegal under California Vehicle Code 21235:

    (i) Leave a motorized scooter lying on its side on any sidewalk, or park a motorized scooter on a sidewalk in any other position, so that there is not an adequate path for pedestrian traffic.

    While people may argue what is an adequate path, unless the sidewalk is really wide, a scooter on the sidewalk won't allow 2 people to pass one another comfortably.

    Scooters ridden on the sidewalk

    This is already illegal under CVC 21235:

    (g) Operate a motorized scooter upon a sidewalk, except as may be necessary to enter or leave adjacent property.

    If we consider the path around Mission Bay a bike path and not a sidewalk (scooters can be ridden on bike paths), San Diego Municipal Code §63.20.7 states:

    Driving Vehicles On Beach Prohibited; Exceptions; Speed Limit On Beach
    (a) Except as permitted by the Director and except as specifically permitted on Fiesta Island in Mission Bay, no person may drive or cause to be driven any motor vehicle as defined in the California Vehicle Code on any beach, any sidewalk or turf adjacent thereto; provided, however, that motor vehicles which are being actively used for the launching or beaching of a boat may be operated across a beach area designated as a boat launch zone. Original

    A scooter is defined as a motor vehicle under California Vehicle Code and the path around Mission Bay is adjacent to a beach thereby making it illegal to ride a scooter on the path.

    CVC 21230 states:

    Notwithstanding any other provision of law, a motorized scooter may be operated on a bicycle path or trail or bikeway, unless the local authority or the governing body of a local agency having jurisdiction over that path, trail, or bikeway prohibits that operation by ordinance.

    Meaning that San Diego (as they have done) can regulate scooters on bike paths.

    Scooters ridden recklessly

    As scooter riders must have a driver's license (or permit) and scooter are classified as motor vehicles, the riders must follow all the rules of the road including which direction they ride on the street, stopping at stop signs or traffic lights, yielding, etc. This is already covered under California Vehicle Code.

    Parent and child riding on a scooter

    Again, illegal under CVC 21235:

    (e) Operate a motorized scooter with any passengers in addition to the operator.

    (c) Operate a motorized scooter without wearing a properly fitted and fastened bicycle helmet that meets the standards described in Section 21212, if the operator is under 18 years of age.

    Kids riding the scooters

    Illegal under CVC 21235:

    (d) Operate a motorized scooter without a valid driver’s license or instruction permit.

    As I wrote in the beginning, I don't have a problem with the scooters if they are operated in a safe and respectful manner (just like driving). I do, however, have a major problem with scooters blocking the sidewalk when parked and riders zipping by me when I'm walking on the sidewalk. In addition, driving is already dangerous enough without having to take into account a scooter rider on the road not obeying the law.

    Instead of trying to add more regulations for scooters, how about the city enforce the current laws on the books? This would go a long way at solving the problems. The companies that operate the scooters could possibly do more to make their riders understand how to properly operate them. As much as I'd like to blame these companies, it is the riders that are causing the problems. The companies, however, need to stage their scooters in appropriate locations to not block sidewalks and need to pick them up in a reasonable amount of time as they look like trash scattered all over.

    I am not a lawyer and this is not legal advice. This article is based on my interpretation of the laws.

  • Automating my TV

    One of the lazy things that I've tried to do was have the Amazon Echo turn my TV on and off. When I had Home Assistant running on my Raspberry Pi, I used a component that controlled the TV and Apple TV via HDMI CEC. Unfortunately it wasn't quite reliable and I lost the ability to use it when I migrated to a VM for Home Assistant.

    In a recent release of Home Assistant, support was added for Roku and since I have a TCL Roku TV, I decided to give it a try. The component itself works, but has a few major limitations for me. First off it initializes on Home Assistant startup. In order to conserve a little energy, I have my TV, Apple TV, and sound bar on a Z-Wave controlled outlet. The outlet doesn't turn on until the afternoon, so most of the time when Home Assistant restarts (I have it restart at 6 am so that my audio distribution units initialize as they also turn off at night), the TV isn't turned on. The second issue has to do with the TV going to sleep. It has a deep sleep and a fast start mode; fast start uses more energy, so I leave it off. The Roku component uses HTTP commands to control the device or TV; when the TV is in deep sleep, it doesn't respond to HTTP commands. This, of course, makes it impossible to turn on the TV with the component.

    After thinking about this problem for awhile, I came up with some Node-RED flows to turn on the TV and handle status updates. The TV, it turns out, responds to a Wake-On-LAN packet as I have it connected via Ethernet and Home Assistant has a WOL component that lets me send the packet.

    My flow to check on the TV state is a bit complicated.

    1. First it pings the TV. The ping is done every 10 seconds.
    2. If the TV responds, it sends an HTTP request to the TV.
    3. When the response comes back, it is parsed, the current application running is checked. This also lets me know what Roku channel is currently active. I have noticed that my TV reports that the Davinci Channel is active when I turn the TV off, so I special case that.
    4. If the channel is not null and not the Davinci Channel, I then send a command to check to see if the display is off.
    5. After I figure out the app and if the display is off, I craft a new payload with the current channel in it.
    6. The payload is then sent in an HTTP request back to Home Assistant's HTTP Sensor API
    7. If the TV doesn't respond to the ping, I set the payload to off and then send the state to the Home Assistant API.

    Tv state flow

    Turning on the TV is a bit less complicated.

    1. Send WOL packet to TV.
    2. Pause.
    3. Send HTTP command to turn on TV.
    4. Send HTTP command to set input to HDMI3 (my Apple TV).

    Turning off the TV is even easier.

    1. Send HTTP command to turn off TV.

    Tv on off flow
    When I turn on the TV outlet, the state of the TV gets updated pretty quickly as the ping command from above is running every 10 seconds.

    I've posted the Node-RED flows below that can be imported and modified for your situation.

    Download Node-RED flow to turn Roku TV on/off

    Download Node-RED flow to get current TV state