GithubHelp home page GithubHelp logo

leofabri / hassio_appliance-status-monitor Goto Github PK

View Code? Open in Web Editor NEW
230.0 230.0 16.0 1.65 MB

πŸ”Œ Detect the state of your appliances based on their power consumption ✨

automation home-assistant home-automation homeassistant state-machine

hassio_appliance-status-monitor's People

Contributors

leofabri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hassio_appliance-status-monitor's Issues

[Improvement] Helpers in a package

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

Changing State Names

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.

Errors around 'appliance_socket' in template

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.

Feature Request - Start delay

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.

image

Thanks :)

Settings for 3 phase device

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?

configuration.yaml Error

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 support enabled - Includes every .yaml file that is inside the packages/ directory

packages: !include_dir_named packages/

Warning! Please pay attention to the indentation!

Can you help me please

Job Started Delay

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 :)

Input select to normal state

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?

image

So not like the bottom one but like the top one.
I'm hoping you'll understand what I mean. Thanks.

Enable job_complete > idle state change based on binary_sensor door switch

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:

  • if the door opens while state is 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.
  • if the door opens while state is 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.
  • It would also be nice to have a built in method to do recurring actions every n minutes while state is job_complete.

Thanks for considering!

false starting trigger

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"
dishwasher

Delay start (pre wash with minimum cycle time resulting in pause not completed if under 5 minutes run)

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?

image

image

Add Option to hold state as "completed" for x minutes

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".

laundry images

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.

Add an option to select the power attribute

I have unwanted and useless triggers with no power from appliances:

image

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.