Home Assistant Yellow - Pi-powered local automation

I've dipped my toes in 'smart home' automation in the past.

Typically I approach 'smart' and 'IoT' devices as a solution to one simple problem, instead of trying to do 'all the things'.

For example, I wanted to make it easy for my kids to control a home theater with four different devices and complex audio/visual routing, so I bought a Harmony remote and programmed it to control TV, a game console, an Apple TV, and radio. I don't want Logitech to start controlling other aspects of my house, or to give intruders an avenue by which they could invade my home's network.

However, many smart devices require a persistent Internet connection to use them, and that I cannot abide.

Home Assistant Yellow - inside enclosure

Luckily, on my long journey towards finally choosing 'one hub to rule them all', I found out about Home Assistant. When I was setting up CO2 indoor air quality monitoring last year, I got an offer from Nabu Casa—the company behind the open source Home Assistant and ESPHome projects. They wanted to send me a Home Assistant Yellow to try out, after seeing my many adventures with the Raspberry Pi Compute Module 4.

I posted a video on YouTube about how I control my office lighting with Yellow and some Zigbee accessories.

But in this blog post, I'll give a few more details on the hardware itself, along with more impressions and test results than would fit in a YouTube video.

Full disclosure: Nabu Casa sent me the PoE version of the Home Assistant Yellow, but did not offer any additional compensation, nor have input into the contents of this blog post or the linked YouTube video.

Hardware

Home Assistant Yellow board with SSD

