Monday, August 28, 2023

Electrified Road Trip Part 2: Tracking with Teslamate

In preparation for my big road trip, I added Teslamate to my Home Assistant setup.  I have to say, I am sad that I didn't do this on day 1.  This little platform is amazing, and it not only gets a huge amount of data out of Tesla's cloud and on to my own hardware, but it also generates some wonderful Grafana dashboards too!  It is kind of a game changer compared to the way I have collected stats from my current car, and just using the unofficial Tesla Integration for home assistant.

So, the integration's main screen doesn't look like anything special.  The map shows the real time location of the car, along with some basic stats about the car.  You can also use Geo-fences to give common locations any name you like, and you can even set a charging price for the location.  This is particularly useful for charging at home because there is no receipt for purchasing power like you get from a charging station.  I will get into manually updating charge prices once I figure that out, but I rarely charge anywhere other than home, so it is a low priority task for me to sort out.

The real advantage comes with 2 backend features this plugin provides.  First, the plugin integrates with a database to log all your data about your car.  This data goes far beyond just what you see on the plugin page, and this is why Grafana is the real hero for this plugin.  The second feature is MQTT, which is just a protocol used by IoT devices to communicate updates.  Once you have these two features, you can create dashboards in Grafana to visualize the data and create reports, and MQTT sends the data to home assistant so I can trigger events based on the reported stats.

To the right I show MQTT explorer, which shows an example of the message data Teslamate sends to Home Assistant.  This data gets updated in real time, and one thing this does for me is update any time the car is unplugged from the charger immediately, rather than having to wait for the integration to poll Tesla for the data, which can take anywhere from no time to 5 minutes.  One problem this caused me a few times is that I would unplug my car, and have Home Assistant log the data to a google sheet; however, if the data didn't get logged immediately my car would not be at home when the data was logged, and my cost estimates would be off.  I guess Teslamate removes the need for this Google Integration too, which I appreciate reducing the number of cloud dependencies I have.

Possibly the best part of the this addon is Grafana Dashboards!  For those who don't know, Grafana is a web application that can collect data from databases and organize it into Dashboards, which are a collection of charts, graphs, and data.  It is somewhat popular for its ability to collect data from many places and combine it all together into a single screen/report that is full of pretty pictures.

Teslamate has a bunch of dashboard that is loads into Grafana if you set it up correctly.  Its a great way to visualize things like your most recent trip data and commute data.  For example, this image shows a track for everywhere I've driven this month. When I scroll down through the list of drives I've made, I can tell that I drive the same few routes over and over again, and it gives some nice summary information like how efficiently I drive (256 Wh/mi) and the fact I have paid about $13 to drive my car 265 miles (which is WAY cheaper than gas).  Just getting access to this data is a critical asset to accurately estimate my personal cost of driving the car, and having a few months of data under my belt will give me a clear picture of how far I can drive my car on a single charge.

For those interested in the process of getting this all set up, I added 3 home assistant add-ons using the instructions on the mat-FFFFFF github repository here.  If you are savvy with docker and have a spare raspberry pi laying around, I have to admit most of the troubleshooting resources online focus on putting everything into its own container.  However, its not too difficult to follow the directions and get it all setup, but maybe that could be a good thing to write about next.  Let me circle back around to that once I get around to refactoring a couple things for best practices.

Anyway, that's it for now.  Until next time.



Thursday, August 24, 2023

Tesla Purchasing Experience

 So, as I'm getting used to having a Tesla, I thought this would be a good time to look back and reflect on the purchasing experience.  This is a really unique experience, and I think it is much better than most of the horror stories I read about on social media.  So, for reference, lets go back a couple of months, and walk through our car buying experience this time around.

This spring, my 2007 Honda Accord really started to show its age.  The windows stopped working (again), the AC stopped working (again), and it started feeling a little more sluggish than before; basically, it needed some TLC, and I had no more love for it.  So we decided we were going to get a new car; we wanted an electric car.

Day 1, I decided I was not going to get a Tesla.  I think they are too proprietary, and there is no excuse not to have Android Auto and CarPlay built in.  I still feel this way, and the entertainment system just feel crappy in general while driving.  We have YouTube Music, and that comes with Ad free Youtube, so we won't consider the supported streaming services. While in park, I can use to play movies/shows on Plex, and then we have YouTube, Netflix, and Disney+ in the theater, which is fine.  Games are okay, but we all have switch game consoles, so we don't care.

