updated to latest version + dockerized!

This commit is contained in:
Mahasri Kalavala 2021-01-10 15:03:52 -05:00
parent 2de4d7cc56
commit dab0d91303
42 changed files with 1762 additions and 1860 deletions

1
.gitignore vendored
View File

@ -54,3 +54,4 @@ docs/_site
private/* private/*
apps/__pycache__/*.pyc apps/__pycache__/*.pyc
docker/streamer docker/streamer
docker-compose.yml

View File

@ -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

View File

@ -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 }}"

View File

@ -3,7 +3,7 @@
# @Author : Mahasri Kalavala # @Author : Mahasri Kalavala
############################################################################### ###############################################################################
homeassistant: homeassistant:
name: Home name: MyHome
temperature_unit: F temperature_unit: F
latitude: !secret home_latitude latitude: !secret home_latitude
longitude: !secret home_longitude longitude: !secret home_longitude
@ -16,14 +16,14 @@ homeassistant:
packages: !include_dir_named packages packages: !include_dir_named packages
allowlist_external_dirs: allowlist_external_dirs:
- /home/homeassistant/.homeassistant/www/downloads/camera/patio/ - /config/www/downloads/camera/patio/
- /home/homeassistant/.homeassistant/www/downloads/camera/garage/ - /config/www/downloads/camera/garage/
- /home/homeassistant/.homeassistant/www/downloads/camera/playarea/ - /config/www/downloads/camera/playarea/
- /home/homeassistant/.homeassistant/www/downloads/camera/driveway/ - /config/www/downloads/camera/driveway/
- /home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/ - /config/www/downloads/camera/frontdoor/
- /home/homeassistant/.homeassistant/www/downloads/camera/kitchen/ - /config/www/downloads/camera/kitchen/
- /home/homeassistant/.homeassistant/www/downloads/camera/frontroom/ - /config/www/downloads/camera/frontroom/
- /home/homeassistant/.homeassistant/www/downloads/camera/3dprinter/ - /config/www/downloads/camera/3dprinter/
sun: sun:
alexa: alexa:
@ -32,6 +32,8 @@ discovery:
ignore: ignore:
- homekit - homekit
frontend:
octoprint: octoprint:
host: !secret octoprint_ip host: !secret octoprint_ip
api_key: !secret octoprint_key api_key: !secret octoprint_key
@ -50,9 +52,10 @@ homekit:
- binary_sensor.door_window_sensor_158d000424a6d6 # Front Door - binary_sensor.door_window_sensor_158d000424a6d6 # Front Door
- binary_sensor.door_window_sensor_158d0004248d5b # Single Car Garage - binary_sensor.door_window_sensor_158d0004248d5b # Single Car Garage
- binary_sensor.door_window_sensor_158d0004231f7b # Double Car Garage - binary_sensor.door_window_sensor_158d0004231f7b # Double Car Garage
- binary_sensor.door_window_sensor_158d0004880f30 # Garage Entry Door
mobile_app: mobile_app:
# default_config:
websocket_api: websocket_api:
python_script: python_script:
logger: !include logging.yaml logger: !include logging.yaml
@ -72,7 +75,7 @@ mqtt:
username: !secret mqtt_username username: !secret mqtt_username
password: !secret mqtt_password password: !secret mqtt_password
keepalive: 60 keepalive: 60
client_id: pi_ha client_id: HA_SERVER
sonos: sonos:
media_player: media_player:
@ -94,13 +97,12 @@ lovelace:
google: google:
client_id: !secret google_client_id client_id: !secret google_client_id
client_secret: !secret google_client_secret client_secret: !secret google_client_secret
#emulated_hue:
emulated_hue: # expose_by_default: false
expose_by_default: false # host_ip: !secret ha_ip_address
host_ip: !secret ha_ip_address # listen_port: 8300
listen_port: 8300 # exposed_domains:
exposed_domains: # - light
- light # - switch
- switch # - input_boolean
- input_boolean # - group
- group

View File

@ -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.""" """Support for monitoring OctoPrint 3D printers."""
import logging import logging
import time import time

View File

@ -20,9 +20,9 @@ logs:
homeassistant.components.wemo: critical homeassistant.components.wemo: critical
homeassistant.components.sensor: critical homeassistant.components.sensor: critical
homeassistant.components.cloud.iot: warning homeassistant.components.cloud.iot: warning
homeassistant.components.http: warning # homeassistant.components.http: warning
homeassistant.components.camera: warning homeassistant.components.camera: warning
homeassistant.components.zwave: warning homeassistant.components.zwave: critical
homeassistant.components.image_processing: warning homeassistant.components.image_processing: warning
homeassistant.components.homekit: warning homeassistant.components.homekit: warning
custom_components.sensor.life360: warning custom_components.sensor.life360: warning

View File

@ -78,12 +78,8 @@ cards:
- sensor.octoprint_file - sensor.octoprint_file
- binary_sensor.octoprint_printing - binary_sensor.octoprint_printing
- binary_sensor.octoprint_printing_error - binary_sensor.octoprint_printing_error
- sensor.octoprint_actual_bed_temp
- sensor.octoprint_actual_tool0_temp
- sensor.octoprint_current_state - sensor.octoprint_current_state
- sensor.octoprint_job_percentage - sensor.octoprint_job_percentage
- sensor.octoprint_target_bed_temp
- sensor.octoprint_target_tool0_temp
- sensor.octoprint_time_elapsed - sensor.octoprint_time_elapsed
- sensor.octoprint_time_remaining - sensor.octoprint_time_remaining
@ -179,6 +175,8 @@ cards:
name: Basement Door name: Basement Door
- entity: binary_sensor.garage_door_sensor_sensor - entity: binary_sensor.garage_door_sensor_sensor
name: Garage Door name: Garage Door
- entity: binary_sensor.door_window_sensor_158d0004880f30
name: Garage Entry Door
- entity: sensor.single_car_garage_door_sensor_status - entity: sensor.single_car_garage_door_sensor_status
name: Single Car Garage Door name: Single Car Garage Door
- entity: binary_sensor.two_car_garage_door_tilt_sensor_sensor - entity: binary_sensor.two_car_garage_door_tilt_sensor_sensor
@ -191,45 +189,6 @@ cards:
type: glance type: glance
title: Doors 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 - type: weather-forecast
entity: weather.dark_sky entity: weather.dark_sky
@ -272,6 +231,8 @@ cards:
name: Front Door name: Front Door
- entity: binary_sensor.door_window_sensor_158d00040ad8fc - entity: binary_sensor.door_window_sensor_158d00040ad8fc
name: Back Door name: Back Door
- entity: binary_sensor.door_window_sensor_158d0004880f30
name: Garage Entry Door
- entity: binary_sensor.door_window_sensor_158d000424718f - entity: binary_sensor.door_window_sensor_158d000424718f
name: Master Bathroom Door name: Master Bathroom Door
- entity: binary_sensor.door_window_sensor_158d00040ad8ec - entity: binary_sensor.door_window_sensor_158d00040ad8ec
@ -281,6 +242,63 @@ cards:
- entity: binary_sensor.door_window_sensor_158d0004248d5b - entity: binary_sensor.door_window_sensor_158d0004248d5b
name: Single Car Garage Door 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 - type: entity-filter
title: Motion Sensors title: Motion Sensors
show_empty: false show_empty: false
@ -302,6 +320,7 @@ cards:
- binary_sensor.garage_door_sensor_sensor - binary_sensor.garage_door_sensor_sensor
- binary_sensor.kitchen_motion_sensor_sensor - binary_sensor.kitchen_motion_sensor_sensor
- binary_sensor.door_window_sensor_158d00040ad8fc # back door - 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.stairs_motion_sensor_sensor
- binary_sensor.tv_multi_sensor_sensor - binary_sensor.tv_multi_sensor_sensor
- binary_sensor.door_window_sensor_158d0004248d5b - binary_sensor.door_window_sensor_158d0004248d5b
@ -383,4 +402,5 @@ cards:
- input_label.door_window_sensor_158d0004231f7b - input_label.door_window_sensor_158d0004231f7b
- input_label.door_window_sensor_158d0004248d5b - input_label.door_window_sensor_158d0004248d5b
- input_label.door_window_sensor_158d00040ad8fc - input_label.door_window_sensor_158d00040ad8fc
- input_label.door_window_sensor_158d0004880f30 # garage entry door
- input_label.door_window_sensor_158d000424a6d6 - input_label.door_window_sensor_158d000424a6d6

View File

@ -18,6 +18,8 @@ cards:
name: Srinika's Bedroom name: Srinika's Bedroom
- entity: switch.prayer_room - entity: switch.prayer_room
name: Study Room name: Study Room
- entity: light.master_bathroom_lights
name: Master Bathroom Lights
- type: entities - type: entities
title: Downstairs title: Downstairs
@ -32,6 +34,28 @@ cards:
- light.hue_color_lamp_1 - light.hue_color_lamp_1
- light.hue_color_lamp_2 - light.hue_color_lamp_2
- light.hue_color_lamp_3 - 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 - type: entities
title: Fragrance Outlets title: Fragrance Outlets
@ -45,17 +69,13 @@ cards:
show_header_toggle: false show_header_toggle: false
entities: entities:
- switch.garage - switch.garage
- entity: switch.tesla_model_3_charger_switch - switch.garage_shop_lights
name: Tesla Charger Switch
- entity: switch.tesla_model_3_maxrange_switch
name: Tesla Max Range Switch
- type: entities - type: entities
title: Always On title: Always On
show_header_toggle: false show_header_toggle: false
entities: entities:
- light.gateway_light_34ce008ad65d - light.gateway_light_34ce008ad65d
- switch.wemoswitch1
- type: entities - type: entities
title: Outdoor Lights title: Outdoor Lights

View File

@ -67,12 +67,28 @@ cards:
domain: script domain: script
action: stream_playarea_camera_to_chromecast 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 - type: picture-glance
id: camera_frontdoor_camera id: camera_frontdoor_camera
title: Frontdoor Camera title: Frontdoor Camera
entity: camera.frontdoor_camera entity: camera.frontdoor_camera
camera_image: camera.frontdoor_camera camera_image: camera.frontdoor_camera
camera_view: live # camera_view: live
show_info: true show_info: true
tap_action: tap_action:
action: more-info action: more-info
@ -138,3 +154,15 @@ cards:
entities: entities:
- binary_sensor.motion_sensor_158d00016c2d0e - binary_sensor.motion_sensor_158d00016c2d0e
- binary_sensor.octoprint_printing - 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

View File

@ -55,6 +55,15 @@ cards:
tap_action: tap_action:
action: more-info 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 - type: entities
title: Image Processing title: Image Processing
show_header_toggle: false show_header_toggle: false
@ -71,3 +80,5 @@ cards:
name: Playarea Camera name: Playarea Camera
- entity: image_processing.tensorflow_3d_printer_camera - entity: image_processing.tensorflow_3d_printer_camera
name: 3D Printer Camera name: 3D Printer Camera
- entity: image_processing.tensorflow_porch_camera
name: Porch Camera

View File

@ -22,22 +22,8 @@ cards:
- sensor.processor_use - sensor.processor_use
- sensor.memory_free - sensor.memory_free
- binary_sensor.workday_sensor - binary_sensor.workday_sensor
- sensor.ha_installed_version
- sensor.ha_current_version
- sensor.home_assistant_up_time - 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 - type: horizontal-stack
cards: cards:
- type: gauge - type: gauge

View File

@ -204,7 +204,6 @@ cards:
- input_boolean.led_alerts - input_boolean.led_alerts
- input_boolean.security_system_alerts - input_boolean.security_system_alerts
- input_boolean.notify_camera_alerts - input_boolean.notify_camera_alerts
- input_boolean.alarm_clock
- input_boolean.trash_reminders - input_boolean.trash_reminders
- automation.family_room_motion_timer - automation.family_room_motion_timer
- automation.family_room_timer_elapsed - automation.family_room_timer_elapsed

View File

@ -87,6 +87,8 @@ cards:
title: RPi Scripts title: RPi Scripts
show_header_toggle: false show_header_toggle: false
entities: entities:
- script.query_disk_info
- script.query_wifi_info
- script.restart_all_raspberrypis - script.restart_all_raspberrypis
- script.restart_all_snapclients - script.restart_all_snapclients
- script.shutdown_all_raspberrypis - script.shutdown_all_raspberrypis

View File

@ -1,7 +1,6 @@
title: Scripts title: Scripts
icon: mdi:script icon: mdi:script
cards: cards:
- type: horizontal-stack - type: horizontal-stack
cards: cards:
- type: "custom:button-card" - type: "custom:button-card"
@ -31,9 +30,50 @@ cards:
action: restart_hass action: restart_hass
- type: entities - type: entities
title: Scripts title: Notification Scripts
show_header_toggle: false show_header_toggle: false
entities: 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 - script.home_mode_away
- entity: script.xiaomi_blue - entity: script.xiaomi_blue
name: Xiaomi Gateway Blue Light name: Xiaomi Gateway Blue Light
@ -43,10 +83,52 @@ cards:
name: Xiaomi Gateway Red Light name: Xiaomi Gateway Red Light
- type: entities - type: entities
title: Home Status/Report title: Pill Scripts
show_header_toggle: false show_header_toggle: false
entities: entities:
- entity: script.good_night_tts - entity: script.pill_taken
name: Bedtime Report name: Pill Taken
- entity: script.home_status - entity: script.remind_pill
name: Hourly Report 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

View File

@ -23,22 +23,6 @@ cards:
- automation.study_room_cube_event_flip90 - automation.study_room_cube_event_flip90
- automation.study_room_cube_event_shake - 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 - type: entities
title: Zone Based Alerts title: Zone Based Alerts
show_header_toggle: false show_header_toggle: false
@ -50,7 +34,6 @@ cards:
- automation.alert_when_someone_enters_a_zone - automation.alert_when_someone_enters_a_zone
- automation.alert_when_someone_leaves_a_zone - automation.alert_when_someone_leaves_a_zone
- automation.send_a_message_as_i_get_closer_to_home - automation.send_a_message_as_i_get_closer_to_home
- automation.update_phone_battery_levels_from_life360
- automation.welcome_family - automation.welcome_family
- type: entities - type: entities
@ -63,7 +46,6 @@ cards:
- automation.notify_holiday_state_change - automation.notify_holiday_state_change
- automation.notify_indian_holidays - automation.notify_indian_holidays
- automation.notify_low_battery - automation.notify_low_battery
- automation.notify_of_new_external_ip
- automation.notify_thermostat_state_change - automation.notify_thermostat_state_change
- automation.notify_usps_mail - automation.notify_usps_mail
- automation.notify_usps_packages - automation.notify_usps_packages
@ -73,9 +55,6 @@ cards:
show_header_toggle: false show_header_toggle: false
entities: entities:
- automation.cancel_wfh_timer_when_suresh_leaves_home - 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_motion_timer
- automation.family_room_timer_elapsed - automation.family_room_timer_elapsed
- automation.frontroom_motion_timer - automation.frontroom_motion_timer
@ -128,7 +107,6 @@ cards:
title: Home Security Automations title: Home Security Automations
show_header_toggle: false show_header_toggle: false
entities: entities:
- automation.home_security_status_leeo_color
- automation.home_security_system_watchdog_10_minutes - automation.home_security_system_watchdog_10_minutes
- automation.home_security_system_watchdog_30_minutes - automation.home_security_system_watchdog_30_minutes
- automation.notify_home_security_status_change - automation.notify_home_security_status_change
@ -143,33 +121,19 @@ cards:
title: Light Automations title: Light Automations
show_header_toggle: false show_header_toggle: false
entities: entities:
- automation.animate_familyroom_lights
- automation.restore_familyroom_lights - automation.restore_familyroom_lights
- automation.animate_master_bedroom_lights
- automation.restore_masterbedroom_lights
- automation.evening_indoor_lights_on_before_sunset - automation.evening_indoor_lights_on_before_sunset
- automation.evening_outdoor_lights_on_at_sunset - automation.evening_outdoor_lights_on_at_sunset
- automation.garage_lights_on_when_door_is_opened - automation.garage_lights_on_when_door_is_opened
- automation.long_flash_all_lights
- automation.morning_indoor_lights_on - automation.morning_indoor_lights_on
- automation.morning_master_bedroom_lights_off_mallika - automation.morning_master_bedroom_lights_off_mallika
- automation.morning_master_bedroom_lights_on_mallika - automation.morning_master_bedroom_lights_on_mallika
- automation.morning_outdoor_lights_off - automation.morning_outdoor_lights_off
- automation.night_dim_tv_lights - automation.night_dim_tv_lights
- automation.night_turn_lights_off - automation.night_turn_lights_off
- automation.short_flash_all_lights
- automation.tv_dim_indoor_lights_when_tv_is_on - 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.tv_turn_lights_on_when_tv_is_turned_off
- automation.outdoor_light_watchdog
- 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
- type: entities - type: entities
title: Trash & Recycle Automations title: Trash & Recycle Automations
@ -201,10 +165,7 @@ cards:
show_header_toggle: false show_header_toggle: false
entities: entities:
- automation.night_dim_tv_lights - 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_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.tv_turn_lights_on_when_tv_is_turned_off
- automation.reset_movie_time_after_3_hours - automation.reset_movie_time_after_3_hours
@ -257,14 +218,8 @@ cards:
title: Home Assistant Automations title: Home Assistant Automations
show_header_toggle: false show_header_toggle: false
entities: 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.season_change_notification
- automation.turn_off_ac_after_3_hours_of_cooling - automation.turn_off_ac_after_3_hours_of_cooling
- automation.update_available_notification
- automation.update_zwave_battery_levels
- type: entities - type: entities
title: Misc Automations title: Misc Automations

View File

@ -1,17 +1,8 @@
title: QNAP NAS title: QNAP NAS
icon: mdi:harddisk icon: mdi:harddisk
cards: 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 - type: vertical-stack
title: KALAVALA-NAS
cards: cards:
- type: horizontal-stack - type: horizontal-stack
cards: cards:
@ -101,10 +92,156 @@ cards:
yellow: 70 yellow: 70
red: 85 red: 85
- type: entities - type: entities
title: QNAP Drives title: KALAVALA-NAS Drives
show_header_toggle: false show_header_toggle: false
entities: entities:
- sensor.kalavala_nas_temperature_drive_0_1 - sensor.kalavala_nas_temperature_drive_0_1
- sensor.kalavala_nas_temperature_drive_0_2 - sensor.kalavala_nas_temperature_drive_0_2
- sensor.kalavala_nas_temperature_drive_0_3 - sensor.kalavala_nas_temperature_drive_0_3
- sensor.kalavala_nas_temperature_drive_0_4 - 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

View File

@ -85,10 +85,10 @@ sensor:
print_completion: print_completion:
value_template: > value_template: >
{% set seconds = states('sensor.octoprint_time_remaining')|int %} {% 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") %} {% if utcnow().strftime('%s')|int | timestamp_custom("%A %D") == (utcnow().strftime('%s') |int + seconds) | timestamp_custom("%A %D") %}
Today at {{- (now().strftime('%s')|int + seconds) | timestamp_custom("%l:%M %p") }} Today at {{ (utcnow().strftime('%s')|int + seconds) | timestamp_custom("%I:%M %p") }}
{% else %} {% 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 %} {% endif %}
- platform: template - platform: template
@ -263,12 +263,12 @@ automation:
- service: camera.snapshot - service: camera.snapshot
data: data:
entity_id: camera.3d_printer_camera 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 - service: notify.telegram
data_template: data_template:
title: "3D Printer" title: "3D Printer"
message: "Print Progress" message: "Print Progress"
data: data:
photo: 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') }}%" caption: "3D Print Progress at {{ states('sensor.octoprint_job_percentage') }}%"

View File

@ -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!"

View File

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

View File

@ -433,47 +433,6 @@ automation:
data_template: data_template:
message: "{{ trigger.to_state.attributes.friendly_name.split(' ')[1] }}'s phone battery is : {{ trigger.to_state.attributes.battery }}%." 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 - alias: Check Wi-Fi Status of iPhones At Home
initial_state: true initial_state: true
trigger: trigger:

View File

@ -45,36 +45,55 @@ camera:
username: !secret camera_username username: !secret camera_username
password: !secret camera_password 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 - platform: mjpeg
mjpeg_url: !secret garage_camera_url mjpeg_url: !secret garage_camera_url
name: Garage Camera 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 - platform: local_file
name: Frontdoor Latest Scan 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 - platform: local_file
name: Driveway Latest Scan 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 - platform: local_file
name: Patio Latest Scan 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 - platform: local_file
name: Playarea Latest Scan 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 - platform: local_file
name: Garage Latest Scan 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 - platform: local_file
name: 3dPrinter Latest Scan 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: binary_sensor:
- platform: hikvision - platform: hikvision
@ -105,6 +124,14 @@ binary_sensor:
username: !secret camera_username username: !secret camera_username
password: !secret camera_password 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: image_processing:
- platform: tensorflow - platform: tensorflow
scan_interval: 10000 scan_interval: 10000
@ -115,11 +142,12 @@ image_processing:
- entity_id: camera.playarea_camera - entity_id: camera.playarea_camera
- entity_id: camera.garage_camera - entity_id: camera.garage_camera
- entity_id: camera.3d_printer_camera - entity_id: camera.3d_printer_camera
- entity_id: camera.porch_camera
file_out: file_out:
- "/home/homeassistant/.homeassistant/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] }}_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] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg"
model: model:
graph: /home/homeassistant/.homeassistant/tensorflow/models/efficientdet_d0_coco17_tpu-32/ graph: /config/tensorflow/models/efficientdet_d0_coco17_tpu-32/
input_label: input_label:
current_stream: current_stream:
@ -194,6 +222,26 @@ rest_command:
############################################################################### ###############################################################################
automation: 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 # Scan front door and driveway cameras when motion detected
# if the garage doors are open, scan garage cameras as well # if the garage doors are open, scan garage cameras as well
@ -260,7 +308,7 @@ automation:
{%- endif -%} {%- endif -%}
data: data:
images: 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 - service: script.notify_me_with_picture
data_template: data_template:
@ -277,7 +325,7 @@ automation:
{% else %} {% else %}
Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif %} {%- 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" caption: "Front Door Motion"
- condition: template - condition: template
@ -357,7 +405,7 @@ automation:
{% else %} {% else %}
Motion detected at the driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. Motion detected at the driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%} {%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg" file: "/config/www/downloads/camera/driveway/driveway_latest.jpg"
caption: "Driveway Motion" caption: "Driveway Motion"
- service: notify.notify_smtp - service: notify.notify_smtp
@ -377,7 +425,7 @@ automation:
{%- endif -%} {%- endif -%}
data: data:
images: images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg" - "/config/www/downloads/camera/driveway/driveway_latest.jpg"
- condition: template - condition: template
value_template: > value_template: >
@ -466,7 +514,7 @@ automation:
{% else %} {% else %}
Motion detected in the garage on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. Motion detected in the garage on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%} {%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg" file: "/config/www/downloads/camera/garage/garage_latest.jpg"
caption: "Garage Motion" caption: "Garage Motion"
- service: notify.notify_smtp - service: notify.notify_smtp
@ -486,7 +534,7 @@ automation:
{%- endif -%} {%- endif -%}
data: data:
images: 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 # When motion detected in the backyard, scan both cameras
# #
@ -552,7 +600,7 @@ automation:
{% else %} {% else %}
Motion detected in the backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below. Motion detected in the backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%} {%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg" file: "/config/www/downloads/camera/patio/patio_latest.jpg"
caption: "Backyard Motion" caption: "Backyard Motion"
- service: notify.notify_smtp - service: notify.notify_smtp
@ -572,8 +620,8 @@ automation:
{%- endif -%} {%- endif -%}
data: data:
images: images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg" - "/config/www/downloads/camera/patio/patio_latest.jpg"
- "/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_latest.jpg" - "/config/www/downloads/camera/playarea/playarea_latest.jpg"
# Before you think this code is crazy, here is an explanation. # Before you think this code is crazy, here is an explanation.
# #
@ -626,21 +674,28 @@ automation:
data_template: data_template:
entity_id: "camera.frontdoor_camera" entity_id: "camera.frontdoor_camera"
filename: 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('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot - service: camera.snapshot
data_template: data_template:
entity_id: "camera.driveway_camera" entity_id: "camera.driveway_camera"
filename: filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot - service: camera.snapshot
data_template: data_template:
entity_id: "camera.garage_camera" entity_id: "camera.garage_camera"
filename: filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -650,15 +705,15 @@ automation:
message: "Motion Detected At Front Door, Check images:" message: "Motion Detected At Front Door, Check images:"
data: data:
photo: 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('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Front Door" 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('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Driveway" 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('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage" 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.' message: 'Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") -}}. Please see the images below.'
data: data:
images: images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ - "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .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('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .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('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -718,21 +773,21 @@ automation:
data_template: data_template:
entity_id: "camera.frontdoor_camera" entity_id: "camera.frontdoor_camera"
filename: filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot - service: camera.snapshot
data_template: data_template:
entity_id: "camera.driveway_camera" entity_id: "camera.driveway_camera"
filename: filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot - service: camera.snapshot
data_template: data_template:
entity_id: "camera.garage_camera" entity_id: "camera.garage_camera"
filename: filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -742,15 +797,15 @@ automation:
message: "Motion Detected At Driveway, Check images:" message: "Motion Detected At Driveway, Check images:"
data: data:
photo: 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('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Front Door" 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('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Driveway" 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('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage" 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.' message: 'Motion detected at the Driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.'
data: data:
images: images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ - "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .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('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .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('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -821,7 +876,7 @@ automation:
data_template: data_template:
entity_id: "camera.patio_camera" entity_id: "camera.patio_camera"
filename: filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~ "{{ '/config/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -829,7 +884,7 @@ automation:
data_template: data_template:
entity_id: "camera.playarea_camera" entity_id: "camera.playarea_camera"
filename: filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~ "{{ '/config/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -839,11 +894,11 @@ automation:
message: "Motion Detected in the Backyard, Check images:" message: "Motion Detected in the Backyard, Check images:"
data: data:
photo: 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('-','_') (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Patio" 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('-','_') (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Playarea" 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.' message: 'Motion detected in the Backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.'
data: data:
images: images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~ - "{{ '/config/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .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('-','_') (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -1023,3 +1078,8 @@ script:
data_template: data_template:
url: !secret playarea_camera_stream_url url: !secret playarea_camera_stream_url
name: "playarea" 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"

View File

@ -108,9 +108,9 @@ automation:
state: "on" state: "on"
action: action:
- service: switch.turn_off - service: switch.turn_off
entity_id: switch.frontyard_light entity_id: switch.frontyard
- service: switch.turn_off - 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 # Turn OF Kitchen Lights after 3 hours of wake up time during school/work days
@ -162,9 +162,9 @@ automation:
state: "on" state: "on"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.frontyard_light entity_id: switch.frontyard
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.wemobackyardlightswitch entity_id: switch.backyard
############################################################################### ###############################################################################
# Turn indoor lights on 30 minutes before sunset # Turn indoor lights on 30 minutes before sunset
@ -218,6 +218,8 @@ automation:
entity_id: switch.kids_bed_accent entity_id: switch.kids_bed_accent
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.front_room entity_id: switch.front_room
- service: switch.turn_on
entity_id: switch.officeroom_accent_lights
# ÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛ # ÛÛÛÛÛÛ ÛÛÛÛÛ ÛÛÛ ÛÛÛÛÛ ÛÛÛÛÛ
# °°ÛÛÛÛÛÛ °°ÛÛÛ °°° °°ÛÛÛ °°ÛÛÛ # °°ÛÛÛÛÛÛ °°ÛÛÛ °°° °°ÛÛÛ °°ÛÛÛ

View File

@ -11,9 +11,9 @@ homeassistant:
states('binary_sensor.door_window_sensor_158d0004248d5b') == "off" %} states('binary_sensor.door_window_sensor_158d0004248d5b') == "off" %}
{% set doors = "Both Garage Doors are now CLOSED" %} {% set doors = "Both Garage Doors are now CLOSED" %}
{% else %} {% 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! 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! Your {{ trigger.to_state.attributes.friendly_name }} is now CLOSED!
{% endif %} {% endif %}
{% endif %} {% endif %}
@ -77,13 +77,6 @@ binary_sensor:
payload_off: "off" payload_off: "off"
value_template: "{{ value }}" 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" payload: "off"
retain: false retain: false
- alias: Turn Garage Lights On When Motion Detected - alias: Turn Garage Lights On When Motion Detected or Door Opened
initial_state: true initial_state: true
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.motion_sensor_158d000272bf48 entity_id: binary_sensor.motion_sensor_158d000272bf48
to: "on" to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.garage 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 # Notifies when either of the garage door is opened or closed
############################################################################### ###############################################################################
@ -177,7 +159,7 @@ automation:
data_template: data_template:
entity_id: "camera.garage_camera" entity_id: "camera.garage_camera"
filename: 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('-','_') ((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}"
@ -200,7 +182,7 @@ automation:
{%- endif %} {%- endif %}
Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below. Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below.
file: > 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('-','_') ((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }} .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}
caption: "{{ trigger.to_state.attributes.friendly_name }}: {{ 'OPEN' if trigger.to_state.state == 'on' else 'CLOSED' }}" 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. Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below.
data: data:
images: 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('-','_') ((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}"
@ -241,9 +223,12 @@ automation:
entity_id: entity_id:
- binary_sensor.door_window_sensor_158d000424a6d6 # Front Door - binary_sensor.door_window_sensor_158d000424a6d6 # Front Door
- binary_sensor.door_window_sensor_158d00040ad8fc # Back Door - binary_sensor.door_window_sensor_158d00040ad8fc # Back Door
- binary_sensor.door_window_sensor_158d0004880f30 # Garage Entry Door
condition: condition:
- condition: template - condition: template
value_template: "{{ trigger.from_state.state not in ['unavailable', 'unknown'] }}" value_template: "{{ trigger.from_state.state not in ['unavailable', 'unknown'] }}"
- condition: template
value_template: "{{ trigger.from_state.state != trigger.to_state.state }}"
action: action:
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
@ -280,12 +265,15 @@ automation:
entity_id: binary_sensor.door_window_sensor_158d000424a6d6 entity_id: binary_sensor.door_window_sensor_158d000424a6d6
to: "on" to: "on"
condition: condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: script.frontdoor_cam
- condition: template - condition: template
value_template: "{{ states('sun.sun') == 'below_horizon' }}" value_template: "{{ states('sun.sun') == 'below_horizon' }}"
action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.front_room entity_id: switch.front_room
- service: script.frontdoor_cam
- alias: When Back Door Opens Turn Kitchen Lights ON - alias: When Back Door Opens Turn Kitchen Lights ON
initial_state: true initial_state: true
@ -294,12 +282,15 @@ automation:
entity_id: binary_sensor.door_window_sensor_158d00040ad8fc entity_id: binary_sensor.door_window_sensor_158d00040ad8fc
to: "on" to: "on"
condition: condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service_template: "script.{{ ['patio_cam', 'playarea_cam'] | random }}"
- condition: template - condition: template
value_template: "{{ states('sun.sun') == 'below_horizon' }}" value_template: "{{ states('sun.sun') == 'below_horizon' }}"
action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.kitchen entity_id: switch.kitchen
- service_template: "script.{{ ['patio_cam', 'playarea_cam'] | random }}"
################################################################################ ################################################################################
# When I open the garage door # When I open the garage door
@ -311,7 +302,7 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: state platform: state
entity_id: binary_sensor.garage_door_sensor_sensor entity_id: binary_sensor.door_window_sensor_158d0004880f30
to: "on" to: "on"
condition: condition:
condition: or condition: or
@ -324,8 +315,52 @@ automation:
value_template: "{{ states('binary_sensor.door_window_sensor_158d0004248d5b') == 'off' }}" value_template: "{{ states('binary_sensor.door_window_sensor_158d0004248d5b') == 'off' }}"
- condition: template - condition: template
value_template: "{{ states('binary_sensor.door_window_sensor_158d0004231f7b') == 'off' }}" value_template: "{{ states('binary_sensor.door_window_sensor_158d0004231f7b') == 'off' }}"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.garage entity_id: switch.garage
- service: timer.start - service: timer.start
entity_id: timer.timer_garage 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

View File

@ -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 }}'

View File

@ -45,16 +45,6 @@ sensor:
arg: ens160 arg: ens160
- type: last_boot - 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 - platform: mqtt
state_topic: "iotlink/domain/winsvr2016/lwt" state_topic: "iotlink/domain/winsvr2016/lwt"
name: "Windows Server" name: "Windows Server"
@ -79,57 +69,3 @@ sensor:
state_topic: "iotlink/domain/winsvr2016/windows-monitor/stats/system/idle-time" state_topic: "iotlink/domain/winsvr2016/windows-monitor/stats/system/idle-time"
name: "Windows Server Idle Time" name: "Windows Server Idle Time"
value_template: "{{ value }}" 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."

View File

@ -16,10 +16,10 @@ homeassistant:
friendly_name: Home Security System friendly_name: Home Security System
icon: mdi:security icon: mdi:security
simplisafe: # simplisafe:
accounts: # accounts:
- username: !secret simplisafe_username # - username: !secret simplisafe_username
password: !secret simplisafe_password # password: !secret simplisafe_password
############################################################################### ###############################################################################
# _ _ _ # _ _ _
@ -36,7 +36,7 @@ automation:
# Leeo light - color indication of Home Security System # Leeo light - color indication of Home Security System
# BLUE for Secured (Home and Away), and RED for OFF or Trigerred # 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 initial_state: true
trigger: trigger:
platform: state platform: state
@ -60,6 +60,104 @@ automation:
script.xiaomi_red script.xiaomi_red
{% endif %} {% 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 # Notify Security System State Change
############################################################################### ###############################################################################
@ -229,7 +327,7 @@ automation:
- service: camera.snapshot - service: camera.snapshot
data_template: data_template:
entity_id: "camera.garage_camera" 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 - service: notify.telegram
data_template: data_template:
@ -237,7 +335,7 @@ automation:
message: "Home Security System is ON, but Garage Doors are OPEN!" message: "Home Security System is ON, but Garage Doors are OPEN!"
data: data:
photo: 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('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage" caption: "Garage"

View File

@ -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

View File

@ -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

View File

@ -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") }}'

View File

@ -58,6 +58,8 @@ homeassistant:
unit_of_measurement: "count" unit_of_measurement: "count"
input_label.door_window_sensor_158d00040ad8fc: input_label.door_window_sensor_158d00040ad8fc:
unit_of_measurement: "count" unit_of_measurement: "count"
input_label.door_window_sensor_158d0004880f30:
unit_of_measurement: "count"
input_label.door_window_sensor_158d000424a6d6: input_label.door_window_sensor_158d000424a6d6:
unit_of_measurement: "count" unit_of_measurement: "count"
@ -68,6 +70,9 @@ input_label:
door_window_sensor_158d00040ad8fc: door_window_sensor_158d00040ad8fc:
name: Back Door name: Back Door
icon: mdi:run-fast icon: mdi:run-fast
door_window_sensor_158d0004880f30:
name: Garage Entry Door
icon: mdi:run-fast
basement_door_sensor_sensor: basement_door_sensor_sensor:
name: Basement Door name: Basement Door
icon: mdi:run-fast icon: mdi:run-fast
@ -152,6 +157,7 @@ automation:
entity_id: entity_id:
- binary_sensor.door_window_sensor_158d000424a6d6 - binary_sensor.door_window_sensor_158d000424a6d6
- binary_sensor.door_window_sensor_158d00040ad8fc - binary_sensor.door_window_sensor_158d00040ad8fc
- binary_sensor.door_window_sensor_158d0004880f30 # garage entry door
- binary_sensor.basement_door_sensor_sensor - binary_sensor.basement_door_sensor_sensor
- binary_sensor.downstairs_multi_sensor_sensor - binary_sensor.downstairs_multi_sensor_sensor
- binary_sensor.front_room_multi_sensor_sensor - binary_sensor.front_room_multi_sensor_sensor
@ -215,3 +221,4 @@ automation:
- input_label.motion_sensor_158d000272bfd7 - input_label.motion_sensor_158d000272bfd7
- input_label.door_window_sensor_158d000424a6d6 - input_label.door_window_sensor_158d000424a6d6
- input_label.door_window_sensor_158d00040ad8fc - input_label.door_window_sensor_158d00040ad8fc
- input_label.door_window_sensor_158d0004880f30

View File

@ -20,6 +20,8 @@ homeassistant:
hidden: true hidden: true
timer.timer_masterbedroom: timer.timer_masterbedroom:
hidden: true hidden: true
timer.timer_masterbathroom:
hidden: true
timer.timer_officeroom: timer.timer_officeroom:
hidden: true hidden: true
@ -34,6 +36,8 @@ timer:
duration: "00:05:00" duration: "00:05:00"
timer_masterbedroom: timer_masterbedroom:
duration: "00:05:00" duration: "00:05:00"
timer_masterbathroom:
duration: "00:05:00"
timer_officeroom: timer_officeroom:
duration: "00:05:00" duration: "00:05:00"
@ -48,6 +52,42 @@ timer:
############################################################################### ###############################################################################
automation: 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: # Office Room:
# Motion Detected - Turn ON the light and extend timer # Motion Detected - Turn ON the light and extend timer
############################################################################### ###############################################################################
@ -57,13 +97,15 @@ automation:
- platform: state - platform: state
entity_id: binary_sensor.motion_sensor_158d000272bfd7 entity_id: binary_sensor.motion_sensor_158d000272bfd7
to: "on" to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_officeroom entity_id: timer.timer_officeroom
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.office_room entity_id: switch.office_room
- condition: template
value_template: "{{ states('sun.sun') == 'below_horizon' }}"
- alias: Officeroom Timer Elapsed - alias: Officeroom Timer Elapsed
initial_state: true initial_state: true
@ -72,9 +114,15 @@ automation:
event_type: timer.finished event_type: timer.finished
event_data: event_data:
entity_id: timer.timer_officeroom entity_id: timer.timer_officeroom
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.turn_off - service_template: >
entity_id: switch.office_room {{ '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: # # Front Room:
# # Motion Detected - Turn ON the light and extend timer # # Motion Detected - Turn ON the light and extend timer
@ -86,6 +134,10 @@ automation:
entity_id: binary_sensor.motion_sensor_158d00016db6d2 entity_id: binary_sensor.motion_sensor_158d00016db6d2
from: "off" from: "off"
to: "on" to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_frontroom entity_id: timer.timer_frontroom
@ -111,6 +163,9 @@ automation:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: "below_horizon" state: "below_horizon"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.kitchen entity_id: switch.kitchen
@ -130,6 +185,9 @@ automation:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: "below_horizon" state: "below_horizon"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service_template: > - service_template: >
{% if now().hour|int >= states('sensor.bedtime_hour') |int and {% if now().hour|int >= states('sensor.bedtime_hour') |int and
@ -147,7 +205,7 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: entity_id:
- binary_sensor.tv_multi_sensor_sensor # - binary_sensor.tv_multi_sensor_sensor
- binary_sensor.motion_sensor_158d0001a25041 - binary_sensor.motion_sensor_158d0001a25041
from: "off" from: "off"
to: "on" to: "on"
@ -157,6 +215,9 @@ automation:
state: "below_horizon" state: "below_horizon"
- condition: template - condition: template
value_template: "{{ states('input_boolean.movie_time') != 'on' }}" value_template: "{{ states('input_boolean.movie_time') != 'on' }}"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 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 entity_id: timer.timer_familyroom
from: "active" from: "active"
to: "idle" to: "idle"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_off - service: light.turn_off
entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3
@ -201,6 +266,9 @@ automation:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: "below_horizon" state: "below_horizon"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -225,34 +293,16 @@ automation:
entity_id: timer.timer_masterbedroom entity_id: timer.timer_masterbedroom
from: "active" from: "active"
to: "idle" to: "idle"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_off - service: light.turn_off
entity_id: light.master_bedroom_1 entity_id: light.master_bedroom_1
- service: light.turn_off - service: light.turn_off
entity_id: light.master_bedroom_2 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 # Start the timer when the lights are ON
############################################################################### ###############################################################################
- alias: Garage Timer Start When Garage Lights ON - alias: Garage Timer Start When Garage Lights ON
@ -262,6 +312,10 @@ automation:
entity_id: switch.garage entity_id: switch.garage
from: "off" from: "off"
to: "on" to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_garage entity_id: timer.timer_garage
@ -280,6 +334,9 @@ automation:
- condition: state - condition: state
entity_id: input_boolean.working_in_garage entity_id: input_boolean.working_in_garage
state: "off" state: "off"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.turn_off - service: switch.turn_off
entity_id: switch.garage entity_id: switch.garage

View File

@ -63,6 +63,22 @@ sensor:
- drive_smart_status - drive_smart_status
- drive_temp - 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`, # 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. # above a certain value using `above: x` AND `for: 00:05:00` combination is not supported.
# #

View File

@ -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') }}'

View File

@ -88,22 +88,6 @@ script:
data: data:
message: > message: >
No one is at home. Cameras rolling, Indoor lights OFF, Thermostat is set to 'away' and your home is secured! 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 # The following script runs when no one is home. It excludes some lights
@ -113,26 +97,32 @@ script:
sequence: sequence:
- service: light.turn_off - service: light.turn_off
data_template: data_template:
entity_id: > entity_id:
{%- for state in states.light if state.entity_id != 'light.gateway_light_34ce008ad65d' -%} - light.family_room_lights
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}} - light.hue_color_lamp_1
{%- endfor -%} - 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 - service: switch.turn_off
data_template: data_template:
entity_id: > entity_id:
{%- for state in states.switch if - switch.basement_left
state.entity_id != 'switch.3d_printer' and - switch.basement_right
state.entity_id != 'switch.tesla_model_3_charger_switch' and - switch.downstairs_fragrance
state.entity_id != 'switch.tesla_model_3_maxrange_switch' and - switch.front_room
state.entity_id != 'switch.tesla_model_3_update_switch' and - switch.garage
state.entity_id != 'switch.mahasri_tesla_sentry_mode_switch' and - switch.garage_shop_lights
state.entity_id != 'switch.wemoswitch1' and - switch.guest_bedroom
state.entity_id != 'switch.wallmote_switch' and - switch.kids_bed_accent
state.entity_id != 'switch.wemobackyardlightswitch' and - switch.kids_bedroom
state.entity_id != 'switch.frontyard_light' and - switch.kitchen
not 'ecolink' in state.entity_id -%} - switch.office_room
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}} - switch.prayer_room
{%- endfor -%} - switch.upstairs_fragrance
- switch.officeroom_accent_lights
############################################################################### ###############################################################################
# _____ ____ _ # _____ ____ _

View File

@ -148,42 +148,34 @@ input_boolean:
movie_time: movie_time:
name: "Movie Time" name: "Movie Time"
initial: off
icon: mdi:movie-roll icon: mdi:movie-roll
stream_camera2chromecast: stream_camera2chromecast:
name: Stream Cameras to Chromecast name: Stream Cameras to Chromecast
icon: mdi:cctv icon: mdi:cctv
initial: on
home_security: home_security:
name: Home Security System name: Home Security System
initial: off
icon: mdi:verified icon: mdi:verified
home_assistant_status: home_assistant_status:
name: Home Status name: Home Status
initial: off
icon: mdi:home-assistant icon: mdi:home-assistant
working_in_garage: working_in_garage:
name: Working in Garage name: Working in Garage
initial: off
icon: mdi:worker icon: mdi:worker
working_in_office_room: working_in_office_room:
name: Working in Office Room name: Working in Office Room
initial: off
icon: mdi:worker icon: mdi:worker
hourly_report: hourly_report:
name: Hourly Report name: Hourly Report
initial: on
icon: mdi:file-chart icon: mdi:file-chart
nightly_report: nightly_report:
name: Nightly Report name: Nightly Report
initial: on
icon: mdi:file-chart icon: mdi:file-chart
notify_camera_alerts: notify_camera_alerts:
@ -192,32 +184,22 @@ input_boolean:
trash_reminders: trash_reminders:
name: Remind Trash Notifications name: Remind Trash Notifications
initial: on
icon: mdi:recycle icon: mdi:recycle
enjoyable_weather_reminders: enjoyable_weather_reminders:
name: Remind me to enjoy Good Weather name: Remind me to enjoy Good Weather
initial: on
icon: mdi:weather-sunny icon: mdi:weather-sunny
security_system_alerts: security_system_alerts:
name: Notify Security System Status Change name: Notify Security System Status Change
initial: on
icon: mdi:verified icon: mdi:verified
zone_alerts: zone_alerts:
name: Zone Alerts name: Zone Alerts
initial: on
icon: mdi:map-marker icon: mdi:map-marker
alarm_clock:
name: Alarm Clock
initial: on
icon: mdi:calendar-check
battery_notifications: battery_notifications:
name: Battery Notifications name: Battery Notifications
initial: on
icon: mdi:battery icon: mdi:battery
sharp_tv: sharp_tv:
@ -233,16 +215,13 @@ input_boolean:
light_automations: light_automations:
name: Light Automations name: Light Automations
icon: mdi:lightbulb-on icon: mdi:lightbulb-on
initial: on
text_alerts: text_alerts:
name: Text Alerts name: Text Alerts
initial: on
icon: mdi:map-marker icon: mdi:map-marker
garage_door_notifications: garage_door_notifications:
name: Garage Door Notifications name: Garage Door Notifications
initial: on
icon: mdi:garage icon: mdi:garage
############################################################################### ###############################################################################

View File

@ -1089,3 +1089,12 @@
# data_template: # data_template:
# entity_id: "input_label.file_2" # 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" # 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 %}

View File

@ -29,6 +29,27 @@ binary_sensor:
# #
############################################################################### ###############################################################################
automation: 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 # Dim Family Room Lights When TV is Turned ON
############################################################################### ###############################################################################
- alias: TV Dim Indoor Lights when TV is ON - alias: TV Dim Indoor Lights when TV is ON
@ -61,77 +82,6 @@ automation:
entity_id: light.hue_color_lamp_3 entity_id: light.hue_color_lamp_3
brightness: 5 brightness: 5
color_temp: 154 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 # Turn back Family room lights when TV is switched OFF
############################################################################### ###############################################################################
@ -167,8 +117,3 @@ automation:
brightness: 255 brightness: 255
color_temp: 154 color_temp: 154
transition: 5 transition: 5
- service: mqtt.publish
data:
topic: /home/tv/backlight
payload: "off"
retain: true

View File

@ -27,6 +27,10 @@ automation:
to: "on" to: "on"
for: for:
hours: 2 hours: 2
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.notify_me - service: script.notify_me
data: data:
@ -53,6 +57,9 @@ automation:
state: "off" state: "off"
- condition: template - condition: template
value_template: "{{ states('input_boolean.garage_door_notifications') == 'on' }}" value_template: "{{ states('input_boolean.garage_door_notifications') == 'on' }}"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.notify_me - service: script.notify_me
data_template: data_template:
@ -75,8 +82,8 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: entity_id:
- switch.wemobackyardlightswitch - switch.backyard
- switch.frontyard_light - switch.frontyard
to: "on" to: "on"
for: for:
minutes: 5 minutes: 5
@ -84,6 +91,9 @@ automation:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: "above_horizon" state: "above_horizon"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.turn_off - service: switch.turn_off
data_template: data_template:
@ -103,7 +113,6 @@ automation:
entity_id: entity_id:
- switch.basement_left - switch.basement_left
- switch.basement_right - switch.basement_right
- switch.downstairs_fragrance
- switch.front_room - switch.front_room
- switch.guest_bedroom - switch.guest_bedroom
- switch.kids_bed_accent - switch.kids_bed_accent
@ -123,6 +132,9 @@ automation:
condition: condition:
- condition: template - condition: template
value_template: "{{ now().hour |int > 22 }}" value_template: "{{ now().hour |int > 22 }}"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: homeassistant.turn_off - service: homeassistant.turn_off
data_template: data_template:

View File

@ -208,8 +208,30 @@ automation:
{% endif %} {% endif %}
- service: input_boolean.turn_on - service: input_boolean.turn_on
data_template: data_template:
entity_id: > entity_id: >-
{% set windspeed = states.sensor.dark_sky_wind_speed.state | round %} {%- 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 ) ) -%} {%- if ( windspeed > 7 and ( windspeed <= 15 ) ) -%}
input_boolean.nice_breeze_alert input_boolean.nice_breeze_alert
{%- elif ( windspeed > 15 ) and ( windspeed <= 25 ) %} {%- elif ( windspeed > 15 ) and ( windspeed <= 25 ) %}

View File

@ -31,6 +31,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d0002794cd6 entity_id: binary_sensor.cube_158d0002794cd6
action_type: flip90 action_type: flip90
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service_template: light.toggle - service_template: light.toggle
entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3
@ -44,6 +48,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d0002794cd6 entity_id: binary_sensor.cube_158d0002794cd6
action_type: flip180 action_type: flip180
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3 entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3
@ -61,6 +69,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d0002794cd6 entity_id: binary_sensor.cube_158d0002794cd6
action_type: move action_type: move
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.toggle - service: switch.toggle
entity_id: switch.kitchen entity_id: switch.kitchen
@ -74,6 +86,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d0002794cd6 entity_id: binary_sensor.cube_158d0002794cd6
action_type: tap_twice action_type: tap_twice
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data_template: data_template:
@ -92,13 +108,12 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d0002794cd6 entity_id: binary_sensor.cube_158d0002794cd6
action_type: shake_air action_type: shake_air
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.toggle_do_not_disturb - 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: event_data:
entity_id: binary_sensor.cube_158d00027c0276 entity_id: binary_sensor.cube_158d00027c0276
action_type: flip90 action_type: flip90
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service_template: switch.toggle - service_template: switch.toggle
entity_id: switch.front_room entity_id: switch.front_room
@ -130,6 +149,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d00027c0276 entity_id: binary_sensor.cube_158d00027c0276
action_type: move action_type: move
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.toggle - service: switch.toggle
entity_id: switch.office_room entity_id: switch.office_room
@ -143,6 +166,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d00027c0276 entity_id: binary_sensor.cube_158d00027c0276
action_type: shake_air action_type: shake_air
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.toggle_do_not_disturb - service: script.toggle_do_not_disturb
@ -163,6 +190,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d00027cf60d entity_id: binary_sensor.cube_158d00027cf60d
action_type: flip90 action_type: flip90
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service_template: switch.toggle - service_template: switch.toggle
entity_id: switch.guest_bedroom entity_id: switch.guest_bedroom
@ -176,6 +207,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d00027cf60d entity_id: binary_sensor.cube_158d00027cf60d
action_type: shake_air action_type: shake_air
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.toggle_do_not_disturb - service: script.toggle_do_not_disturb
@ -196,6 +231,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d00027ce15c entity_id: binary_sensor.cube_158d00027ce15c
action_type: flip90 action_type: flip90
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service_template: switch.toggle - service_template: switch.toggle
entity_id: switch.kids_bedroom entity_id: switch.kids_bedroom
@ -209,6 +248,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d00027ce15c entity_id: binary_sensor.cube_158d00027ce15c
action_type: shake_air action_type: shake_air
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.toggle_do_not_disturb - service: script.toggle_do_not_disturb
@ -231,6 +274,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d000276e3e8 entity_id: binary_sensor.cube_158d000276e3e8
action_type: flip90 action_type: flip90
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: switch.toggle - service: switch.toggle
entity_id: switch.prayer_room entity_id: switch.prayer_room
@ -244,6 +291,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d000276e3e8 entity_id: binary_sensor.cube_158d000276e3e8
action_type: shake_air action_type: shake_air
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.toggle_do_not_disturb - service: script.toggle_do_not_disturb
@ -264,6 +315,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d000278eb6a entity_id: binary_sensor.cube_158d000278eb6a
action_type: flip90 action_type: flip90
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: homeassistant.turn_off - service: homeassistant.turn_off
entity_id: group.downstairs_lights entity_id: group.downstairs_lights
@ -279,6 +334,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d000278eb6a entity_id: binary_sensor.cube_158d000278eb6a
action_type: flip180 action_type: flip180
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.toggle - service: light.toggle
entity_id: light.master_bedroom_1 entity_id: light.master_bedroom_1
@ -294,6 +353,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d000278eb6a entity_id: binary_sensor.cube_158d000278eb6a
action_type: move action_type: move
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
entity_id: light.master_bedroom_1 entity_id: light.master_bedroom_1
@ -309,6 +372,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d000278eb6a entity_id: binary_sensor.cube_158d000278eb6a
action_type: tap_twice action_type: tap_twice
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data_template: data_template:
@ -334,6 +401,10 @@ automation:
event_data: event_data:
entity_id: binary_sensor.cube_158d000278eb6a entity_id: binary_sensor.cube_158d000278eb6a
action_type: shake_air action_type: shake_air
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action: action:
- service: script.toggle_do_not_disturb - service: script.toggle_do_not_disturb

View File

@ -1,133 +1,209 @@
############################################################################### # ###############################################################################
# @author : Mahasri Kalavala # # @author : Mahasri Kalavala
# @date : 04/20/2018 # # @date : 04/20/2018
# @package : zwave batteries # # @package : zwave batteries
# @description : Zwave batteries using input_label & MQTT # # @description : Zwave batteries using input_label & MQTT
############################################################################### # ###############################################################################
input_label: # input_label:
audio_detector: # audio_detector:
back_door_sensor: # back_door_sensor:
basement_door_sensor: # basement_door_sensor:
downstairs_multi_sensor: # downstairs_multi_sensor:
zwave_front_door_sensor: # zwave_front_door_sensor:
front_room_multi_sensor: # front_room_multi_sensor:
garage_door_sensor: # garage_door_sensor:
guest_bedroom_multi_sensor: # guest_bedroom_multi_sensor:
kitchen_motion_sensor: # kitchen_motion_sensor:
single_car_garage_door_tilt_sensor: # single_car_garage_door_tilt_sensor:
stairs_motion_sensor: # stairs_motion_sensor:
tv_multi_sensor: # tv_multi_sensor:
two_car_garage_door_tilt_sensor: # two_car_garage_door_tilt_sensor:
upstairs_multi_sensor: # upstairs_multi_sensor:
wallmote: # wallmote:
ecolink_motion_detector: # ecolink_motion_detector:
ecolink_firefighter: # ecolink_firefighter:
ecolink_door_window_sensor_2: # ecolink_door_window_sensor_2:
aeon_labs_zw100_multisensor_6_2: # aeon_labs_zw100_multisensor_6_2:
aeon_labs_zw100_multisensor_6: # aeon_labs_zw100_multisensor_6:
ecolink_door_window_sensor: # ecolink_door_window_sensor:
ecolink_garage_door_tilt_sensor: # ecolink_garage_door_tilt_sensor:
suresh_battery: # suresh_battery:
mallika_battery: # mallika_battery:
srinika_battery: # srinika_battery:
hasika_battery: # hasika_battery:
suresh_charging: # suresh_charging:
mallika_charging: # mallika_charging:
srinika_charging: # srinika_charging:
hasika_charging: # hasika_charging:
suresh_wifi: # suresh_wifi:
mallika_wifi: # mallika_wifi:
srinika_wifi: # srinika_wifi:
hasika_wifi: # hasika_wifi:
############################################################################### # ###############################################################################
# _ _ _ # # _ _ _
# /\ | | | | (_) # # /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ # # / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| # # / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ # # / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ # # /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
# # #
############################################################################### # ###############################################################################
automation: # automation:
- alias: Update ZWave Battery Levels # - 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 # initial_state: true
# trigger: # trigger:
# platform: mqtt # - platform: event
# topic: "owntracks/+/+" # 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: # action:
# - service: input_label.set_value # - service: input_label.set_value
# data_template: # data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" # entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
# value: "{{ 'Yes' if trigger.payload_json.conn == 'w' else 'No' }}" # value: "{{ trigger.event.data.new_state.attributes.battery_level }}"
# - 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 # - service: input_label.set_name
# data_template: # data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi" # entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
# value: "{{trigger.topic.split('/')[-1] | title }}'s phone wifi enabled?" # 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?"
# # - 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 # - service: input_label.set_value
# data_template: # data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" # entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
# value: "{{ trigger.payload_json.batt | int }}" # value: "{{ trigger.event.data.new_state.attributes.battery }}"
# - 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 # - service: input_label.set_icon
# data_template: # data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" # entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
# value: > # value: >
# {% set battery_level = trigger.payload_json.batt | int %} # {% set battery_level = trigger.event.data.new_state.attributes.battery | int %}
# {% set battery_round = (battery_level / 10)|int * 10 %} # {% set battery_round = (battery_level / 10)|int * 10 %}
# {% if trigger.payload_json.charging == 1 %} # {% 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 %} # {% if battery_round >= 100 %}
# mdi:battery-charging-100 # mdi:battery-charging-100
# {% elif battery_round > 0 %} # {% elif battery_round > 0 %}
@ -144,79 +220,3 @@ automation:
# mdi:battery-alert # mdi:battery-alert
# {% endif %} # {% endif %}
# {% 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 %}

View File

@ -1,318 +1,318 @@
################################################################# # #################################################################
# @author : Mahasri Kalavala # # @author : Mahasri Kalavala
# @date : 09/18/17 # # @date : 09/18/17
# @package : Z-Wave package # # @package : Z-Wave package
# @description : Z-Wave Still and it's configuration stuff # # @description : Z-Wave Still and it's configuration stuff
# # #
# This entire page is auto generated by the script (link below): # # This entire page is auto generated by the script (link below):
# https://github.com/skalavala/mysmarthome/blob/master/jinja_helpers/zwave_auto_gen.md # # https://github.com/skalavala/mysmarthome/blob/master/jinja_helpers/zwave_auto_gen.md
################################################################# # #################################################################
homeassistant: # homeassistant:
customize: # customize:
# ZWave Binary Sensors # # ZWave Binary Sensors
binary_sensor.audio_detector_sensor: # binary_sensor.audio_detector_sensor:
friendly_name: Audio Detector Sensor # friendly_name: Audio Detector Sensor
binary_sensor.basement_door_sensor_sensor: # binary_sensor.basement_door_sensor_sensor:
friendly_name: Basement Door Sensor # friendly_name: Basement Door Sensor
binary_sensor.downstairs_multi_sensor_sensor: # binary_sensor.downstairs_multi_sensor_sensor:
friendly_name: Downstairs Multi Sensor # friendly_name: Downstairs Multi Sensor
binary_sensor.front_door_sensor_sensor: # binary_sensor.front_door_sensor_sensor:
friendly_name: Front Door Sensor # friendly_name: Front Door Sensor
binary_sensor.front_room_multi_sensor_sensor: # binary_sensor.front_room_multi_sensor_sensor:
friendly_name: Front Room Multi Sensor # friendly_name: Front Room Multi Sensor
binary_sensor.garage_door_sensor_sensor: # binary_sensor.garage_door_sensor_sensor:
friendly_name: Garage Door Sensor # friendly_name: Garage Door Sensor
binary_sensor.guest_bedroom_multi_sensor_sensor: # binary_sensor.guest_bedroom_multi_sensor_sensor:
friendly_name: Guest Bedroom Multi Sensor # friendly_name: Guest Bedroom Multi Sensor
binary_sensor.kitchen_motion_sensor_sensor: # binary_sensor.kitchen_motion_sensor_sensor:
friendly_name: Kitchen Motion Sensor # friendly_name: Kitchen Motion Sensor
binary_sensor.door_window_sensor_158d0004248d5b: # binary_sensor.door_window_sensor_158d0004248d5b:
friendly_name: Single Car Garage Door # friendly_name: Single Car Garage Door
binary_sensor.stairs_motion_sensor_sensor: # binary_sensor.stairs_motion_sensor_sensor:
friendly_name: Stairs Motion Sensor # friendly_name: Stairs Motion Sensor
binary_sensor.tv_multi_sensor_sensor: # binary_sensor.tv_multi_sensor_sensor:
friendly_name: TV Multi Sensor # friendly_name: TV Multi Sensor
binary_sensor.door_window_sensor_158d0004231f7b: # binary_sensor.door_window_sensor_158d0004231f7b:
friendly_name: Double Car Garage Door # friendly_name: Double Car Garage Door
binary_sensor.upstairs_multi_sensor_sensor: # binary_sensor.upstairs_multi_sensor_sensor:
friendly_name: Upstairs Multi Sensor # friendly_name: Upstairs Multi Sensor
# ZWave Sensors # # ZWave Sensors
sensor.audio_detector_alarm_level: # sensor.audio_detector_alarm_level:
friendly_name: Audio Detector Alarm Level # friendly_name: Audio Detector Alarm Level
sensor.audio_detector_alarm_type: # sensor.audio_detector_alarm_type:
friendly_name: Audio Detector Alarm Type # friendly_name: Audio Detector Alarm Type
sensor.audio_detector_burglar: # sensor.audio_detector_burglar:
friendly_name: Audio Detector Burglar # friendly_name: Audio Detector Burglar
sensor.audio_detector_carbon_monoxide: # sensor.audio_detector_carbon_monoxide:
friendly_name: Audio Detector Carbon Monoxide # friendly_name: Audio Detector Carbon Monoxide
sensor.audio_detector_power_management: # sensor.audio_detector_power_management:
friendly_name: Audio Detector Power Management # friendly_name: Audio Detector Power Management
sensor.audio_detector_smoke: # sensor.audio_detector_smoke:
friendly_name: Audio Detector Smoke # friendly_name: Audio Detector Smoke
sensor.audio_detector_sourcenodeid: # sensor.audio_detector_sourcenodeid:
friendly_name: Audio Detector SourceNodeId # friendly_name: Audio Detector SourceNodeId
sensor.audio_detector_temperature: # sensor.audio_detector_temperature:
friendly_name: Audio Detector Temperature # friendly_name: Audio Detector Temperature
sensor.back_door_sensor_access_control: # sensor.back_door_sensor_access_control:
friendly_name: Back Door Sensor Access Control # friendly_name: Back Door Sensor Access Control
sensor.back_door_sensor_alarm_level: # sensor.back_door_sensor_alarm_level:
friendly_name: Back Door Sensor Alarm Level # friendly_name: Back Door Sensor Alarm Level
sensor.back_door_sensor_alarm_type: # sensor.back_door_sensor_alarm_type:
friendly_name: Back Door Sensor Alarm Type # friendly_name: Back Door Sensor Alarm Type
sensor.back_door_sensor_burglar: # sensor.back_door_sensor_burglar:
friendly_name: Back Door Sensor Burglar # friendly_name: Back Door Sensor Burglar
sensor.back_door_sensor_power_management: # sensor.back_door_sensor_power_management:
friendly_name: Back Door Sensor Power Management # friendly_name: Back Door Sensor Power Management
sensor.back_door_sensor_sourcenodeid: # sensor.back_door_sensor_sourcenodeid:
friendly_name: Back Door Sensor SourceNodeId # friendly_name: Back Door Sensor SourceNodeId
sensor.basement_door_sensor_access_control: # sensor.basement_door_sensor_access_control:
friendly_name: Basement Door Sensor Access Control # friendly_name: Basement Door Sensor Access Control
sensor.basement_door_sensor_alarm_level: # sensor.basement_door_sensor_alarm_level:
friendly_name: Basement Door Sensor Alarm Level # friendly_name: Basement Door Sensor Alarm Level
sensor.basement_door_sensor_alarm_type: # sensor.basement_door_sensor_alarm_type:
friendly_name: Basement Door Sensor Alarm Type # friendly_name: Basement Door Sensor Alarm Type
sensor.basement_door_sensor_burglar: # sensor.basement_door_sensor_burglar:
friendly_name: Basement Door Sensor Burglar # friendly_name: Basement Door Sensor Burglar
sensor.basement_door_sensor_power_management: # sensor.basement_door_sensor_power_management:
friendly_name: Basement Door Sensor Power Management # friendly_name: Basement Door Sensor Power Management
sensor.basement_door_sensor_sourcenodeid: # sensor.basement_door_sensor_sourcenodeid:
friendly_name: Basement Door Sensor SourceNodeId # friendly_name: Basement Door Sensor SourceNodeId
sensor.downstairs_multi_sensor_alarm_level: # sensor.downstairs_multi_sensor_alarm_level:
friendly_name: Downstairs Multi Sensor Alarm Level # friendly_name: Downstairs Multi Sensor Alarm Level
sensor.downstairs_multi_sensor_alarm_type: # sensor.downstairs_multi_sensor_alarm_type:
friendly_name: Downstairs Multi Sensor Alarm Type # friendly_name: Downstairs Multi Sensor Alarm Type
sensor.downstairs_multi_sensor_burglar: # sensor.downstairs_multi_sensor_burglar:
friendly_name: Downstairs Multi Sensor Burglar # friendly_name: Downstairs Multi Sensor Burglar
sensor.downstairs_multi_sensor_luminance: # sensor.downstairs_multi_sensor_luminance:
friendly_name: Downstairs Multi Sensor Luminance # friendly_name: Downstairs Multi Sensor Luminance
sensor.downstairs_multi_sensor_power: # sensor.downstairs_multi_sensor_power:
friendly_name: Downstairs Multi Sensor Power # friendly_name: Downstairs Multi Sensor Power
sensor.downstairs_multi_sensor_relative_humidity: # sensor.downstairs_multi_sensor_relative_humidity:
friendly_name: Downstairs Multi Sensor Relative Humidity # friendly_name: Downstairs Multi Sensor Relative Humidity
sensor.downstairs_multi_sensor_sourcenodeid: # sensor.downstairs_multi_sensor_sourcenodeid:
friendly_name: Downstairs Multi Sensor SourceNodeId # friendly_name: Downstairs Multi Sensor SourceNodeId
sensor.downstairs_multi_sensor_temperature: # sensor.downstairs_multi_sensor_temperature:
friendly_name: Downstairs Multi Sensor Temperature # friendly_name: Downstairs Multi Sensor Temperature
sensor.front_room_multi_sensor_alarm_level: # sensor.front_room_multi_sensor_alarm_level:
friendly_name: Front Room Multi Sensor Alarm Level # friendly_name: Front Room Multi Sensor Alarm Level
sensor.front_room_multi_sensor_alarm_type: # sensor.front_room_multi_sensor_alarm_type:
friendly_name: Front Room Multi Sensor Alarm Type # friendly_name: Front Room Multi Sensor Alarm Type
sensor.front_room_multi_sensor_burglar: # sensor.front_room_multi_sensor_burglar:
friendly_name: Front Room Multi Sensor Burglar # friendly_name: Front Room Multi Sensor Burglar
sensor.front_room_multi_sensor_luminance: # sensor.front_room_multi_sensor_luminance:
friendly_name: Front Room Multi Sensor Luminance # friendly_name: Front Room Multi Sensor Luminance
sensor.front_room_multi_sensor_relative_humidity: # sensor.front_room_multi_sensor_relative_humidity:
friendly_name: Front Room Multi Sensor Relative Humidity # friendly_name: Front Room Multi Sensor Relative Humidity
sensor.front_room_multi_sensor_sourcenodeid: # sensor.front_room_multi_sensor_sourcenodeid:
friendly_name: Front Room Multi Sensor SourceNodeId # friendly_name: Front Room Multi Sensor SourceNodeId
sensor.front_room_multi_sensor_temperature: # sensor.front_room_multi_sensor_temperature:
friendly_name: Front Room Multi Sensor Temperature # friendly_name: Front Room Multi Sensor Temperature
sensor.front_room_multi_sensor_ultraviolet: # sensor.front_room_multi_sensor_ultraviolet:
friendly_name: Front Room Multi Sensor Ultraviolet # friendly_name: Front Room Multi Sensor Ultraviolet
sensor.garage_door_sensor_access_control: # sensor.garage_door_sensor_access_control:
friendly_name: Garage Door Sensor Access Control # friendly_name: Garage Door Sensor Access Control
sensor.garage_door_sensor_alarm_level: # sensor.garage_door_sensor_alarm_level:
friendly_name: Garage Door Sensor Alarm Level # friendly_name: Garage Door Sensor Alarm Level
sensor.garage_door_sensor_alarm_type: # sensor.garage_door_sensor_alarm_type:
friendly_name: Garage Door Sensor Alarm Type # friendly_name: Garage Door Sensor Alarm Type
sensor.garage_door_sensor_burglar: # sensor.garage_door_sensor_burglar:
friendly_name: Garage Door Sensor Burglar # friendly_name: Garage Door Sensor Burglar
sensor.garage_door_sensor_power_management: # sensor.garage_door_sensor_power_management:
friendly_name: Garage Door Sensor Power Management # friendly_name: Garage Door Sensor Power Management
sensor.garage_door_sensor_sourcenodeid: # sensor.garage_door_sensor_sourcenodeid:
friendly_name: Garage Door Sensor SourceNodeId # friendly_name: Garage Door Sensor SourceNodeId
sensor.single_car_garage_door_sensor_status: # sensor.single_car_garage_door_sensor_status:
friendly_name: Single Car Garage Door Sensor Status # friendly_name: Single Car Garage Door Sensor Status
sensor.two_car_garage_door_sensor_status: # sensor.two_car_garage_door_sensor_status:
friendly_name: Double Car Garage Door Sensor Status # friendly_name: Double Car Garage Door Sensor Status
sensor.guest_bedroom_multi_sensor_alarm_level: # sensor.guest_bedroom_multi_sensor_alarm_level:
friendly_name: Guest Bedroom Multi Sensor Alarm Level # friendly_name: Guest Bedroom Multi Sensor Alarm Level
sensor.guest_bedroom_multi_sensor_alarm_type: # sensor.guest_bedroom_multi_sensor_alarm_type:
friendly_name: Guest Bedroom Multi Sensor Alarm Type # friendly_name: Guest Bedroom Multi Sensor Alarm Type
sensor.guest_bedroom_multi_sensor_burglar: # sensor.guest_bedroom_multi_sensor_burglar:
friendly_name: Guest Bedroom Multi Sensor Burglar # friendly_name: Guest Bedroom Multi Sensor Burglar
sensor.guest_bedroom_multi_sensor_luminance: # sensor.guest_bedroom_multi_sensor_luminance:
friendly_name: Guest Bedroom Multi Sensor Luminance # friendly_name: Guest Bedroom Multi Sensor Luminance
sensor.guest_bedroom_multi_sensor_relative_humidity: # sensor.guest_bedroom_multi_sensor_relative_humidity:
friendly_name: Guest Bedroom Multi Sensor Relative Humidity # friendly_name: Guest Bedroom Multi Sensor Relative Humidity
sensor.guest_bedroom_multi_sensor_sourcenodeid: # sensor.guest_bedroom_multi_sensor_sourcenodeid:
friendly_name: Guest Bedroom Multi Sensor SourceNodeId # friendly_name: Guest Bedroom Multi Sensor SourceNodeId
sensor.guest_bedroom_multi_sensor_temperature: # sensor.guest_bedroom_multi_sensor_temperature:
friendly_name: Guest Bedroom Multi Sensor Temperature # friendly_name: Guest Bedroom Multi Sensor Temperature
sensor.guest_bedroom_multi_sensor_ultraviolet: # sensor.guest_bedroom_multi_sensor_ultraviolet:
friendly_name: Guest Bedroom Multi Sensor Ultraviolet # friendly_name: Guest Bedroom Multi Sensor Ultraviolet
sensor.kitchen_motion_sensor_alarm_level: # sensor.kitchen_motion_sensor_alarm_level:
friendly_name: Kitchen Motion Sensor Alarm Level # friendly_name: Kitchen Motion Sensor Alarm Level
sensor.kitchen_motion_sensor_alarm_type: # sensor.kitchen_motion_sensor_alarm_type:
friendly_name: Kitchen Motion Sensor Alarm Type # friendly_name: Kitchen Motion Sensor Alarm Type
sensor.kitchen_motion_sensor_burglar: # sensor.kitchen_motion_sensor_burglar:
friendly_name: Kitchen Motion Sensor Burglar # friendly_name: Kitchen Motion Sensor Burglar
sensor.kitchen_motion_sensor_power_management: # sensor.kitchen_motion_sensor_power_management:
friendly_name: Kitchen Motion Sensor Power Management # friendly_name: Kitchen Motion Sensor Power Management
sensor.kitchen_motion_sensor_sourcenodeid: # sensor.kitchen_motion_sensor_sourcenodeid:
friendly_name: Kitchen Motion Sensor SourceNodeId # friendly_name: Kitchen Motion Sensor SourceNodeId
sensor.single_car_garage_door_tilt_sensor_access_control: # sensor.single_car_garage_door_tilt_sensor_access_control:
friendly_name: 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: # sensor.single_car_garage_door_tilt_sensor_alarm_level:
friendly_name: 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: # sensor.single_car_garage_door_tilt_sensor_alarm_type:
friendly_name: 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: # sensor.single_car_garage_door_tilt_sensor_burglar:
friendly_name: 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: # sensor.single_car_garage_door_tilt_sensor_power_management:
friendly_name: 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: # sensor.single_car_garage_door_tilt_sensor_sourcenodeid:
friendly_name: Single Car Garage Door Tilt Sensor SourceNodeId # friendly_name: Single Car Garage Door Tilt Sensor SourceNodeId
sensor.stairs_motion_sensor_alarm_level: # sensor.stairs_motion_sensor_alarm_level:
friendly_name: Stairs Motion Sensor Alarm Level # friendly_name: Stairs Motion Sensor Alarm Level
sensor.stairs_motion_sensor_alarm_type: # sensor.stairs_motion_sensor_alarm_type:
friendly_name: Stairs Motion Sensor Alarm Type # friendly_name: Stairs Motion Sensor Alarm Type
sensor.stairs_motion_sensor_burglar: # sensor.stairs_motion_sensor_burglar:
friendly_name: Stairs Motion Sensor Burglar # friendly_name: Stairs Motion Sensor Burglar
sensor.stairs_motion_sensor_power_management: # sensor.stairs_motion_sensor_power_management:
friendly_name: Stairs Motion Sensor Power Management # friendly_name: Stairs Motion Sensor Power Management
sensor.stairs_motion_sensor_sourcenodeid: # sensor.stairs_motion_sensor_sourcenodeid:
friendly_name: Stairs Motion Sensor SourceNodeId # friendly_name: Stairs Motion Sensor SourceNodeId
sensor.tv_multi_sensor_alarm_level: # sensor.tv_multi_sensor_alarm_level:
friendly_name: TV Multi Sensor Alarm Level # friendly_name: TV Multi Sensor Alarm Level
sensor.tv_multi_sensor_alarm_type: # sensor.tv_multi_sensor_alarm_type:
friendly_name: TV Multi Sensor Alarm Type # friendly_name: TV Multi Sensor Alarm Type
sensor.tv_multi_sensor_burglar: # sensor.tv_multi_sensor_burglar:
friendly_name: TV Multi Sensor Burglar # friendly_name: TV Multi Sensor Burglar
sensor.tv_multi_sensor_luminance: # sensor.tv_multi_sensor_luminance:
friendly_name: TV Multi Sensor Luminance # friendly_name: TV Multi Sensor Luminance
sensor.tv_multi_sensor_relative_humidity: # sensor.tv_multi_sensor_relative_humidity:
friendly_name: TV Multi Sensor Relative Humidity # friendly_name: TV Multi Sensor Relative Humidity
sensor.tv_multi_sensor_sourcenodeid: # sensor.tv_multi_sensor_sourcenodeid:
friendly_name: TV Multi Sensor SourceNodeId # friendly_name: TV Multi Sensor SourceNodeId
sensor.tv_multi_sensor_temperature: # sensor.tv_multi_sensor_temperature:
friendly_name: TV Multi Sensor Temperature # friendly_name: TV Multi Sensor Temperature
sensor.tv_multi_sensor_ultraviolet: # sensor.tv_multi_sensor_ultraviolet:
friendly_name: TV Multi Sensor Ultraviolet # friendly_name: TV Multi Sensor Ultraviolet
sensor.two_car_garage_door_tilt_sensor_access_control: # sensor.two_car_garage_door_tilt_sensor_access_control:
friendly_name: 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: # sensor.two_car_garage_door_tilt_sensor_alarm_level:
friendly_name: 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: # sensor.two_car_garage_door_tilt_sensor_alarm_type:
friendly_name: 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: # sensor.two_car_garage_door_tilt_sensor_burglar:
friendly_name: 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: # sensor.two_car_garage_door_tilt_sensor_power_management:
friendly_name: 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: # sensor.two_car_garage_door_tilt_sensor_sourcenodeid:
friendly_name: Two Car Garage Door Tilt Sensor SourceNodeId # friendly_name: Two Car Garage Door Tilt Sensor SourceNodeId
sensor.upstairs_multi_sensor_alarm_level: # sensor.upstairs_multi_sensor_alarm_level:
friendly_name: Upstairs Multi Sensor Alarm Level # friendly_name: Upstairs Multi Sensor Alarm Level
sensor.upstairs_multi_sensor_alarm_type: # sensor.upstairs_multi_sensor_alarm_type:
friendly_name: Upstairs Multi Sensor Alarm Type # friendly_name: Upstairs Multi Sensor Alarm Type
sensor.upstairs_multi_sensor_burglar: # sensor.upstairs_multi_sensor_burglar:
friendly_name: Upstairs Multi Sensor Burglar # friendly_name: Upstairs Multi Sensor Burglar
sensor.upstairs_multi_sensor_luminance: # sensor.upstairs_multi_sensor_luminance:
friendly_name: Upstairs Multi Sensor Luminance # friendly_name: Upstairs Multi Sensor Luminance
sensor.upstairs_multi_sensor_relative_humidity: # sensor.upstairs_multi_sensor_relative_humidity:
friendly_name: Upstairs Multi Sensor Relative Humidity # friendly_name: Upstairs Multi Sensor Relative Humidity
sensor.upstairs_multi_sensor_sourcenodeid: # sensor.upstairs_multi_sensor_sourcenodeid:
friendly_name: Upstairs Multi Sensor SourceNodeId # friendly_name: Upstairs Multi Sensor SourceNodeId
sensor.upstairs_multi_sensor_temperature: # sensor.upstairs_multi_sensor_temperature:
friendly_name: Upstairs Multi Sensor Temperature # friendly_name: Upstairs Multi Sensor Temperature
sensor.upstairs_multi_sensor_ultraviolet: # sensor.upstairs_multi_sensor_ultraviolet:
friendly_name: Upstairs Multi Sensor Ultraviolet # friendly_name: Upstairs Multi Sensor Ultraviolet
sensor.wallmote_alarm_level: # sensor.wallmote_alarm_level:
friendly_name: Wallmote Alarm Level # friendly_name: Wallmote Alarm Level
sensor.wallmote_alarm_type: # sensor.wallmote_alarm_type:
friendly_name: Wallmote Alarm Type # friendly_name: Wallmote Alarm Type
sensor.wallmote_power_management: # sensor.wallmote_power_management:
friendly_name: Wallmote Power Management # friendly_name: Wallmote Power Management
sensor.wallmote_sourcenodeid: # sensor.wallmote_sourcenodeid:
friendly_name: Wallmote SourceNodeId # friendly_name: Wallmote SourceNodeId
sensor.zwave_smart_switch_current: # sensor.zwave_smart_switch_current:
friendly_name: ZWave Smart Switch Current # friendly_name: ZWave Smart Switch Current
sensor.zwave_smart_switch_energy: # sensor.zwave_smart_switch_energy:
friendly_name: ZWave Smart Switch Energy # friendly_name: ZWave Smart Switch Energy
sensor.zwave_smart_switch_power: # sensor.zwave_smart_switch_power:
friendly_name: ZWave Smart Switch Power # friendly_name: ZWave Smart Switch Power
sensor.zwave_smart_switch_previous_reading: # sensor.zwave_smart_switch_previous_reading:
friendly_name: ZWave Smart Switch Previous Reading # friendly_name: ZWave Smart Switch Previous Reading
sensor.zwave_smart_switch_voltage: # sensor.zwave_smart_switch_voltage:
friendly_name: ZWave Smart Switch Voltage # friendly_name: ZWave Smart Switch Voltage
# ZWave Switches # # ZWave Switches
switch.kitchen_siren_switch: # switch.kitchen_siren_switch:
friendly_name: Kitchen Siren Switch 1 # friendly_name: Kitchen Siren Switch 1
switch.kitchen_siren_switch_2: # switch.kitchen_siren_switch_2:
friendly_name: Kitchen Siren Switch 2 # friendly_name: Kitchen Siren Switch 2
switch.kitchen_siren_switch_3: # switch.kitchen_siren_switch_3:
friendly_name: Kitchen Siren Switch 3 # friendly_name: Kitchen Siren Switch 3
switch.kitchen_siren_switch_4: # switch.kitchen_siren_switch_4:
friendly_name: Kitchen Siren Switch 4 # friendly_name: Kitchen Siren Switch 4
switch.kitchen_siren_switch_5: # switch.kitchen_siren_switch_5:
friendly_name: Kitchen Siren Switch 5 # friendly_name: Kitchen Siren Switch 5
switch.wallmote_switch: # switch.wallmote_switch:
friendly_name: Wallmote Switch # friendly_name: Wallmote Switch
zwave: # zwave:
usb_path: /dev/ttyACM0 # usb_path: /dev/ttyACM0
network_key: !secret zwave_network_key # network_key: !secret zwave_network_key
############################################################################### # ###############################################################################
# _ _ _ # # _ _ _
# /\ | | | | (_) # # /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___ # # / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| # # / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \ # # / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/ # # /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
# # #
############################################################################### # ###############################################################################
automation: # automation:
- alias: WallMote Button 1 Pressed # - alias: WallMote Button 1 Pressed
trigger: # trigger:
- platform: event # - platform: event
event_type: zwave.scene_activated # event_type: zwave.scene_activated
event_data: # event_data:
entity_id: zwave.wallmote # entity_id: zwave.wallmote
scene_id: 1 # scene_id: 1
action: # action:
- service: light.toggle # - service: light.toggle
entity_id: light.master_bedroom_1 # entity_id: light.master_bedroom_1
- service: light.toggle # - service: light.toggle
entity_id: light.master_bedroom_2 # entity_id: light.master_bedroom_2
- alias: WallMote Button 2 Pressed # - alias: WallMote Button 2 Pressed
trigger: # trigger:
- platform: event # - platform: event
event_type: zwave.scene_activated # event_type: zwave.scene_activated
event_data: # event_data:
entity_id: zwave.wallmote # entity_id: zwave.wallmote
scene_id: 2 # scene_id: 2
action: # action:
- service: homeassistant.turn_off # - service: homeassistant.turn_off
entity_id: group.upstairs_lights # entity_id: group.upstairs_lights
- alias: WallMote Button 3 Pressed # - alias: WallMote Button 3 Pressed
trigger: # trigger:
- platform: event # - platform: event
event_type: zwave.scene_activated # event_type: zwave.scene_activated
event_data: # event_data:
entity_id: zwave.wallmote # entity_id: zwave.wallmote
scene_id: 3 # scene_id: 3
action: # action:
- service: climate.set_away_mode # - service: climate.set_away_mode
data_template: # data_template:
entity_id: climate.dining_room # entity_id: climate.dining_room
away_mode: "false" # away_mode: "false"
- alias: WallMote Button 4 Pressed # - alias: WallMote Button 4 Pressed
trigger: # trigger:
- platform: event # - platform: event
event_type: zwave.scene_activated # event_type: zwave.scene_activated
event_data: # event_data:
entity_id: zwave.wallmote # entity_id: zwave.wallmote
scene_id: 4 # scene_id: 4
action: # action:
- service: climate.set_away_mode # - service: climate.set_away_mode
data_template: # data_template:
entity_id: climate.dining_room # entity_id: climate.dining_room
away_mode: "true" # away_mode: "true"