• 2025
  • Feb
  • 26

My misadventures with a Home Assistant Green

What happened?

Recently, I decided to give Home Assistant another try. I had have given it a go in the past, but at the time it simply didn’t give me enough functionality to be “worth it.” Now, with the proliferation of cheap zigbee and LoRA sensors, I decided to see what it can offer.

To facilitate this, I purchased an official Home Assistant Green CPU with the official ZigBee dongle. Why? Well, here’s what the website says:

Ready. Set. Go. — The affordable Home Assistant Green is the easiest way you can start using Home Assistant. It’s plug-and-play and comes with Home Assistant already installed.

Here it is on the site itself, as of February 26 2025:

hassistweb.jpg

All cool, right? Remember that it’s already installed.

So, I order from a company that I’ve dealt with before, and a week later it shows up on my desk at work.

hassistgreen.jpg

I read the little booklet inside the box. It apparently has to be connected to the internet in order to work the first time. Why? Well, remember that little bit about the OS and system being already installed?

It’s not.

It has to download an install it from github. So the very first thing I encounter is that it’s not actually like it is on the website. It, in fact, is not already installed on the device. It simply has some sort of bootloader stub that captures the image and installs it. No indication from where, no indication of how long it might take, nothing. The lack of information here is disturbing.

I plug it in, apply power, and walk away to make something for dinner. A while later, I come back and hit the indicated webpage on the device, and all I get is a big screen telling me that the system failed to install. There’s a log, which I grab and copy here: https://pastebin.com/gdYK38d6

I comb forums, make posts, contact the vendor. The vendor is very responsive, but can’t really offer anything except that they’ll take it back and try to flash it themselves. I get no reply from forum posts, but there are plenty of other people who have the same issue. The creator of the Home Assistant system only indicates that I don’t have an internet connection.

I wonder how the software downloaded and tried to install. Must be that wireless wire I hear about?

Anyway, after spending the better part of half my day on this thing, I set it aside.

Something occurs to me. It says look closely at the log. And there it is:

[supervisor.dbus.timedate] No timedate support on the host. Time/Date functions have been disabled.
[supervisor.host.services] Updating service information
[supervisor.host.sound] Updating PulseAudio information
[supervisor.host.sound] Can’t update PulseAudio data: Failed to connect to pulseaudio server
[supervisor.host.network] Updating local network information
[supervisor.host.apparmor] Loading AppArmor Profiles: {’hassio-supervisor’}
[supervisor.utils.whoami] Whoami service failed with SSL verification: Cannot connect to host services.home-assistant.io:443 ssl:True [SSLCertVerificationError: (1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1000)’)]
[supervisor.core] Whoami service SSL error
[supervisor.core] System time/date shift over more than 3 days found!
[supervisor.host.control] Setting new host datetime: 2025-02-21T17:58:06+00:00
[supervisor.core] Fatal error happening on load Task : Automatic time synchronization is enabled
[supervisor.docker.monitor] Started docker events monitor
[supervisor.jobs] ‘Updater.fetch_data’ blocked from execution, no supervisor internet connection

Pay attention to the things about time, then go down to the part in the middle about certificate verifications. The SSL cert onboard is in the future. That tells me the time onboard is wrong, in the past, and probably whatever the hardware gave the Home Assistant install process! Only then does it check the time, and yeah - it’s way off. After that, it’s all failures because the SSL checks failed. Of course the supervisor doesn’t have an internet connection, it’s certificate is invalid because the device didn’t check the time.

Why didn’t the Home Assistant install process check the time first thing, instead of in the middle of the process? I don’t get that at all.

There’s a reset procedure. It wipes the drive. I try that. No luck, now I don’t even get the failed install web page. I try it a couple of times, no luck. Forum posts suggest seeing what’s on the screen, so I connect a monitor to the device and find that it’s sitting at “Waiting for Home Assistant CLI to be ready.” It never “becomes ready” so it dumps me into an emergency console which doesn’t really give me much power.

I do notice that there’s a message about the wipe process failed in the boot messages. Hmm…

There’s a “You can flash this with an SD card” procedure. I try a couple of different SD cards with several different flashing tools. None of them work. It just tries to boot normally.

I’m at a loss, and running out of patience. The vendor has agreed to take it back. I set it aside and sleep on it.

So why didn’t this thing get the time from the network. Is it trying to get it from my router instead of outside the network? That can be an issue. I run a Mikrotik router with RouterOS6. It doesn’t offer the time by default because Mikrotik’s philosophy was that your router isn’t a clock. You can’t depend on the router being correct. You want a clock, get a clock. It does have an internal SNTP package, but that wasn’t really doing much because I didn’t care. The router routes packets - it doesn’t care if it’s 2011, 2025, or 2100. It just routes packets.

Mikrotik does offer a NTP package that can serve time to the local network. I install that, set it up, and verify with “ntpdate -q 192.168.1.1” that I’m getting a response. Ok.

I try to boot again. Nothing. Reset - still giving me the can’t wipe error. SD card flash, nothing. I notice some jumpers on the board itself, and decide to go for broke and open the case. I’m sure the warranty is now void, but it’s going to be void when I hit it with a crowbar. But, I digress - there is indeed some headers, one has a jumper, and it’s marked “NOR / REC” and is in the “NOR” position.

hagjumper.jpg

Normal and Recovery? There’s no information about it. I move to “REC,” apply power, and…

I see the machine downloading the OS and installing. All of the error messages about kernel time synch that were there are gone, indicating that it indeed was trying to get the time from somewhere. It installs, powers down. I put the jumper back into the “NOR” position and boot. And there we are, the Home Assistant setup and login appears.

I put it back together, let the vendor know, and write a WTF Man? letter to the creator of Home Assistant, a company called Nabu Casa. It seems to be working just fine.

So WTF Man?

When I emailed Nabu Casa originally, the only thing they said was “You don’t have an internet connection,” completely ignoring the fact that I indeed had an internet connection because the software downloaded and tried to install. That was worthless. When I was done, I emailed them and told them what fixed it - no response so far, nor do I expect one because, while I wasn’t necessarily impolite, I wasn’t holding back either.

To me, it looks like this device expects your router to provide a correct time. If it does not, or does not provide the time at all, it fails silently and even the manufacturer doesn’t know this. They simply assume that your device is their device and all devices act the same. Forum posts that had this same problem were solved by taking the Green unit somewhere else and trying again - it works, probably because they now had the right time. Others indicate they had to mess with DNS setting in their router - was that the fix or did changing those (and the subsequent restart) simply force the router to properly update the time? Probably yes, a little of that and a lot more of this.

The vendor, while extremely responsive, wasn’t a software troubleshooter and could only offer me help with the hardware. They could attempt flash or give me a new one.

So the TL;DR here is make sure your router can provide the correct time, otherwise - you’re in a world of hurt!

But one last thing here - why didn’t the reset process complete, and why couldn’t it wipe the drive? (This may also be related to the flash failure.) It seems, from the posts I’ve read, that if something fails and the drive doesn’t get into the exact expected state, the wipe process doesn’t know what to do and fails. That’s extremely fragile, and I don’t understand why it does that. I will assume that it’s only wiping the portions of the OS that contain the Home Assistant containers, and if they aren’t there (in some cases I’ve read where the drive name being wrong causes this!) it just fails. It doesn’t stop, it just continues to boot and destroy itself more. Same with the failed install process - it just keeps going and destroys itself.

My advice to Home Assistant?

The time is obviously very important, since you’re using self-served SSL certs. CHECK THE TIME BEFORE STARTING THE INSTALL PROCESS - If it’s before 2025, STOP. The system does not have the correct time. Or, check to see that it’s within the range your certs are good for, you’re providing them so you know the dates!

If it gets into the SSL process and one of the SSL checks fails, STOP. Since this is important to the supervisor that runs Home Assistant, continuing will only cause problems.

You need to explain what’s going on better, how long you expect things to take, and what that jumper is for inside the case. You need to explain certain things like it’s not installed, and that you need the correct time on your router before continuing.

Last, the install process is way too fragile. This is a consumer device, if you’re not able to recover from a simple bad install without using unpublished information you’re doing it wrong.

Final thoughts

If you’re planning on getting one of these for yourself, do yourself a favor and make sure you have a good, wired internet connection and your router can provide the correct time.