igloo
A powerful DIY smart home Rust library
Started:
2025-01-01
Ongoing
Language:
Rust
Background
Home Assistant (HASS) is a smart home platform that can connect nearly any smart home product. It breaks down vendor lock-in and gives you a single platform to manage your entire home. On top of this, it supports scripting, custom dashboards, and automation. It makes smart homes fun and powerful.
Home Assistant got me interested in smart homes, and while I think it’s an amazing tool, it has many flaws. In summary:
- Resource Hog: Takes a lot of system resources. In my case, 0.7-1GB of RAM, which is ridiculous for what it’s doing. While they claim it can run fine on a RPi 3B+, my experience and the experience of others differs (1).
- Unintuitive: HASS has a ton of features, a poorly laid out UI, and essentially turned YAML into a programming language. (1, 2)
- Security: Has had many security vulnerabilities, and consistently has bad responses (1)
- Architecture: This is much more of personal gripe than anything. I disagree with implementing device drivers & protocols in Python. Furthermore, it uses JSON strings all over the place which is not only slow, but unreliable. The history system also uses JSON strings and puts them in SQL database, making it take a lot more space than it needs to.
While the Home Assistant developers and community are working hard to improve it, I think the real solution is a complete rewrite and re-thinking of how it works. This is why I am building Igloo.
Goals
Initially, Igloo was meant to be a direct HASS replacement (V2), appealing to a wide audience. This is no longer the goal of it (V3), and is instead made for a niche audience of power users who know Rust.
Igloo is a DIY smart home Rust library. It provides a cohesive system and collection of crates to help code your own smart home program. Its goals are:
- Cohesion: provides cohesion between device drivers to allow for an ecosystem to exist around Igloo. IE a dashboard crate for Igloo should automatically work with and any and new device drivers
- Power: doesn’t limit what you can do in your smart home, and makes advanced functionality easy
- Ergonomics: is a good experience to use
V3 Updates
History
As I mentioned earlier, Igloo V2 was initially intended to be a direct replacement for HASS. These posts are all related to that version: