Got it! I thought there was a bunch of stuff that I wouldn’t know and it wouldn’t work, but I can’t believe I actually got it to work.
For those like me from the future who want some hints/instructions:
I googled “install python on mac.” This was super easy and typical “double click to install” kind of thing.
Then I opened up the terminal on my Mac and did
pip3 install esphome
It prompted me to upgrade python or something so I did that.
Then I tried to run esphome version
, again all of this is on my Mac from a Terminal window and I got an error.
So then I did this (this is from the install page, I didn’t change anything)
echo 'export PATH=$PATH:$HOME/.local/bin' >> $HOME/.bashrc
I closed the Terminal window and reopened it and ran esphome version
and it worked (showed me the version of esphome on there).
Then I used the cd
command to change directory to my Desktop, as that is where the yaml
file was. I downloaded this from the ESPHome add-on page in Home Assistant. I went to the ESP32 I was wanting to update and there’s an option to download the yaml.
Then, to compile (and a apparently upload, that was a surprise) I ran
esphome run esp32-poe-2.yaml
where the esp32-poe-2.yaml
is the name of the yaml
file itself, so you’d have to change it to match your filename.
Then after about 1-2 minutes, it was done, and started showing the log of the esp32. So it not only compiled the code, but uploaded it to the esp32 as well.
My current problem/question is now this code is separate from the ESPHome add-on and what I see there in HA. So I have to make sure not to use that to update as it will again kill the pi and will push out the older code.
I’ve come to realize the addon is the thing that compiles the code, so I’ve basically just moved the add-on to my computer and I could get rid of it. Except, it is still helpful for when I’m setting up a new ESP32 because I think there are issues with USB and ESPHome on a Mac, but I’m not sure. And it is nice for pulling up the logs, as I don’t know how to do it (although I’m sure it’s just knowing the command) from the terminal.
Anyway, that’s how it worked for me on a 2019 MacBook Air with MacOS 13.0.1 (22A400). Hopefully this is helpful to someone else!