At least, that’s what I like to tell myself.
At least, that’s what I like to tell myself.
This business model doesn’t work.
Many have had this idea. They all run into the same problem: The target audience for hackable home automation devices doesn’t like paying a premium for anything they think they could DIY.
If you have a $70 nicely designed, documented IoT sensor but the DIY home automation people think they can put ESPHome on a $10 Amazon device and accomplish nearly the same thing, which one do are they going to buy?
If you go through the forums you can already find some semi-premium devices that are a little better constructed and might have better feature sets. They’re always followed by comments from people recommending a cheaper option.
I agree with you that targeting devs/people with an under-developed sense of buy/build doesn't work!
I'm hoping that the devs with money/slightly more accomplished who don't have time to mess with stuff would pick it up.
A bit of a jump but I think this was one of the big strategic mistakes of products like FirefoxOS -- aiming for the dev with money who can afford a $600 I-support-foss-and-mozilla signaling device that also happens to be a phone they can hack on may have worked better than targeting $60 feature phones.
> If you go through the forums you can already find some semi-premium devices that are a little better constructed and might have better feature sets. They’re always followed by comments from people recommending a cheaper option.
I think that's OK! It's similar to HN dropbox effect. IMO you actually want those people to find the cheaper option, those are bad customers for a premium brand.
The product has to actually be noticably better/more consistent/etc than the cheaper option though. And IMO there is a large subset of nerds that don't actually want to write 5 files and flash an OS to do smart home stuff -- they want to play at the application layer.
A good counter example might be the NAS industry.
This is all theoretical of course, so... We're just armchairing at this point.
Shelly was early, the cheep chineese stuff was easy to hack but they eventually moved to cheaper and more esoteric chips where custom firmware is non existent or not as mature. This is changing back, though! The number of ESP-32 powered LED light controllers that I've seen on Ali that feature a USB port for reprogramming / have all the GPIO labeled ... even have a HA/ESP-Home/WLED logo on them is infinitely more than I saw in years past (a few is infinitely more than zero, right?)
My heuristic for anything operating at mains voltages is "If I can find a product that looks just like this on Temu/Aliexpress, I'm not buying it". They're probably white label products sourced from the same factories and suffer from the same quality issues.
Relays found in smart plugs are often sketchy in my experience. About half of the ones I bought or set up for others make unsettling noises that made me worried about poor electrical connections and risk of fire. I only have two Shelly plugs but those don't suffer from these issues.
802.15 does have it's place but some of us prefer 802.11 unless battery requirements dictate lower power PHYs. Zigbee is also depreciated; if possible, seek devices using Matter for their interop.
Absolutely. Cheap hardware means corners cut... regardless of how open the software is.
Shelly devices are quite open and well made but easily 2x the cost of other wifi relay devices. Belkin WeMo devices are similar price to shelly and about as well made but their software leaves literally everything to be desired.
Knowing what risk is acceptable and how to identify if a particular component is built to a spec that obviates that risk or not is probably going to _always_ be part of the DIY scene.
And even more unfortunately, price itself is not a very reliable indicator. Low price is usually a sign of poor quality, but high price is not a sign of high quality, but rather more often just an attempt to take advantage of people who don't know better.
If you want to go a step further, look for devices made for ESPHome or devices made by Shelly. Both have local APIs and are very hackable.
(disclosure: I am the president of the Open Home Foundation and ESPHome is one of our projects and I am also a board member of the Z-Wave alliance)
I am not a practitioner, but instead someone that looks at the ecosystem from time to time and has been waiting for a while, because I dont see the stack + DX/UX that I want yet.
Zigbee never reached critical mass and requires a hub. Z-wave seems to be the same. Thread over wifi (IIRC different protocols/transports are just fine) is what I think will be the future.
IMO Thread wins out, support gets put into routers, and I can just have a thread enabled router which MAY have other
I don’t want to buy an IoT hub. Many IoT devices I want to control are powerful enough to run Wifi, and I want to control them with a standard networking stack with high adoption and familiar tooling. Thread seems to fit this use case the best.
Please feel free to rip apart the above opinions, they’re loosely held. I’d love to learn how wrong I am today!
> If you want to go a step further, look for devices made for ESPHome or devices made by Shelly. Both have local APIs and are very hackable.
Thanks for the recommendation! Appreciate the disclosure and apologize for the blast of relatively uninformed opinions.
One more side question — why is it so hard to get a simple IoT button that runs local Wifi (really hoping for no base station) only and is battery chargable?
Buildable with an ESP32 clearly but I just want to buy this.
It sends out BLE packets when pressed, which can be picked up by Home Assistant via a Bluetooth adapter or using a Bluetooth Proxy. You can make the latter with any ESP32 and https://esphome.io/projects/?type=bluetooth
Sounds like a far off weekend project
Thanks again for the rec.
Why I’m excited about thread over wifi is that I don’t need any extra specialized gear and possibility one device could run by itself
Now I'm really wondering why over wifi didn't take off.
Pure ZigBee is... spotty because there are no certification requirements. Matter is stuck in development hell, but is slowly getting better.
And the problem with WiFi is energy efficiency (or a lack thereof) compared to ZWave/ZigBee/Thread.
So far, I've tried probably most of the home radio standards. Lutron was the most reliable, but it's also super-proprietary. My next house will just have conduits with low-voltage cables running to all the light switches, so I can use something like KNX instead of the radio-based stuff.
This is a problem I'd really like to solve the old fashioned way/I think it prevents too much building. Energy density, rechargability, etc are like CPU speed to me -- it will eventually be solved, and I can deal with replacing a device every month or swapping a rechargable battery (especially if the device can tell me it's low).
I really do think it will be Thread+Wifi routers that eventually get a built-in Thread antenna that win (at least wining me over).
If either ZWave or ZigBee had managed to get into the home router space, they would have won already IMO. There are probably annoying reasons they couldn't until now.
> So far, I've tried probably most of the home radio standards. Lutron was the most reliable, but it's also super-proprietary. My next house will just have conduits with low-voltage cables running to all the light switches, so I can use something like KNX instead of the radio-based stuff.
Thanks for sharing this and your other experience!
Also TIL KNX.
That actually had been the case for a while. A lot of WiFi routers had a built-in Thread (ZigBee) radio, but then nobody actually used them and the manufacturers stopped bothering with them. So now pretty much only Eero access points still have it.
> Also TIL KNX.
My dream is to have _actuated_ switches, that have full tactile feedback. So that the paddle will physically flip when switched remotely.
I commissioned an engineering company to look into that, but apparently this is not feasible at all with the NEC and UL requirements in the US. The only way is to use low voltage wiring to the switches and then use them to control line-voltage relays. This kind of system is popular in Europe, so you might as well just go with something like KNX.
Thanks for this context -- when I searched I only found "thread border routers" -- I couldn't find a router made by a well known brand that included thread functionality -- it always seemed to be "buy a router AND buy a thread border router".
Really surprised that I missed the wave on this and wonder if it was a "we want people to buy two things" rather than no one actually using it. Maybe I just have to wait for it to come back around?
Maybe the answer here is a USB powered device with an extra 2.4Ghz radio (running like.. OpenThread or whatever I need to do thread over an available antenna?) attached to the router?
What I don't understand is why I just use the existing router's 2.4Ghz antenna for this? The amount of confusion in the space and inability of devices to do multiple things is really annoying, to be frank. I can only surmise the reason this stuff is not easy/obvious is profit-incentive (outside of the difficulty of designing good standards of course!).
[EDIT] OK, so the antennas aren't the same, despite being the same frequency -- clearly this is to ensure speedy operation at the hardware level.
So the add-on antenna would probably work if I bought some parts from mouser:
https://eu.mouser.com/c/passive-components/antennas/?protoco...
[EDIT2] Nope, more confused. Multi-protocol antennas exist. Why is this not a set-and-forget option for all the routers??? Someone clue me in to the politics/power struggle or whatever the real reason is here. And then connected + taped something to my router.
It's worse. There are _no_ new stand-alone Thread Border Routers on the market. You might find old stock of GL.iNet routers, and I believe there were a couple of other experimental devices.
If you want a robust Matter network, your best bet is to use Apple or Google devices as border routers. Or you can use a USB ZigBee stick with HomeAssistant.
> [EDIT2] Nope, more confused. Multi-protocol antennas exist. Why is this not a set-and-forget option for all the routers???
No market demand, so router manufacturers just don't bother. The initial versions of Matter were a burning trash fire.
Sounds like we're almost there and Zigbee/Thread are at least supportable with the same hardware. I can work with that I guess!
> No market demand, so router manufacturers just don't bother. The initial versions of Matter were a burning trash fire.
I remember hearing about this -- they fixed/improved it eventually but I guess the damage was done.
The deal killer is the power dissipation requirement. A solenoid, both compact and powerful enough to actuate the paddle, will dissipate too much power if it gets stuck in the "on" state. And a small geared motor is not acceptable because the switch has to be bi-stable and can't be allowed to get stuck in the middle.
So if you do an integrated device, the paddle will just end up being an input device, rather than an actual current-interrupting component. And there just isn't a lot of space inside a switch for everything without going into Apple-like engineering.
Since I'm doing it for myself, I will selfishly just do a low-voltage system :) But I'm seriously considering funding a startup to do engineering for an integrated version.
The closest thing that I found to a _good_ smart dimmer was https://www.alibaba.com/product-detail/Zwave-Zks31-Knob-Dimm... (ZKS-31). It has a physical knob as a control, and it only misses the visual indication of the current state and simulated detents.
I'm really at a loss why nobody else is trying to do something like this, while doing crap like touch-sensitive switches with LED displays.
Here is a esp32-h2 with thread and zigbee support for $5-$12
https://a.aliexpress.com/_mMfZEsX
I figure support for something like this is likely to increase faster than a $70+ board.
Battery life is atrocious and latency from deep sleep will be very bad. I’ve got Zigbee buttons from ikea that run on nimh batteries for a couple years now and only used like half of the charge. The hub is an usb dongle attached to the home assistant server, no issues.
So what do you consider to be "bad" battery life? I've got quite the tolerance, but the problem is that they don't even exist. Everyone seems to stop out on this at "it would never be worth it".
> Zigbee buttons from ikea that run on nimh batteries for a couple years now and only used like half of the charge.
This is intense for me, I'm happy with replacing batteries every 6 months if I could simplify deployment by 10x.
> The hub is an usb dongle attached to the home assistant server, no issues.
Maybe deployment isn't as hard as I'm making it out to be! That said, nothing easier than sending some packets to an IP address. I assume Zigbee APKs are easy... But for example if I search on crates.io (https://crates.io/search?q=zigbee) I don't see any obvious choices.
To restate what I want (and hopefully is sounds a bit more reasonable) I want to be able to buy one smart light bulb, configure it over BLE to connect to Wifi and for the rest of it's live configure it/change it via Wifi. I want that for basically every device, and I'm fine with swapping batteries every 1 to 6months if I could have that!
You should look into zigbee2mqtt IMHO.
Not excited about having to essentially now also bring along a MQTT broker but... It's probably pretty painless to run most brokers and it's likely a single-machine-is-fine affair.
I think this might be the case. Get a USB zigbee dongle and spend ~1 hour setting up Home Assistant and you're more or less done. Adding a new device consists of clicking a button in HA to enable permission for devices to join and then powering on the device. It will discover the network and report the features it exposes.
You can control devices via HA over wifi. Plus HA gives you an API that you don't have to maintain and update as you add new classes of devices to the network.
You'll spend far more time repeatedly replacing batteries with wifi devices than you will with configuring HA once.
Edited to add: one nice thing I forgot to mention is that using HA for your own homebrew devices lets you keep a single consistent API for those and commercial devices. You can build a little ESP32 device with custom sensors, displays, etc. and control those exactly as you would with off-the-shelf products.
I really need to figure out how deep I want to go -- HomeAssistant is clearly the best off the shelf option. Maybe I'll set up HA first and then see if it really is worth trying to build something better.
Think HomeKit but a tiny bit more open, the open bit is, that a vendor can allow it to communicate with devices of other vendors. But they don’t have to.
Thread also needs more expensive SOCs, with Zigbee you only need a tiny micro controller with a few MHz of clock speed and a few KB of RAM. Thread and matter on the other hand can require megabytes of RAM.
Vendors which nowadays sell HomeKit devices can reuse their SOCs for thread matter, keeping their 3-4 times higher prices compared to devices with the same functionality from Zigbee vendors.
I'd counter with the fact that walled gardens are incredibly popular, and in particular to consumers. Consumers don't care if the gate is locked or not, they care if the flowers are pretty and the tea at the garden party is nice.
> Thread also needs more expensive SOCs, with Zigbee you only need a tiny micro controller with a few MHz of clock speed and a few KB of RAM. Thread and matter on the other hand can require megabytes of RAM.
IMO prices of SOCs are going to zero. ESP32s are a great example of this. Once RISCV is more widely used and capable things will accelerate even faster.
> Vendors which nowadays sell HomeKit devices can reuse their SOCs for thread matter, keeping their 3-4 times higher prices compared to devices with the same functionality from Zigbee vendors.
I think we agree here...? I think that HomeKit device that is just a bit more open is going to win. But I think that HomeKit device gets adopted faster if it's just a router -- I can understand updating a router to get a smart home. What I don't want is confusion around whether I need a hub or not, or whether devices work together or not.
Buying a single router that acts as a hub + Wifi "repeaters" (IIRC that's what they're called) that can "extend" the signal (and along the way give other devices a point to connect to) makes perfect sense to me as a consumer. I already know what WiFi is, and I want better coverage, not worse. The smart home stuff just falls out of tech I am already familiar with, efficiency by damned.
And it has an encrypted pairing process to your vendor controlled hub. Said vendor can allow or disallow it which other vendors may speak with said hub.
Here is the landscape we have: HomeKit: fully closed, requires certification from Apple. Very expensive and limited functionality.
Zigbee: fully open, anyone can make Zigbee devices and sell them without any restriction. Operates on the same frequency all over the world. Devices are super cheap. You can expand the protocol however you like as a vendor.
Z-wave: fully closed, several incompatible frequencies, requires certification to sell devices.
Thread and matter: semi closed, same ieee standard as Zigbee for data transfer. Vendors can allow it to talk to devices of other vendors. Requires certification. Same price tag as HomeKit, aka 3-4 more expensive than Zigbee.
All of them require hubs. And only with Zigbee you are guaranteed to have interop between all vendors and all devices sold across the globe. Thanks to Home Assistant. With thread the vendor can simply disallow you to use your devices with HomeAssistant, which is unacceptable by me.
> All of them require hubs. And only with Zigbee you are guaranteed to have interop between all vendors and all devices sold across the globe. Thanks to Home Assistant. With thread the vendor can simply disallow you to use your devices with HomeAssistant, which is unacceptable by me.
This is the one I want to push back on -- Thread over Wifi doesn't require a special Hub right? Taken with other info from this thread clearly in the real world it's not so simple to find the right hardware... but it's possible to just buy a thread device and use it over regular old wifi.
Sounds like Zigbee is closer to ideal than Thread or Thread/Wifi.
Maybe this is the startup someone needs to do -- some reasonably powered device to attack to a router/connect close to a router which supports Thread and Zigbee, has completely local management and call it a day. Is this just over-complicating a smart hub? Don't know.
Thread just adds an IP layer above Zigbee. Zigbee is on the same protocol layer as Ethernet or WiFi.
AH, I've just realized that I've been using the wrong terminology.
I've been meaning to say Matter over Thread vs Matter over Wifi!
Matter seems like a decent way forward, and it can work only over wifi which is what drew me in to focusing on Matter. IIRC Matter/Zigbee isn't a thing (though it technically should be possible, Zigbee is just a transport as far as Matter is concerned right?).
[EDIT] works -> can work, Thread/Zigbee -> Matter/Zigbee
Matter would be correctly the application layer protocol of thread and could be spoken over any transport. Like HTTP
In the Zigbee ecosystem vendors out right refuse to communicate with devices from other vendors even though Zigbee is an interoperable standard.
That lead to the birth of zigbee2mqtt, literally hundreds of years of development time went into it to have full feature support for every Zigbee device that exists.
For thread and matter devices each vendor would have to do the same. And that won’t happen, leading to a fragmented ecosystem.
Thanks again for laying this out -- I've been seeing zigbee2mqtt everywhere and this explains why someone would add mqtt to the mix. Sounds like this is another thing that needs to be run/managed on the software side to be robust.
This is an insane goal (and who knows when I'll actually get to work on this project), but what I want to build is an all in one something that "just works". So roughly:
1. Pick a good enough physical comms stack to hit most things
2. Write software to fill in the rest
It's going to be difficult but it feels like the setup for all these tools is just hard, when it doesn't have to be if you could pin down the hardware/install instructions, then write a really decent software layer to pull it all together without making people go homelab.
That said, that's probably what home assistant devs thought before they reached the current level of complexity, I'm probably preparing to attack a windmill here.
I think my secret sauce here will be WebAssembly -- if I can nail down the hardware below, build/convert a ton of adapters via WebAssembly, and then build a compelling/easy to add/install/manage/configure UI on top of that, I might have myself something worth posting to HN someday.
Aka buy lightbulbs and switches from ikea and you can right out start using them, I believe you only need a hub to create groups of devices which then can get controled with one switch. You then could unplug the hub and still use them, only needing a hub for ethernet bridging and automations.
Yeah thanks for pointing this out -- just need a single Zigbee coordinator (if my light research has been correct so far) and I'm ready to go.
I think IKEA bulbs will also be in my future.
To clarify this: Thread is not building on top of Zigbee, they are both independently built on 802.15.4
The usb stick sold by nabu casa does that.
> This experimental firmware has been available since December 2022. Through extensive testing, we have found that although it works in some circumstances, it has technical limitations that lead to a worse user experience. We now do not recommend using this firmware, and it will be experimental for the foreseeable future. Instead, we will focus on making sure the dedicated Zigbee and Thread firmwares for Home Assistant Connect ZBT-1 deliver the best experience to users.
So the bit I'm missing: how do you control them purely over WiFi? Do you run software on your phone that can control the target? Eg: app talks directly to the device over your network, instead of via a browser + Home Assistant running on a Pi. I can't think of any examples of a product that works this way without being cloud enabled (IE: there is a hub but you don't own it)
Maybe not, but I don't really want to actually run Home Assistant, I want the basics to hack on, really. Trying to pick the most open thing that will be easy to program without relying on using something like Home Assistant (not that its bad or anything).
> So the bit I'm missing: how do you control them purely over WiFi? Do you run software on your phone that can control the target? Eg: app talks directly to the device over your network, instead of via a browser + Home Assistant running on a Pi. I can't think of any examples of a product that works this way without being cloud enabled (IE: there is a hub but you don't own it)
Yeah that's my goal -- basically I want to be able to control the devices from anything web connected (and ideally, the same program running in multiple places).
My thinking is that I can build this without being cloud enabled if I "just" (famous last words) had Thread/Wifi.
With all the excellent feedback in this thread (thanks HN!), it's looking like a small SBC + a Thread/Zigbee/BLE dongle[0] is the way forward, and hooking that up to my router via USB so it's always powered and follows the router around (maybe velcro it on).
SBC (or something smaller maybe, but probably the SBC) so I can program it myself.
[0]: https://sonoff.tech/product/gateway-and-sensors/sonoff-zigbe...
For my automations I do just that and I bypass home assistant and control my devices directly over mqtt. It works very well.
HomeAssistant provides a REST API for all devices connected to it. I don't even use its automation features, I just use it for the API to control my ZWave devices from other stuff.
https://developers.home-assistant.io/docs/api/rest/ (POST to /api/services/ to control remotely)
(Granted it's pretty heavy if that's the only feature you want, but hey, what you want does exist)
Setting up HA at least at first seems like a good idea so I can figure out the best parts and worst parts and have a baseline
Different expectations. I don't want my things to know that wifi exists. It stops vendor lock-in, it ensures local communication, it means things work even if network goes down. It also makes sure they will never autoupdate or join Mirai botnet.
I've got a mix of zwave (fibaro), ZigBee (Ikea) and ble at home and I'm ok with that.
Also, unfortunately up until now I've been saying the wrong thing -- I mean Matter over Thread versus Matter over Wifi. Matter over Wifi seemed like a winner to me because I could just use it.
It looks like going forward I'll be plugging a small SBC into my Router's USB (+ ethernet) and connecting a Zigbee + Thread dongle. That should cover me for most communication options, then from there it's "just" a software problem :)
And with Zigbee bindings most of my inputs are set up in a way that they still work even if HomeAssistant goes down.
Not that HomeAssistant has ever down, but I can imagine its SSD or something failing and not bothering moving it to a different computer for a few days while I get a replacement in.
Having a lot of career experience in this area, I greatly prefer to keep my IoT devices off of my WiFi.
You don’t need a separate hub device for Zigbee or Z-Wave, just a simple USB adapter that you plug directly into your device controlling everything.
Keeping the low bandwidth IoT devices off of the main WiFi had a lot of advantages. It’s also much easier to rotate your WiFi password when you can do it all without reconnecting every light switch in your house, for example.
So it's not like you need a big stand alone device that has to have it's own Wifi or ethernet or anything like that, it's just a USB stick.
Just want to have the one device and I think that's maybe the simplest way to get it without trying to run stuff on the router.
Basically, it is a hub, but it's more of an attachment to the router than anything else.
There is a crucial difference here, though: the Home-Assistant integration for Refoss devices, which interfaces directly with the monitor and needs no cloud connectivity, is written and provided by Refoss itself. Home-Assistant compatibility is the first bullet item on the above-linked product page.Oh, and hobbyists mostly aren’t going to pay premium for those either, unless those come preflashed with esphome and sponsor hass project, and even then 90% people are still going to buy the cheapest option on the market:)