Pages

Wednesday, November 4, 2026

Stepping Away from My Computer

Trading the glowing monitors for fall leaves and tree roots on my daily Big Finn Hill Park loop

     Anyone who reads my blogs knows I spend a lot of time in front of a computer, but I actually make a point to get outside every single day too! I usually don't write about it because I walk the exact same loop almost every day, and there is only so much you can say about walking past the same trees. Right now, though, the fall leaves are really making the forest stand out, so I thought it would be fun to go back through a few photos from my recent walks. A couple of weeks ago, I went out for a walk in the woods with one of my daughters, and we spent the whole time hunting for all the different mushrooms popping up along the trail. There were tons of them everywhere; I have no idea if any of them were actually edible, and since my mycology skills are pretty much nonexistent, I was definitely not about to find out the hard way :). Still, they looked pretty cool, so I put together a little collage from our walk.

A sample of the mushrooms my daughter and I found in the woods (none of which I was brave enough to taste-test)

     Honestly, going for this walk is often one of the highlights of my day. I stick to the same three-mile loop pretty consistently; if my schedule gets tight, I might split it up into a one-mile loop in the morning and a two-mile loop in the afternoon, but most days I just do the whole thing at once. A big reason I like this particular route is that it combines three solid hill climbs with a long stretch through the forest, which is the part I always look forward to - because let's face it, walking past a bunch of houses and parked cars is not exactly spectacular.

     The forest section cuts through Big Finn Hill Park, right between the middle school and the elementary school. I always call the water in there a lake, even though it is really more of a swamp or wetland drainage basin. Either way, it is a great spot to walk through, with miles of trails for both walking and mountain biking. Lately, I have been using these trails to teach our girls how to mountain bike. A lot of the paths through the trees are covered in exposed roots, which turns out to be a great training ground for teaching them stability on a bike; it gets them comfortable with the idea that their wheels will roll right over big bumps as long as they keep their momentum up and keep their feet on the pedals. Right behind this loop, there are another five miles of trails that I don't usually have time for on a normal weekday. In the summer, though, when the weather is nice and I have a little extra time, I like to tack on a section I call climbing the mountain up to the top of Finn Hill (even though I know for a fact there are higher elevations around here, since the park mostly runs down along the river valley).

A fork in the Big Finn Hill Park trails where I have been teaching the girls to ride their mountain bikes over tree roots

     More than anything, this loop is my main way of blowing off steam, enjoying the day, and having an hour where I don't have to worry about anything on my to-do list. I don't have to worry about work, getting the kids to school, or taking care of anybody but me for a little while. At this point in my life, I am squarely middle-aged... right in that prime window where people go through a midlife crisis (and I am pretty sure I am right in the middle of mine in a few ways). Especially lately, every time I talk to a doctor I walk away feeling old... so half the point of getting out on the trail every day is just working through all of that and trying to feel better.

My three-mile walking loop: blue is a slower pace, orange is average, and brighter yellow-orange is a faster pace
     If you look at the pace map of my walk, the colors show how the terrain naturally mixes up the workout: blue sections are a slower pace (there are none of those!), orange is an average pace, and the brighter yellow-orange spots are a faster pace. Up at the very top of the map is a steep uphill climb, and that little loop jutting off to the left on the west side is the forest trail where all the rolling hills and tree roots are (so it is constant uphill, downhill, uphill, downhill over roots the whole way). Since the woods sit down in the basin between two hills, coming out of the trees at the very bottom of the map means tackling a second steep climb. Then over on the east side, there is a gentle downhill before one last uphill shelf right before I get back to my house. Having those three big climbs spread across the loop means that if I just hold a steady, brisk pace, my heart rate naturally rises and drops like built-in interval training. On the straightaways, I also like to alternate one minute of walking fast with one minute of walking slow, which explains a lot of the light and dark orange stripes along the street sections. According to AI, keeping your heart rate moving like that and improving heart rate variability is supposed to be great for managing cholesterol and triglycerides - or at least that is what the bots tell me ;).

