Hello, I’m Vision. I have been a Home Assistant user for some time, but a proper, clean setup has always eluded me because of one hardware constraint: Ethernet.
The standard Home Assistant OS installation on a Raspberry Pi relies heavily on Ethernet for initial configuration. Unfortunately, my home environment made this impossible; my router lacks available Ethernet ports, and Wi-Fi extenders failed to bridge the gap. As a result, I had to rely on workarounds like virtual machines or hosting HAOS on a separate computer. For over two years, I have tried to properly deploy HAOS on a Raspberry Pi using a MacBook, failing at every turn—until today.
How to set up HAOS on Raspberry Pi without Ethernet (macOS)
[1] Installation
Follow the official Home Assistant installation guide for Raspberry Pi here up until step seven.
[2] Connecting to Wi-Fi
1. After Installation, remove the SD card from your Mac, then reinsert it.
2. Open the “Terminal” app.
3. Type diskutil list, then find the SD card with hassos-boot.
4. Type sudo diskutil mount <DISK> (e.g. sudo diskutil mount disk4s1).
5. Type mkdir -p /Volumes/hassos-boot/CONFIG/network.
6. Replace YOUR WIFI NAME and WIFI PASSWORD with your actual Wi-Fi name and password.
cat > /Volumes/hassos-boot/CONFIG/network/my-network << 'EOF'
[connection]
id=my-network
uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
type=802-11-wireless
[802-11-wireless]
mode=infrastructure
ssid=YOUR WIFI NAME
[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=YOUR PASSWORD
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto
EOF
7. macOS sometimes leaves invisible ‘._’ files that can confuse Linux; remove them by typing
dot_clean /Volumes/hassos-boot
8. Make sure your files are in the correct location.
cat /Volumes/hassos-boot/CONFIG/network/my-network
You should see the long "cat > /Volumes... ...EOF" thing from earlier with your actual Wi-Fi name and password. If you don’t see anything, or the YOUR WIFI NAME and YOUR PASSWORD placeholders are there instead of your actual Wi-Fi credentials, see {*1}.
9. Eject the disk.
diskutil eject <DISK>
(e.g. diskutil eject disk4)
10. Insert the SD Card into your Raspberry Pi and wait a few minutes for it to boot up.
[3] Accessing Home Assistant
After you configure Wi-Fi, follow the instructions below to access your dashboard.
Open http://homeassistant.local. If it loads, you have successfully set up your Home Assistant instance!
— If it doesn’t load, try http://homeassistant.local:8123. If it still doesn’t load, you may need to access Home Assistant via its direct IP address.
To find your Raspberry Pi’s IP address, type the following in Terminal.
for ip in 192.168.1.{2..254}; do (nc -z -w 1 $ip 8123 2>/dev/null && echo "$ip is running something on 8123") & done; wait
Look for a line saying X.X.X.X is running something on 8123. That “X.X.X.X” is your Raspberry Pi’s IP address; type http://X.X.X.X into your browser and see if Home Assistant comes up. Replace the Xs with the actual IP address.
—— Congratulations on setting up Home Assistant ——
{*1} If you do not see anything, restart from [1] Installation. If you see the placeholders instead of your actual credentials, type sudo nano /Volumes/hassos-boot/CONFIG/network/my-network, use arrow keys to move around and do Control + X, Y, then Enter to save.
———————————————————————————————
If you have any questions, please DM me on Discord or Home Assistant Community.