# How i made my dishwasher and washingmachine smart

**URL:** <https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438>\
**Category:** Flows\
**Created:** [January 21, 2025, 9:19am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438 "2025-01-21T09:19:15Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rik\_Elsenaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rik_elsenaar/32/72066_2.png) [@Rik\_Elsenaar](https://community.homey.app/u/Rik_Elsenaar)\
**Post date:** [January 21, 2025, 9:19am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/1 "2025-01-21T09:19:15Z")

</div>

**Hey Homeys! 👋**

I’ve been working hard on making my larger appliances run cheaper on solar energy without sacrificing convenience. I’d love to share what I’ve done so far and hear your tips on how to improve it!

**How I Made My Appliances Smart**

The setup is similar for both my dishwasher and washing machine. Here’s what I used:

• **Fibaro Smart Plug** : To monitor the power usage of each appliance.

• **Door/Window Sensor** : On the washing machine to detect if the door has been opened (still looking for a clean solution for the dishwasher).

• **HomeWizard P1 Dongle** : To track if I’m delivering energy back to the grid.

**Appliance Statuses**

I created variables to track the status of my appliances:

• **Leeg** : The appliance is empty.

• **Klaargezet** : The appliance is loaded and ready to go.

• **Bezig** : The appliance is currently running.

• **Vol, Vies** : The appliance is full, but the contents are still dirty.

• **Vol, Schoon** : The appliance is full, and the contents are clean.

**How I Detect Energy Backfeed**

 ![Scherm­afbeelding 2025-01-21 om 09.45.25](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/5/455dbef56dbb42525401d467f6d21a2bccc69199.png)  
I created a logic flow that detects when I’m delivering power back to the grid. Once the backfeed reaches -50 W, the variable _Delivering Back?_ is set to “Yes.” The flow then checks if there’s enough energy available to start the washing machine first and the dishwasher afterward.

**Failsafe:** To avoid delays (and bad smells), I set a backup time of 14:00 to ensure the appliances start even if solar energy isn’t sufficient.

 ![Scherm­afbeelding 2025-01-21 om 09.38.33](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/4/74be67a3ea3e48908bede799b7b3b16cc2e4a41f.jpeg)  
**How the Flow Works**

**1. Preparing the Appliance**

When I load an appliance and it’s ready to start, it automatically powers off, and the status is set to _Ready to Start_. The flow then waits for the best time to start using solar energy.

**Example Flow:**

• **When:** Current power usage changes.

• **And:** Power usage is above 10 W.

• **And:** _Delivering Back?_ equals “No.”

• **And:** _Dishwasher Ready to Start_ equals “No.”

• **Then:** Turn off the device and set _Dishwasher Ready to Start_ to “Yes.”

**2. Starting with Solar Energy**

When enough solar energy is available, the flow turns the appliance on, and the status is updated to _Busy_.

**Example Flow:**

• **When:** The appliance is turned on.

• **And:** _Dishwasher Ready to Start_ equals “Yes.”

• **Then:** Set the status to _Busy_ and set _Dishwasher Ready to Start_ to “No.”

**Problem Solved:** I noticed the system kept turning the appliances on and off when backfeeding stopped. Splitting the flows fixed this issue.

 ![Scherm­afbeelding 2025-01-21 om 09.56.55](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/2/92fe7741255235396d74f3d8e572aff83238508d.png)  
**3. When the Appliance is Done**

When the appliance finishes, the flow detects it by monitoring power usage. After a 5-minute timer (to avoid false positives from power spikes), the status is updated to _Full, Clean_. A notification is sent, and a task is added to my Todoist to empty the appliance.

**Example Flow:**

• **When:** Power usage changes and drops below 10 W.

• **Then:** Start a 5-minute timer.

• **When:** The timer ends.

• **Then:** Set the status to _Full, Clean_, send a notification, and add a Todoist task to empty the device.

**Resetting the Timer**

To ensure the timer doesn’t finish prematurely during short power fluctuations, I added a reset mechanism:

**Example Flow:**

• **When:** Power usage changes.

• **And:** Timer is running.

• **And:** Power usage is above 10 W.

• **Then:** Stop the timer.

Here i putted the different flow  
When Device is turned on  
And the Logic Vaatwasser klaargezet eqauls Yes  
Then set Status Vaatwasser to Busy  
Then set Vaatwasser klaar gezet to No

I found out when i had this as one flow the system was continuesly turning on and of my device when i stopped delevring back to the grid.

**4. Emptying the Appliance**

When I open the washing machine door and the status is _Full, Clean_, the status is reset to _Empty_, and the Todoist task is removed.

**Fun Additions**

• When someone comes home and the washing machine or dishwasher is done, my Google Home at the front door says:

_“The washing machine is done. Time to empty it!”_

I’m currently working on a way that Homey greets us when we get home, and sums up some fun things about the day and events that are comming up.

I hope this is interesting for others! If you have any feedback or tips for improving my setup, I’d love to hear them. 😊

---

<div class="post-metadata">

**Author:** ![dsdevries](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dsdevries/32/80220_2.png) [@dsdevries](https://community.homey.app/u/dsdevries)\
**Post date:** [January 21, 2025, 11:42am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/2 "2025-01-21T11:42:16Z")

</div>

I can help you with the last one. Here’s my script for it:

```auto
const variables = Object.values(await Homey.logic.getVariables())
const hallwayMessageVariable = variables.find(({name}) => name === 'Hallway Message')
const laundryAcknowledgedVariable = variables.find(({name}) => name === 'Was Laundry Acknowledged')
const dishesAcknowledgedVariable = variables.find(({name}) => name === 'Were Dishes Acknowledged')

const greetingLookupTable = {
  'asleep': 'Good Morning!',
  'away': 'Welcome home!'
};

const acknowledgeLaundryMessage = laundryAcknowledgedVariable.value ? '' : `The laundry machine finished while you were ${args[0]}. Please remember to take it out!`;

const acknowledgeDishesMessage = dishesAcknowledgedVariable.value ? '' : `The dishwasher finished while you were ${args[0]}. Please remember to take it out!`;

const connection = acknowledgeDishesMessage !== '' && acknowledgeLaundryMessage !== '' ? 'and' : '';

await Promise.all([
  Homey.logic.updateVariable({
  id: hallwayMessageVariable.id, 
  variable: {
    value: `${greetingLookupTable[args[0]] || ''} ${acknowledgeLaundryMessage} ${connection} ${acknowledgeDishesMessage}`
    }
  }),
    Homey.logic.updateVariable({
  id: laundryAcknowledgedVariable.id, 
  variable: {
    value: true
    }
  }),
    Homey.logic.updateVariable({
  id: dishesAcknowledgedVariable.id, 
  variable: {
    value: true
    }
  }),
])

```

And here are the three flows you need to use it. One for when someone comes home, one for when someone wakes up, and one for when the hallway motion sensor is triggered:

 ![Screenshot 2025-01-21 at 12.43.06](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/2/523301d4f5177721c3a4eae9c98815e2cf92e0d9.png)  
 ![Screenshot 2025-01-21 at 12.44.08](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/9/7/9730821b6ac983d342418a5e24043dc1dd007039.jpeg)  
 ![Screenshot 2025-01-21 at 12.45.52](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/9/095736981ab1dfcb194aea49ba8f4d4b9e0339cf.png)

---

<div class="post-metadata">

**Author:** ![dsdevries](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dsdevries/32/80220_2.png) [@dsdevries](https://community.homey.app/u/dsdevries)\
**Post date:** [January 21, 2025, 11:57am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/3 "2025-01-21T11:57:51Z")

</div>

And maybe it’s also nice to share these:

 ![Screenshot 2025-01-21 at 12.57.05](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/8/2870009d6cffae6541045c3e306edcd18b268d29.jpeg)  
 ![Screenshot 2025-01-21 at 12.57.17](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/4/d/4db0c8302f023747a0e3dbcd206c9789df1e5562.jpeg)

---

<div class="post-metadata">

**Author:** ![FKey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/fkey/32/14793_2.png) [@FKey](https://community.homey.app/u/FKey)\
**Post date:** [January 21, 2025, 6:25pm UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/4 "2025-01-21T18:25:37Z")

</div>

> [@Rik\_Elsenaar](#):
>
> How I Detect Energy Backfeed

I think you better remove the flowcards “als terugleveren is Ja”.

When “huidig vermogen is kleiner dan -50” it is per definition also smaller than -30…

So on power -50 both flows will start running.

3 things can happen:

1 the power was \<-30 before it came \<-50, in that case the -50 flow will pass the flowcard “als terugleveren is Ja”

2 the power was not \<-30 before it turned \<-50 AND the variable from the flow \<-30 was set earlier than the card in the flow of \<-50 is checked. in that case the -50 flow will pass the flowcard “als terugleveren is Ja” (so that card is no use)

3 the power was not \<-30 before it turned \<-50 AND the variable from the flow \<-30 was set _later_ than the card in the flow of \<-50 is checked. in that case the -50 flow will NOT pass the flowcard “als terugleveren is Ja” AND stop.  
Is that behaviour you want?

---

<div class="post-metadata">

**Author:** ![Rik\_Elsenaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rik_elsenaar/32/72066_2.png) [@Rik\_Elsenaar](https://community.homey.app/u/Rik_Elsenaar)\
**Post date:** [January 21, 2025, 7:08pm UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/5 "2025-01-21T19:08:49Z")

</div>

There you make a good point!

---

<div class="post-metadata">

**Author:** ![ZeroSugar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/zerosugar/32/34211_2.png) [@ZeroSugar](https://community.homey.app/u/ZeroSugar)\
**Post date:** [January 22, 2025, 10:52pm UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/6 "2025-01-22T22:52:23Z")

</div>

As we will be getting the new “smart meter” soon, i have thought about a similar system that automates my dryer, dish washer, washing machine, airconditioning and irrigation system during the hours when there is a possibility that due to our solar panels, energy will be delivered back to the grid. Delivering electricity back to the grid must be avoided at all times as the fee we will get, is extremely low.  
But, as i see it, it’s quiet more complicated.  
First of all , the devices should have a priority in which they can be started. Priorities can change during the week when some devices already ran or not. It’s possible that my irrigation already ran , so it shouldn’t run anymore for the rest of the week ( or for a specified number of days).

Secondly, it should be possible at all times to overrule the flow for whatever reason ,eg when my wife is at home and wants to start the dryer instead of the automatic start of the dish washer. Well…she doesn’t know that the dishwasher could start any minute.

One should also take into account the “gauss curve” from your solar system, so you know if it still makes sense to start a device.

I want to do all of this together with the new homey energy dongle, but as i already mentioned…it’s complicated.  
At the end i think this can only be done using homeyscript as this allows more flexibility.

---

<div class="post-metadata">

**Author:** ![Rik\_Elsenaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rik_elsenaar/32/72066_2.png) [@Rik\_Elsenaar](https://community.homey.app/u/Rik_Elsenaar)\
**Post date:** [January 23, 2025, 12:23am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/7 "2025-01-23T00:23:45Z")

</div>

> [@ZeroSugar](#):
>
> First of all , the devices should have a priority in which they can be started. Priorities can change during the week when some devices already ran or not. It’s possible that my irrigation already ran , so it shouldn’t run anymore for the rest of the week ( or for a specified number of days).

Thats a good one! I thought this was easily done with Advanced flows by this is not yet automatic but i will continue to play with this

 ![Scherm­afbeelding 2025-01-23 om 01.20.49](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/4/d46a3dbc080dcb5a49bb5f81e98366ca3b7fe7e9.png)

As you can see in the part in the bottom i tried to automaticly sort the devices and when they run they go to the next one in line.

> [@ZeroSugar](#):
>
> Secondly, it should be possible at all times to overrule the flow for whatever reason ,eg when my wife is at home and wants to start the dryer instead of the automatic start of the dish washer. Well…she doesn’t know that the dishwasher could start any minute.

I made this work with a Notification, That send the question to the person thats at home, do you need this…? I am looking for a way to intergrate maybe a Dashboard in the rooms with these devices so i can start them from there.

You can see that in the bottom part as well in the picture

The only problem is when you go with enough devices the flow will become very big

---

<div class="post-metadata">

**Author:** ![dsdevries](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dsdevries/32/80220_2.png) [@dsdevries](https://community.homey.app/u/dsdevries)\
**Post date:** [January 23, 2025, 3:53pm UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/8 "2025-01-23T15:53:47Z")

</div>

question: How do you guys made it possible to start the appliances? I also use a Fibaro smart plug on my laundry machine and my dishwasher. But with that, I won’t be able to actually start the program. Am I missing something?

---

<div class="post-metadata">

**Author:** ![Rik\_Elsenaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rik_elsenaar/32/72066_2.png) [@Rik\_Elsenaar](https://community.homey.app/u/Rik_Elsenaar)\
**Post date:** [January 25, 2025, 9:07am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/9 "2025-01-25T09:07:07Z")

</div>

When you cut the power of a dishwasher/laundymachine etc. After you started a program. Then when you apply the power afterwards then it resumes its old program.

---

<div class="post-metadata">

**Author:** ![ZeroSugar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/zerosugar/32/34211_2.png) [@ZeroSugar](https://community.homey.app/u/ZeroSugar)\
**Post date:** [January 25, 2025, 8:53pm UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/10 "2025-01-25T20:53:45Z")

</div>

Good question…you’ll need smart devices. My dishwasher, dryer and laundry washer are smart.

---

<div class="post-metadata">

**Author:** ![Rik\_Elsenaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rik_elsenaar/32/72066_2.png) [@Rik\_Elsenaar](https://community.homey.app/u/Rik_Elsenaar)\
**Post date:** [January 25, 2025, 9:09pm UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/11 "2025-01-25T21:09:24Z")

</div>

No you dont actually, the dummer the better, if you look at my flow on top, i preset the program and then the Fibaro switch knows when that is, (if its above 10 watts) then it automatically turns of

When i power back to the grid, then the Fibaro switch turns on. And the program automatically resumes

---

<div class="post-metadata">

**Author:** ![Rogier\_Verheugen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rogier_verheugen/32/77406_2.png) [@Rogier\_Verheugen](https://community.homey.app/u/Rogier_Verheugen)\
**Post date:** [January 25, 2025, 9:15pm UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/12 "2025-01-25T21:15:47Z")

</div>

I have the dishwasher just as I want. I also made it smart with a Fibaro smart plug like @Rik_Elsenaar . The flow works perfect for us. And it is +20 years old.

---

<div class="post-metadata">

**Author:** ![dsdevries](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/dsdevries/32/80220_2.png) [@dsdevries](https://community.homey.app/u/dsdevries)\
**Post date:** [January 26, 2025, 8:43am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/13 "2025-01-26T08:43:58Z")

</div>

Thank you for the tips. That is amazing, I will try it out on my dishwasher. I don’t have solar panels (yet) but I wan tot see if I can have it run on the 3 cheapest hours.  
This does work only on the dishwasher of course, the washing machine doesn’t do this right?

---

<div class="post-metadata">

**Author:** ![Rik\_Elsenaar](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rik_elsenaar/32/72066_2.png) [@Rik\_Elsenaar](https://community.homey.app/u/Rik_Elsenaar)\
**Post date:** [January 26, 2025, 8:59am UTC](https://community.homey.app/t/how-i-made-my-dishwasher-and-washingmachine-smart/128438/14 "2025-01-26T08:59:24Z")

</div>

Youre welcome​:grin:😇

This also works on a laundymachine and dryer. At least with the devices that i currently have!