Yellow and orange fall leaves along the trail, complete with a rare patch of blue sky and sunlight before the November rain sets in
     The nice part is that I don't actually have to stare at my watch or think about timing those intervals while I walk. I use the Google Health app on my phone, and it just plays a quiet little click and a tone in my headphones whenever it is time to pick up the pace or slow back down to relax. That leaves my brain free to listen to music or an audiobook and actually enjoy looking at whatever is around me.

     Now that the fall rain is rolling back in, it is getting a lot harder to catch days that look like this last photo. Having all the yellow and orange trees lining the path, leaves falling everywhere, and a little clearing in the clouds with blue sky and sunlight filtering down through the branches was a pretty great perk for a weekday walk.

Later,
     SteveO

Tuesday, November 3, 2026

The Case of the Missing Switch

The glove box plot twist: one missing Nintendo Switch and a bonus camera phone we did not even know was lost

     I am taking a break from all the heavy technical jargon today to tell a funnier story from around the house: how we tracked down my daughter's missing Nintendo Switch. It all started yesterday while I was trying to link my Xbox Live account to Minecraft so she and her sister could play together on my new private family Minecraft server I set up for them (which is a whole story for another day, probably over on the Frizzle Tech Blog). Everything was going fine right up until we asked my daughter where her Switch actually was, and she had no idea. So we played twenty questions with her: where do you remember playing it, and what do you remember doing with it last? She came up with a time she had played it, just not the time we were looking for. Then my wife mentioned that she thought she saw her playing it on the couch the weekend before, on Saturday, October 24th.

     Normally, our default move when something vanishes with a date attached is to check our Reolink cameras to see if we can spot the item being used that day. The catch is that we do not actually have a camera pointed at our couch; our camera is angled to watch the front door and a few windows as a security camera rather than pointing where we sit and hang out most of the time. That is very much by design, since I have long since moved away from the days of having a webcam pointed at me 24/7 in my living room (those of you who read this blog way back in 2005 and 2007 might remember that experiment, which in hindsight I am delighted to say nobody ever really watched anyway... yet, I digress). Sure enough, we checked the footage for October 24th and came up completely empty.

     Since we had no clue where to look next and I have been on a bit of an AI kick lately, I wondered what would happen if I asked my AI to solve the mystery for me. I pulled out my phone, opened up Antigravity, and told it to search my network and IP history for any Nintendo Switch that left our Wi-Fi network in the past week and never came back, and to check for any correlation between when that Switch disconnected and when we might have left the house based on location data. Right after I sent the prompt, something else came up, I had stuff to do, and I walked away and completely forgot about it until after dinner. While I was talking with my wife later that evening, she wondered out loud if AI could help us figure out where the Switch went. I laughed and said, "Oh, I already asked it," which reminded me to actually check my phone.

     Waiting on my screen was a mountain of detective work. It had pulled a log of every Nintendo device on our network: three Nintendo Switches, a Wii U, and even a fourth Nintendo device that had not been at our house for over a month because my wife let a friend borrow it (which the AI smartly ruled out on its own since I had asked about the past week). I thought it was pretty funny that ninety percent of this detective work actually came straight from Home Assistant, which quietly saves the state of visible MAC addresses on our network through an integration I installed; Home Assistant came to the rescue, and AI just gave me a fast way to connect the dots. Even better, the very first thing the AI noticed instantly validated my wife's intuition: the missing Switch had vanished on Saturday, October 24th, the exact day she remembered!

     Digging into the logs, the AI found that the Switch was connected to our home network on October 24th right up until 2:07 PM, when it suddenly suffered a huge burst of packet loss and disconnected for good. Anyone who knows a little bit about networks can picture what was happening there; a device riding away in a car is going to experience heavy packet loss right before the connection falls apart at the edge of the Wi-Fi range. Because Home Assistant also tracks the location of my phone, my wife's phone, and our Tesla (since I use TeslaMate to log all the car data into Home Assistant), the AI showed that at 2:07 PM on the dot, our phones started accelerating away from the house. It mapped out our entire Saturday marathon: first to Guitar Center for one of my daughters' drum lessons, then to Alderwood Mall to buy a birthday gift for a friend, then to the friend's birthday party, followed by downtown Woodinville where the restaurants were doing trick-or-treating a week early, and finally a church trunk-or-treat event with kids' activities before we got home around 7:00 PM.

     Then came the funniest deduction of the whole report. Because the AI knew from TeslaMate that the Tesla stayed parked at home all afternoon, it knew we had taken the Honda Odyssey instead! Home Assistant does not directly track the Odyssey anymore; I used to keep a tracking device plugged into it, but I pulled it out recently because we have not been driving the van much and leaving that dongle plugged in slowly drained the battery while sitting in the driveway (though this whole episode made me wonder for a second if I should put one back in, right before I realized that tracking our phones already tells us everywhere that van goes anyway). Since the Switch never reconnected to our Wi-Fi when we got home at 7:00 PM, we had our actionable clue: my daughter had brought the Switch into the Odyssey, the battery in the switch had died while we were out, and it was still hiding somewhere inside that van.

     I headed out to the driveway with my daughter and started digging around the Odyssey, checking between the seats and in pockets while trying to think where a kid would stash a console. We always remind our girls never to leave valuables sitting out visible in the car when we go into a store (ideally you bring it with you, or at least hide it out of sight), so we figured she must have tucked it away somewhere clever. Right in the middle of the search, my daughter suddenly said, "I gave it to mom. I know, I must have given it to mom."  This is a thing they always do; I give her grief, but she always accepts the items they give her.

     Anyway... that changed the whole search strategy. Knowing my wife, if she is sitting somewhere and someone hands her something, she is somewhat predictable; either going to carry it around with her in her purse (we know that didn't happen because the thing is lost), or she is going to put it down in front of her or right next to where she is sitting. Since she rides in the passenger seat, I checked the center console right next to her first, and it was not there. Then I checked under the passenger seat, and it was not there either. Finally, I thought for a second; what is directly in front of her? The glove box! I popped open the glove box, and sure enough, sitting right inside was the missing Nintendo Switch - and as a bonus prize, right next to it was our other daughter's old deactivated cell phone that she uses as a camera, which we did not even realize was missing yet :). AI and Home Assistant got us to the right car, but it still took knowing my wife's habits to crack the last two feet of the mystery.

