All checks were successful
Build and Publish Docker Image / build (push) Successful in 25s
76 lines
3.8 KiB
Markdown
76 lines
3.8 KiB
Markdown
+++
|
|
date = '2026-05-17T23:57:15-06:00'
|
|
draft = false
|
|
title = "Katchi, a dragon's best friend"
|
|
tags = ['kobold', 'esp32']
|
|
+++
|
|
|
|
## A smart-home for a Dragon
|
|
|
|
{{< typeit
|
|
tag=h3
|
|
speed=50
|
|
breakLines=false
|
|
loop=true
|
|
>}}
|
|
"It's the Future..."
|
|
"Dumb homes are so 2010"
|
|
"Is all of this really necessary?" — Concerned Friends
|
|
{{< /typeit >}}
|
|
|
|
### Smart-homes
|
|
|
|
The present state of smart-home choices is fairly acceptable. You have your major players, Google, Apple, Amazon and
|
|
their associated services like Google Home or Alexa. These systems are fairly easy to set up; plug in the new device,
|
|
type in some credentials or type a prompt on your phone, and done. Most of these systems rely on a central hub that
|
|
orchestrates the entire smart home.
|
|
|
|
But all these systems have one fatal annoyance. They all require access to the internet.
|
|
|
|
### Internet dependency
|
|
|
|
In recent years, it is common to run into issues with major providers. Privacy concerns, outages and the forced
|
|
obsolescence of existing systems put a lot of pressure on me when building my first smart home. Sure the big players
|
|
make it easy to set up and use, but for me the non-monetary cost was just too great. Besides the limitations in software,
|
|
knowing that if I had an internet outage, or god forbid, the provider has an outage, I would be shit out of luck in
|
|
turning off my lights turned me away from major providers.
|
|
|
|
### So what did I use?
|
|
|
|
After spending a lot of time frustrated with my options and dealing with the difficulties in automating and doing what
|
|
I wanted with my smart-home, I went down the rabbit hole of options and found
|
|
[Home Assistant](https://www.home-assistant.io/).
|
|

|
|
|
|
Unlike the big-name smart-homes, Home Assistant is a self-hosted option that runs on your own hardware and locally
|
|
connects to supported devices. It supports a wide range of [devices and integrations](https://www.home-assistant.io/integrations/?brands=featured)
|
|
and is fairly easy to set up.
|
|
|
|
I wont expound on it much more here, but I will link to the [getting started](https://www.home-assistant.io/installation/), [documentation](https://www.home-assistant.io/docs/)
|
|
and [community](https://community.home-assistant.io/) for more information.
|
|
|
|
### So what's the problem?
|
|
|
|
Of all the amazing options that Home Assistant gives us, it has a fairly significant miss; that being Smart Speaker integration.
|
|
|
|
## Home Assistant Smart Speaker
|
|
|
|
The options for Home Assistant smart speakers are quite limited, they only offer one official product as of the date of publishing this post.
|
|
|
|
{{< externalLink url="https://www.home-assistant.io/voice-pe/" >}}
|
|
|
|
While the Home Assistant Voice PE works decently, it is the only off-the-shelf option for Home Assistant which considering
|
|
all the freedom Home Assistant gives us, feels quite limiting. However, there is a solution.
|
|
|
|
### The Solution
|
|
|
|
Thankfully we are not constrained by the limitations of existing hardware thanks to microcontrollers, specifically the ESP family of microcontrollers.
|
|

|
|
|
|
Using [ESPHome](https://esphome.io) you can create a whole myriad of smart devices based on the [ESP32 microcontroller](https://www.espressif.com/en/products/socs/esp32). It provides a very diverse
|
|
family of options that can fit nearly any use-case. Think of it as an alternative to Arduino, where instead of writing C code
|
|
you can write yaml configuration files that dictate and configure your ESP device.
|
|
|
|
Knowing this, I set out to make my own Smart Speaker.
|
|
|
|
## Katchi the Kobold Smart Speaker |