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

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."""
import logging
import time

View File

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

View File

@ -78,12 +78,8 @@ cards:
- sensor.octoprint_file
- binary_sensor.octoprint_printing
- binary_sensor.octoprint_printing_error
- sensor.octoprint_actual_bed_temp
- sensor.octoprint_actual_tool0_temp
- sensor.octoprint_current_state
- sensor.octoprint_job_percentage
- sensor.octoprint_target_bed_temp
- sensor.octoprint_target_tool0_temp
- sensor.octoprint_time_elapsed
- sensor.octoprint_time_remaining
@ -179,6 +175,8 @@ cards:
name: Basement Door
- entity: binary_sensor.garage_door_sensor_sensor
name: Garage Door
- entity: binary_sensor.door_window_sensor_158d0004880f30
name: Garage Entry Door
- entity: sensor.single_car_garage_door_sensor_status
name: Single Car Garage Door
- entity: binary_sensor.two_car_garage_door_tilt_sensor_sensor
@ -191,45 +189,6 @@ cards:
type: glance
title: Doors
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
name: Suresh Phone
unit: "%"
entity: input_label.suresh_battery
severity:
green: 75
yellow: 50
red: 30
- type: gauge
name: Mallika Phone
unit: "%"
entity: input_label.mallika_battery
severity:
green: 75
yellow: 50
red: 30
- type: horizontal-stack
cards:
- type: gauge
name: Srinika Phone
unit: "%"
entity: input_label.srinika_battery
severity:
green: 75
yellow: 50
red: 30
- type: gauge
name: Hasika Phone
unit: "%"
entity: input_label.hasika_battery
severity:
green: 75
yellow: 50
red: 30
- type: weather-forecast
entity: weather.dark_sky
@ -272,6 +231,8 @@ cards:
name: Front Door
- entity: binary_sensor.door_window_sensor_158d00040ad8fc
name: Back Door
- entity: binary_sensor.door_window_sensor_158d0004880f30
name: Garage Entry Door
- entity: binary_sensor.door_window_sensor_158d000424718f
name: Master Bathroom Door
- entity: binary_sensor.door_window_sensor_158d00040ad8ec
@ -281,6 +242,63 @@ cards:
- entity: binary_sensor.door_window_sensor_158d0004248d5b
name: Single Car Garage Door
- type: entities
title: Plex
show_header_toggle: false
entities:
- sensor.plex_mahasri_nas
- media_player.plex_plex_web_chrome_windows
- type: entities
title: Luminance
show_header_toggle: false
entities:
- sensor.illumination_158d00016c2d0e
- sensor.illumination_158d00016db6d2
- sensor.illumination_158d0001a25041
- sensor.illumination_158d0001a662fe
- sensor.illumination_158d00024e57d3
- sensor.illumination_158d00024e57fb
- sensor.illumination_158d00024e842c
- sensor.illumination_158d00024ee084
- sensor.illumination_158d000272bed1
- sensor.illumination_158d000272bf48
- sensor.illumination_158d000272bfd7
- sensor.illumination_158d000464c25a
- sensor.illumination_158d00047b6f69
- type: entities
title: Batteries
show_header_toggle: false
entities:
- sensor.battery_158d00016c2d0e
- sensor.battery_158d00016db6d2
- sensor.battery_158d0001a25041
- sensor.battery_158d0001a662fe
- sensor.battery_158d00024e57d3
- sensor.battery_158d00024e57fb
- sensor.battery_158d00024e842c
- sensor.battery_158d00024ee084
- sensor.battery_158d000272bed1
- sensor.battery_158d000272bf48
- sensor.battery_158d000272bfd7
- sensor.battery_158d000276e3e8
- sensor.battery_158d000278eb6a
- sensor.battery_158d0002794cd6
- sensor.battery_158d00027c0276
- sensor.battery_158d00027ce15c
- sensor.battery_158d00027cf60d
- sensor.battery_158d00040ad8ec
- sensor.battery_158d00040ad8fc
- sensor.battery_158d0004231f7b
- sensor.battery_158d000424718f
- sensor.battery_158d0004248d5b
- sensor.battery_158d000424a6d6
- sensor.battery_158d00045622d9
- sensor.battery_158d000464c25a
- sensor.battery_158d00047b6f69
- sensor.battery_158d0004880f30
- type: entity-filter
title: Motion Sensors
show_empty: false
@ -302,6 +320,7 @@ cards:
- binary_sensor.garage_door_sensor_sensor
- binary_sensor.kitchen_motion_sensor_sensor
- binary_sensor.door_window_sensor_158d00040ad8fc # back door
- binary_sensor.door_window_sensor_158d0004880f30 # Garage Entry Door
- binary_sensor.stairs_motion_sensor_sensor
- binary_sensor.tv_multi_sensor_sensor
- binary_sensor.door_window_sensor_158d0004248d5b
@ -383,4 +402,5 @@ cards:
- input_label.door_window_sensor_158d0004231f7b
- input_label.door_window_sensor_158d0004248d5b
- input_label.door_window_sensor_158d00040ad8fc
- input_label.door_window_sensor_158d0004880f30 # garage entry door
- input_label.door_window_sensor_158d000424a6d6

View File

@ -18,6 +18,8 @@ cards:
name: Srinika's Bedroom
- entity: switch.prayer_room
name: Study Room
- entity: light.master_bathroom_lights
name: Master Bathroom Lights
- type: entities
title: Downstairs
@ -32,6 +34,28 @@ cards:
- light.hue_color_lamp_1
- light.hue_color_lamp_2
- light.hue_color_lamp_3
- entity: switch.wemoswitch1
name: Office Room Accent Lights
- type: entities
title: TV Power Strip
show_header_toggle: true
entities:
- entity: switch.plug_1
name: Monitor
- entity: switch.plug_2
name: Sharp TV
- entity: switch.plug_3
name: Bose Audio
- type: entities
title: Tasmota Outlet
show_header_toggle: true
entities:
- entity: switch.tasmota_outlet_1
name: Tasmota Outlet 1
- entity: switch.tasmota_outlet_2
name: Tasmota Outlet 2
- type: entities
title: Fragrance Outlets
@ -45,17 +69,13 @@ cards:
show_header_toggle: false
entities:
- switch.garage
- entity: switch.tesla_model_3_charger_switch
name: Tesla Charger Switch
- entity: switch.tesla_model_3_maxrange_switch
name: Tesla Max Range Switch
- switch.garage_shop_lights
- type: entities
title: Always On
show_header_toggle: false
entities:
- light.gateway_light_34ce008ad65d
- switch.wemoswitch1
- type: entities
title: Outdoor Lights

View File

@ -67,12 +67,28 @@ cards:
domain: script
action: stream_playarea_camera_to_chromecast
- type: "custom:button-card"
name: RESET CAMERA
entity: input_label.current_stream
icon: mdi:cctv
color_type: card
style:
- font-weight: bold
- color: rgb(0, 0, 5)
state:
- value: "frontyard"
color: var(--primary-color)
action: service
service:
domain: script
action: reset_camera_stream
- type: picture-glance
id: camera_frontdoor_camera
title: Frontdoor Camera
entity: camera.frontdoor_camera
camera_image: camera.frontdoor_camera
camera_view: live
# camera_view: live
show_info: true
tap_action:
action: more-info
@ -138,3 +154,15 @@ cards:
entities:
- binary_sensor.motion_sensor_158d00016c2d0e
- binary_sensor.octoprint_printing
- type: picture-glance
id: porch_camera
title: Porch Camera
entity: camera.porch_camera
camera_image: camera.porch_camera
show_info: true
tap_action:
action: more-info
entities:
- binary_sensor.porch_motion
- switch.frontyard_light

View File

@ -55,6 +55,15 @@ cards:
tap_action:
action: more-info
- type: picture-entity
id: camera_porch_latest_scan
title: Porch Latest Scan
entity: camera.porch_latest_scan
camera_image: camera.porch_camera
show_info: true
tap_action:
action: more-info
- type: entities
title: Image Processing
show_header_toggle: false
@ -71,3 +80,5 @@ cards:
name: Playarea Camera
- entity: image_processing.tensorflow_3d_printer_camera
name: 3D Printer Camera
- entity: image_processing.tensorflow_porch_camera
name: Porch Camera

View File

@ -22,22 +22,8 @@ cards:
- sensor.processor_use
- sensor.memory_free
- binary_sensor.workday_sensor
- sensor.ha_installed_version
- sensor.ha_current_version
- sensor.home_assistant_up_time
- type: entities
title: Alarm Clock
show_header_toggle: false
entities:
- automation.alarm_clock
- input_boolean.am
- input_boolean.pm
- input_boolean.week_day_only
- input_label.alarm_current_time
- input_number.slider_hours
- input_number.slider_minutes
- type: horizontal-stack
cards:
- type: gauge

View File

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

View File

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

View File

@ -1,7 +1,6 @@
title: Scripts
icon: mdi:script
cards:
- type: horizontal-stack
cards:
- type: "custom:button-card"
@ -31,9 +30,50 @@ cards:
action: restart_hass
- type: entities
title: Scripts
title: Notification Scripts
show_header_toggle: false
entities:
- entity: script.good_night_tts
name: Bedtime Report
- entity: script.home_status
name: Hourly Report
- entity: script.play_dog_sounds
name: Play Dog Sounds
- entity: script.play_fav_song
name: Play Fav Song
- entity: script.play_ringtone
name: Play Ringtone (Doorbell)
- entity: script.toggle_do_not_disturb
name: Toggle Do Not Disturb
- type: entities
title: Camera Scripts
show_header_toggle: false
entities:
- entity: script.driveway_cam
name: Show Driveway Camera on Stream
- entity: script.patio_cam
name: Show Patio Camera on Stream
- entity: script.frontdoor_cam
name: Show Front Door Camera on Stream
- entity: script.playarea_cam
name: Show Playarea Camera on Stream
- entity: script.frontdoor_camera_text_overlay
name: Frontdoor Camera Text Overlay
- entity: script.driveway_camera_text_overlay
name: Driveway Camera Text Overlay
- entity: script.patio_camera_text_overlay
name: Patio Camera Text Overlay
- entity: script.playarea_camera_text_overlay
name: Playarea Camera Text Overlay
- entity: script.stream2chromecast
name: Stream To Chromecast
- type: entities
title: Light Scripts
show_header_toggle: false
entities:
- script.all_indoor_lights_off
- script.home_mode_away
- entity: script.xiaomi_blue
name: Xiaomi Gateway Blue Light
@ -43,10 +83,52 @@ cards:
name: Xiaomi Gateway Red Light
- type: entities
title: Home Status/Report
title: Pill Scripts
show_header_toggle: false
entities:
- entity: script.good_night_tts
name: Bedtime Report
- entity: script.home_status
name: Hourly Report
- entity: script.pill_taken
name: Pill Taken
- entity: script.remind_pill
name: Remind Me To Take Pill
# - type: entities
# title: All Scripts
# show_header_toggle: false
# entities:
# - script.all_indoor_lights_off
# - script.driveway_cam
# - script.driveway_camera_text_overlay
# - script.frontdoor_cam
# - script.frontdoor_camera_text_overlay
# - script.good_night_tts
# - script.home_mode_away
# - script.home_status
# - script.led_message
# - script.notify_me
# - script.notify_me_with_picture
# - script.patio_cam
# - script.patio_camera_text_overlay
# - script.pill_taken
# - script.play_dog_sounds
# - script.play_fav_song
# - script.play_ringtone
# - script.playarea_cam
# - script.playarea_camera_text_overlay
# - script.query_disk_info
# - script.query_wifi_info
# - script.remind_pill
# - script.restart_all_raspberrypis
# - script.restart_all_snapclients
# - script.restart_hass
# - script.shutdown_all_raspberrypis
# - script.stop_hass
# - script.stream2chromecast
# - script.stream_driveway_camera_to_chromecast
# - script.stream_frontdoor_camera_to_chromecast
# - script.stream_patio_camera_to_chromecast
# - script.stream_playarea_camera_to_chromecast
# - script.toggle_climate
# - script.toggle_do_not_disturb
# - script.update_hass
# - script.voice_greeting
# - script.voice_notify

View File

@ -23,22 +23,6 @@ cards:
- automation.study_room_cube_event_flip90
- automation.study_room_cube_event_shake
- type: conditional
conditions:
- entity: input_boolean.alarm_clock
state: "on"
card:
type: entities
title: Alarm Clock
show_header_toggle: false
entities:
- automation.alarm_clock
- automation.am_change_off
- automation.am_change_on
- automation.pm_change_off
- automation.pm_change_on
- automation.update_current_alarm_time
- type: entities
title: Zone Based Alerts
show_header_toggle: false
@ -50,7 +34,6 @@ cards:
- automation.alert_when_someone_enters_a_zone
- automation.alert_when_someone_leaves_a_zone
- automation.send_a_message_as_i_get_closer_to_home
- automation.update_phone_battery_levels_from_life360
- automation.welcome_family
- type: entities
@ -63,7 +46,6 @@ cards:
- automation.notify_holiday_state_change
- automation.notify_indian_holidays
- automation.notify_low_battery
- automation.notify_of_new_external_ip
- automation.notify_thermostat_state_change
- automation.notify_usps_mail
- automation.notify_usps_packages
@ -73,9 +55,6 @@ cards:
show_header_toggle: false
entities:
- automation.cancel_wfh_timer_when_suresh_leaves_home
- automation.downstairs_aroma_timer_elapsed
- automation.downstairs_aroma_timer_finish
- automation.downstairs_aroma_timer_start
- automation.family_room_motion_timer
- automation.family_room_timer_elapsed
- automation.frontroom_motion_timer
@ -128,7 +107,6 @@ cards:
title: Home Security Automations
show_header_toggle: false
entities:
- automation.home_security_status_leeo_color
- automation.home_security_system_watchdog_10_minutes
- automation.home_security_system_watchdog_30_minutes
- automation.notify_home_security_status_change
@ -143,33 +121,19 @@ cards:
title: Light Automations
show_header_toggle: false
entities:
- automation.animate_familyroom_lights
- automation.restore_familyroom_lights
- automation.animate_master_bedroom_lights
- automation.restore_masterbedroom_lights
- automation.evening_indoor_lights_on_before_sunset
- automation.evening_outdoor_lights_on_at_sunset
- automation.garage_lights_on_when_door_is_opened
- automation.long_flash_all_lights
- automation.morning_indoor_lights_on
- automation.morning_master_bedroom_lights_off_mallika
- automation.morning_master_bedroom_lights_on_mallika
- automation.morning_outdoor_lights_off
- automation.night_dim_tv_lights
- automation.night_turn_lights_off
- automation.short_flash_all_lights
- automation.tv_dim_indoor_lights_when_tv_is_on
- automation.tv_restore_family_room_lights_to_tv_mode
- automation.tv_turn_lights_on_when_tv_is_turned_off
- type: entities
title: Wallmote Automations
show_header_toggle: false
entities:
- automation.wallmote_button_1_pressed
- automation.wallmote_button_2_pressed
- automation.wallmote_button_3_pressed
- automation.wallmote_button_4_pressed
- automation.outdoor_light_watchdog
- type: entities
title: Trash & Recycle Automations
@ -201,10 +165,7 @@ cards:
show_header_toggle: false
entities:
- automation.night_dim_tv_lights
- automation.tv_backlight_is_on_when_tv_is_on
- automation.tv_backlight_off_when_tv_is_off
- automation.tv_dim_indoor_lights_when_tv_is_on
- automation.tv_restore_family_room_lights_to_tv_mode
- automation.tv_turn_lights_on_when_tv_is_turned_off
- automation.reset_movie_time_after_3_hours
@ -257,14 +218,8 @@ cards:
title: Home Assistant Automations
show_header_toggle: false
entities:
- automation.random_darker_theme_at_sunset
- automation.random_lighter_theme_at_sunrise
- automation.random_theme_at_startup
- automation.remind_domain_renewal
- automation.season_change_notification
- automation.turn_off_ac_after_3_hours_of_cooling
- automation.update_available_notification
- automation.update_zwave_battery_levels
- type: entities
title: Misc Automations

View File

@ -1,17 +1,8 @@
title: QNAP NAS
icon: mdi:harddisk
cards:
- type: entities
title: QNAP Server
show_header_toggle: false
entities:
- sensor.kalavala_nas_status
- sensor.kalavala_nas_network_up_eth0
- sensor.kalavala_nas_network_up_eth1
- sensor.kalavala_nas_system_temperature
- sensor.kalavala_nas_cpu_temperature
- type: vertical-stack
title: KALAVALA-NAS
cards:
- type: horizontal-stack
cards:
@ -101,10 +92,156 @@ cards:
yellow: 70
red: 85
- type: entities
title: QNAP Drives
title: KALAVALA-NAS Drives
show_header_toggle: false
entities:
- sensor.kalavala_nas_temperature_drive_0_1
- sensor.kalavala_nas_temperature_drive_0_2
- sensor.kalavala_nas_temperature_drive_0_3
- sensor.kalavala_nas_temperature_drive_0_4
- type: entities
title: KALAVALA-NAS
show_header_toggle: false
entities:
- sensor.kalavala_nas_status
- sensor.kalavala_nas_network_up_eth0
- sensor.kalavala_nas_network_up_eth1
- sensor.kalavala_nas_system_temperature
- sensor.kalavala_nas_cpu_temperature
- type: vertical-stack
title: MAHASRI-NAS
cards:
- type: horizontal-stack
cards:
- type: "custom:button-card"
entity: sensor.mahasri_nas_smart_status_drive_0_1
name: Drive 1
color_type: card
show_state: true
icon: mdi:harddisk
style:
- font-weight: bold
state:
- value: "OK"
color: rgb(0, 128, 0)
- value: "FAIL"
color: rgb(255, 0, 0)
action: more_info
- type: "custom:button-card"
entity: sensor.mahasri_nas_smart_status_drive_0_2
name: Drive 2
color_type: card
show_state: true
icon: mdi:harddisk
style:
- font-weight: bold
state:
- value: "OK"
color: rgb(0, 128, 0)
- value: "FAIL"
color: rgb(255, 0, 0)
action: more_info
- type: "custom:button-card"
entity: sensor.mahasri_nas_smart_status_drive_0_3
name: Drive 3
color_type: card
show_state: true
icon: mdi:harddisk
style:
- font-weight: bold
state:
- value: "OK"
color: rgb(0, 128, 0)
- value: "FAIL"
color: rgb(255, 0, 0)
action: more_info
- type: "custom:button-card"
entity: sensor.mahasri_nas_smart_status_drive_0_4
name: Drive 4
color_type: card
show_state: true
icon: mdi:harddisk
style:
- font-weight: bold
state:
- value: "OK"
color: rgb(0, 128, 0)
- value: "FAIL"
color: rgb(255, 0, 0)
action: more_info
- type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: gauge
entity: sensor.mahasri_nas_cpu_usage
unit: "%"
name: CPU
severity:
green: 0
yellow: 50
red: 75
- type: gauge
entity: sensor.mahasri_nas_memory_usage
unit: "%"
name: Memory
severity:
green: 0
yellow: 50
red: 75
- type: gauge
entity: sensor.mahasri_nas_volume_used_primary
unit: "%"
name: Primary Disk
severity:
green: 0
yellow: 70
red: 85
- type: horizontal-stack
cards:
- type: gauge
entity: sensor.mahasri_nas_volume_used_mahasri
unit: "%"
name: Mahasri Disk
severity:
green: 0
yellow: 70
red: 85
- type: gauge
entity: sensor.mahasri_nas_volume_used_entertainment
unit: "%"
name: Media Disk
severity:
green: 0
yellow: 70
red: 85
- type: gauge
entity: sensor.mahasri_nas_volume_used_software
unit: "%"
name: Software Disk
severity:
green: 0
yellow: 70
red: 85
- type: entities
title: MAHASRI-NAS Drives
show_header_toggle: false
entities:
- sensor.mahasri_nas_temperature_drive_0_1
- sensor.mahasri_nas_temperature_drive_0_2
- sensor.mahasri_nas_temperature_drive_0_3
- sensor.mahasri_nas_temperature_drive_0_4
- type: entities
title: MAHASRI-NAS
show_header_toggle: false
entities:
- sensor.mahasri_nas_status
- sensor.mahasri_nas_network_up_eth0
- sensor.mahasri_nas_network_up_eth1
- sensor.mahasri_nas_system_temperature
- sensor.mahasri_nas_cpu_temperature

View File

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

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:
message: "{{ trigger.to_state.attributes.friendly_name.split(' ')[1] }}'s phone battery is : {{ trigger.to_state.attributes.battery }}%."
# ###############################################################################
# # Automation: Notify of Sensor's Low Battery
# ###############################################################################
# - alias: Alert Low Battery Level of Sensors
# initial_state: true
# trigger:
# platform: state
# entity_id:
# - binary_sensor.motion_sensor_158d00016c2d0e
# - binary_sensor.motion_sensor_158d00016db6d2
# - binary_sensor.motion_sensor_158d0001a25041
# - binary_sensor.motion_sensor_158d0001a662fe
# - sensor.illumination_158d00016c2d0e
# - sensor.illumination_158d00016db6d2
# - sensor.illumination_158d0001a25041
# - sensor.illumination_158d0001a662fe
# - zwave.audio_detector
# - zwave.back_door_sensor
# - zwave.basement_door_sensor
# - zwave.downstairs_multi_sensor
# - zwave.front_room_multi_sensor
# - zwave.front_room_window_sensor
# - zwave.garage_door_sensor
# - zwave.guest_bedroom_multi_sensor
# - zwave.kitchen_motion_sensor
# - zwave.single_car_garage_door_tilt_sensor
# - zwave.stairs_motion_sensor
# - zwave.tv_multi_sensor
# - zwave.two_car_garage_door_tilt_sensor
# - zwave.upstairs_multi_sensor
# - zwave.wallmote
# action:
# - service: script.voice_notify
# data_template:
# message: >-
# {%- for item in states if item.entity_id.split('.')[0] != "device_tracker" -%}
# {%- for attrib in item.attributes|sort() if 'battery' in attrib and item.attributes[attrib] | int < 10 %}
# {{ item.name }} Battery is at {{ item.attributes[attrib] }} percent
# {%- endfor -%}
# {%- endfor -%}
- alias: Check Wi-Fi Status of iPhones At Home
initial_state: true
trigger:

View File

@ -45,37 +45,56 @@ camera:
username: !secret camera_username
password: !secret camera_password
- platform: generic
name: Porch Camera
still_image_url: !secret porch_camera_url
stream_source: porch_camera_rtsp_url
verify_ssl: false
authentication: basic
username: !secret porch_camera_username
password: !secret porch_camera_password
# - platform: ffmpeg
# input: porch_camera_rtsp_url
# name: Porch Camera
- platform: mjpeg
mjpeg_url: !secret garage_camera_url
name: Garage Camera
- platform: mjpeg
mjpeg_url: !secret kitchen_camera_url
name: Kitchen Camera
# - platform: mjpeg
# mjpeg_url: !secret frontroom_camera_url
# name: Frontroom Camera
- platform: local_file
name: Frontdoor Latest Scan
file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
file_path: "/config/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
- platform: local_file
name: Driveway Latest Scan
file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg"
file_path: "/config/www/downloads/camera/driveway/driveway_latest.jpg"
- platform: local_file
name: Patio Latest Scan
file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg"
file_path: "/config/www/downloads/camera/patio/patio_latest.jpg"
- platform: local_file
name: Playarea Latest Scan
file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_latest.jpg"
file_path: "/config/www/downloads/camera/playarea/playarea_latest.jpg"
- platform: local_file
name: Garage Latest Scan
file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg"
file_path: "/config/www/downloads/camera/garage/garage_latest.jpg"
- platform: local_file
name: 3dPrinter Latest Scan
file_path: "/home/homeassistant/.homeassistant/www/downloads/camera/3dprinter/print_latest.jpg"
file_path: "/config/www/downloads/camera/3d/3d_latest.jpg"
- platform: local_file
name: Porch Latest Scan
file_path: "/config/www/downloads/camera/porch/porch_latest.jpg"
shell_command:
reset_camera_stream: !secret camera_stream_restart_docker_url
switch:
- platform: rest
resource: !secret camera_stream_docker_url
name: Camera Stream
body_on: '{"state": "start"}'
body_off: '{"state": "stop"}'
is_on_template: '{{ value_json is not none and value_json.state == "running" }}'
binary_sensor:
- platform: hikvision
name: Frontdoor Camera
@ -105,6 +124,14 @@ binary_sensor:
username: !secret camera_username
password: !secret camera_password
- platform: mqtt
state_topic: "myhome/dafang_1/motion"
name: "Porch Motion"
device_class: motion
payload_on: "ON"
payload_off: "OFF"
value_template: "{{ value }}"
image_processing:
- platform: tensorflow
scan_interval: 10000
@ -115,11 +142,12 @@ image_processing:
- entity_id: camera.playarea_camera
- entity_id: camera.garage_camera
- entity_id: camera.3d_printer_camera
- entity_id: camera.porch_camera
file_out:
- "/home/homeassistant/.homeassistant/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_latest.jpg"
- "/home/homeassistant/.homeassistant/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg"
- "/config/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_latest.jpg"
- "/config/www/downloads/camera/{{- camera_entity.split('.')[1].split('_')[0] -}}/{{ camera_entity.split('.')[1].split('_')[0] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg"
model:
graph: /home/homeassistant/.homeassistant/tensorflow/models/efficientdet_d0_coco17_tpu-32/
graph: /config/tensorflow/models/efficientdet_d0_coco17_tpu-32/
input_label:
current_stream:
@ -194,6 +222,26 @@ rest_command:
###############################################################################
automation:
- alias: Scan Porch Camera On Motion
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.porch_motion
from: "off"
to: "on"
action:
- service: camera.snapshot
data_template:
entity_id: "camera.porch_camera"
filename:
"{{ '/config/www/downloads/camera/porch/porch_' ~
(states.binary_sensor.porch_motion.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: image_processing.scan
data_template:
entity_id: image_processing.tensorflow_porch_camera
#
# Scan front door and driveway cameras when motion detected
# if the garage doors are open, scan garage cameras as well
@ -260,7 +308,7 @@ automation:
{%- endif -%}
data:
images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
- "/config/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
- service: script.notify_me_with_picture
data_template:
@ -277,7 +325,7 @@ automation:
{% else %}
Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif %}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
file: "/config/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
caption: "Front Door Motion"
- condition: template
@ -357,7 +405,7 @@ automation:
{% else %}
Motion detected at the driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg"
file: "/config/www/downloads/camera/driveway/driveway_latest.jpg"
caption: "Driveway Motion"
- service: notify.notify_smtp
@ -377,7 +425,7 @@ automation:
{%- endif -%}
data:
images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg"
- "/config/www/downloads/camera/driveway/driveway_latest.jpg"
- condition: template
value_template: >
@ -466,7 +514,7 @@ automation:
{% else %}
Motion detected in the garage on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg"
file: "/config/www/downloads/camera/garage/garage_latest.jpg"
caption: "Garage Motion"
- service: notify.notify_smtp
@ -486,7 +534,7 @@ automation:
{%- endif -%}
data:
images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_latest.jpg"
- "/config/www/downloads/camera/garage/garage_latest.jpg"
#
# When motion detected in the backyard, scan both cameras
#
@ -552,7 +600,7 @@ automation:
{% else %}
Motion detected in the backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.
{%- endif -%}
file: "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg"
file: "/config/www/downloads/camera/patio/patio_latest.jpg"
caption: "Backyard Motion"
- service: notify.notify_smtp
@ -572,8 +620,8 @@ automation:
{%- endif -%}
data:
images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_latest.jpg"
- "/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_latest.jpg"
- "/config/www/downloads/camera/patio/patio_latest.jpg"
- "/config/www/downloads/camera/playarea/playarea_latest.jpg"
# Before you think this code is crazy, here is an explanation.
#
@ -626,21 +674,28 @@ automation:
data_template:
entity_id: "camera.frontdoor_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
"{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.porch_camera"
filename:
"{{ '/config/www/downloads/camera/porch/porch_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.driveway_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
"{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.garage_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
"{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -650,15 +705,15 @@ automation:
message: "Motion Detected At Front Door, Check images:"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
- file: "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Front Door"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
- file: "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Driveway"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
- file: "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage"
@ -669,13 +724,13 @@ automation:
message: 'Motion detected at the front door on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") -}}. Please see the images below.'
data:
images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
- "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
- "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
- "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -718,21 +773,21 @@ automation:
data_template:
entity_id: "camera.frontdoor_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
"{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.driveway_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
"{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.garage_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
"{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -742,15 +797,15 @@ automation:
message: "Motion Detected At Driveway, Check images:"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
- file: "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Front Door"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
- file: "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Driveway"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
- file: "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage"
@ -761,13 +816,13 @@ automation:
message: 'Motion detected at the Driveway on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.'
data:
images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~
- "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~
- "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
- "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -821,7 +876,7 @@ automation:
data_template:
entity_id: "camera.patio_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~
"{{ '/config/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -829,7 +884,7 @@ automation:
data_template:
entity_id: "camera.playarea_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~
"{{ '/config/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -839,11 +894,11 @@ automation:
message: "Motion Detected in the Backyard, Check images:"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~
- file: "{{ '/config/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Patio"
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~
- file: "{{ '/config/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Playarea"
@ -854,10 +909,10 @@ automation:
message: 'Motion detected in the Backyard on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please see the images below.'
data:
images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/patio/patio_' ~
- "{{ '/config/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/playarea/playarea_' ~
- "{{ '/config/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
@ -1023,3 +1078,8 @@ script:
data_template:
url: !secret playarea_camera_stream_url
name: "playarea"
reset_camera_stream:
alias: Reset Camera Stream
sequence:
- service: shell_command.reset_camera_stream
- service_template: "script.{{- ['frontdoor', 'driveway', 'patio', 'playarea'] | random -}}_cam"

View File

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

View File

@ -11,9 +11,9 @@ homeassistant:
states('binary_sensor.door_window_sensor_158d0004248d5b') == "off" %}
{% set doors = "Both Garage Doors are now CLOSED" %}
{% else %}
{% if trigger.to_state.state | lower == "on" %}
{% if trigger.from_state.state != trigger.to_state.state and trigger.to_state.state | lower == "on" %}
Attention! Your {{ trigger.to_state.attributes.friendly_name }} is now OPENED!
{% elif trigger.to_state.state | lower == "off" %}
{% elif trigger.from_state.state != trigger.to_state.state and trigger.to_state.state | lower == "off" %}
Your {{ trigger.to_state.attributes.friendly_name }} is now CLOSED!
{% endif %}
{% endif %}
@ -77,13 +77,6 @@ binary_sensor:
payload_off: "off"
value_template: "{{ value }}"
- platform: mqtt
state_topic: "/frontroom/motion"
name: "Frontroom Camera Motion"
device_class: motion
payload_on: "on"
payload_off: "off"
value_template: "{{ value }}"
###############################################################################
# _ _ _
@ -111,31 +104,20 @@ automation:
payload: "off"
retain: false
- alias: Turn Garage Lights On When Motion Detected
- alias: Turn Garage Lights On When Motion Detected or Door Opened
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.motion_sensor_158d000272bf48
to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: switch.turn_on
entity_id: switch.garage
- alias: Frontroom Camera Motion Reset
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.frontroom_camera_motion
to: "on"
from: "off"
action:
- delay: "00:00:30"
- service: mqtt.publish
data:
topic: "/frontroom/motion"
payload: "off"
retain: false
################################################################################
# Notifies when either of the garage door is opened or closed
###############################################################################
@ -177,7 +159,7 @@ automation:
data_template:
entity_id: "camera.garage_camera"
filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
"{{ '/config/www/downloads/camera/garage/garage_' ~
((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}"
@ -200,7 +182,7 @@ automation:
{%- endif %}
Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below.
file: >
{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
{{ '/config/www/downloads/camera/garage/garage_' ~
((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}
caption: "{{ trigger.to_state.attributes.friendly_name }}: {{ 'OPEN' if trigger.to_state.state == 'on' else 'CLOSED' }}"
@ -225,7 +207,7 @@ automation:
Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below.
data:
images:
- "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
- "{{ '/config/www/downloads/camera/garage/garage_' ~
((state_attr('automation.notify_garage_door_status', 'last_triggered') |string).replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg') }}"
@ -241,9 +223,12 @@ automation:
entity_id:
- binary_sensor.door_window_sensor_158d000424a6d6 # Front Door
- binary_sensor.door_window_sensor_158d00040ad8fc # Back Door
- binary_sensor.door_window_sensor_158d0004880f30 # Garage Entry Door
condition:
- condition: template
value_template: "{{ trigger.from_state.state not in ['unavailable', 'unknown'] }}"
- condition: template
value_template: "{{ trigger.from_state.state != trigger.to_state.state }}"
action:
- service: script.voice_notify
data_template:
@ -280,12 +265,15 @@ automation:
entity_id: binary_sensor.door_window_sensor_158d000424a6d6
to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: script.frontdoor_cam
- condition: template
value_template: "{{ states('sun.sun') == 'below_horizon' }}"
action:
- service: switch.turn_on
entity_id: switch.front_room
- service: script.frontdoor_cam
- alias: When Back Door Opens Turn Kitchen Lights ON
initial_state: true
@ -294,12 +282,15 @@ automation:
entity_id: binary_sensor.door_window_sensor_158d00040ad8fc
to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service_template: "script.{{ ['patio_cam', 'playarea_cam'] | random }}"
- condition: template
value_template: "{{ states('sun.sun') == 'below_horizon' }}"
action:
- service: switch.turn_on
entity_id: switch.kitchen
- service_template: "script.{{ ['patio_cam', 'playarea_cam'] | random }}"
################################################################################
# When I open the garage door
@ -311,7 +302,7 @@ automation:
initial_state: true
trigger:
platform: state
entity_id: binary_sensor.garage_door_sensor_sensor
entity_id: binary_sensor.door_window_sensor_158d0004880f30
to: "on"
condition:
condition: or
@ -324,8 +315,52 @@ automation:
value_template: "{{ states('binary_sensor.door_window_sensor_158d0004248d5b') == 'off' }}"
- condition: template
value_template: "{{ states('binary_sensor.door_window_sensor_158d0004231f7b') == 'off' }}"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: switch.turn_on
entity_id: switch.garage
- service: timer.start
entity_id: timer.timer_garage
#
# Only turn ON lights at 25% at night
#
- alias: Master Bathroom Door Opened After Dark
initial_state: true
trigger:
platform: state
entity_id: binary_sensor.door_window_sensor_158d000424718f
to: "on"
condition:
- condition: template
value_template: '{{states.sun.sun.state == "below_horizon"}}'
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_on
entity_id: light.master_bathroom_lights
data:
brightness: 64 # 25% of brightness
transition: 5
- alias: Master Bathroom Door Opened During The Day
initial_state: true
trigger:
platform: state
entity_id: binary_sensor.door_window_sensor_158d000424718f
to: "on"
condition:
- condition: template
value_template: '{{states.sun.sun.state == "above_horizon"}}'
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_on
entity_id: light.master_bathroom_lights
data:
brightness: 255 # 100% of brightness
transition: 10

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
- type: last_boot
- platform: rest
resource: https://pypi.python.org/pypi/homeassistant/json
name: HA Current Version
value_template: "{{ value_json.info.version }}"
- platform: command_line
name: HA Installed Version
command: /srv/homeassistant/bin/hass --version
scan_interval: 86400
- platform: mqtt
state_topic: "iotlink/domain/winsvr2016/lwt"
name: "Windows Server"
@ -79,57 +69,3 @@ sensor:
state_topic: "iotlink/domain/winsvr2016/windows-monitor/stats/system/idle-time"
name: "Windows Server Idle Time"
value_template: "{{ value }}"
###############################################################################
# _ _ _
# /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
#
###############################################################################
automation:
# Notify me when I get a new public IP from my ISP
######################################################
- alias: Notify Of New External IP
initial_state: true
trigger:
platform: state
entity_id: sensor.external_ip
condition:
- condition: template
value_template: "{% if trigger.from_state and trigger.to_state %} true {% else %} false {% endif %}"
- condition: template
value_template: "{% if trigger.from_state.state == 'unknown' %} false {% else %} true {% endif %}"
- condition: template
value_template: "{% if trigger.to_state.state == 'unknown' %} false {% else %} true {% endif %}"
- condition: template
value_template: "{{ trigger.from_state.state != trigger.to_state.state }}"
action:
- service: script.notify_me
data_template:
message: "Your External IP changed from {{ trigger.from_state.state }} to {{ trigger.to_state.state }}"
- alias: Update Available Notification
initial_state: true
trigger:
platform: state
entity_id: updater.updater
action:
- service: script.notify_me
data: { "message": "New HASS update is available. Please update!" }
- alias: Remind domain renewal
initial_state: true
trigger:
- platform: numeric_state
entity_id: sensor.my_domain
below: 30
action:
- service: persistent_notification.create
data:
title: "Domain Renew"
message: "It is time to renew your domain. The domain will expire in {{ states('sensor.my_domain') }} days."

View File

@ -16,10 +16,10 @@ homeassistant:
friendly_name: Home Security System
icon: mdi:security
simplisafe:
accounts:
- username: !secret simplisafe_username
password: !secret simplisafe_password
# simplisafe:
# accounts:
# - username: !secret simplisafe_username
# password: !secret simplisafe_password
###############################################################################
# _ _ _
@ -36,7 +36,7 @@ automation:
# Leeo light - color indication of Home Security System
# BLUE for Secured (Home and Away), and RED for OFF or Trigerred
###############################################################################
- alias: Home Security Status Leeo Color
- alias: Home Security Status Xiaomi Color
initial_state: true
trigger:
platform: state
@ -60,6 +60,104 @@ automation:
script.xiaomi_red
{% endif %}
#
# This automation will trigger when the Home Security System is "Triggered"
# This will send all relevant information - Door Statuses and Camera snapshots around the home
# Meanwhile Home Security Company will be calling and/or dispatching Police over to the house.
# This should give you enough information to have a good conversation with the Home Security System company when not at home
- alias: Home Security Triggered
initial_state: true
trigger:
platform: state
entity_id: alarm_control_panel.home
to: "triggered"
action:
- service: script.notify_me
data_template:
message: >
{% set ns = namespace(openDoorCount=0, doorNames="") %}
{%- set sensors = [
'binary_sensor.door_window_sensor_158d000424a6d6', 'binary_sensor.door_window_sensor_158d00040ad8fc', 'binary_sensor.door_window_sensor_158d0004880f30',
'binary_sensor.door_window_sensor_158d000424718f', 'binary_sensor.door_window_sensor_158d0004231f7b', 'binary_sensor.door_window_sensor_158d0004248d5b',
'binary_sensor.motion_sensor_158d00016c2d0e', 'binary_sensor.motion_sensor_158d00016db6d2', 'binary_sensor.motion_sensor_158d0001a25041',
'binary_sensor.motion_sensor_158d0001a662fe','binary_sensor.motion_sensor_158d00024e57d3','binary_sensor.motion_sensor_158d00024e57fb',
'binary_sensor.motion_sensor_158d00024e842c','binary_sensor.motion_sensor_158d00024ee084','binary_sensor.motion_sensor_158d000272bed1',
'binary_sensor.motion_sensor_158d000272bf48','binary_sensor.motion_sensor_158d000272bfd7','binary_sensor.motion_sensor_158d000464c25a',
'binary_sensor.motion_sensor_158d00047b6f69'
] -%}
{%- for item in sensors if states(item) == "on" %}
{% set ns.doorNames = ns.doorNames + state_attr(item, "friendly_name") + (", " if not loop.last else " ") %}
{% set ns.openDoorCount = ns.openDoorCount + 1 %}
{%- endfor %}
Your Home Security System is triggered. {{ "But ALL Doors are CLOSED! Must be a spider on one of the sensor(s) triggered it!" if ns.openDoorCount == 0 else 'Following sensors are ON currently:' }}
{{ ns.doorNames }}
- service: camera.snapshot
data_template:
entity_id: "camera.frontdoor_camera"
filename:
"{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.driveway_camera"
filename:
"{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.garage_camera"
filename:
"{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.patio_camera"
filename:
"{{ '/config/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: camera.snapshot
data_template:
entity_id: "camera.playarea_camera"
filename:
"{{ '/config/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: notify.telegram
data_template:
title: "Camera Snapshots"
message: "Please check the camera images just to be sure!"
data:
photo:
- file: "{{ '/config/www/downloads/camera/frontdoor/frontdoor_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Front Door"
- file: "{{ '/config/www/downloads/camera/driveway/driveway_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Driveway"
- file: "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage"
- file: "{{ '/config/www/downloads/camera/patio/patio_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Patio"
- file: "{{ '/config/www/downloads/camera/playarea/playarea_' ~
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Playarea"
###############################################################################
# Notify Security System State Change
###############################################################################
@ -229,7 +327,7 @@ automation:
- service: camera.snapshot
data_template:
entity_id: "camera.garage_camera"
filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (state_attr('automation.home_security_system_and_garage_door_check','last_updated') ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
filename: "{{ '/config/www/downloads/camera/garage/garage_' ~ (state_attr('automation.home_security_system_and_garage_door_check','last_updated') ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: notify.telegram
data_template:
@ -237,7 +335,7 @@ automation:
message: "Home Security System is ON, but Garage Doors are OPEN!"
data:
photo:
- file: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
- file: "{{ '/config/www/downloads/camera/garage/garage_' ~
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
caption: "Garage"

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

View File

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

View File

@ -63,6 +63,22 @@ sensor:
- drive_smart_status
- drive_temp
- platform: qnap
host: !secret qnap_hostname2
username: !secret qnap_username
password: !secret qnap_password
monitored_conditions:
- status
- cpu_usage
- memory_percent_used
- network_tx
- volume_percentage_used
- system_temp
- cpu_temp
- drive_smart_status
- drive_temp
# The following sensors are required, as the automations with trigger platform `numeric_state`,
# above a certain value using `above: x` AND `for: 00:05:00` combination is not supported.
#

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:
message: >
No one is at home. Cameras rolling, Indoor lights OFF, Thermostat is set to 'away' and your home is secured!
- service: camera.snapshot
data_template:
entity_id: "camera.kitchen_camera"
filename: "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg"
- service: camera.snapshot
data_template:
entity_id: "camera.frontroom_camera"
filename: "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg"
- service: notify.notify_smtp
data_template:
title: 'Indoor Pictures {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
message: "No one seem to be home at the moment... Please see the images and make sure everything is okay."
data:
images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg"
- "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg"
###############################################################################
# The following script runs when no one is home. It excludes some lights
@ -113,26 +97,32 @@ script:
sequence:
- service: light.turn_off
data_template:
entity_id: >
{%- for state in states.light if state.entity_id != 'light.gateway_light_34ce008ad65d' -%}
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}}
{%- endfor -%}
entity_id:
- light.family_room_lights
- light.hue_color_lamp_1
- light.hue_color_lamp_2
- light.hue_color_lamp_3
- light.master_bedroom_1
- light.master_bedroom_2
- light.master_bedroom_lights
- service: switch.turn_off
data_template:
entity_id: >
{%- for state in states.switch if
state.entity_id != 'switch.3d_printer' and
state.entity_id != 'switch.tesla_model_3_charger_switch' and
state.entity_id != 'switch.tesla_model_3_maxrange_switch' and
state.entity_id != 'switch.tesla_model_3_update_switch' and
state.entity_id != 'switch.mahasri_tesla_sentry_mode_switch' and
state.entity_id != 'switch.wemoswitch1' and
state.entity_id != 'switch.wallmote_switch' and
state.entity_id != 'switch.wemobackyardlightswitch' and
state.entity_id != 'switch.frontyard_light' and
not 'ecolink' in state.entity_id -%}
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}}
{%- endfor -%}
entity_id:
- switch.basement_left
- switch.basement_right
- switch.downstairs_fragrance
- switch.front_room
- switch.garage
- switch.garage_shop_lights
- switch.guest_bedroom
- switch.kids_bed_accent
- switch.kids_bedroom
- switch.kitchen
- switch.office_room
- switch.prayer_room
- switch.upstairs_fragrance
- switch.officeroom_accent_lights
###############################################################################
# _____ ____ _

View File

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

View File

@ -1089,3 +1089,12 @@
# data_template:
# entity_id: "input_label.file_2"
# value: "/tmp/{{- trigger.entity_id.split('.')[1] -}}_{{- states.input_boolean.dummy.last_updated.strftime('%Y%m%d-%H%M%S') -}}.mp4"
# {% for x in states if 'sensor.illumination_' in x.entity_id %}
# {{ x.name}} - {{ x.attributes.battery_level }}
# {%- endfor %}
# {% for x in states if 'sensor.battery_' in x.entity_id %}
# {{ x.name}} - {{ x.state }}
# {%- endfor %}

View File

@ -29,6 +29,27 @@ binary_sensor:
#
###############################################################################
automation:
# Restore Familyroom Lights
###############################################################################
- alias: Restore Familyroom Lights
initial_state: true
trigger:
platform: state
entity_id: input_boolean.animate_downstairs_lights
to: "off"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_on
data:
entity_id: group.family_room_lights
transition: 5
rgb_color: [255, 251, 245]
brightness: 255
color_temp: 162
# Dim Family Room Lights When TV is Turned ON
###############################################################################
- alias: TV Dim Indoor Lights when TV is ON
@ -61,77 +82,6 @@ automation:
entity_id: light.hue_color_lamp_3
brightness: 5
color_temp: 154
- service: mqtt.publish
data:
topic: /home/tv/backlight
payload: "on"
retain: true
# Restore Family Room Lights to TV mode
###############################################################################
- alias: TV Restore Family Room Lights To TV Mode
initial_state: true
trigger:
- platform: state
entity_id: group.family_room_lights
from: "off"
to: "on"
condition:
- condition: state
entity_id: binary_sensor.sharp_tv
state: "on"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_on
data:
entity_id: light.hue_color_lamp_1
brightness: 5
color_temp: 154
transition: 5
- service: light.turn_on
data:
entity_id: light.hue_color_lamp_2
brightness: 5
color_temp: 154
transition: 5
- service: light.turn_on
data:
entity_id: light.hue_color_lamp_3
brightness: 5
color_temp: 154
transition: 5
# Turn Backlights Off when TV is turned OFF
###############################################################################
- alias: TV Backlight OFF when TV is OFF
initial_state: true
trigger:
platform: state
entity_id: binary_sensor.sharp_tv
to: "off"
action:
- service: mqtt.publish
data:
topic: /home/tv/backlight
payload: "off"
retain: true
# Turn TV backlights when TV is turned ON
###############################################################################
- alias: TV Backlight is ON when TV is ON
initial_state: true
trigger:
platform: state
entity_id: binary_sensor.sharp_tv
to: "on"
action:
- service: mqtt.publish
data:
topic: /home/tv/backlight
payload: "on"
retain: true
# Turn back Family room lights when TV is switched OFF
###############################################################################
@ -167,8 +117,3 @@ automation:
brightness: 255
color_temp: 154
transition: 5
- service: mqtt.publish
data:
topic: /home/tv/backlight
payload: "off"
retain: true

View File

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

View File

@ -208,8 +208,30 @@ automation:
{% endif %}
- service: input_boolean.turn_on
data_template:
entity_id: >
{% set windspeed = states.sensor.dark_sky_wind_speed.state | round %}
entity_id: >-
{%- set windspeed = states.sensor.dark_sky_wind_speed.state | round -%}
{%- if ( windspeed > 7 and ( windspeed <= 15 ) ) -%}
input_boolean.nice_breeze_alert
{%- elif ( windspeed > 15 ) and ( windspeed <= 25 ) %}
input_boolean.moderate_wind_alert
{%- elif ( windspeed > 25 ) and ( windspeed <= 40 ) %}
input_boolean.heavy_wind_alert
{%- elif ( windspeed > 40 ) and ( windspeed <= 60 ) %}
input_boolean.super_heavy_wind_alert
{%- elif ( windspeed > 60 ) %}
input_boolean.hurricane_wind_alert
{%- endif %}
- alias: Set Wind Speed Input Booleans
initial_state: true
trigger:
platform: state
entity_id: sensor.dark_sky_wind_speed
action:
- service: input_boolean.turn_on
data_template:
entity_id: >-
{%- set windspeed = states.sensor.dark_sky_wind_speed.state | round -%}
{%- if ( windspeed > 7 and ( windspeed <= 15 ) ) -%}
input_boolean.nice_breeze_alert
{%- elif ( windspeed > 15 ) and ( windspeed <= 25 ) %}

View File

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

View File

@ -1,222 +1,222 @@
###############################################################################
# @author : Mahasri Kalavala
# @date : 04/20/2018
# @package : zwave batteries
# @description : Zwave batteries using input_label & MQTT
###############################################################################
# ###############################################################################
# # @author : Mahasri Kalavala
# # @date : 04/20/2018
# # @package : zwave batteries
# # @description : Zwave batteries using input_label & MQTT
# ###############################################################################
input_label:
audio_detector:
back_door_sensor:
basement_door_sensor:
downstairs_multi_sensor:
zwave_front_door_sensor:
front_room_multi_sensor:
garage_door_sensor:
guest_bedroom_multi_sensor:
kitchen_motion_sensor:
single_car_garage_door_tilt_sensor:
stairs_motion_sensor:
tv_multi_sensor:
two_car_garage_door_tilt_sensor:
upstairs_multi_sensor:
wallmote:
ecolink_motion_detector:
ecolink_firefighter:
ecolink_door_window_sensor_2:
aeon_labs_zw100_multisensor_6_2:
aeon_labs_zw100_multisensor_6:
ecolink_door_window_sensor:
ecolink_garage_door_tilt_sensor:
# input_label:
# audio_detector:
# back_door_sensor:
# basement_door_sensor:
# downstairs_multi_sensor:
# zwave_front_door_sensor:
# front_room_multi_sensor:
# garage_door_sensor:
# guest_bedroom_multi_sensor:
# kitchen_motion_sensor:
# single_car_garage_door_tilt_sensor:
# stairs_motion_sensor:
# tv_multi_sensor:
# two_car_garage_door_tilt_sensor:
# upstairs_multi_sensor:
# wallmote:
# ecolink_motion_detector:
# ecolink_firefighter:
# ecolink_door_window_sensor_2:
# aeon_labs_zw100_multisensor_6_2:
# aeon_labs_zw100_multisensor_6:
# ecolink_door_window_sensor:
# ecolink_garage_door_tilt_sensor:
suresh_battery:
mallika_battery:
srinika_battery:
hasika_battery:
# suresh_battery:
# mallika_battery:
# srinika_battery:
# hasika_battery:
suresh_charging:
mallika_charging:
srinika_charging:
hasika_charging:
# suresh_charging:
# mallika_charging:
# srinika_charging:
# hasika_charging:
suresh_wifi:
mallika_wifi:
srinika_wifi:
hasika_wifi:
# suresh_wifi:
# mallika_wifi:
# srinika_wifi:
# hasika_wifi:
###############################################################################
# _ _ _
# /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
#
###############################################################################
# ###############################################################################
# # _ _ _
# # /\ | | | | (_)
# # / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# # / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# # / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# # /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
# #
# ###############################################################################
automation:
- alias: Update ZWave Battery Levels
initial_state: true
trigger:
- platform: event
event_type: state_changed
condition:
- condition: template
value_template: "{{ trigger.event.data.entity_id is not none }}"
- condition: template
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'zwave' }}"
- condition: template
value_template: "{{ trigger.event.data.new_state.attributes is not none }}"
- condition: template
value_template: "{{ trigger.event.data.new_state.attributes.battery_level | trim != '' }}"
- condition: template
value_template: "{{ trigger.event.data.new_state.attributes.battery_level | default(999) | int != 999 }}"
action:
- service: input_label.set_value
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
value: "{{ trigger.event.data.new_state.attributes.battery_level }}"
- service: input_label.set_name
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
value: "{{ trigger.event.data.new_state.attributes.friendly_name }}'s Battery"
- service: input_label.set_icon
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
value: >
{% set battery_level = trigger.event.data.new_state.attributes.battery_level | int %}
{% set battery_round = (battery_level / 10)|int * 10 %}
{% if battery_round >= 100 %}
mdi:battery
{% elif battery_round > 0 %}
mdi:battery-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
# automation:
# - alias: Update ZWave Battery Levels
# initial_state: true
# trigger:
# - platform: event
# event_type: state_changed
# condition:
# - condition: template
# value_template: "{{ trigger.event.data.entity_id is not none }}"
# - condition: template
# value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'zwave' }}"
# - condition: template
# value_template: "{{ trigger.event.data.new_state.attributes is not none }}"
# - condition: template
# value_template: "{{ trigger.event.data.new_state.attributes.battery_level | trim != '' }}"
# - condition: template
# value_template: "{{ trigger.event.data.new_state.attributes.battery_level | default(999) | int != 999 }}"
# action:
# - service: input_label.set_value
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
# value: "{{ trigger.event.data.new_state.attributes.battery_level }}"
# - service: input_label.set_name
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
# value: "{{ trigger.event.data.new_state.attributes.friendly_name }}'s Battery"
# - service: input_label.set_icon
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1] -}}"
# value: >
# {% set battery_level = trigger.event.data.new_state.attributes.battery_level | int %}
# {% set battery_round = (battery_level / 10)|int * 10 %}
# {% if battery_round >= 100 %}
# mdi:battery
# {% elif battery_round > 0 %}
# mdi:battery-{{ battery_round }}
# {% else %}
# mdi:battery-alert
# {% endif %}
# - alias: Update Phone Battery Levels
# initial_state: true
# trigger:
# platform: mqtt
# topic: "owntracks/+/+"
# action:
# - service: input_label.set_value
# data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi"
# value: "{{ 'Yes' if trigger.payload_json.conn == 'w' else 'No' }}"
# - service: input_label.set_icon
# data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi"
# value: "{{ 'mdi:wifi' if trigger.payload_json.conn == 'w' else 'mdi:wifi-off' }}"
# - service: input_label.set_name
# data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi"
# value: "{{trigger.topic.split('/')[-1] | title }}'s phone wifi enabled?"
# # - alias: Update Phone Battery Levels
# # initial_state: true
# # trigger:
# # platform: mqtt
# # topic: "owntracks/+/+"
# # action:
# # - service: input_label.set_value
# # data_template:
# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi"
# # value: "{{ 'Yes' if trigger.payload_json.conn == 'w' else 'No' }}"
# # - service: input_label.set_icon
# # data_template:
# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi"
# # value: "{{ 'mdi:wifi' if trigger.payload_json.conn == 'w' else 'mdi:wifi-off' }}"
# # - service: input_label.set_name
# # data_template:
# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_wifi"
# # value: "{{trigger.topic.split('/')[-1] | title }}'s phone wifi enabled?"
# - service: input_label.set_value
# data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"
# value: "{{ trigger.payload_json.batt | int }}"
# - service: input_label.set_name
# data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"
# value: "{{trigger.topic.split('/')[-1] | title }}'s Battery"
# - service: input_label.set_icon
# data_template:
# entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"
# value: >
# {% set battery_level = trigger.payload_json.batt | int %}
# {% set battery_round = (battery_level / 10)|int * 10 %}
# {% if trigger.payload_json.charging == 1 %}
# {% if battery_round >= 100 %}
# mdi:battery-charging-100
# {% elif battery_round > 0 %}
# mdi:battery-charging-{{ battery_round }}
# {% else %}
# mdi:battery-alert
# {% endif %}
# {% else %}
# {% if battery_round >= 100 %}
# mdi:battery
# {% elif battery_round > 0 %}
# mdi:battery-{{ battery_round }}
# {% else %}
# mdi:battery-alert
# {% endif %}
# {% endif %}
# # - service: input_label.set_value
# # data_template:
# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"
# # value: "{{ trigger.payload_json.batt | int }}"
# # - service: input_label.set_name
# # data_template:
# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"
# # value: "{{trigger.topic.split('/')[-1] | title }}'s Battery"
# # - service: input_label.set_icon
# # data_template:
# # entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"
# # value: >
# # {% set battery_level = trigger.payload_json.batt | int %}
# # {% set battery_round = (battery_level / 10)|int * 10 %}
# # {% if trigger.payload_json.charging == 1 %}
# # {% if battery_round >= 100 %}
# # mdi:battery-charging-100
# # {% elif battery_round > 0 %}
# # mdi:battery-charging-{{ battery_round }}
# # {% else %}
# # mdi:battery-alert
# # {% endif %}
# # {% else %}
# # {% if battery_round >= 100 %}
# # mdi:battery
# # {% elif battery_round > 0 %}
# # mdi:battery-{{ battery_round }}
# # {% else %}
# # mdi:battery-alert
# # {% endif %}
# # {% endif %}
- alias: Update Phone Battery Levels From Life360
initial_state: true
trigger:
- platform: event
event_type: state_changed
condition:
- condition: template
value_template: "{{ trigger.event.data.entity_id is not none }}"
- condition: template
value_template: "{{ 'life360_' in trigger.event.data.entity_id }}"
- condition: template
value_template: "{{ trigger.event.data.new_state.attributes is not none }}"
action:
- service: input_label.set_name
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
value: "{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] |title -}}'s Battery"
- service: input_label.set_value
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
value: "{{ trigger.event.data.new_state.attributes.battery }}"
- service: input_label.set_icon
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
value: >
{% set battery_level = trigger.event.data.new_state.attributes.battery | int %}
{% set battery_round = (battery_level / 10)|int * 10 %}
{% if trigger.event.data.new_state.attributes.battery_charging == "true" %}
{% if battery_round >= 100 %}
mdi:battery-charging-100
{% elif battery_round > 0 %}
mdi:battery-charging-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
{% else %}
{% if battery_round >= 100 %}
mdi:battery
{% elif battery_round > 0 %}
mdi:battery-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
{% endif %}
- service: input_label.set_value
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_wifi"
value: "{{ 'WiFi' if trigger.event.data.new_state.attributes.wifi_on |string |lower == 'true' else 'LTE' }}"
- service: input_label.set_value
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging"
value: "{{ 'Charging' if trigger.event.data.new_state.attributes.battery_charging |string |lower == 'true' else 'Not Charging' }}"
- service: input_label.set_icon
data_template:
entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging"
value: >
{% set battery_level = trigger.event.data.new_state.attributes.battery | int %}
{% set battery_round = (battery_level / 10)|int * 10 %}
{% if trigger.event.data.new_state.attributes.battery_charging == "true" %}
{% if battery_round >= 100 %}
mdi:battery-charging-100
{% elif battery_round > 0 %}
mdi:battery-charging-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
{% else %}
{% if battery_round >= 100 %}
mdi:battery
{% elif battery_round > 0 %}
mdi:battery-{{ battery_round }}
{% else %}
mdi:battery-alert
{% endif %}
{% endif %}
# - alias: Update Phone Battery Levels From Life360
# initial_state: true
# trigger:
# - platform: event
# event_type: state_changed
# condition:
# - condition: template
# value_template: "{{ trigger.event.data.entity_id is not none }}"
# - condition: template
# value_template: "{{ 'life360_' in trigger.event.data.entity_id }}"
# - condition: template
# value_template: "{{ trigger.event.data.new_state.attributes is not none }}"
# action:
# - service: input_label.set_name
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
# value: "{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] |title -}}'s Battery"
# - service: input_label.set_value
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
# value: "{{ trigger.event.data.new_state.attributes.battery }}"
# - service: input_label.set_icon
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_battery"
# value: >
# {% set battery_level = trigger.event.data.new_state.attributes.battery | int %}
# {% set battery_round = (battery_level / 10)|int * 10 %}
# {% if trigger.event.data.new_state.attributes.battery_charging == "true" %}
# {% if battery_round >= 100 %}
# mdi:battery-charging-100
# {% elif battery_round > 0 %}
# mdi:battery-charging-{{ battery_round }}
# {% else %}
# mdi:battery-alert
# {% endif %}
# {% else %}
# {% if battery_round >= 100 %}
# mdi:battery
# {% elif battery_round > 0 %}
# mdi:battery-{{ battery_round }}
# {% else %}
# mdi:battery-alert
# {% endif %}
# {% endif %}
# - service: input_label.set_value
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_wifi"
# value: "{{ 'WiFi' if trigger.event.data.new_state.attributes.wifi_on |string |lower == 'true' else 'LTE' }}"
# - service: input_label.set_value
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging"
# value: "{{ 'Charging' if trigger.event.data.new_state.attributes.battery_charging |string |lower == 'true' else 'Not Charging' }}"
# - service: input_label.set_icon
# data_template:
# entity_id: "input_label.{{- trigger.event.data.entity_id.split('.')[1].split('_')[1] -}}_charging"
# value: >
# {% set battery_level = trigger.event.data.new_state.attributes.battery | int %}
# {% set battery_round = (battery_level / 10)|int * 10 %}
# {% if trigger.event.data.new_state.attributes.battery_charging == "true" %}
# {% if battery_round >= 100 %}
# mdi:battery-charging-100
# {% elif battery_round > 0 %}
# mdi:battery-charging-{{ battery_round }}
# {% else %}
# mdi:battery-alert
# {% endif %}
# {% else %}
# {% if battery_round >= 100 %}
# mdi:battery
# {% elif battery_round > 0 %}
# mdi:battery-{{ battery_round }}
# {% else %}
# mdi:battery-alert
# {% endif %}
# {% endif %}

View File

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