šŸ”Œ Detect and monitor the state of an appliance based on its power consumption - V2.1.1 - Updated!

I want to say THANK YOU! I had tried several different ways to monitor the washing machine. All had issues, like false positives, or not being reliable.

This has worked perfectly for me.

david

Merry Christmas, @leofabri! Just ran the wash (yep, a bit late today, itā€™s been that kind of day!) and with the adjustment to 20, it prematurely went off 7 times (one of which was VERY early in, perhaps the first 5 minutes!), so I think I need to move it higher still.

Conveniently enough, today also happens to be the day (monthly - it doesnā€™t usually fall on a Saturday) that I use the ā€œwashing machine cleanerā€ so Iā€™m going to up the number to 30, and see what this second run reveals.

Blessings and joy to you and yours!

I think 45 may be an acceptable solution. I had 2 false positves (one at 28 minutes, one at 1 hour, 12 minutes). I could probably try tuning it more/higher but I think when Iā€™ve got friends in town, taking care of me after surgery, letting them know to ignore the first 2 alerts is easy enough.

Thanks again - do you have a coffee/ko-fi link somewhere?

Edited on 1/7/2023 because I canā€™t make another post because Iā€™ve made the last 3:
What will probably be my last update (unless you should happen to update the code again!) ā€¦ I did end up modifying the delayed job completion duration from 45 seconds to 60 seconds. This time I only had 1 false positive, again at the 1 hour, 12 minute mark. It may be worth noting that it finishes within 10 minutes of that, so Iā€™m not sure what that finally little power push is, but itā€™s enough to make the automation a bit cranky!

Either way, I am very grateful for you, your patience, and your time with this blueprint. I hope you had a fantastic holiday season!

Thanks so much for this automation blueprint!! Do you know of a good lovelace card that I could use on my dashboard using this in some way? Iā€™m not an expert at HAS yet and still learning.

if it can be useful, I wrote a blueprint for general energy control with disconnection and reconnection of electrical appliances.

Well, that part is basically up to the user since Iā€™m not really invested in this aspect. I can give you some examples of how to set up a simple card, but you may still have to play a bit with it to achieve your goal.
This is where you can find the relevant documentation: hassio_appliance-status-monitor/How to use the automation in the UI.md at release/v3.0.0-dev Ā· leofabri/hassio_appliance-status-monitor Ā· GitHub

Hey @chicknlil25, sorry for the delay man. My sincerest hope is that youā€™re recovering well after your surgery and that youā€™re blessed with good health.

The month following the holidays was pretty hectic for me, with a lot of work and unexpected problems cropping up. But, the holidays themselves were enjoyable and I hope you had a good one too!

I understand that youā€™ve been experiencing some false positives with the automation, which can be a tricky thing to get right. If youā€™re still encountering them, increasing the threshold to over 60 seconds might help the system detect when the appliance has finished its job more accurately, but it might slow down the detection of the end of the job by X seconds. If that delay isnā€™t a concern for you, you can adjust the settings and experiment to your liking.

Please donā€™t hesitate to reach out if you need any help, Iā€™m always available to assist. I know itā€™s been a while since Iā€™ve been in the forum and I was a little scared to come back and find people angry and wanting to kill me ahah.

Interesting project! Iā€™ll definitely check if that can be used in companion with this blueprint (ASM)

Havenā€™t had the surgery yet, but thank you nonetheless! I adjusted the threshold to 90 seconds and that seemed to eliminate that last false positive - huzzah! Now Iā€™m trying to work out a script that will alert me on completion (via the script weā€™d previously discussed) to send me a notification via mobile and speakers to swap the laundry over (this part is working) ā€¦ but then if the contact sensor on the washer hasnā€™t been opened, to repeat ā€œharrassmentā€ over the speakers until the load gets swapped. So far, Iā€™ve only managed to have it skip straight to the ā€œharassmentā€ and it doesnā€™t repeat. Iā€™ll get it yet!

