Thanks for your quick reply!
I donāt have any Global Condition filled in⦠So it must be something else!?
Could you please provide us your YAML of the automation? This YAML code are the settings you have selected in the automation so I can help. To do this go into your automation, top right 3 dots, Edit in YAML, copy all the code, come back to the forum and in your reply at the top tool bar click on ā</>ā and paste code in there.
Blacky
Thanks again!
See YAML below. (edited the device idās with xxx)
When I read the YAML Iām thinking, is it because Iāve used the default settings? Because I donāt see i.e. the Power Settings.
alias: Wasdroger - Notificatie
description: ""
use_blueprint:
path: Blackshome/appliance-notifications.yaml
input:
power_sensor: sensor.wasdroger_power
include_end_notify: enable_end_notify_options
end_notify_device:
- 6d2c6914xxx
- f53633f33xxx
end_message_title: Wasdroger
end_message: De wasdroger is klaar!
power_consumption_sensor: sensor.wasdroger_energy
end_message_cost: Kosten
include_power_tracking: disable_power_tracking
start_title: Wasdroger
include_time: time_disabled
include_start_notify: enable_start_notify_options
start_notify_device:
- f53633xxx
start_message: De wasdroger staat aan.
Thanx for your great blueprint once again!
Any chance of getting FAQ for telegram notifications on End event with duration and watchdog notifications as well? Thanx!
Everything looks good.
The only thing I can see is your sensor.wasdroger_power. You need to make sure that this is the entity that reads the actual watts when the machine turns ON. Click Here for the FAQ on how to set this up.
Blacky
I donāt use telegram but you would add custom end action > notify telegram > then follow the inputs.
your message would be something like this just need to enable duration.
action: notify.telegram
metadata: {}
data:
title: Washing Machine
message: >
Your end message here
{% if include_duration_tracking == "enable_duration_tracking" %}
{% set end_time = now().timestamp() %}
{% set duration = (end_time - start_time) | int %}
{% set hours = (duration // 3600) | int %}
{% set minutes = ((duration % 3600) // 60) | int %}
{% set seconds = (duration % 60) | int %}
{{'\n'}}Duration {{ '%02d' | format(hours) }}:{{ '%02d' | format(minutes) }}:{{ '%02d' | format(seconds) }}
{% endif %}
As I said this may or may not work as I donāt use it so I canāt event see or test it.
You then would add a custom watchdog action to telegram as well.
Make sure you enable both duration and watchdog.
Blacky
Great! Thanx for duration notification script - i will give it a try this weekend and give feedback.
And speaking about watchdog - may be you have a sample code for that as well? Or there is nothing to edit - it just sends custom script without error description? Because there are no key-words in blueprintās description to insert them in notification script like the ones you gave in Battery level blueprint - where i managed to do everything on my own lol
Thanx a lot!
No problem. For your watchdog you will have to enable it and set the time frame. Then in the custom actions just add an action to the watchdog to send yourself a telegram. Just add the title and message directly in there.
Blacky
Firstly, thank you for creating this blueprint, itās been great to use. Iāve been using it without issues for a while now, but I recently tried to change my end_custom_actions
to include a sequence to call Google Gemini to get a different notification over the speakers each time, however, after making this change Iām getting an error in the logs about a variable not existing
Logger: homeassistant.components.automation.drying_finished_v3_0
Source: components/automation/__init__.py:663
integration: Automation (documentation, issues)
First occurred: 7 May 2025 at 13:10:43 (5 occurrences)
Last logged: 19:11:05
Error rendering variables: UndefinedError: 'notificationMessage' is undefined
As far as I can tell the YAML is correct, and using the same sequence in an automation that doesnāt use the blueprint works fine. I found that tmakowka had a similar issue before (š³ Appliance Notifications & Actions - Washing Machine - Clothes Dryer - Dish Washer - ETC - #347 by tmakowka), but I couldnāt see a follow up that showed how to fix it. My YAML looks like this
alias: Drying finished v3.0
description: ""
use_blueprint:
path: Blackshome/appliance-notifications.yaml
input:
power_sensor: sensor.dryer_current_power
running_dead_zone: 61
start_time_delay: 2
end_appliance_power: 10
end_time_delay: 5
include_start_notify: enable_start_notify_options
include_end_notify: enable_end_notify_options
end_message_title: Dryer
end_message: Dryer has finished
include_power_tracking: disable_power_tracking
include_custom_actions:
- enable_end_custom_actions
include_time: time_enabled
after_time: "07:00:00"
before_time: "22:00:00"
end_custom_actions:
- metadata: {}
data:
message: Dryer has finished
target:
- Kitchen speaker
action: notify.google_assistant_sdk
enabled: false
- sequence:
- action: google_generative_ai_conversation.generate_content
metadata: {}
data:
prompt: >-
You need to generate a short, funny, family friendly
notification (there are young children around) informing the
household that the dryer has finished. Keep it nice and short,
and don't include any emoji.
response_variable: notificationMessage
- action: notify.google_assistant_sdk
metadata: {}
data:
message: "{{ notificationMessage.text }}"
target:
- Kitchen speaker
start_title: Dryer
start_message: YES! Another load is Drying
Any pointer on how to fix this would be great
As is usually the case, after posting that I wondered if it is possible to trigger another automation as a custom end event, and have that second automation just trigger the AI/TTS, and it worked, so I now have double the automationās, one using your blueprint, and another with just the following in it
alias: Dryer AI notification
description: ""
triggers: []
conditions: []
actions:
- sequence:
- action: google_generative_ai_conversation.generate_content
metadata: {}
data:
prompt: >-
You need to generate a short, funny, family friendly notification
(there are young children around) informing the household that the
dryer has finished. Keep it nice and short, and don't include any
emoji.
response_variable: notificationMessage
- action: notify.google_assistant_sdk
metadata: {}
data:
message: "{{ notificationMessage.text }}"
target:
- Kitchen speaker
mode: single
And in the blueprint end_custom_actions
I just have the following
end_custom_actions:
- action: automation.trigger
metadata: {}
data:
skip_condition: true
target:
entity_id: automation.dryer_ai_notification
So what happens when you just use the working action in the blueprint?
I have also disabled the start and end notifications as you had no selected devices shown in your YAML.
alias: Drying finished v3.0
description: ""
use_blueprint:
path: Blackshome/appliance-notifications.yaml
input:
power_sensor: sensor.dryer_current_power
running_dead_zone: 61
start_time_delay: 2
end_appliance_power: 10
end_time_delay: 5
include_start_notify: disable_start_notify_options
include_end_notify: disable_end_notify_options
end_message_title: Dryer
end_message: Dryer has finished
include_power_tracking: disable_power_tracking
include_custom_actions:
- enable_end_custom_actions
include_time: time_enabled
after_time: "07:00:00"
before_time: "22:00:00"
end_custom_actions:
- action: google_generative_ai_conversation.generate_content
metadata: {}
data:
prompt: >-
You need to generate a short, funny, family friendly notification
(there are young children around) informing the household that the
dryer has finished. Keep it nice and short, and don't include any
emoji.
response_variable: notificationMessage
- action: notify.google_assistant_sdk
metadata: {}
data:
message: "{{ notificationMessage.text }}"
target:
- Kitchen speaker
start_title: Dryer
start_message: YES! Another load is Drying
Does this work? It would be nice to know if someone else reads this post.
Blacky
I just discovered this blueprint. Thanks so much for doing this. Itās very cool :).
One thing I would like to do is to track cumulative run time of the appliance (our clothes dryer in my case). I thought it would be nice to create a reminder to clean the dryer vent after X hours of operation. I know I could do this based on the cycle count but Iād rather use runtime. I donāt mind doing this in a separate automation or node red flow. I think all I would need is for the duration to be exposed outside of the automation. I think it could work similarly to the cycle counter: provide the automation a helper that the duration is added to when the cycle ends.
Of course, if something like this is already supported and I missed it, sorry and let me know :). And if it was already discussed, sorry again :). I searched but the thread is pretty huge so I could have missed that too.
Thanks!
Your welcome.
That make total sense. We already have it set up to add this in and I can see it would be nice to know how many hours the machine has run at a cumulative total and also have a reset service reminder hours. Thanks for reaching out⦠I will add it to the development list so keep an eye out for update.
Blacky
Oh, awesome :).
I guess you can decide the best way to implement this. One would be the way I described. I guess the other one would be to support the service reminder being based on cycles or total duration (selectable). Or maybe there could be multiple service reminders. I can imagine wanting one type of service reminder for cycles and another for duration. But, that could be overkill too. I will say that I would be interested in keeping track of total duration as well as the duration between vent cleanings. As I said, if the blueprint supports an accumulated duration, I can do an automation to give me what I want.
Yeah I have to work it out. The easy part is the code, the hard part it working out the best way the UI will handle it so it easy to understand. The blueprint doesnāt currently accumulate the duration but I an make that happen, easy done.
We do it all in the blueprint with just a UI tick and entity input.
We will have it keep track of total hours run and we will also have a service hours that will need to be reset once done just like cycles.
Blacky
Beautiful
Thanks
Watts your appliance up to, youāre always in the know from start to finish!
New Features
-
Runtime Tracking
Records the total runtime of your appliance by updating a text helper each time it completes a full cycle. -
Time-Based Service Reminder
Notifies you when a service is due based on the total time the appliance has been in use since the last service.
Bugs Fixed
- Realigned the logic to update cycle count, cycle count service reminders when time restriction stops the end notification.
If you like this blueprint? Consider hitting the button in the top post
If you like my blueprints, and would like to show your support or just say thank you? Click Here
Enjoy
Blacky
Hi Blacky, my son left open the freezer door yesterday for a couple of hours. The alarm was not heard from the garage so I thought, time to setup a watchdog for this using your blueprint!
Iām missing a bit of explaination on how the watchdog works though. The watchdog should send a message if a deviceās cycle takes longer that the watchdog_timeframe setting right? But how do I select the devices the notification is send to? I find this option for the start_notify and end_notify menu option but the watchdog is missing this. Where do I define the devices the watchdog sends its notifications to?
I created an automation based on v2.9.
I set it up like this:
id: '1747214346428'
alias: Watchdog Freezer
description: ''
use_blueprint:
path: Blackshome/appliance-notifications.yaml
input:
power_sensor: sensor.garage_freezer_power
end_time_delay: 5
include_watchdog: enable_watchdog
watchdog_timeframe:
hours: 0
minutes: 15
seconds: 0
watchdog_title: ā ļø Freezer Watchdog
watchdog_message: Uh-oh! The freezer door might still be open!
my freezer takes around 80watts for approx 20 minutes before being idle at 0 watts for another 30 minutes. So right now I expect the watchdog to trigger every cycle (as i set the timeframe to 15 minutes), just for test. Iāll change the watchdog timeframe to 30+ minutes later.
edit:
when looking at the trace of my last run I also see this:
trigger: numeric_state
id: t0
entity_id: sensor.garage_freezer_power
above: 10
below: '24000'
for:
minutes: 1
why is there a below: ā24000ā here? I did not set this up?
and another edit:
I went to the trace and found the action that should have send the notification:
alias: Send a notification to each device
repeat:
for_each: []
sequence:
- action: notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}
data:
title: ā ļø Freezer Watchdog
message: '{{watchdog_message}}'
data: '{{ watchdog_message_data }}'
the āfor_eachā that probably? should contain the device list is empty. So no notifications can be send?
I need to set a below so it is hard coded.
The watchdog uses the end notify device.
Question, would it be a good idea to put a contact sensor on the freezer door? You then could use the State Notifications & Actions blueprint. If the door is open for 5 to 10 min then be notified.
Blacky
definitely an option and I appreaciate the suggestion, but a (zigbee) sensor uses a battery and costs me 10-20 euros. That would take a lot of wasted kWh before I got my money back on a hopefully incidental not properly closing of the door :). Iāll try the end message device list and see what happens. Perhaps you can add it in the watchdog automation description.