LINUX Unplugged - 408: Linux Road Warrior
Episode Date: June 1, 2021We’re joined by a special guest who’s built his very own Linux battle bus. We get the technical details on how Linux is at the core of this open road machine. Special Guest: Aaron Bockelie. ...
Transcript
Discussion (0)
Did you ride the school bus as a kid, Wes?
Yeah, I did. I mean, well, until I got kicked off anyway.
You got kicked off the school bus? What'd you do?
Alright, well, let's say you're a young'un in high school, you're getting excited learning about technology and electronics,
and someone tells you you can make a taser out of a disposable camera.
Wait a minute, you brought a taser on the bus, Wes?
Yeah, turns out the school district
wasn't so keen on that.
Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
My name is Wes. Wes, is that a giant plate of scrambled eggs? Extra maple syrup. Nice. This
episode's brought to you by
a cloud guru, the leader in hands-on learning. The only way to learn a new skill is by doing.
That's why ACG provides hands-on labs for cloud Linux servers and much more.
Go get your hands cloudy at a cloudguru.com. Coming up on the show today, I'm going to chat
with Aaron Bocley, who built a home out of a school bus. And then he took it to the next level
and automated all kinds of things on this bus using Linux and Home Assistant. It's an incredible
journey of learning things from scratch and taking one challenge after another and building something
incredible that the whole family gets to enjoy. And it gets really, really geeky.
And you guys know I'm a big fan of road trips and I have a lot of automation in my RV, Lady
Joops.
So this is a great chat and it's amazing to hear how somebody can kind of come into Linux
and discover these things through the avenue of building a project like this for their
home, for their family and all of that.
So there's just some really kind of geeky stuff we get into.
So we thought maybe we should define some terms.
Yeah, first up, hardware Victron.
That's a power inverter, charge controller,
basically the unit that's the brains of the electrical system and keeping everything going.
Yeah, in fact, the same exact gear I have in Lady Jupiter.
So it was really neat to listen to Aaron talk about how he's using the Linux system that runs
inside there to get extra information. But we'll get to that. And that's called the Victron Venus,
right? That's the tiny little Linux box that takes data from the Victron itself. Yep. Very cool.
There's also Shelly or Shelly.cloud, which is a maker of a range of small IoT products
that you can use to turn non-smart devices into smart devices.
Think things like physical controls that reflect in software,
and a whole lot more.
Yeah, you'll hear us talk about how he can use some of those in his build.
And then there's the whole software aspect of it,
some services that we talk about that run on Linux.
Yeah, there's M whole like software aspect of it, some services that we talk about that run on Linux. Yeah, there's MQTT, which is the Message Queuing Telemetry Transport. And it's a lightweight
PubSub network protocol that transports messages between devices, sort of like the underpinning of
the whole network that lets your various IoT gadgets and systems that monitor them all talk
together. And the last bit of jargon you
need here is Node-RED, which is a web-based visual development tool that you can use to create
JavaScript functions and tie complex automations together between hardware, software, and basically
everything on your network. Recently, Aaron joined Chris to tell him about his Linux and
home automation journey.
And they start with how Home Assistant changed everything.
Let's get into Home Assistant because I was Googling around,
trying to figure out ways I could bring in power information into Home Assistant.
And just even for display purposes, but maybe even for automation triggering. And you can see how this can be applicable to somebody who lives in a house that has solar or maybe has a battery wall or something like that.
Or just wants to have a smaller environmental impact.
I've always dreamed about pulling all that information and getting the state of charge of my batteries.
How much solar is coming in?
How much power are we using right now?
And this seems like a real journey you went down.
And you must have had to familiarize yourself
with Home Assistant.
You had to familiarize yourself
with how all the Victron equipment communicates
and then how they bring that over the network.
And I'm guessing you probably also had to teach yourself
MQTT in this process.
So can you tell me a little bit about this journey?
This is-
Don't forget RS-485 and CAN bus as well. So yeah, they've got a couple
of things. So device bus over RS-485 and CAN bus also came into play. Okay. So how did you get
started with HomeOSystem? Was it to solve a particular problem that involved the electrical
system or was it something else entirely? So in the Victron world, they have a thing called VRM.
If you Google VRM world, it's kind of a really interesting thing.
My bus, I won't tell you where it's at, but you can find it.
It's this graphical 3D map of the world.
And you can zoom in on people that have decided to share the information about their Victron installations on the world.
It's pretty cool.
And so Victron internally, they have a thing called the Venus OS.
It's like an open source version of Linux kind of distro that goes with it.
This is the reason I went with Victron equipment.
It's actually, I looked at a lot of different vendors for power infrastructure,
for solar controllers and inverters and things like that.
But many of them had semi-documented API interfaces or not really at all,
or just closed loop, like plug it in and
trust us. It'll work. Here's your firmware upgrade. That is a black box that might add
more features. I don't know. Versus I'm looking at the Victron stuff and it's kind of all over
the place, but as I'm digging through it, I'm like, oh my God, there's a reason it's all over
the place is because they're actually allowing their software to be installed or anything.
So they're like, go ahead and install Venus OS on a Raspberry raspberry pi not their own embedded thing oh i had no idea so at the time i bought the
venus gx which was the product that they were using and it's it's the system integrator it's
got can bus interfaces and their proprietary serial bus interface ethernet wi-fi things like
that and their software so the idea is you buy a Victron inverter or a solar controller and you plug their cables, the appropriate cable into this box. And it just
renders a little display that as shows the status on it. So it shows like the battery and the
inverter state and the charge and battery percentage and stuff like that. It's all kind
of a plug and play kind of deal. And I was like, man, you know, $350 is a lot of money for that
thing. Um, so I'm like, well, I can get $350 is a lot of money for that thing.
So, I'm like, well, I can get a Raspberry Pi for $40,
and their software's right there, and they're even releasing an image that you can just install on an SD card, and it works.
And lo and behold, I put it on there, and it booted up,
and I'm like, wow, this is pretty cool.
I ended up putting a GitHub gist on my travels through that,
and this is at the time I was discovering this,
I hadn't even finished the
installation of the Victron equipment in the bus. I had just finished the battery.
I knew this was the direction I was going. So, I was just kind of researching. There was stuff
that was taking forever to ship and, you know, real life was going by and things like that.
And I didn't have, I couldn't work on it all the time, so I kind of spent some research time looking that up.
After a while, I ended up buying CanTact.
It's called CanTact Cannibal is the name of it.
It's a little CAN bus interface.
It's just like open source hardware kind of deal.
USB plugged it into that. You said it was the CanTact Cannibal? Is that what it was?
Yeah, Cannibal.
Okay.
Not cannibal like you eat things
but cannibal can't c-a-n-a-b-l-e just a neat little dingus of a usb can bus interface okay
started loading up the software and digging through because victron uses dbus for messaging
on everything inside of their devices and so there's just all this stuff hanging off of device trees and started kind of putting in my equivalent stack.
I got a RTC real-time clock hat that had digital analog converters and some optocouple decoupled contactor controls for like relays and stuff.
And then I got just one diagnostic style USB Victron proprietary Victron interface to plug into it that normally plug in in your laptop.
But it just, if you plug it into the Raspberry Pi, their OS detected the device and kind of worked.
But after I started adding up the cost of all these individual components, what I realized is that I'm now about the same price as just buying a Venus GX.
about the same price as just buying a Venus GX. And now I've got sort of a Frankenstein CompSci 201 project sitting in here that's controlling thousands of dollars of equipment. And we're
depending on it to work all the time. And I'm like, I just, I couldn't get behind that. So I
just went and bought their actual device, which has been a fantastic little box ever since.
It's nice to be able to play around with the Raspberry Pi though. You know,
it gave you the confidence to make that purchase.
Exactly.
And I think that was a very shrewd marketing thing on their side, because I can still just
open up on their production device.
I can get a root console and I can make changes to the operating system.
I can make ephemeral changes that get wiped during a firmware update.
Firmware update actually is, if I'm using air air quotes there is actually just a reload of the
disk partition on the on the little device or there's a persistent partition that you can load
modifications to that persists across updates of it so you can write custom code and modifications
to this thing in python or whatever you can fit on the thing and it stays there so you can write
permanent upgrade and changes to these
things and change them how you want. And if it can talk over ethernet or USB, there you go,
you got your extension to this device. So it's very extendable. So anyway, after kind of going
through that process, I started using that device. I just got it installed with the rest of Victron
equipment and I just kind of left it at that. So we drove and traveled and things like that. And about a year in, I was a little dissatisfied over the
fact that I had to stay connected to the internet to publish internet to VRM. I knew this conceptually
at the time, but I didn't know the details. But there's an MQTT mosquito broker sitting on the
Venus that's running that collects all this information from Dbus that's published onto it from their software. Victron is shipping essentially that thing that you installed as a
Linux box with MQTT running on it? Yeah. Wow. It's got Mosquito on it. And what it's doing is it's a
broker that's connecting to VRM. And VRM is just a giant cloud mosquito broker. And they do some
magic on the back end to, you know put your data in one spot and
if you have a device it doesn't matter if it's a raspberry pi or whatever if it's running the
victron stuff and can authenticate against vrm you get a free account and you get like six months of
of data storage for that since the data is sparsely populated up there when the vrm is the the local
device pushes the data up through Mosquito, you get the resolution
of whatever it's publishing. So you get some pretty great detail on that. So you get every
sensor and every aspect that it's collecting is pushed up to VRM and stored there. I thought that
was super neat. And that's what I had been using the whole time, like from when we pushed off and
sold the house and started doing things. If I wanted to see the status of solar or power or
whatever, batteries, that's how I just went to VRM and looked doing things. If I wanted to see the status of solar or power or whatever,
batteries, that's how I just went to VRM and looked at it.
So for the benefit of the audience at a really high level,
what kind of information is in these stats?
Every temperature sensor,
the amperage and voltage of your system on both the AC side,
the inverter side, the input side,
like what's the voltage coming in?
What's the battery voltage?
What's the watts computed? What's your actual location? If you have a GPS plugged into this thing, it'll save that.
Any type of alarms or failures that are going on. So if you set some boundaries about what is going
on or the status is degraded. Example is I have a smart battery controller. It's made by RecBMS.
It talks to the Victron and its protocol and format over CAN bus.
If there is a failure or something going on, a cell imbalance or whatever, the REC BMS
system will publish that on the line.
And then the Victron unit picks up that alarm and forwards it on to VRM.
And so then I would get an email that the battery is bad or is having a problem, something
like that.
I find it fascinating because it's like this hidden functionality exists in my rig that I have yet to really tap into.
You know, really in small ways, I've glanced it.
But what kind of things can you do once you start collecting this information?
It's fairly limited.
I would say that it's in many ways is geared towards an installer that manages several installations because you can track and monitor lots of installations. That was my impression,
is that maybe you go to a specialist and they set up a high-end customer, and then that customer
has a problem. They can pull up this portal on their end and get their client's information,
like draw, battery issues, temperature stuff. Yeah, and not only that, you can reverse HTTP.
It basically holds
a connection so I can get to the user interface, the little buttons that you can push to control
and configure things through VRM. So anywhere in the world, if I load their client, either on a
web page or the software goes on a phone, I can then remote control that GX if it has an internet
connection, the Venus or the C-Serbo, or they got a couple of different
lines now. So you can configure and control it. The warning is, is you never hook up your device
to something that you can accidentally push the power to turn it off. Because if you do that now,
it doesn't come back on because you just turned it off remotely. So, you know, don't do that.
Yeah.
So a lot of monitoring history, things like that. You can set like thresholds for alarms on any of the
sensors if you want that kind of stuff. It's pretty good for that. But it requires an internet
connection. And that's where getting this data into Home Assistant seems extremely appealing.
That's actually the exact conclusion I came to as I want to have this remotely. I like the fact
that it ships it up and it wasn't ever a problem with the amount of data going out. It was more like sometimes I just didn't have reception. I'd be
parked in somewhere and it gets this terrible reception. And I didn't want to lose the data
because I'm kind of a data nerd and I wanted to, I didn't want to see big gaps of zero.
The Venus devices can only cache it for so long. I think it's like 12 or so hours before it starts
discarding old data.
And you have those graphs on a dashboard. You don't want them to look bad.
No, they can't look bad. Otherwise, what are you? So what I ended up doing was Victron has
a published page help doc on how to get the MQTT data out of there. You have to do this. It's not
just a pub sub thing. It's actually have to send a keep alive to a specific branch of device off of it
based on the serial number of your machine.
Easy to do, relatively.
I ended up making a keep alive that ran inside of Node-RED.
It was like a two-node node.
It was pretty simple to build.
And that way, it just pinged it every 15 or 20 seconds.
And then it would...
It's funny.
So if you had like MQTT Explorer,
which is the tool I use,
and you pointed it at the end point for this thing after you enabled the ability to see it um in the ui
it shows nothing and then you ping it once and then suddenly there's like hundreds of if you
just subscribe to all to star everything on it there's like hundreds of parameters that show up
on this thing and mqtt explorer is like holy, is it like this giant list that's like thousands of items inside of it, literally thousands.
And then if you stop the keep alive, it all just evaporates because it all disappears because of the way MQTT is telling it to discard its last will and testament message.
It says go away.
And so, yeah, once I published that, I'm like, well, okay, what am I going to
keep? And then, so what I noticed is that it didn't matter if I subscribed to the whole thing,
it's kind of this giant warehouse of parameters I could dig through. Many of them I didn't care
about, but as I started setting up sensors in home, so I'm getting ahead of myself. So home
assistant, I was like, okay, so this is the platform I'm going to play with. And quickly realized like the learning curve for home assistant was don't run it on an,
on a SD card. Yeah, that's right. You know, that was step number one. Cause you'll burn
a hole right through it. Are you on a pie? Yeah. So I'm on a pie and then the production one,
um, I'll just, I know we don't have video on the final thing, but I have it out of the bus
right now. Cause I'm kind of redoing it. I alluded to that. So this is the whole deal. You can see there's a...
This is a metal housing for a Pi with a space for an SD card, or I'm sorry, an SSD in there.
Yes, there's an SSD drive in this. So you can see the little bridge, SSD bridge right there
going through it. So this thing is a 12-volt box. So it just runs off of the 12-volt subsystem on
the vehicle. What is that called? I want that. That one's like the old crappy one.
Oh, really?
Here's the cooler, better one, which I'm actually building for my house.
So since then, that's a whole other story.
We've got a home base now.
This is the DeskPi Pro, and it's far, far better than the other box.
The first one is like an Amazon special.
This one is like you buy it from DeskPi Pro store.
If you see this cover on the front, this is actually a plexiglass cover on the front.
So it allows RF to come out of the box.
The metal box, RF is killed from it.
Like Bluetooth and Wi-Fi are extremely attenuated, whereas this one works totally fine.
There's a sidecar inside of this that redirects the position.
If you note, it's got full-sized...
Ports along the back.
Yeah, this is a Pi 4 because usually it's the micro HDMI.
Right, and it has the GPIO pins in the back like a port.
Yeah, it's great.
So if you wanted to, you could just get a big old header cable,
ribbon cable, and just kind of shove it on there.
So that is called the DeskPi Pro.
I'll have to look that up.
It's a good little kit.
Yeah.
All of my home assistant stuff in my bus,
which is just a class ARV, it's not actually a bus, is all on Pi 4s.
And they're just in the Flick case, which is great.
But, you know, that's a step above right there.
It's cool.
It's a nice little desktop unit.
There's also some other units that are DIN rail components.
So if you looked in the build on the bus, I heavily invested in DIN rail for all of the electrical components. And I just didn't have the space to stick it in there without
getting another enclosure. And so I ended up with just the metal box I did. If I were to rebuild
this whole thing again, I might integrate it even tighter. Yeah, that's kind of what I've been
wondering too. I've been thinking a lot about that recently. Okay, so you have a Pi 4 with Home Assistant running on it, and you've decided this is your platform.
Did you start to integrate other aspects of the bus into Home Assistant?
Give us an idea of what's in there, what Home Assistant is aware of, and what it's doing.
So the first thing that happened was after connecting Victron, I hooked up my air conditioning to it.
So you have the
mini split heads. They're made by Gree, G-R-E-E. And they have a little Wi-Fi module.
I think the Wi-Fi module that they sell is made to connect to call back to some home base in China
and then serve up a phone app on your thing. Somebody figured out by using Wireshark and some other tools,
they figured out the line protocol for it.
Based on the size and shape of the little dingus that plugs into the head,
I guarantee it's an ESP32 on a little board
that has some proprietary connector for their stuff.
Right.
So these people took it apart, figured out the auth protocol,
figured out how to provision it.
So you can just, you use curl to send a special magic JSON string to the thing to configure it for your wifi network. And then it's
connected. And so home assistant has a add on for that to directly control it as a climate module.
And I'll tell you what, when I got that thing going and it presented a thermostat with
heating, cooling, dehumidify, fan speeds, all this stuff. I was like, man, that was pretty great.
That was a cool day that I did that.
Yeah, no kidding.
Gosh, that's so great.
And then it's right there in Home Assistant available for automation.
Yeah, because before we were just using the remotes.
And so sometimes it was like, where'd the remote go?
Like a caveman.
So no longer chasing the remotes down.
We could do it from the phone phone like on our phones and stuff
and that was kind of the beginning of the iteration of the user interface for home assistant because
you know you gotta be real careful about what type of tabs to present what and things from there i
started adding like more information from the victron like tank levels. So, for a while, Victron didn't support anything really good on
the sensors. They only supported like a US style resistance and a European style resistance sender
in there. Neither of them worked for the propane system. And I had like this capacitive reading
sensor system that was like, okay, but it wasn't really compatible. It didn't give good information.
sensor system that was like, okay, but it wouldn't really compatible and didn't give good information.
So they finally went through a feature update on the Venus that allowed you to do abstract
resistance values for your tank senders.
So then it was, I knew it was going to happen eventually.
I just assumed at some point somebody would get tired of it and push an update that actually
worked.
I started crying and posting requests for features and stuff as well.
So maybe I helped push that over a little bit, I'd like to think.
It worked.
Yeah.
And so I got water levels for fresh and gray.
And then propane levels came later.
I know, pretty crazy stuff.
One of the things I started building in was like a waste tank.
So if the waste tank's too high and there's still fresh water, it turns off the pump now.
So the pump will cut out so you don't overflow your waste back into the floor of the shower drain, for example.
That's so sweet. As a father, I totally understand why you did that.
Yeah. Same goes for like the washing machine stuff. Sometimes the washing machine would
suck the water dry and you're sitting there, why is the water, why is the wash not going? Well,
it's because we ran out of water.
Right. And the pump's sitting there pulling up from an empty an empty tank yeah and it's like sucking an empty tank yeah so
yeah like why did it do that oh that's why that got to a point to where i realized the value in
this and i got an old amazon tablet reflashed it with uh lineage os there's a couple different like
um apps that you can install that help you enable you to make a
kiosk mode sort of deal on it and so just open the web page for home assistant and kiosk mode
and suddenly the kids were able to see that my one of my daughters she was really excited because
she could see the power because if you have maybe not perfect awesome son coming in and it's kind of
so so you kind of have to judge the number of laundry loads you can do.
Not just that.
You really kind of have to have the whole family on the same page.
Is this a day you can leave the TV on or do we need to make sure if we're done, we turn
the TV off right away?
Like getting everybody understanding that is tricky when you're off grid.
Surprisingly, if we're not running the air conditioning, everything else.
You have infinite power.
Yeah.
It's like a rounding error at that point. The TV could 24 7 600 amp hours over here yeah but i have to imagine a
display at least helps the family understand this is where we're at this is what we can do today
yeah and it was really cool because they got excited about it and like can i do wash and i'm
like well what's it say over there and they do the thing and then like looking at i was like oh, I was like, oh, I can do it. And I was like, yeah. So, then it was just,
it was cool to watch them get involved with something that I had basically been my own,
the dad project for a long time to sort of let me know where things are at, because I have to then
make the announcement, the grievous announcement. Okay, we got to pack up because we got to go get
water because it's a surprise. And instead, it's no longer a surprise and we can plan and that made a big difference absolutely and i imagine you know
because i've done the same thing i have a fire tablet actually just upgraded it last week fire
tablet mounted uh about midway in our rig and uh the family really took to the automation a lot
more and all of the other smart devices when there was a dashboard they could use. And, you know, they had feedback and I made a lot of tweaks to the
dashboard based on their feedback. I imagine you probably did something similar. Oh, yeah. Yeah.
And I would kind of just watch. I'd be like watching them poke at it. And I'm like, you see
them sort of clicking around. And I was like, well, I probably should remove that because it's a little
too much information about stuff. Or maybe they wanted to see this because they'd ask, well, I probably should remove that because it's a little too much information about stuff.
Or maybe they wanted to see this because they'd ask, how do I know what X is?
I'm like, oh, here, let me show that kind of thing.
That was sort of a learning curve.
It kind of, it got static enough
to where it really served our purposes.
The next level after that was honestly,
I started digging into Node.
Well, actually sort of simultaneously
with like getting Grafana in there
and a real SQL database to serve the history
and InfluxDB for tracking the metrics locally.
InfluxDB was really the big turning point
for collecting the Victron stuff locally.
I was only still collecting stuff
I'd configured sensors for in Home Assistant.
I wasn't picking up every single crazy turn of events that happened through the Victron.
I didn't need it.
But it's still quite a bit of data.
It gives you a lot of more information.
Are you running that and Home Assistant on the Pi?
Yeah.
So I went with not just the Home Assistant version that is just installed standalone.
It's actually this Docker-style container where if you just do the add-ons for those,
because there's add-ons in the store for those things
with the HasIO implementation,
it just sets itself up and becomes a Docker container,
and so you can just run the thing.
As long as you have persistent config, you're good.
Same with Node-RED and some of these other tools.
There were some slight tweaks to some of the Docker config files
to be able to allow
egressive traffic out of some of them, but nothing major that I had to change.
What happened, though, is that I started collecting interesting trends.
So I would make fake sensors based on other sensors, based on historical running averages
and things like that.
And those then became the sensor feeds for doing things
inside of Node-RED, which were things like power is trending this way. The prediction is that we
will reach the zero more power available for things at this date and time. So try scaling
back the temperature of the air conditioning by one degree every five minutes until you don't
get that. So basically, I want to see that trend
flatten out to just a balanced average. So there were some soft endpoints to configuring air
conditioning and power and stuff like the air conditioning because the biggest deal
that would scale back AC if there was limited power sort of thing. So that meant a little
discomfort, but it also meant our power didn't go out. That really seems like things, again, manufacturers should be actually just building
into the rigs at this point. But that's a great example. I was thinking about doing the reverse
for heating up here in the Pacific Northwest. You should. That wasn't actually a thing that
I got later. If you're in a mobile vehicle, heating with propane directly in your vehicle,
like some of these schoolies and stuff I've seen,
they do that.
It's terrible, introduces lots of moisture.
A propane furnace is typical RV fare.
Great, it gives dry heat,
but you gotta have a lot of propane to do that.
I had a lot of propane,
but I dedicated it specifically to the stove,
oven and the hot water heater.
So I went with diesel heaters instead.
So there's these cheap Chinese aftermarket diesel heaters you can get, Amazon, places like that.
They're about $250 or so.
And a 5-kilowatt heater is $250.
So that's like, what, 18,000 BTU or something like that?
And they consume like a gallon of fuel every 24 hours at that output.
And if you're really running 5 kilowatts of output, you'll cook yourself right out of a 40-foot vehicle.
Yeah, did you say multiples?
Did you buy multiples?
So I got two.
One up in the front, one in the back.
Yeah.
I bet it cooks.
The one was good enough.
But what I found was that to control the moisture on the single pane glass of the windshield and things, I really needed to heat up the front too.
Those have a little Chinese controller in there that's good enough.
It's got a timer.
You can push the on and off button, set your set temp.
But there's no integration with that. So there's this guy named Ray, Ray something,
Ray, I can't remember his last name. It's a product called Afterburner. And he's this
Australian chap who has been building these boxes and they're super cool. They have a little,
they're built, they're kind of based around ESP32. He supports the firmware update.
They got a web interface, MQTT, all that good stuff.
And so configured that to just publish their status
into the device tree as well.
So this MQTT tree that's being held on the Mosquito broker
or on the Home Assistant
is collecting a whole crap load of stuff.
We got all the Victron stuff.
We got the air conditioning.
We got status about all the victron stuff we got the air conditioning um we got status about
all the the pumps and switches and valves and things for the plumbing and stuff in the vehicle
we got the heater controls we have you know just position date time all that good stuff it's sitting
there so there's just this wealth of data to start building a bunch of logic into things so
um one of the modes i had set set up was a, uh, collaborative agreement between
the air conditioning and the heaters. If the humidity, Oh, that was the other thing. Um,
so Shelly got into play on the mix on this. So that Shelly HTs, the little spherical deals,
you can get a 12 volt adapter for those. So those are screwed in. So they're persistently
powered instead of off a battery. And then I also got some Shelly RGBW controllers for lighting so
we could control lights and stuff from the same deal. So, your typical home assistant kind of
stuff, lighting and environmental monitoring. So, the Shelleys, when they would pick up that
the humidity was climbing to the moon, when you're winter in somewhere that's cold and wet and
raining, very easy to pick up lots of humidity. Sounds crazy to run your air conditioner, but
in a car, one of the most effective ways to run your air conditioner, but in a car,
one of the most effective ways to reduce your humidity in the vehicle to keep it from fogging
up is to run the heat and the air conditioning simultaneously. You mobilize the moisture with
the heat, and then you condense it and extract it with the cold coils of the AC. So Node Red
would then coordinate the Chinese heaters with the Gree air conditioning system. Because if you
use the dehumidify mode in the Gree system, it wasn't really effective on its own because it
was just pumping out cold. You need to heat it too. And so between those two, you'd set the
Gree to dehumidify and it was below a certain temperature outside and inside. There's some
settings there. It would kick on the heaters to help it out. That was a huge comfort thing.
Yeah. Did you ever have a situation where you were in a low power scenario and some of these
systems are kicking in and draining you even faster and you look at the percentage of power
left, you're like, oh, what? What happened here?
No, I don't think I've really encountered that.
No, you and your infinite power.
Yeah. The funny thing is, is that some of the best power situations
can honestly be if it's sunny in wintertime, because you don't have to heat or you don't
have to cool. I mean, yeah. And you really, if the sun's out, a bus heats up. Well, kind of. I mean,
we don't mind. Yeah. We have quite a bit of insulation. We have like three inches of
insulation all the way around. So it stays fairly consistent.
If it's air temperature, it definitely heats up though.
Eventually it's just, you know, the air exchange will happen.
And you have six, I don't think we've actually said you have six people living in this.
Right.
So, you know, this, it's, it makes a big difference in a lot of, in a lot of ways with humidity and with temperature.
Yeah.
Four kids, two dogs, a cat, my wife and I. And then I'm sitting up in the front in my office, which is one of the chairs with a
fold-out monitor and computer and everything.
So I'm running a real desktop PC, not just a, you know, like a laptop usually.
And talking on the internet with work calls and doing all the stuff that people do on
a mobile remote thing there.
So now you're rebuilding, it sounds like.
You're kind of, you've had the opportunity to set up a home base
and can kind of redo some of this stuff.
What are you going to change?
What are you tweaking in the next build?
I've been always sort of light on understanding how Docker works
and Kubernetes and deploying things
and reliably redeploying configurations and stuff. So
I have been experimenting a lot with virtual machines and running Home Assistant just on
just a machine because it's frankly kind of a pain in the butt to cycle back and forth between
keyboards and monitors on an actual physical Raspberry Pi. The fundamentals are the same.
So for me, it's been learning about how to control my Docker environments, how to revision control them, how to keep all my configs in play and working. And hopefully,
with Home Assistant finally getting to version one, I don't know if you've seen their version
numbering has changed in the last now it's date based, yes, date based. And so it's like,
I feel like they're, they've turned a corner in like, maturity on things. And the API isn't changing, not retiring so much stuff.
Stuff seems to be consistent for longer periods of time.
And I feel like I can kind of trust that more now.
Are you doing any home assistant in your home base?
I am.
So that little extra buck, the DeskPi Pro,
I can turn my sprinkler system on from that.
It's pretty great.
That is.
I picked up some furnace controls for the house. I can turn my sprinkler system on from that. It's pretty great. That is.
I picked up some furnace controls for the house.
So I have my heat HVAC is now controlled through it.
Very straightforward now.
I picked up Shelly, the AC clamp meters that they have.
So you got split phase clamp meter powering.
So that's showing up actually in the mail.
I'm just going to hook it up and wire that to mains. So, you know, you clamp it around the mains on it.
So, it's not – you have some power, but that's about it.
And then that way I can get some status on that and just sort of see what's going on.
Yeah.
And that'll be nice if you do hit the road or when you do hit the road again.
You can keep an eye on home, too.
Yeah, yeah.
Actually, my wife just snuck it around the corner here.
You can see what it looks like.
This is the – here's the clamp meter, one of the clamp meters for it. So, you can see what it looks like this is the here's the clamp meter
one of the clamp meters for it so it's you can see kind of the size right of it going on here
so this will clamp around 120 amp leg of your power panel that's kind of like what the Victron
stuff is sort of giving me in those spaces you can derive a lot of the other information from
just knowing the amps going
through something if you know the voltages. Does a house feel like a bigger problem domain? Because
that's how I felt. I was sort of motivated because a rig, I could wrap my head around the entire
thing from the ground up. But a house, it felt like I don't know where to start. I don't know
why I had it. I just had a different approach. I think after going through the process of going on the bus
and having to make things small, effective, and efficient,
the house is easy.
It's like cake because there's lots of space.
It doesn't go down the road.
It doesn't drive down the road.
It stays in one place.
When you come back to it, it's still there.
It's very stable in a weird way compared to a bus, yes.
So in a lot of ways, it's almost like reverse now.
I can use the house as an incubator for ideas and practice this and fine-tune this better.
We're really looking forward to getting back out on the road and doing some trips.
You know, it's not like we're going to go for just a week.
We'll probably go for longer than that, hopefully.
My work being full remote allows me to do that.
And then I'll be able to run out with another iteration of this whole home assistant
process again, and hopefully then take what I've learned from pushing it on the bus to make it easy
to recycle that concept back to the house and make the house rebuildable.
Right. I love your idea of trying things at home, experimenting with things and then road testing
them. Yeah. One of the most important lessons I've learned with all of this is that it's really easy
to start acquiring a whole lot of nerd knobs to play with.
It's like you plug in a few things and suddenly you have data galore everywhere.
And it's really easy to lose sight of the goal here is to make your life easier.
Sure, it could be your hobby to just swim like Scrooge
McDuck does in the money bin full of coins of data everywhere and doing everything in all of
the possibilities. But I find I will get lost in the possibilities when the reality is I don't
really need to do that. And everything you add, every feature you add, this is the classic
software development corundum everywhere
is that too many features.
Even just for self-hosting,
the more you build,
the more you have to maintain.
Yeah, and I think that's been
my balance right now.
So I left the hardest thing for last,
which is to make it easier to scale
and rebuild and redeploy.
And so that's what I'm really
working on right now.
Well, Aaron, I look forward
to following your adventures
in the future. And if you're ever in the Pacific Northwest, let me know. Absolutely. what I'm really working on right now. Well, Aaron, I look forward to following your adventures in
the future. And if you're ever in the Pacific Northwest, let me know. Absolutely. Yeah. Keep
track of us on our Instagram. You'll probably see things here and there. And it was really fun
kind of getting a chance to dive into this a bit more details.
Linode.com slash unplugged. Go there to get $100 in credit for 60 days on your new account, and you support the show.
Linode is our hosting provider for everything we've built for JB 3.0 and everything I've personally built for the last couple of years.
Linode's infrastructure is solid and flexible, and the nice thing is you can focus on your work, not on infrastructure problems.
You get 11 data centers around the world to choose from.
Every machine has super fast SSDs.
Every system is backed by their awesome customer support,
the best in the business.
I often talk about Linode in terms of hosting,
like a server,
but they also have object storage,
which we use the crab out of here at Jupyter Broadcasting.
A really handy tool is when you combine
the Linode command line tool
that just uses their fantastic API with the object storage. So I'll have like a JPEG on my hard drive that I
want to link to somebody. I have this link command, like all set up already in Phish.
So where I can create a file or I can delete a file or I can upload a file and mark it as public
and then generate a URL for it and then bring it back to my clipboard. And then I can just paste that URL into a chat.
It feels like magic.
And then just recently I was experimenting with static websites
to do like a single purpose, like a status page
that gives you just information if a service is down.
And I'm experimenting with just running those directly out of object storage.
It's so awesome.
It feels like I figured out some kind of hack
to host web pages without a web server in front of it
that are just super fast and static.
Like, why is this just not a thing more people are doing?
You know, there's really a lot you can play with.
They have an impressive set of applications
you can just one-click deploy
from entire stacks of web servers
to game servers and
everything. And the pricing is ridiculously great. They've really been able to hone in and do this
right so they can charge a really reasonable price. I mean, 30 to 50% less than big cloud
there over at AWS or Google. And you get a real nice balance of technology and price for that
sweet price to performance ratio that really
nobody else gets right. Linode's really special that way. So go check them out, support the show,
and see what I've been saying. Linode.com slash unplugged.
Well, before we go today, we've got one extra little surprise AMA question to throw in here.
Deckbot from Indiana writes,
what can you and your host tell us about being internet famous,
the pros and the cons?
If you could send an earlier version of yourself
one markdown document of advice about podcasting and internet fame,
what would be on that doc and to what date would you
send it? He flatters us, Wes. You know, he flatters us. No kidding. The only time Wes and I would be
considered internet famous is when we are at an open source event and then everybody kind of knows
who we are generally. Not everybody, but a lot of people. It helps if there's like a big Jupiter
broadcasting logo somewhere. The funniest thing actually is a lot of people have to hear us talk first before they realize it's us.
And that's kind of, man, if that's not a sweet spot.
It really is.
It's adorable.
Yeah.
And outside of that, we don't really have to worry about it.
And when I'm at a community event, I'm there to see people.
So it's great that people want to come up and say hi.
It's one of the
things I love about this niche. You know, if, if we were, if we were doing, I don't know,
the expanse podcast and it was huge because that's my secret dream, an expanse podcast,
then it would be kind of, it would suck to go out. Cause I'm kind of, I'm kind of an introvert
when I'm on, I'm on, but when I'm off, you better not make me be on,
because then I don't like it.
But I like this question about sending ourselves
a markdown document with advice about podcasting and internet fame.
I think I know two answers for myself.
Do you have anything that you would tell Past Wes?
Yeah, I think two things.
I would send it maybe like 2010 era, I think.
And one would just be, I mean, I always liked podcasts. I was a podcast listener, but
I don't know, up until I got involved with Jupyter Broadcasting, I don't think I ever
really considered that I would be making podcasts. I would want to put that little,
you know, that little worm in past Wes's ear to
think that might be a creative outlet that you would really enjoy. I mean, between the actual
content itself and learning all about audio and the hardware we get to play with, it's been
fantastic. And clearly it's on my list of things I nerd out about now. But the other one, the other
one would be prepare yourself for the work because there's a lot more that goes into it than I would have ever considered.
Yeah, but then would you just scare past Wes off with that second part?
Well, that's why I thought they might be a nice combo.
You know, you're going to really like this, but it's going to be a lot of work.
Yeah, so that way when it's those times it is a lot of work, you're like, no, no, I remember future me said this is going to be worth it.
Exactly.
Yeah, it'd be like that little motivator. That's, that's interesting. I think if I could send myself a letter, it would
be pretty generic other than it would say, come up with one way that really works for you, for
everyone to get ahold of you and only ever talk about that one way, remain extremely consistent
about that one way, because it kills me when I get notes. I just get notes
on all these, any platform that has a messaging aspect. So every social media platform, Reddit,
YouTube, everything, there's messages in there. And I go in there and I get messages from people
that are like, how come you're not responding to me? And, or I'll get a, I'll get an email from
somebody that says, I've been trying to get ahold of you for three weeks. I just feel so bad about
that. Um, because I just can't keep up with the platforms. You're like, I legitimately
had no idea. Yeah. And it comes up, it comes up, you know, a couple of times a week at least. So
I would love to be able to send past Chris a note that just says, be super consistent about how
people should get a hold of you. And I don't really know what that way would be. It's definitely not
email though. Yeah. I mean, it is for the shows. Like, if you want to get something into the show,
the contact forms are the best way.
Those come in via email.
So, like, for show content, that's really good.
I mean, email, you know, Wes, actually,
as I get to be an old man who's grumpy with social media,
I kind of think, you know, email's great.
So you've evolved on this,
because I was just thinking of you, you know,
sort of talking about the horrendous size of your inbox and how hopeless of a situation it was.
Oh, I do absolutely hate email.
I have to schedule time on Monday for a project that I don't even know what it's going to be.
But every Monday I get something in my inbox that action that morning I have to take action on and I have to spend a couple of hours that morning.
Sort of your blocked out Monday morning surprise time.
I have to because there is no social clear expectations on email. And so people wake up
Monday morning and they got an agenda and they want to get some stuff done and they either need
something from me or information from me or an answer from me. And that ends up in my inbox.
They need it now. Yeah.
And they, cause they, otherwise they can't go on with their thing. So I would, I would be very clear about communication. And then the other thing I think I'd say to my past self is don't
do the RMS interview that I did years ago. The whole thing was just kind of a wild last minute
thing that just sort of came up. It was a crazy opportunity, just two things lined up. But I just had rolled out of bed, and it was like my third night with a CPAP machine.
I had just gotten a CPAP, and I had not slept because it wasn't working well for me at the time.
And you can see in the video, if you look, maybe, you'll see like marks on my face, red spots on my face.
Those are my CPAP straps.
The interview was like at 5 a.m. because of where RMS was in the world at the time.
And so it was a lot.
And I don't think I had time to even think about what we were doing or what I wanted to ask RMS about.
And I don't like the way it went.
But I suppose that's for, you know, the history of the internet.
Because there's a lot of interviews that I think really do hold up
and that still are good to listen to. So I think I have outnumbered the bad, but I would have just
said, just don't do it. That is an interesting and maybe unexpected at first sort of tip that
it's easy to get caught up with, you know, the excitement of like, oh, I have the potential
of this interview. This is an opportunity. And it feels like, why would you say no? But it's
worth trying to carefully think about when you can.
Yeah, I'd have to, you know, I could do a few markdown bullet points, you know, just
boop, boop, boop.
Don't do it for these reasons.
You'll thank me later.
Yeah, and, you know, maybe warn myself about a few co-hosts here and there.
But I think that would have been it really.
It's just a communication thing.
And then maybe don't do the RMS thing.
And part of me, though, doesn't want to change anything because it's pretty great that we get to do this.
And it's pretty – the community we've built and that has stuck with us over the years is really, I think, the best of the best out there.
And we're just – we're incredibly humbled by that.
And so if, like, if I tweak any of that stuff, it's like maybe you warning yourself off accidentally.
Like, things just might not have turned out the same.
Right.
Whatever pain you have suffered, it was worth it since you're here.
That's right.
All right.
Well, the show's back live.
We're back on June 8th on Tuesdays.
Go over to jblav.tv at noon Pacific, 3 p.m. Eastern, or get it converted to your time
at jupiterbroadcasting.com slash calendar.
Hey, don't forget, too, we have the Linux flies on Mars sticker
that I made myself over at jupitergarage.com
for just a little bit longer, and you can pick it up.
And every time you look at it, you'll think to yourself,
Linux made history.
Linux is flying on Mars.
I also, the other thing I like about the sticker is I think
Linux runs on more planets than Windows, and I like that, too.
You can follow the show on Twitter, at Linux Unplugged, for announcements and stuff.
The whole podcast network is at JupyterSyctle.
And we have a whole range of great shows, a lot more self-hosted topics, and Linux Action News as well.
All of that at JupyterBroadcasting.com.
So don't miss those shows.
They're a great companion to this here show.
Hope to see you live next week, but otherwise, thanks for downloading,
and we'll see you right back here next Tuesday. Thank you.