What firmware version did they send you? I have three of these plugs that Iā€™m using now.

This automation is great! I just bought a new SpeedQueen TC5 washer which is about as ā€œdumbā€ as an appliance can get, but it does its job well. While it was on order, I was trying to figure out how I could get some type of notification about the wash cycle completion, and your automation took all the guesswork out of it for me. Iā€™m using a Zooz ZEN15 Power Plug with my setup. Running just one cycle with the washer, connected to the power plug, gave me enough data to set the start/finish power thresholds (start:2/finish:1). Since adjusting, Iā€™ve run a few more cycles with no false idles or completions.

image

mine are a bit older so i donā€™t know if it will work for yours:

ZEN15 (ALWAYS CHECK BASE VERSION: this is for 1.04 only) 1.06:
https://www.getzooz.com/firmware/ZEN15_V1_06.zip

I would send them an email, they are pretty quick to respond.

1 Like

Sweet, thanks. All three of mine are already on 1.06 though.

Iā€™m attempting to test V3 as had lots of false positives with V2 but the completion delay timer never starts.

Hey @leofabri ā€¦ Iā€™ve got a script that functions properly if ran independently of your blueprint, but seemed to have stopped too early when your automation went to trigger it. This is the script:

alias: Washing Machine Notifications
sequence:
  - device_id: 9ff133866a16231d6f92933f6bbbdd54
    domain: mobile_app
    type: notify
    message: Alert!
    title: The washing machine is finished.  Time to flip clothes to the dryer.
  - service: script.turn_on
    target:
      entity_id: script.google_home_resume
    data:
      variables:
        action:
          - service: tts.google_cloud_say
            data:
              entity_id: media_player.speakers
              message: >-
                <speak> <break time="2s"/>The washing machine is finished.  Time
                to flip clothes to the dryer.</speak>
            cache: true
  - delay:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  - repeat:
      until:
        - type: is_open
          condition: device
          device_id: 3dcd986900a48ca07d760d068d7f575e
          entity_id: binary_sensor.washer_sensor_contact
          domain: binary_sensor
      sequence:
        - service: script.turn_on
          target:
            entity_id: script.google_home_resume
          data:
            variables:
              action:
                - service: tts.google_cloud_say
                  data:
                    entity_id: media_player.speakers
                    message: >-
                      <speak> <break time="2s"/> The clothes are still sitting
                      in the washing machine. Flip them over to the dryer or
                      I'll keep annoying you!</speak>
                  cache: true
        - delay:
            hours: 0
            minutes: 5
            seconds: 0
            milliseconds: 0
mode: single
icon: mdi:washing-machine

Should I be using a timer helper instead of the delay? Could that be my issue?

Thanks much!!

Hi,
you are right, that timer was never starting! Thank you for spotting this bug. Iā€™ve just committed a couple of fixes that should help to solve the problem.

This is how it should look like now:


This happened because there was a recent change that wasnā€™t meant to be committed immediately but I did by mistake. See the last commit if you want to know what is different.

Now, Iā€™m asking you to copy the new code and paste/replace your appliance-status-monitor.yaml in your VSCode (location: /config/blueprints/automation/leofabri/appliance-status-monitor.yaml).

Please let me know if this solves your issue :slightly_smiling_face:

I donā€™t see any problem with that script, odd!
I think the problem might be this: Scripts - Home Assistant

So, in the automation, could you please make sure that you are invoking the script with the custom action set like this?

service: script.turn_on
data: {}
target:
  entity_id: script.washing_machine_notifications 

This way, the automation will not disrupt the scriptā€™s execution.


That works amazingly now, thank you. Here is the screenshot of my data.

1 Like

Thatā€™s great to hear! Please keep me updated if you notice anything else. In theory, the rest of the logic has been tested long enough haha

It wasnā€™t set up like that previously, so I made the adjustment. As I think youā€™ve learned by my (many) comments in this thread, laundry day is Saturday, so I will update you again at that point!

Thanks much as always for your continued help!