My setup for Apple HomeKit was an iPad, a HomePod Mini, and my personal iPhone. The iPad was where I would configure Shortcuts > Automation > Personal Automation, which would light up Bluetooth and play playlists. My goal was to replace my Amazon gear as my home alarm clock. The Amazon Echo system started well, but enshitification happened, and I removed all that gear from my life.
The HomeKit solution mostly worked, except when it didn’t. The iPad would, once in a while, simply register an error instead of doing the automation task. It can be a real bummer when your alarm clock doesn’t go off. I lived with the poor behavior because it only happened every week or two or so. But I had a nagging feeling that long term, this is not going to be acceptable to me. Computers can be reliable, and I’m not willing to pay Apple’s price for an Apple TV. I think I confused the Mac Mini with the Apple TV; the Apple TV is about the same price as what I went with later.
Speaking of which, I’ve abandoned the low quality competitor, too: my Roku Ultra is powered off and headed for the scrap heap.
The thing that kicked my ass into gear on abandoning HomeKit was the most recent upgrade of iPadOS. I forget if it was 18.1 or 18.2, but after the upgrade, all my playlists were empty. The MP3 files are still on the iPad, but the playlists I’d programmed into Apple Music were empty. Would I like to add my music from the Apple iTunes store? Go kick rocks. I copied the MP3 files to the box for a reason.
So now I have a choice: recreate the playlists on a box I don’t think is going to work out in the long run, or, start over on something new.
I chose to start over on something new.
Nicely enough, my brother gave me a great Christmas gift last year: the Morefine M8S N100 Alder Lake PC. My brother specifically looked for one of these because a reviewer he listens to said this small form factor PC is one of the quietest boxes with active cooling, and specifically is Linux compatible. I wiped Windows off of it and installed Manjaro Linux, just like my main desktop. The HDMI on it drives my television (monitor) and I use Bluetooth to connect to the soundbar.
As mentioned in the Home alarm clock: no progress post, I’m not having success running it headless. So why not go whole hog in the other direction? I have a work-around: turn the display panel off. I have to use the TV remote to pull up the menu which lets me power down the display panel. If I want to see the screen again, I use the remote. Other than that, the Morefine M8S is a normal Linux desktop driving a television set, and the television set never turns off (well, the electronics driving the tuner / HDMI ports, at least). This also lets me use Rumble as a YouTube replacement, with a wireless mouse and keyboard from my bed. But I digress.
I’m using KAlarm to run commands on a schedule. The commands are:
vlc --intf dummy /path/to/music/playlist.file
And so far, it hasn’t failed to play an alarm yet.
A bonus feature I didn’t expect: the alarm music sounds better. Of course it does, an iPad playing an MP3 to a soundbar doesn’t do 5.1 stereo; but Manjaro on the Morefine M8S does know how to send that type of stream over Bluetooth. My guess is that Apple was nerfing the MP3s in favor of AAC from the Apple iTunes store; I don’t know. But I do know that the new setup simply sounds way better.
And a future bonus feature will be that I could write a Perl script to replace the contents of the .pls or .m3u files if a desire for variety should strike me.
The only downside has been that the HomePod Mini is now kind of useless. It was nice, having the automation on the iPad to be able to play something in either the soundbar in my bedroom (mornings and evenings) or the HomePod Mini in the living room near my main PC (lunch break times).
I am going to flash a Raspberry Pi with Homebridge, but I don’t know if that will let me send a VLC stream to the HomePod.
Still, I have a great setup for watching Rumble or such while I fold my laundry, listen to a podcast to fall asleep to, and I have faith that my alarms will no longer fail me.