"Dan you muppet, why did you buy a water heater that uses an app"
Well a couple years ago my roof started leaking
I called out the going-up-ladders people because there's only so many different types of danger my spouse will let me get into, given how many people she knows who've fallen off them. The ladder people tell me alright you've got some shingles damaged and some flashing leaking, that's no big deal, but the mid deal is that my chimney's so badly knackered that it's way beyond a simple slap-some-mortar-in job, there's several courses of bricks unaccounted for, I go "Oh aye I did find some underneath my window," the chimney was bollocksed is the headline, and it was gonna cost a LOT of money to fix it.
It was gonna cost so much money, in fact, that it'd be cheaper to remove the need for a chimney in the first place. The only thing left in the house that still used the chimney was the 20-odd-year-old gas water heater. I figured that thing was probably getting ready to rupture anyway so hell, heat pump water heater time.
So I order this inside-out-fridge contraption from a company called RHEEM, also known as RUUD, and yes I very much am naming and shaming this company, and after going back and forth to the hardware store eight times I was on first name terms with the lady in the plumbing aisle and the proud owner of a new 240v line and a machine that makes my water hot by making my basement cold.
And there was a QR code on the side and a thing saying Download The Econet App! and I said "Pfft no" and if all went sensibly that should have been the end of it
Things didn't go sensibly because an unrelated series of events did not go sensibly a few years before, and now I have a couch that reclines in such a way that my head enters an adjacent room.
Why do I recline into the next room over? For the same reason I had to build a four inch wide coffee table. Don't ask me questions about that today. The important part is that when I settle down at night with a glass of whiskey and some Star Trek, I press a button and lean my head back into a void in a rack that sits in my workshop, which is where this water heater lives, and the water heater, being a fridge, goes BRRRRRRRR
It occurred to me at some point that if I had the app, I could tell this water heater Dude, it's ten o'clock at night, there's no need to be actively making more hot water right now, be quiet.
So I scanned the barcode and downloaded the app, which didn't work.
In fairness to Rheem, the way the app didn't work WAS pretty funny. See, it made you register with them before you could schedule your water heater. So first it'd ask you what username you wanted.
I'm not gonna tell you my Rheem username, you'll have to wait for the inevitable data breach for that, so let's say it was ifixcoinops. So you tap the box (you have to do this on a phone, you can't register in a browser) and you tap the letter i on the keyboard and a little i pops up on the screen, quite clever really, then you press the f and the text hole has iif in it. Hmm. Alright well the next letter in "ifixcoinops" is another i, let's press the i on my keyboard, the text hole now says iififi.
Which is slightly unconventional, but okay, let's see where this is going, iifiifiiififiifix. So I introduce myself as mister iififiifixifixcifixcoifixcoiifixcoinifixcoinoifixcoinopifixcoinops, and it tells me there's not enough digits in my phone number
Now I'm vaguely aware on some level that an awful lot of android apps are just a web browser with no clothes on, and that's certainly what this feels like, and buddy lemme tell you, HTML wants to work. It takes concerted, dedicated effort to make something fail this hard. Like, you've gotta code up some truly trollish javascript to make that kinda thing happen. So I guess hats off to Rheem.
Did I mention there wasn't even a place to put my phone number
I'm scratching my head over this and wondering if maybe something in my autocomplete settings are screwing with the input, I eventually figure out that they've somehow managed to make a form field that only works with specific software keyboards.
This is the first time I've ever seen anything like this. There's something new in the world. It's oddly beautiful, but haunting, a little melancholy. Luckily I have a few different keyboards installed on this thing so I change around a bunch until one of them works and lets me input normal words instead of this whimsy.
But there's still nowhere to put this phone number it's been asking me for, and no way to proceed, so I cast the app out of my mind for several more months
Eventually one night listening to it go BRRRRRR I get big mad and want all the functions that I paid the better part of two grand (!) for, and I search around for other people having the same problem.
(note: I want to schedule the water heater's heaty times. There's a big dotmatrix screen and a bunch of buttons on the water heater itself. Someone at some point should have said "Wait.")
Turns out everyone's having this problem! Everyone's been having this problem for over four months! But in the meantime, instead of using the Rheem app, try the Rheem Econet app, or the Econet app.
These are real apps made by Rheem. They all do the same job but fail in different ways at different points
Eventually - and I mean the sort of eventually that's measured in seasons - one of these apps lets me register for a Rheem account (why they couldn't just give me a link to those webpages I could access in a browser, I do not know) and then crashes, but another one lets me get the water heater connected to the wifi (there's no ethernet hole on this 300kg tank of water plumbed and wired into the house, it uses wifi only like your phone or handheld game console) and holy shit it works
It actually works
About 50% of the time
Tip: if Rheem doesn't work try EcoNet, if EcoNet doesn't work try Rheem EcoNet, if Rheem EcoNet doesn't work you can also try Ruud
If one of them works, DO NOT ALLOW IT TO UPDATE
Anyway at some point one of Rheem's other customers got pissed off enough with this tragicomedy to just completely write their own software from scratch, and of COURSE it works way better than the dogshit that Rheem put out
So yeah, the solution is to install Home Assistant on and old Raspberry Pi, get an ESP32 module and some phone wire, plug into the diagnostic port on the front and bypass everything to do with the official app and wifi interface entirely in favour of one that works.
Unfortunately this means you now have Home Assistant in your home, which means you now have a new hobby whether you want it or not
You don't expect to have emotions about a water heater
It's supposed to be the most boring machine in the house
I actually rang Rheem today, dude picked straight up on the first ring, his proposed solution was to try another phone
Mate every other app works on my phone
I was like, alright where does this thing spit out its logs, I'll email them to you, he's like I Don't Know
Didn't occur to him to go and find someone who does know
Should never have to get on the phone to talk about a water heater
Yes hello I would like to have a lengthy conversation about a tube that makes water hot, this is a good use of two peoples' time
Let's make the grey cylinder exciting, let's make it part of a hobby
The world isn't complex enough yet
The times are not interesting enough yet
Let's confuse a fridge into heating water and put it on the internet and give it anxiety
🦝 BUT I FUCKING KNEW THAT HOME ASSISTANT WAS GOING TO BE REALLY NEAT AND INTERESTING
I KNEW IT WAS GOING TO SUCK ME IN WITH HOW AWESOME IT IS
THAT'S WHY I'VE SPENT YEARS IGNORING THE HELL OUT OF IT AND TRYING MY BLOODY HARDEST NEVER TO LEARN ANYTHING ABOUT IT
I'VE GOT
OTHER
SHIT
TO DO 🦝
Actual quote from the Home Assistant Community Store:
"To download HACS
"How you download HACS depends on your Home Assistant installation type. In the instructions below, select the tab that matches your installation type (OS/Supervised, Container, or Core).
Warning
If you don't know what type of Home Assistant installation you are running, you should not use HACS (or any other custom integration)."
Is there a link to find that out? Is there any further explanation of what these terms mean? Is there so much as a crumb of information available to help answer this question?
Did the operator of this website install a sense of smug FOSSbro elitism where they should have wired in, say, competence?
This is the most useless documentation I've seen in years. And that includes the monitor schematic that had the middle third replaced with a lewd limerick.
"If you installed Home Assistant on a Raspberry Pi using the Raspberry Pi imaging tool, choose OS/Supervised" there, fixed, wasn't hard. Jesus.
Nothing winds me up harder than people who chat like they're clever while being aggressively, stubbornly incompetent.
You know how when you go to the house of an absolute colossal nerd and you ask them
🐇 Hey, how do I watch Netflix?
🦝 Yeah no problem, well first you've gotta turn on the amp. That's the power button on this remote here. The right-hand power button that is, the left-hand one isn't programmed to anything yet
🐇 OK
🦝 Sometimes that makes the TV come on automatically, but if it doesn't then you've gotta turn on the TV. That's this button here on this other remote.
🐇 So we're on two remotes now
🦝 Nearly finished. Oh by the way, if you want to adjust the volume, use the first remote, the volume on the second remote doesn't do anything. Well it does, but it sounds terrible because that's the TV speakers, so leave that at zero
🐇 But I'm *watching* tv
🦝 Yes but you're *listening* to the amp. Oh, sorry, forgot, set the amp input to 2.
🐇 on the amp remote?
🦝 Yeah, the video goes through the amp too.
🐇 In my house we set the TV to a different input, should -
🦝 Don't do that here. Don't. The TV stays on input 1 with its sound muted. Next you've just gotta use this third remote, for the -
🐇 for Netflix?
🦝 Well, technically for Kodi, but that's nothing to worry about yet
🐇 yet?
🦝 We'll come to that,
🐇 I'm being *so* patient right now, I'm really proud of myself
Anyway, imagine that, but your your lightbulbs. This is what Home Assistant promises
🦝 Anyway I got some Tradfri lightbulbs and a ZigBee dongle plugged into a spare Pi on a long USB extension to avoid radio interference, and I went on aliexpress and ordered some cheap ZigBee knobs and buttons so I can set up cosier circadian-rhythm-respecting lights as a sidequest to schedule my water heater and monitor my eventual photovoltaic setup.
^ see that sentence? That's both a legit telling of what I've been up to lately, AND a self-parody shitpost. The only people who recognise it as a legit post are other doomed individuals.
I'm glad I'm in a long term committed relationship because yikes can you imagine trying to use this software while dating
🦌 *tugging at shirt* Hey, do you mind if we turn the light off?
🦝 Sure!
🦌 OK~ wait why is there tape on your lightswitch
🦝 Oh wait yeah. Sorry. *grabs phone* Hold on. *fiddles* Just a sec.
🦌 um... ok?
🦝 Sorry. Just gotta do an update. Sorry. Just a sec. It's not normally like this
🦌 Did you just pull out your phone and start doomscrolling? While I'm right here?
🦝 sorry sorry no it's a different kind of doom, just a second, nearly there, sorry this never happens
🦌 wait my purse is vibrating, someone must be calling me
🤖 HOME ASSISTANT HAS DETECTED. LOVENSE. LUSH. SET UP DEVICE NOW?
🦌 goodnight
Better minds than mine have been warning about this shit since The Twilight Zone was new. What happens in every show that ever had an episode about The House Of The Future? Everyone's impressed for about five minutes and then it all goes wrong and there's usually at least one death.
But on the other hand, cosy lighting and RGB LED coolness so, y'know,
You know the best thing about Home Assistant?
There are some things, if you shit all over them on the internet and say all the ways they messed up, their fanboys will come out and tell you hey no, you just don't understand it yet, it's not shit you are
Home Assistant, the fanboys come out and say haha yeah join the club, wait hold on I've got some even wilder stories, just you wait lol
🦌 *hands curling around coffee cup, worried expression, leaning across table and talking softly* Does your husband know about Home Assistant?
🐩 I dunno, HEY HONEY
🦌 shh! Don't ask him!
🐧 YEAH HON
🐩 NOTHING NEVERMIND
🐩 Why's that?
🦌 It's a cognitohazard. If you ask him about it he'll want to know what it is, and then he'll be doomed.
🐩 Doomed, you say?
🦌 Doomed. It puts your house on the computer. He'll spend three hours a night programming the lights and you'll never see him again.
🐩 Oh my, that sounds awful. *pulling out phone* But you don't seem to be affected by it.
🦌 It seems to mostly affect dads.
🐩 Mostly... *smiles, turns phone around, it displays a big red button* but not exclusively. *press*
🦌 My god
🐩 *presses again*
🐩 Sorry, this is supposed to play the Dramatic Chipmunk sound on the kitchen radio
🐩 sorry
🐩 one sec
🐴 "I use Home Assistant so I ripped all the lightswitches out, wired all my light sockets to be live all the time, and replaced the switches with Smart Switches that radio the computer and tell it to radio the bulb to turn off" ~ actual things that people do with Home Assistant
As someone who works with electricity, my absolute favourite thing in the world is components that are energized while giving the appearance that they are not
An actual forum thread I witnessed:
🐴 Hey my bulbs turn on after a power outage, even though I've got them set to turn on at zero brightness, what gives?
🐑 Yeah turns out there's a safety override so you don't think the socket's safe when it's actually live
🐴 Ugh, that's such bullshit, what are the manufacturers thinking? Has anyone figured out custom firmware for these things?
I finally configured a smart knob so my daughter could adjust the light colour in her room.
🦝 Alright, here we go, it's simple. Well, it's not simple, and I'm sorry, but here we go anyway.
🐇 o...kay?
🦝 So right now it's in colour temperature mode. Turn the knob for brightness. If you PRESS and turn it, it'll change the colour temperature.
🐇 What's colour temperature
🦝 Turn it this way for more like daylight, turn it this way for more like cosy. Press and turn it I mean.
🐇 Alright. But how do we make it colourful.
🦝 Well. You'd press and hold in, without turning, for four seconds. Like this.
*awkward four-second pause*
🐇 It's green!
🦝 Yeah! Now to change hue, you press in and turn clockwise, and it goes all the way through the rainbow and cycles back round. If you miss the colour just keep turning until it comes back round again. And to change saturation,
🐇 What's saturation
🦝 Controls whether it's colourful, or light. To change the saturation, press and hold and turn anticlockwise. It gets lighter and lighter and then cycles back round to bold colour.
🐇 Coooooool
🐇 Dad... can we make this go on a timer
I put a remote pack in her ceiling fan / light 'cause she couldn't reach the pull cord for the fan, so between the SMART KNOB and the remote control and the lightswitch itself she's got as many competing lightswitches as my dad's Frankenstein Land Rover has gear levers
The ONLY sensible thing involved in this is that if the bulb loses and then regains power, it defaults to being an unremarkable warm white bulb turned on at full brightness.
So we've had the conversation about how the knob works and how the remote pack works and how the light switch works and how if any of these things fails and she needs the light on she's gotta just flip the switch off and on again
This kid's doomed
So you decide to mess with Home Assistant and find out that this means you've gotta program your own dimmer switches.
(at this point, you've already had your Naked Lunch moment and you know the sensible thing is to run screaming but you're ploughing on regardless knowing whatever happens next, it's on you, bought and paid for)
So you write your dimmerSwitch.yaml in yaml which simultaneously stands for "Yet Another Markup Language" and "YAML Ain't a Markup Language" and is a cursed way to try and program, and you've filled your little yammal up with comments so when it breaks you can remind yourself what any of this crap means:
# dan it's 2am and this is the bit that registers the knob turning anticlockwise
# dear future dan, hi from tired past dan, this next part is a sin and I'm sorry
And you can do all this in an editor in the browser that's surprisingly capable, and hit Save.
You'll find out the next time you open the file that your comments were automatically and silently deleted, and you'll go "Huh, yeah, that tracks"
Note for normal people who actually work for a living: code is the part of the program that makes it work and paradoxically isn't all that important, comments are the part that make it keep working a couple of months later and Very Much Are Important.
Like, there's practically infinite ways to write a bit of code that does a thing, but the important part is the comment above your mess saying that the following bit of code does this thing, and the comment underneath apologising
Part of the problem here is the whole YAML thing is an abstraction on top of whatever programming language home assistant is actually written in
And all of computer programming is like this. When I was a very tiny boy you just had to know "A chip is a thing that sends a little bit of electricity out of some combination of its legs in reaction to electricity going into some other combination" and then make a cup of tea and read a thick book and bollock around a while and end up with Manic Miner, but that was too hard for most folk so we invented programming languages that took a best guess at what electricity to send where, and then it turned out those languages were also too hard for almost everyone so we gave those languages little hats, interpreters that went "If this crying man types GOTO 240 then we tell the body wearing us to tell the electricity to go the way," and we made more and different hats and some were good and some were bad and then we started stacking the hats on top of each other and forty years go by and suddenly we find ourselves fiddling with the top of a stack of fifteen hats that are making suggestions to the hats beneath while arguing and trying to topple off each other and shouting DON'T LOOK AT THE HAT UNDERNEATH ME while the aforementioned crying man shouts back GET OUT OF THE WAY AND LET ME SEE WHAT YOU'RE HIDING
It's not even that hats are bad, everybody likes a good hat, but wearing so many stacked on top of each other is asking for a mess every time you walk through a door
So I did some digging and apparently this mess is because Home Assistant itself does not speak YAML but JSON, no YAML files exist, and if you click the button labelled "Edit as YAML" then Home Assistant looks at its JSON files and conjures up a YAML for you to look at. When you hit Save, HA converts the YAML to JSON (which doesn't support comments (which makes it useless by default)) and discards the YAML, poof gone
WHY DOESN'T THE BUTTON SAY EDIT AS JSON AND JUST LET YOU EDIT THE JSON THEN FFS
It seems HA is removing all comments expressed as # in front-end cards. I find it super useful to document why I do things a certain way (especially since I cannot always design things without duplication due to gaps in my own knowledge or limitations of the platform) so documentation is super important to be able to maintain my code. Any ideas how to stop HA from removing my comments? NB: in addition to the post marked as Solution, also see this post further down for extra info
I found someone else having a problem with the whole YAML thing and they mentioned that it does occasionally swallow or rearrange chunks of code and HOLY SHIT I THOUGHT THAT WAS ME.
Going through my lamp thing the other night going "Huh, that's weird, this was working yesterday, what's the story with this... wow, I don't even remember putting that there, I must've been really tired... wait where'd the rest of it go..."
Gaslit!
So they provided a fake programming interface
It's an interface that seems to do one thing (letting you edit a file) while doing another (the file doesn't exist, it never existed, it was conjured into being when you clicked Edit and it is converted to something else and then destroyed when you click Save)
This is just trolling surely
People are boosting the part of this thread where I had only just installed Home Assistant and didn't know how bad it was yet, where I say "Home Assistant is really neat and interesting" and this now feels like libel
Friends, Home Assistant is troll software. It's a trap for dads who dared to dream of a dignified future
The Home Assistant Doom Pipeline:
🦝 Smart home? Pfft, sounds like an unreliable pain in the arse
🦝 *fur slightly disheveled* Huh, they make lightbulbs where you can set the colour temperature with a switch now. It'd be nice to have them go warmcosy in the evenings without having to reach into the fixture and flip the switch...
🦝 *scratching ears, something falls out* Yaknow, that whole Smart Home thing would actually be pretty neat if it didn't involve any big spyware companies, I don't want google selling my bedtime to advertisers or whatever, if it could all just be locally-controlled then that changes the deal somewhat,
🦝 *eyes bloodshot, chewing on a pizza crust found behind the dumpster* Like if it were all open source and community-maintained. That might actually be really neat and interesting, you know that?
🦝 *abandoned by society, living in a box, tongue lapping inside a broken whiskey bottle* Like, Linux for your Lightbulbs! That actually sounds AWESOME
@thatsten @ifixcoinops I for one am one of those who people outside the tech world see surfing my cyberspace surfboard in AI adventures. In the real world the more I see, the more I just move onto hosting everything I possibly can myself. Web, mail, file shares and the likes, I don't really WANT to, but my trust in stuff is just completely eroded by what I see in my job in the IT world.
Then there's some really hairy stuff, like cloud-based cameras at people's homes. My security cameras live in an isolated VLAN with their NVR and they stay there.
@thatsten @ifixcoinops It's true. I noticed a couple weeks back my home assistant appears to have corrupted it's sqlite db somehow. I kept thinking "yeah I should move it into a real db at some point" but I've got better things to do on a weekend, and it's only history - all the buttons still work.
Discovered a while ago it's fixed itself at some point.
Shit's haunted.
@ifixcoinops “why don't I get alerts from the driveway camera anymore?”
(I have not yet moved alerts to HA).
@ifixcoinops A friend sent me this article about the new trend in "Dumb Homes"
https://www.hollywoodreporter.com/lifestyle/real-estate/tech-free-homes-luxury-trend-1236177909/
All I can say is, if anyone took basic technology such as *light switches* out of my home, I would be seeking vengeance.
@GamesMissed @ifixcoinops ... the ultrarich are "unplugging," so I guess that means eventually they'll force that bloatware onto all new construction less than true mansions?
True story, two weeks ago I rented a Vrbo with Google Nest thermostat. We set it to 72° heat, 78° cool. One night we woke up and it was 85° and heat still running. Next night, 68° and AC still running. Turning the thing completely off worked for a few hours, then it would decide on its own temp again.
WHY??
Dearest wife,
You must now speak aloud to turn on any light in this house.
I am deeply sorry,
Yours.
@ifixcoinops I've started writing a set of documentation on how to "unsmart" the house as and when I shuffle off or become significantly less capable of doing that myself.
Funny how being told you have a terminal prognosis (albeit several years away) makes you do stuff you never thought of previously.
@th @aurynn @ifixcoinops The only problem we've had with colored light-strips (purchased from Lowe's or Costco, I forget, about 5 years back) is that they respond to some of the buttons on the TV remote.
We've now learned how to program them using the TV remote.
@ifixcoinops sounds to me like you're editing one of the other auto-adjusting yaml files, or the yaml configuration of the frontend
There's a text editor, and a main config file (configuration.yaml) that doesn't wipe these comments or rearrange them, but I'm not sure if that's a good solution here
Kind of. Using XML for data files mean that comments or other name spaces can add declarative and behavioural code within the same XML file or be referenced or included. This was either horrible or powerful depending upon your perspective.
JSON is just a data format so it doesn't have a syntactic Comment or Annotate object. But you can create any field you like, you can have {'comment' : "lots of string space"} or similar within any block.
@ifixcoinops the worst thing about this is that json files CAN contain comments if you just make your parser not be a dipshit
douglas crockford is not your dad, there are zero downsides to parsing json that has comments it it as if it didn't have comments in it, just ... do the good thing! instead of the bad thing! it's very easy
@dan @technomancy @ifixcoinops
Nah, it's made up pseudo code come various config dialects. It's impossible to verify and apart from front matter (a shitty name for a shitty thing) plain old horrible.
@ifixcoinops I was using PowerApps this week, a "low code" solution. In other words, you still need to write code but it's in a proprietary language with strange limitations and fewer examples and documentation than other languages.
Can't recommend.
@ifixcoinops ...
no, not doomed. Doomed happens when people building things *don't* assume that it will all go wrong and allow for the switch to flip off and on again so people can see.