(Note: in the above picture, I've also added on a Samsung 970 NVMe SSD for faster and more reliable data storage.)

There are actually three major versions of the Home Assistant Yellow:

  • Basic Kit with Power Supply: A Yellow board with no included Pi nor PoE, for $115
  • PoE Kit without Power Supply: A Yellow board with no included Pi but PoE support, for $125
  • Flagship Kit: A Yellow board kit with a Pi and power supply included, but no PoE, for $175

All three kits include a custom heat sink, enclosure, and Ethernet cable.

But one major difference—pertinent at the time of writing this blog post—is availability; while you can currently buy some Raspberry Pi Compute Module 4 versions on Seeed Studios (as of January 2022), it has been a struggle to find them in stock—especially in quantities greater than 1!

The basic kit should be available at the end of May, the PoE kit at the end of July, and the full kit including a CM4 in November. Those who backed the yellow on Crowdsupply should get their boards soonest, though.

Availability aside, let's look at the hardware features of the board:

  • Raspberry Pi CM4 as the 'brain' — supports all variants (up to 8 GB of RAM and 32 GB onboard eMMC)
  • Zigbee support via Silicon Labs MGM210P Mighty Gecko Module (also supports OpenThread/Matter)
  • M.2 M-key expansion slot (intended for NVMe SSD expansion storage, can also boot Lite CM4 modules with no onboard eMMC)
  • RTC with battery backup
  • Typical I/O including:
    • 1 Gbps Ethernet (with PoE support on the PoE version)
    • 2x USB 2.0 Type-A
    • 2x push buttons (for factory reset and future use)
    • 1x USB-C 2.0 port (for flashing device or using with special USB-C to A serial port adapter)

There are also three status LEDs (red for power, green for activity, and yellow for Home Assistant status), and a 12v barrel plug for power (can be used instead of or in addition to PoE).

The board also has a subset of GPIO pin headers in the bottom left that allow the addition of an internal Z-Wave radio, like the Z-Pi 7 or the RaZberry2—though you could just as easily add an external USB radio, too.

Finally, the board includes a stereo 1/8" audio jack, which is a little strange when combined with the exclusion of any HDMI port—I guess you could have the Home Assistant play music as a streaming device, but it would also be nice (and add a bit of flexibility, in case you want to repurpose Yellow later) to have display output as well!

Home Assistant Yellow board - back side

The other thing missing from this board is a microSD card slot; there are pads for something on the back of the board (pictured above), though it doesn't look like they'd fit a card reader. It would be nice to offer the flexibility of booting a Lite model CM4 from microSD, though I half-wonder if Nabu Casa decided the horrible experience afforded by bad microSD cards (which many people would probably try using) was enough to warrant that slot's exclusion.

Case

The last thing to mention is the case: it looks nice, and has an internal embossed Home Assistant logo on the top side. The picture at the top of the post shows the version I got—still a little rough on the finish. The final version should have a nicer interior finish and will probably fit together slightly better.

Home Assistant Yellow - IO side ports and ventilation holes

But one concern I had was—besides a couple slots on the IO side (pictured above), there's no ventilation. The Pi has a hefty heatsink, but all that heat is just dumped into the interior of the case, with nowhere to go.

The case does warm up a bit, and the Pi generally doesn't overheat if idle, but if you were planning on buying Yellow to run Home Assistant and a ton of other things, that might not be the best idea. It will throttle the CPU if stressed for more than a few minutes.

Luckily, after using it a few days in my basement rack, I didn't encounter any issues with responsiveness. I would like the case to possibly include an option for a Pi-fan or some other tiny fan to exchange air so that heat sink can keep the Pi nice and cool no matter what.

Heck, even a few holes in the top over the Pi should be enough to keep it from overheating.

Home Assistant - first impressions

Home Assistant Dashboard

This isn't a post reviewing Home Assistant, per-se, but it was my first exposure to the project, and it being a very popular open source project for home automation, I thought I'd offer a few initial thoughts.

You can see my pretty barebones dashboard right now—the first three things I integrated were in my Office:

I added an Automation to control the office lights with the motion sensor, and that turned out to be very easy to do—once I figured out there was a blueprint for it. I initially tried the hard way after I failed to input the right incantation into the 'chatbot' style query field and it misinterpreted it (see 9:57 onwards in the video.

I also found Home Assistant's integration discovery mechanism to work very well—I was able to add on my Elgato Key Light Air pretty quickly, and in combination with a Shelly Plug, I'm now considering tying my smart button into my Mac so I can quickly switch on my camera and lights for video recording (right now I have the oh-so-laborious task of walking around my desk to turn on the camera, then pressing two or three buttons to turn on all the rest of my lights and recording gear—what a bother!).

I plan on re-flashing my ESP8266-based air quality sensors with ESPHome and getting their data into Home Assistant soon, and probably tying in more home monitoring as I go.

Resetting and upgrading Yellow

I haven't tested this yet, but Yellow has it's own specialized method for resetting the system (by pressing the Red button), and if connected to the Internet, the board can re-flash a Raspberry Pi's eMMC or even an NVMe SSD directly, if the Pi's firmware is up to date. It also has a jumper to control the mode of the USB-C port on the back, so you can use Raspberry Pi's own usbboot tool to manage onboard eMMC.

Some issues with Yellow

The Yellow's not perfect—I already mentioned I was puzzled by the lack of a built-in HDMI port, and while I can understand the reasons why the microSD card slot was neglected, it would've been nice to include for those who can choose a good microSD card.

Home Assistant Yellow case with logo vertically oriented

The bigger issue is the case, and it's lack of ventilation. While it's not an issue in casual/normal Home Assistant use (the CPU stays under 50°C in my testing since it's almost always idle), it would be an issue if you want to run, more intense software on the Pi, or repurpose it to run as a server if you eventually outgrow it as a Home Assistant box.

It's not a huge gripe, and you could always 3D print a custom case with better ventilation (or even a little 5V fan connected to the 10 exposed GPIO pins), but it would be nice to have a few more slats where air can flow through the case.

In terms of power consumption—one of the best arguments for using something like Yellow instead of a full X86 PC to run Home Assistant is that it consumes only 2-4W while idle—mine averages about 3.5W through my PoE switch.

A normal PC's ability to go to sleep (consuming < 1 W of power during sleep) is negated by the fact that a system like Home Assistant requires the PC doesn't go to sleep. If you're not running much else on the PC, you'll waste a lot of power for an application that doesn't need it.

Conclusion

Do I think everyone who wants to get into home automation should get a Yellow? No—there are many people who already have a Raspberry Pi or another computer running that could run Home Assistant (maybe via Docker) quite well, and all you'd need to do is add on a USB Zigbee gateway.

But if you don't have any other hardware to put to the task, and want to start down a dangerous path towards automating every last thing in your home, Home Assistant's Yellow is a great product for it.

Home Assistant Yellow in rack

It's not the cheapest dedicated Home Assistant hardware, but the upgradeable core (the Raspberry Pi inside), the open source, local-first approach, and the overall simplicity of the board mean it's going to remain in my homelab for the foreseeable future.

Comments

Hey Jeff

Great video - although I like the idea of the Home Assistant Yellow (I actually ordered one as well) as you know I am big into the idea of Less is More ;-) So I actually did my Home Assistant set up on a Raspberry Pi Zero 2 W with an Aetoec Z-Wave USB stick (https://aeotec.com/z-wave-usb-stick/index.html). Would post a picture if I could. Keep up the great work.

Thanks

Alex

Seems like a pretty solid setup! The Zero 2 W has the horsepower to do it pretty well (I'd be more cautious running it on an original Zero W).

Coming from someone that has used HomeAssistant for a bit, let's be direct about some things... (Also- was I zoned out for the part where you mentioned that this is their 2nd spin of custom hardware? The short-lived Blue?)

While it *is* an interesting bit of kit, I feel it's important to consider *who* it's coming from because those same people... So. The Devs do *not* interact on the forums. The forums are community support and the ratio of forum regulars to their collective knowledge is low. Sorry, but it is. There's no incentive to support the community when you're generally left to figure things out on their own. Forum could use more knowledge moderators even to consolidate posts and keep things tidy, but I have my doubts about who that might include. The Wiki has historically been in a sad state. Old, outdated stubs that still get linked to... It's all a sign of lazy devs that only do what they want to do. They can't be bothered to write their own documentation, so they don't. Random, one-off changes get made on-the-spot during livestreams, justified by weak motives, then get pushed out in the next update. ...let's just say the devs are sensitive and defensively shutdown if questioned.

Second- re: SD card... Here's the thing. The Devs denied that there was any problem until they were getting called out for their denial. But it wasn't the denial that was the problem, it was that it was always the User that was at fault that it wasn't working the way they said it would. It seems that none of the Devs could actually be bothered to run a live deployment on a Pi (they generally run theirs on NUCs, old servers/desktops/laptops? Being billed as running on a Pi was more of a side-effect from them using Docker, and only because Docker also runs on a Pi. 'we run through Docker' + 'Docker runs on a Pi' =\= 'we run on a Pi'.

Further- the way they responded was to repeatedly raise the SD specs while waiting for the eventual Pi4 release then wait further for an official pi USBboot solution... when plenty of other projects figured out how to reliably overcome the pre-Pi4 boot limitations... Denial, blame shift, shutdown.

It's how they do.

Video Idea- comparison between the Yellow(Amber) and a similarly spec'ed Pi4+m.2 carrier+ZigBee adapter...

The thing about the microsd cards is that HA is constantly writing to it's database, so even the best microsd card will wear out pretty fast . It's just unreliable.

One very common setup which is very popular is just getting a cheap android "tv" box and flash it with armbian. With very simple steps you can have Home Assistant running with docker. Upgrades are also just a click on the interface.

A box like this costs around €30, has also low power consumption, comes with charger and emmc, and can have better performance than a Pi, for a lot cheaper :) for zigbee a cc2531 ~€5, or for a bit more but a lot better a sonnof USB dongle zigbee 3.0 (~€12).

Happy hacking!

Home Assistant Yellow doesn't include a microSD card slot for that very reason—to discourage the use of microSD cards for data storage. You can either get a Lite CM4 and use NVMe for boot and storage, or get an eMMC CM4 and boot from eMMC and store data on NVMe, or boot and store data on NVMe (though I don't know if the latter is a supported use case yet).

I was just clarifying that it's not about choosing "a good microSD card" has you stated. It will always go wrong, so I believe it was a wise choice not to include a slot so users don't blame the yellow for the bad experience!

Best regards,

Guilherme

Home automation is a passion of mine so it's great to see you getting started with Home Assistant Jeff. Hopefully you get addicted as it would be great to see what ideas you come up with.

I have been using Home Assistant for close to 3 years now. The learning curve is steep but learning Home Assistant has been a very rewarding experience. I run 50+ Zigbee devices and have close to 150 automations now and I only live in an apartment, looking forward to the day I buy a house and start adding more!

Looking forward to seeing more home automation videos from you.

Jeff, if you find the GUI automation panel and the YAML automation too limiting (and you will eventually), check out AppDaemon (AD). You should be able to install it under the plugins section. I say, "should" because I run HA and AD on Docker, so I don't know exactly where the pre-canned install is on the yellow.

Anyway, AD lets you write automations in Python. There are some odd import limitations, but I think that has to do with AD having to parse whatever you write as opposed to being a raw Python interpreter. Limitation aside, leveraging Python for automations is extremely powerful. Docs: https://appdaemon.readthedocs.io/en/latest/

I am just setting up the HA Yellow now as I finally got a CM4 module. I noticed there are 3 jumpers on the board. One that is labled CLS3 and CLS4, the UART/USB and one lablled USB Recovery.
Do you know what any of these do?