Motion Sensor to See if Dishwasher is working

Hello !

Recently I bought one motion sensor (from vibration).

I would like to know if it is possible use it to keep track on my dishwasher !! I wanted something like:

  • Motion sensor is activated
  • Timer 60 minutos
    (while this time is running, the motion sensor is activate in HA)
  • After 60 minutos sensor turns off (in HA) So I know that the dishwasher ended !

I mean 60minutos because my dishwasher takes 60min from start to end!

Does anyone knows how to do it? (coding) :smiley:

thanks

Actually, I would go for a metering power socket, like the TP-Link HS110 and use power consumption as an indicator. My dishwasher uses different times from 3+ hours (in ECO mode) to 30mins (in Quick Clean mode).

I really wanter to use the motion sensorā€¦ is more affordable and the result would be the same for me!! I donā€™t need to know the power consumption because the machine always use the same power consumptionā€¦ so if I have to use it anyways, whatā€™s the point of knowing the power consumption?

Using power consumption allows you to profile what the machines actually doing at any given time and in IMO is a much more robust way of doing things @philhawthorne has a great write up.

I dont mean to be rude but the OP has said he doesnt want to use a power monitor. Instead of trying to force them down a path which you think is superior (which may or may not work for them, i know it wouldnt for me my dishwasher is built in and hardwired as a fused spur) we should try and help achieve their goal within the bounds that they have set.

@attackk You may get more help if you say what you have done so far.
For example you might want to include information such as,

  • what kind of sensor is it
  • how is the sensor attached to the device
  • have you already got it setup in Home Assistant

Have you read the docs on automations?

2 Likes

The sensor will be the Aqara motion sensor !! And I wanted to stick it on the left side of the washing machine !

I donā€™t know very well how to code, so I was looking for some project similar to time, so then I can adapt it !!

@attackk Although you set your boundaries by wanting to use a motion sensor, i think that a power socket is just as cheap as an aquara motion sensor and, in this case, more reliable.
Iā€™m not sure how stable your dishwasher is, but the motion sensor could be triggered by a truck passing by in the streets or just by walking along the dish washer.

2 Likes

Yeah but to use SONOFF I have to rewire and work stuff I donā€™t know about !!! Like I said Iā€™m totally new here !

I really want to use the motion sensor, also because I already bought it (its on my way from china lol)

Have you already figured out, if and how to read this sensor by Home Assistant? Is it ZWave or something?

1 Like

The box says it requires the gateway, so I assume it is the one listed as supported here https://www.home-assistant.io/components/xiaomi_aqara/

However I think the first post logic looks incorrect.

So tell me: do you want to assume the dishwasher is on when the vibration sensor detects vibration? Or do you want to assume it finishes exactly 60 minutes after it starts vibrating?

About this post, Iā€™m too interested in monitoring the washing machine.
Owning already a xiaomi gateway, the idea of using a vibration sensor is for me likable, because I donā€™t need to know the status of the dishwasher machine and it is surely a lot more affordable than a power socket with monitor capabilities.
But I see the problem in monitoring vibrations, the sensor could register false positives.
My idea would be to monitor if the vibration is present for, say, a minute, or if in consecutive checks at different moments from the first it is still vibrating.
Could it work?

Take a look at the sensors in the utility section, they do all sorts of filtering.

Resurrecting this thread.

Like the OP, I have a built-in dishwasher so using power monitor would involve rewiring, etc. which Iā€™m not interested in doing.

I also have a aqara vibration sensor and Iā€™ve already got one of them in use for alerting when we get mail.

Iā€™ve mounted this one to the underside of the dishwasher and in testing with the first run, it does register some vibration but only for a minute or so then not. I use Deconz rather than ZHA so seeing the sensitivity will be a bit more complex but this evening Iā€™ll try changing it through the REST API.

However, Iā€™ve discovered an interesting bonus of the aqara sensor: it registers temperature. I can see in history graph that the temp went from room temperature to 100-105. I havenā€™t looked up the rated operating temperature of the sensor but I have other aqara sensors that survived 105-110 degrees F this past summer so Iā€™m not too worried.

Obviously, it will take a while for things to cool after the dishwasher goes off but I figure I can create an automation that uses a combination of vibration and temperature to get a relatively decent idea of when the appliance runs.

My interest is more about matching appliance activity against power consumption so this looks workable. Obviously, a power monitor would be the best and itā€™s what I will likely use for other appliances but I thought I would share this in the event anyone else had similar constraints and needs.

Motion and/or vibration is a more generic event that does not proxy well for ascertaining if the dishwasher is running or not. You might want to consider draw of current as a better proxy for dishwasher operational state using one of these listed below. You can usually get a good deal on eBay or AliExpress if you are persistent and both of these devices can be flashed with Tasmota and ESPHome:

Good luck with your project!

If you read his post, there is a problem accessing the wiring/plug.

I did and nothing was ever said about wiring not being accessible, he is just being amateurish. And nothing wrong with that either as I was one myself not too long ago :sunglasses:

ā€œI really wanter to use the motion sensorā€¦ is more affordable and the result would be the same for me!! I donā€™t need to know the power consumption because the machine always use the same powerā€

ā€œYeah but to use SONOFF I have to rewire and work stuff I donā€™t know about !!! Like I said Iā€™m totally new here !ā€

ā€œI really want to use the motion sensor, also because I already bought it (its on my way from china lol)ā€

