The solution is not more but different connected devices so I can decide for myself what needs to be connected and by which protocol. Get the dumbest device on the market, no wifi, no internal clock, maybe not even a humidity sensor and then, if and only if I need to remote control it, for example to put it on a schedule, I can use the cheapest “smart” device on the market to connect it to an in-house machine that can turn it on and off.
- 0 Posts
- 18 Comments
I run home automation with lights, switches, outlets, heaters and some more and not a single device has internet access. They all use Zigbee (a simple radio protocol) to talk to homeassistant which is open source and hosted on a machine that lives under my desk.
Separating tasks between the dehumidifier and outlet has the advantage that each individual device can be a lot simpler, leaving less attack surface. My power outlet can’t read the humidity sensor, it doesn’t need to talk to an external server, it doesn’t even need to know that the thing connected to it is a dehumidifier. It’s just a chip that receives a radio signal and toggles a relay on or off. That’s it.
Separating the two concerns also lets me replace the devices separately if one breaks or my requirements change. If I suddenly need wifi or bluetooth instead of Zigbee or if it’s for some reason no longer supported by homeassistant, I can just replace a 9€ outlet instead of the whole dehumidifier that could get bricked by the proprietary app losing support.
This can be done with something like Zigbee. Or even simpler: you hook a non-connected device up to a “smart” power socket. No need for the device itself to talk to the outside world.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish3·1 month agoI don’t know, am I? I tried to keep it civil, until you argued - multiple times - that everyone who thinks that your software of choice is cumbersome is just too dumb to learn it and got downvoted almost every time. Then you gave me a snippy reply when I politely asked what your professional relationship with that software is.
By the way: software engineer, 22 years hobby, 16 years professional.
Maybe we should just accept that everyone has different needs and experiences and not judge others for not liking the things we like? Does that sound fair?
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situation41·1 month agoBut aren’t you so great at reading that you get everything the first time and never forget?
Yes, I know I‘m mean right now but you ran into that.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situation31·1 month agoUnemployed, never had to use a piece of software to make money.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situation1·1 month agoMay I ask what you do professionally?
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish3·1 month agoAre you intentionally misreading my posts or is this just a superiority complex? It’s not about how long something takes to learn or how often I have to look it up. It’s about how long it takes to do on a daily basis.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish6·1 month agoAnd to clarify, I’m not talking about “Why is this function in a different menu than what I’m used to” but “Why does GPlates require me to export my continent coordinates into a text file, copy a line in that file by hand, give that copy a new ID, make sure I made no syntax errors, re-import the text file and then edit the shape of both copies just to split a continent in two halves?” I know how to do that, it’s not too hard to learn. But if there was a knife tool or at least working copy and paste, I could reduce that task from minutes to seconds.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish8·1 month agoThe best manual in the world doesn’t help me if the things I need every two minutes in my workflow take three times as many steps as in the software that I’m used to. Sure I can learn how to do it but it’s still annoying - knowing that there’s a better way to do it - and over the course of a month of using the tool, my productivity loss is probably enough to just pay for a proprietary tool.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish4·1 month agoOpenSCAD has pretty nice UX (though massively outdated UI look & feel) but of course describing your part in code is a very different use case from most other CAD tools.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish9·1 month agoSoftware for a medical device. Everything needs to be done exactly right and documented in three different places or else the regulatory agencies from at least three countries get really angry at you and worst case pull your device from circulation. Less cowardice and more cover your ass. Still annoying though.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish12·1 month agoYou would think so, right? But that doesn’t have a requirement ID so apparently it can’t be referenced in the incident report.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish51·1 month agoI mean, technically, there are pretty good frontends for gdb, for example in VS Code and CLion but I guess if you use them, you’re a corporate shill or something because they are backed by companies and contain code that isn’t licensed under (A)GPLv3.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish23·1 month agoTheir argument was along the lines of “The requirements and design don’t specify what should happen if you move and delete at the same time so it can’t be a bug. Behavior that doesn’t violate the design but also doesn’t lead to the result the user wanted is a user error”. My argument was that we can’t always specify the interaction between arbitrary features other than “If the user does two things at once, at least one of them should be executed, ideally both” and “the program shouldn’t crash just because the user did something unexpected”. Otherwise our design document would be ten times as long.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situation161·1 month agoWell, they could have the resources to do it if they didn’t scare away every new user (and potential contributor) with “Trust me, it gets good once you dedicate your entire life to it”.
dfyx@lemmy.helios42.deto Programmer Humor@programming.dev•You can't "skill issue" yourself out from every situationEnglish441·1 month agoI recently had a case at work where you could move an object by holding the left mouse button and delete it with the right mouse button. If you deleted it while moving, you got an error message and the program would crash. It was an easy fix but afterwards I had a one hour discussion with our usability engineers if what I had fixed was a bug (my opinion) or a user error (theirs).
Sadly, many wifi-enabled devices only work with some proprietary cloud-service and even if not, they’re only one configuration error (or intentional backdoor) away from talking to the outside. Better have something that isn’t physically able to talk to the internet no matter how badly I fuck up its configuration and my firewall.