Later,


     SteveO

Monday, November 2, 2026

Teaching Cloud Agents to Mirror GitLab (When They Only Speak GitHub)

     If you want a humbling lesson in the limits of cloud AI, try convincing an autonomous agent to acknowledge any version control system that isn't blessed by its creator. Over the past couple of days, thirty new suggestions rolled in from Google Jules across my personal repositories. Having an AI throw thirty suggestions at you before you even pour your morning coffee is a strange experience; it feels less like having an elite pair programmer and more like managing an over-eager intern who drank three Red Bulls and started refactoring everything in sight.

     I've actually refined this process a little.  See, I just click start on all of them, then rely on my local triage squad of agents to work through the pile. Out of thirty suggestions, they threw thirteen in the trash. Most of those rejected items were classic AI churn; cosmetic whitespace changes, duplicate lint passes, and redundant null checks that did not actually fix anything. But a handful of them genuinely mattered. They caught and patched real path traversal security vulnerabilities, some minor bug fixes, and cut two clean releases before dinner.

     That seems great, until you see the exponential rise in Github Actions usage.  So, the small taste of productivity put me into a strange situation; I eat through my entire free quota of Github actions in less than a week. The only real choice that gives me is to pay money or self host the pipeline.  I spent the afternoon setting up a self-hosted GitLab pipeline on my homelab for Gas-Logger, complete with automated Gradle test runs, APK builds, and deployment hooks. Since Jules was already churning out code suggestions, I figured: why not point the agent directly at my self-hosted GitLab instance instead of keeping everything chained to GitHub? It took about five minutes of digging through the Jules documentation to realize that was never going to happen; the underlying bot source is fundamentally hardcoded to GitHub OAuth and repository IDs. The cloud agent literally refuses to leave GitHub.

     Because the AI clings to GitHub like a security blanket, I had to build a chaperone. I wrote a Python daemon to run on my homelab server, polling GitHub for merged changes, release tags, and open branches, and mirroring them over to GitLab. Distributed systems immediately reminded me who is boss; the sync script developed an annoying race condition (because of course it did) where tasks marked themselves done before git had actually finished pushing the branch. I had to hunt down the timing bug and rebuild the sync routines across all three repositories so my local CI runners did not try to build phantom commits.

     Everyone online keeps hyping the fantasy of AI agents writing entire applications from scratch while we sip drinks on a beach, but that has not been my reality at all. In practice, you spend half your day babysitting their vendor lock-in, hunting down stupid race conditions in custom mirror daemons, and filtering out forty percent of their output because it is pure noise. Having AI catch a real storage vulnerability is neat, but when tons of automated motion amounts to so much maintenance plumbing, you have to wonder where the busywork ends and the actual value begins. I suppose fixing the plumbing is still my job.

