############################################################################### # @author : Jeffrey Stone # @date : 06/12/2020 # @package : Appliances # @description : Package for handling Smart Applicances and or automation to make dumb appliances seem smart. ############################################################################### sensor: # MQTT Sensor for DishWasher Status. - platform: mqtt name: "DishWasher Status" state_topic: "house/dishwasher/status" # MQTT Sensor for Washing Machine Status. - platform: mqtt name: "Washer Status" state_topic: "house/washer/status" automation: - id: washer_running alias: Washer Running trigger: - above: 5 entity_id: sensor.washer_power_2 platform: numeric_state condition: condition: or conditions: - condition: state entity_id: sensor.washer_status state: idle - condition: state entity_id: sensor.washer_status state: complete action: - service: script.washer_running # Since the washer has run lets consume a detergent tablet - service: shell_command.grocy_consume_item data: server_ip: !secret grocy_ip grocy_key: !secret grocy_api_key product_id: 6 amount: 1 initial_state: true - id: washer_complete alias: Washer Complete trigger: - below: 3 entity_id: sensor.washer_power_2 platform: numeric_state condition: - condition: state entity_id: sensor.washer_status state: running action: - service: script.washer_complete initial_state: true - id: washer_emptied initial_state: true alias: Washer Emptied trigger: - platform: state entity_id: binary_sensor.washer_door from: 'off' to: 'on' action: - service: script.washer_idle - service: script.turn_off entity_id: script.washer_finished_notification_audible - id: washer_notification initial_state: true alias: Washer Notification trigger: - platform: state entity_id: sensor.washer_status from: running to: complete - platform: event event_type: event_washer_complete_notification action: - service: script.turn_on entity_id: script.washer_finished_notification_audible - id: dishwasher_idle initial_state: true alias: Dishwasher Idle trigger: - platform: state entity_id: device_tracker.dishwasher to: 'not_home' action: - service: script.dishwasher_idle # When dishwasher connects to network assume it is running cycle. Auto consume detergent in Grocy - id: dishwasher_running initial_state: true alias: Dishwasher Running trigger: - platform: state entity_id: device_tracker.dishwasher to: 'home' action: - service: script.dishwasher_running - service: shell_command.grocy_consume_item data: server_ip: !secret grocy_ip grocy_key: !secret grocy_api_key product_id: 7 amount: 1 script: appliances_on: sequence: - service: switch.turn_on data: entity_id: switch.box_fans appliances_off: sequence: - data: entity_id: switch.incense service: switch.turn_off - data: entity_id: switch.artemis service: switch.turn_off washer_finished_notification_audible: sequence: - delay: minutes: 15 - service: script.washer_audible - delay: minutes: 30 - event: event_washer_complete_notification event_data: name: Washer Complete Notification message: Washer has completed it's cycle washer_audible: sequence: - condition: state entity_id: sensor.family_status state: Home - condition: state entity_id: sensor.washer_status state: complete - service: script.speech_engine data_template: who: '{{ states.sensor.room_audio.state }}' message: >

{{ [ 'Just a reminder. Washing machine needs to be emptied.', 'I am sure you have more inportant things to do, but do not forget to empty the washer.', 'Looks like the washing machine has completed it is cycle. You know what to do,,I hope.', 'Do not forget to move the clothes to the dryer.', 'Someone forgot to move the clothes to the dryer. I am not going to name any names. But there is a camera in there. ', 'Do you like when your clothes smell like mildew? Because that is what is happening,,Right now. ' ] | random }}

washer_idle: sequence: - service: mqtt.publish data: topic: house/washer/status payload: idle retain: true washer_running: sequence: - service: mqtt.publish data: topic: house/washer/status payload: running retain: true washer_complete: sequence: - service: mqtt.publish data: topic: house/washer/status payload: complete retain: true dishwasher_idle: sequence: - service: mqtt.publish data: topic: house/dishwasher/status payload: idle retain: true dishwasher_running: sequence: - service: mqtt.publish data: topic: house/dishwasher/status payload: running retain: true