leofabri / hassio_appliance-status-monitor Goto Github PK
View Code? Open in Web Editor NEWπ Detect the state of your appliances based on their power consumption β¨
π Detect the state of your appliances based on their power consumption β¨
Would be great to have example cards that can show the statuses of an appliance -- I think that would round out the package nicely for folks who are setting up dashboards
Hi !
Great job here, thanks for the time spent to create and (well) document your blueprint !
In the wiki, I would suggest to make things a bit cleaner (ie. not overloading the configuration.yaml file) suggesting to create packages.
In the configuration.yaml
file :
## Packages
homeassistant:
packages: !include_dir_named packages/
And then add the "devices" in the folder /packages
For example washing_machine.yaml
based on the template you provided :
timer:
washing_machine_delayed_job_completion_timer:
name: Washing Machine - Delayed Job Completion Timer
duration: "00:15:00" # <- Note that the time here. Leave as it is (15 min)
restore: true
icon: mdi:washing-machine
# ...
input_boolean:
washing_machine_job_cycle:
name: Washing Machine - Job Cycle
icon: mdi:washing-machine
washing_machine_automation_self_trigger:
name: Washing Machine - Automation Self-trigger
icon: mdi:washing-machine
# ...
input_select:
washing_machine_state_machine:
name: Washing Machine - State Machine
options:
- unplugged
- idle
- paused
- detached_overload
- job_ongoing
- job_completed
icon: mdi:washing-machine
This will help keep the HA configuration simpler and more maintainable in my humble opinion
I would like to change the state names e.g. 'job_ongoing' to 'Running' or 'Composting' (as I am using this for my Lomi Composter!). It would be nice if this was supported or addl. details added to the readme to illustrate as such.
Not sure when this started or why, but I am seeing these errors and the associated automated have stopped working:
2024-05-10 15:31:49.089 ERROR (MainThread) [homeassistant.helpers.template] Template variable error: 'appliance_socket' is undefined when rendering '{{ states(appliance_socket) == 'off' }}' 2024-05-10 15:31:49.090 WARNING (MainThread) [homeassistant.helpers.script] Error in 'choose[0]' evaluation: In 'template' condition: UndefinedError: 'appliance_socket' is undefined
I was able to find and fix the issue in the source yaml. I'll create a PR with the changes and link it here so others who run into the same issue might be able to fix it.
Is it possible to add a "delayed job start time"? I mean consider appliance on going after x time.
I'm asking for this beacause of my dryer and I guess I'm not alone: after it finishes main cycle, it starts a long series of cycles "up and down". 5 seconds running, 2 minutes wait, 5 second running, 2 minutes wait and so on. At the moment, I cannot use the blueprint for dryer because of continuous "idle-ongoing" recursion.
Thanks :)
My device power varies from 800 to 1600, but it is my only 3 phase device(water pump) so I can easy identify if measured on L1 L2 and L3 separate. Is there such option and if not can you make it?
Hello
I got the error "invalid slug Trockner (try trockner) for dictionary value @ data['packages']"
when i copy this to the configuration.yaml
invalid slug Trockner (try trockner) for dictionary value @ data['packages']
homeassistant:
packages: !include_dir_named packages/
Can you help me please
Please add option to have a delay for the Job started trigger.
Both my washing machine and dryer have random trigger when the electric consumption spike for a minute
much appreciated, and thanks for the awesome blueprint :)
It would be nice to have the current duration of an ongoing job, and when it's complete to have the total duration of the last completed job.
When an appliance's socket is turned on, if the machine never starts a job, the socket stays on for an indefinite time.
We need the option to turn off the socket if in idle modeβsome power-saving feature.
Just finished installing my dishwasher and using this template it has become a smart one, super nice! I've got notifications setup on my phone and my gf's phone, everything working as it should.
Small question, (and I'm not an expert) but is it possible to have the 'State Machine' display normal instead of being a input selector?
So not like the bottom one but like the top one.
I'm hoping you'll understand what I mean. Thanks.
I'm playing with v3 of this awesome template. I do have a feature request: I'd like to specify a binary_sensor (door sensor) to impact the state machine:
job_complete
, then change the state to idle
(ie, clean clothes/dishes were dealt with). I would rather use this than a timer, so I can keep notifying periodically until the door is opened.job_running
then change state to paused
. If state is paused and door closes, set state back to job_running
. I realize this is a different use for the paused state (but overloads don't apply to my situation), so I understand if this goes against the design and can't be implemented.job_complete
.Thanks for considering!
I have an issue which is randomly i get a small electric spike which causes this automation to think the dishwasher has started a cleaning cycle. Then it completes, which triggers a flashing button on my dashboard to start going off because i have it as a way to show us the dishwasher is complete. It also removes a dishwasher pod out of inventory on the finish cycle so now i have to add it back in. Is there a way to create a start timer to make sure the initial spike lasts X time before it assumes the state of the dishwasher is now "Running" vs "idle"
Hi
I think I probably have a similar issue to others. My appliance (dishwasher) has a delay start function. When the door is closed it runs a quick rinse cycle before holding on the same power consumption for a pre set time between 1 and 24 hrs.
The prewash time is always the same as seen in screenshots. Ideally I need a 'pre wash' time that would set the machine to a 'paused' state rather than a completed state when it sees a short pre wash cycle. Maybe set a minimum job time- and when it sees a run for this it puts to pause not completed?
The only way I can do this is to detect job duration and instead set the machine into an overload state. This feels hacky. Is it possible to adapt how this works to still use a paused state but without overload?
Hey! Love the blueprint. I use it to update a picture card on my front dashboard with adorable pictures - "laundry is idle", "laundry in progress" and "laundry is complete".
The problem for me is, it hits that "complete" and then is immediately "idle". I would love to have an input of x minutes to hold state "complete" so the card notifies everyone looking at the dashboard that there is stuff in the washing machine that needs moved on.
I have unwanted and useless triggers with no power from appliances:
I analized some of this events and figured that the automation is triggered by "linkquality" attribute:
appliance_socket: switch.smart_plug_washing_machine
appliance_suspended_sensor: []
delayed_job_completion_duration: 0
delayed_job_completion_timer: timer.washing_machine_delayed_job_completion_timer
this:
entity_id: automation.notifications_washing_machine
state: 'on'
attributes:
last_triggered: '2023-03-27T07:04:53.630822+00:00'
mode: restart
current: 1
id: '1679571899294'
friendly_name: '[Notifications] Washing machine'
last_changed: '2023-03-23T15:55:50.008512+00:00'
last_updated: '2023-03-27T07:04:53.630931+00:00'
context:
id: 01GWGY4N3Y1E1JCVCHWAJZVWAA
parent_id: 01GWGY4N3AJCKDQBD0HXMZ06EV
user_id: null
trigger:
id: power_event
idx: '0'
alias: null
platform: state
entity_id: sensor.smart_plug_washing_machine_power
from_state:
entity_id: sensor.smart_plug_washing_machine_power
state: '0'
attributes:
state_class: measurement
child_lock: UNLOCK
current: 0
energy: 4.37
indicator_mode: off/on
linkquality: 124
power: 0
power_outage_memory: restore
update:
installed_version: 192
latest_version: 192
state: idle
update_available: false
voltage: 233
unit_of_measurement: W
device_class: power
friendly_name: Smart plug washing machine power
last_changed: '2023-03-26T15:46:25.908200+00:00'
last_updated: '2023-03-27T06:59:36.020225+00:00'
context:
id: 01GWGXTYYMQ5ZBZJ8Z53D6FRDJ
parent_id: null
user_id: null
to_state:
entity_id: sensor.smart_plug_washing_machine_power
state: '0'
attributes:
state_class: measurement
child_lock: UNLOCK
current: 0
energy: 4.37
indicator_mode: off/on
linkquality: 112
power: 0
power_outage_memory: restore
update:
installed_version: 192
latest_version: 192
state: idle
update_available: false
voltage: 233
unit_of_measurement: W
device_class: power
friendly_name: Smart plug washing machine power
last_changed: '2023-03-26T15:46:25.908200+00:00'
last_updated: '2023-03-27T07:04:53.613919+00:00'
context:
id: 01GWGY4N3D2P3YZ9J24KJANGVK
parent_id: null
user_id: null
for: null
attribute: null
description: state of sensor.smart_plug_washing_machine_power
Is it possible to add a selection for the power attribute? For now I solved manually adding this:
trigger:
- platform: state
entity_id: !input appliance_power_sensor
id: power_event
attribute: power
- platform: state
entity_id: !input appliance_socket
id: socket_state_change_event
attribute: power
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.