Later,
SteveO

Friday, October 30, 2026

28 Pull Requests Before Midnight (And Why My Cloud Agents Need a Chaperone)

-- P.S.  Thank you Nano Banana for the graphic, it emphasizes the issue in a strange way... more AI slop for the Internet!

     There is a specific panic that hits at twenty minutes to midnight, when you casually click a few repository suggestions in Google Jules and realize a cloud agent has opened twenty-eight pull requests against your main branch. Having an AI hunt down security bugs while getting ready for bed sounds great; in reality, every single pull request instantly spun up a production GitHub Actions runner (which will chew through monthly CI minutes faster than anything else I know).

     The fixes themselves were actually solid. Jules tore through three of my personal projects (NL-Nutrition, SuperBudget, and Gas-Logger) like there was no tomorrow. It patched path traversal holes in Gas-Logger across PRs; it closed an SQL injection risk (I think... who knows really) in NL-Nutrition; it locked down CORS origin rules in SuperBudget; and it migrated brittle date parsing to thread-safe DateTimeFormatter calls before expanding unit tests. Part of me was thrilled to see tedious cleanup handled in twenty minutes - the code was cleaner, test suites were fatter, and I only clicked a button and had paperclip agents push the code through a multi-agent (Antigravity, Claude, and Codex) until it was merged to... main?

     The problem is that cloud agents do not pay your cloud bills. When Jules finishes a batch, its instinct is to aim straight for main; meaning my repositories started kicking off full integration suites and Docker builds all at once. Luckily, I built a local chaperone. My homelab server runs a daemon called jules-governor that wakes up every ten minutes, scans GitHub, and quietly re-targets open Jules PRs from main over to develop. That simple switch diverts the flood into lightweight test runs so GitHub Actions does not eat my lunch before breakfast; truly a lifesaver when letting autonomous bots roam free in your repositories.

     This late-night circus capped off an already wild day of agent operations. Earlier that morning, my local homelab fleet was running its own patrol rounds. Across a three-node Proxmox cluster with twenty-one network hosts and ten active virtual machines, local agents like Aragorn, Frodo, and Gollum (yea, LoTR themed agent names :) audited backups and verified services. Meanwhile, my Home Assistant edge setup (which reports device telemetry to an analytics cloud platform for senior care) ran 1,799 unit and integration tests, alongside 73 UI test suites, against a local Home Assistant Green hub and simulated apartment. So, on paper, I have over 90% of the code tested end to end, but does that really mean any of this crap works?

     Even with twenty-one healthy local agents and hundreds of completed Paperclip tasks under my belt, reality still taps you on the shoulder. By afternoon, two code-review tickets (where Mandos audits a worker teardown fix) sat frozen in blocked status; all because I had burned through my weekly Claude quota and had to wait for the counter to reset. I mean, what is the point of having an AI company if it grinds to a halt because of a quota? Building software with autonomous agents feels like magic when dozens of security fixes land in your lap before midnight; however, the uncomfortable truth is that half the engineering job now is building governors, branch routers, and rate-limit safety nets to keep your digital helpers from lighting your compute budget on fire.

     Anyway, this rant doesn't have a real point.  Just marveling at the way tons of work amounts to nothing in particular.  Its almost like AI never crossed that bridge from busy work to delivering value.  I guess that's my job?

Later,
     SteveO

Thursday, October 29, 2026

