Live data from Hacker News

I built an offline smart home

androidauthority.com

171–180 of 192 posts

Re: I built an offline smart home

#171

Earlier quoted context omitted.

> EVERYTHING MUST FAIL NORMAL. I'm often surprised how little discussion I see of failure analysis and especially failure design is in software engineering. It is one of the most important concepts in engineering, but I guess we still operate like software can't kill you. For those unfamiliar with this type of analysis I'll give you 3 examples. 1) Imagine you are building skyscrapers in city with a bunch of other sky…

The concept of "Safety Critical" is something that I wish more software developers and engineers would have exposure to

100%. But I really hope that they can learn this concept and understand that it is generalizable and need but require a system that is critical nor dangerous. That the same ideas are essential for simply designing good user experiences. It's really frustrating that this isn't understood well in ML where people end up talking past one another and therefore the extreme ends of the spectrum end up dominating the conversation with equally idiotic ideas. I can't remember the last time I saw someone discuss a confusion matrix, especially when discussing products. But how's that not like one of the most important aspects of your product (I mean internally in teams developing products, not communication to the public. Or discussions in papers)

Re: I built an offline smart home

#172
post #140

Earlier quoted context omitted.

> EVERYTHING MUST FAIL NORMAL. I'm often surprised how little discussion I see of failure analysis and especially failure design is in software engineering. It is one of the most important concepts in engineering, but I guess we still operate like software can't kill you. For those unfamiliar with this type of analysis I'll give you 3 examples. 1) Imagine you are building skyscrapers in city with a bunch of other sky…

> Failing closed is typical of safes Unless it's a very large safe where people can walk inside, like a bank vault. The fire department gets very grumpy with you if they fail closed and can trap people inside. So if you want to force open a bank vault, stage a purported terrorist attack, and the FBI will cut power to the building as standard operating procedure. Voila, vault opens.

Sure, but this is literally the essence of failure analysis. Because you're demonstrating how nuance is essential to the process and how this means that there are no universal concepts. That simplicity and generalizability are often in contention. I'm not at why people don't understand that nuance is important because if it wasn't we wouldn't need experts. It's also weird to see people thinking nuance is required in their domain (explicitly or implicitly by means of assuming everyone else is an idiot for not understanding what they obtained through years of education. Yes I see the irony) but don't think it's required for other areas. Look at any online discussion here involving climate, nuclear, rockets, aerospace, and many other non programming stuff. Your example might also demonstrate this because the failure analysis is considerate of this by having a combination of fail open and fail closed gates in conjunction with the FBI not going to cut power to the bank until they arrive on scene which entirely defeats any terrorist or robber strategy because they the FBI are now the safe door and they're hard to pick open.

Re: I built an offline smart home

#173

Earlier quoted context omitted.

The next best thing I've seen are the smart switches that are just two buttons, up and down for on and off. I just want to be able to hit up for on, the actual switch state is less of a concern. That's been my annoyance with two-ways. I've ordered some Inovelli switches which do this and have an RGB LED if I need a state status indicator.

Grew up when they were always switches... not sure I can change. I can't feel around in the dark for two buttons, and know what the hell they are.

[deleted]

Re: I built an offline smart home

#174
post #140

Earlier quoted context omitted.

> EVERYTHING MUST FAIL NORMAL. I'm often surprised how little discussion I see of failure analysis and especially failure design is in software engineering. It is one of the most important concepts in engineering, but I guess we still operate like software can't kill you. For those unfamiliar with this type of analysis I'll give you 3 examples. 1) Imagine you are building skyscrapers in city with a bunch of other sky…

> Failing closed is typical of safes Unless it's a very large safe where people can walk inside, like a bank vault. The fire department gets very grumpy with you if they fail closed and can trap people inside. So if you want to force open a bank vault, stage a purported terrorist attack, and the FBI will cut power to the building as standard operating procedure. Voila, vault opens.

I seem to remember a certain Christmas movie starring Bruce Willis where this was a plot point.

Re: I built an offline smart home

#175

Earlier quoted context omitted.

