It's not necessary to convert to timestamps anymore... The washing machine completed its cycle {%- set seconds = (now() - states.sensor.washer_status.last_changed).seconds -%} {%- set hours = seconds / 3600 -%} {%- if hours == 1 -%}
Beware of breaking changes. As of 2022.6.3 the mqtt configuration displayed at 02:45 is no longer valid and should be changed to: mqtt: sensor: # MQTT Sensor for Washing Machine Status. - name: "Washer Status" state_topic: "house/washer/status" - name: "Washer Last Complete" state_topic: "house/washer/time_complete" - name: "Washer Last Emptied" state_topic: "house/washer/time_emptied"
I have something similar on my treadmill that reminds me to use it. The treadmill automation keeps track of how many days in a row I've used it. It tells me "Congratulations that makes X days straight."
Having read through your config, I am now totally re-writing mine. Yours is so neat - proper config jealousy here! I'm now using the packages folder idea. That's a great addition and it's so much easier to manage! So pleased I found your channel. Thank you :)
I have something like this, but I took a slightly different approach. I've created a sensor "washer_status" which determines the status by the consumption. I used "delay_on" and "delay_off" since our washer hit 0 watts near the end of the cycle, but then uses a couple of watts to complete the cycle. This way, if the consumption is below 3 watts for 30 seconds, the washer is done. And at around 5:58 you can combine those two conditions (states). Sometimes I write my automations full (no shorthands) because I think it is easier to read. If this is the case in your automation: I didn't say anything 😊 Thanks for the video, a lot of useful information 😊
Can you elaborate on how you use delay_on and delay_off? Throughout its cycle, my washer drops to just a few watts many times, sometimes for a couple of minutes at a time. So the only way I can think of to reliably define the end of the cycle is a low wattage that lasts for more than a few minutes. I'm trying to figure out how to code this.
You triggered me to check my washer and dryer, I've been contemplating using an ESP32 to "visually" monitor the indicators on my dumb machines to determine where they are in their cycles. I have a "time left display" on the washer so with a bunch of light detectors I could decode that without opening and tinker with the internals of the machines. I have never worked with Arduionos, Raspberry PIs, ESPs, and such but I did do some professional electronic design in the late 80s. Could be fun to revive that part of me 😁
I would love to see an automation config file full of your "jarvis-isms" . Not everyone is great at creative writing, improvising or thinking/speaking in someone elses words.
Not as of yet. Any voice interaction starts with Amazon or google speakers in the form of custom voice commands used with routines that call home assistant scripts. Jarvis is primary Amazon Polly TTS along with some complex automations that kick off based on various context. In some cases Jarvis prompts us with a question using functionality from the alexa media player integration.
I did mine stupid simple... Sengled zigbee power plugs... Triggered by turning one on. They're normally off. Turning one on starts an appropriate timer, turns off outlet, notify, (speech and phone). Power monitoring is available but unnecessary for this. I can schedule washing by placing detergent in a detergent cap, placing it where the water will flush it when filling. Then I can schedule it or start it remotely... Keep it simple, Right???
Thanks for the inspiration. I think I will do this slightly differently. The concept. Put a vibration sensor on both washer and dryer and put the contact sensor on the dryer. Start the sequence when vibration is detected on washer. Start notification loop when vibration has stopped for X minutes. Interrupt loop when vibration starts on dryer. Start a new notification loop when vibration stops on dryer. Interrupt loop when dryer is opened. No need for monitoring power. It also solves the use case where someone removes clothes from washer but gets distracted before starting the dryer. Of course it also keeps us from forgetting about clothes that are dried and getting wrinkled because we haven't unloaded them.
Looks like your using a EcoLink contact sensor on your washer door. Do you recall how you got that into Home Assistant? I move from SmartThings and it's being troublesome to rejoin a new Z-Wave network. Do you remember how you reset it ?
Typically when I needed to reset I either held the little button inside when I put the battery in and if that didn’t work I just popped the battery in and out 3-4 times. It sure what would trigger it. But was always looking for the light to start flashing.
I haven't seen a single video on UA-cam on adding custom sounds to notifications, I have stumbled onto how to do it and thought I'd suggest that you make a video on it. I have notifications for every single external door in my house and both garages, but wow, having to always look at the phone since it's the same sound effect for all is very annoying. In the notification automation, under the "Data" field, simply add "sound: US-EN-Alexa-Patio-Door-Opened.wav" (without the quotes), and do the rest in the app config on your mobile device. You can also add your own from downloaded wav files, or even record your own. Perhaps everyone already knows about this and I just figured it out and am behind, but seems like there's got to be other that want this. Anyway, that's my video suggestion.
My automation is power < X for 15 mins then turn off the switch and start the automations. Saves quite a few bucks in the long run, as Idle devices still suck power. The switch has a button on it so it's just another button to press when setting up the load. The 15 minutes means if I hear the beep I can cycle the load and put another one in if needed before the power gets cut.
Someone may have said this, but yet another way to do this: If washer stops and dryer doesn't start, alert. I don't know if they make a switch for a dryer plug, but if you're using ct's it works (iotawatt, or something)
Another approach to knowing when to move the clothes to the dryer would be checking if the washer is “complete” but the dryer isn’t “running”. Once the dryer starts, the washer is set to “empty” as long as it isn’t “running” with the next load. The dryer stop and the washer is still only “complete” you would get new notification such as “Stop writing such complex automations and so some do some manual work!”. ;)
its a good idea, but folks that have an electric dryer might not have an easy way to know if it is running since it is more difficult to monitor 220 power. However, this video threw out the idea of a vibration sensor on the dryer... hmmm... that could work.
Hi Jeff, Great videos, I'm just starting to automate and this helps a lot. In your videos most of your devices have nice names such as sensor.washer_switch_electric_consumed_kwh and binary_sensor.washer_door where mine have sensor.sonoff_10013be1a6_power and binary_sensor.switch1. Is there a way to rename them? Also sometimes you use in yaml " - id: dishwasher_running" and " - id: e1cb2640-0423-11eb-adc1-0242ac120002 " why is that?
If you go to your device list under devices and services you can find your device head to the pencil icon next to the name and click on that. If you put a name there it will ask if you want to update the entities. And as long as you don’t have any entities with that name it will rename them for you. And as far as the id in the automations I have started using guids because I have heard it was better in terms of how home assistant handles the automations. Not sure it is true I just started adopting that pattern. The id just has to be unique and the guids are prevent me from accidentally using the id in multiple locations. I use an extension in visual studio code that just drops one in so it’s unique everytime. Even if I accidentally creat the same automation since I am typically writing mine in yaml and automations are all over the place.
I'm fairly new to Home Assistant and going through some of your videos now, and they're very helpful in improving my understanding of HA... thank you! Curious... why do you use MQTT sensors in this case vs. template sensors? Wouldn't template sensors be simpler in the sense that you wouldn't need automations?
I use the MQTT sensors so save the current state. Template sensors, and sensors in general don't really save the state. They expect the state to constantly change, so it only shows the current state for a period of time, and then will eventually just show nothing or unknown. MQTT allows me to create a sensor with a value that is persistent even through reboots. In that case it really isn't a sensor, but more of a text help, but I use sensors in my own way. hahah
I think your best bet is going to be a vibration sensor. I think Smart Home Solver showed off a device also that goes in your dryer that could give you that data as well. I think the is probably going to be your best bet there.
Sorry one more question! Is it possible to restart just the packages folder or do I have to keep restarting the whole of home assistant each time? Thanks :)
Nope. You don't even need to restart. You can just head over to configuration, server controls, and if your have enabled advance mode on your profile you will have a list of domains like automations, scripts, input booleans, template entities, and if you click on those it will reload that part of your config. For a packages, you might have click multiple but you could just reload the parts you changed. All without restarting. There are some things like adding new custom integrations, or non template sensors that still require restart, but most you can just reload the config.
I don’t know if this would work but maybe a pressure sensor installed under the washer to detect the weight of the machine could assist with detecting if the washing has been removed or not?
If you want to automate the dryer in a similar fashion, take a sonoff temp sensor and put the tip of the probe between a couple folds on the dryer sock. Now I know when the dryer is running based on the temp sensor. No more wrinkly clothes because I forgot to empty the dryer promptly.
Have you had any issues using Packages with duplicate Script: declarations? I think that's what's up with mine? In config.yaml I have the scripts: !include scripts.yaml as yours does, then in packages (which is included in config) I have a similar set up to yours for appliances.yaml. Check config comes back ok, but on a reboot I get errors in the notification window. Invalid config for [script]: expected a dictionary. Got OrderedDict Is there anything I should have done to allow more than one script: to be used?
@@SlackerLabs Thanks for the reply! I went through and checked all the files. Turns out the automation.yaml (in the config root) had a name with quotes, eg: '344254632212'. Once I removed that and changed it to a string (turn_off_lounge) it worked perfectly. I think that was left over from when I was using the GUI. Time to continue with the washer script!! Thanks again :)
smarthome tech built into appliances is 1) cloud based and 2) outdated before you buy it. I have smart appliances and the integrations are horrible. I only use them because they are there. Don't buy the appliance because its smart. Buy the best appliance and its smart, so be it
@@justindunn7467 this is solid advice. And honestly some of the built in smart home tech gives you the same info as a power meter switch and contact sensor just using the cloud.
I have a smart Samsung washer and dryer and they work perfectly with Home Assistant. I have them on an isolated network and fireblocked on my pfsense router so they don't phone home. It works even offline and has energy, status, time, and a switch to turn off and on
Way too complicated, I use attributes on entities from Sonoff S31. When wattage goes below 6 watts it sends me a notification. IE (true template) trigger. Weird it can take up to 25 seconds to great trigger. I stay away from the complexity as much as possible.
I was just thinking about this the other day. I was going to put a contact sensor on the door, and as long as the washer door was never closed except when running, it would use a delay once closed based on what I timed the cycle to be. Was going to do the same with the electric dryer. A friend tried the vibration sensor on his dryer and it worked less than half of the time. Though that could have just been a low quality sensor. Downside to using the door sensor on the dryer is that it's habit for everybody to close once empty, so that's something to have to work past. All this to say, great video! I'll be picking up a metering plug for the washer to avoid the having to use a delay, it would have to be delayed for the longest washer cycle..inefficient.
It's not necessary to convert to timestamps anymore...
The washing machine completed its cycle
{%- set seconds = (now() - states.sensor.washer_status.last_changed).seconds -%}
{%- set hours = seconds / 3600 -%}
{%- if hours == 1 -%}
Yep. Good point. I just haven't gone through and refactored my config to keep up with the changes.
more info please!
Is there a difference in using "{%- set" instead of "{% set"?
Nope. The - isn’t needed on the set one. Just me and my copy paste.
Beware of breaking changes. As of 2022.6.3 the mqtt configuration displayed at 02:45 is no longer valid and should be changed to:
mqtt:
sensor:
# MQTT Sensor for Washing Machine Status.
- name: "Washer Status"
state_topic: "house/washer/status"
- name: "Washer Last Complete"
state_topic: "house/washer/time_complete"
- name: "Washer Last Emptied"
state_topic: "house/washer/time_emptied"
This comment should be pinned.
I have something similar on my treadmill that reminds me to use it. The treadmill automation keeps track of how many days in a row I've used it. It tells me "Congratulations that makes X days straight."
Awesome use case. I should do that!
@@SlackerLabs I'm sure the reminders "Jarvis" gives you will be way more entertaining then mine. 🤣
Having read through your config, I am now totally re-writing mine. Yours is so neat - proper config jealousy here! I'm now using the packages folder idea. That's a great addition and it's so much easier to manage! So pleased I found your channel. Thank you :)
I have something like this, but I took a slightly different approach. I've created a sensor "washer_status" which determines the status by the consumption. I used "delay_on" and "delay_off" since our washer hit 0 watts near the end of the cycle, but then uses a couple of watts to complete the cycle. This way, if the consumption is below 3 watts for 30 seconds, the washer is done.
And at around 5:58 you can combine those two conditions (states). Sometimes I write my automations full (no shorthands) because I think it is easier to read. If this is the case in your automation: I didn't say anything 😊
Thanks for the video, a lot of useful information 😊
Can you elaborate on how you use delay_on and delay_off? Throughout its cycle, my washer drops to just a few watts many times, sometimes for a couple of minutes at a time. So the only way I can think of to reliably define the end of the cycle is a low wattage that lasts for more than a few minutes. I'm trying to figure out how to code this.
Love your content - I am learning a ton from these videos and your config yaml. Sponsored you.
Thank you very much!
I just use watts meter - enough to warn me when it's done :) But this is excellent if you want to expand and get more info back.
watts meter is not sarcastic enough. hahaha.
You triggered me to check my washer and dryer, I've been contemplating using an ESP32 to "visually" monitor the indicators on my dumb machines to determine where they are in their cycles. I have a "time left display" on the washer so with a bunch of light detectors I could decode that without opening and tinker with the internals of the machines.
I have never worked with Arduionos, Raspberry PIs, ESPs, and such but I did do some professional electronic design in the late 80s. Could be fun to revive that part of me 😁
“Manually update the sensor”…that sounds like some boring stuff
I would love to see an automation config file full of your "jarvis-isms" .
Not everyone is great at creative writing, improvising or thinking/speaking in someone elses words.
Aqara Vibration sensor is not sensitive enough for my washer. I'm curious if you have tested it on yours.
I have not. But I have one and was going to test it.
Is Jarvis using the Mycroft platform?
Not as of yet. Any voice interaction starts with Amazon or google speakers in the form of custom voice commands used with routines that call home assistant scripts. Jarvis is primary Amazon Polly TTS along with some complex automations that kick off based on various context. In some cases Jarvis prompts us with a question using functionality from the alexa media player integration.
I did mine stupid simple... Sengled zigbee power plugs... Triggered by turning one on. They're normally off. Turning one on starts an appropriate timer, turns off outlet, notify, (speech and phone). Power monitoring is available but unnecessary for this. I can schedule washing by placing detergent in a detergent cap, placing it where the water will flush it when filling. Then I can schedule it or start it remotely... Keep it simple, Right???
Thanks for the inspiration. I think I will do this slightly differently. The concept. Put a vibration sensor on both washer and dryer and put the contact sensor on the dryer. Start the sequence when vibration is detected on washer. Start notification loop when vibration has stopped for X minutes. Interrupt loop when vibration starts on dryer. Start a new notification loop when vibration stops on dryer. Interrupt loop when dryer is opened. No need for monitoring power. It also solves the use case where someone removes clothes from washer but gets distracted before starting the dryer. Of course it also keeps us from forgetting about clothes that are dried and getting wrinkled because we haven't unloaded them.
Never thought of putting a sensor on the door. Genius!
Looks like your using a EcoLink contact sensor on your washer door. Do you recall how you got that into Home Assistant? I move from SmartThings and it's being troublesome to rejoin a new Z-Wave network. Do you remember how you reset it ?
Typically when I needed to reset I either held the little button inside when I put the battery in and if that didn’t work I just popped the battery in and out 3-4 times. It sure what would trigger it. But was always looking for the light to start flashing.
That Only Fans comment 😂
me: ohh.... automating my dumb washing machine
------ a few minutes later -------
slackerlabs: here's a yaml automation
me: fuck me....
Ahh, this is my life with each home assistant please these days.
I haven't seen a single video on UA-cam on adding custom sounds to notifications, I have stumbled onto how to do it and thought I'd suggest that you make a video on it. I have notifications for every single external door in my house and both garages, but wow, having to always look at the phone since it's the same sound effect for all is very annoying. In the notification automation, under the "Data" field, simply add "sound: US-EN-Alexa-Patio-Door-Opened.wav" (without the quotes), and do the rest in the app config on your mobile device. You can also add your own from downloaded wav files, or even record your own. Perhaps everyone already knows about this and I just figured it out and am behind, but seems like there's got to be other that want this. Anyway, that's my video suggestion.
My automation is power < X for 15 mins then turn off the switch and start the automations. Saves quite a few bucks in the long run, as Idle devices still suck power. The switch has a button on it so it's just another button to press when setting up the load. The 15 minutes means if I hear the beep I can cycle the load and put another one in if needed before the power gets cut.
Thanks for sharing this... Good video...
Someone may have said this, but yet another way to do this:
If washer stops and dryer doesn't start, alert. I don't know if they make a switch for a dryer plug, but if you're using ct's it works (iotawatt, or something)
Another approach to knowing when to move the clothes to the dryer would be checking if the washer is “complete” but the dryer isn’t “running”. Once the dryer starts, the washer is set to “empty” as long as it isn’t “running” with the next load. The dryer stop and the washer is still only “complete” you would get new notification such as “Stop writing such complex automations and so some do some manual work!”. ;)
Haha. Yea. I recently got a “smart” dryer. I need to work this in.
its a good idea, but folks that have an electric dryer might not have an easy way to know if it is running since it is more difficult to monitor 220 power. However, this video threw out the idea of a vibration sensor on the dryer... hmmm... that could work.
As of 2022.12 i think the same can be achieved with the Input text helper, right?
Yeah, I think you could do that with automation updating an input text helper.
Hi Jeff,
Great videos, I'm just starting to automate and this helps a lot. In your videos most of your devices have nice names such as sensor.washer_switch_electric_consumed_kwh and binary_sensor.washer_door where mine have sensor.sonoff_10013be1a6_power and binary_sensor.switch1. Is there a way to rename them?
Also sometimes you use in yaml " - id: dishwasher_running" and " - id: e1cb2640-0423-11eb-adc1-0242ac120002 " why is that?
If you go to your device list under devices and services you can find your device head to the pencil icon next to the name and click on that. If you put a name there it will ask if you want to update the entities. And as long as you don’t have any entities with that name it will rename them for you.
And as far as the id in the automations I have started using guids because I have heard it was better in terms of how home assistant handles the automations. Not sure it is true I just started adopting that pattern. The id just has to be unique and the guids are prevent me from accidentally using the id in multiple locations. I use an extension in visual studio code that just drops one in so it’s unique everytime. Even if I accidentally creat the same automation since I am typically writing mine in yaml and automations are all over the place.
I'm fairly new to Home Assistant and going through some of your videos now, and they're very helpful in improving my understanding of HA... thank you!
Curious... why do you use MQTT sensors in this case vs. template sensors? Wouldn't template sensors be simpler in the sense that you wouldn't need automations?
I use the MQTT sensors so save the current state. Template sensors, and sensors in general don't really save the state. They expect the state to constantly change, so it only shows the current state for a period of time, and then will eventually just show nothing or unknown. MQTT allows me to create a sensor with a value that is persistent even through reboots. In that case it really isn't a sensor, but more of a text help, but I use sensors in my own way. hahah
Any ideas on how to make an electric dryer Smart - the one I have is an LG DLEX8377WM
I think your best bet is going to be a vibration sensor. I think Smart Home Solver showed off a device also that goes in your dryer that could give you that data as well. I think the is probably going to be your best bet there.
Sorry one more question! Is it possible to restart just the packages folder or do I have to keep restarting the whole of home assistant each time? Thanks :)
Nope. You don't even need to restart. You can just head over to configuration, server controls, and if your have enabled advance mode on your profile you will have a list of domains like automations, scripts, input booleans, template entities, and if you click on those it will reload that part of your config. For a packages, you might have click multiple but you could just reload the parts you changed. All without restarting. There are some things like adding new custom integrations, or non template sensors that still require restart, but most you can just reload the config.
I don’t know if this would work but maybe a pressure sensor installed under the washer to detect the weight of the machine could assist with detecting if the washing has been removed or not?
I actually wondered if that would work as well. That might even be one you could diy
If you want to automate the dryer in a similar fashion, take a sonoff temp sensor and put the tip of the probe between a couple folds on the dryer sock. Now I know when the dryer is running based on the temp sensor. No more wrinkly clothes because I forgot to empty the dryer promptly.
Have you had any issues using Packages with duplicate Script: declarations? I think that's what's up with mine? In config.yaml I have the scripts: !include scripts.yaml as yours does, then in packages (which is included in config) I have a similar set up to yours for appliances.yaml. Check config comes back ok, but on a reboot I get errors in the notification window.
Invalid config for [script]: expected a dictionary. Got OrderedDict
Is there anything I should have done to allow more than one script: to be used?
It should be good. Could be an indent issue. I have seen that error when I didn’t have my yaml properly indented.
@@SlackerLabs Thanks for the reply! I went through and checked all the files. Turns out the automation.yaml (in the config root) had a name with quotes, eg: '344254632212'. Once I removed that and changed it to a string (turn_off_lounge) it worked perfectly. I think that was left over from when I was using the GUI.
Time to continue with the washer script!! Thanks again :)
@@MattFacer no worries. Those error messages are a mess
LMAO maybe should spent that extra $100 you spent making it smart and bought one that is already smart to begin with
Its not always the destination.....
Ha. Yea. The dryer I just bought is. But I’ve had this washer longer than I have had a smart home. Not even sure it was an option at the time.
smarthome tech built into appliances is 1) cloud based and 2) outdated before you buy it. I have smart appliances and the integrations are horrible. I only use them because they are there. Don't buy the appliance because its smart. Buy the best appliance and its smart, so be it
@@justindunn7467 this is solid advice. And honestly some of the built in smart home tech gives you the same info as a power meter switch and contact sensor just using the cloud.
I have a smart Samsung washer and dryer and they work perfectly with Home Assistant. I have them on an isolated network and fireblocked on my pfsense router so they don't phone home. It works even offline and has energy, status, time, and a switch to turn off and on
Way too complicated, I use attributes on entities from Sonoff S31. When wattage goes below 6 watts it sends me a notification. IE (true template) trigger. Weird it can take up to 25 seconds to great trigger. I stay away from the complexity as much as possible.
I was just thinking about this the other day. I was going to put a contact sensor on the door, and as long as the washer door was never closed except when running, it would use a delay once closed based on what I timed the cycle to be. Was going to do the same with the electric dryer. A friend tried the vibration sensor on his dryer and it worked less than half of the time. Though that could have just been a low quality sensor. Downside to using the door sensor on the dryer is that it's habit for everybody to close once empty, so that's something to have to work past.
All this to say, great video! I'll be picking up a metering plug for the washer to avoid the having to use a delay, it would have to be delayed for the longest washer cycle..inefficient.