I Vibe Coded a Thing... It Was Fun


     If you read Part 2 of my agentic development series, you already met Sleepy Tom, Baking Martha, and the rest of the Virtual Villa residents (none of whom exist, which makes them very easy neighbors). This one is a quick side trip into how the thing actually got built.

     There is a real adrenaline rush in telling an AI to do something, watching it go do it, and then fiddling around in the UI instead of solving the programming problem myself. Solving those problems is a different kind of challenge, and one I would miss if I couldn't do it regularly; however, for a couple of weeks it was oddly refreshing to just let the AI take the reins.

     A lot of this I did by talking to Google Antigravity on my phone. I tried to keep my hands off the keyboard, and I didn't always manage it. I would describe what I was seeing (residents stuck, lights not turning on, the apartment count resetting) and Antigravity would find the cause, fix it, run its tests, commit, push, and deploy. Every time it wrote a file, its own tooling reminded it "Don't ask for permission" - and it mostly didn't. It even built the disposable Home Assistant VM on my Proxmox server with Terraform, and later logged into the host itself to snapshot and upgrade it whenever I asked. Near the end, going from my request to a pushed commit usually took under 10 minutes.

     Everything runs on local IP addresses with no domain name, and the test VM rolls back to a snapshot, so breaking things was kind of the point. I think a sandbox like that is essential when you hand an AI the keys. That said, my idea of "isolated" was a little optimistic... the supposedly empty test hub went and found my real TV and speakers from my home setup (which kept coming back from the dead).  Funny how AI will take the liberty of cloning parts of your real home assistant instance when you tell it to setup a new instance.

     Every room in Virtual Villa has a fake Inovelli Red Series dimmer with presence sensing. At first they showed up in Home Assistant as generic MQTT devices, even after Antigravity copied my real switch's model and firmware details (straight out of my production Home Assistant, no less). So one morning I just asked whether they could be actual Z-Wave devices. Antigravity explained that Home Assistant labels a device by the integration that created it, and when I said yes, it wrote a mock Z-Wave server. It committed at 10:54, and by 11:11 Home Assistant believed it had 145 Z-Wave devices (144 dimmers across 24 apartments, plus the controller).



     My job was playing product owner, and that started well before the Z-Wave work. I wrote the first three residents myself: Sleepy Tom, Antisocial Jim, and Active Jane (I called him Jack in Part 2; he hasn't complained, because he doesn't talk to anyone). Antigravity filled out the rest of the building with folks like Night Owl Arthur and Wellness Clara. I described their days in plain English: meals take 30 to 60 minutes, bathroom trips 1 to 10, and a trip out anywhere from 10 minutes to 8 hours. Motion turns the lights on just like the real switch, except in the bedroom; nobody wants the light coming on every time Sleepy Tom rolls over.


     I also had it read the sun position from Home Assistant so the light sensors would feel real. In my head the bedroom and living room had big windows, the kitchen borrowed light from the living room, and the bathroom was a cave. Antigravity picked its own numbers (living room 100%, kitchen 70%, bedroom 60%, bathroom 8%)... not quite the apartment I pictured, but close enough for a test harness. Honestly, that was the fun of it: I spent my time picturing apartments instead of writing code, which is a nice break from the nitty gritty backend work I usually live in.

     The whole point was verification. Another project I work on, a Home Assistant app that reports device changes to an analytics cloud platform for senior care, needed proof that when a simulated light turns on, Home Assistant sees it and the cloud hears about it. During development the tests could hit Home Assistant's local API all day long; the cloud is a different story. A QA tool is more of a cost center than a value add, so I budgeted one check per device per minute, and later cut that back to device adds, hub changes, an hourly sweep, and the Re-verify button.That 144-device stress test found a real limit, too. When devices went missing in the cloud, Antigravity blamed a container restart until I pushed back. Then it found a hard per-location device cap, so a few days later I cut the building to 16 apartments and 96 devices.


     I really do think this is where software development is headed. With a team of agents, I can do the work of five or six people. I do have to admit something, though... on this one, Antigravity was grading its own homework. It ran its own tests, pushed straight to main, and no second model reviewed anything, which is not quite the picture I painted in Part 2. I did set up a Claude reviewer in Paperclip partway through, but I never pointed Virtual Villa at it; in hindsight, that is exactly what this project was missing.

     The part that worries me is what this does to people early in their careers, which is what Part 3 was all about. If AI becomes a crutch, plenty of developers will ship code like this without knowing if it's any good. I haven't done a deep dive yet, but every task I gave it was focused on one small goal, so I fully expect duplicate logic everywhere (plenty of developers would call it AI garbage, and they might be right). It's fine for a throwaway QA tool - I am nearly positive it is not code I would want running in production.

     Anyway, that's all for now. In a future post I want to dig into the performance and the code to see where the AI cut corners; until then, I'm going to keep tinkering.

Later,
SteveO

Monday, October 26, 2026

