From dab0d913034892f57b230ba422674bc92c63f7d0 Mon Sep 17 00:00:00 2001 From: Mahasri Kalavala Date: Sun, 10 Jan 2021 15:03:52 -0500 Subject: [PATCH] updated to latest version + dockerized! --- .gitignore | 1 + .../homeassistant/motion_light.yaml | 50 ++ .../homeassistant/notify_leaving_zone.yaml | 43 ++ configuration.yaml | 44 +- custom_components/octoprint/__init__.py | 4 + logging.yaml | 4 +- lovelace/00_myhome_view.yaml | 106 +-- lovelace/01_lights_view.yaml | 30 +- lovelace/03_camera_view.yaml | 30 +- lovelace/05_tensorflow_view.yaml | 11 + lovelace/07_system_view.yaml | 14 - lovelace/09_settings_view.yaml | 1 - lovelace/10_raspberrypi_view.yaml | 2 + lovelace/11_scripts_view.yaml | 96 ++- lovelace/12_automations_view.yaml | 47 +- lovelace/13_qnap_view.yaml | 159 ++++- packages/3dprinting.yaml | 10 +- packages/alarm_clock.yaml | 171 ----- packages/apcups.yaml | 77 --- packages/batteries.yaml | 41 -- packages/cameras.yaml | 160 +++-- packages/daily_routines.yaml | 10 +- packages/door_sensors.yaml | 101 ++- packages/frontend_themes.yaml | 90 --- packages/homeassistant.yaml | 64 -- packages/homesecurity.yaml | 112 +++- packages/lights.yaml | 345 ---------- packages/lights_switches.yaml | 179 +++++ packages/logger.yaml | 100 --- packages/motion_counts.yaml | 7 + packages/motion_timers.yaml | 111 +++- packages/qnap.yaml | 16 + packages/quotes.yaml | 32 - packages/scripts.yaml | 58 +- packages/settings.yaml | 21 - packages/test.yaml | 9 + packages/tv.yaml | 97 +-- packages/watchdog.yaml | 18 +- packages/weather.yaml | 26 +- packages/xiaomi_magic_cubes.yaml | 81 ++- packages/zwave_batteries.yaml | 426 ++++++------ packages/zwave_sensors.yaml | 618 +++++++++--------- 42 files changed, 1762 insertions(+), 1860 deletions(-) create mode 100644 blueprints/automation/homeassistant/motion_light.yaml create mode 100644 blueprints/automation/homeassistant/notify_leaving_zone.yaml delete mode 100644 packages/alarm_clock.yaml delete mode 100644 packages/apcups.yaml delete mode 100644 packages/frontend_themes.yaml delete mode 100644 packages/lights.yaml create mode 100644 packages/lights_switches.yaml delete mode 100644 packages/logger.yaml delete mode 100644 packages/quotes.yaml diff --git a/.gitignore b/.gitignore index 1ca6c47..66cb19c 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ docs/_site private/* apps/__pycache__/*.pyc docker/streamer +docker-compose.yml diff --git a/blueprints/automation/homeassistant/motion_light.yaml b/blueprints/automation/homeassistant/motion_light.yaml new file mode 100644 index 0000000..c11d22d --- /dev/null +++ b/blueprints/automation/homeassistant/motion_light.yaml @@ -0,0 +1,50 @@ +blueprint: + name: Motion-activated Light + description: Turn on a light when motion is detected. + domain: automation + source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml + input: + motion_entity: + name: Motion Sensor + selector: + entity: + domain: binary_sensor + device_class: motion + light_target: + name: Light + selector: + target: + entity: + domain: light + no_motion_wait: + name: Wait time + description: Time to leave the light on after last motion is detected. + default: 120 + selector: + number: + min: 0 + max: 3600 + unit_of_measurement: seconds + +# If motion is detected within the delay, +# we restart the script. +mode: restart +max_exceeded: silent + +trigger: + platform: state + entity_id: !input motion_entity + from: "off" + to: "on" + +action: + - service: light.turn_on + target: !input light_target + - wait_for_trigger: + platform: state + entity_id: !input motion_entity + from: "on" + to: "off" + - delay: !input no_motion_wait + - service: light.turn_off + target: !input light_target diff --git a/blueprints/automation/homeassistant/notify_leaving_zone.yaml b/blueprints/automation/homeassistant/notify_leaving_zone.yaml new file mode 100644 index 0000000..d3a70d7 --- /dev/null +++ b/blueprints/automation/homeassistant/notify_leaving_zone.yaml @@ -0,0 +1,43 @@ +blueprint: + name: Zone Notification + description: Send a notification to a device when a person leaves a specific zone. + domain: automation + source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml + input: + person_entity: + name: Person + selector: + entity: + domain: person + zone_entity: + name: Zone + selector: + entity: + domain: zone + notify_device: + name: Device to notify + description: Device needs to run the official Home Assistant app to receive notifications. + selector: + device: + integration: mobile_app + +trigger: + platform: state + entity_id: !input person_entity + +variables: + zone_entity: !input zone_entity + # This is the state of the person when it's in this zone. + zone_state: "{{ states[zone_entity].name }}" + person_entity: !input person_entity + person_name: "{{ states[person_entity].name }}" + +condition: + condition: template + value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}" + +action: + domain: mobile_app + type: notify + device_id: !input notify_device + message: "{{ person_name }} has left {{ zone_state }}" diff --git a/configuration.yaml b/configuration.yaml index 8f17db1..a1546c2 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -3,7 +3,7 @@ # @Author : Mahasri Kalavala ############################################################################### homeassistant: - name: Home + name: MyHome temperature_unit: F latitude: !secret home_latitude longitude: !secret home_longitude @@ -16,14 +16,14 @@ homeassistant: packages: !include_dir_named packages allowlist_external_dirs: - - /home/homeassistant/.homeassistant/www/downloads/camera/patio/ - - /home/homeassistant/.homeassistant/www/downloads/camera/garage/ - - /home/homeassistant/.homeassistant/www/downloads/camera/playarea/ - - /home/homeassistant/.homeassistant/www/downloads/camera/driveway/ - - /home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/ - - /home/homeassistant/.homeassistant/www/downloads/camera/kitchen/ - - /home/homeassistant/.homeassistant/www/downloads/camera/frontroom/ - - /home/homeassistant/.homeassistant/www/downloads/camera/3dprinter/ + - /config/www/downloads/camera/patio/ + - /config/www/downloads/camera/garage/ + - /config/www/downloads/camera/playarea/ + - /config/www/downloads/camera/driveway/ + - /config/www/downloads/camera/frontdoor/ + - /config/www/downloads/camera/kitchen/ + - /config/www/downloads/camera/frontroom/ + - /config/www/downloads/camera/3dprinter/ sun: alexa: @@ -32,6 +32,8 @@ discovery: ignore: - homekit +frontend: + octoprint: host: !secret octoprint_ip api_key: !secret octoprint_key @@ -50,9 +52,10 @@ homekit: - binary_sensor.door_window_sensor_158d000424a6d6 # Front Door - binary_sensor.door_window_sensor_158d0004248d5b # Single Car Garage - binary_sensor.door_window_sensor_158d0004231f7b # Double Car Garage + - binary_sensor.door_window_sensor_158d0004880f30 # Garage Entry Door mobile_app: - +# default_config: websocket_api: python_script: logger: !include logging.yaml @@ -72,7 +75,7 @@ mqtt: username: !secret mqtt_username password: !secret mqtt_password keepalive: 60 - client_id: pi_ha + client_id: HA_SERVER sonos: media_player: @@ -94,13 +97,12 @@ lovelace: google: client_id: !secret google_client_id client_secret: !secret google_client_secret - -emulated_hue: - expose_by_default: false - host_ip: !secret ha_ip_address - listen_port: 8300 - exposed_domains: - - light - - switch - - input_boolean - - group +#emulated_hue: +# expose_by_default: false +# host_ip: !secret ha_ip_address +# listen_port: 8300 +# exposed_domains: +# - light +# - switch +# - input_boolean +# - group diff --git a/custom_components/octoprint/__init__.py b/custom_components/octoprint/__init__.py index 17b07c3..54e1ebe 100644 --- a/custom_components/octoprint/__init__.py +++ b/custom_components/octoprint/__init__.py @@ -1,3 +1,7 @@ +# +# API URLS: http://192.168.xxx.xxx/api/printer and http://192.168.xxx.xxx/api/job +# + """Support for monitoring OctoPrint 3D printers.""" import logging import time diff --git a/logging.yaml b/logging.yaml index 1263f40..56ad88f 100644 --- a/logging.yaml +++ b/logging.yaml @@ -20,9 +20,9 @@ logs: homeassistant.components.wemo: critical homeassistant.components.sensor: critical homeassistant.components.cloud.iot: warning - homeassistant.components.http: warning + # homeassistant.components.http: warning homeassistant.components.camera: warning - homeassistant.components.zwave: warning + homeassistant.components.zwave: critical homeassistant.components.image_processing: warning homeassistant.components.homekit: warning custom_components.sensor.life360: warning diff --git a/lovelace/00_myhome_view.yaml b/lovelace/00_myhome_view.yaml index ceac42e..58db514 100644 --- a/lovelace/00_myhome_view.yaml +++ b/lovelace/00_myhome_view.yaml @@ -78,12 +78,8 @@ cards: - sensor.octoprint_file - binary_sensor.octoprint_printing - binary_sensor.octoprint_printing_error - - sensor.octoprint_actual_bed_temp - - sensor.octoprint_actual_tool0_temp - sensor.octoprint_current_state - sensor.octoprint_job_percentage - - sensor.octoprint_target_bed_temp - - sensor.octoprint_target_tool0_temp - sensor.octoprint_time_elapsed - sensor.octoprint_time_remaining @@ -179,6 +175,8 @@ cards: name: Basement Door - entity: binary_sensor.garage_door_sensor_sensor name: Garage Door + - entity: binary_sensor.door_window_sensor_158d0004880f30 + name: Garage Entry Door - entity: sensor.single_car_garage_door_sensor_status name: Single Car Garage Door - entity: binary_sensor.two_car_garage_door_tilt_sensor_sensor @@ -191,45 +189,6 @@ cards: type: glance title: Doors - - type: vertical-stack - cards: - - type: horizontal-stack - cards: - - type: gauge - name: Suresh Phone - unit: "%" - entity: input_label.suresh_battery - severity: - green: 75 - yellow: 50 - red: 30 - - type: gauge - name: Mallika Phone - unit: "%" - entity: input_label.mallika_battery - severity: - green: 75 - yellow: 50 - red: 30 - - type: horizontal-stack - cards: - - type: gauge - name: Srinika Phone - unit: "%" - entity: input_label.srinika_battery - severity: - green: 75 - yellow: 50 - red: 30 - - type: gauge - name: Hasika Phone - unit: "%" - entity: input_label.hasika_battery - severity: - green: 75 - yellow: 50 - red: 30 - - type: weather-forecast entity: weather.dark_sky @@ -272,6 +231,8 @@ cards: name: Front Door - entity: binary_sensor.door_window_sensor_158d00040ad8fc name: Back Door + - entity: binary_sensor.door_window_sensor_158d0004880f30 + name: Garage Entry Door - entity: binary_sensor.door_window_sensor_158d000424718f name: Master Bathroom Door - entity: binary_sensor.door_window_sensor_158d00040ad8ec @@ -281,6 +242,63 @@ cards: - entity: binary_sensor.door_window_sensor_158d0004248d5b name: Single Car Garage Door + - type: entities + title: Plex + show_header_toggle: false + entities: + - sensor.plex_mahasri_nas + - media_player.plex_plex_web_chrome_windows + + - type: entities + title: Luminance + show_header_toggle: false + entities: + - sensor.illumination_158d00016c2d0e + - sensor.illumination_158d00016db6d2 + - sensor.illumination_158d0001a25041 + - sensor.illumination_158d0001a662fe + - sensor.illumination_158d00024e57d3 + - sensor.illumination_158d00024e57fb + - sensor.illumination_158d00024e842c + - sensor.illumination_158d00024ee084 + - sensor.illumination_158d000272bed1 + - sensor.illumination_158d000272bf48 + - sensor.illumination_158d000272bfd7 + - sensor.illumination_158d000464c25a + - sensor.illumination_158d00047b6f69 + + - type: entities + title: Batteries + show_header_toggle: false + entities: + - sensor.battery_158d00016c2d0e + - sensor.battery_158d00016db6d2 + - sensor.battery_158d0001a25041 + - sensor.battery_158d0001a662fe + - sensor.battery_158d00024e57d3 + - sensor.battery_158d00024e57fb + - sensor.battery_158d00024e842c + - sensor.battery_158d00024ee084 + - sensor.battery_158d000272bed1 + - sensor.battery_158d000272bf48 + - sensor.battery_158d000272bfd7 + - sensor.battery_158d000276e3e8 + - sensor.battery_158d000278eb6a + - sensor.battery_158d0002794cd6 + - sensor.battery_158d00027c0276 + - sensor.battery_158d00027ce15c + - sensor.battery_158d00027cf60d + - sensor.battery_158d00040ad8ec + - sensor.battery_158d00040ad8fc + - sensor.battery_158d0004231f7b + - sensor.battery_158d000424718f + - sensor.battery_158d0004248d5b + - sensor.battery_158d000424a6d6 + - sensor.battery_158d00045622d9 + - sensor.battery_158d000464c25a + - sensor.battery_158d00047b6f69 + - sensor.battery_158d0004880f30 + - type: entity-filter title: Motion Sensors show_empty: false @@ -302,6 +320,7 @@ cards: - binary_sensor.garage_door_sensor_sensor - binary_sensor.kitchen_motion_sensor_sensor - binary_sensor.door_window_sensor_158d00040ad8fc # back door + - binary_sensor.door_window_sensor_158d0004880f30 # Garage Entry Door - binary_sensor.stairs_motion_sensor_sensor - binary_sensor.tv_multi_sensor_sensor - binary_sensor.door_window_sensor_158d0004248d5b @@ -383,4 +402,5 @@ cards: - input_label.door_window_sensor_158d0004231f7b - input_label.door_window_sensor_158d0004248d5b - input_label.door_window_sensor_158d00040ad8fc + - input_label.door_window_sensor_158d0004880f30 # garage entry door - input_label.door_window_sensor_158d000424a6d6 diff --git a/lovelace/01_lights_view.yaml b/lovelace/01_lights_view.yaml index 6305995..b54626c 100644 --- a/lovelace/01_lights_view.yaml +++ b/lovelace/01_lights_view.yaml @@ -18,6 +18,8 @@ cards: name: Srinika's Bedroom - entity: switch.prayer_room name: Study Room + - entity: light.master_bathroom_lights + name: Master Bathroom Lights - type: entities title: Downstairs @@ -32,6 +34,28 @@ cards: - light.hue_color_lamp_1 - light.hue_color_lamp_2 - light.hue_color_lamp_3 + - entity: switch.wemoswitch1 + name: Office Room Accent Lights + + - type: entities + title: TV Power Strip + show_header_toggle: true + entities: + - entity: switch.plug_1 + name: Monitor + - entity: switch.plug_2 + name: Sharp TV + - entity: switch.plug_3 + name: Bose Audio + + - type: entities + title: Tasmota Outlet + show_header_toggle: true + entities: + - entity: switch.tasmota_outlet_1 + name: Tasmota Outlet 1 + - entity: switch.tasmota_outlet_2 + name: Tasmota Outlet 2 - type: entities title: Fragrance Outlets @@ -45,17 +69,13 @@ cards: show_header_toggle: false entities: - switch.garage - - entity: switch.tesla_model_3_charger_switch - name: Tesla Charger Switch - - entity: switch.tesla_model_3_maxrange_switch - name: Tesla Max Range Switch + - switch.garage_shop_lights - type: entities title: Always On show_header_toggle: false entities: - light.gateway_light_34ce008ad65d - - switch.wemoswitch1 - type: entities title: Outdoor Lights diff --git a/lovelace/03_camera_view.yaml b/lovelace/03_camera_view.yaml index 1cd0798..7f01c8f 100644 --- a/lovelace/03_camera_view.yaml +++ b/lovelace/03_camera_view.yaml @@ -67,12 +67,28 @@ cards: domain: script action: stream_playarea_camera_to_chromecast + - type: "custom:button-card" + name: RESET CAMERA + entity: input_label.current_stream + icon: mdi:cctv + color_type: card + style: + - font-weight: bold + - color: rgb(0, 0, 5) + state: + - value: "frontyard" + color: var(--primary-color) + action: service + service: + domain: script + action: reset_camera_stream + - type: picture-glance id: camera_frontdoor_camera title: Frontdoor Camera entity: camera.frontdoor_camera camera_image: camera.frontdoor_camera - camera_view: live + # camera_view: live show_info: true tap_action: action: more-info @@ -138,3 +154,15 @@ cards: entities: - binary_sensor.motion_sensor_158d00016c2d0e - binary_sensor.octoprint_printing + + - type: picture-glance + id: porch_camera + title: Porch Camera + entity: camera.porch_camera + camera_image: camera.porch_camera + show_info: true + tap_action: + action: more-info + entities: + - binary_sensor.porch_motion + - switch.frontyard_light diff --git a/lovelace/05_tensorflow_view.yaml b/lovelace/05_tensorflow_view.yaml index 26303b1..cf730e2 100644 --- a/lovelace/05_tensorflow_view.yaml +++ b/lovelace/05_tensorflow_view.yaml @@ -55,6 +55,15 @@ cards: tap_action: action: more-info + - type: picture-entity + id: camera_porch_latest_scan + title: Porch Latest Scan + entity: camera.porch_latest_scan + camera_image: camera.porch_camera + show_info: true + tap_action: + action: more-info + - type: entities title: Image Processing show_header_toggle: false @@ -71,3 +80,5 @@ cards: name: Playarea Camera - entity: image_processing.tensorflow_3d_printer_camera name: 3D Printer Camera + - entity: image_processing.tensorflow_porch_camera + name: Porch Camera diff --git a/lovelace/07_system_view.yaml b/lovelace/07_system_view.yaml index 9ba2ab1..e7c139d 100644 --- a/lovelace/07_system_view.yaml +++ b/lovelace/07_system_view.yaml @@ -22,22 +22,8 @@ cards: - sensor.processor_use - sensor.memory_free - binary_sensor.workday_sensor - - sensor.ha_installed_version - - sensor.ha_current_version - sensor.home_assistant_up_time - - type: entities - title: Alarm Clock - show_header_toggle: false - entities: - - automation.alarm_clock - - input_boolean.am - - input_boolean.pm - - input_boolean.week_day_only - - input_label.alarm_current_time - - input_number.slider_hours - - input_number.slider_minutes - - type: horizontal-stack cards: - type: gauge diff --git a/lovelace/09_settings_view.yaml b/lovelace/09_settings_view.yaml index c981d20..9348c82 100644 --- a/lovelace/09_settings_view.yaml +++ b/lovelace/09_settings_view.yaml @@ -204,7 +204,6 @@ cards: - input_boolean.led_alerts - input_boolean.security_system_alerts - input_boolean.notify_camera_alerts - - input_boolean.alarm_clock - input_boolean.trash_reminders - automation.family_room_motion_timer - automation.family_room_timer_elapsed diff --git a/lovelace/10_raspberrypi_view.yaml b/lovelace/10_raspberrypi_view.yaml index 5144bf4..9d1d14a 100644 --- a/lovelace/10_raspberrypi_view.yaml +++ b/lovelace/10_raspberrypi_view.yaml @@ -87,6 +87,8 @@ cards: title: RPi Scripts show_header_toggle: false entities: + - script.query_disk_info + - script.query_wifi_info - script.restart_all_raspberrypis - script.restart_all_snapclients - script.shutdown_all_raspberrypis diff --git a/lovelace/11_scripts_view.yaml b/lovelace/11_scripts_view.yaml index 95ba424..5dddfce 100644 --- a/lovelace/11_scripts_view.yaml +++ b/lovelace/11_scripts_view.yaml @@ -1,7 +1,6 @@ title: Scripts icon: mdi:script cards: - - type: horizontal-stack cards: - type: "custom:button-card" @@ -31,9 +30,50 @@ cards: action: restart_hass - type: entities - title: Scripts + title: Notification Scripts show_header_toggle: false entities: + - entity: script.good_night_tts + name: Bedtime Report + - entity: script.home_status + name: Hourly Report + - entity: script.play_dog_sounds + name: Play Dog Sounds + - entity: script.play_fav_song + name: Play Fav Song + - entity: script.play_ringtone + name: Play Ringtone (Doorbell) + - entity: script.toggle_do_not_disturb + name: Toggle Do Not Disturb + + - type: entities + title: Camera Scripts + show_header_toggle: false + entities: + - entity: script.driveway_cam + name: Show Driveway Camera on Stream + - entity: script.patio_cam + name: Show Patio Camera on Stream + - entity: script.frontdoor_cam + name: Show Front Door Camera on Stream + - entity: script.playarea_cam + name: Show Playarea Camera on Stream + - entity: script.frontdoor_camera_text_overlay + name: Frontdoor Camera Text Overlay + - entity: script.driveway_camera_text_overlay + name: Driveway Camera Text Overlay + - entity: script.patio_camera_text_overlay + name: Patio Camera Text Overlay + - entity: script.playarea_camera_text_overlay + name: Playarea Camera Text Overlay + - entity: script.stream2chromecast + name: Stream To Chromecast + + - type: entities + title: Light Scripts + show_header_toggle: false + entities: + - script.all_indoor_lights_off - script.home_mode_away - entity: script.xiaomi_blue name: Xiaomi Gateway Blue Light @@ -43,10 +83,52 @@ cards: name: Xiaomi Gateway Red Light - type: entities - title: Home Status/Report + title: Pill Scripts show_header_toggle: false entities: - - entity: script.good_night_tts - name: Bedtime Report - - entity: script.home_status - name: Hourly Report + - entity: script.pill_taken + name: Pill Taken + - entity: script.remind_pill + name: Remind Me To Take Pill + + # - type: entities + # title: All Scripts + # show_header_toggle: false + # entities: + # - script.all_indoor_lights_off + # - script.driveway_cam + # - script.driveway_camera_text_overlay + # - script.frontdoor_cam + # - script.frontdoor_camera_text_overlay + # - script.good_night_tts + # - script.home_mode_away + # - script.home_status + # - script.led_message + # - script.notify_me + # - script.notify_me_with_picture + # - script.patio_cam + # - script.patio_camera_text_overlay + # - script.pill_taken + # - script.play_dog_sounds + # - script.play_fav_song + # - script.play_ringtone + # - script.playarea_cam + # - script.playarea_camera_text_overlay + # - script.query_disk_info + # - script.query_wifi_info + # - script.remind_pill + # - script.restart_all_raspberrypis + # - script.restart_all_snapclients + # - script.restart_hass + # - script.shutdown_all_raspberrypis + # - script.stop_hass + # - script.stream2chromecast + # - script.stream_driveway_camera_to_chromecast + # - script.stream_frontdoor_camera_to_chromecast + # - script.stream_patio_camera_to_chromecast + # - script.stream_playarea_camera_to_chromecast + # - script.toggle_climate + # - script.toggle_do_not_disturb + # - script.update_hass + # - script.voice_greeting + # - script.voice_notify diff --git a/lovelace/12_automations_view.yaml b/lovelace/12_automations_view.yaml index 4c1e89b..d703372 100644 --- a/lovelace/12_automations_view.yaml +++ b/lovelace/12_automations_view.yaml @@ -23,22 +23,6 @@ cards: - automation.study_room_cube_event_flip90 - automation.study_room_cube_event_shake - - type: conditional - conditions: - - entity: input_boolean.alarm_clock - state: "on" - card: - type: entities - title: Alarm Clock - show_header_toggle: false - entities: - - automation.alarm_clock - - automation.am_change_off - - automation.am_change_on - - automation.pm_change_off - - automation.pm_change_on - - automation.update_current_alarm_time - - type: entities title: Zone Based Alerts show_header_toggle: false @@ -50,7 +34,6 @@ cards: - automation.alert_when_someone_enters_a_zone - automation.alert_when_someone_leaves_a_zone - automation.send_a_message_as_i_get_closer_to_home - - automation.update_phone_battery_levels_from_life360 - automation.welcome_family - type: entities @@ -63,7 +46,6 @@ cards: - automation.notify_holiday_state_change - automation.notify_indian_holidays - automation.notify_low_battery - - automation.notify_of_new_external_ip - automation.notify_thermostat_state_change - automation.notify_usps_mail - automation.notify_usps_packages @@ -73,9 +55,6 @@ cards: show_header_toggle: false entities: - automation.cancel_wfh_timer_when_suresh_leaves_home - - automation.downstairs_aroma_timer_elapsed - - automation.downstairs_aroma_timer_finish - - automation.downstairs_aroma_timer_start - automation.family_room_motion_timer - automation.family_room_timer_elapsed - automation.frontroom_motion_timer @@ -128,7 +107,6 @@ cards: title: Home Security Automations show_header_toggle: false entities: - - automation.home_security_status_leeo_color - automation.home_security_system_watchdog_10_minutes - automation.home_security_system_watchdog_30_minutes - automation.notify_home_security_status_change @@ -143,33 +121,19 @@ cards: title: Light Automations show_header_toggle: false entities: - - automation.animate_familyroom_lights - automation.restore_familyroom_lights - - automation.animate_master_bedroom_lights - - automation.restore_masterbedroom_lights - automation.evening_indoor_lights_on_before_sunset - automation.evening_outdoor_lights_on_at_sunset - automation.garage_lights_on_when_door_is_opened - - automation.long_flash_all_lights - automation.morning_indoor_lights_on - automation.morning_master_bedroom_lights_off_mallika - automation.morning_master_bedroom_lights_on_mallika - automation.morning_outdoor_lights_off - automation.night_dim_tv_lights - automation.night_turn_lights_off - - automation.short_flash_all_lights - automation.tv_dim_indoor_lights_when_tv_is_on - - automation.tv_restore_family_room_lights_to_tv_mode - automation.tv_turn_lights_on_when_tv_is_turned_off - - - type: entities - title: Wallmote Automations - show_header_toggle: false - entities: - - automation.wallmote_button_1_pressed - - automation.wallmote_button_2_pressed - - automation.wallmote_button_3_pressed - - automation.wallmote_button_4_pressed + - automation.outdoor_light_watchdog - type: entities title: Trash & Recycle Automations @@ -201,10 +165,7 @@ cards: show_header_toggle: false entities: - automation.night_dim_tv_lights - - automation.tv_backlight_is_on_when_tv_is_on - - automation.tv_backlight_off_when_tv_is_off - automation.tv_dim_indoor_lights_when_tv_is_on - - automation.tv_restore_family_room_lights_to_tv_mode - automation.tv_turn_lights_on_when_tv_is_turned_off - automation.reset_movie_time_after_3_hours @@ -257,14 +218,8 @@ cards: title: Home Assistant Automations show_header_toggle: false entities: - - automation.random_darker_theme_at_sunset - - automation.random_lighter_theme_at_sunrise - - automation.random_theme_at_startup - - automation.remind_domain_renewal - automation.season_change_notification - automation.turn_off_ac_after_3_hours_of_cooling - - automation.update_available_notification - - automation.update_zwave_battery_levels - type: entities title: Misc Automations diff --git a/lovelace/13_qnap_view.yaml b/lovelace/13_qnap_view.yaml index cfe045b..12f8fa4 100644 --- a/lovelace/13_qnap_view.yaml +++ b/lovelace/13_qnap_view.yaml @@ -1,17 +1,8 @@ title: QNAP NAS icon: mdi:harddisk cards: - - type: entities - title: QNAP Server - show_header_toggle: false - entities: - - sensor.kalavala_nas_status - - sensor.kalavala_nas_network_up_eth0 - - sensor.kalavala_nas_network_up_eth1 - - sensor.kalavala_nas_system_temperature - - sensor.kalavala_nas_cpu_temperature - - type: vertical-stack + title: KALAVALA-NAS cards: - type: horizontal-stack cards: @@ -101,10 +92,156 @@ cards: yellow: 70 red: 85 - type: entities - title: QNAP Drives + title: KALAVALA-NAS Drives show_header_toggle: false entities: - sensor.kalavala_nas_temperature_drive_0_1 - sensor.kalavala_nas_temperature_drive_0_2 - sensor.kalavala_nas_temperature_drive_0_3 - sensor.kalavala_nas_temperature_drive_0_4 + + - type: entities + title: KALAVALA-NAS + show_header_toggle: false + entities: + - sensor.kalavala_nas_status + - sensor.kalavala_nas_network_up_eth0 + - sensor.kalavala_nas_network_up_eth1 + - sensor.kalavala_nas_system_temperature + - sensor.kalavala_nas_cpu_temperature + + - type: vertical-stack + title: MAHASRI-NAS + cards: + - type: horizontal-stack + cards: + - type: "custom:button-card" + entity: sensor.mahasri_nas_smart_status_drive_0_1 + name: Drive 1 + color_type: card + show_state: true + icon: mdi:harddisk + style: + - font-weight: bold + state: + - value: "OK" + color: rgb(0, 128, 0) + - value: "FAIL" + color: rgb(255, 0, 0) + action: more_info + - type: "custom:button-card" + entity: sensor.mahasri_nas_smart_status_drive_0_2 + name: Drive 2 + color_type: card + show_state: true + icon: mdi:harddisk + style: + - font-weight: bold + state: + - value: "OK" + color: rgb(0, 128, 0) + - value: "FAIL" + color: rgb(255, 0, 0) + action: more_info + - type: "custom:button-card" + entity: sensor.mahasri_nas_smart_status_drive_0_3 + name: Drive 3 + color_type: card + show_state: true + icon: mdi:harddisk + style: + - font-weight: bold + state: + - value: "OK" + color: rgb(0, 128, 0) + - value: "FAIL" + color: rgb(255, 0, 0) + action: more_info + - type: "custom:button-card" + entity: sensor.mahasri_nas_smart_status_drive_0_4 + name: Drive 4 + color_type: card + show_state: true + icon: mdi:harddisk + style: + - font-weight: bold + state: + - value: "OK" + color: rgb(0, 128, 0) + - value: "FAIL" + color: rgb(255, 0, 0) + action: more_info + + - type: vertical-stack + cards: + - type: horizontal-stack + cards: + - type: gauge + entity: sensor.mahasri_nas_cpu_usage + unit: "%" + name: CPU + severity: + green: 0 + yellow: 50 + red: 75 + - type: gauge + entity: sensor.mahasri_nas_memory_usage + unit: "%" + name: Memory + severity: + green: 0 + yellow: 50 + red: 75 + - type: gauge + entity: sensor.mahasri_nas_volume_used_primary + unit: "%" + name: Primary Disk + severity: + green: 0 + yellow: 70 + red: 85 + - type: horizontal-stack + cards: + - type: gauge + entity: sensor.mahasri_nas_volume_used_mahasri + unit: "%" + name: Mahasri Disk + severity: + green: 0 + yellow: 70 + red: 85 + - type: gauge + entity: sensor.mahasri_nas_volume_used_entertainment + unit: "%" + name: Media Disk + severity: + green: 0 + yellow: 70 + red: 85 + - type: gauge + entity: sensor.mahasri_nas_volume_used_software + unit: "%" + name: Software Disk + severity: + green: 0 + yellow: 70 + red: 85 + + - type: entities + title: MAHASRI-NAS Drives + show_header_toggle: false + entities: + - sensor.mahasri_nas_temperature_drive_0_1 + - sensor.mahasri_nas_temperature_drive_0_2 + - sensor.mahasri_nas_temperature_drive_0_3 + - sensor.mahasri_nas_temperature_drive_0_4 + + - type: entities + title: MAHASRI-NAS + show_header_toggle: false + entities: + - sensor.mahasri_nas_status + - sensor.mahasri_nas_network_up_eth0 + - sensor.mahasri_nas_network_up_eth1 + - sensor.mahasri_nas_system_temperature + - sensor.mahasri_nas_cpu_temperature diff --git a/packages/3dprinting.yaml b/packages/3dprinting.yaml index 25f1d0b..033139b 100644 --- a/packages/3dprinting.yaml +++ b/packages/3dprinting.yaml @@ -85,10 +85,10 @@ sensor: print_completion: value_template: > {% set seconds = states('sensor.octoprint_time_remaining')|int %} - {% if now().strftime('%s')|int | timestamp_custom("%A %D") == (now().strftime('%s') |int + seconds) | timestamp_custom("%A %D") %} - Today at {{- (now().strftime('%s')|int + seconds) | timestamp_custom("%l:%M %p") }} + {% if utcnow().strftime('%s')|int | timestamp_custom("%A %D") == (utcnow().strftime('%s') |int + seconds) | timestamp_custom("%A %D") %} + Today at {{ (utcnow().strftime('%s')|int + seconds) | timestamp_custom("%I:%M %p") }} {% else %} - {{ (now().strftime('%s') |int + seconds) | timestamp_custom("%A %D %l:%M %p") }} + {{ (utcnow().strftime('%s') |int + seconds) | timestamp_custom("%A %D %I:%M %p") }} {% endif %} - platform: template @@ -263,12 +263,12 @@ automation: - service: camera.snapshot data: entity_id: camera.3d_printer_camera - filename: "/home/homeassistant/.homeassistant/www/downloads/camera/3dprinter/print_latest.jpg" + filename: "/config/www/downloads/camera/3dprinter/print_latest.jpg" - service: notify.telegram data_template: title: "3D Printer" message: "Print Progress" data: photo: - - file: "/home/homeassistant/.homeassistant/www/downloads/camera/3dprinter/print_latest.jpg" + - file: "/config/www/downloads/camera/3dprinter/print_latest.jpg" caption: "3D Print Progress at {{ states('sensor.octoprint_job_percentage') }}%" diff --git a/packages/alarm_clock.yaml b/packages/alarm_clock.yaml deleted file mode 100644 index d9a3373..0000000 --- a/packages/alarm_clock.yaml +++ /dev/null @@ -1,171 +0,0 @@ -############################################################################### -# @author : Mahasri Kalavala -# @date : 09/30/2017 -# @package : Alarm Clock -# @description : Alarm Clock; Added AM/PM Selects -# TBD: Restore and Save previous values in MQTT -############################################################################### -homeassistant: - customize: - automation.alarm_clock: - icon: mdi:alarm-check - -input_number: - slider_hours: - name: Hours - initial: 6 - min: 0 - max: 11 - step: 1 - - slider_minutes: - name: Minutes - initial: 0 - min: 0 - max: 59 - step: 5 - -input_boolean: - week_day_only: - name: Weekdays Only - initial: on - icon: mdi:calendar-check - - am: - name: AM - initial: on - icon: mdi:weather-sunny - - pm: - name: PM - initial: off - icon: mdi:weather-night - -input_label: - alarm_current_time: - name: Current Alarm Time - icon: mdi:timer-outline - -############################################################################### -# _ _ _ -# /\ | | | | (_) -# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ -# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| -# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ -# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ -# -############################################################################### - -automation: - - alias: Update Current Alarm Time - initial_state: true - trigger: - - platform: homeassistant - event: start - - platform: state - entity_id: - - input_boolean.am - - input_boolean.pm - - input_number.slider_hours - - input_number.slider_minutes - action: - - service: input_label.set_value - entity_id: input_label.alarm_current_time - data_template: - value: > - {%- if states('input_number.slider_hours') | int < 10 -%} - {%- if states('input_number.slider_hours') |int == 0 %} - 12 - {%- else -%} - {{- 0 ~ states('input_number.slider_hours') |int -}} - {%- endif -%} - {%- else -%} - {{- states('input_number.slider_hours') |int -}} - {% endif -%}: - {%- if states('input_number.slider_minutes') | int < 10 -%} - {{- 0 ~ states('input_number.slider_minutes') |int -}} - {%- else -%} - {{- states('input_number.slider_minutes') |int -}} - {%- endif -%}{%- if states('input_boolean.am') == "on" %} AM{%- else %} PM{%- endif -%} - - - alias: AM Change OFF - initial_state: true - trigger: - platform: state - entity_id: input_boolean.am - from: "on" - to: "off" - action: - - service: input_boolean.turn_on - entity_id: input_boolean.pm - - service: input_boolean.turn_off - entity_id: input_boolean.am - - - alias: AM Change ON - initial_state: true - trigger: - platform: state - entity_id: input_boolean.am - from: "off" - to: "on" - action: - - service: input_boolean.turn_off - entity_id: input_boolean.pm - - service: input_boolean.turn_on - entity_id: input_boolean.am - - - alias: PM Change OFF - initial_state: true - trigger: - platform: state - entity_id: input_boolean.pm - from: "on" - to: "off" - action: - - service: input_boolean.turn_on - entity_id: input_boolean.am - - service: input_boolean.turn_off - entity_id: input_boolean.pm - - - alias: PM Change ON - initial_state: true - trigger: - platform: state - entity_id: input_boolean.pm - from: "off" - to: "on" - action: - - service: input_boolean.turn_off - entity_id: input_boolean.am - - service: input_boolean.turn_on - entity_id: input_boolean.pm - - - alias: Alarm Clock - initial_state: true - trigger: - platform: time_pattern - minutes: "/1" - seconds: 00 - condition: - - condition: template - value_template: "{{ states('binary_sensor.workday_sensor') == 'on' }}" - - condition: template - value_template: "{{ states('input_boolean.alarm_clock') == 'on' }}" - - condition: template - value_template: > - {% if states('input_boolean.am') == 'on' %} - {% set hour = (states('input_number.slider_hours') | int) %} - {% else %} - {% set hour = (states('input_number.slider_hours') | int) + 12 %} - {% endif %} - {{ 'true' if states('sensor.time').split(':')[0] |int == hour else 'false' }} - - condition: template - value_template: "{{ 'true' if (states('sensor.time').split(':')[1] |int == states('input_number.slider_minutes') |int) else 'false' }}" - action: - - service: script.notify_me - data_template: - message: "Alarm Clock: Wake Up!!!" - - service: script.voice_notify - data_template: - message: > - "Hello! This is an alarm clock reminder! Have a great day!" diff --git a/packages/apcups.yaml b/packages/apcups.yaml deleted file mode 100644 index a591905..0000000 --- a/packages/apcups.yaml +++ /dev/null @@ -1,77 +0,0 @@ -# # ############################################################################### -# # # @author : Mahasri Kalavala -# # # @date : 11/27/2017 -# # # @package : APC UPS Backup -# # # @description : UPS Backup -# # ############################################################################### -# apcupsd: -# host: 127.0.0.1 -# port: 3551 - -# sensor: -# - platform: apcupsd -# # name: Network Backup UPS -# resources: -# - bcharge -# - linev -# - loadpct -# - nominv -# - numxfers -# - status -# - timeleft -# - tonbatt - -# ############################################################################### -# # _ _ _ -# # /\ | | | | (_) -# # / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ -# # / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| -# # / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ -# # /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ -# # -# ############################################################################### - -# automation: -# - alias: UPS State Change -# initial_state: true -# trigger: -# - platform: state -# entity_id: sensor.ups_status -# action: -# - service: script.notify_me -# data_template: -# message: "UPS Status changed from {{ trigger.from_state.state }} -# to {{ trigger.to_state.state }} -# at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p, %B %d,%Y', true) }}." - -# # # Power Failure Notification -# # ############################################################################### -# - alias: Power Failure -# initial_state: true -# trigger: -# - platform: state -# entity_id: sensor.ups_status -# from: "ONLINE" -# to: "ONBATT" -# action: -# - service: script.notify_me -# data_template: -# message: -# Power failure at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %B-%d,%Y', true) }}. -# Battery can last for {{ states('sensor.ups_time_left') }} minutes. - -# # # Power Restored Notification -# # ############################################################################### -# - alias: Power Restored -# initial_state: true -# trigger: -# - platform: state -# entity_id: sensor.ups_status -# from: "ONBATT" -# to: "ONLINE" -# action: -# - service: script.notify_me -# data_template: -# message: -# Power restored at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %B-%d,%Y', true) }}. -# Ran on battery for {{ "%0.2f" % (states('sensor.ups_time_on_battery') | int / 60 |float) }} minutes. diff --git a/packages/batteries.yaml b/packages/batteries.yaml index cfeee2d..b7d0656 100644 --- a/packages/batteries.yaml +++ b/packages/batteries.yaml @@ -433,47 +433,6 @@ automation: data_template: message: "{{ trigger.to_state.attributes.friendly_name.split(' ')[1] }}'s phone battery is : {{ trigger.to_state.attributes.battery }}%." - # ############################################################################### - # # Automation: Notify of Sensor's Low Battery - # ############################################################################### - # - alias: Alert Low Battery Level of Sensors - # initial_state: true - # trigger: - # platform: state - # entity_id: - # - binary_sensor.motion_sensor_158d00016c2d0e - # - binary_sensor.motion_sensor_158d00016db6d2 - # - binary_sensor.motion_sensor_158d0001a25041 - # - binary_sensor.motion_sensor_158d0001a662fe - # - sensor.illumination_158d00016c2d0e - # - sensor.illumination_158d00016db6d2 - # - sensor.illumination_158d0001a25041 - # - sensor.illumination_158d0001a662fe - # - zwave.audio_detector - # - zwave.back_door_sensor - # - zwave.basement_door_sensor - # - zwave.downstairs_multi_sensor - # - zwave.front_room_multi_sensor - # - zwave.front_room_window_sensor - # - zwave.garage_door_sensor - # - zwave.guest_bedroom_multi_sensor - # - zwave.kitchen_motion_sensor - # - zwave.single_car_garage_door_tilt_sensor - # - zwave.stairs_motion_sensor - # - zwave.tv_multi_sensor - # - zwave.two_car_garage_door_tilt_sensor - # - zwave.upstairs_multi_sensor - # - zwave.wallmote - # action: - # - service: script.voice_notify - # data_template: - # message: >- - # {%- for item in states if item.entity_id.split('.')[0] != "device_tracker" -%} - # {%- for attrib in item.attributes|sort() if 'battery' in attrib and item.attributes[attrib] | int < 10 %} - # {{ item.name }} Battery is at {{ item.attributes[attrib] }} percent - # {%- endfor -%} - # {%- endfor -%} - - alias: Check Wi-Fi Status of iPhones At Home initial_state: true trigger: diff --git a/packages/cameras.yaml b/packages/cameras.yaml index af026ff..a398fad 100644 --- a/packages/cameras.yaml +++ b/packages/cameras.yaml @@ -45,37 +45,56 @@ camera: username: !secret camera_username password: !secret camera_password + - platform: generic + name: Porch Camera + still_image_url: !secret porch_camera_url + stream_source: porch_camera_rtsp_url + verify_ssl: false + authentication: basic + username: !secret porch_camera_username + password: !secret porch_camera_password + + # - platform: ffmpeg + # input: porch_camera_rtsp_url + # name: Porch Camera + - platform: mjpeg mjpeg_url: !secret garage_camera_url name: Garage Camera - - platform: mjpeg - mjpeg_url: !secret kitchen_camera_url - name: Kitchen Camera - - # - platform: mjpeg - # mjpeg_url: !secret frontroom_camera_url - # name: Frontroom Camera - - platform: local_file name: Frontdoor Latest Scan - file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg" + file_path: "/config/www/downloads/camera/frontdoor/frontdoor_latest.jpg" - platform: local_file name: Driveway Latest Scan - file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg" + file_path: "/config/www/downloads/camera/driveway/driveway_latest.jpg" - platform: local_file name: Patio Latest Scan - file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg" + file_path: "/config/www/downloads/camera/patio/patio_latest.jpg" - platform: local_file name: Playarea Latest Scan - file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_latest.jpg" + file_path: "/config/www/downloads/camera/playarea/playarea_latest.jpg" - platform: local_file name: Garage Latest Scan - file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg" + file_path: "/config/www/downloads/camera/garage/garage_latest.jpg" - platform: local_file name: 3dPrinter Latest Scan - file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/3dprinter/print_latest.jpg" + file_path: "/config/www/downloads/camera/3d/3d_latest.jpg" + - platform: local_file + name: Porch Latest Scan + file_path: "/config/www/downloads/camera/porch/porch_latest.jpg" +shell_command: + reset_camera_stream: !secret camera_stream_restart_docker_url + +switch: + - platform: rest + resource: !secret camera_stream_docker_url + name: Camera Stream + body_on: '{"state": "start"}' + body_off: '{"state": "stop"}' + is_on_template: '{{ value_json is not none and value_json.state == "running" }}' + binary_sensor: - platform: hikvision name: Frontdoor Camera @@ -105,6 +124,14 @@ binary_sensor: username: !secret camera_username password: !secret camera_password + - platform: mqtt + state_topic: "myhome/dafang_1/motion" + name: "Porch Motion" + device_class: motion + payload_on: "ON" + payload_off: "OFF" + value_template: "{{ value }}" + image_processing: - platform: tensorflow scan_interval: 10000 @@ -115,11 +142,12 @@ image_processing: - entity_id: camera.playarea_camera - entity_id: camera.garage_camera - entity_id: camera.3d_printer_camera + - entity_id: camera.porch_camera file_out: - - "/home/homeassistant/.homeassistant/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_latest.jpg" - - "/home/homeassistant/.homeassistant/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg" + - "/config/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_latest.jpg" + - "/config/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg" model: - graph: /home/homeassistant/.homeassistant/tensorflow/models/efficientdet_d0_coco17_tpu-32/ + graph: /config/tensorflow/models/efficientdet_d0_coco17_tpu-32/ input_label: current_stream: @@ -194,6 +222,26 @@ rest_command: ############################################################################### automation: + + - alias: Scan Porch Camera On Motion + initial_state: true + trigger: + - platform: state + entity_id: binary_sensor.porch_motion + from: "off" + to: "on" + action: + - service: camera.snapshot + data_template: + entity_id: "camera.porch_camera" + filename: + "{{ '/config/www/downloads/camera/porch/porch_' ~ + (states.binary_sensor.porch_motion.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + - service: image_processing.scan + data_template: + entity_id: image_processing.tensorflow_porch_camera + # # Scan front door and driveway cameras when motion detected # if the garage doors are open, scan garage cameras as well @@ -260,7 +308,7 @@ automation: {%- endif -%} data: images: - - "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg" + - "/config/www/downloads/camera/frontdoor/frontdoor_latest.jpg" - service: script.notify_me_with_picture data_template: @@ -277,7 +325,7 @@ automation: {% else %} Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. {%- endif %} - file: "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg" + file: "/config/www/downloads/camera/frontdoor/frontdoor_latest.jpg" caption: "Front Door Motion" - condition: template @@ -357,7 +405,7 @@ automation: {% else %} Motion detected at the driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. {%- endif -%} - file: "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg" + file: "/config/www/downloads/camera/driveway/driveway_latest.jpg" caption: "Driveway Motion" - service: notify.notify_smtp @@ -377,7 +425,7 @@ automation: {%- endif -%} data: images: - - "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg" + - "/config/www/downloads/camera/driveway/driveway_latest.jpg" - condition: template value_template: > @@ -466,7 +514,7 @@ automation: {% else %} Motion detected in the garage on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. {%- endif -%} - file: "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg" + file: "/config/www/downloads/camera/garage/garage_latest.jpg" caption: "Garage Motion" - service: notify.notify_smtp @@ -486,7 +534,7 @@ automation: {%- endif -%} data: images: - - "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg" + - "/config/www/downloads/camera/garage/garage_latest.jpg" # # When motion detected in the backyard, scan both cameras # @@ -552,7 +600,7 @@ automation: {% else %} Motion detected in the backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. {%- endif -%} - file: "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg" + file: "/config/www/downloads/camera/patio/patio_latest.jpg" caption: "Backyard Motion" - service: notify.notify_smtp @@ -572,8 +620,8 @@ automation: {%- endif -%} data: images: - - "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg" - - "/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_latest.jpg" + - "/config/www/downloads/camera/patio/patio_latest.jpg" + - "/config/www/downloads/camera/playarea/playarea_latest.jpg" # Before you think this code is crazy, here is an explanation. # @@ -626,21 +674,28 @@ automation: data_template: entity_id: "camera.frontdoor_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ + "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ + (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + - service: camera.snapshot + data_template: + entity_id: "camera.porch_camera" + filename: + "{{ '/config/www/downloads/camera/porch/porch_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - service: camera.snapshot data_template: entity_id: "camera.driveway_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ + "{{ '/config/www/downloads/camera/driveway/driveway_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - service: camera.snapshot data_template: entity_id: "camera.garage_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + "{{ '/config/www/downloads/camera/garage/garage_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" @@ -650,15 +705,15 @@ automation: message: "Motion Detected At Front Door, Check images:" data: photo: - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ + - file: "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Front Door" - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ + - file: "{{ '/config/www/downloads/camera/driveway/driveway_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Driveway" - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + - file: "{{ '/config/www/downloads/camera/garage/garage_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Garage" @@ -669,13 +724,13 @@ automation: message: 'Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") -}}. Please see the images below.' data: images: - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ + - "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ + - "{{ '/config/www/downloads/camera/driveway/driveway_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + - "{{ '/config/www/downloads/camera/garage/garage_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" @@ -718,21 +773,21 @@ automation: data_template: entity_id: "camera.frontdoor_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ + "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - service: camera.snapshot data_template: entity_id: "camera.driveway_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ + "{{ '/config/www/downloads/camera/driveway/driveway_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - service: camera.snapshot data_template: entity_id: "camera.garage_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + "{{ '/config/www/downloads/camera/garage/garage_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" @@ -742,15 +797,15 @@ automation: message: "Motion Detected At Driveway, Check images:" data: photo: - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ + - file: "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Front Door" - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ + - file: "{{ '/config/www/downloads/camera/driveway/driveway_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Driveway" - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + - file: "{{ '/config/www/downloads/camera/garage/garage_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Garage" @@ -761,13 +816,13 @@ automation: message: 'Motion detected at the Driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.' data: images: - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ + - "{{ '/config/www/downloads/camera/driveway/driveway_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ + - "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + - "{{ '/config/www/downloads/camera/garage/garage_' ~ (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" @@ -821,7 +876,7 @@ automation: data_template: entity_id: "camera.patio_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~ + "{{ '/config/www/downloads/camera/patio/patio_' ~ (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" @@ -829,7 +884,7 @@ automation: data_template: entity_id: "camera.playarea_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~ + "{{ '/config/www/downloads/camera/playarea/playarea_' ~ (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" @@ -839,11 +894,11 @@ automation: message: "Motion Detected in the Backyard, Check images:" data: photo: - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~ + - file: "{{ '/config/www/downloads/camera/patio/patio_' ~ (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Patio" - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~ + - file: "{{ '/config/www/downloads/camera/playarea/playarea_' ~ (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Playarea" @@ -854,10 +909,10 @@ automation: message: 'Motion detected in the Backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.' data: images: - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~ + - "{{ '/config/www/downloads/camera/patio/patio_' ~ (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~ + - "{{ '/config/www/downloads/camera/playarea/playarea_' ~ (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" @@ -1023,3 +1078,8 @@ script: data_template: url: !secret playarea_camera_stream_url name: "playarea" + reset_camera_stream: + alias: Reset Camera Stream + sequence: + - service: shell_command.reset_camera_stream + - service_template: "script.{{- ['frontdoor', 'driveway', 'patio', 'playarea'] | random -}}_cam" diff --git a/packages/daily_routines.yaml b/packages/daily_routines.yaml index bcfe71b..cb2d213 100644 --- a/packages/daily_routines.yaml +++ b/packages/daily_routines.yaml @@ -108,9 +108,9 @@ automation: state: "on" action: - service: switch.turn_off - entity_id: switch.frontyard_light + entity_id: switch.frontyard - service: switch.turn_off - entity_id: switch.wemobackyardlightswitch + entity_id: switch.backyard ############################################################################### # Turn OF Kitchen Lights after 3 hours of wake up time during school/work days @@ -162,9 +162,9 @@ automation: state: "on" action: - service: switch.turn_on - entity_id: switch.frontyard_light + entity_id: switch.frontyard - service: switch.turn_on - entity_id: switch.wemobackyardlightswitch + entity_id: switch.backyard ############################################################################### # Turn indoor lights on 30 minutes before sunset @@ -218,6 +218,8 @@ automation: entity_id: switch.kids_bed_accent - service: switch.turn_on entity_id: switch.front_room + - service: switch.turn_on + entity_id: switch.officeroom_accent_lights # ÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛ # °°ÛÛÛÛÛÛ °°ÛÛÛ °°° °°ÛÛÛ °°ÛÛÛ diff --git a/packages/door_sensors.yaml b/packages/door_sensors.yaml index 191a10d..7abee78 100644 --- a/packages/door_sensors.yaml +++ b/packages/door_sensors.yaml @@ -11,9 +11,9 @@ homeassistant: states('binary_sensor.door_window_sensor_158d0004248d5b') == "off" %} {% set doors = "Both Garage Doors are now CLOSED" %} {% else %} - {% if trigger.to_state.state | lower == "on" %} + {% if trigger.from_state.state != trigger.to_state.state and trigger.to_state.state | lower == "on" %} Attention! Your {{ trigger.to_state.attributes.friendly_name }} is now OPENED! - {% elif trigger.to_state.state | lower == "off" %} + {% elif trigger.from_state.state != trigger.to_state.state and trigger.to_state.state | lower == "off" %} Your {{ trigger.to_state.attributes.friendly_name }} is now CLOSED! {% endif %} {% endif %} @@ -77,13 +77,6 @@ binary_sensor: payload_off: "off" value_template: "{{ value }}" - - platform: mqtt - state_topic: "/frontroom/motion" - name: "Frontroom Camera Motion" - device_class: motion - payload_on: "on" - payload_off: "off" - value_template: "{{ value }}" ############################################################################### # _ _ _ @@ -111,31 +104,20 @@ automation: payload: "off" retain: false - - alias: Turn Garage Lights On When Motion Detected + - alias: Turn Garage Lights On When Motion Detected or Door Opened initial_state: true trigger: - platform: state entity_id: binary_sensor.motion_sensor_158d000272bf48 to: "on" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.turn_on entity_id: switch.garage - - alias: Frontroom Camera Motion Reset - initial_state: true - trigger: - - platform: state - entity_id: binary_sensor.frontroom_camera_motion - to: "on" - from: "off" - action: - - delay: "00:00:30" - - service: mqtt.publish - data: - topic: "/frontroom/motion" - payload: "off" - retain: false - ################################################################################ # Notifies when either of the garage door is opened or closed ############################################################################### @@ -177,7 +159,7 @@ automation: data_template: entity_id: "camera.garage_camera" filename: - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + "{{ '/config/www/downloads/camera/garage/garage_' ~ ((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}" @@ -200,7 +182,7 @@ automation: {%- endif %} Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below. file: > - {{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + {{ '/config/www/downloads/camera/garage/garage_' ~ ((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }} caption: "{{ trigger.to_state.attributes.friendly_name }}: {{ 'OPEN' if trigger.to_state.state == 'on' else 'CLOSED' }}" @@ -225,7 +207,7 @@ automation: Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below. data: images: - - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + - "{{ '/config/www/downloads/camera/garage/garage_' ~ ((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}" @@ -241,9 +223,12 @@ automation: entity_id: - binary_sensor.door_window_sensor_158d000424a6d6 # Front Door - binary_sensor.door_window_sensor_158d00040ad8fc # Back Door + - binary_sensor.door_window_sensor_158d0004880f30 # Garage Entry Door condition: - condition: template value_template: "{{ trigger.from_state.state not in ['unavailable', 'unknown'] }}" + - condition: template + value_template: "{{ trigger.from_state.state != trigger.to_state.state }}" action: - service: script.voice_notify data_template: @@ -280,12 +265,15 @@ automation: entity_id: binary_sensor.door_window_sensor_158d000424a6d6 to: "on" condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" + action: + - service: script.frontdoor_cam - condition: template value_template: "{{ states('sun.sun') == 'below_horizon' }}" - action: - service: switch.turn_on entity_id: switch.front_room - - service: script.frontdoor_cam - alias: When Back Door Opens Turn Kitchen Lights ON initial_state: true @@ -294,12 +282,15 @@ automation: entity_id: binary_sensor.door_window_sensor_158d00040ad8fc to: "on" condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" + action: + - service_template: "script.{{ ['patio_cam', 'playarea_cam'] | random }}" - condition: template value_template: "{{ states('sun.sun') == 'below_horizon' }}" - action: - service: switch.turn_on entity_id: switch.kitchen - - service_template: "script.{{ ['patio_cam', 'playarea_cam'] | random }}" ################################################################################ # When I open the garage door @@ -311,7 +302,7 @@ automation: initial_state: true trigger: platform: state - entity_id: binary_sensor.garage_door_sensor_sensor + entity_id: binary_sensor.door_window_sensor_158d0004880f30 to: "on" condition: condition: or @@ -324,8 +315,52 @@ automation: value_template: "{{ states('binary_sensor.door_window_sensor_158d0004248d5b') == 'off' }}" - condition: template value_template: "{{ states('binary_sensor.door_window_sensor_158d0004231f7b') == 'off' }}" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.turn_on entity_id: switch.garage - service: timer.start entity_id: timer.timer_garage + +# +# Only turn ON lights at 25% at night +# + - alias: Master Bathroom Door Opened After Dark + initial_state: true + trigger: + platform: state + entity_id: binary_sensor.door_window_sensor_158d000424718f + to: "on" + condition: + - condition: template + value_template: '{{states.sun.sun.state == "below_horizon"}}' + - condition: state + entity_id: input_boolean.light_automations + state: "on" + action: + - service: light.turn_on + entity_id: light.master_bathroom_lights + data: + brightness: 64 # 25% of brightness + transition: 5 + + - alias: Master Bathroom Door Opened During The Day + initial_state: true + trigger: + platform: state + entity_id: binary_sensor.door_window_sensor_158d000424718f + to: "on" + condition: + - condition: template + value_template: '{{states.sun.sun.state == "above_horizon"}}' + - condition: state + entity_id: input_boolean.light_automations + state: "on" + action: + - service: light.turn_on + entity_id: light.master_bathroom_lights + data: + brightness: 255 # 100% of brightness + transition: 10 diff --git a/packages/frontend_themes.yaml b/packages/frontend_themes.yaml deleted file mode 100644 index 69d79ae..0000000 --- a/packages/frontend_themes.yaml +++ /dev/null @@ -1,90 +0,0 @@ -frontend: - themes: - dark_red: - dark-primary-color: "#c66900" - disabled-text-color: "#545454" - divider-color: "rgba(255, 255, 255, 0.12)" - light-primary-color: "#e06c6c" - paper-card-background-color: "#1d1d1d" - paper-grey-200: "#191919" - paper-item-icon-color: "#d3d3d3" - paper-listbox-background-color: "#202020" - primary-background-color: "#303030" - primary-color: "#d32f2f" - primary-text-color: "#cfcfcf" - secondary-background-color: "#131313" - sidebar-text_-_background: "#62717b" - paper-card-header-color: "var(--paper-item-icon-color)" - paper-item-icon-active-color: "var(--primary-color)" - paper-item-icon_-_color: "var(--primary-text-color)" - paper-listbox-color: "var(--primary-text-color)" - paper-grey-50: "var(--primary-text-color)" - paper-slider-active-color: "var(--primary-color)" - paper-slider-knob-color: "var(--primary-color)" - paper-slider-knob-start-color: "var(--primary-color)" - paper-slider-pin-color: "var(--primary-color)" - paper-slider-secondary-color: "var(--light-primary-color)" - paper-toggle-button-checked-ink-color: "var(--dark-primary-color)" - paper-toggle-button-checked-button-color: "var(--primary-color)" - paper-toggle-button-checked-bar-color: "var(--light-primary-color)" - paper-toggle-button-unchecked-bar-color: "var(--primary-text-color)" - secondary-text-color: "var(--primary-color)" - table-row-background-color: "var(--paper-card-background-color)" - table-row-alternative-background-color: "var(--sidebar-text_-_background)" - light_pink: - dark-primary-color: "#ff084a" - primary-color: "#fc3468" - light-primary-color: "#ffc2cd" - paper-toggle-button-checked-ink-color: "#ff6289" - paper-toggle-button-checked-button-color: "#ff084a" - paper-toggle-button-checked-bar-color: "#ffc2cd" - paper-slider-knob-color: "#ff084a" - paper-slider-knob-start-color: "#ff084a" - paper-slider-pin-color: "#ff084a" - paper-slider-active-color: "#ff084a" - paper-slider-secondary-color: "#ff93ac" - -############################################################################### -# _ _ _ -# /\ | | | | (_) -# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ -# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| -# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ -# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ -# -############################################################################### -automation: - - alias: Random Theme At Startup - initial_state: true - trigger: - - platform: homeassistant - event: start - action: - - service_template: frontend.set_theme - data_template: - name: > - {% if states('sun.sun') == "above_horizon" %} - {{ ["light_pink", "default"] | random }} - {% else %} - {{ [ "dark_red" ] | random }} - {% endif %} - - - alias: Random Darker Theme At Sunset - initial_state: true - trigger: - platform: sun - event: sunset - action: - - service: frontend.set_theme - data_template: - name: '{{ ["dark_red"] | random }}' - - - alias: Random Lighter Theme At Sunrise - initial_state: true - trigger: - platform: sun - event: sunrise - action: - - service: frontend.set_theme - data_template: - name: '{{ ["light_pink", "default"] | random }}' diff --git a/packages/homeassistant.yaml b/packages/homeassistant.yaml index b874098..abace18 100644 --- a/packages/homeassistant.yaml +++ b/packages/homeassistant.yaml @@ -45,16 +45,6 @@ sensor: arg: ens160 - type: last_boot - - platform: rest - resource: https://pypi.python.org/pypi/homeassistant/json - name: HA Current Version - value_template: "{{ value_json.info.version }}" - - - platform: command_line - name: HA Installed Version - command: /srv/homeassistant/bin/hass --version - scan_interval: 86400 - - platform: mqtt state_topic: "iotlink/domain/winsvr2016/lwt" name: "Windows Server" @@ -79,57 +69,3 @@ sensor: state_topic: "iotlink/domain/winsvr2016/windows-monitor/stats/system/idle-time" name: "Windows Server Idle Time" value_template: "{{ value }}" - -############################################################################### -# _ _ _ -# /\ | | | | (_) -# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ -# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| -# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ -# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ -# -############################################################################### - -automation: - # Notify me when I get a new public IP from my ISP - ###################################################### - - - alias: Notify Of New External IP - initial_state: true - trigger: - platform: state - entity_id: sensor.external_ip - condition: - - condition: template - value_template: "{% if trigger.from_state and trigger.to_state %} true {% else %} false {% endif %}" - - condition: template - value_template: "{% if trigger.from_state.state == 'unknown' %} false {% else %} true {% endif %}" - - condition: template - value_template: "{% if trigger.to_state.state == 'unknown' %} false {% else %} true {% endif %}" - - condition: template - value_template: "{{ trigger.from_state.state != trigger.to_state.state }}" - action: - - service: script.notify_me - data_template: - message: "Your External IP changed from {{ trigger.from_state.state }} to {{ trigger.to_state.state }}" - - - alias: Update Available Notification - initial_state: true - trigger: - platform: state - entity_id: updater.updater - action: - - service: script.notify_me - data: { "message": "New HASS update is available. Please update!" } - - - alias: Remind domain renewal - initial_state: true - trigger: - - platform: numeric_state - entity_id: sensor.my_domain - below: 30 - action: - - service: persistent_notification.create - data: - title: "Domain Renew" - message: "It is time to renew your domain. The domain will expire in {{ states('sensor.my_domain') }} days." diff --git a/packages/homesecurity.yaml b/packages/homesecurity.yaml index ff8fa10..deded29 100644 --- a/packages/homesecurity.yaml +++ b/packages/homesecurity.yaml @@ -16,10 +16,10 @@ homeassistant: friendly_name: Home Security System icon: mdi:security -simplisafe: - accounts: - - username: !secret simplisafe_username - password: !secret simplisafe_password +# simplisafe: +# accounts: +# - username: !secret simplisafe_username +# password: !secret simplisafe_password ############################################################################### # _ _ _ @@ -36,7 +36,7 @@ automation: # Leeo light - color indication of Home Security System # BLUE for Secured (Home and Away), and RED for OFF or Trigerred ############################################################################### - - alias: Home Security Status Leeo Color + - alias: Home Security Status Xiaomi Color initial_state: true trigger: platform: state @@ -60,6 +60,104 @@ automation: script.xiaomi_red {% endif %} +# +# This automation will trigger when the Home Security System is "Triggered" +# This will send all relevant information - Door Statuses and Camera snapshots around the home +# Meanwhile Home Security Company will be calling and/or dispatching Police over to the house. +# This should give you enough information to have a good conversation with the Home Security System company when not at home + + - alias: Home Security Triggered + initial_state: true + trigger: + platform: state + entity_id: alarm_control_panel.home + to: "triggered" + action: + - service: script.notify_me + data_template: + message: > + {% set ns = namespace(openDoorCount=0, doorNames="") %} + {%- set sensors = [ + 'binary_sensor.door_window_sensor_158d000424a6d6', 'binary_sensor.door_window_sensor_158d00040ad8fc', 'binary_sensor.door_window_sensor_158d0004880f30', + 'binary_sensor.door_window_sensor_158d000424718f', 'binary_sensor.door_window_sensor_158d0004231f7b', 'binary_sensor.door_window_sensor_158d0004248d5b', + 'binary_sensor.motion_sensor_158d00016c2d0e', 'binary_sensor.motion_sensor_158d00016db6d2', 'binary_sensor.motion_sensor_158d0001a25041', + 'binary_sensor.motion_sensor_158d0001a662fe','binary_sensor.motion_sensor_158d00024e57d3','binary_sensor.motion_sensor_158d00024e57fb', + 'binary_sensor.motion_sensor_158d00024e842c','binary_sensor.motion_sensor_158d00024ee084','binary_sensor.motion_sensor_158d000272bed1', + 'binary_sensor.motion_sensor_158d000272bf48','binary_sensor.motion_sensor_158d000272bfd7','binary_sensor.motion_sensor_158d000464c25a', + 'binary_sensor.motion_sensor_158d00047b6f69' + ] -%} + + {%- for item in sensors if states(item) == "on" %} + {% set ns.doorNames = ns.doorNames + state_attr(item, "friendly_name") + (", " if not loop.last else " ") %} + {% set ns.openDoorCount = ns.openDoorCount + 1 %} + {%- endfor %} + + Your Home Security System is triggered. {{ "But ALL Doors are CLOSED! Must be a spider on one of the sensor(s) triggered it!" if ns.openDoorCount == 0 else 'Following sensors are ON currently:' }} + {{ ns.doorNames }} + + - service: camera.snapshot + data_template: + entity_id: "camera.frontdoor_camera" + filename: + "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ + (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + - service: camera.snapshot + data_template: + entity_id: "camera.driveway_camera" + filename: + "{{ '/config/www/downloads/camera/driveway/driveway_' ~ + (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + - service: camera.snapshot + data_template: + entity_id: "camera.garage_camera" + filename: + "{{ '/config/www/downloads/camera/garage/garage_' ~ + (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + - service: camera.snapshot + data_template: + entity_id: "camera.patio_camera" + filename: + "{{ '/config/www/downloads/camera/patio/patio_' ~ + (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + - service: camera.snapshot + data_template: + entity_id: "camera.playarea_camera" + filename: + "{{ '/config/www/downloads/camera/playarea/playarea_' ~ + (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + + - service: notify.telegram + data_template: + title: "Camera Snapshots" + message: "Please check the camera images just to be sure!" + data: + photo: + - file: "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~ + (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + caption: "Front Door" + - file: "{{ '/config/www/downloads/camera/driveway/driveway_' ~ + (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + caption: "Driveway" + - file: "{{ '/config/www/downloads/camera/garage/garage_' ~ + (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + caption: "Garage" + - file: "{{ '/config/www/downloads/camera/patio/patio_' ~ + (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + caption: "Patio" + - file: "{{ '/config/www/downloads/camera/playarea/playarea_' ~ + (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') + .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + caption: "Playarea" + ############################################################################### # Notify Security System State Change ############################################################################### @@ -229,7 +327,7 @@ automation: - service: camera.snapshot data_template: entity_id: "camera.garage_camera" - filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (state_attr('automation.home_security_system_and_garage_door_check','last_updated') ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" + filename: "{{ '/config/www/downloads/camera/garage/garage_' ~ (state_attr('automation.home_security_system_and_garage_door_check','last_updated') ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" - service: notify.telegram data_template: @@ -237,7 +335,7 @@ automation: message: "Home Security System is ON, but Garage Doors are OPEN!" data: photo: - - file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ + - file: "{{ '/config/www/downloads/camera/garage/garage_' ~ (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" caption: "Garage" diff --git a/packages/lights.yaml b/packages/lights.yaml deleted file mode 100644 index f7f6daa..0000000 --- a/packages/lights.yaml +++ /dev/null @@ -1,345 +0,0 @@ -############################################################################### -# @author : Mahasri Kalavala -# @date : 04/15/2017 -# @package : Lights -# @description : Lights, Lights, Lights! All the Lights are here! -############################################################################### -homeassistant: - customize: - switch.frontyard_light: - icon: mdi:lightbulb - friendly_name: Front Porch Lights - emulated_hue_name: Front Yard Lights - homebridge_name: Front Yard Lights - - switch.wemoswitch1: - icon: mdi:lamp - friendly_name: TV Switch - emulated_hue_name: TV Switch - homebridge_name: TV Switch - - switch.wemobackyardlightswitch: - icon: mdi:lightbulb - friendly_name: Backyard Lights - emulated_hue_name: Backyard Lights - homebridge_name: Backyard Lights - - switch.guest_bedroom: - icon: mdi:lightbulb - friendly_name: Guest Bedroom 1 - emulated_hue_name: Guest Bedroom 1 - homebridge_name: Guest Bedroom 1 - - switch.prayer_room: - icon: mdi:lightbulb - friendly_name: Guest Bedroom 2 - emulated_hue_name: Guest Bedroom 2 - homebridge_name: Guest Bedroom 2 - - switch.kids_bed_accent: - friendly_name: Hasika's Bed Accent Lights - assumed_state: false - icon: mdi:lightbulb - switch.front_room: - friendly_name: Front Room Light - assumed_state: false - icon: mdi:lightbulb - switch.basement_left: - friendly_name: Basement Theater Lights - assumed_state: false - icon: mdi:lightbulb - switch.basement_right: - friendly_name: Basement Right Side Lights - assumed_state: false - icon: mdi:lightbulb - switch.kitchen: - friendly_name: Kitchen Light - assumed_state: false - icon: mdi:lightbulb - switch.office_room: - friendly_name: Office Room Lights - assumed_state: false - icon: mdi:lightbulb - switch.kids_bedroom: - friendly_name: Kids Bedroom - icon: mdi:lightbulb - switch.garage: - friendly_name: Garage Lights - icon: mdi:lightbulb - - light.hue_color_lamp_1: - friendly_name: Family Room Light 1 - color_set: false - light.hue_color_lamp_2: - friendly_name: Family Room Light 2 - color_set: false - light.hue_color_lamp_3: - friendly_name: Family Room Light 3 - color_set: false - input_boolean.short_flash: - icon: mdi:flash - friendly_name: Short Flash - input_boolean.long_flash: - icon: mdi:flash - friendly_name: Long Flash - input_boolean.animate_downstairs_lights: - icon: mdi:flash-outline - friendly_name: Animate Family Room Lights - input_boolean.animate_upstairs_lights: - icon: mdi:flash-outline - friendly_name: Animate Master Bedroom Lights -# hue: -# bridges: -# - host: !secret philips_hue_ipaddress - -tplink: - discovery: false - switch: - # In-wall switches - - host: !secret tplink_kids_bedroom - - host: !secret tplink_guest_bedroom_1 - - host: !secret tplink_guest_bedroom_2 - - host: !secret tplink_garage - - host: !secret tplink_basement_left - - host: !secret tplink_basement_right - - host: !secret tplink_kitchen - - host: !secret tplink_office_room - - host: !secret tplink_front_room - - # Smart Outlets - - host: !secret tplink_smart_outlet1 - #name: Downstairs Fragrance Outlet - - host: !secret tplink_smart_outlet2 - #name: Downstairs 3d printer Outlet - - host: !secret tplink_smart_outlet3 - #name: Upstairs Fragrance Outlet - - host: !secret tplink_kids_bed_accent_light - #name: Kids Bed Accent Light - -wemo: - discovery: false - static: - - !secret wemo_switch_1 - - !secret wemo_switch_2 - - !secret wemo_switch_3 - - !secret wemo_sharp_tv - -input_boolean: - animate_upstairs_lights: - name: Animate Master Bedroom Lights - initial: off - animate_downstairs_lights: - name: Animate Family Room Lights - initial: off - long_flash: - name: Long Flash Lights - initial: off - short_flash: - name: Long Flash Lights - initial: off - -light: - - platform: group - name: Family Room Lights - entities: - - light.hue_color_lamp_1 - - light.hue_color_lamp_2 - - light.hue_color_lamp_3 - - - platform: group - name: Master Bedroom Lights - entities: - - light.master_bedroom_1 - - light.master_bedroom_2 - -############################################################################### -# _ _ _ -# /\ | | | | (_) -# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ -# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| -# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ -# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ -# -############################################################################### - -automation: - # Animate Master Bedroom Lights - ############################################################################### - - alias: Animate Master Bedroom Lights - initial_state: true - trigger: - platform: time_pattern - seconds: "/5" - condition: - - condition: state - entity_id: input_boolean.animate_upstairs_lights - state: "on" - - condition: state - entity_id: input_boolean.light_automations - state: "on" - action: - - service: light.turn_on - data: - entity_id: group.master_bedroom_lights - transition: 5 - brightness: 255 - color_temp: 366 - data_template: - rgb_color: - [ - '{{ "{0:d}".format(range(0, 255)|random) }}', - '{{ "{0:d}".format(range(0, 255)|random) }}', - '{{ "{0:d}".format(range(0, 255)|random) }}', - ] - - # Restore Master Bedroom Lights - ############################################################################### - - alias: Restore Masterbedroom Lights - initial_state: true - trigger: - platform: state - entity_id: input_boolean.animate_upstairs_lights - to: "off" - condition: - - condition: state - entity_id: input_boolean.light_automations - state: "on" - action: - - service: light.turn_on - data: - entity_id: group.master_bedroom_lights - transition: 5 - rgb_color: [224, 175, 102] - brightness: 10 - color_temp: 366 - - # Animate Familyroom Lights - ############################################################################### - - alias: Animate Familyroom Lights - initial_state: true - trigger: - platform: time_pattern - seconds: "/5" - condition: - - condition: state - entity_id: input_boolean.animate_downstairs_lights - state: "on" - - condition: state - entity_id: input_boolean.light_automations - state: "on" - action: - - service: light.turn_on - data: - entity_id: group.family_room_lights - transition: 5 - brightness: 255 - color_temp: 366 - data_template: - rgb_color: - [ - '{{ "{0:d}".format(range(0, 255)|random) }}', - '{{ "{0:d}".format(range(0, 255)|random) }}', - '{{ "{0:d}".format(range(0, 255)|random) }}', - ] - - # Restore Familyroom Lights - ############################################################################### - - alias: Restore Familyroom Lights - initial_state: true - trigger: - platform: state - entity_id: input_boolean.animate_downstairs_lights - to: "off" - condition: - - condition: state - entity_id: input_boolean.light_automations - state: "on" - action: - - service: light.turn_on - data: - entity_id: group.family_room_lights - transition: 5 - rgb_color: [255, 251, 245] - brightness: 255 - color_temp: 162 - - # Animate Kitchen Lights ON - ############################################################################### - # - alias: Animate Kitchen Lights ON - # initial_state: true - # trigger: - # - platform: time_pattern - # seconds: '/3' - # condition: - # - condition: state - # entity_id: input_boolean.animate_kitchen_lights - # state: 'on' - # action: - # - service: light.turn_on - # entity_id: light.dinette - # data_template: - # rgb_color: ['{{ (range(0, 255)|random) }}', - # '{{ (range(0, 255)|random) }}', - # '{{ (range(0, 255)|random) }}'] - # brightness: 255 - # transition: '{{ (range(1, 2)|random) }}' - - # Animate Kitchen Lights OFF - ############################################################################### - # - alias: Animate Kitchen Lights OFF - # initial_state: true - # trigger: - # - platform: state - # entity_id: input_boolean.animate_kitchen_lights - # to: 'off' - # action: - # - service: light.turn_on - # entity_id: light.dinette - # data: - # rgb_color: [255, 255, 255] - # brightness: 255 - # color_temp: 155 - - # Long Flash All Lights - ############################################################################### - - alias: Long Flash All Lights - initial_state: true - trigger: - - platform: state - entity_id: input_boolean.long_flash - to: "on" - from: "off" - condition: - - condition: state - entity_id: input_boolean.light_automations - state: "on" - action: - - service: light.turn_on - entity_id: - - group.all_lights - data: - flash: long - - service: input_boolean.turn_off - entity_id: input_boolean.long_flash - - # Short Flash All Lights - ############################################################################### - - alias: Short Flash All Lights - initial_state: true - trigger: - - platform: state - entity_id: input_boolean.short_flash - to: "on" - from: "off" - condition: - - condition: state - entity_id: input_boolean.light_automations - state: "on" - action: - - service: light.turn_on - entity_id: - - group.all_lights - data: - flash: short - - service: input_boolean.turn_off - entity_id: input_boolean.short_flash diff --git a/packages/lights_switches.yaml b/packages/lights_switches.yaml new file mode 100644 index 0000000..2eeca81 --- /dev/null +++ b/packages/lights_switches.yaml @@ -0,0 +1,179 @@ +############################################################################## +# @author : Mahasri Kalavala +# @date : 04/15/2017 +# @package : Lights +# @description : Lights, Lights, Lights! All the Lights are here! +############################################################################### +homeassistant: + customize: + switch.frontyard: + icon: mdi:lightbulb + friendly_name: Front Porch Lights + emulated_hue_name: Front Yard Lights + homebridge_name: Front Yard Lights + + switch.wemoswitch1: + icon: mdi:lamp + friendly_name: Wemo Outlet + emulated_hue_name: Wemo Outlet + homebridge_name: Wemo Outlet + + switch.backyard: + icon: mdi:lightbulb + friendly_name: Backyard Lights + emulated_hue_name: Backyard Lights + homebridge_name: Backyard Lights + + switch.guest_bedroom: + icon: mdi:lightbulb + friendly_name: Guest Bedroom 1 + emulated_hue_name: Guest Bedroom 1 + homebridge_name: Guest Bedroom 1 + + switch.prayer_room: + icon: mdi:lightbulb + friendly_name: Guest Bedroom 2 + emulated_hue_name: Guest Bedroom 2 + homebridge_name: Guest Bedroom 2 + + switch.kids_bed_accent: + friendly_name: Hasika's Bed Accent Lights + assumed_state: false + icon: mdi:lightbulb + switch.front_room: + friendly_name: Front Room Light + assumed_state: false + icon: mdi:lightbulb + switch.basement_left: + friendly_name: Basement Theater Lights + assumed_state: false + icon: mdi:lightbulb + switch.basement_right: + friendly_name: Basement Right Side Lights + assumed_state: false + icon: mdi:lightbulb + switch.kitchen: + friendly_name: Kitchen Light + assumed_state: false + icon: mdi:lightbulb + switch.office_room: + friendly_name: Office Room Lights + assumed_state: false + icon: mdi:lightbulb + switch.kids_bedroom: + friendly_name: Kids Bedroom + icon: mdi:lightbulb + switch.garage: + friendly_name: Garage Lights + icon: mdi:lightbulb + + light.hue_color_lamp_1: + friendly_name: Family Room Light 1 + color_set: false + light.hue_color_lamp_2: + friendly_name: Family Room Light 2 + color_set: false + light.hue_color_lamp_3: + friendly_name: Family Room Light 3 + color_set: false + input_boolean.short_flash: + icon: mdi:flash + friendly_name: Short Flash + input_boolean.long_flash: + icon: mdi:flash + friendly_name: Long Flash + input_boolean.animate_downstairs_lights: + icon: mdi:flash-outline + friendly_name: Animate Family Room Lights + input_boolean.animate_upstairs_lights: + icon: mdi:flash-outline + friendly_name: Animate Master Bedroom Lights + +tplink: + discovery: false + switch: + # In-wall switches + - host: !secret tplink_kids_bedroom + - host: !secret tplink_guest_bedroom_1 + - host: !secret tplink_guest_bedroom_2 + - host: !secret tplink_garage + - host: !secret tplink_garage_shoplights + - host: !secret tplink_basement_left + - host: !secret tplink_basement_right + - host: !secret tplink_kitchen + - host: !secret tplink_office_room + - host: !secret tplink_front_room + # Smart Outlets + - host: !secret tplink_smart_outlet1 + #name: Downstairs Fragrance Outlet + - host: !secret tplink_smart_outlet2 + #name: Downstairs 3d printer Outlet + - host: !secret tplink_smart_outlet3 + #name: Upstairs Fragrance Outlet + - host: !secret tplink_kids_bed_accent_light + #name: Kids Bed Accent Light + dimmer: + - host: !secret tplink_bathroom_lights + strip: + - host: !secret tplink_smart_strip + +wemo: + discovery: false + static: + - !secret wemo_switch_1 + - !secret wemo_switch_2 + - !secret wemo_switch_3 + - !secret wemo_sharp_tv + +input_boolean: + animate_upstairs_lights: + name: Animate Master Bedroom Lights + initial: off + animate_downstairs_lights: + name: Animate Family Room Lights + initial: off + long_flash: + name: Long Flash Lights + initial: off + short_flash: + name: Long Flash Lights + initial: off + +light: + - platform: group + name: Family Room Lights + entities: + - light.hue_color_lamp_1 + - light.hue_color_lamp_2 + - light.hue_color_lamp_3 + + - platform: group + name: Master Bedroom Lights + entities: + - light.master_bedroom_1 + - light.master_bedroom_2 + +switch: + - platform: rest + resource: "http://localhost:8126/container/mqtt/" + name: MQTT + body_on: '{"state": "start"}' + body_off: '{"state": "stop"}' + is_on_template: '{{ value_json is not none and value_json.state == "running" }}' + verify_ssl: true + + - platform: rest + resource: "http://localhost:8126/container/home-assistant/" + name: Home Assistant + body_on: '{"state": "unpause"}' + body_off: '{"state": "pause"}' + is_on_template: '{{ value_json is not none and value_json.state == "running" }}' + verify_ssl: true + + - platform: rest + resource: "http://localhost:8126/container/camera_streamer/" + name: Camera Streamer + body_on: '{"state": "unpause"}' + body_off: '{"state": "pause"}' + is_on_template: '{{ value_json is not none and value_json.state == "running" }}' + verify_ssl: true diff --git a/packages/logger.yaml b/packages/logger.yaml deleted file mode 100644 index 98adc3a..0000000 --- a/packages/logger.yaml +++ /dev/null @@ -1,100 +0,0 @@ -# ############################################################################### -# # @Description : Logger Package to set log level on the fly at runtime -# ############################################################################### - -# homeassistant: -# customize: -# sensor.current_log_level: -# friendly_name: Current Log Level -# hidden: true - -# logger: -# default: warning -# logs: -# gsp: critical -# aiohttp.server: critical -# simplipy.system: critical -# homeassistant.components.light: critical -# openzwave: debug -# pywemo.ssdp: error -# libopenzwave: error -# netdisco.ssdp: error -# homeassistant.core: error -# homeassistant.setup: error -# homeassistant.loader: error -# homeassistant.components.api: error -# homeassistant.helpers.script: error -# homeassistant.components.mqtt: error -# homeassistant.components.http: error -# homeassistant.helpers.entity: error -# homeassistant.components.zwave: error -# homeassistant.components.sensor: error -# homeassistant.helpers.condition: error -# homeassistant.components.recorder: error -# homeassistant.components.discovery: error -# homeassistant.components.automation: error -# homeassistant.components.light.lifx: error -# homeassistant.components.emulated_hue: error -# homeassistant.components.media_player: error -# homeassistant.components.device_tracker: error -# custom_components.sensor.life360: error -# custom_components.sensor.command_line: error -# custom_components.media_player.sharptv: error - -# ############################################################################### -# # Logger level -# input_select: -# log_level: -# name: Log Level -# options: -# - critical -# - fatal -# - error -# - warning -# - warn -# - info -# - debug -# - notset -# initial: warning - -# sensor: -# - platform: mqtt -# state_topic: '/homeassistant/log_level' -# name: "Current Log Level" -# value_template: "{{ value }}" - -# automation: -# ############################################################################### -# # Sets Logging Level -# ############################################################################### -# - alias: Log Level -# initial_state: true -# trigger: -# - platform: state -# entity_id: input_select.log_level -# action: -# - service: logger.set_level -# data_template: -# homeassistant.components: "{{ trigger.to_state.state }}" -# - service: mqtt.publish -# data_template: -# topic: '/homeassistant/log_level' -# payload: '{{ trigger.to_state.state }}' -# retain: true - -# ############################################################################### -# # Restore Log Level -# ############################################################################### -# - alias: Restore Log Level on Startup -# initial_state: true -# trigger: -# platform: homeassistant -# event: start -# action: -# - delay: -# minutes: 0 -# seconds: 15 -# - service: input_select.select_option -# data_template: -# entity_id: input_select.log_level -# option: '{{ states('sensor.current_log_level') | default("warning") }}' diff --git a/packages/motion_counts.yaml b/packages/motion_counts.yaml index bf2e3a8..cd93106 100644 --- a/packages/motion_counts.yaml +++ b/packages/motion_counts.yaml @@ -58,6 +58,8 @@ homeassistant: unit_of_measurement: "count" input_label.door_window_sensor_158d00040ad8fc: unit_of_measurement: "count" + input_label.door_window_sensor_158d0004880f30: + unit_of_measurement: "count" input_label.door_window_sensor_158d000424a6d6: unit_of_measurement: "count" @@ -68,6 +70,9 @@ input_label: door_window_sensor_158d00040ad8fc: name: Back Door icon: mdi:run-fast + door_window_sensor_158d0004880f30: + name: Garage Entry Door + icon: mdi:run-fast basement_door_sensor_sensor: name: Basement Door icon: mdi:run-fast @@ -152,6 +157,7 @@ automation: entity_id: - binary_sensor.door_window_sensor_158d000424a6d6 - binary_sensor.door_window_sensor_158d00040ad8fc + - binary_sensor.door_window_sensor_158d0004880f30 # garage entry door - binary_sensor.basement_door_sensor_sensor - binary_sensor.downstairs_multi_sensor_sensor - binary_sensor.front_room_multi_sensor_sensor @@ -215,3 +221,4 @@ automation: - input_label.motion_sensor_158d000272bfd7 - input_label.door_window_sensor_158d000424a6d6 - input_label.door_window_sensor_158d00040ad8fc + - input_label.door_window_sensor_158d0004880f30 diff --git a/packages/motion_timers.yaml b/packages/motion_timers.yaml index 9b9eb6f..1e80641 100644 --- a/packages/motion_timers.yaml +++ b/packages/motion_timers.yaml @@ -20,6 +20,8 @@ homeassistant: hidden: true timer.timer_masterbedroom: hidden: true + timer.timer_masterbathroom: + hidden: true timer.timer_officeroom: hidden: true @@ -34,6 +36,8 @@ timer: duration: "00:05:00" timer_masterbedroom: duration: "00:05:00" + timer_masterbathroom: + duration: "00:05:00" timer_officeroom: duration: "00:05:00" @@ -48,6 +52,42 @@ timer: ############################################################################### automation: + # Master Bathroom: + # Motion Detected - Turn ON the light and extend timer + ############################################################################### + - alias: Master Bathroom Motion & Timer + initial_state: true + trigger: + - platform: state + entity_id: binary_sensor.motion_sensor_158d000464c25a + to: "on" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" + action: + - service: timer.start + entity_id: timer.timer_masterbathroom + - service: light.turn_on + entity_id: light.master_bathroom_lights + + - alias: Master Bathroom Timer Elapsed + initial_state: true + trigger: + - platform: event + event_type: timer.finished + event_data: + entity_id: timer.timer_masterbathroom + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" + action: + - service_template: > + {{ 'light.turn_off' if states('binary_sensor.motion_sensor_158d000464c25a') != 'on' else 'timer.start' }} + data: + entity_id: "{{ 'light.master_bathroom_lights' if states('binary_sensor.motion_sensor_158d000464c25a') != 'on' else 'timer.timer_masterbathroom' }}" + # Office Room: # Motion Detected - Turn ON the light and extend timer ############################################################################### @@ -57,13 +97,15 @@ automation: - platform: state entity_id: binary_sensor.motion_sensor_158d000272bfd7 to: "on" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: timer.start entity_id: timer.timer_officeroom - service: switch.turn_on entity_id: switch.office_room - - condition: template - value_template: "{{ states('sun.sun') == 'below_horizon' }}" - alias: Officeroom Timer Elapsed initial_state: true @@ -72,9 +114,15 @@ automation: event_type: timer.finished event_data: entity_id: timer.timer_officeroom + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - - service: switch.turn_off - entity_id: switch.office_room + - service_template: > + {{ 'switch.turn_off' if states('binary_sensor.motion_sensor_158d000272bfd7') != 'on' else 'timer.start' }} + data: + entity_id: "{{ 'switch.office_room' if states('binary_sensor.motion_sensor_158d000272bfd7') != 'on' else 'timer.timer_officeroom' }}" # # Front Room: # # Motion Detected - Turn ON the light and extend timer @@ -86,6 +134,10 @@ automation: entity_id: binary_sensor.motion_sensor_158d00016db6d2 from: "off" to: "on" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: timer.start entity_id: timer.timer_frontroom @@ -111,6 +163,9 @@ automation: - condition: state entity_id: sun.sun state: "below_horizon" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.turn_on entity_id: switch.kitchen @@ -130,6 +185,9 @@ automation: - condition: state entity_id: sun.sun state: "below_horizon" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service_template: > {% if now().hour|int >= states('sensor.bedtime_hour') |int and @@ -147,7 +205,7 @@ automation: trigger: - platform: state entity_id: - - binary_sensor.tv_multi_sensor_sensor + # - binary_sensor.tv_multi_sensor_sensor - binary_sensor.motion_sensor_158d0001a25041 from: "off" to: "on" @@ -157,6 +215,9 @@ automation: state: "below_horizon" - condition: template value_template: "{{ states('input_boolean.movie_time') != 'on' }}" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_on entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 @@ -181,6 +242,10 @@ automation: entity_id: timer.timer_familyroom from: "active" to: "idle" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_off entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 @@ -201,6 +266,9 @@ automation: - condition: state entity_id: sun.sun state: "below_horizon" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_on data: @@ -225,34 +293,16 @@ automation: entity_id: timer.timer_masterbedroom from: "active" to: "idle" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_off entity_id: light.master_bedroom_1 - service: light.turn_off entity_id: light.master_bedroom_2 - # # Garage: - # # Motion Detected - Turn ON the light and extend timer - # # - # # Added a condition - if the lights were just turn off in the last 30 seconds, - # # do not turn ON the lights again - # ############################################################################### - # - alias: Garage Motion & Timer - # initial_state: true - # trigger: - # - platform: state - # entity_id: binary_sensor.garage_motion - # from: "off" - # to: "on" - # condition: - # - condition: template - # value_template: "{{ states('input_boolean.working_in_garage') | lower == 'on' }}" - # - condition: template - # value_template: "{{ (as_timestamp(now()) - as_timestamp(states.switch.garage.last_updated)) | int > 30 }}" - # action: - # - service: switch.turn_on - # entity_id: switch.garage - # Start the timer when the lights are ON ############################################################################### - alias: Garage Timer Start When Garage Lights ON @@ -262,6 +312,10 @@ automation: entity_id: switch.garage from: "off" to: "on" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: timer.start entity_id: timer.timer_garage @@ -280,6 +334,9 @@ automation: - condition: state entity_id: input_boolean.working_in_garage state: "off" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.turn_off entity_id: switch.garage diff --git a/packages/qnap.yaml b/packages/qnap.yaml index 5c538cd..9bb130d 100644 --- a/packages/qnap.yaml +++ b/packages/qnap.yaml @@ -63,6 +63,22 @@ sensor: - drive_smart_status - drive_temp + - platform: qnap + host: !secret qnap_hostname2 + username: !secret qnap_username + password: !secret qnap_password + monitored_conditions: + - status + - cpu_usage + - memory_percent_used + - network_tx + - volume_percentage_used + - system_temp + - cpu_temp + - drive_smart_status + - drive_temp + + # The following sensors are required, as the automations with trigger platform `numeric_state`, # above a certain value using `above: x` AND `for: 00:05:00` combination is not supported. # diff --git a/packages/quotes.yaml b/packages/quotes.yaml deleted file mode 100644 index bfc8738..0000000 --- a/packages/quotes.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# # ############################################################################## -# # @author : Mahasri Kalavala -# # @date : 01/05/2018 -# # @package : Random Quote at Startup -# # @description : Daily quotes -# # ############################################################################## -# homeassistant: -# customize: -# sensor.quote_of_the_day: -# hidden: true - -# sensor: -# - platform: rest -# name: quote_of_the_day -# resource: http://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en -# value_template: '{{ value_json.quoteText }} - By {{ value_json.quoteAuthor }}' -# scan_interval: 86400 - -# automation: - -# - alias: Quote At Startup -# initial_state: true -# trigger: -# - platform: homeassistant -# event: start -# action: -# - delay: -# seconds: 15 -# - service: persistent_notification.create -# data: -# title: 'Quote:' -# message: '{{ states('sensor.quote_of_the_day') }}' diff --git a/packages/scripts.yaml b/packages/scripts.yaml index 4c391d4..a9c39d7 100644 --- a/packages/scripts.yaml +++ b/packages/scripts.yaml @@ -88,22 +88,6 @@ script: data: message: > No one is at home. Cameras rolling, Indoor lights OFF, Thermostat is set to 'away' and your home is secured! - - service: camera.snapshot - data_template: - entity_id: "camera.kitchen_camera" - filename: "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg" - - service: camera.snapshot - data_template: - entity_id: "camera.frontroom_camera" - filename: "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg" - - service: notify.notify_smtp - data_template: - title: 'Indoor Pictures {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}' - message: "No one seem to be home at the moment... Please see the images and make sure everything is okay." - data: - images: - - "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg" - - "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg" ############################################################################### # The following script runs when no one is home. It excludes some lights @@ -113,26 +97,32 @@ script: sequence: - service: light.turn_off data_template: - entity_id: > - {%- for state in states.light if state.entity_id != 'light.gateway_light_34ce008ad65d' -%} - {{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}} - {%- endfor -%} + entity_id: + - light.family_room_lights + - light.hue_color_lamp_1 + - light.hue_color_lamp_2 + - light.hue_color_lamp_3 + - light.master_bedroom_1 + - light.master_bedroom_2 + - light.master_bedroom_lights + - service: switch.turn_off data_template: - entity_id: > - {%- for state in states.switch if - state.entity_id != 'switch.3d_printer' and - state.entity_id != 'switch.tesla_model_3_charger_switch' and - state.entity_id != 'switch.tesla_model_3_maxrange_switch' and - state.entity_id != 'switch.tesla_model_3_update_switch' and - state.entity_id != 'switch.mahasri_tesla_sentry_mode_switch' and - state.entity_id != 'switch.wemoswitch1' and - state.entity_id != 'switch.wallmote_switch' and - state.entity_id != 'switch.wemobackyardlightswitch' and - state.entity_id != 'switch.frontyard_light' and - not 'ecolink' in state.entity_id -%} - {{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}} - {%- endfor -%} + entity_id: + - switch.basement_left + - switch.basement_right + - switch.downstairs_fragrance + - switch.front_room + - switch.garage + - switch.garage_shop_lights + - switch.guest_bedroom + - switch.kids_bed_accent + - switch.kids_bedroom + - switch.kitchen + - switch.office_room + - switch.prayer_room + - switch.upstairs_fragrance + - switch.officeroom_accent_lights ############################################################################### # _____ ____ _ diff --git a/packages/settings.yaml b/packages/settings.yaml index 2aff5df..140b5fd 100644 --- a/packages/settings.yaml +++ b/packages/settings.yaml @@ -148,42 +148,34 @@ input_boolean: movie_time: name: "Movie Time" - initial: off icon: mdi:movie-roll stream_camera2chromecast: name: Stream Cameras to Chromecast icon: mdi:cctv - initial: on home_security: name: Home Security System - initial: off icon: mdi:verified home_assistant_status: name: Home Status - initial: off icon: mdi:home-assistant working_in_garage: name: Working in Garage - initial: off icon: mdi:worker working_in_office_room: name: Working in Office Room - initial: off icon: mdi:worker hourly_report: name: Hourly Report - initial: on icon: mdi:file-chart nightly_report: name: Nightly Report - initial: on icon: mdi:file-chart notify_camera_alerts: @@ -192,32 +184,22 @@ input_boolean: trash_reminders: name: Remind Trash Notifications - initial: on icon: mdi:recycle enjoyable_weather_reminders: name: Remind me to enjoy Good Weather - initial: on icon: mdi:weather-sunny security_system_alerts: name: Notify Security System Status Change - initial: on icon: mdi:verified zone_alerts: name: Zone Alerts - initial: on icon: mdi:map-marker - alarm_clock: - name: Alarm Clock - initial: on - icon: mdi:calendar-check - battery_notifications: name: Battery Notifications - initial: on icon: mdi:battery sharp_tv: @@ -233,16 +215,13 @@ input_boolean: light_automations: name: Light Automations icon: mdi:lightbulb-on - initial: on text_alerts: name: Text Alerts - initial: on icon: mdi:map-marker garage_door_notifications: name: Garage Door Notifications - initial: on icon: mdi:garage ############################################################################### diff --git a/packages/test.yaml b/packages/test.yaml index b87e243..e52e8d0 100644 --- a/packages/test.yaml +++ b/packages/test.yaml @@ -1089,3 +1089,12 @@ # data_template: # entity_id: "input_label.file_2" # value: "/tmp/{{- trigger.entity_id.split('.')[1] -}}_{{- states.input_boolean.dummy.last_updated.strftime('%Y%m%d-%H%M%S') -}}.mp4" + + +# {% for x in states if 'sensor.illumination_' in x.entity_id %} +# {{ x.name}} - {{ x.attributes.battery_level }} +# {%- endfor %} + +# {% for x in states if 'sensor.battery_' in x.entity_id %} +# {{ x.name}} - {{ x.state }} +# {%- endfor %} \ No newline at end of file diff --git a/packages/tv.yaml b/packages/tv.yaml index 5e5c3c9..ecdfe66 100644 --- a/packages/tv.yaml +++ b/packages/tv.yaml @@ -29,6 +29,27 @@ binary_sensor: # ############################################################################### automation: + # Restore Familyroom Lights + ############################################################################### + - alias: Restore Familyroom Lights + initial_state: true + trigger: + platform: state + entity_id: input_boolean.animate_downstairs_lights + to: "off" + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" + action: + - service: light.turn_on + data: + entity_id: group.family_room_lights + transition: 5 + rgb_color: [255, 251, 245] + brightness: 255 + color_temp: 162 + # Dim Family Room Lights When TV is Turned ON ############################################################################### - alias: TV Dim Indoor Lights when TV is ON @@ -61,77 +82,6 @@ automation: entity_id: light.hue_color_lamp_3 brightness: 5 color_temp: 154 - - service: mqtt.publish - data: - topic: /home/tv/backlight - payload: "on" - retain: true - - # Restore Family Room Lights to TV mode - ############################################################################### - - alias: TV Restore Family Room Lights To TV Mode - initial_state: true - trigger: - - platform: state - entity_id: group.family_room_lights - from: "off" - to: "on" - condition: - - condition: state - entity_id: binary_sensor.sharp_tv - state: "on" - - condition: state - entity_id: input_boolean.light_automations - state: "on" - action: - - service: light.turn_on - data: - entity_id: light.hue_color_lamp_1 - brightness: 5 - color_temp: 154 - transition: 5 - - service: light.turn_on - data: - entity_id: light.hue_color_lamp_2 - brightness: 5 - color_temp: 154 - transition: 5 - - service: light.turn_on - data: - entity_id: light.hue_color_lamp_3 - brightness: 5 - color_temp: 154 - transition: 5 - - # Turn Backlights Off when TV is turned OFF - ############################################################################### - - alias: TV Backlight OFF when TV is OFF - initial_state: true - trigger: - platform: state - entity_id: binary_sensor.sharp_tv - to: "off" - action: - - service: mqtt.publish - data: - topic: /home/tv/backlight - payload: "off" - retain: true - - # Turn TV backlights when TV is turned ON - ############################################################################### - - alias: TV Backlight is ON when TV is ON - initial_state: true - trigger: - platform: state - entity_id: binary_sensor.sharp_tv - to: "on" - action: - - service: mqtt.publish - data: - topic: /home/tv/backlight - payload: "on" - retain: true # Turn back Family room lights when TV is switched OFF ############################################################################### @@ -167,8 +117,3 @@ automation: brightness: 255 color_temp: 154 transition: 5 - - service: mqtt.publish - data: - topic: /home/tv/backlight - payload: "off" - retain: true diff --git a/packages/watchdog.yaml b/packages/watchdog.yaml index 464bc42..6b1de35 100644 --- a/packages/watchdog.yaml +++ b/packages/watchdog.yaml @@ -27,6 +27,10 @@ automation: to: "on" for: hours: 2 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.notify_me data: @@ -53,6 +57,9 @@ automation: state: "off" - condition: template value_template: "{{ states('input_boolean.garage_door_notifications') == 'on' }}" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.notify_me data_template: @@ -75,8 +82,8 @@ automation: trigger: - platform: state entity_id: - - switch.wemobackyardlightswitch - - switch.frontyard_light + - switch.backyard + - switch.frontyard to: "on" for: minutes: 5 @@ -84,6 +91,9 @@ automation: - condition: state entity_id: sun.sun state: "above_horizon" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.turn_off data_template: @@ -103,7 +113,6 @@ automation: entity_id: - switch.basement_left - switch.basement_right - - switch.downstairs_fragrance - switch.front_room - switch.guest_bedroom - switch.kids_bed_accent @@ -123,6 +132,9 @@ automation: condition: - condition: template value_template: "{{ now().hour |int > 22 }}" + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: homeassistant.turn_off data_template: diff --git a/packages/weather.yaml b/packages/weather.yaml index a625997..94f2785 100644 --- a/packages/weather.yaml +++ b/packages/weather.yaml @@ -208,8 +208,30 @@ automation: {% endif %} - service: input_boolean.turn_on data_template: - entity_id: > - {% set windspeed = states.sensor.dark_sky_wind_speed.state | round %} + entity_id: >- + {%- set windspeed = states.sensor.dark_sky_wind_speed.state | round -%} + {%- if ( windspeed > 7 and ( windspeed <= 15 ) ) -%} + input_boolean.nice_breeze_alert + {%- elif ( windspeed > 15 ) and ( windspeed <= 25 ) %} + input_boolean.moderate_wind_alert + {%- elif ( windspeed > 25 ) and ( windspeed <= 40 ) %} + input_boolean.heavy_wind_alert + {%- elif ( windspeed > 40 ) and ( windspeed <= 60 ) %} + input_boolean.super_heavy_wind_alert + {%- elif ( windspeed > 60 ) %} + input_boolean.hurricane_wind_alert + {%- endif %} + + - alias: Set Wind Speed Input Booleans + initial_state: true + trigger: + platform: state + entity_id: sensor.dark_sky_wind_speed + action: + - service: input_boolean.turn_on + data_template: + entity_id: >- + {%- set windspeed = states.sensor.dark_sky_wind_speed.state | round -%} {%- if ( windspeed > 7 and ( windspeed <= 15 ) ) -%} input_boolean.nice_breeze_alert {%- elif ( windspeed > 15 ) and ( windspeed <= 25 ) %} diff --git a/packages/xiaomi_magic_cubes.yaml b/packages/xiaomi_magic_cubes.yaml index 77ffc79..15a072d 100644 --- a/packages/xiaomi_magic_cubes.yaml +++ b/packages/xiaomi_magic_cubes.yaml @@ -31,6 +31,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d0002794cd6 action_type: flip90 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service_template: light.toggle entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 @@ -44,6 +48,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d0002794cd6 action_type: flip180 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_on entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 @@ -61,6 +69,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d0002794cd6 action_type: move + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.toggle entity_id: switch.kitchen @@ -74,6 +86,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d0002794cd6 action_type: tap_twice + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_on data_template: @@ -92,13 +108,12 @@ automation: event_data: entity_id: binary_sensor.cube_158d0002794cd6 action_type: shake_air + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.toggle_do_not_disturb - - service: switch.turn_off - entity_id: switch.wemoswitch1 - - delay: "00:00:02" - - service: switch.turn_on - entity_id: switch.wemoswitch1 ################################################################################ # ______ _ _____ @@ -117,6 +132,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d00027c0276 action_type: flip90 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service_template: switch.toggle entity_id: switch.front_room @@ -130,6 +149,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d00027c0276 action_type: move + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.toggle entity_id: switch.office_room @@ -143,6 +166,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d00027c0276 action_type: shake_air + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.toggle_do_not_disturb @@ -163,6 +190,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d00027cf60d action_type: flip90 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service_template: switch.toggle entity_id: switch.guest_bedroom @@ -176,6 +207,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d00027cf60d action_type: shake_air + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.toggle_do_not_disturb @@ -196,6 +231,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d00027ce15c action_type: flip90 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service_template: switch.toggle entity_id: switch.kids_bedroom @@ -209,6 +248,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d00027ce15c action_type: shake_air + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.toggle_do_not_disturb @@ -231,6 +274,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d000276e3e8 action_type: flip90 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: switch.toggle entity_id: switch.prayer_room @@ -244,6 +291,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d000276e3e8 action_type: shake_air + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.toggle_do_not_disturb @@ -264,6 +315,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d000278eb6a action_type: flip90 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: homeassistant.turn_off entity_id: group.downstairs_lights @@ -279,6 +334,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d000278eb6a action_type: flip180 + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.toggle entity_id: light.master_bedroom_1 @@ -294,6 +353,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d000278eb6a action_type: move + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_on entity_id: light.master_bedroom_1 @@ -309,6 +372,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d000278eb6a action_type: tap_twice + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: light.turn_on data_template: @@ -334,6 +401,10 @@ automation: event_data: entity_id: binary_sensor.cube_158d000278eb6a action_type: shake_air + condition: + - condition: state + entity_id: input_boolean.light_automations + state: "on" action: - service: script.toggle_do_not_disturb diff --git a/packages/zwave_batteries.yaml b/packages/zwave_batteries.yaml index 406a23e..f149bcd 100644 --- a/packages/zwave_batteries.yaml +++ b/packages/zwave_batteries.yaml @@ -1,222 +1,222 @@ -############################################################################### -# @author : Mahasri Kalavala -# @date : 04/20/2018 -# @package : zwave batteries -# @description : Zwave batteries using input_label & MQTT -############################################################################### +# ############################################################################### +# # @author : Mahasri Kalavala +# # @date : 04/20/2018 +# # @package : zwave batteries +# # @description : Zwave batteries using input_label & MQTT +# ############################################################################### -input_label: - audio_detector: - back_door_sensor: - basement_door_sensor: - downstairs_multi_sensor: - zwave_front_door_sensor: - front_room_multi_sensor: - garage_door_sensor: - guest_bedroom_multi_sensor: - kitchen_motion_sensor: - single_car_garage_door_tilt_sensor: - stairs_motion_sensor: - tv_multi_sensor: - two_car_garage_door_tilt_sensor: - upstairs_multi_sensor: - wallmote: - ecolink_motion_detector: - ecolink_firefighter: - ecolink_door_window_sensor_2: - aeon_labs_zw100_multisensor_6_2: - aeon_labs_zw100_multisensor_6: - ecolink_door_window_sensor: - ecolink_garage_door_tilt_sensor: +# input_label: +# audio_detector: +# back_door_sensor: +# basement_door_sensor: +# downstairs_multi_sensor: +# zwave_front_door_sensor: +# front_room_multi_sensor: +# garage_door_sensor: +# guest_bedroom_multi_sensor: +# kitchen_motion_sensor: +# single_car_garage_door_tilt_sensor: +# stairs_motion_sensor: +# tv_multi_sensor: +# two_car_garage_door_tilt_sensor: +# upstairs_multi_sensor: +# wallmote: +# ecolink_motion_detector: +# ecolink_firefighter: +# ecolink_door_window_sensor_2: +# aeon_labs_zw100_multisensor_6_2: +# aeon_labs_zw100_multisensor_6: +# ecolink_door_window_sensor: +# ecolink_garage_door_tilt_sensor: - suresh_battery: - mallika_battery: - srinika_battery: - hasika_battery: +# suresh_battery: +# mallika_battery: +# srinika_battery: +# hasika_battery: - suresh_charging: - mallika_charging: - srinika_charging: - hasika_charging: +# suresh_charging: +# mallika_charging: +# srinika_charging: +# hasika_charging: - suresh_wifi: - mallika_wifi: - srinika_wifi: - hasika_wifi: +# suresh_wifi: +# mallika_wifi: +# srinika_wifi: +# hasika_wifi: -############################################################################### -# _ _ _ -# /\ | | | | (_) -# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ -# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| -# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ -# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ -# -############################################################################### +# ############################################################################### +# # _ _ _ +# # /\ | | | | (_) +# # / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ +# # / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| +# # / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ +# # /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ +# # +# ############################################################################### -automation: - - alias: Update ZWave Battery Levels - initial_state: true - trigger: - - platform: event - event_type: state_changed - condition: - - condition: template - value_template: "{{ trigger.event.data.entity_id is not none }}" - - condition: template - value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'zwave' }}" - - condition: template - value_template: "{{ trigger.event.data.new_state.attributes is not none }}" - - condition: template - value_template: "{{ trigger.event.data.new_state.attributes.battery_level | trim != '' }}" - - condition: template - value_template: "{{ trigger.event.data.new_state.attributes.battery_level | default(999) | int != 999 }}" - action: - - service: input_label.set_value - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}" - value: "{{ trigger.event.data.new_state.attributes.battery_level }}" - - service: input_label.set_name - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}" - value: "{{ trigger.event.data.new_state.attributes.friendly_name }}'s Battery" - - service: input_label.set_icon - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}" - value: > - {% set battery_level = trigger.event.data.new_state.attributes.battery_level | int %} - {% set battery_round = (battery_level / 10)|int * 10 %} - {% if battery_round >= 100 %} - mdi:battery - {% elif battery_round > 0 %} - mdi:battery-{{ battery_round }} - {% else %} - mdi:battery-alert - {% endif %} +# automation: +# - alias: Update ZWave Battery Levels +# initial_state: true +# trigger: +# - platform: event +# event_type: state_changed +# condition: +# - condition: template +# value_template: "{{ trigger.event.data.entity_id is not none }}" +# - condition: template +# value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'zwave' }}" +# - condition: template +# value_template: "{{ trigger.event.data.new_state.attributes is not none }}" +# - condition: template +# value_template: "{{ trigger.event.data.new_state.attributes.battery_level | trim != '' }}" +# - condition: template +# value_template: "{{ trigger.event.data.new_state.attributes.battery_level | default(999) | int != 999 }}" +# action: +# - service: input_label.set_value +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}" +# value: "{{ trigger.event.data.new_state.attributes.battery_level }}" +# - service: input_label.set_name +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}" +# value: "{{ trigger.event.data.new_state.attributes.friendly_name }}'s Battery" +# - service: input_label.set_icon +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}" +# value: > +# {% set battery_level = trigger.event.data.new_state.attributes.battery_level | int %} +# {% set battery_round = (battery_level / 10)|int * 10 %} +# {% if battery_round >= 100 %} +# mdi:battery +# {% elif battery_round > 0 %} +# mdi:battery-{{ battery_round }} +# {% else %} +# mdi:battery-alert +# {% endif %} - # - alias: Update Phone Battery Levels - # initial_state: true - # trigger: - # platform: mqtt - # topic: "owntracks/+/+" - # action: - # - service: input_label.set_value - # data_template: - # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" - # value: "{{ 'Yes' if trigger.payload_json.conn == 'w' else 'No' }}" - # - service: input_label.set_icon - # data_template: - # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" - # value: "{{ 'mdi:wifi' if trigger.payload_json.conn == 'w' else 'mdi:wifi-off' }}" - # - service: input_label.set_name - # data_template: - # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" - # value: "{{trigger.topic.split('/')[-1] | title }}'s phone wifi enabled?" +# # - alias: Update Phone Battery Levels +# # initial_state: true +# # trigger: +# # platform: mqtt +# # topic: "owntracks/+/+" +# # action: +# # - service: input_label.set_value +# # data_template: +# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" +# # value: "{{ 'Yes' if trigger.payload_json.conn == 'w' else 'No' }}" +# # - service: input_label.set_icon +# # data_template: +# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" +# # value: "{{ 'mdi:wifi' if trigger.payload_json.conn == 'w' else 'mdi:wifi-off' }}" +# # - service: input_label.set_name +# # data_template: +# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" +# # value: "{{trigger.topic.split('/')[-1] | title }}'s phone wifi enabled?" - # - service: input_label.set_value - # data_template: - # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" - # value: "{{ trigger.payload_json.batt | int }}" - # - service: input_label.set_name - # data_template: - # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" - # value: "{{trigger.topic.split('/')[-1] | title }}'s Battery" - # - service: input_label.set_icon - # data_template: - # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" - # value: > - # {% set battery_level = trigger.payload_json.batt | int %} - # {% set battery_round = (battery_level / 10)|int * 10 %} - # {% if trigger.payload_json.charging == 1 %} - # {% if battery_round >= 100 %} - # mdi:battery-charging-100 - # {% elif battery_round > 0 %} - # mdi:battery-charging-{{ battery_round }} - # {% else %} - # mdi:battery-alert - # {% endif %} - # {% else %} - # {% if battery_round >= 100 %} - # mdi:battery - # {% elif battery_round > 0 %} - # mdi:battery-{{ battery_round }} - # {% else %} - # mdi:battery-alert - # {% endif %} - # {% endif %} +# # - service: input_label.set_value +# # data_template: +# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" +# # value: "{{ trigger.payload_json.batt | int }}" +# # - service: input_label.set_name +# # data_template: +# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" +# # value: "{{trigger.topic.split('/')[-1] | title }}'s Battery" +# # - service: input_label.set_icon +# # data_template: +# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" +# # value: > +# # {% set battery_level = trigger.payload_json.batt | int %} +# # {% set battery_round = (battery_level / 10)|int * 10 %} +# # {% if trigger.payload_json.charging == 1 %} +# # {% if battery_round >= 100 %} +# # mdi:battery-charging-100 +# # {% elif battery_round > 0 %} +# # mdi:battery-charging-{{ battery_round }} +# # {% else %} +# # mdi:battery-alert +# # {% endif %} +# # {% else %} +# # {% if battery_round >= 100 %} +# # mdi:battery +# # {% elif battery_round > 0 %} +# # mdi:battery-{{ battery_round }} +# # {% else %} +# # mdi:battery-alert +# # {% endif %} +# # {% endif %} - - alias: Update Phone Battery Levels From Life360 - initial_state: true - trigger: - - platform: event - event_type: state_changed - condition: - - condition: template - value_template: "{{ trigger.event.data.entity_id is not none }}" - - condition: template - value_template: "{{ 'life360_' in trigger.event.data.entity_id }}" - - condition: template - value_template: "{{ trigger.event.data.new_state.attributes is not none }}" - action: - - service: input_label.set_name - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery" - value: "{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] |title -}}'s Battery" - - service: input_label.set_value - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery" - value: "{{ trigger.event.data.new_state.attributes.battery }}" - - service: input_label.set_icon - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery" - value: > - {% set battery_level = trigger.event.data.new_state.attributes.battery | int %} - {% set battery_round = (battery_level / 10)|int * 10 %} - {% if trigger.event.data.new_state.attributes.battery_charging == "true" %} - {% if battery_round >= 100 %} - mdi:battery-charging-100 - {% elif battery_round > 0 %} - mdi:battery-charging-{{ battery_round }} - {% else %} - mdi:battery-alert - {% endif %} - {% else %} - {% if battery_round >= 100 %} - mdi:battery - {% elif battery_round > 0 %} - mdi:battery-{{ battery_round }} - {% else %} - mdi:battery-alert - {% endif %} - {% endif %} - - service: input_label.set_value - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_wifi" - value: "{{ 'WiFi' if trigger.event.data.new_state.attributes.wifi_on |string |lower == 'true' else 'LTE' }}" - - service: input_label.set_value - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging" - value: "{{ 'Charging' if trigger.event.data.new_state.attributes.battery_charging |string |lower == 'true' else 'Not Charging' }}" - - service: input_label.set_icon - data_template: - entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging" - value: > - {% set battery_level = trigger.event.data.new_state.attributes.battery | int %} - {% set battery_round = (battery_level / 10)|int * 10 %} - {% if trigger.event.data.new_state.attributes.battery_charging == "true" %} - {% if battery_round >= 100 %} - mdi:battery-charging-100 - {% elif battery_round > 0 %} - mdi:battery-charging-{{ battery_round }} - {% else %} - mdi:battery-alert - {% endif %} - {% else %} - {% if battery_round >= 100 %} - mdi:battery - {% elif battery_round > 0 %} - mdi:battery-{{ battery_round }} - {% else %} - mdi:battery-alert - {% endif %} - {% endif %} +# - alias: Update Phone Battery Levels From Life360 +# initial_state: true +# trigger: +# - platform: event +# event_type: state_changed +# condition: +# - condition: template +# value_template: "{{ trigger.event.data.entity_id is not none }}" +# - condition: template +# value_template: "{{ 'life360_' in trigger.event.data.entity_id }}" +# - condition: template +# value_template: "{{ trigger.event.data.new_state.attributes is not none }}" +# action: +# - service: input_label.set_name +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery" +# value: "{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] |title -}}'s Battery" +# - service: input_label.set_value +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery" +# value: "{{ trigger.event.data.new_state.attributes.battery }}" +# - service: input_label.set_icon +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery" +# value: > +# {% set battery_level = trigger.event.data.new_state.attributes.battery | int %} +# {% set battery_round = (battery_level / 10)|int * 10 %} +# {% if trigger.event.data.new_state.attributes.battery_charging == "true" %} +# {% if battery_round >= 100 %} +# mdi:battery-charging-100 +# {% elif battery_round > 0 %} +# mdi:battery-charging-{{ battery_round }} +# {% else %} +# mdi:battery-alert +# {% endif %} +# {% else %} +# {% if battery_round >= 100 %} +# mdi:battery +# {% elif battery_round > 0 %} +# mdi:battery-{{ battery_round }} +# {% else %} +# mdi:battery-alert +# {% endif %} +# {% endif %} +# - service: input_label.set_value +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_wifi" +# value: "{{ 'WiFi' if trigger.event.data.new_state.attributes.wifi_on |string |lower == 'true' else 'LTE' }}" +# - service: input_label.set_value +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging" +# value: "{{ 'Charging' if trigger.event.data.new_state.attributes.battery_charging |string |lower == 'true' else 'Not Charging' }}" +# - service: input_label.set_icon +# data_template: +# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging" +# value: > +# {% set battery_level = trigger.event.data.new_state.attributes.battery | int %} +# {% set battery_round = (battery_level / 10)|int * 10 %} +# {% if trigger.event.data.new_state.attributes.battery_charging == "true" %} +# {% if battery_round >= 100 %} +# mdi:battery-charging-100 +# {% elif battery_round > 0 %} +# mdi:battery-charging-{{ battery_round }} +# {% else %} +# mdi:battery-alert +# {% endif %} +# {% else %} +# {% if battery_round >= 100 %} +# mdi:battery +# {% elif battery_round > 0 %} +# mdi:battery-{{ battery_round }} +# {% else %} +# mdi:battery-alert +# {% endif %} +# {% endif %} diff --git a/packages/zwave_sensors.yaml b/packages/zwave_sensors.yaml index e1812db..e389e6c 100644 --- a/packages/zwave_sensors.yaml +++ b/packages/zwave_sensors.yaml @@ -1,318 +1,318 @@ -################################################################# -# @author : Mahasri Kalavala -# @date : 09/18/17 -# @package : Z-Wave package -# @description : Z-Wave Still and it's configuration stuff -# -# This entire page is auto generated by the script (link below): -# https://github.com/skalavala/mysmarthome/blob/master/jinja_helpers/zwave_auto_gen.md -################################################################# +# ################################################################# +# # @author : Mahasri Kalavala +# # @date : 09/18/17 +# # @package : Z-Wave package +# # @description : Z-Wave Still and it's configuration stuff +# # +# # This entire page is auto generated by the script (link below): +# # https://github.com/skalavala/mysmarthome/blob/master/jinja_helpers/zwave_auto_gen.md +# ################################################################# -homeassistant: - customize: - # ZWave Binary Sensors - binary_sensor.audio_detector_sensor: - friendly_name: Audio Detector Sensor - binary_sensor.basement_door_sensor_sensor: - friendly_name: Basement Door Sensor - binary_sensor.downstairs_multi_sensor_sensor: - friendly_name: Downstairs Multi Sensor - binary_sensor.front_door_sensor_sensor: - friendly_name: Front Door Sensor - binary_sensor.front_room_multi_sensor_sensor: - friendly_name: Front Room Multi Sensor - binary_sensor.garage_door_sensor_sensor: - friendly_name: Garage Door Sensor - binary_sensor.guest_bedroom_multi_sensor_sensor: - friendly_name: Guest Bedroom Multi Sensor - binary_sensor.kitchen_motion_sensor_sensor: - friendly_name: Kitchen Motion Sensor - binary_sensor.door_window_sensor_158d0004248d5b: - friendly_name: Single Car Garage Door - binary_sensor.stairs_motion_sensor_sensor: - friendly_name: Stairs Motion Sensor - binary_sensor.tv_multi_sensor_sensor: - friendly_name: TV Multi Sensor - binary_sensor.door_window_sensor_158d0004231f7b: - friendly_name: Double Car Garage Door - binary_sensor.upstairs_multi_sensor_sensor: - friendly_name: Upstairs Multi Sensor +# homeassistant: +# customize: +# # ZWave Binary Sensors +# binary_sensor.audio_detector_sensor: +# friendly_name: Audio Detector Sensor +# binary_sensor.basement_door_sensor_sensor: +# friendly_name: Basement Door Sensor +# binary_sensor.downstairs_multi_sensor_sensor: +# friendly_name: Downstairs Multi Sensor +# binary_sensor.front_door_sensor_sensor: +# friendly_name: Front Door Sensor +# binary_sensor.front_room_multi_sensor_sensor: +# friendly_name: Front Room Multi Sensor +# binary_sensor.garage_door_sensor_sensor: +# friendly_name: Garage Door Sensor +# binary_sensor.guest_bedroom_multi_sensor_sensor: +# friendly_name: Guest Bedroom Multi Sensor +# binary_sensor.kitchen_motion_sensor_sensor: +# friendly_name: Kitchen Motion Sensor +# binary_sensor.door_window_sensor_158d0004248d5b: +# friendly_name: Single Car Garage Door +# binary_sensor.stairs_motion_sensor_sensor: +# friendly_name: Stairs Motion Sensor +# binary_sensor.tv_multi_sensor_sensor: +# friendly_name: TV Multi Sensor +# binary_sensor.door_window_sensor_158d0004231f7b: +# friendly_name: Double Car Garage Door +# binary_sensor.upstairs_multi_sensor_sensor: +# friendly_name: Upstairs Multi Sensor - # ZWave Sensors - sensor.audio_detector_alarm_level: - friendly_name: Audio Detector Alarm Level - sensor.audio_detector_alarm_type: - friendly_name: Audio Detector Alarm Type - sensor.audio_detector_burglar: - friendly_name: Audio Detector Burglar - sensor.audio_detector_carbon_monoxide: - friendly_name: Audio Detector Carbon Monoxide - sensor.audio_detector_power_management: - friendly_name: Audio Detector Power Management - sensor.audio_detector_smoke: - friendly_name: Audio Detector Smoke - sensor.audio_detector_sourcenodeid: - friendly_name: Audio Detector SourceNodeId - sensor.audio_detector_temperature: - friendly_name: Audio Detector Temperature - sensor.back_door_sensor_access_control: - friendly_name: Back Door Sensor Access Control - sensor.back_door_sensor_alarm_level: - friendly_name: Back Door Sensor Alarm Level - sensor.back_door_sensor_alarm_type: - friendly_name: Back Door Sensor Alarm Type - sensor.back_door_sensor_burglar: - friendly_name: Back Door Sensor Burglar - sensor.back_door_sensor_power_management: - friendly_name: Back Door Sensor Power Management - sensor.back_door_sensor_sourcenodeid: - friendly_name: Back Door Sensor SourceNodeId - sensor.basement_door_sensor_access_control: - friendly_name: Basement Door Sensor Access Control - sensor.basement_door_sensor_alarm_level: - friendly_name: Basement Door Sensor Alarm Level - sensor.basement_door_sensor_alarm_type: - friendly_name: Basement Door Sensor Alarm Type - sensor.basement_door_sensor_burglar: - friendly_name: Basement Door Sensor Burglar - sensor.basement_door_sensor_power_management: - friendly_name: Basement Door Sensor Power Management - sensor.basement_door_sensor_sourcenodeid: - friendly_name: Basement Door Sensor SourceNodeId - sensor.downstairs_multi_sensor_alarm_level: - friendly_name: Downstairs Multi Sensor Alarm Level - sensor.downstairs_multi_sensor_alarm_type: - friendly_name: Downstairs Multi Sensor Alarm Type - sensor.downstairs_multi_sensor_burglar: - friendly_name: Downstairs Multi Sensor Burglar - sensor.downstairs_multi_sensor_luminance: - friendly_name: Downstairs Multi Sensor Luminance - sensor.downstairs_multi_sensor_power: - friendly_name: Downstairs Multi Sensor Power - sensor.downstairs_multi_sensor_relative_humidity: - friendly_name: Downstairs Multi Sensor Relative Humidity - sensor.downstairs_multi_sensor_sourcenodeid: - friendly_name: Downstairs Multi Sensor SourceNodeId - sensor.downstairs_multi_sensor_temperature: - friendly_name: Downstairs Multi Sensor Temperature - sensor.front_room_multi_sensor_alarm_level: - friendly_name: Front Room Multi Sensor Alarm Level - sensor.front_room_multi_sensor_alarm_type: - friendly_name: Front Room Multi Sensor Alarm Type - sensor.front_room_multi_sensor_burglar: - friendly_name: Front Room Multi Sensor Burglar - sensor.front_room_multi_sensor_luminance: - friendly_name: Front Room Multi Sensor Luminance - sensor.front_room_multi_sensor_relative_humidity: - friendly_name: Front Room Multi Sensor Relative Humidity - sensor.front_room_multi_sensor_sourcenodeid: - friendly_name: Front Room Multi Sensor SourceNodeId - sensor.front_room_multi_sensor_temperature: - friendly_name: Front Room Multi Sensor Temperature - sensor.front_room_multi_sensor_ultraviolet: - friendly_name: Front Room Multi Sensor Ultraviolet - sensor.garage_door_sensor_access_control: - friendly_name: Garage Door Sensor Access Control - sensor.garage_door_sensor_alarm_level: - friendly_name: Garage Door Sensor Alarm Level - sensor.garage_door_sensor_alarm_type: - friendly_name: Garage Door Sensor Alarm Type - sensor.garage_door_sensor_burglar: - friendly_name: Garage Door Sensor Burglar - sensor.garage_door_sensor_power_management: - friendly_name: Garage Door Sensor Power Management - sensor.garage_door_sensor_sourcenodeid: - friendly_name: Garage Door Sensor SourceNodeId - sensor.single_car_garage_door_sensor_status: - friendly_name: Single Car Garage Door Sensor Status - sensor.two_car_garage_door_sensor_status: - friendly_name: Double Car Garage Door Sensor Status - sensor.guest_bedroom_multi_sensor_alarm_level: - friendly_name: Guest Bedroom Multi Sensor Alarm Level - sensor.guest_bedroom_multi_sensor_alarm_type: - friendly_name: Guest Bedroom Multi Sensor Alarm Type - sensor.guest_bedroom_multi_sensor_burglar: - friendly_name: Guest Bedroom Multi Sensor Burglar - sensor.guest_bedroom_multi_sensor_luminance: - friendly_name: Guest Bedroom Multi Sensor Luminance - sensor.guest_bedroom_multi_sensor_relative_humidity: - friendly_name: Guest Bedroom Multi Sensor Relative Humidity - sensor.guest_bedroom_multi_sensor_sourcenodeid: - friendly_name: Guest Bedroom Multi Sensor SourceNodeId - sensor.guest_bedroom_multi_sensor_temperature: - friendly_name: Guest Bedroom Multi Sensor Temperature - sensor.guest_bedroom_multi_sensor_ultraviolet: - friendly_name: Guest Bedroom Multi Sensor Ultraviolet - sensor.kitchen_motion_sensor_alarm_level: - friendly_name: Kitchen Motion Sensor Alarm Level - sensor.kitchen_motion_sensor_alarm_type: - friendly_name: Kitchen Motion Sensor Alarm Type - sensor.kitchen_motion_sensor_burglar: - friendly_name: Kitchen Motion Sensor Burglar - sensor.kitchen_motion_sensor_power_management: - friendly_name: Kitchen Motion Sensor Power Management - sensor.kitchen_motion_sensor_sourcenodeid: - friendly_name: Kitchen Motion Sensor SourceNodeId - sensor.single_car_garage_door_tilt_sensor_access_control: - friendly_name: Single Car Garage Door Tilt Sensor Access Control - sensor.single_car_garage_door_tilt_sensor_alarm_level: - friendly_name: Single Car Garage Door Tilt Sensor Alarm Level - sensor.single_car_garage_door_tilt_sensor_alarm_type: - friendly_name: Single Car Garage Door Tilt Sensor Alarm Type - sensor.single_car_garage_door_tilt_sensor_burglar: - friendly_name: Single Car Garage Door Tilt Sensor Burglar - sensor.single_car_garage_door_tilt_sensor_power_management: - friendly_name: Single Car Garage Door Tilt Sensor Power Management - sensor.single_car_garage_door_tilt_sensor_sourcenodeid: - friendly_name: Single Car Garage Door Tilt Sensor SourceNodeId - sensor.stairs_motion_sensor_alarm_level: - friendly_name: Stairs Motion Sensor Alarm Level - sensor.stairs_motion_sensor_alarm_type: - friendly_name: Stairs Motion Sensor Alarm Type - sensor.stairs_motion_sensor_burglar: - friendly_name: Stairs Motion Sensor Burglar - sensor.stairs_motion_sensor_power_management: - friendly_name: Stairs Motion Sensor Power Management - sensor.stairs_motion_sensor_sourcenodeid: - friendly_name: Stairs Motion Sensor SourceNodeId - sensor.tv_multi_sensor_alarm_level: - friendly_name: TV Multi Sensor Alarm Level - sensor.tv_multi_sensor_alarm_type: - friendly_name: TV Multi Sensor Alarm Type - sensor.tv_multi_sensor_burglar: - friendly_name: TV Multi Sensor Burglar - sensor.tv_multi_sensor_luminance: - friendly_name: TV Multi Sensor Luminance - sensor.tv_multi_sensor_relative_humidity: - friendly_name: TV Multi Sensor Relative Humidity - sensor.tv_multi_sensor_sourcenodeid: - friendly_name: TV Multi Sensor SourceNodeId - sensor.tv_multi_sensor_temperature: - friendly_name: TV Multi Sensor Temperature - sensor.tv_multi_sensor_ultraviolet: - friendly_name: TV Multi Sensor Ultraviolet - sensor.two_car_garage_door_tilt_sensor_access_control: - friendly_name: Two Car Garage Door Tilt Sensor Access Control - sensor.two_car_garage_door_tilt_sensor_alarm_level: - friendly_name: Two Car Garage Door Tilt Sensor Alarm Level - sensor.two_car_garage_door_tilt_sensor_alarm_type: - friendly_name: Two Car Garage Door Tilt Sensor Alarm Type - sensor.two_car_garage_door_tilt_sensor_burglar: - friendly_name: Two Car Garage Door Tilt Sensor Burglar - sensor.two_car_garage_door_tilt_sensor_power_management: - friendly_name: Two Car Garage Door Tilt Sensor Power Management - sensor.two_car_garage_door_tilt_sensor_sourcenodeid: - friendly_name: Two Car Garage Door Tilt Sensor SourceNodeId - sensor.upstairs_multi_sensor_alarm_level: - friendly_name: Upstairs Multi Sensor Alarm Level - sensor.upstairs_multi_sensor_alarm_type: - friendly_name: Upstairs Multi Sensor Alarm Type - sensor.upstairs_multi_sensor_burglar: - friendly_name: Upstairs Multi Sensor Burglar - sensor.upstairs_multi_sensor_luminance: - friendly_name: Upstairs Multi Sensor Luminance - sensor.upstairs_multi_sensor_relative_humidity: - friendly_name: Upstairs Multi Sensor Relative Humidity - sensor.upstairs_multi_sensor_sourcenodeid: - friendly_name: Upstairs Multi Sensor SourceNodeId - sensor.upstairs_multi_sensor_temperature: - friendly_name: Upstairs Multi Sensor Temperature - sensor.upstairs_multi_sensor_ultraviolet: - friendly_name: Upstairs Multi Sensor Ultraviolet - sensor.wallmote_alarm_level: - friendly_name: Wallmote Alarm Level - sensor.wallmote_alarm_type: - friendly_name: Wallmote Alarm Type - sensor.wallmote_power_management: - friendly_name: Wallmote Power Management - sensor.wallmote_sourcenodeid: - friendly_name: Wallmote SourceNodeId - sensor.zwave_smart_switch_current: - friendly_name: ZWave Smart Switch Current - sensor.zwave_smart_switch_energy: - friendly_name: ZWave Smart Switch Energy - sensor.zwave_smart_switch_power: - friendly_name: ZWave Smart Switch Power - sensor.zwave_smart_switch_previous_reading: - friendly_name: ZWave Smart Switch Previous Reading - sensor.zwave_smart_switch_voltage: - friendly_name: ZWave Smart Switch Voltage +# # ZWave Sensors +# sensor.audio_detector_alarm_level: +# friendly_name: Audio Detector Alarm Level +# sensor.audio_detector_alarm_type: +# friendly_name: Audio Detector Alarm Type +# sensor.audio_detector_burglar: +# friendly_name: Audio Detector Burglar +# sensor.audio_detector_carbon_monoxide: +# friendly_name: Audio Detector Carbon Monoxide +# sensor.audio_detector_power_management: +# friendly_name: Audio Detector Power Management +# sensor.audio_detector_smoke: +# friendly_name: Audio Detector Smoke +# sensor.audio_detector_sourcenodeid: +# friendly_name: Audio Detector SourceNodeId +# sensor.audio_detector_temperature: +# friendly_name: Audio Detector Temperature +# sensor.back_door_sensor_access_control: +# friendly_name: Back Door Sensor Access Control +# sensor.back_door_sensor_alarm_level: +# friendly_name: Back Door Sensor Alarm Level +# sensor.back_door_sensor_alarm_type: +# friendly_name: Back Door Sensor Alarm Type +# sensor.back_door_sensor_burglar: +# friendly_name: Back Door Sensor Burglar +# sensor.back_door_sensor_power_management: +# friendly_name: Back Door Sensor Power Management +# sensor.back_door_sensor_sourcenodeid: +# friendly_name: Back Door Sensor SourceNodeId +# sensor.basement_door_sensor_access_control: +# friendly_name: Basement Door Sensor Access Control +# sensor.basement_door_sensor_alarm_level: +# friendly_name: Basement Door Sensor Alarm Level +# sensor.basement_door_sensor_alarm_type: +# friendly_name: Basement Door Sensor Alarm Type +# sensor.basement_door_sensor_burglar: +# friendly_name: Basement Door Sensor Burglar +# sensor.basement_door_sensor_power_management: +# friendly_name: Basement Door Sensor Power Management +# sensor.basement_door_sensor_sourcenodeid: +# friendly_name: Basement Door Sensor SourceNodeId +# sensor.downstairs_multi_sensor_alarm_level: +# friendly_name: Downstairs Multi Sensor Alarm Level +# sensor.downstairs_multi_sensor_alarm_type: +# friendly_name: Downstairs Multi Sensor Alarm Type +# sensor.downstairs_multi_sensor_burglar: +# friendly_name: Downstairs Multi Sensor Burglar +# sensor.downstairs_multi_sensor_luminance: +# friendly_name: Downstairs Multi Sensor Luminance +# sensor.downstairs_multi_sensor_power: +# friendly_name: Downstairs Multi Sensor Power +# sensor.downstairs_multi_sensor_relative_humidity: +# friendly_name: Downstairs Multi Sensor Relative Humidity +# sensor.downstairs_multi_sensor_sourcenodeid: +# friendly_name: Downstairs Multi Sensor SourceNodeId +# sensor.downstairs_multi_sensor_temperature: +# friendly_name: Downstairs Multi Sensor Temperature +# sensor.front_room_multi_sensor_alarm_level: +# friendly_name: Front Room Multi Sensor Alarm Level +# sensor.front_room_multi_sensor_alarm_type: +# friendly_name: Front Room Multi Sensor Alarm Type +# sensor.front_room_multi_sensor_burglar: +# friendly_name: Front Room Multi Sensor Burglar +# sensor.front_room_multi_sensor_luminance: +# friendly_name: Front Room Multi Sensor Luminance +# sensor.front_room_multi_sensor_relative_humidity: +# friendly_name: Front Room Multi Sensor Relative Humidity +# sensor.front_room_multi_sensor_sourcenodeid: +# friendly_name: Front Room Multi Sensor SourceNodeId +# sensor.front_room_multi_sensor_temperature: +# friendly_name: Front Room Multi Sensor Temperature +# sensor.front_room_multi_sensor_ultraviolet: +# friendly_name: Front Room Multi Sensor Ultraviolet +# sensor.garage_door_sensor_access_control: +# friendly_name: Garage Door Sensor Access Control +# sensor.garage_door_sensor_alarm_level: +# friendly_name: Garage Door Sensor Alarm Level +# sensor.garage_door_sensor_alarm_type: +# friendly_name: Garage Door Sensor Alarm Type +# sensor.garage_door_sensor_burglar: +# friendly_name: Garage Door Sensor Burglar +# sensor.garage_door_sensor_power_management: +# friendly_name: Garage Door Sensor Power Management +# sensor.garage_door_sensor_sourcenodeid: +# friendly_name: Garage Door Sensor SourceNodeId +# sensor.single_car_garage_door_sensor_status: +# friendly_name: Single Car Garage Door Sensor Status +# sensor.two_car_garage_door_sensor_status: +# friendly_name: Double Car Garage Door Sensor Status +# sensor.guest_bedroom_multi_sensor_alarm_level: +# friendly_name: Guest Bedroom Multi Sensor Alarm Level +# sensor.guest_bedroom_multi_sensor_alarm_type: +# friendly_name: Guest Bedroom Multi Sensor Alarm Type +# sensor.guest_bedroom_multi_sensor_burglar: +# friendly_name: Guest Bedroom Multi Sensor Burglar +# sensor.guest_bedroom_multi_sensor_luminance: +# friendly_name: Guest Bedroom Multi Sensor Luminance +# sensor.guest_bedroom_multi_sensor_relative_humidity: +# friendly_name: Guest Bedroom Multi Sensor Relative Humidity +# sensor.guest_bedroom_multi_sensor_sourcenodeid: +# friendly_name: Guest Bedroom Multi Sensor SourceNodeId +# sensor.guest_bedroom_multi_sensor_temperature: +# friendly_name: Guest Bedroom Multi Sensor Temperature +# sensor.guest_bedroom_multi_sensor_ultraviolet: +# friendly_name: Guest Bedroom Multi Sensor Ultraviolet +# sensor.kitchen_motion_sensor_alarm_level: +# friendly_name: Kitchen Motion Sensor Alarm Level +# sensor.kitchen_motion_sensor_alarm_type: +# friendly_name: Kitchen Motion Sensor Alarm Type +# sensor.kitchen_motion_sensor_burglar: +# friendly_name: Kitchen Motion Sensor Burglar +# sensor.kitchen_motion_sensor_power_management: +# friendly_name: Kitchen Motion Sensor Power Management +# sensor.kitchen_motion_sensor_sourcenodeid: +# friendly_name: Kitchen Motion Sensor SourceNodeId +# sensor.single_car_garage_door_tilt_sensor_access_control: +# friendly_name: Single Car Garage Door Tilt Sensor Access Control +# sensor.single_car_garage_door_tilt_sensor_alarm_level: +# friendly_name: Single Car Garage Door Tilt Sensor Alarm Level +# sensor.single_car_garage_door_tilt_sensor_alarm_type: +# friendly_name: Single Car Garage Door Tilt Sensor Alarm Type +# sensor.single_car_garage_door_tilt_sensor_burglar: +# friendly_name: Single Car Garage Door Tilt Sensor Burglar +# sensor.single_car_garage_door_tilt_sensor_power_management: +# friendly_name: Single Car Garage Door Tilt Sensor Power Management +# sensor.single_car_garage_door_tilt_sensor_sourcenodeid: +# friendly_name: Single Car Garage Door Tilt Sensor SourceNodeId +# sensor.stairs_motion_sensor_alarm_level: +# friendly_name: Stairs Motion Sensor Alarm Level +# sensor.stairs_motion_sensor_alarm_type: +# friendly_name: Stairs Motion Sensor Alarm Type +# sensor.stairs_motion_sensor_burglar: +# friendly_name: Stairs Motion Sensor Burglar +# sensor.stairs_motion_sensor_power_management: +# friendly_name: Stairs Motion Sensor Power Management +# sensor.stairs_motion_sensor_sourcenodeid: +# friendly_name: Stairs Motion Sensor SourceNodeId +# sensor.tv_multi_sensor_alarm_level: +# friendly_name: TV Multi Sensor Alarm Level +# sensor.tv_multi_sensor_alarm_type: +# friendly_name: TV Multi Sensor Alarm Type +# sensor.tv_multi_sensor_burglar: +# friendly_name: TV Multi Sensor Burglar +# sensor.tv_multi_sensor_luminance: +# friendly_name: TV Multi Sensor Luminance +# sensor.tv_multi_sensor_relative_humidity: +# friendly_name: TV Multi Sensor Relative Humidity +# sensor.tv_multi_sensor_sourcenodeid: +# friendly_name: TV Multi Sensor SourceNodeId +# sensor.tv_multi_sensor_temperature: +# friendly_name: TV Multi Sensor Temperature +# sensor.tv_multi_sensor_ultraviolet: +# friendly_name: TV Multi Sensor Ultraviolet +# sensor.two_car_garage_door_tilt_sensor_access_control: +# friendly_name: Two Car Garage Door Tilt Sensor Access Control +# sensor.two_car_garage_door_tilt_sensor_alarm_level: +# friendly_name: Two Car Garage Door Tilt Sensor Alarm Level +# sensor.two_car_garage_door_tilt_sensor_alarm_type: +# friendly_name: Two Car Garage Door Tilt Sensor Alarm Type +# sensor.two_car_garage_door_tilt_sensor_burglar: +# friendly_name: Two Car Garage Door Tilt Sensor Burglar +# sensor.two_car_garage_door_tilt_sensor_power_management: +# friendly_name: Two Car Garage Door Tilt Sensor Power Management +# sensor.two_car_garage_door_tilt_sensor_sourcenodeid: +# friendly_name: Two Car Garage Door Tilt Sensor SourceNodeId +# sensor.upstairs_multi_sensor_alarm_level: +# friendly_name: Upstairs Multi Sensor Alarm Level +# sensor.upstairs_multi_sensor_alarm_type: +# friendly_name: Upstairs Multi Sensor Alarm Type +# sensor.upstairs_multi_sensor_burglar: +# friendly_name: Upstairs Multi Sensor Burglar +# sensor.upstairs_multi_sensor_luminance: +# friendly_name: Upstairs Multi Sensor Luminance +# sensor.upstairs_multi_sensor_relative_humidity: +# friendly_name: Upstairs Multi Sensor Relative Humidity +# sensor.upstairs_multi_sensor_sourcenodeid: +# friendly_name: Upstairs Multi Sensor SourceNodeId +# sensor.upstairs_multi_sensor_temperature: +# friendly_name: Upstairs Multi Sensor Temperature +# sensor.upstairs_multi_sensor_ultraviolet: +# friendly_name: Upstairs Multi Sensor Ultraviolet +# sensor.wallmote_alarm_level: +# friendly_name: Wallmote Alarm Level +# sensor.wallmote_alarm_type: +# friendly_name: Wallmote Alarm Type +# sensor.wallmote_power_management: +# friendly_name: Wallmote Power Management +# sensor.wallmote_sourcenodeid: +# friendly_name: Wallmote SourceNodeId +# sensor.zwave_smart_switch_current: +# friendly_name: ZWave Smart Switch Current +# sensor.zwave_smart_switch_energy: +# friendly_name: ZWave Smart Switch Energy +# sensor.zwave_smart_switch_power: +# friendly_name: ZWave Smart Switch Power +# sensor.zwave_smart_switch_previous_reading: +# friendly_name: ZWave Smart Switch Previous Reading +# sensor.zwave_smart_switch_voltage: +# friendly_name: ZWave Smart Switch Voltage - # ZWave Switches +# # ZWave Switches - switch.kitchen_siren_switch: - friendly_name: Kitchen Siren Switch 1 - switch.kitchen_siren_switch_2: - friendly_name: Kitchen Siren Switch 2 - switch.kitchen_siren_switch_3: - friendly_name: Kitchen Siren Switch 3 - switch.kitchen_siren_switch_4: - friendly_name: Kitchen Siren Switch 4 - switch.kitchen_siren_switch_5: - friendly_name: Kitchen Siren Switch 5 - switch.wallmote_switch: - friendly_name: Wallmote Switch +# switch.kitchen_siren_switch: +# friendly_name: Kitchen Siren Switch 1 +# switch.kitchen_siren_switch_2: +# friendly_name: Kitchen Siren Switch 2 +# switch.kitchen_siren_switch_3: +# friendly_name: Kitchen Siren Switch 3 +# switch.kitchen_siren_switch_4: +# friendly_name: Kitchen Siren Switch 4 +# switch.kitchen_siren_switch_5: +# friendly_name: Kitchen Siren Switch 5 +# switch.wallmote_switch: +# friendly_name: Wallmote Switch -zwave: - usb_path: /dev/ttyACM0 - network_key: !secret zwave_network_key +# zwave: +# usb_path: /dev/ttyACM0 +# network_key: !secret zwave_network_key -############################################################################### -# _ _ _ -# /\ | | | | (_) -# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ -# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| -# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ -# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ -# -############################################################################### -automation: - - alias: WallMote Button 1 Pressed - trigger: - - platform: event - event_type: zwave.scene_activated - event_data: - entity_id: zwave.wallmote - scene_id: 1 - action: - - service: light.toggle - entity_id: light.master_bedroom_1 - - service: light.toggle - entity_id: light.master_bedroom_2 +# ############################################################################### +# # _ _ _ +# # /\ | | | | (_) +# # / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ +# # / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| +# # / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ +# # /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ +# # +# ############################################################################### +# automation: +# - alias: WallMote Button 1 Pressed +# trigger: +# - platform: event +# event_type: zwave.scene_activated +# event_data: +# entity_id: zwave.wallmote +# scene_id: 1 +# action: +# - service: light.toggle +# entity_id: light.master_bedroom_1 +# - service: light.toggle +# entity_id: light.master_bedroom_2 - - alias: WallMote Button 2 Pressed - trigger: - - platform: event - event_type: zwave.scene_activated - event_data: - entity_id: zwave.wallmote - scene_id: 2 - action: - - service: homeassistant.turn_off - entity_id: group.upstairs_lights +# - alias: WallMote Button 2 Pressed +# trigger: +# - platform: event +# event_type: zwave.scene_activated +# event_data: +# entity_id: zwave.wallmote +# scene_id: 2 +# action: +# - service: homeassistant.turn_off +# entity_id: group.upstairs_lights - - alias: WallMote Button 3 Pressed - trigger: - - platform: event - event_type: zwave.scene_activated - event_data: - entity_id: zwave.wallmote - scene_id: 3 - action: - - service: climate.set_away_mode - data_template: - entity_id: climate.dining_room - away_mode: "false" +# - alias: WallMote Button 3 Pressed +# trigger: +# - platform: event +# event_type: zwave.scene_activated +# event_data: +# entity_id: zwave.wallmote +# scene_id: 3 +# action: +# - service: climate.set_away_mode +# data_template: +# entity_id: climate.dining_room +# away_mode: "false" - - alias: WallMote Button 4 Pressed - trigger: - - platform: event - event_type: zwave.scene_activated - event_data: - entity_id: zwave.wallmote - scene_id: 4 - action: - - service: climate.set_away_mode - data_template: - entity_id: climate.dining_room - away_mode: "true" +# - alias: WallMote Button 4 Pressed +# trigger: +# - platform: event +# event_type: zwave.scene_activated +# event_data: +# entity_id: zwave.wallmote +# scene_id: 4 +# action: +# - service: climate.set_away_mode +# data_template: +# entity_id: climate.dining_room +# away_mode: "true"