Great hack, but I’m sure any engineer worth their salt winces at the thought of a machine in their home roundtripping through far away 3rd party servers (I guess they’re the manufacturer’s, but if it’s hardware I own in my house those servers are 3rd party to me) just to notify them of a numerical value when they’re sitting literally 10 meters away (I live in the countryside and experience internet interruptions not infrequently, things running locally matter a lot to me).
I was thinking the other day as I was remodeling my kitchen that I would happily pay several times the price of regular appliances (fridge, clothes washer, dish washer) if they were built with a tasteful, minimalist design (eg 1960s Braun style), quality materials, and fully open source PCB/firmware/schematics/etc. I’m probably not the only one. It’d be a weird niche market but perhaps there’s something there.
If you tie it with the building consumer awareness of right to repair, anti consumerism, planned obsolescence, etc, the marketing just writes itself.
Maybe that’s a kind of company I want to start myself, having worked in consumer hardware for a long time and thinking about my next step, but if anyone wants to take the idea go ahead.
I actually worked on an App for a company that made home appliances. Originally they made everything local, so direct App to Washing machine communication. They had a really hard time with that approach for a number of reasons.
The first, and most obvious, reason is that getting your phone and (all) your appliances on the same network is non-trivial. Especially for a novice user. Sometimes the washing machine is in the basement and can't connect to your WiFi. Or maybe you're simply outside your house in your car and can't connect to your local network. The cloud approach solves this.
The other, not so obvious reason, is that the manufacturer made a ton of devices. Some of them a decade old, with very rudimentary interfaces. Originally the App had to handle special cases and workarounds for dozens of devices. This became a problem once they tried to port it to multiple platforms. For Android and iPhone they started with a shared C++ library. But that quickly became a problem, once they wanted to interface with popular home network and automation solutions.
To solve all this they decided to build a cloud API that would resolve all these problems in one go. A single, unified API with a modern HTTP interface and available via the internet. That solves the workaround and compatability issues by having a single abstraction layer (instead of one per app). It solves the "on the go" problem when you're not in you local wifi. It enables you to control devices outside your home network in a true IoT sense.
I totally agree with you that, if you're not in an urban environment with good internet and cell coverage, the advantages dwindle away. Also, of course, there is the privacy concern that is very real. At the end of the day the cloud solution is selected for the same reason companies select Electron. It saves development time and is very easy for the average end user to use. At the expense of performance and privacy.
I’d pay more for NO firmware in my washing machine.
This is beyond my desire to just keep things simple. What is the point of washing machine you can control remotely? You have to put clothes in at the start and take them out at the end. It offers no convenience.
Me too, and I believe our society could have taken a different trajectory, in which the values you have are norms.
It's normal to want to have control over every detail of where your furniture goes and how your home is decorated, and plants in your garden, without consulting some external source of control. Why isn't it normal to have the same level of control of your appliances and your digital life?
Totally agree. Buying new appliances is hard if you are blind. It's either very cheap stuff that still has buttons, expensive stuff with touch screens which are unusable to me or expensive stuff that has touch screens and an app to control it. Besides not willing to fiddle with a phone and an app for every single action, the expensive stuff with apps will be unusable sooner or later when the software stops getting support and the appliance is still there.
I enjoyed this reverse engineering, using a direct connection within your home network after the keys have been extracted after an initial authorization to the Bosch/Siemens cloud:
https://trmm.net/homeconnect/
a few years ago i bought a bluestar platinum range. that's probably the closest you're going to get these days. it's all gas + mechanical, all stainless and iron, works during a power outage, etc. i looked around and didn't see any PCB's, just wiring for the lights, igniters, and convection fans. the broiler is a gas salamander style top grill.
... it was $6000 for a 30" range but it's more powerful than anything other than commercial gear. you really do have to pay up for simplicity. iirc it was more expensive than the equivalent wolf, viking, etc. and weird european brands like la cornue don't make 30".
most people say they're willing to pay more for this kind of thing, but very, very few people actually do. it's also made in the US, another thing people claim they will pay for, but usually don't.
I have recently come to the conclusion that a major problem is that there is no "local" internet. You either have websites somewhere out of local network or some app-based solution, but there's no "dishwasher.local". And you can't burden consumers with IP addresses.
I wonder if the Thread/Matter standards will be able to improve on this once adopted. At least they provide open standards and don't require cloud components for supported devices to communicate with your (pocket and otherwise) computers.
For your appliances, maybe look at the commercial market. You usually get minimalism and quality material (lots of stainless steel). Often good reparability, but not much open sourcing I am afraid. And certainly several times the price.
Note that commercial dishwashers are not at all like their consumer counterparts. They don't really wash the dishes, they sanitize them after they have been properly rinsed, and a cycle takes minutes instead of hours.
I've had the same day dream many times, we might be on to something. I even have this "playbook" about parts and branding and stuff, all while encouraging third party creation of spares.
It's hitting a part of the beast (current vendors) they can't defend against, because their sunk costs make it impossible to embrace repair and keep "forever" - tech.
Personally, "open source" is very low on the list of things that would convince me to pay several thousands dollars extra per appliance. That's just way too much money for something like "avoid pushing the buttons or getting up without needing third party servers." I'll just push the buttons, thanks.
Even just paying multiple times more for reliability in the forms of quality components is a hard sale. What if I move? Do I want to have to bother trying to take it with me and potentially replacing it for the next buyers? What if a new dishwasher in a decade is as much better than this one as this one is compared to the one I had ten years ago (seems unlikely, but possible?)?
We just got a Bosch oven whose timer would count down to 1:01 and stop. Further, it has two timers and only one of them did this, elevating this bug from surprising to nearly inconceivable. Then, to fix it they had to send a repair person out with an entire new controller board.
So yeah, some fundamental restructuring would be good here. (BTW, to be fair, the controller was made by Diehl Controls, not Bosch.)
Check out https://www.youtube.com/watch?v=migRN4P1wGI. Tape on a thing that gets activated by dumb washing machine LEDs and notifies your phone without any third-party server. Really cool stuff!
I thought this article would be along those lines except more sophisticated (OCR to read remaining time? sure why not!) and was slightly disappointed
I don't think it would be that niche given how big an industry home automation has already become. The general public generally don't know what they want until you put it front of them. I hadn't thought about that for a kitchen appliance, but yes, I would buy one, absolutely, that appeals in a huge way.
If you did start that kind of a company, I'd love to be made aware of it.
I would also like this (well I want something entirely mechanical with no software at all) but short of people designing entirely open and 3d printable versions on their own time, this will never happen.
It is notable that washing machines lie about remaining time.
Specifically, there are parts of the wash cycle that are indeterminate. How long will it take to get all the clothes wet with water - well that will depend on the water pressure and how many clothes are inside. How long will it take for the water to heat - Well that will depend on how hot it was when it came in and the grid AC voltage variation. How long will it take to spin - well that will depend how many times it needs to accelerate and decelerate to redistribute clothes to find an arrangement to get sufficiently low vibration.
So... With all these unknowns, the machine simply gives a kinda long estimate, and shortens or lengthens other parts of the washing cycle to 'catch up' with the claim. And if some process takes far too long, it will just overrun. And if you only put one pair of pants in, then it may cut the time back a bit when it weighs it and notices.
We bought a house, and the laundry machines did not convey with it. Feeling a bit tighter than usual, we bought a pair of older ones for $75 a piece from a local outfit that sells reused/unused building supplies.
Having endured precisely the phenomenon you're describing for the last decade, having a washer that reliably gets the job done in 45 minutes or less is pure bliss.
Yeah, it uses more water, but we're on a well and septic. My major complaint from an efficiency standpoint is that it doesn't spin out as much water as a modern machine. The dryer has to do more work accordingly.
Fortunately, we just had a nice day and put the clothesline up.
I have done something similar to OP with my Miele washer. Once you start a cycle it begin filling the drum, and analysing how much water your clothes absorb, at which point it re-estimates the wash duration based on the measured load size.
Based on the stats I’ve collected, once it done that re-estimate (which is usually reducing the cycle length slightly), the new duration will be spot on nine times out of ten. Occasionally it take longer than normal to balance the drum for the spin cycle, and I can see the machine adjusting it wash duration in my stats.
I’ve also noticed the Miele machine seems I incorporate info from previous wash cycles. So the initial estimate it provides before you hit start, will slowly adjust to match wash duration of your typical load. As a consequence, if the machine says it gonna be done in 1:40, it’s pretty much guaranteed to be done in 1:40, and probably completed in 1:20-1:30. So more than accurate enough to plan around.
It's a real PITA because the dryer time is fairly consistent. Leave stuff sitting wet in the washing machine too long and it picks up a musty smell, so ideally the dryer is done before the washing machine. But the washing machine is so bad at estimating it's remaining time, and it is dependent on the load.
Was always wondering why laundry sometimes takes longer although I put in the same quantity of clothes. Now it makes sense. Thanks for the explanation, very informative!
I use a zigbee smart outlet with power monitoring for this. If it's using power for awhile, set to washing. If power has been zero for awhile, and it's washing, set to done (and send text-to-speech event that goes out on all house speakers).
This is a little Node-RED flow on top of Home Assistant.
I use CT (current) sensors on the circuits for both washer and dryer and a small XBee ZigBee device using its ADC pins to transmit the current readings. On the server with an XBee coordinator, I use a moving average window to cover points where the washer or dryer use very little current. It's then pretty easy to detect on/off, and even where the current cycle is. The obligatory Home Assistant integration notifies household members.
Plotting the dryer data, you can see how it works. The heating element turns on for a period, then turns off and the humidity is most likely read at that point. The gap between periods of the heating element on increases, and the heating length of time decreases, until if stops spinning. Cool DIY project.
This! I am doing a similar thing with only Home Assistant, i.e. without Node RED. No need for „smart“ appliances and reverse engineering their protocols if all you want is to be notified when the washing cycle is over.
This is a clever way to make non smart appliances smart, it works for washers, dryers, dishwashers etc. You could even use this to detect when a dehumidifier fills its tank and stops itself.
I've just had a "Smart" Samsung washing machine installed.
It says it is Internet ready. I am not sure what they mean by internet ready, it seems I have to change the name of the WiFi point to have no crazy characters, and just have 2.4 Ghz, turning 5GHz off in order to connect it.
But this means my smart scales now need to be set up since the WiFi name has changed.
Am I missing a trick, I guess it is possible to set up, but it is a bit gruelling.
I had the same issue, unfortunately my washing machine does not have an API. I used a raspberry Pi with a camera, using OCR i was able to detect the remaining time from the display. Having an API like this would have been so much easier.
I did create an opensource web app so you are able to see your remaining time, laundry history, and get (push/mail) notifications. Since you only need to push the remaining seconds to an http endpoint it probably is easy to use with the solution described in the article.
For "I'm done" notification, I use relay with power metering - looking at the power pattern, home assistant can be set up for notification after x time when that graph drops to floor.
> unfortunately my washing machine does not have an API
I'd love to see the breakdown of who would prefer a network-connected washing machine with an API vs who would prefer a device that you have to operate with buttons and switches like a cave man.
Tangent, but how did you handle lighting for the camera? I'm intermittently working on something similar to read a gas meter, but am struggling to find a way of lighting the digits sufficiently, while not leaving reflections on plastic over the digits. I've tried Pi-controlled LEDs and a smart bulb, with little success, so far.
To be clear, this is using manufacturer's developer API to interact with their online services and not with the washing machine. Also something often managed by Home Assistant and alike.
I own a Speed Queen washing machine. The best part is it has no digital components and it will last 25 years while also doing a superior job in cleaning clothing.
I highly recommend it. Every other brand is crap compared to it.
When I first moved to Canada, I had no money. I lived in an apartment block with a coin-operated washer and drier. But I always had to go down the hall to check if my laundry was done.
So I had the idea to wind some wires around the power cable to detect the electromagnetic field changes when the machine turns on and off. Then this could send a message to a Raspberry Pi which could ping me somehow.
I didn't want to leave my Raspberry Pi hanging around in that semi-public area though. Also, I couldn't afford one at the time anyway!
Correct, that's why it used a Windows USB auto prompt flaw, it spread via usb flash drives, but only activated if the conditions found in the uranium facility were present
I have LG ThinQ washer and dryer. A version of ThinQ API uses AWS MQTT for communication. I find it helpful to send TTS notifications and followup reminders to Sonos when the washer is complete, until the door has been opened. The appliance knows when the door is opened/closed yet the API does not include this detail. Had to add separate contact sensors for that purpose.
My old early/mid 90's washer Maytag dryer set was starting to fall apart few years ago so they were replaced with an LG washer and dryer set with WiFi. The only use I can ever envision a washer needing WiFi for is telling me the remaining time and when the cycle is done.
Before I even connected the WiFi I did some research to see if the washer/dryer could be monitored from a 3rd party app. Nope. The washer has to talk to an LG server. So I poke around some more and find that there is an API for LG appliances, cool right? Nope. You need to be a "valued partner." Apparently paying $2000 for the two machines is not valued by LG.
In the end the washer and dryer remain dumb appliances because I control MY appliances. Go die in a fire LG. And that goes for every other IoT e-waste manufacturer.
>Putting aside any worries about connecting a high-speed rotating device to the internet
We should beware of these dangers, not brush them off. A nation-state could easily destroy millions of homes if/when these Internet-facing APIs are plentiful.
I can wait to buy an open source machine where i can customise. I find the interface with all my last couple of AEG machines ridicolous. The only way to get the machine to work the way you want is turn it off and start again. I really find myself wishing to have a chat with the engineer that programmed this. Very frustrating to have to change machines because they do not have service manuals available. (Wife could not wait me figuring it out). CLI TO MY WASCHINE NOW!!
A simpler solution might be to use a smart plug to monitor the current being drawn by the appliance and then just notify and turn off when it is done. I do variations of this kind of thing (using sonoff S31's flashed with tasmota) and it works quite well.
With an old (10+) washing machine accessing the seven segment output does the same, yet not a worthy HN topic (and quite trivial - some soldering and repotting the silicone dip).
[+] [-] belugacat|2 years ago|reply
I was thinking the other day as I was remodeling my kitchen that I would happily pay several times the price of regular appliances (fridge, clothes washer, dish washer) if they were built with a tasteful, minimalist design (eg 1960s Braun style), quality materials, and fully open source PCB/firmware/schematics/etc. I’m probably not the only one. It’d be a weird niche market but perhaps there’s something there.
If you tie it with the building consumer awareness of right to repair, anti consumerism, planned obsolescence, etc, the marketing just writes itself.
Maybe that’s a kind of company I want to start myself, having worked in consumer hardware for a long time and thinking about my next step, but if anyone wants to take the idea go ahead.
[+] [-] Dragony|2 years ago|reply
The first, and most obvious, reason is that getting your phone and (all) your appliances on the same network is non-trivial. Especially for a novice user. Sometimes the washing machine is in the basement and can't connect to your WiFi. Or maybe you're simply outside your house in your car and can't connect to your local network. The cloud approach solves this.
The other, not so obvious reason, is that the manufacturer made a ton of devices. Some of them a decade old, with very rudimentary interfaces. Originally the App had to handle special cases and workarounds for dozens of devices. This became a problem once they tried to port it to multiple platforms. For Android and iPhone they started with a shared C++ library. But that quickly became a problem, once they wanted to interface with popular home network and automation solutions.
To solve all this they decided to build a cloud API that would resolve all these problems in one go. A single, unified API with a modern HTTP interface and available via the internet. That solves the workaround and compatability issues by having a single abstraction layer (instead of one per app). It solves the "on the go" problem when you're not in you local wifi. It enables you to control devices outside your home network in a true IoT sense.
I totally agree with you that, if you're not in an urban environment with good internet and cell coverage, the advantages dwindle away. Also, of course, there is the privacy concern that is very real. At the end of the day the cloud solution is selected for the same reason companies select Electron. It saves development time and is very easy for the average end user to use. At the expense of performance and privacy.
[+] [-] nonethewiser|2 years ago|reply
This is beyond my desire to just keep things simple. What is the point of washing machine you can control remotely? You have to put clothes in at the start and take them out at the end. It offers no convenience.
[+] [-] foobarbecue|2 years ago|reply
It's normal to want to have control over every detail of where your furniture goes and how your home is decorated, and plants in your garden, without consulting some external source of control. Why isn't it normal to have the same level of control of your appliances and your digital life?
[+] [-] bramd|2 years ago|reply
[+] [-] thunfischbrot|2 years ago|reply
[+] [-] inconceivable|2 years ago|reply
... it was $6000 for a 30" range but it's more powerful than anything other than commercial gear. you really do have to pay up for simplicity. iirc it was more expensive than the equivalent wolf, viking, etc. and weird european brands like la cornue don't make 30".
most people say they're willing to pay more for this kind of thing, but very, very few people actually do. it's also made in the US, another thing people claim they will pay for, but usually don't.
[+] [-] LeanderK|2 years ago|reply
[+] [-] dochtman|2 years ago|reply
[+] [-] GuB-42|2 years ago|reply
Note that commercial dishwashers are not at all like their consumer counterparts. They don't really wash the dishes, they sanitize them after they have been properly rinsed, and a cycle takes minutes instead of hours.
[+] [-] actionfromafar|2 years ago|reply
It's hitting a part of the beast (current vendors) they can't defend against, because their sunk costs make it impossible to embrace repair and keep "forever" - tech.
[+] [-] majormajor|2 years ago|reply
Even just paying multiple times more for reliability in the forms of quality components is a hard sale. What if I move? Do I want to have to bother trying to take it with me and potentially replacing it for the next buyers? What if a new dishwasher in a decade is as much better than this one as this one is compared to the one I had ten years ago (seems unlikely, but possible?)?
[+] [-] wrs|2 years ago|reply
So yeah, some fundamental restructuring would be good here. (BTW, to be fair, the controller was made by Diehl Controls, not Bosch.)
[+] [-] throwaway290|2 years ago|reply
I thought this article would be along those lines except more sophisticated (OCR to read remaining time? sure why not!) and was slightly disappointed
[+] [-] hammyhavoc|2 years ago|reply
If you did start that kind of a company, I'd love to be made aware of it.
[+] [-] davemp|2 years ago|reply
How willing would you be to pay 1-2 factors less for the Shenzhen clone that hits market 1-2 weeks later based on the same open designs?
There's a reason these companies don't exist, you have no competitive edge except good will.
[+] [-] flippinburgers|2 years ago|reply
Well maybe with ChatGPT 6...
[+] [-] londons_explore|2 years ago|reply
Specifically, there are parts of the wash cycle that are indeterminate. How long will it take to get all the clothes wet with water - well that will depend on the water pressure and how many clothes are inside. How long will it take for the water to heat - Well that will depend on how hot it was when it came in and the grid AC voltage variation. How long will it take to spin - well that will depend how many times it needs to accelerate and decelerate to redistribute clothes to find an arrangement to get sufficiently low vibration.
So... With all these unknowns, the machine simply gives a kinda long estimate, and shortens or lengthens other parts of the washing cycle to 'catch up' with the claim. And if some process takes far too long, it will just overrun. And if you only put one pair of pants in, then it may cut the time back a bit when it weighs it and notices.
Washing machine software is now pretty complex!
[+] [-] mauvehaus|2 years ago|reply
Having endured precisely the phenomenon you're describing for the last decade, having a washer that reliably gets the job done in 45 minutes or less is pure bliss.
Yeah, it uses more water, but we're on a well and septic. My major complaint from an efficiency standpoint is that it doesn't spin out as much water as a modern machine. The dryer has to do more work accordingly.
Fortunately, we just had a nice day and put the clothesline up.
[+] [-] avianlyric|2 years ago|reply
Based on the stats I’ve collected, once it done that re-estimate (which is usually reducing the cycle length slightly), the new duration will be spot on nine times out of ten. Occasionally it take longer than normal to balance the drum for the spin cycle, and I can see the machine adjusting it wash duration in my stats.
I’ve also noticed the Miele machine seems I incorporate info from previous wash cycles. So the initial estimate it provides before you hit start, will slowly adjust to match wash duration of your typical load. As a consequence, if the machine says it gonna be done in 1:40, it’s pretty much guaranteed to be done in 1:40, and probably completed in 1:20-1:30. So more than accurate enough to plan around.
[+] [-] jemmyw|2 years ago|reply
[+] [-] nathan_phoenix|2 years ago|reply
[+] [-] matthew-wegner|2 years ago|reply
This is a little Node-RED flow on top of Home Assistant.
[+] [-] idatum|2 years ago|reply
Plotting the dryer data, you can see how it works. The heating element turns on for a period, then turns off and the humidity is most likely read at that point. The gap between periods of the heating element on increases, and the heating length of time decreases, until if stops spinning. Cool DIY project.
[+] [-] iengae|2 years ago|reply
[+] [-] hcaz|2 years ago|reply
[+] [-] zeristor|2 years ago|reply
It says it is Internet ready. I am not sure what they mean by internet ready, it seems I have to change the name of the WiFi point to have no crazy characters, and just have 2.4 Ghz, turning 5GHz off in order to connect it.
But this means my smart scales now need to be set up since the WiFi name has changed.
Am I missing a trick, I guess it is possible to set up, but it is a bit gruelling.
[+] [-] styxit|2 years ago|reply
I did create an opensource web app so you are able to see your remaining time, laundry history, and get (push/mail) notifications. Since you only need to push the remaining seconds to an http endpoint it probably is easy to use with the solution described in the article.
https://github.com/styxit/laundry-admin
[+] [-] jve|2 years ago|reply
[+] [-] MengerSponge|2 years ago|reply
I'd love to see the breakdown of who would prefer a network-connected washing machine with an API vs who would prefer a device that you have to operate with buttons and switches like a cave man.
[+] [-] mft_|2 years ago|reply
[+] [-] ubergesundheit|2 years ago|reply
The Arduino sends the value of the LDR over serial port to a laptop which sends changes to the "door open" over Signal to my phone
[+] [-] aabdelhafez|2 years ago|reply
[+] [-] szszrk|2 years ago|reply
[+] [-] nemo44x|2 years ago|reply
I highly recommend it. Every other brand is crap compared to it.
[+] [-] FredPret|2 years ago|reply
So I had the idea to wind some wires around the power cable to detect the electromagnetic field changes when the machine turns on and off. Then this could send a message to a Raspberry Pi which could ping me somehow.
I didn't want to leave my Raspberry Pi hanging around in that semi-public area though. Also, I couldn't afford one at the time anyway!
[+] [-] eimrine|2 years ago|reply
[+] [-] shautvast|2 years ago|reply
lol, stuxnet reference? Although I believe the Iranian uranium centrifuges weren't actually connected
[+] [-] mavhc|2 years ago|reply
[+] [-] mleo|2 years ago|reply
[+] [-] dave78|2 years ago|reply
[+] [-] MisterTea|2 years ago|reply
Before I even connected the WiFi I did some research to see if the washer/dryer could be monitored from a 3rd party app. Nope. The washer has to talk to an LG server. So I poke around some more and find that there is an API for LG appliances, cool right? Nope. You need to be a "valued partner." Apparently paying $2000 for the two machines is not valued by LG.
In the end the washer and dryer remain dumb appliances because I control MY appliances. Go die in a fire LG. And that goes for every other IoT e-waste manufacturer.
[+] [-] 1970-01-01|2 years ago|reply
We should beware of these dangers, not brush them off. A nation-state could easily destroy millions of homes if/when these Internet-facing APIs are plentiful.
[+] [-] quijoteuniv|2 years ago|reply
[+] [-] fanatic2pope|2 years ago|reply
[+] [-] readthenotes1|2 years ago|reply
It would be nice to get one of these newer contraptions, but I really have no desire to join the planned obsolescence treadmill.
[+] [-] xxs|2 years ago|reply
[+] [-] jmbwell|2 years ago|reply
[+] [-] mekazu|2 years ago|reply
[+] [-] storyinmemo|2 years ago|reply