So, How is the Tesla Now? Part 3: Elon, Autopilot, Dealership Racket... And an Answer

 After rationing our final warranty miles and digging through the data in the first 2 parts; now its time to answer the big question of this series: after three years and two months with our 2023 Model Y, would I buy another Tesla right now?

     I have to admit, over the past few years, Elon Musk has made me nervous. In 2023, when we decided we wanted to get an electric car, I started with the position of anything but a Tesla.  My biggest hesitations was Elon Musk; this was still pre-D.O.G.E. so my concerns were more along the lines of digital consumer rights (when the car is software, the manufacturer has a lot more control after you buy the car thanks to DRM) and Tesla keeps a lot of control over the car through software after the sale. My fears hit home when Tesla changed the Autopilot features; if you bought a car before 2025, the included autopilot features were amazing, but now its a shell of what it used to be; we actually pay the monthly subscription for Full Self-Driving - do that didn't really impact me - however, it sets a dangerous precedent.

     At the same time, driving the Odyssey lately proved that I never want to buy another gas car, and honestly, we are ready to get rid of having a gas car altogether. The situations where we actually want a vehicle that drives 500 or 600 miles without stopping can be counted on one hand in the past 3 years; its honestly more of a hassle to go to a gas station than its worth.  However, what about Tesla's competition?

     Once you commit to an EV, the question shifts to why I would pick a Tesla over another electric car, and to really determine that, you need to talk about features.  First, nobody makes a feature to compete with Full Self-Driving - nobody in the US at least, China is a different story.  I use FSD (Supervised) for 78% of my Tesla driving (according to my driving profile in the car), and on those drives I can pull a lever and let the car handle roughly 99% of the steering and braking; lucky for me, I am a professional back seat driver just like my mom, but whenever I do intervene, it is almost always over lane preferences rather than a close call. It still does dumb, annoying stuff all the time: it changes lanes without a good reason, exits the carpool lane too early or too late, and forces me to toggle between obnoxious driving profiles like Mad Max and Sloth because you can't just set a plain 65 mph cruise speed and tell it to pass slow cars.

     Even with those quirks, I haven't found an equal for surface streets and highways combined. The closest features in the US are geofenced to specially mapped areas rather than a real universal end to end automated driving system.  Even the Level 4 autonomous systems - you know Waymo - require detailed 3D mapping in small geofenced regions and call center workers to monitor and take control of the cars, so they aren't even at the level of Telsa's autopilot in practice; its just, the person in the car doesn't have to monitor and be ready to take over at all times - the call center employees do (fun smoke and mirrors game though).  I know the driver still has to monitor Tesla FSD in privately owned vehicles at all times and be ready to take over, but in practice its more like Tesla didn't get regulator approval to remove the warning outside of a couple small geofenced areas.  So, it is level 4 in those geofenced areas, and level 2 everywhere else.

     Two other practical advantages still hold weight for me too. First, while some base EVs like the Ford Mustang Mach-E are cheaper than a base Model Y; when I cross-shopped legacy automakers like Ford, Hyundai, Honda, and VW, many conveniences that come standard on a base Model Y trim still require stepping up to the top trim packages. This means the $35,000 Model Y should be compared to the $80,000 competition.  Second, there is the buying experience itself. When you buy a Tesla, you just open the app on your phone, order what you want, and pay what it costs without sitting in a dealership back room while a salesperson pressures you into add-ons; I still don't know why buying a car isn't like that everywhere.

     So my final verdict is an honest, slightly conflicted yes: I still worry about what software changes Elon might push down the road, and I wish every automaker sold cars directly in an app; yet I would still buy another Tesla today.  Integrations into Home Assistant are a big selling point for me, FSD has been amazing, performance is wonderful, and the total cost of ownership can't be beat.  I do hope there will be competition for Tesla some day, but I don't see that even existing in a number of way right now. 

     On a slightly different note, I will probably have a follow-up soon after we see what our $500 inspection turns up.  Maybe it will be nothing and I'll be out $500 bucks, or maybe it will find some huge issue we didn't know we should fix!  Either way, the past few years speak for themselves.

Later,

     SteveO

Friday, October 23, 2026