But why are people surprised then that in most software the process is not as thorough as in aerospace or elsewhere with physical things. Most of the time physical devices failing will have much more severe consequences, than a website going down for an hour. In some cases there are APIs which many other critical systems use and frequently those APIs do have much more rigorous process in making sure that they are rel…

> But why are people surprised then that in most software the process is not as thorough as in aerospace or elsewhere with physical things. Outside of engineering, few people have ever even heard the phrase “risk management”, let alone understand the theory behind it. It’s really hard to argue that a developer can consider themself an engineer, when they don’t bother understanding what happens when the thing they “en…

Thanks for this comment. Clearly in my original comment I made I failed to articulate how useful failure analysis is for even highly mundane things. So if we take this as a post mortum then I think we can see the failure mode of my language. The big question though is if this is within reasonable bounds of noise as over emphasizing mundane examples may result in the concept not making an adequate impression on the importance of the topic. I did have a large number of points with no responses prior to receiving misinterpretations but that's a noisy metric itself so now I'm asking a third party consultant if they have any thoughts on how I can improve my communication.

And not to say there aren't plenty of software engineers that do failure analysis. I mean we do have exceptions, exit codes, traces, and even QA (though many hate them). But I'm not under the impression that the idea is as ingrained in the average software engineer as it is in the average engineer. Having taught CS I've been surprised at how much less time is spent on this topic and how less explicit it is usually discussed when compared to other engineering disciples. The same goes for ethics which I think go hand in hand here. My impression is that this is because when software harms it is often less tangible and less direct than in other engineering disciplines where it's obvious how a bridge failing causes substantial harm and economic impact but where a failure to protect against injection in your not mainstream platform also causes large damage because people reuse passwords and that passing the buck to user error is unacceptable given that it's expected behavior from the user (work on expected behavior and account for unexpected behavior but never rely on domain knowledge unless under special circumstances). We all know everyone reuses their Gmail and bank password on websites like Netflix or fucking neopets.

We wouldn't have as frequent front page posts about users getting accounts unlocked only due to the fact that they were able to go viral if software engineers better planned for failures in the system. Do Gmail devs really deeply think about what happens when someone loses access to their account? If there's a means of recovery if they're devices are also taken or destroyed? That this solution works in practice, not just theory? Do they audit and dogfood this process to ensure it's working properly and understand how it fails and the consequences of that? I'm assuming no because we see people locked out of these systems ("these" because I'm generalizing beyond Gmail)

Re: I built an offline smart home

#176

Earlier quoted context omitted.

The concept of "Safety Critical" is something that I wish more software developers and engineers would have exposure to

100%. But I really hope that they can learn this concept and understand that it is generalizable and need but require a system that is critical nor dangerous. That the same ideas are essential for simply designing good user experiences. It's really frustrating that this isn't understood well in ML where people end up talking past one another and therefore the extreme ends of the spectrum end up dominating the convers…

Beyond confusion matricies, with ML classification, there should also be deep discussion and consideration of the actual costs (consequences) of false positives, negatives to the end users and operators.

Re: I built an offline smart home

#177
post #47
post #20

I went with the Apple HomeKit compatible camp, because it does indeed all work locally across your local LAN without a network connection - its not foolproof, but it mostly just works, and works well at that - and more importantly works when the internet is out. The biggest thing with Apple is they get that houses have more than one person living in them, and provided everyone has an Apple device, it all just works.

I've been pretty happy with HK augmented by Homebridge. However, I'd go out of my mind if it weren't for the Controller for HomeKit app[^1] to allow backup and restore, and it's still not perfect due to Apple restrictions on how third-party apps are allowed to interact with HK. Controller also is the only way to access more advanced automation options that are impossible to do through the Home app. Just the other day…

> and it's still not perfect due to Apple restrictions on how third-party apps are allowed to interact with HK.

And other Apple restrictions. I've got a lot of stuff looking really good with this combo. And then I added a Brilliant (https://www.brilliant.tech/home?tab=system) Smart "Outlet", particularly for my living room, which has six can Hue lights, and a lot of ambient stuff around the TV - it's great for driving a lot of scenes, daylight, evening warmth, media (where the front row of cans are off), etc. But it could also so a lot more that would be nice (Christmas lights, which are off a smart switch etc.) - except Apple doesn't allow external devices to initiate HomeKit actions. So a lot of potential usability is lost.

