Mostly not internet, and mostly just as shit as you make it
-
For quite some time I have wanted to setup some home automation, but being dependent on cloud services was always a no-go for me. Stories of companies getting bought out or divisions sold off and then the services going dark and leaving devices as useless bricks, and the idea that if our internet goes out (a not infrequent occurrence at our home) and things stopped working entirely kept me from ever going through with it.
Then I discovered communities of people who do home automation without the cloud. Projects like HomeAssistant, OpenHAB, etc. Local control of devices, with their own frameworks to build automations as you want and no cloud required.
Now, don't get me wrong, if you dive in to the code you will find your own s in each of them, and suspect design and architecture decisions, technological debt, etc. One I found particularly amusing was how HomeAssistant, until current version, had you defining the logic for automations inside of monolithic YAML files. Programming with markup. -shudder- And to make matters worse, errors in your YAML file would cause the entire stack to completely shit itself, requiring fixing the YAML file over SSH if you were lucky. If you weren't lucky....well......perusing their forums for answers to some things I found recommendations to pull the hard drive or SD card from the HomeAssistant server and mounting it to another machine to fix issues with YAML. So.....not exactly user friendly, nor gracefully handling errors.
But anyway, so I decided to use HomeAssistant. Mostly because it has good integration with MQTT and I have worked with that much more than I want to think about. It also has a pretty clean interface, and they really seem to be working on shedding technological debt and fixing things. Not that there is anything necessarily wrong with the other options. HomeAssistant just seemed to have the more active community and mostly better integrations for what I wanted to do.
So what have I done? Well, one thing that has always bugged me is lights being left on, sometimes for days or weeks at a time, and being very wasteful. Lights in the back of our basement in the mechanicals room don't get noticed and left on. We constantly left the garage lights on as the door going out to it is solid and we wouldn't notice. Lights in the attic would be unintentionally left on for fuck knows how long. Stuff like that. We also have lamps in our living room that we would never use because goddamnit I've already sat down and I'm not getting back up and if I do then I have to turn the fucking things back off before I go to bed. Basically laziness.
So as I set everything up I made a bedtime routine that would turn off all lights that we did not want on overnight. No more leaving lights on in the basement or garage. I also tied the light switch that controls the lamps on one wall to trigger the lamps on the other side of the living room to turn on and off with them. I also setup all the rest of the lamps in the house and made bedtime routines for the boys, setting all of their room lights off and turning on their nightlights until morning.
Another nifty routine is that when we leave the house all of the lights in the home are shut off, and when we arrive back home all of the hallway lights, the kitchen lights, the entryway lights and the dining room lights come on automatically. HomeAssistant does presence detection of my wife's and my cell phones and when both of them have left it triggers an away routine and when one of us returns it triggers the home routine.
As a welcome departure from configuring routines in YAML, HomeAssistant can use NodeRed, which is a pretty spiffy drag and drop flow generator. If you're not familiar with it, you should check it out. The backstory is pretty nifty.
https://www.youtube.com/watch?v=vYreeoCoQPI&list=PLyNBB9VCLmo3TGiEXaYhac5TZd8LeLIl7
All of this is tied in to relatively inexpensive devices running some variation on the ESP82XX chips (where the internet of shit got its momentum from) running open source firmware called Tasmota. One of the best devices I have found that you can load it on to is the Sonoff Basic. A $6 wifi switch that you can wire in to nearly anything you need to turn on or off, and you can even use it with various sensors like PIR, temp/humidity sensors, etc.
The cool thing about DIY IoS is that you're really only limited by your imagination and capabilities. Switches no longer need to be wired via mains to the device they will control. You can have a Sonoff Basic wired in one location with no direct connection to something else and it can control it via MQTT messages. So in the living room when we turn on the primary lamps that switch also sends a MQTT message to turn the other lamps on. You could install a 3-way (or more) switch without ever having to pull more Romex.
"This all sounds overcomplicated and like something a spouse would hate." I can hear you saying. Well, it depends on how you go about it. You could easily make something that your wife would hate. No doubt. But I went about it by following the advice I read on one of the HomeAssistant forums. "Only add functionality where it makes sense, and don't remove existing functionality if you can help it." So all the light switches look like standard Decora switches, everything still works if the internet goes out, everything still works as it did before and you don't have to use any of the added functionality if you do not want to. When you do, it makes your life easier and not more difficult. And my one concession to help her out, help the kids out, and generally make the house work better was I did tie it in to Google Assistant.
Le gasp!!! Don't you have privacy concerns? What if your internet goes out? I thought you said you wanted everything to still work even if the internet goes out!! You have built this post on a foundation of lies!!
Well, of course I have privacy concerns. But unless I want to go back to a flip phone that ship sailed a long time ago and there's fuckall that I can do about it unless I want to be a troglodyte. As for tying in to the internet, yes I have. But only one connection point, and if the internet goes out everything still works except voice control of devices. Switches still work, lights still work, etc. The mobile interface and control panel still work. We aren't dead in the water.
But, and this is a big butt
You can't anticipate everything. Especially not human nature and my wife's ability to ruin well architected systems and controls. The woman could break an electronic anvil, if there were such a thing.
So a week or so ago we had a big install to do and it had to be done in off hours. We arrived around 7pm and by ~3am it was all done except a bit of testing a configuration. As I had been up for, near as makes no difference, 24 hours by that point I decided to bow out.
"I'm coming up on the time that I woke up yesterday, so I'm going to get out of here before I become a grumpy dickhead."
"Do you mean more of a grumpy dickhead?"
"You know that you can fuck right off, right?"So I head home. I park in the driveway so the garage door doesn't make a bunch of noise and wake people up. I head up the front walk and right as I am in front of the kitchen window......a bunch of lights come on.
The dogs immediately lose their goddamn minds. I can sense that my wife is pissed before I even get my key in the door and I'm really hoping that Gunner doesn't tear my face off before he realizes that it is me because he is very protective of our home at night. I open the door, get the dogs calmed down, then I hear one of the boys open the door to their room. I shut off lights, go to the bedroom and apologize to the wife for waking up the entire house at 4am. She wasn't as annoyed as I assumed she would be. I assume fatigue played a large part in that.
So what went wrong? Where did I fuck up the programming so that all the lights would come on when I came home at 4am? What If statement did I comment out for testing and forget to restore?
Well, none of those. A few days earlier we had a short internet outage and my wife turned off wifi on her phone. I do not know why she does this, Android will gracefully failover to LTE if a wifi connection doesn't have connectivity. So it had no idea she was home. As far as the automations were concerned the house was vacant and someone had returned. It did what it should have, even if it was not what I intended. The error was my assumption that my wife wouldn't leave her wifi off on her phone for extended periods of time. An assumption that I never should have made considering that we are on an unlimited cell plan in large part because she has the habit of doing exactly that......and I want to tether whenever I want and not get charged out the posterior.
She mentioned later that morning that she thought it was odd when all the lights went off when I left. I reiterated exactly how that works, and how if I leave and lights go off that is because she probably has her wifi off on her phone and maybe check that in the future so there is not a repeat of the Great Awakening of 2021. We will see how well that plays out.
Some other notable fuckups on this journey:
As I was making routines I made one where if you say "Okay Google, all lights on" it will turn on every single light under automation. I thought something like that might be handy if there were ever a fire or emergency at night. Turn on all the lights to make getting out of the house easier. Well, we have a 5 year old who is in speech therapy. So when he tried to turn the hall lights on early one morning, and did so via Google Assistant.....yep, every fucking light in the house came on at 6:30am on a Saturday morning.
But that led to another interesting use of the automation. He has a habit of turning on all of the hallway lights when he wakes up early. Even though we have night lights that light up the floor the entire way to the kitchen and such, he always turns them on. That annoys me, and he always turns them all the dimmer all the way up when he does. Like he is trying to annoy me even more. So now, between the hours of 5am and 8am if the hallway lights are turned on it starts a 3 second timer and then turns them back off. That's fun and it annoys him to no end.
As for Google Assistant......it's pretty good for the most part. But occasionally it will totally fuck up a voice command. We have a Nest Mini in my bathroom and one night I was showering and I wanted to switch to my "Cold" playlist and when I said:
That dopey cunt replies with:
"Okay, playing Coldplay from Spotify."
"Don't you fucking dare Google, or I will run you through a goddamn woodchipper."
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
"Don't you fucking dare Google, or I will run you through a goddamn woodchipper."
All of Google? I am now hoping that Google bombards you with Coldplay 24/7.
-
This story had a lot fewer house fires than I expected from your long absence. I am disappoint!
Nice job on the automation. I looked into something like that a few years ago and decided aginst it because of all the work I was going to have do to make it work. Sounds like it has advanced at least a little bit in that time, might look at it again in the summer.
-
Congratulations on your new paper. I kind of missed these.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
For quite some time I have wanted to setup some home automation
Ah, that explains your 2 month absence.
-
@Gąska said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
For quite some time I have wanted to setup some home automation
Ah, that explains your 2 month absence.
He had to work on an alibi for the wood-chipped Googlers.
Side note: if you’re ever doing Facebook, I’d be glad to *cough* chip in some.
-
@Gąska said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
For quite some time I have wanted to setup some home automation
Ah, that explains your 2 month absence.
Or my dad had health issues, and the world is a dumpster fire and I needed a break.
-
@Polygeekery getting caught with a side project that was supposed to take one afternoon but ended up dominating your entire life for months is funnier, though.
But I hope your dad is doing okay now. Because the world definitely doesn't.
-
@Dragoon said in Mostly not internet, and mostly just as shit as you make it:
Nice job on the automation. I looked into something like that a few years ago and decided aginst it because of all the work I was going to have do to make it work. Sounds like it has advanced at least a little bit in that time, might look at it again in the summer.
Yeah, I had much the same impression a few years ago, along with not wanting to get locked in to any sort of ecosystem and vendor lock-in, or have anything stop working when some merger and/or divestment caused computers somewhere to be shut off and make my shit stop working. The Internet of Shit should make everyone gun shy of purchasing basically anything that does not have a local control option. TP-Link Kasa devices are one of the few mainstream options that I would consider as they can be setup and controlled entirely locally without ever having to sign up for any accounts, etc. That being said, they're far from any sort of ideal option as they're extremely limited in the number of automations you can perform with their app and they are only sort of integrated with MQTT. Their MQTT is actually a kludge of local polling to get device state, and in HomeAssistant that only occurs every 30 seconds and as best I could figure out with a minimal amount of research can no longer be configured (it was one of those things you could override somewhere in your 100,000 line monolithic YAML file.
Anything that Tasmota can be loaded on will usually be a good choice. Sonoff, Shelly, Gosund, Treatlife, etc. I personally stayed away from all of the Zigbee and Z-Wave, etc., devices. In theory they should work fine, but they all rely on a bridge and mesh networking and the walls in my house are basically "drywalled" in 5/8" of Hardi-Board and I didn't want to take the chance. I know it should penetrate, but I already have a wireless network with plenty of coverage.
Speaking of that, most devices are going to want a 2.4Ghz only SSID to operate properly. If your 2.4GHz and 5GHz networks share a SSID, and your network tries to do band steering, you're going to have a hard time. That wasn't an issue for me, I setup an additional SSID and VLAN, turned off 5GHz on that SSID and then firewalled the VLAN so it only has access to what I want it to. No phoning home for them. I block everything by default and only allow necessary traffic. They can access the MQTT broker and that's just about it. It's like a "Not the Internet of
ShitThings".I really like the Sonoff devices. I strip off the case, desolder the wire clamp blocks, solder on my own stranded wire to replace the appropriate connections and then put it in to a 3D printed case. Not exactly n00b friendly, but it is the approach that I came up with. For lamps I just insert them inline on the cord. Easy peasy and the Sonoff devices have a button on them that you can set to toggle the relay state for local control. Be sure and either unscrew the knob or snip off the slider on the lamp or else someone will use the manual switch and if the lamp switch is off it doesn't matter what the automation device does.
For dimmers, fan controllers and the like I favor Treatlife devices. They are Tuya devices, so they're ESP82XX with a piggyback chip to enable more diverse IO. It's my understanding that the ESP82XX chip is the communication portion and then sends serial commands or something similar to the Tuya piggyback chip. The flashing process is just slightly more involved, but still super doable. You just have to tie one of the Tuya GPIO pins to ground while you flash it. Easy peasy. You used to be able to flash the Tuya devices OTA, but they since killed that with a recent firmware update.
I also got rid off all of our PIR security lights and they are now controlled via MQTT and triggered based off of a machine learning project that I have been working on that ingests images from our security cameras and triggers the lights when it recognizes a person in the appropriate zone. It sure beats the hell out of the PIR sensors that either never came on, or errantly came on when winds picked up. But that's another story........
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
Sonoff
I was eyeing up some Sonoff light switches as, like the other stuff you mentioned, they work over Wifi without hubs etc, support Alexa (but don't need it), and still actually work as light switches if needed.
-
@loopback0 said in Mostly not internet, and mostly just as shit as you make it:
support Alexa
Oh yeah, I meant to mention that but CRS and such.
If I did it over again one thing I would change is probably using Alexa and not Google Assistant as the voice integration. Alexa seems to be able to be programmed for custom functionality much more easily. That is one thing that Google Assistant is really lacking.
But, that leads me to another "interesting" integration solution I saw. So, for whatever reason that I don't remember and honestly never gave a shit about, a guy needed to setup control of his Roomba from HomeAssistant. Now, there is no direct integration for that. But there is a way to make Google Home devices say whatever you wish them to. And Alexa can control Roomba devices. So to "integrate" his Roomba with HomeAssistant he has a Google Nest Mini and an Amazon Echo Dot in his office and he uses HomeAssistant to make the Nest Mini tell Alexa to turn on his vacuum when he wants.
That is fucking retarded, and a total kludge hack from hell and unnecessarily complex because of shitty APIs and vendor lockin and everything else that makes the Internet of Shit the Internet of Shit........and I fucking love it. That's the kind of Rube Goldberg technological bullshit that groups of nerds dream up as BAC approaches 1%.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
TP-Link
I'm not sure automating that is a good idea.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
this is a big butt
I like. Big. Butts and I cannot lie
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
It did what it should have, even if it was not what I intended.
99% of computer bugs summed up in a single sentence
(the other 2% being off-by-one errors, of course)
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
But, and this is a big butt
Sad to say, but here you're wrong. It's a nice butt, but not really a big one.
-
Welcome back @Polygeekery .
https://www.reddit.com/r/funny/comments/l1gzn1/i_design_dumb_product_ideas_so_i_built_a_coat/
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
And to make matters worse, errors in your YAML file would cause the entire stack to completely shit itself, requiring fixing the YAML file over SSH if you were lucky.
That's definitely a time to have some sort of validator set up.
-
@dkf Or detection for endless busyloops anyway. The file may be semantically valid and still cause unwanted side-effects.
-
This sounds like far more effort than getting up to walk to the light switch
-
@Steve_The_Cynic said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
But, and this is a big butt
Sad to say, but here you're wrong. It's a nice butt, but not really a big one.
I GIS'd "big butt" and, well, that was one of the better options. I would say that it is fairly big, but in a good way. Just because a butt is "big" does not necessarily mean it is unappealing.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
Just because a butt is "big" does not necessarily mean it is unappealing.
So my husband tells me.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
@Steve_The_Cynic said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
But, and this is a big butt
Sad to say, but here you're wrong. It's a nice butt, but not really a big one.
I GIS'd "big butt" and, well, that was one of the better options. I would say that it is fairly big, but in a good way. Just because a butt is "big" does not necessarily mean it is unappealing.
In this day and age, I'd rather say that just because a butt is
fat thiccbig does not mean it is appealing.
So I think you picked well. (As far as I'm qualified to tell)
-
@dkf said in Mostly not internet, and mostly just as shit as you make it:
That's definitely a time to have some sort of validator set up.
Yep. And they have that now, I believe mostly for this reason:
@acrow said in Mostly not internet, and mostly just as shit as you make it:
Or detection for endless busyloops anyway. The file may be semantically valid and still cause unwanted side-effects.
-
@bobjanova said in Mostly not internet, and mostly just as shit as you make it:
This sounds like far more effort than getting up to walk to the light switch
Yeah, but this approach has better stories. If people don't make things unnecessarily complex you don't get stories of them waking up their entire house at 4am and almost getting attacked by their own pets. But you do you boo.
-
@topspin said in Mostly not internet, and mostly just as shit as you make it:
As far as I'm qualified to tell
In other areas of the forum I would have made a cheeky joke about gay men and that photo, but I'm on good behavior so make up your own.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
so make up your own.
Probably not what you intended
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
I'm on good behavior
-
-
@Zecc said in Mostly not internet, and mostly just as shit as you make it:
Welcome back @Polygeekery .
https://www.reddit.com/r/funny/comments/l1gzn1/i_design_dumb_product_ideas_so_i_built_a_coat/
-
@Polygeekery in your absence we upgraded this to .
-
@topspin said in Mostly not internet, and mostly just as shit as you make it:
in your absence
Not really. @hungrier committed it back in 2019. It's about as old as covid.
-
@Zecc so about two weeks by now?
-
@topspin said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery in your absence we upgraded this to .
But sometimes it requires exaggeration.
-
@Zecc said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
cheeky
Pun not intended, but still amusing.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
If people don't make things unnecessarily complex
Something something gloves.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
I'm on good behavior
Alright, where's the real @Polygeekery?
-
@HardwareGeek said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
I'm on good behavior
Alright, where's the real @Polygeekery?
I think that's: I'
mve been put on good behavior
-
@dcon said in Mostly not internet, and mostly just as shit as you make it:
@HardwareGeek said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
I'm on good behavior
Alright, where's the real @Polygeekery?
I think that's: I'
mve been put on good behaviorSurprisingly, no. I've had zero disciplinary measures from our leader in COVID exile who is likely keeping the Tokyo used underwear vending machines in business.
But I could soon be after that comment. We'll see.
-
@topspin said in Mostly not internet, and mostly just as shit as you make it:
In this day and age, I'd rather say that just because a butt is
fat thiccbig does not mean it is appealing.THANK YOU!
-
@Tsaukpaetra said in Mostly not internet, and mostly just as shit as you make it:
@topspin said in Mostly not internet, and mostly just as shit as you make it:
In this day and age, I'd rather say that just because a butt is
fat thiccbig does not mean it is appealing.THANK YOU!
I like big butts and I can not lie
My brother likes small butts and can not tell the truth
Behind one of our doors is a gym full of women in yoga pants bending over. Behind the other is a furry convention
You may ask one question
-
@Jaloopa I ask you: if I tell your brother you've got the best butt will you divert the trolley away from the goats?
-
@Zecc said in Mostly not internet, and mostly just as shit as you make it:
@Jaloopa I ask you: if I tell your brother you've got the best butt will you divert the trolley away from the goats?
You don't know which line the goats are on but once you choose a line I will reveal a goat on one of the others
-
@Jaloopa said in Mostly not internet, and mostly just as shit as you make it:
Behind one of our doors is a gym full of women in yoga pants bending over. Behind the other is a furry convention
You may ask one question
-
Reverting back to the original topic at hand for a bit...
@Polygeekery Do you happen to have any links to decent how-to guides/information on how to actually set this kind of stuff up?
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
Local control of devices, with their own frameworks to build automations as you want and no cloud required.
Filed under: This is going to be your fault.
-
@e4tmyl33t I can try to look more later if you want something in a written format, but for video guides and discussion of it I would check out three channels on YouTube:
- The Hookup
- Dr ZZZ
- Digiblur DIY
They all have pretty good information on the subject. I'm sure that I butchered the spacing and/or spelling on one or all of those, but it should be close enough to get you there.
Dr ZZZ is especially interesting, and in some ways for the wrong reasons. Check out his annualish home tour videos. I will absolutely guarantee that his wife hates what he has done to the house. Guaranteed. I'd put $100 on it right now.
-
@Jaloopa said in Mostly not internet, and mostly just as shit as you make it:
@Tsaukpaetra said in Mostly not internet, and mostly just as shit as you make it:
@topspin said in Mostly not internet, and mostly just as shit as you make it:
In this day and age, I'd rather say that just because a butt is
fat thiccbig does not mean it is appealing.THANK YOU!
I like big butts and I can not lie
My brother likes small butts and can not tell the truth
Behind one of our doors is a gym full of women in yoga pants bending over. Behind the other is a furry convention
You may ask one questionSomething, something, mustard gas.
-
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
Guaranteed. I'd put $100 on it right now.
If your $100 wasn't already tied up in the Gamestop sure thing?
-
@izzion that was play money. No way I'd have gambled anything that would have put us at any kind of risk.
-
@error said in Mostly not internet, and mostly just as shit as you make it:
@Polygeekery said in Mostly not internet, and mostly just as shit as you make it:
Local control of devices, with their own frameworks to build automations as you want and no cloud required.
Filed under: This is going to be your fault.
Okay @error_bot , test @error for epilepsy at 4am.