So, How is the Tesla Now? Part 2: The Telemetry Truth

     Welcome back to Part 2 of my 3-part retrospective on approaching 50,000 miles in our 2023 Tesla Model Y. In Part 1, I covered rationing our final 137.2 warranty miles before a $500 inspection and the painful rev-lag of driving our Honda Odyssey all week; today, we are digging into my Home Assistant and TeslaMate telemetry before Part 3 wraps up with Full Self-Driving, Elon Musk, and whether I would buy another Tesla right now.  I am pretty sure I will have more to say about this after the inspection is done, but as I'm trying this format of writing a bunch of posts and scheduling them to be published, I haven't dropped it of yet, so tune back in next week for that part.

     Anyway... back in August 2023 (at 1,014.5 miles), I spun up TeslaMate alongside Home Assistant to log every drive locally. There is a side quest there about the drama around the original developer of TeslaMate leaving the project and having to spin up a separate docker container and database to host it outside of home assistant; however, I'm not getting into that here (maybe that will be a future topic).  So, across 6,838 drives and 48,848 tracked miles, I collected some data!

     In that time, the car pulled 20,833.4 kWh from the wall (18,546.0 kWh into the battery after 11% charging overhead), averaging 427 Wh/mi wall-to-wheel (380 Wh/mi driving). Even after Puget Sound Energy raised rates from 13.88 cents to (15... 18...) 21.66 cents per kWh (the 3 biggest increases in electricity rates in their history!), our entire 3.5-year electricity total is $3,249.22; working out to 7.6 cents per mile at home (86.9% of our charging) and 8.4 cents per mile if you include the $849 spent at superchargers across the country. Battery degradation stayed boringly flat too, easing from 278.7 rated miles new to around 260 to 266.8 miles today (just 4.3% to 6.5% loss).

     Meanwhile, our 2018 Honda Odyssey usage completely collapsed. Before the Tesla arrived, the Odyssey averaged 1,068 miles per month at 19.3 MPG (costing 22 to 23.9 cents per mile). Once the Model Y took over at 1,289 miles per month, the minivan dropped 74% to just 276 miles per month. Driving those Tesla miles in the Odyssey would have burned 2,531 gallons for $11,023.14 - meaning the Model Y saved us $7,233.60 in fuel and kept 22.4 metric tons of CO2 out of the air (even more if you add in the costs for oil changes).

     In the winter, the Model Y AWD is a beast in the snow. We logged 30 ski trips (4,390 miles) up to Stevens Pass down to 13.9 F without needing a Supercharger on a full home charge. Around 35,000 miles, we swapped the factory tires (Pirelli Scorpion MS) at Costco for EV-optimized tires (Bridgestone Turanza EV) before ski season; they are quieter than both the factory tires and the Odyssey's tires (Michelin CrossClimate2), though the Bridgestone tires seem to have traded away about 14% in range (moving winter consumption from 404 Wh/mi to 467 Wh/mi).

     For longer trips, we can drive non-stop from Seattle to Vancouver, BC on a 100% charge and arrive with nearly 42% left.  Enough to get us around Vancouver for the day before topping off at one of the local superchargers (those BC superchargers are even cheaper than charging at home FYI).  Last summer, when a ferry issue forced us south through Olympia and Aberdeen to camp at Bogachiel State Park (575 miles with a roof rack and ski box full of camp gear and four bikes on the hitch rack), I plugged into the Forks Supercharger past midnight while the kids slept; recharging from 27% to 78% and decompressing before pitching the tent at 1:00 AM (while a shorter 337-mile Fort Flagler camping trip only needed a very short public charging stop to top off). Even the scary 12V battery error we saw in Worthington, Minnesota during our 5,531-mile winter trip to Michigan was just a quirk from using a bad CCS charging adapter at a third-party station... and Lynnwood Tesla Service checked on it and found nothing wrong, but gave me a Model S loaner overnight.

     The telemetry is hard to argue with; gas cars can't even compete.  I have also found most of the fear mongering is just plain false (waiting forever to charge, eating tires, range anxiety - which we did have that with Renmin's old Nissan Leaf 12 years ago - all that is just noise now.)  Even the Insurance issue, which was a real problem when we first got our Tesla (Progressive doubled our insurance twice!)  but now we found out that some insurance companies were just milking the hype to make a quick buck - we pay the same rate now we did before the Tesla.  

So, I'm pretty sure I went way over 500 words here.  So tune in next week for Part 3, we need to talk about Elon Musk's software changes, Full Self-Driving's personality quirks, and my final buying verdict.

Later,

     SteveO