Re: I built an offline smart home

#178
post #169
post #101

Earlier quoted context omitted.

> EVERYTHING MUST FAIL NORMAL This is the Mitch Hedberg Rule. "An escalator can never break: it can only become stairs. You should never see an Escalator Temporarily Out Of Order sign, just Escalator Temporarily Stairs. Sorry for the convenience. "

I hate that quote, because it's dangerously false. Even if the power is off, that doesn't mean it's safe to stand on it. One example would be if the gearing breaks so that the segments move freely: Congratulations, you and the crowd--given false confidence by a comedian's joke--just piled onto the top of a downhill treadmill... It will now accelerate until you crash into a smothering crunchy heap at the bottom.

[deleted]

Re: I built an offline smart home

#179
post #53
post #29

Smart Home has kind of been my hobby for the last 7-8 years. I have well over 100 devices controlled by my smart home setup. Before I installed the first smart device in my home, however, I had a single requirement: EVERYTHING MUST FAIL NORMAL. By this I mean that if the internet went out or a vendor went out of business or I rage quit a vendor, then the device in question had to act like it was a normal non-smart de…

> after bedtime, the lights still come on when someone goes in the bathroom, but very dim, etc. I’d be curious to hear more about this. Most of the “smart” light solutions I’ve tried struggle to go directly to a specific lighting level without some bright flash as they activate. What brand switches/lights are you using to do this with?

Most commercial lighting controls allow you to preset the initial dimming level. Acuity, Lutron, Leviton, Wattstopper, Hubbell, etc.

I’d stay away from consumer grade stuff, it’s pretty much all garbage. Commercial controls will come with a 5 year warranty.

Most commercial lighting controls have 0-10v dimming, but you can get forward or reverse phase line voltage dimmers to use with consumer grade LED lamps (bulbs).

Re: I built an offline smart home

#180
I've done something very similar, NOT with ZigBee or any other wireless devices, but with wired ShellyPro, a Victron p.v. inverter, some WaveShare ModBUS RS485/tcp etc, and my few notes are:

- HA have a slick UI, but it's a MONSTER, less monstrous maybe then OpenHAB but still a monster, I HATE it's YAML config, it's use of SQLite is well... And it's less horrific way to deploy, by pip in a virtual environment is meh, at best;

- wires are needed for reliability, but while ShellyPro and WaveShare seems to be reliable (in few years almost no issues) they are still limited, damn expensive and not much comfy to keep them up to date automatically and centrally. In general most IoT products are crap at best, badly documented, buggy, dysfunctional and damn expensive;

- most sound reasons for home automation lay in energy saving/automation, I normally see no sound reason to switch on the lights from a mobile phone instead of a physical switch for instance, but most appliances seems to be designed without any clue on how they can be used and integrated. A small example, I have a Daikin/Rotex heat pump for domestic hot-water, it's not really a small economic device, well: just to read water temp to makes decision I need a 300+€ extra card, my take was a far cheaper pt100 inserted via the hot-water return intake I do not use. Remote piloting can choose "do not heat", "heat full power, heat-pump if possible + classic resistive heater", "try heating with the heat pump for 15' than goes full power", "choose automatically what to do".

WHY THE HELL not offering a simple:

- try heating with ONLY the heat pump

- try heating with ONLY the resistence

- do not heat

- heat full power

leaving the extra bit for "choose internally what to do"? I still have not answer, and to heat only with the heat pump, for instance because I have just 600-800W spare from my p.v. I have to switch any 10' "do not run" for a minute, than "start with the heat pump" in a loop.

My VMC is even worse: it's only ModBUS, native, but various registers store/read different values than those documented, a small set of them are totally undocumented, some fails to read or write randomly so I need a bit of extra logic to try again few times.

IoT can be a nice addition, but so far there is simply too much crap both on electronic side and on the digital side.

Post reply on HN