OK, since you like data ā¦ Hereās some data on the end of the last cycle. I increased the power monitoring precision to include a decimal point, so it no longer rounds to the nearest Watt.
(1) End of the cycle, per dishwasher
(2) 0.9W as measured by power monitoring
(3) 0.8W as measured by power monitoring
(4) 0.7W as measured by power monitoring
I will have to try to replicate this across multiple runs, but seems like I may be able to use ābelow 0.8Wā as my completion condition. I will test it and report back.
Great! Thereās not much room for error there, but if itās consistent, itās perfect.
Itās nice to hear that Iāll have one less problem to deal with! Hahaha
Would be nice to be able to set āquiet hoursā for the TTS output. Accidentally had speakers on way too loud and was rudely awakened by screaming voice staring that the dishwasher was done.
Hi @leofabri ā¦ Iām using this with my washing machine, and because the blueprint/automation indicated not to use TTS/notifications with it, I had created a separate automation that I thought would trigger on laundry completion, to let me know I needed to flip the clothes to the dryer. Iāve run the laundry twice since adding your blueprint, and this automation has not fired once. Did I miss something here?
alias: Washing Machine Notifications
description: ""
trigger:
- platform: state
entity_id:
- input_select.washing_machine_state_machine
to: job_completed
for:
hours: 0
minutes: 0
seconds: 30
condition: []
action:
- device_id: xxxxxx
domain: mobile_app
type: notify
title: Alert!
message: 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.cloud_say
data:
entity_id: media_player.speakers
message: >-
The washing machine is finished. Time to flip clothes to the
dryer.
cache: true
mode: single
Love this blueprint! I would like to request a small change if possible. Currently it requires a switch that can be turned on/off, but living in the US and having a 240v dryer, i have not been able to find any plugs that work for that setup. Instead i use a current meter to tell if the dryer is working. I have gotten around the requirement by choosing a power switch that always remains on, but it would be nice to be able to potentially ignore the on/off requirement?
Actually, it should be easier than that. Instead of making a separate automation, you could use one of the custom actions to call a script.
In that case, it would look something like this:
# This is your script
alias: Washing Machine Notifications
sequence:
- device_id: xxxxxx
domain: mobile_app
type: notify
title: Alert!
message: 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.cloud_say
data:
entity_id: media_player.speakers
message: >-
The washing machine is finished. Time to flip clothes to the
dryer.
cache: true
mode: single
icon: mdi:washing-machine
Then in your main automation, you just have to call the script in the according section āWhen a job cycle is finishedā:
# This goes into your configured automation
actions_job_cycle_ends:
- service: script.washing_machine_notifications
data: {}
Why services
Calling an external script unbundles the main automation from the services it calls. This way, even if your actions take a long time to execute, they should work just fine. Once a script is called, the main automation ādoesnāt careā about how long it takes to complete. To my understanding, services work like independent asynchronous blocks (this is why we have multiple modes of execution - Scripts - Home Assistant).
The behavior would instead be different if you placed time-consuming login in the actions section. In that case, the automation would synchronously try to execute everything in that block of Actions, and thatās not granted to happen since ASM is stateless and is free to stop/reboot whenever necessary.
Your solution likely doesnāt work because you have to indicate the state you are coming from:. In the near future, Iād likely make some sort of sub-blueprint that is tested and simplifies that kind of implementation.
Yes! I was thinking about this the other day. The automaton still works if you fake the switch by replacing it with a helper, but Iād like to have the option to disable that requirement.
Itāll ship in the next version, but these days have been crazy and development is taking longer than I expected
If I could have one wish, is that this blueprint will include also āDelayed Job Started durationā so that a job would be counted as started if the power consumption is over over a threshold for a set period of time, that would allow me to prevent false positive in my washing machine cycle, see my power consumption:
@chicknlil25 Nice to hear that your initial problem was solved.
It looks like you need to fine-tune your automation. The procedure can differ a lot from appliance to appliance, and most of the time this step is not even necessary (this is why Iām still trying to document this process and make it easier).
It looks like your appliance intermittently uses less power than the finishing power threshold causing the behavior you described.
You should use the āDelayed Job Completion durationā (delayed_job_completion_duration) option. I would set it to 10 seconds and see if the problem is solved.
Iām suggesting 10 seconds because it looks like that, on average, your ājob_completedā periods (the ones in light blue) last for approximately 6 seconds. Please be mindful that mine itās just an estimate! I had to count the pixels of your graphs for that
Feel free to change this value to something different if you want to, but read the warning, and consider that a smaller value is better.