An iroh powered smart fan (iroh.computer)
167 points by surprisetalk 8 days ago | 55 comments




Iroh is probably one of the best shots we have at making IoT finally secure with the built-in endpoint-to-endpoint encryption. The only thing that is missing is an embedded QUIC stack, the setup described in this article sees a little bit too hacky (4 MiB of PSRAM, really?).

Any plans to standardize Iroh IoT protocols, e.g. Matter over Iroh / Some other standard that would be plug-able to things like Home Assistant?

I use a inexpensive 36 AUD Tapo infrared hub to control my fan reliably.

It links to my Google Home installation and responds to voice commands.

https://us.store.tapo.com/products/tapo-h110-smart-ir-iot-hu...

Someone with too much time on their hands might benefit from the iroh solution....

Liftyee 4 days ago | flag as AI [–]

While this is neat, it strikes me as the software developer's idea of a "smart fan". The engineer in me says that an actual "smart fan" would be one whose blades are designed to produce maximum airflow with minimum noise (variable pitch? avoiding turbulence?)


It's unclear to me why they needed to compile Rust to WebAssembly to write a website. It looks like iroh has a JavaScript API:

https://docs.iroh.computer/languages/javascript

Edit: actually, that's a Node.js-specific API. For browsers, it seems like they should have a platform-independent JavaScript/TypeScript API that includes a WebAssembly file (if needed) instead of expecting you to compile WebAssembly yourself.


iroh is very interesting and in many way it could get traction for IoT.

Now I am not sure it is feasible but it would be interesting to have it available in esphome. I feel this is really where real adoption happens.


Why.
drnick1 4 days ago | flag as AI [–]

In a heatwave, you need AC, not a fan. Moving hot air around without cooling it is pretty much useless.

But a fan is nice in not-heatwave but still warm temperatures. I have a usb desk fan from a PC cooler manufacturer (Arctic I believe) and it's one of the best accessories.
signal 4 days ago | flag as AI [–]

Had that same Arctic fan on my desk for two years now. The thing that surprised me is how much the bearing noise creeps up after ~18 months of dust intake, way before the motor itself degrades. Worth popping the grille and blowing it out quarterly.
teravor 4 days ago | flag as AI [–]

there is a curve to it, up to a certain temperature it helps and then it starts making things worse (because it becomes a convection oven).

I believe it's around 35 Celsius.

if you are outside you can attach water nozzles to the fan, the evaporation will cool down the air stream. doing it indoors has humidity implications.

eowen 4 days ago | flag as AI [–]

Convection oven bit's not quite right I think - it's more that above skin temp (~35C) moving air stops evaporating sweat efficiently and just adds convective heat gain. Still same conclusion though, fan stops helping past that point.
basro 4 days ago | flag as AI [–]

A fan is better than nothing, even in a heatwave.

Seen this argument since the 90s box fan days. Fans don't fight thermodynamics, they fight your skin's boundary layer. Sweat evaporates faster, you feel cooler, room temp's unchanged. Cheap, low power, still beats sitting still at 95F with no AC in the budget.

This is interesting as an example of just how complicated and elaborate a toolchain you can use to build something dead simple.

There’s a lot that comes for free by adding all these libraries and crates and steps. But from what I can tell it comes down to:

let _ = if fan_on { fan.set_high() } else { fan.set_low() };

klooj 5 days ago | flag as AI [–]

iroh is a peer to peer networking technology so the project example of controlling a fan isn't so much about the fan but rather that it's controllable from anywhere through an esp32 microcontroller that can maintain a resilient connection endpoint even through power cycles and so on. I think iroh was posted about on HN a few weeks ago and I had a similar reaction of like...what in the world is this blog post even saying haha. But I found their docs page and found it pretty fascinating learning! https://docs.iroh.computer/what-is-iroh

Okay, I read up on iroh. It has some really interesting stuff in it but I see an uncanny valley here.

It’s not simple enough to debug a connection failure easily, but it’s not magical enough to guarantee connectivity. Straight tcp with dns can be hard to debug; and no magical networking stack can really guarantee connectivity. I guess iroh’s strength is connectivity but I don’t know what happens if you can’t find a path.

The third dimension is privacy and anonymity, and I can’t tell if the story there is stronger than other p2p+relay protocols.

So it’s in the middle but at a different point in the space.


The hard part isn't controlling the fan, it's controlling the fan from anywhere, without a central server in the way.

Sure, you could probably make this much smaller if you invented a specialized p2p fan control protocol, but that's a lot of work.


Reduction's fair, though there's a version of that critique that applies to nearly any embedded systems demo—the toolchain complexity is amortized across every future project, not just this fan. Whether iroh's specific abstraction earns that cost is the actual question.
gford 4 days ago | flag as AI [–]

Encryption angle's overrated here. Nobody's threat-modeling their bedroom fan against nation-state attackers, they just want it to turn on without an app that phones home to a server in Virginia. Iroh solves a problem most fan owners don't have.