Anyway, So, we voyaged out to the dealerships.  We went to Nissan, Kia, Hyundai, Subaru, Ford, Chevy... we just spent a couple months looking up every electric vehicle we could find.  For reference, every single one of them had Android Auto and CarPlay standard - its just expected in every car (yes, I an REALLY hung up on this).  All of them also (mostly) felt like normal gas cars (ICE is the hip term for this BTW, for Internal Combustion Engine).  At least, they had a mode that felt like a normal car, and they would have a branded name for a single pedal mode that applies regenerative breaking when you take your foot off of the gas.

I think what finally swayed me to consider a Tesla was how crappy the experience of going to a dealership is.  You go in, they show you the top end model even though you say you were a little weary of paying the base model price for a car.  They show you a car or two, and they you sit down in the room where they try to pressure you into getting the car or pre-ordering.  Honestly, we wanted a Chevy Bolt EUV.  It would meet our needs and it was by far the cheapest car of the bunch, but because GM is stopping production in October, we just couldn't get one.

The next couple options we were looking at were the Kia offerings; the Nero or the Hyundai Ionic 5.  The biggest issue here is we wanted the seat memory, which was only offered on the top end model.  VW and Volvo also had some compelling options, and the Ford Mustang was a strong contender, but going to these dealerships was starting to wear on me and leave a bad taste in my mouth.

One day, I was talking to someone at our daughter's school, and they just purchased a Model Y.  It turns out I wasn't paying attention that the price dropped substantially on the Model Y; also, the base model car has pretty much all the features on it.  The other trim models only changed the battery and added the option for a 3rd row of seats (we didn't really care about the other differences.)  So, I decided to try and test drive a Tesla Model Y.  This is where the story actually begins.

I go to the Tesla website to start sorting out models, trims, and other options and find 3 somewhat straight forward options.  I see a big link to schedule a test drive; however, I click a referral link that I got from my friend.  All Tesla owners get a referral link, and the person who refers you get points that can be redeemed for stuff.  For example, the person who referred me got 3 months of full self driving because I bought a car with his link, and some other points for the test drive.  I got $1000 off my purchase.  I scheduled a test drive, uploaded a photo of my drivers license, and signed a waver.  They sent me a calendar invite and a few links to YouTube videos with instructions about how to navigate the touchscreen UI and start the car.

A few days later, I show up to test drive the car.  They have the cars all lined up in front of the dealership, I walk up to some and they take me to the front desk.  It takes them a minute to find the right key card, but a quick peek at my insurance card, a signature on a temporary registration card, and we are escorted to a parked car in front of the building.  There were a couple questions and comments about starting and how different the car is to drive. However, within maybe 10 minutes of showing up I am driving the car I am considering to buy.

At this point I am used to driving an electric car that uses the gas pedal to trigger regenerative braking, but the Tesla has a very aggressive regenerative brake.  I kind of slammed on the brakes a couple times during the drive because I didn't realize I lifted my foot off the pedal.  Then, I got on the expressway, and this is the moment the Tesla kind of stole my heart; and put a big smile on my face.  Its just a lot of fun to have a car that goes when you push the gas pedal.  We got back and the lady at the dealership asked us if we had any questions, we had a short conversation and went home.  Later that night, my wife picked on my a little because I played Forza after test driving the Tesla.

It was the best experience I had ever had test driving a car.  No pressuring me to walk out the door with a contract, and no trying to upsell me on stuff I didn't ask for.  I loved the car, even despite the crappy music situation.

We went home and talked about it.  We made notes and compared the different cars we drove.  The only thing that would have stopped us from getting a Tesla was if the Bolt were available.  It had all the features we wanted for $20k less, and we primarily wanted this as a commuter car, so we wanted a smaller monthly payment .

However, in the end, we decided because the Bold wasn't available, the Model Y was the next best option.  Most of the other cars were too short, which meant I would hit my head getting in and out.  Also, in order to get seats with programmable memory, every car except the tesla required us to upgrade to one of the premium trims, which were usually $10-20K more than the Tesla.  The Mustang almost shined here, but we wanted all wheel drive for taking our daughter to Ski Class this winter with her school.

One day, sitting in Chick-fil-A I installed the Tesla App on my phone, chose the options and customizations on a Model Y, and tapped buy.  From there, it was a matter of adding my wife and I as owners of the car.  We signed up for financing through Tesla because they had the best rate we could find, and even initiated the trade in estimate.  The whole process took place on the phone.  Then I got the request to schedule delivery; I chose a date and time that worked well for me, and we went to go pick up the car.

In the mean time, I watched countless YouTube videos about checklists that people made to inspect their Tesla when they accept delivery.  I felt well prepared to inspect every corner of the car when I arrived.  We drove our old car to the dealership, and went inside.  Someone was standing at a podium, I said we were here to pick up our Model Y, and he said you walked right past it.  He handed me an envelope with some documents and the key cards to open up, and walked me to the car.  He told me to click a button in the app, stood there for a minute to see if I had any questions, and then told us to come back in to see him once we looked over the car and were ready to sign.

We walked around the car, opened the trunk and the frunk.  We sat in every seat, ran our fingers along all the trim, paired our phones to the Bluetooth, Made sure it locked when we walked away and unlocked for both of us.  We were happy, so we went back in to finish signing at a table and hand over the keys to the old car.  Again, compared to the other cars I have bought, this was less paperwork, no pressure, and just straight to business.

A couple days later, we found a couple issues.  One of the exterior cameras had a chip in the enclosure, the panel over the seatbelt wasn't aligned correctly, and one of the buttons on the steering wheel had an issue when pressing to the left.  I scheduled a service appointment through the app.  One day, I guy from tesla pulled into my driveway, replaced the defective parts, aligned the panel, and said it was all covered under warranty.  We also ordered the garage door opener, which I didn't realize was extra.

All said and done, it was painless, getting the issues serviced was easy (especially because I work from home).  Everything was pretty quick and simple.  As I've said a couple of times, this was the best purchasing experience I've ever had.  No sales people trying to get me to buy today, no dropping my car off for a 10 minute repair.  It seems like all the horror stories of delivery didn't happen for me.  

I still really hate the entertainment situation.  Spotify worked just long enough for me to try and sign up for a free account.  Then I got hit with the "premium account required" message.  I didn't like the experience on Spotify, so I'm not buying it.  I then signed up for Tidal; I even paid the $2 to get a 60 free trial; its better than Spotify, but I really wish I could just use YouTube Music on the screen.  Even the Bluetooth experience is lacking compared to other cars.  My phone won't play music automatically when it connects like pretty much every car I've use Bluetooth with.  I also can't browse playlists on my phone through Bluetooth, which is an option with plex amp.  On Tesla, Bluetooth only allows play/pause, next, and previous.

So, I still hate having a locked down car, but at least the rest of the driving experience is good.  I also think the video player will come in handy when I go to a supercharger.  I also find it very strange that the Tesla doesn't create a WiFi network, so if I purchase premium connectivity, the kids can't use an iPad to watch movies in the back seat while driving.  I guess its not the end of the world so long as we download some movies/shows before leaving the house.  Anyway, I'll get more into that as we get closer to our road trip.



Friday, August 18, 2023

Electrified Road Trip Part 1: A tale of two maps


So, we recently became the owners of a new Tesla Model Y.  We went with the base model, and only paid to change the paint color and add a trailer hitch (mostly for a bike rack.). I have actually plotted this trip twice so far.  Once with the Tesla App, and again with (ABRP for short)

I have to admit, I like ABRP more, so it seems to live up to its name.  The nice thing about both tools, is they break the route into legs, where you need to stop at a charger.  They also both had some functionality for estimating charge times, and how much to charge the battery to make it through the next leg of the trip.  However, beyond that, the two. apps start to show their differences.

The Tesla app is nice because its built into the car, and you can start the navigation on your phone, then send it to the car before you get in.  The way Tesla has built their ecosystem it feels like this is how you are supposed to do it.  The biggest limitation is that its built for you to plot your course and go now, and it also seemed to demand the full potential of the car too.  It would frequently use 80-90% of the battery to get you a longer distance, and it the charge times were much longer at each stop.  I didn't find a way to change this in the app, but its also possible I missed something.  The last gripe I have is that it doesn't show the amenities at each stop from the route screen; if you write down the chargers, then navigate back in the app you can see a row of icons indicating things like bathrooms, food, or shopping near by, but the app doesn't indicate if these things are walking distance from the charger.

ABRP on the other hand has a limitation in that it doesn't work natively on the car; it is a web page, so you can load it in the car's browser, but you lose some features if you do that, like Tesla's built in ability to prep the battery for the supercharger before you arrive at the station.  However, you can export the route to Google Maps, Apple Maps, or a Calendar, which are all ways that you can import the suggested stops into the Tesla's built in navigation system (Tesla also has a feature will it will automatically navigate to your next calendar appointment when you get in the car.)

ABRP also allows you to export the stops to a spreadsheet (or view the table in the browser) that outlines all the data you could want.  The battery charge you will have on arrival and charge you need to make the next station, estimated charging time, estimated cost, distance to the next station, and drive time.  This is basically an itinerary to review the trip and choose the stops you want to make.  This is also highly adjustable.  You can set the range of your vehicle on a full charge, set min and max limits for how much to charge the battery (I I try to keep it between 20 - 80%.). There is also an adjustment to set if you want more stops with shorter charges, fewer stops with long charges, or optimize for the quickest trip.

Once you create your route, you can click on each charging station to see what types of amenities are near by.  It will tell you if there are bathrooms, its dog friendly, has a playground, or is trailer friendly, and it will clarify how many food options you have with names, phone numbers, web sites, and a distance from charger.  The map view will use OpenStreepMap data to show you that the restaurant is only 800 ft away, but its across the interstate, so its more like a 1/2 mile walk.

This is a planning tool to help you know if its better to stop in Ellensburg and Mosses Lake, or push your battery a little more and go straight to Quincey.  A quick conclusion on that scenario will tell you there are multiple restaurants very close to the chargers in Ellensburg and Mosses Lake, but the one in Quincy is the 1/2 mile walk I talked about in the previous paragraph.  I also learned that there are two chargers in Ellensburg, one at 150Kw and another at 250Kw.  Now, those are both Tesla chargers, so it would be visible in the Tesla app too, but the tesla app seems to leave a lot to be desired during the planning phase of the trip.

So, you may have noticed I've left out the elephant in the room; most people use Google, Garmin and Apple maps for navigation.  Well, as a Tesla owner, there really isn't a convenient way to use any of those maps (well, technically the map data in a Tesla comes from Google.)  The big beautiful screen in the car doesn't support Android Auto or Apply CarPlay; a huge negative for any car these days.  So, for those who buy an electric car from any other car maker, you will have that experience at your finger tips.  However, you can't actually tell Google/Apple/Garmin maps to route your trip to include stops for electric chargers, calculate the charge time for those charger, or calculate the cost of charging.  However, the ABRP Android app uses Google Maps for its backend, and the Apple version of the app uses Apple Maps data; so that is worth mentioning.

Speaking of the app experiences, I think its clear at this point I am biased in favor of ABRP.  The Tesla experience for trip planning is okay, and its roughly the same in the web browser, mobile app, and on the car.  Actually, I think you get a little more google map data in the car than the phone or browser, but I think that's by design.  A great thing about using the phone is that all map programs have a nice feature to send a location directly to your tesla;  I use this all the time.  I often look up current travel time (including traffic) before I get in the car, so having a nice share button to tell my car to navigate there when I get in the car is amazing!  This is a tiny thing that makes me happy multiple times a day.

So, back to the ABRP mobile app.  I started by visiting the website on my computer and plotting my course.  I took that course and investigated which chargers had the amenities I wanted near by to help keep the kids and dogs happy, and now I am going back to the app to create a route with waypoints at my desired chargers.  I can also add a stop at a hotel.  This was very easy to do, and I created a free account to save my plan.  On my phone.

So, this concludes the planning phase of this road trip.  However, before the real trip, I am going to test out my theories with a smaller trip.  I will be faced with the decision:  can I count on my family to stick to a plan using calendar events for each charger?  The advantage here is that the Tesla would (in theory) sync my calendar, and load the next charger every time we get in the car.  However, this could fall apart and become unwieldy if we don't stick to a schedule; for the record, my family NEVER sticks to a schedule.  

The alternate plan would be to send the tesla the location of the next charger from my plan every time we leave a charger.  This might work, but could fall apart if cell service to either my phone or the tesla is unavailable.  We will just need to try and test it I guess.  Until the next phase.