Hello, I found this post looking for how to turn my dishwasher smart without having to touch the dishwasher installation, so an external sensor would be ideal, searching on amazon I found this:
https://www.amazon.com/Aeotec-SmartThings-multiusos-temperatura-perfecto/dp/B095TPSQ3S?ref_=ast_sto_dp
It is a Zigbee sensor that exposes 3 sensors to Home Assistant: Door Opening, Vibration and Temperature.
I tend to complicate things a bit but Iā€™m very happy with the end result, so I decided to share my process:

I created a helper (input_boolean.dishwasher_is_washing) that tells me if the dishwasher is washing based on the information from the vibration sensor because the vibration sensor turns on and off frequently during the wash cycle and this was the way I found to solve this problem.

Then I created an automation that turns the helper from the previous step on or off, if it detects vibration for more than a minute then the dishwasher is washing, if it stops detecting vibration for more than 7 minutes then it stopped washing

alias: Define if the dishwasher is washing
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.dishwasher_accelerometer
    to: "on"
    for:
      hours: 0
      minutes: 1
      seconds: 0
    ID: on
  - platform: state
    entity_id:
      - binary_sensor.dishwasher_accelerometer
    to: "off"
    for:
      hours: 0
      minutes: 7
      seconds: 0
    ID: off
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              -on
        sequence:
          - service: input_boolean.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: input_boolean.dishwasher_is_washing
      - conditions:
          - condition: trigger
            id:
              -off
        sequence:
          - service: input_boolean.turn_off
            target:
              entity_id:
                - input_boolean.dishwasher_is_washing
            data: {}
mode: single

Then I created a sensor that determines if the dishwasherā€™s heating element has been activated, what I call ā€œthe heat phaseā€ and for this I used the trend platform:

  - platform: trend
    sensors:
      dishwasher_heat_phase:
        friendly_name: "Dishwasher Heat Phase"
        max_samples: 5
        entity_id: sensor.dishwasher_temperature
        sample_duration: 1200
        min_gradient: 0.001667
        device_class: heat

Finally I created another sensor (input_select.dishwasher_status) that informs me the status of the dishwasher, in my case I chose the following phases: Dirty Dishes, Washing, Heat Phase, Drying, Clean Dishes.
The logic is that if the helper input_boolean.dishwasher_is_washing is activated and the door is closed, the dishwasher is washing. If the dishwasher_heat_phase sensor is on and input_boolean.dishwasher_is_washing is on, then it switches to heat phase, otherwise it switches to Drying.
When the dishwasher_heat_phase sensor is turned off and input_boolean.dishwasher_is_washing is off, it changes to ā€œClean Dishesā€ and remains in this state until the door is opened and then it switches to dirty dishes.
Hereā€™s the automation that updates the status of the dishwasher:

alias: Dishwasher Status
description: ""
trigger:
  - platform: state
    entity_id:
      - input_boolean.dishwasher_is_washing
    to: "on"
    ID: Washing
    from: "off"
  - platform: state
    entity_id:
      - input_boolean.dishwasher_is_washing
    to: "off"
    ID: Deodoraver
    from: "on"
  - platform: state
    entity_id:
      - binary_sensor.dishwasher_heat_phase
    to: "on"
    from: "off"
    id: fasecalor
  - platform: state
    entity_id:
      - binary_sensor.dishwasher_heat_phase
    to: "off"
    from: "on"
    id: terminocalor
    for:
      hours: 0
      minutes: 0
      seconds: 0
  - platform: state
    entity_id:
      - binary_sensor.dishwasher_opening
    from: "off"
    to: "on"
    id: dirty dishes
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              -Washing
        sequence:
          - service: input_select.select_option
            metadata: {}
            data:
              option: Lavando
            target:
              entity_id: dishwasher_condition input_select
      - conditions:
          - condition: trigger
            id:
              - Heat Phase
        sequence:
          - if:
              - condition: state
                entity_id: input_boolean.dishwasher_is_washing
                state: "on"
            then:
              - service: input_select.select_option
                metadata: {}
                data:
                  option: Calor Fase
                target:
                  entity_id: dishwasher_condition input_select
            else:
              - service: input_select.select_option
                metadata: {}
                data:
                  option: Secando
                target:
                  entity_id: dishwasher_condition input_select
      - conditions:
          - condition: trigger
            id:
              - Deyodelavar
        sequence:
          - if:
              - condition: state
                entity_id: binary_sensor.dishwasher_heat_phase
                state: "on"
            then:
              - service: input_select.select_option
                metadata: {}
                data:
                  option: Secando
                target:
                  entity_id: dishwasher_condition input_select
      - conditions:
          - condition: trigger
            id:
              - terminocalor
        sequence:
          - if:
              - condition: state
                entity_id: input_boolean.dishwasher_is_washing
                state: "on"
            then:
              - service: input_select.select_option
                metadata: {}
                data:
                  option: Lavando
                target:
                  entity_id: dishwasher_condition input_select
            else:
              - service: input_select.select_option
                metadata: {}
                data:
                  option: Clean Dishes
                target:
                  entity_id: dishwasher_condition input_select
      - conditions:
          - condition: trigger
            id:
              - Dirty dishes
        sequence:
          - service: input_select.select_option
            metadata: {}
            data:
              option: Dirty Dishes
            target:
              entity_id: dishwasher_condition input_select
mode: single

I hope it can be useful to someone and I apologize in advance if there is inconsistency with the names of some sensors or helpers since I did everything in Spanish and tried to translate it as best as possible into English but there may be errors.

1 Like