micor changes and clean up.

This commit is contained in:
Mahasri Kalavala 2019-12-20 10:32:28 -05:00
parent a3c869e9e8
commit 87961b393c
45 changed files with 1628 additions and 1728 deletions

View File

@ -27,33 +27,33 @@ homeassistant:
sun: sun:
alexa: alexa:
config: config:
cloud: # cloud:
alexa: # alexa:
filter: # filter:
include_entities: # include_entities:
- light.family_room # - light.family_room
- light.master_bedroom # - light.master_bedroom
- light.gateway_light_34ce008ad65d # - light.gateway_light_34ce008ad65d
- switch.basement_left # - switch.basement_left
- switch.basement_right # - switch.basement_right
- switch.frontyard_light # - switch.frontyard_light
- switch.garage_lights # - switch.garage_lights
- switch.guest_bedroom # - switch.guest_bedroom
- switch.prayer_room # - switch.prayer_room
- switch.kids_bed_accent # - switch.kids_bed_accent
- switch.kids_bedroom # - switch.kids_bedroom
- switch.kitchen # - switch.kitchen
- switch.office_room # - switch.office_room
- switch.wemobackyardlightswitch # - switch.wemobackyardlightswitch
- switch.wemoswitch1 # - switch.wemoswitch1
include_domains: # include_domains:
- light # - light
- switch # - switch
entity_config: # entity_config:
light.gateway_light_34ce008ad65d: # light.gateway_light_34ce008ad65d:
name: Gateway Light # name: Gateway Light
description: Xiaomi Gateway Light # description: Xiaomi Gateway Light
discovery: discovery:
@ -71,14 +71,15 @@ homekit:
- binary_sensor.single_car_garage_door_tilt_sensor_sensor - binary_sensor.single_car_garage_door_tilt_sensor_sensor
- binary_sensor.two_car_garage_door_tilt_sensor_sensor - binary_sensor.two_car_garage_door_tilt_sensor_sensor
map: mobile_app:
updater: # map:
logbook: # updater:
history: # logbook:
# history:
websocket_api: websocket_api:
python_script: python_script:
recorder: # recorder:
db_url: !secret my_sql_url # db_url: !secret my_sql_url
logger: !include logging.yaml logger: !include logging.yaml
zeroconf: zeroconf:
@ -104,32 +105,6 @@ binary_sensor:
- platform: workday - platform: workday
country: US country: US
person:
- name: Suresh
id: suresh
device_trackers:
- device_tracker.suresh
- device_tracker.suresh_kalavala
- device_tracker.tesla_model_3_5yj3e1ea8jf010610_location_tracker
- name: Mallika
id: mallika
device_trackers:
- device_tracker.mallika
- device_tracker.life360_mallika
- name: Srinika
id: srinika
device_trackers:
- device_tracker.srinika
- device_tracker.life360_srinika
- name: Hasika
id: hasika
device_trackers:
- device_tracker.hasika
- device_tracker.life360_hasika
lovelace: lovelace:
mode: yaml mode: yaml

View File

@ -105,17 +105,17 @@ cards:
- script.emergency_script - script.emergency_script
- script.emergency_script_loop - script.emergency_script_loop
- type: horizontal-stack # - type: horizontal-stack
cards: # cards:
- type: glance # - type: glance
entities: # entities:
- input_label.mallika_birthday_days2go # - input_label.mallika_birthday_days2go
- type: glance # - type: glance
entities: # entities:
- input_label.srinika_birthday_days2go # - input_label.srinika_birthday_days2go
- type: glance # - type: glance
entities: # entities:
- input_label.hasika_birthday_days2go # - input_label.hasika_birthday_days2go
- type: entity-filter - type: entity-filter
title: Doors title: Doors
@ -184,15 +184,6 @@ cards:
- type: weather-forecast - type: weather-forecast
entity: weather.dark_sky entity: weather.dark_sky
- type: picture-entity
id: camera_ohio_doppler_weather
title: Ohio Doppler Weather
entity: camera.ohio_doppler_weather
camera_image: camera.ohio_doppler_weather
show_info: true
tap_action:
action: more-info
- type: conditional - type: conditional
conditions: conditions:
- entity: sensor.usps_mail - entity: sensor.usps_mail

View File

@ -7,7 +7,6 @@
############################################################################### ###############################################################################
homeassistant: homeassistant:
customize: customize:
automation.alarm_clock: automation.alarm_clock:
icon: mdi:alarm-check icon: mdi:alarm-check
@ -74,28 +73,28 @@ automation:
entity_id: input_label.alarm_current_time entity_id: input_label.alarm_current_time
data_template: data_template:
value: > value: >
{%- if states.input_number.slider_hours.state | int < 10 -%} {%- if states('input_number.slider_hours') | int < 10 -%}
{%- if states.input_number.slider_hours.state|int == 0 %} {%- if states('input_number.slider_hours') |int == 0 %}
12 12
{%- else -%} {%- else -%}
{{- 0 ~ states.input_number.slider_hours.state|int -}} {{- 0 ~ states('input_number.slider_hours') |int -}}
{%- endif -%} {%- endif -%}
{%- else -%} {%- else -%}
{{- states.input_number.slider_hours.state |int -}} {{- states('input_number.slider_hours') |int -}}
{% endif -%}: {% endif -%}:
{%- if states.input_number.slider_minutes.state | int < 10 -%} {%- if states('input_number.slider_minutes') | int < 10 -%}
{{- 0 ~ states.input_number.slider_minutes.state |int -}} {{- 0 ~ states('input_number.slider_minutes') |int -}}
{%- else -%} {%- else -%}
{{- states.input_number.slider_minutes.state|int -}} {{- states('input_number.slider_minutes') |int -}}
{%- endif -%}{%- if states.input_boolean.am.state == "on" %} AM{%- else %} PM{%- endif -%} {%- endif -%}{%- if states('input_boolean.am') == "on" %} AM{%- else %} PM{%- endif -%}
- alias: AM Change OFF - alias: AM Change OFF
initial_state: true initial_state: true
trigger: trigger:
platform: state platform: state
entity_id: input_boolean.am entity_id: input_boolean.am
from: 'on' from: "on"
to: 'off' to: "off"
action: action:
- service: input_boolean.turn_on - service: input_boolean.turn_on
entity_id: input_boolean.pm entity_id: input_boolean.pm
@ -107,8 +106,8 @@ automation:
trigger: trigger:
platform: state platform: state
entity_id: input_boolean.am entity_id: input_boolean.am
from: 'off' from: "off"
to: 'on' to: "on"
action: action:
- service: input_boolean.turn_off - service: input_boolean.turn_off
entity_id: input_boolean.pm entity_id: input_boolean.pm
@ -120,8 +119,8 @@ automation:
trigger: trigger:
platform: state platform: state
entity_id: input_boolean.pm entity_id: input_boolean.pm
from: 'on' from: "on"
to: 'off' to: "off"
action: action:
- service: input_boolean.turn_on - service: input_boolean.turn_on
entity_id: input_boolean.am entity_id: input_boolean.am
@ -133,8 +132,8 @@ automation:
trigger: trigger:
platform: state platform: state
entity_id: input_boolean.pm entity_id: input_boolean.pm
from: 'off' from: "off"
to: 'on' to: "on"
action: action:
- service: input_boolean.turn_off - service: input_boolean.turn_off
entity_id: input_boolean.am entity_id: input_boolean.am
@ -145,7 +144,7 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
minutes: '/1' minutes: "/1"
seconds: 00 seconds: 00
condition: condition:
- condition: template - condition: template

View File

@ -32,7 +32,6 @@
############################################################################### ###############################################################################
automation: automation:
- alias: UPS State Change - alias: UPS State Change
initial_state: true initial_state: true
trigger: trigger:
@ -52,14 +51,14 @@
trigger: trigger:
- platform: state - platform: state
entity_id: sensor.ups_status entity_id: sensor.ups_status
from: 'ONLINE' from: "ONLINE"
to: 'ONBATT' to: "ONBATT"
action: action:
- service: script.notify_me - service: script.notify_me
data_template: data_template:
message: message:
Power failure at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %B-%d,%Y', true) }}. 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.state }} minutes. Battery can last for {{ states('sensor.ups_time_left') }} minutes.
# # Power Restored Notification # # Power Restored Notification
# ############################################################################### # ###############################################################################
@ -68,11 +67,11 @@
trigger: trigger:
- platform: state - platform: state
entity_id: sensor.ups_status entity_id: sensor.ups_status
from: 'ONBATT' from: "ONBATT"
to: 'ONLINE' to: "ONLINE"
action: action:
- service: script.notify_me - service: script.notify_me
data_template: data_template:
message: message:
Power restored at {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %B-%d,%Y', true) }}. 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.state | int / 60 |float) }} minutes. Ran on battery for {{ "%0.2f" % (states('sensor.ups_time_on_battery') | int / 60 |float) }} minutes.

View File

@ -9,11 +9,11 @@ homeassistant:
timer: timer:
timer_bathroom_aroma: timer_bathroom_aroma:
duration: '00:30:00' duration: "00:30:00"
timer_downstairs_aroma: timer_downstairs_aroma:
duration: '01:00:00' duration: "01:00:00"
timer_upstairs_aroma: timer_upstairs_aroma:
duration: '01:00:00' duration: "01:00:00"
############################################################################### ###############################################################################
# _ _ _ # _ _ _
@ -26,7 +26,6 @@ timer:
############################################################################### ###############################################################################
automation: automation:
# #
# Automations to start timer when they are switched ON # Automations to start timer when they are switched ON
# #
@ -35,8 +34,8 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: switch.downstairs_fragrance entity_id: switch.downstairs_fragrance
from: 'off' from: "off"
to: 'on' to: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_bathroom_aroma entity_id: timer.timer_bathroom_aroma
@ -46,8 +45,8 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: switch.downstairs_fragrance entity_id: switch.downstairs_fragrance
from: 'on' from: "on"
to: 'off' to: "off"
action: action:
- service: timer.finish - service: timer.finish
entity_id: timer.timer_bathroom_aroma entity_id: timer.timer_bathroom_aroma
@ -57,8 +56,8 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: switch.downstairs_fragrance entity_id: switch.downstairs_fragrance
from: 'off' from: "off"
to: 'on' to: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_downstairs_aroma entity_id: timer.timer_downstairs_aroma
@ -68,8 +67,8 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: switch.downstairs_fragrance entity_id: switch.downstairs_fragrance
from: 'on' from: "on"
to: 'off' to: "off"
action: action:
- service: timer.finish - service: timer.finish
entity_id: timer.timer_downstairs_aroma entity_id: timer.timer_downstairs_aroma
@ -79,8 +78,8 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: switch.upstairs_fragrance entity_id: switch.upstairs_fragrance
from: 'off' from: "off"
to: 'on' to: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_upstairs_aroma entity_id: timer.timer_upstairs_aroma
@ -90,8 +89,8 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: switch.upstairs_fragrance entity_id: switch.upstairs_fragrance
from: 'on' from: "on"
to: 'off' to: "off"
action: action:
- service: timer.finish - service: timer.finish
entity_id: timer.timer_upstairs_aroma entity_id: timer.timer_upstairs_aroma
@ -138,9 +137,9 @@ automation:
- alias: Turn On Upstairs Aroma - alias: Turn On Upstairs Aroma
trigger: trigger:
- platform: time - platform: time
at: '08:00:00' at: "08:00:00"
- platform: time - platform: time
at: '20:00:00' at: "20:00:00"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.upstairs_fragrance entity_id: switch.upstairs_fragrance
@ -148,7 +147,7 @@ automation:
- alias: Turn On Downstairs Aroma - alias: Turn On Downstairs Aroma
trigger: trigger:
- platform: time - platform: time
at: '17:00:00' at: "17:00:00"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.downstairs_fragrance entity_id: switch.downstairs_fragrance

View File

@ -7,7 +7,6 @@ homeassistant:
friendly_name: All Indoor Lights & Switches OFF friendly_name: All Indoor Lights & Switches OFF
script: script:
home_mode_away: home_mode_away:
sequence: sequence:
- service: script.all_indoor_lights_off - service: script.all_indoor_lights_off
@ -16,7 +15,7 @@ script:
- service: climate.set_away_mode - service: climate.set_away_mode
data: data:
entity_id: climate.dining_room entity_id: climate.dining_room
away_mode: 'true' away_mode: "true"
- service: alarm_control_panel.alarm_arm_away - service: alarm_control_panel.alarm_arm_away
data: data:
entity_id: alarm_control_panel.simplisafe entity_id: alarm_control_panel.simplisafe
@ -35,7 +34,7 @@ script:
- service: notify.notify_smtp - service: notify.notify_smtp
data_template: data_template:
title: 'Indoor Pictures {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}' 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.' message: "No one seem to be home at the moment... Please see the images and make sure everything is okay."
data: data:
images: images:
- "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg" - "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg"

View File

@ -187,7 +187,7 @@ sensor:
{% if states('sensor.suresh_iphone_battery_ot') != "unknown" %} {% if states('sensor.suresh_iphone_battery_ot') != "unknown" %}
{% set battery_level = states('sensor.suresh_iphone_battery_ot')|int (-1)%} {% set battery_level = states('sensor.suresh_iphone_battery_ot')|int (-1)%}
{% set battery_round = (battery_level|int / 10)|int * 10 %} {% set battery_round = (battery_level|int / 10)|int * 10 %}
{% if states.sensor.suresh_iphone_battery_state.state | lower == "charging" %} {% if states('sensor.suresh_iphone_battery_state') | lower == "charging" %}
{% if battery_level == -1 %} {% if battery_level == -1 %}
mdi:battery-unknown mdi:battery-unknown
{% else %} {% else %}
@ -225,7 +225,7 @@ sensor:
{% if states('sensor.mallika_iphone_battery_ot') != "unknown" %} {% if states('sensor.mallika_iphone_battery_ot') != "unknown" %}
{% set battery_level = states('sensor.mallika_iphone_battery_ot')|int (-1)%} {% set battery_level = states('sensor.mallika_iphone_battery_ot')|int (-1)%}
{% set battery_round = (battery_level|int / 10)|int * 10 %} {% set battery_round = (battery_level|int / 10)|int * 10 %}
{% if states.sensor.mallika_iphone_battery_state.state | lower == "charging" %} {% if states('sensor.mallika_iphone_battery_state') | lower == "charging" %}
{% if battery_level == -1 %} {% if battery_level == -1 %}
mdi:battery-unknown mdi:battery-unknown
{% else %} {% else %}
@ -263,7 +263,7 @@ sensor:
{% if states('sensor.srinika_iphone_battery_ot') != "unknown" %} {% if states('sensor.srinika_iphone_battery_ot') != "unknown" %}
{% set battery_level = states('sensor.srinika_iphone_battery_ot')|int (-1)%} {% set battery_level = states('sensor.srinika_iphone_battery_ot')|int (-1)%}
{% set battery_round = (battery_level|int / 10)|int * 10 %} {% set battery_round = (battery_level|int / 10)|int * 10 %}
{% if states.sensor.srinika_iphone_battery_state.state | lower == "charging" %} {% if states('sensor.srinika_iphone_battery_state') | lower == "charging" %}
{% if battery_level == -1 %} {% if battery_level == -1 %}
mdi:battery-unknown mdi:battery-unknown
{% else %} {% else %}
@ -301,7 +301,7 @@ sensor:
{% if states('sensor.hasika_iphone_battery_ot') != "unknown" %} {% if states('sensor.hasika_iphone_battery_ot') != "unknown" %}
{% set battery_level = states('sensor.hasika_iphone_battery_ot')|int (-1)%} {% set battery_level = states('sensor.hasika_iphone_battery_ot')|int (-1)%}
{% set battery_round = (battery_level|int / 10)|int * 10 %} {% set battery_round = (battery_level|int / 10)|int * 10 %}
{% if states.sensor.hasika_iphone_battery_state.state | lower == "charging" %} {% if states('sensor.hasika_iphone_battery_state') | lower == "charging" %}
{% if battery_level == -1 %} {% if battery_level == -1 %}
mdi:battery-unknown mdi:battery-unknown
{% else %} {% else %}
@ -364,9 +364,9 @@ automation:
true true
{%- endif -%} {%- endif -%}
- condition: template - condition: template
value_template: "{{ states.input_boolean.home_mode_away.state == 'off' }}" value_template: "{{ states('input_boolean.home_mode_away') == 'off' }}"
- condition: template - condition: template
value_template: "{{ states.alarm_control_panel.simplisafe.state | lower != 'armed_away' }}" value_template: "{{ states('alarm_control_panel.simplisafe') | lower != 'armed_away' }}"
action: action:
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
@ -395,7 +395,7 @@ automation:
below: 25 below: 25
condition: condition:
- condition: template - condition: template
value_template: '{{ states.input_boolean.battery_notifications.state == "on" }}' value_template: "{{ states('input_boolean.battery_notifications') == 'on' }}"
action: action:
- service: script.notify_me - service: script.notify_me
data_template: data_template:

View File

@ -1,6 +1,5 @@
homeassistant: homeassistant:
sensor: sensor:
- platform: mqtt - platform: mqtt
name: "Master Bed Sensor" name: "Master Bed Sensor"

View File

@ -61,7 +61,6 @@ input_label:
############################################################################### ###############################################################################
automation: automation:
############################################################################### ###############################################################################
# Build the excitement # Build the excitement
############################################################################### ###############################################################################
@ -76,7 +75,7 @@ automation:
condition: condition:
- condition: state - condition: state
entity_id: group.all_devices entity_id: group.all_devices
state: 'home' state: "home"
- condition: template - condition: template
value_template: "{{ trigger.to_state.state | int > 0 and trigger.to_state.state | int < 30 }}" value_template: "{{ trigger.to_state.state | int > 0 and trigger.to_state.state | int < 30 }}"
action: action:
@ -98,7 +97,7 @@ automation:
condition: condition:
- condition: state - condition: state
entity_id: group.all_devices entity_id: group.all_devices
state: 'home' state: "home"
- condition: template - condition: template
value_template: "{{ trigger.to_state.state | int == 0 }}" value_template: "{{ trigger.to_state.state | int == 0 }}"
action: action:
@ -113,7 +112,7 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
hours: '/1' hours: "/1"
minutes: 3 minutes: 3
seconds: 00 seconds: 00
condition: condition:
@ -121,18 +120,18 @@ automation:
conditions: conditions:
- condition: state - condition: state
entity_id: group.all_devices entity_id: group.all_devices
state: 'home' state: "home"
- condition: time - condition: time
after: '07:00:00' after: "07:00:00"
before: '21:00:00' before: "21:00:00"
- condition: or - condition: or
conditions: conditions:
- condition: template - condition: template
value_template: "{{ states.input_label.srinika_birthday_days2go.state | int == 0 }}" value_template: "{{ states('input_label.srinika_birthday_days2go') | int == 0 }}"
- condition: template - condition: template
value_template: "{{ states.input_label.hasika_birthday_days2go.state | int == 0 }}" value_template: "{{ states('input_label.hasika_birthday_days2go') | int == 0 }}"
- condition: template - condition: template
value_template: "{{ states.input_label.mallika_birthday_days2go.state | int == 0 }}" value_template: "{{ states('input_label.mallika_birthday_days2go') | int == 0 }}"
action: action:
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
@ -142,34 +141,34 @@ automation:
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
message: "Alexa, Sing Happy Birthday Song." message: "Alexa, Sing Happy Birthday Song."
greeting: 'no' greeting: "no"
- alias: Update Birthdays - alias: Update Birthdays
initial_state: true initial_state: true
trigger: trigger:
- platform: time_pattern - platform: time_pattern
minutes: '/5' minutes: "/5"
seconds: 00 seconds: 00
- platform: homeassistant - platform: homeassistant
event: start event: start
condition: condition:
- condition: template - condition: template
value_template: "{{ states.input_label.srinika_birthday.state.split('-') | length > 0 }}" value_template: "{{ states('input_label.srinika_birthday').split('-') | length > 0 }}"
- condition: template - condition: template
value_template: "{{ states.input_label.hasika_birthday.state.split('-') | length > 0 }}" value_template: "{{ states('input_label.hasika_birthday').split('-') | length > 0 }}"
- condition: template - condition: template
value_template: "{{ states.input_label.mallika_birthday.state.split('-') | length > 0 }}" value_template: "{{ states('input_label.mallika_birthday').split('-') | length > 0 }}"
action: action:
- service: input_label.set_value - service: input_label.set_value
data_template: data_template:
entity_id: input_label.srinika_birthday_days2go entity_id: input_label.srinika_birthday_days2go
value: > value: >
{% set year = states.sensor.date.state.split('-')[0] %} {% set year = states('sensor.date').split('-')[0] %}
{% set month = states.sensor.date.state.split('-')[1] %} {% set month = states('sensor.date').split('-')[1] %}
{% set date = states.sensor.date.state.split('-')[2] %} {% set date = states('sensor.date').split('-')[2] %}
{% if states('input_label.srinika_birthday') != "unknown" %} {% if states('input_label.srinika_birthday') != "unknown" %}
{%- set bDayMonth = states.input_label.srinika_birthday.state.split('-')[0] -%} {%- set bDayMonth = states('input_label.srinika_birthday').split('-')[0] -%}
{%- set bDayDate = states.input_label.srinika_birthday.state.split('-')[1] -%} {%- set bDayDate = states('input_label.srinika_birthday').split('-')[1] -%}
{%- set numOfDays = ((as_timestamp(strptime(year ~ '-' ~ bDayMonth ~ '-' ~ bDayDate , '%Y-%m-%d')) | timestamp_custom('%j', true) | int ) - (as_timestamp(strptime(year ~ '-' ~ month~ '-' ~ date , '%Y-%m-%d')) | timestamp_custom('%j', true) | int)) -%} {%- set numOfDays = ((as_timestamp(strptime(year ~ '-' ~ bDayMonth ~ '-' ~ bDayDate , '%Y-%m-%d')) | timestamp_custom('%j', true) | int ) - (as_timestamp(strptime(year ~ '-' ~ month~ '-' ~ date , '%Y-%m-%d')) | timestamp_custom('%j', true) | int)) -%}
{%- if numOfDays < 0 -%} {%- if numOfDays < 0 -%}
{{ numOfDays + 365 }} {{ numOfDays + 365 }}
@ -183,12 +182,12 @@ automation:
data_template: data_template:
entity_id: input_label.hasika_birthday_days2go entity_id: input_label.hasika_birthday_days2go
value: > value: >
{% set year = states.sensor.date.state.split('-')[0] %} {% set year = states('sensor.date').split('-')[0] %}
{% set month = states.sensor.date.state.split('-')[1] %} {% set month = states('sensor.date').split('-')[1] %}
{% set date = states.sensor.date.state.split('-')[2] %} {% set date = states('sensor.date').split('-')[2] %}
{% if states('input_label.hasika_birthday') != "unknown" %} {% if states('input_label.hasika_birthday') != "unknown" %}
{%- set bDayMonth = states.input_label.hasika_birthday.state.split('-')[0] -%} {%- set bDayMonth = states('input_label.hasika_birthday').split('-')[0] -%}
{%- set bDayDate = states.input_label.hasika_birthday.state.split('-')[1] -%} {%- set bDayDate = states('input_label.hasika_birthday').split('-')[1] -%}
{%- set numOfDays = ((as_timestamp(strptime(year ~ '-' ~ bDayMonth ~ '-' ~ bDayDate , '%Y-%m-%d')) | timestamp_custom('%j', true) | int ) - (as_timestamp(strptime(year ~ '-' ~ month~ '-' ~ date , '%Y-%m-%d')) | timestamp_custom('%j', true) | int)) -%} {%- set numOfDays = ((as_timestamp(strptime(year ~ '-' ~ bDayMonth ~ '-' ~ bDayDate , '%Y-%m-%d')) | timestamp_custom('%j', true) | int ) - (as_timestamp(strptime(year ~ '-' ~ month~ '-' ~ date , '%Y-%m-%d')) | timestamp_custom('%j', true) | int)) -%}
{%- if numOfDays < 0 -%} {%- if numOfDays < 0 -%}
{{ numOfDays + 365 }} {{ numOfDays + 365 }}
@ -202,12 +201,12 @@ automation:
data_template: data_template:
entity_id: input_label.mallika_birthday_days2go entity_id: input_label.mallika_birthday_days2go
value: > value: >
{% set year = states.sensor.date.state.split('-')[0] %} {% set year = states('sensor.date').split('-')[0] %}
{% set month = states.sensor.date.state.split('-')[1] %} {% set month = states('sensor.date').split('-')[1] %}
{% set date = states.sensor.date.state.split('-')[2] %} {% set date = states('sensor.date').split('-')[2] %}
{% if states('input_label.mallika_birthday') != "unknown" %} {% if states('input_label.mallika_birthday') != "unknown" %}
{%- set bDayMonth = states.input_label.mallika_birthday.state.split('-')[0] -%} {%- set bDayMonth = states('input_label.mallika_birthday').split('-')[0] -%}
{%- set bDayDate = states.input_label.mallika_birthday.state.split('-')[1] -%} {%- set bDayDate = states('input_label.mallika_birthday').split('-')[1] -%}
{%- set numOfDays = ((as_timestamp(strptime(year ~ '-' ~ bDayMonth ~ '-' ~ bDayDate , '%Y-%m-%d')) | timestamp_custom('%j', true) | int ) - (as_timestamp(strptime(year ~ '-' ~ month~ '-' ~ date , '%Y-%m-%d')) | timestamp_custom('%j', true) | int)) -%} {%- set numOfDays = ((as_timestamp(strptime(year ~ '-' ~ bDayMonth ~ '-' ~ bDayDate , '%Y-%m-%d')) | timestamp_custom('%j', true) | int ) - (as_timestamp(strptime(year ~ '-' ~ month~ '-' ~ date , '%Y-%m-%d')) | timestamp_custom('%j', true) | int)) -%}
{%- if numOfDays < 0 -%} {%- if numOfDays < 0 -%}
{{ numOfDays + 365 }} {{ numOfDays + 365 }}

View File

@ -363,8 +363,8 @@ automation:
- "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg" - "/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_latest.jpg"
- condition: template - condition: template
value_template: > value_template: >
{% if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" or {% if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" or
states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" %} states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" %}
True True
{% else %} {% else %}
False False
@ -442,8 +442,8 @@ automation:
- "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg" - "/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_latest.jpg"
- condition: template - condition: template
value_template: > value_template: >
{% if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" or {% if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" or
states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" %} states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" %}
True True
{% else %} {% else %}
False False
@ -475,8 +475,8 @@ automation:
entity_id: image_processing.tensorflow_garage_camera entity_id: image_processing.tensorflow_garage_camera
- condition: template - condition: template
value_template: > value_template: >
{% if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" or {% if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" or
states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" %} states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" %}
True True
{% else %} {% else %}
False False
@ -643,7 +643,7 @@ automation:
- condition: template - condition: template
value_template: "{{ states('alarm_control_panel.simplisafe') == 'armed_home' or states('alarm_control_panel.simplisafe') == 'armed_away' }}" value_template: "{{ states('alarm_control_panel.simplisafe') == 'armed_home' or states('alarm_control_panel.simplisafe') == 'armed_away' }}"
action: action:
- delay: "{{ '00:00:08' if states.binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor.state == 'on' else '0:0:0' }}" - delay: "{{ '00:00:08' if states('binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor') == 'on' else '0:0:0' }}"
- service: camera.snapshot - service: camera.snapshot
data_template: data_template:
entity_id: "camera.frontdoor_camera" entity_id: "camera.frontdoor_camera"
@ -681,7 +681,7 @@ automation:
(states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024ee084.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- condition: template - condition: template
value_template: "{{ states.device_tracker.life360_suresh.state == 'home' }}" value_template: "{{ states('device_tracker.life360_suresh') == 'home' }}"
- service: notify.ios_devices - service: notify.ios_devices
data_template: data_template:
message: "Check Front Door camera!" message: "Check Front Door camera!"
@ -751,7 +751,7 @@ automation:
(states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e57fb.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- condition: template - condition: template
value_template: "{{ states.device_tracker.life360_suresh.state == 'home' }}" value_template: "{{ states('device_tracker.life360_suresh') == 'home' }}"
- service: notify.ios_devices - service: notify.ios_devices
data_template: data_template:
message: "Check Driveway camera!" message: "Check Driveway camera!"
@ -822,7 +822,7 @@ automation:
(states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_') (states.binary_sensor.motion_sensor_158d00024e842c.last_updated ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- condition: template - condition: template
value_template: "{{ states.device_tracker.life360_suresh.state == 'home' }}" value_template: "{{ states('device_tracker.life360_suresh') == 'home' }}"
- service: notify.ios_devices - service: notify.ios_devices
data_template: data_template:
message: "Check Patio camera!" message: "Check Patio camera!"

View File

@ -1,358 +1,335 @@
# # #
# I COMMENTED OUT ALL THE TAGBOX RELATED STUFF AS I USE TENSORFLOW COMPONENT FOR IT. # # I COMMENTED OUT ALL THE TAGBOX RELATED STUFF AS I USE TENSORFLOW COMPONENT FOR IT.
# # #
homeassistant: # homeassistant:
customize: # customize:
image_processing.facebox_frontdoor_camera: # image_processing.facebox_frontdoor_camera:
friendly_name: People @ Front Door # friendly_name: People @ Front Door
image_processing.facebox_driveway_camera: # image_processing.facebox_driveway_camera:
friendly_name: People @ Driveway # friendly_name: People @ Driveway
image_processing.facebox_patio_camera: # image_processing.facebox_patio_camera:
friendly_name: People @ Patio # friendly_name: People @ Patio
image_processing.facebox_playarea_camera: # image_processing.facebox_playarea_camera:
friendly_name: People @ Playarea # friendly_name: People @ Playarea
image_processing.facebox_garage_camera: # image_processing.facebox_garage_camera:
friendly_name: People @ Garage # friendly_name: People @ Garage
image_processing.tagbox_frontdoor_camera: # image_processing.tagbox_frontdoor_camera:
friendly_name: Frontdoor Tag # friendly_name: Frontdoor Tag
image_processing.tagbox_driveway_camera: # image_processing.tagbox_driveway_camera:
friendly_name: Driveway Tag # friendly_name: Driveway Tag
image_processing.tagbox_playarea_camera: # image_processing.tagbox_playarea_camera:
friendly_name: Playarea Tag # friendly_name: Playarea Tag
image_processing.tagbox_patio_camera: # image_processing.tagbox_patio_camera:
friendly_name: Patio Tag # friendly_name: Patio Tag
image_processing.tagbox_garage_camera: # image_processing.tagbox_garage_camera:
friendly_name: Garage Tag # friendly_name: Garage Tag
sensor.frontdoor_camera_objects: # sensor.frontdoor_camera_objects:
friendly_name: Things At Front Door # friendly_name: Things At Front Door
sensor.driveway_camera_objects: # sensor.driveway_camera_objects:
friendly_name: Things At Driveway # friendly_name: Things At Driveway
sensor.playarea_camera_objects: # sensor.playarea_camera_objects:
friendly_name: Things At Playarea # friendly_name: Things At Playarea
sensor.patio_camera_objects: # sensor.patio_camera_objects:
friendly_name: Things At Patio # friendly_name: Things At Patio
sensor.garage_camera_objects: # sensor.garage_camera_objects:
friendly_name: Things in Garage # friendly_name: Things in Garage
sensor.frontdoor_camera_people: # sensor.frontdoor_camera_people:
friendly_name: People At Front Door # friendly_name: People At Front Door
sensor.driveway_camera_people: # sensor.driveway_camera_people:
friendly_name: People Driveway # friendly_name: People Driveway
sensor.playarea_camera_people: # sensor.playarea_camera_people:
friendly_name: People Playarea # friendly_name: People Playarea
sensor.patio_camera_people: # sensor.patio_camera_people:
friendly_name: People Patio # friendly_name: People Patio
sensor.garage_camera_people: # sensor.garage_camera_people:
friendly_name: Garage Patio # friendly_name: Garage Patio
image_processing: # image_processing:
- platform: facebox # - platform: facebox
ip_address: !secret ha_ip_address
scan_interval: 360
port: 8080
source:
- entity_id: camera.frontdoor_camera
- entity_id: camera.driveway_camera
- entity_id: camera.patio_camera
- entity_id: camera.playarea_camera
- entity_id: camera.garage_camera
# - platform: tagbox
# scan_interval: 10000 # Default 10
# ip_address: !secret ha_ip_address # ip_address: !secret ha_ip_address
# port: 8081 # scan_interval: 360
# port: 8080
# source: # source:
# - entity_id: camera.frontdoor_camera # - entity_id: camera.frontdoor_camera
# - entity_id: camera.driveway_camera # - entity_id: camera.driveway_camera
# - entity_id: camera.patio_camera # - entity_id: camera.patio_camera
# - entity_id: camera.playarea_camera # - entity_id: camera.playarea_camera
# - entity_id: camera.garage_camera # - entity_id: camera.garage_camera
# # - platform: tagbox
# # scan_interval: 10000 # Default 10
# # ip_address: !secret ha_ip_address
# # port: 8081
# # source:
# # - entity_id: camera.frontdoor_camera
# # - entity_id: camera.driveway_camera
# # - entity_id: camera.patio_camera
# # - entity_id: camera.playarea_camera
# # - entity_id: camera.garage_camera
sensor: # sensor:
##
#Facebox related sensors
##
- platform: template
sensors:
frontdoor_camera_people:
value_template: >-
{% set faces = state_attr('image_processing.facebox_frontdoor_camera', 'matched_faces') %}
{% if None != faces %}
{% if faces | list | count == 0 %}
Clear
{% else %}
{%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
{% endif %}
{% endif %}
icon_template: mdi:cctv
- platform: template
sensors:
driveway_camera_people:
value_template: >-
{% set faces = state_attr('image_processing.facebox_driveway_camera', 'matched_faces') %}
{% if None != faces %}
{% if faces | list | count == 0 %}
Clear
{% else %}
{%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
{% endif %}
{% endif %}
icon_template: mdi:cctv
- platform: template
sensors:
patio_camera_people:
value_template: >-
{% set faces = state_attr('image_processing.facebox_patio_camera', 'matched_faces') %}
{% if None != faces %}
{% if faces | list | count == 0 %}
Clear
{% else %}
{%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
{% endif %}
{% endif %}
icon_template: mdi:cctv
- platform: template
sensors:
playarea_camera_people:
value_template: >-
{% set faces = state_attr('image_processing.facebox_playarea_camera', 'matched_faces') %}
{% if None != faces %}
{% if faces | list | count == 0 %}
Clear
{% else %}
{%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
{% endif %}
{% endif %}
icon_template: mdi:cctv
- platform: template
sensors:
garage_camera_people:
value_template: >-
{% set faces = state_attr('image_processing.facebox_garage_camera', 'matched_faces') %}
{% if None != faces %}
{% if faces | list | count == 0 %}
Clear
{% else %}
{%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
{% endif %}
{% endif %}
icon_template: mdi:cctv
# ###########################################################################################################################
# # Tagbox related Sensors; Please don't go crazy looking at the code. Here is the simple explanation.
# # The tagbox gives a bunch of tags for each picture, and I eliminate a bunch of unwanted tags by filtering them out
# # The unwanted tags are something that I really don't care - like a Tree in the front yard.
# # Then I do custom mapping of the tags that fits my needs. That way I can display what I want rather than what I was given.
# # I have no control over what tagbox gives, I want to pick and choose tags irrespective of confidence level.
# ###########################################################################################################################
# ##
# #Facebox related sensors
# ##
# - platform: template # - platform: template
# sensors: # sensors:
# frontdoor_camera_objects: # frontdoor_camera_people:
# value_template: >- # value_template: >-
# {% set attribs = state_attr('image_processing.tagbox_frontdoor_camera', 'tags') %} # {% set faces = state_attr('image_processing.facebox_frontdoor_camera', 'matched_faces') %}
# {%- if None != attribs -%} # {% if None != faces %}
# {%- set tag_map = {'Vehicle':'Car', 'Sedan':'Car', 'Luxury vehicle':'Car', 'Driving':'Car', # {% if faces | list | count == 0 %}
# 'Wheel':'Car', 'Automotive design':'Car', 'Automotive exterior':'Car', # Clear
# 'Transport':'Car', 'Sports car':'Car', 'Land vehicle':'Car', 'Supercar':'Car', # {% else %}
# 'Waterway':'Rain', 'Super car': 'Car' # {%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
# } -%} # {% endif %}
# {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Car', 'Vehicle', 'Suburb', 'Street',
# 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Super car', 'Snow', 'Winter', 'Supercar',
# 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sport venue', 'Soil', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration',
# 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Drawing', 'Sketch', 'Stadium',
# 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Parking lot', 'Parking',
# 'Black', 'White', 'Darkness', 'Light', 'Text'] -%}
# {%- macro filter_unwanted(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# {%- macro mapped_items(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}
# {%- endfor -%}
# {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# {%- endmacro -%}
# {% macro get_final_output(output_list) %}
# {%- for x in output_list if x != "" -%}
# {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# {%- endfor -%}
# {% endmacro %}
# {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# {{- "Clear" if output |trim == "" else output -}}
# {% endif %} # {% endif %}
# icon_template: mdi:cctv # icon_template: mdi:cctv
# - platform: template # - platform: template
# sensors: # sensors:
# driveway_camera_objects: # driveway_camera_people:
# value_template: >- # value_template: >-
# {%- set attribs = state_attr('image_processing.tagbox_driveway_camera', 'tags') -%} # {% set faces = state_attr('image_processing.facebox_driveway_camera', 'matched_faces') %}
# {%- if None != attribs -%} # {% if None != faces %}
# {%- set tag_map = {'Vehicle':'Car', 'Sedan':'Car', 'Luxury vehicle':'Car', 'Driving':'Car', # {% if faces | list | count == 0 %}
# 'Wheel':'Car', 'Automotive design':'Car', 'Automotive exterior':'Car', # Clear
# 'Transport':'Car', 'Sports car':'Car', 'Land vehicle':'Car','Supercar':'Car', # {% else %}
# 'Waterway':'Rain', 'Super car': 'Car' # {%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
# } -%} # {% endif %}
# {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Car', 'Vehicle', 'Suburb', 'Street',
# 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Super car', 'Sport venue', 'Supercar',
# 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Snow', 'Winter', 'Soil', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration',
# 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Drawing', 'Sketch', 'Stadium',
# 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White',
# 'Black', 'White', 'Darkness', 'Light', 'Text'] -%}
# {%- macro filter_unwanted(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# {%- macro mapped_items(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}
# {%- endfor -%}
# {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# {%- endmacro -%}
# {% macro get_final_output(output_list) %}
# {%- for x in output_list if x != "" -%}
# {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# {%- endfor -%}
# {% endmacro %}
# {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# {{- "Clear" if output |trim == "" else output -}}
# {% endif %} # {% endif %}
# icon_template: mdi:cctv # icon_template: mdi:cctv
# - platform: template # - platform: template
# sensors: # sensors:
# patio_camera_objects: # patio_camera_people:
# value_template: >- # value_template: >-
# {% set attribs = state_attr('image_processing.tagbox_patio_camera', 'tags') %} # {% set faces = state_attr('image_processing.facebox_patio_camera', 'matched_faces') %}
# {%- if None != attribs -%} # {% if None != faces %}
# {%- set tag_map = {'Waterway':'Rain'} -%} # {% if faces | list | count == 0 %}
# {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Vehicle','Driving', 'Transport', 'Car', 'Vehicle', 'Suburb', 'Street', # Clear
# 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Car', 'Wheel', 'Sports car','Super car', 'Sport venue', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration', # {% else %}
# 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sedan', 'Automotive design', 'Snow', 'Winter', 'Soil', 'Stadium', # {%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
# 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Luxury vehicle', 'Automotive exterior', 'Drawing', 'Sketch', # {% endif %}
# 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Black', 'White', 'Light', 'Text'] -%}
# {%- macro filter_unwanted(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# {%- macro mapped_items(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}
# {%- endfor -%}
# {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# {%- endmacro -%}
# {% macro get_final_output(output_list) %}
# {%- for x in output_list if x != "" -%}
# {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# {%- endfor -%}
# {% endmacro %}
# {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# {{- "Clear" if output |trim == "" else output -}}
# {% endif %} # {% endif %}
# icon_template: mdi:cctv # icon_template: mdi:cctv
# - platform: template # - platform: template
# sensors: # sensors:
# playarea_camera_objects: # playarea_camera_people:
# value_template: >- # value_template: >-
# {% set attribs = state_attr('image_processing.tagbox_playarea_camera', 'tags') %} # {% set faces = state_attr('image_processing.facebox_playarea_camera', 'matched_faces') %}
# {%- if None != attribs -%} # {% if None != faces %}
# {%- set tag_map = {'Waterway':'Rain'} -%} # {% if faces | list | count == 0 %}
# {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Vehicle','Driving', 'Transport', 'Car', 'Vehicle', 'Suburb', 'Street', # Clear
# 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Car', 'Wheel', 'Sports car', 'Super car', 'Winter', 'Soil', 'Stadium', # {% else %}
# 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sedan', 'Automotive design', 'Snow', 'Sport venue', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration', # {%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
# 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Luxury vehicle', 'Automotive exterior', 'Drawing', 'Sketch', # {% endif %}
# 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Black', 'White', 'Light', 'Text'] -%}
# {%- macro filter_unwanted(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# {%- macro mapped_items(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}{%- endfor -%}
# {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# {%- endmacro -%}
# {% macro get_final_output(output_list) %}
# {%- for x in output_list if x != "" -%}
# {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# {%- endfor -%}
# {% endmacro %}
# {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# {{- "Clear" if output |trim == "" else output -}}
# {% endif %} # {% endif %}
# icon_template: mdi:cctv # icon_template: mdi:cctv
# - platform: template # - platform: template
# sensors: # sensors:
# garage_camera_objects: # garage_camera_people:
# value_template: >- # value_template: >-
# {% set attribs = state_attr('image_processing.tagbox_garage_camera', 'tags') %} # {% set faces = state_attr('image_processing.facebox_garage_camera', 'matched_faces') %}
# {%- if None != attribs -%} # {% if None != faces %}
# {%- set tag_map = {'Waterway':'Rain'} -%} # {% if faces | list | count == 0 %}
# {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Driving', 'Transport', 'Suburb', 'Street', # Clear
# 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Winter', 'Soil', 'Stadium', # {% else %}
# 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sedan', 'Automotive design', 'Snow', 'Sport venue', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration', # {%- for face in faces | list %}{%- if loop.first %}{% elif loop.last %} and {% else %}, {% endif -%}{{ face }}{%- endfor %}
# 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Luxury vehicle', 'Automotive exterior', 'Drawing', 'Sketch', # {% endif %}
# 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Black', 'White', 'Light', 'Text'] -%}
# {%- macro filter_unwanted(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# {%- macro mapped_items(tags) -%}
# {%- set comma = joiner(',') -%}
# {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}{%- endfor -%}
# {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# {%- endmacro -%}
# {% macro get_final_output(output_list) %}
# {%- for x in output_list if x != "" -%}
# {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# {%- endfor -%}
# {% endmacro %}
# {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# {{- "Clear" if output |trim == "" else output -}}
# {% endif %} # {% endif %}
# icon_template: mdi:cctv # icon_template: mdi:cctv
automation: # # ###########################################################################################################################
# # # Tagbox related Sensors; Please don't go crazy looking at the code. Here is the simple explanation.
# # # The tagbox gives a bunch of tags for each picture, and I eliminate a bunch of unwanted tags by filtering them out
# # # The unwanted tags are something that I really don't care - like a Tree in the front yard.
# # # Then I do custom mapping of the tags that fits my needs. That way I can display what I want rather than what I was given.
# # # I have no control over what tagbox gives, I want to pick and choose tags irrespective of confidence level.
# # ###########################################################################################################################
- alias: Alert Family Member Activity # # - platform: template
trigger: # # sensors:
- platform: state # # frontdoor_camera_objects:
entity_id: # # value_template: >-
- sensor.frontdoor_camera_people # # {% set attribs = state_attr('image_processing.tagbox_frontdoor_camera', 'tags') %}
- sensor.driveway_camera_people # # {%- if None != attribs -%}
- sensor.patio_camera_people # # {%- set tag_map = {'Vehicle':'Car', 'Sedan':'Car', 'Luxury vehicle':'Car', 'Driving':'Car',
- sensor.playarea_camera_people # # 'Wheel':'Car', 'Automotive design':'Car', 'Automotive exterior':'Car',
- sensor.garage_camera_people # # 'Transport':'Car', 'Sports car':'Car', 'Land vehicle':'Car', 'Supercar':'Car',
condition: # # 'Waterway':'Rain', 'Super car': 'Car'
- condition: template # # } -%}
value_template: "{{ states('input_boolean.notify_camera_alerts') == 'on' }}" # # {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Car', 'Vehicle', 'Suburb', 'Street',
- condition: template # # 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Super car', 'Snow', 'Winter', 'Supercar',
value_template: '{{ trigger.to_state.state | trim != "" and # # 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sport venue', 'Soil', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration',
trigger.to_state.state | lower | trim != "unknown" and # # 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Drawing', 'Sketch', 'Stadium',
trigger.to_state.state | lower | trim != "clear" }}' # # 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Parking lot', 'Parking',
action: # # 'Black', 'White', 'Darkness', 'Light', 'Text'] -%}
- service: script.notify_me # # {%- macro filter_unwanted(tags) -%}
data_template: # # {%- set comma = joiner(',') -%}
message: >- # # {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
{% set camera_name = states['camera'][trigger.entity_id.split('.')[1].split('_')[0] ~ '_camera'].attributes.friendly_name %} # # {%- macro mapped_items(tags) -%}
{{ trigger.to_state.state }} is at the {{ camera_name }}. # # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}
# # {%- endfor -%}
# # {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# # {%- endmacro -%}
# # {% macro get_final_output(output_list) %}
# # {%- for x in output_list if x != "" -%}
# # {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# # {%- endfor -%}
# # {% endmacro %}
# # {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# # {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# # {{- "Clear" if output |trim == "" else output -}}
# # {% endif %}
# # icon_template: mdi:cctv
# - alias: Alert Object Activity # # - platform: template
# # sensors:
# # driveway_camera_objects:
# # value_template: >-
# # {%- set attribs = state_attr('image_processing.tagbox_driveway_camera', 'tags') -%}
# # {%- if None != attribs -%}
# # {%- set tag_map = {'Vehicle':'Car', 'Sedan':'Car', 'Luxury vehicle':'Car', 'Driving':'Car',
# # 'Wheel':'Car', 'Automotive design':'Car', 'Automotive exterior':'Car',
# # 'Transport':'Car', 'Sports car':'Car', 'Land vehicle':'Car','Supercar':'Car',
# # 'Waterway':'Rain', 'Super car': 'Car'
# # } -%}
# # {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Car', 'Vehicle', 'Suburb', 'Street',
# # 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Super car', 'Sport venue', 'Supercar',
# # 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Snow', 'Winter', 'Soil', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration',
# # 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Drawing', 'Sketch', 'Stadium',
# # 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White',
# # 'Black', 'White', 'Darkness', 'Light', 'Text'] -%}
# # {%- macro filter_unwanted(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# # {%- macro mapped_items(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}
# # {%- endfor -%}
# # {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# # {%- endmacro -%}
# # {% macro get_final_output(output_list) %}
# # {%- for x in output_list if x != "" -%}
# # {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# # {%- endfor -%}
# # {% endmacro %}
# # {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# # {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# # {{- "Clear" if output |trim == "" else output -}}
# # {% endif %}
# # icon_template: mdi:cctv
# # - platform: template
# # sensors:
# # patio_camera_objects:
# # value_template: >-
# # {% set attribs = state_attr('image_processing.tagbox_patio_camera', 'tags') %}
# # {%- if None != attribs -%}
# # {%- set tag_map = {'Waterway':'Rain'} -%}
# # {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Vehicle','Driving', 'Transport', 'Car', 'Vehicle', 'Suburb', 'Street',
# # 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Car', 'Wheel', 'Sports car','Super car', 'Sport venue', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration',
# # 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sedan', 'Automotive design', 'Snow', 'Winter', 'Soil', 'Stadium',
# # 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Luxury vehicle', 'Automotive exterior', 'Drawing', 'Sketch',
# # 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Black', 'White', 'Light', 'Text'] -%}
# # {%- macro filter_unwanted(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# # {%- macro mapped_items(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}
# # {%- endfor -%}
# # {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# # {%- endmacro -%}
# # {% macro get_final_output(output_list) %}
# # {%- for x in output_list if x != "" -%}
# # {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# # {%- endfor -%}
# # {% endmacro %}
# # {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# # {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# # {{- "Clear" if output |trim == "" else output -}}
# # {% endif %}
# # icon_template: mdi:cctv
# # - platform: template
# # sensors:
# # playarea_camera_objects:
# # value_template: >-
# # {% set attribs = state_attr('image_processing.tagbox_playarea_camera', 'tags') %}
# # {%- if None != attribs -%}
# # {%- set tag_map = {'Waterway':'Rain'} -%}
# # {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Vehicle','Driving', 'Transport', 'Car', 'Vehicle', 'Suburb', 'Street',
# # 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Car', 'Wheel', 'Sports car', 'Super car', 'Winter', 'Soil', 'Stadium',
# # 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sedan', 'Automotive design', 'Snow', 'Sport venue', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration',
# # 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Luxury vehicle', 'Automotive exterior', 'Drawing', 'Sketch',
# # 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Black', 'White', 'Light', 'Text'] -%}
# # {%- macro filter_unwanted(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# # {%- macro mapped_items(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}{%- endfor -%}
# # {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# # {%- endmacro -%}
# # {% macro get_final_output(output_list) %}
# # {%- for x in output_list if x != "" -%}
# # {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# # {%- endfor -%}
# # {% endmacro %}
# # {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# # {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# # {{- "Clear" if output |trim == "" else output -}}
# # {% endif %}
# # icon_template: mdi:cctv
# # - platform: template
# # sensors:
# # garage_camera_objects:
# # value_template: >-
# # {% set attribs = state_attr('image_processing.tagbox_garage_camera', 'tags') %}
# # {%- if None != attribs -%}
# # {%- set tag_map = {'Waterway':'Rain'} -%}
# # {%- set unwanted_tags = ['Asphalt', 'Backyard', 'City', 'Estate', 'Flower', 'Garden', 'Grass', 'Tree', 'Driving', 'Transport', 'Suburb', 'Street',
# # 'Highway', 'Infrastructure', 'Lane', 'Lawn', 'Neighbourhood', 'Public space', 'Winter', 'Soil', 'Stadium',
# # 'Residential area', 'Road', 'Road surface', 'Sidewalk', 'Tarmac', 'Race track', 'Sedan', 'Automotive design', 'Snow', 'Sport venue', 'Outdoor structure', 'Cartoon', 'Poster', 'Illustration',
# # 'Transport', 'Walkway', 'Yard', 'Screenshot', 'Night', 'Lighting and Light', 'Luxury vehicle', 'Automotive exterior', 'Drawing', 'Sketch',
# # 'Black-and-white', 'Monochrome', 'Monochrome photography', 'Black and White', 'Black', 'White', 'Light', 'Text'] -%}
# # {%- macro filter_unwanted(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in unwanted_tags -%}{{- comma() -}}{{- item -}}{% endfor %}{%- endmacro -%}
# # {%- macro mapped_items(tags) -%}
# # {%- set comma = joiner(',') -%}
# # {%- for item in tags if item not in tag_map -%}{{- comma() -}}{{- item -}}{%- endfor -%}
# # {%- for item in tags if item in tag_map -%}{{- comma() -}}{{- tag_map[item] -}}{%- endfor -%}
# # {%- endmacro -%}
# # {% macro get_final_output(output_list) %}
# # {%- for x in output_list if x != "" -%}
# # {%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{- x -}}
# # {%- endfor -%}
# # {% endmacro %}
# # {%- set result = filter_unwanted(attribs| map(attribute='name')|list).split(',') -%}
# # {%- set output = get_final_output(mapped_items(result).split(',') | unique|list) -%}
# # {{- "Clear" if output |trim == "" else output -}}
# # {% endif %}
# # icon_template: mdi:cctv
# automation:
# - alias: Alert Family Member Activity
# trigger: # trigger:
# - platform: state # - platform: state
# entity_id: # entity_id:
# - sensor.frontdoor_camera_objects # - sensor.frontdoor_camera_people
# - sensor.driveway_camera_objects # - sensor.driveway_camera_people
# - sensor.patio_camera_objects # - sensor.patio_camera_people
# - sensor.playarea_camera_objects # - sensor.playarea_camera_people
# - sensor.garage_camera_objects # - sensor.garage_camera_people
# condition: # condition:
# - condition: template # - condition: template
# value_template: "{{ states('input_boolean.notify_camera_alerts') == 'on' }}" # value_template: "{{ states('input_boolean.notify_camera_alerts') == 'on' }}"
@ -365,45 +342,68 @@ automation:
# data_template: # data_template:
# message: >- # message: >-
# {% set camera_name = states['camera'][trigger.entity_id.split('.')[1].split('_')[0] ~ '_camera'].attributes.friendly_name %} # {% set camera_name = states['camera'][trigger.entity_id.split('.')[1].split('_')[0] ~ '_camera'].attributes.friendly_name %}
# {{ trigger.to_state.state }} detected at the {{ camera_name }}. # {{ trigger.to_state.state }} is at the {{ camera_name }}.
# # # - alias: Alert Object Activity
# This automation basically scans image and keeps a count of people from each camera view and notifies using iOS notification # # trigger:
# There is another automation that alerts in the house (using TTS) based on the data # # - platform: state
# # # entity_id:
- alias: Scan People and Objects # # - sensor.frontdoor_camera_objects
initial_state: true # # - sensor.driveway_camera_objects
trigger: # # - sensor.patio_camera_objects
- platform: state # # - sensor.playarea_camera_objects
entity_id: # # - sensor.garage_camera_objects
- binary_sensor.frontdoor_camera_motion # # condition:
- binary_sensor.driveway_camera_motion # # - condition: template
- binary_sensor.patio_camera_motion # # value_template: "{{ states('input_boolean.notify_camera_alerts') == 'on' }}"
- binary_sensor.playarea_camera_motion # # - condition: template
- binary_sensor.frontdoor_camera_field_detection # # value_template: '{{ trigger.to_state.state | trim != "" and
- binary_sensor.driveway_camera_field_detection # # trigger.to_state.state | lower | trim != "unknown" and
- binary_sensor.patio_camera_field_detection # # trigger.to_state.state | lower | trim != "clear" }}'
- binary_sensor.playarea_camera_field_detection # # action:
- binary_sensor.frontdoor_camera_line_crossing # # - service: script.notify_me
- binary_sensor.driveway_camera_line_crossing # # data_template:
- binary_sensor.patio_camera_line_crossing # # message: >-
- binary_sensor.playarea_camera_line_crossing # # {% set camera_name = states['camera'][trigger.entity_id.split('.')[1].split('_')[0] ~ '_camera'].attributes.friendly_name %}
- binary_sensor.garage_motion # # {{ trigger.to_state.state }} detected at the {{ camera_name }}.
to: 'on'
condition: # #
- condition: template # # This automation basically scans image and keeps a count of people from each camera view and notifies using iOS notification
value_template: "{{ states('input_boolean.notify_camera_alerts') == 'on' }}" # # There is another automation that alerts in the house (using TTS) based on the data
- condition: template # #
value_template: > # - alias: Scan People and Objects
{% macro last_triggered(entity) %} # initial_state: true
{% set time_in_seconds = 30 %} # trigger:
{{ ( (as_timestamp(now()) - as_timestamp(states["binary_sensor"][entity].attributes.last_tripped_time)))|round|abs < time_in_seconds }} # - platform: state
{% endmacro %} # entity_id:
{{ last_triggered(trigger.entity_id.split('.')[1].split('_')[0] ~ '_camera_motion')}} # - binary_sensor.frontdoor_camera_motion
action: # - binary_sensor.driveway_camera_motion
- service: image_processing.scan # - binary_sensor.patio_camera_motion
data_template: # - binary_sensor.playarea_camera_motion
entity_id: "image_processing.facebox_{{- trigger.entity_id.split('.')[1].split('_')[0] -}}_camera" # - binary_sensor.frontdoor_camera_field_detection
# - binary_sensor.driveway_camera_field_detection
# - binary_sensor.patio_camera_field_detection
# - binary_sensor.playarea_camera_field_detection
# - binary_sensor.frontdoor_camera_line_crossing
# - binary_sensor.driveway_camera_line_crossing
# - binary_sensor.patio_camera_line_crossing
# - binary_sensor.playarea_camera_line_crossing
# - binary_sensor.garage_motion
# to: 'on'
# condition:
# - condition: template
# value_template: "{{ states('input_boolean.notify_camera_alerts') == 'on' }}"
# - condition: template
# value_template: >
# {% macro last_triggered(entity) %}
# {% set time_in_seconds = 30 %}
# {{ ( (as_timestamp(now()) - as_timestamp(states["binary_sensor"][entity].attributes.last_tripped_time)))|round|abs < time_in_seconds }}
# {% endmacro %}
# {{ last_triggered(trigger.entity_id.split('.')[1].split('_')[0] ~ '_camera_motion')}}
# action:
# - service: image_processing.scan # - service: image_processing.scan
# data_template: # data_template:
# entity_id: "image_processing.tagbox_{{- trigger.entity_id.split('.')[1].split('_')[0] -}}_camera" # entity_id: "image_processing.facebox_{{- trigger.entity_id.split('.')[1].split('_')[0] -}}_camera"
# # - service: image_processing.scan
# # data_template:
# # entity_id: "image_processing.tagbox_{{- trigger.entity_id.split('.')[1].split('_')[0] -}}_camera"

View File

@ -6,7 +6,6 @@
############################################################################### ###############################################################################
automation: automation:
# ÛÛÛÛÛÛ ÛÛÛÛÛÛ ÛÛÛ # ÛÛÛÛÛÛ ÛÛÛÛÛÛ ÛÛÛ
# °°ÛÛÛÛÛÛ ÛÛÛÛÛÛ °°° # °°ÛÛÛÛÛÛ ÛÛÛÛÛÛ °°°
# °ÛÛÛ°ÛÛÛÛÛ°ÛÛÛ ÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ # °ÛÛÛ°ÛÛÛÛÛ°ÛÛÛ ÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛ ÛÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ
@ -25,19 +24,19 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
minutes: '/5' minutes: "/5"
seconds: 00 seconds: 00
condition: condition:
- condition: state - condition: state
entity_id: 'binary_sensor.workday_sensor' entity_id: "binary_sensor.workday_sensor"
state: 'on' state: "on"
- condition: template - condition: template
value_template: '{{ states.sensor.wakeup_hour.state |int == now().hour |int }}' value_template: "{{ states('sensor.wakeup_hour') |int == now().hour |int }}"
- condition: template - condition: template
value_template: '{{ states.sensor.wakeup_minute.state|int == now().minute|int }}' value_template: "{{ states('sensor.wakeup_minute') |int == now().minute|int }}"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: switch.turn_on - service: switch.turn_on
data: data:
@ -51,19 +50,19 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
minutes: '/5' minutes: "/5"
seconds: 00 seconds: 00
condition: condition:
- condition: state - condition: state
entity_id: 'binary_sensor.workday_sensor' entity_id: "binary_sensor.workday_sensor"
state: 'on' state: "on"
- condition: template - condition: template
value_template: '{{ states.sensor.wakeup_hour.state |int == now().hour|int }}' value_template: "{{ states('sensor.wakeup_hour') |int == now().hour|int }}"
- condition: template - condition: template
value_template: '{{ now().minute | int == (states.sensor.wakeup_minute.state | int + 10) }}' value_template: "{{ now().minute | int == (states('sensor.wakeup_minute') | int + 10) }}"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -76,19 +75,19 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
minutes: '/5' minutes: "/5"
seconds: 00 seconds: 00
condition: condition:
- condition: state - condition: state
entity_id: 'binary_sensor.workday_sensor' entity_id: "binary_sensor.workday_sensor"
state: 'on' state: "on"
- condition: template - condition: template
value_template: '{{ states.sensor.wakeup_hour.state|int == now().hour|int }}' value_template: "{{ states('sensor.wakeup_hour') |int == now().hour|int }}"
- condition: template - condition: template
value_template: '{{ now().minute|int == (states.sensor.wakeup_minute.state|int + 15) }}' value_template: "{{ now().minute|int == (states('sensor.wakeup_minute') |int + 15) }}"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_off - service: light.turn_off
data: data:
@ -102,11 +101,11 @@ automation:
trigger: trigger:
platform: sun platform: sun
event: sunrise event: sunrise
offset: '00:15:00' offset: "00:15:00"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: switch.turn_off - service: switch.turn_off
entity_id: switch.frontyard_light entity_id: switch.frontyard_light
@ -120,19 +119,19 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
minutes: '/5' minutes: "/5"
seconds: 00 seconds: 00
condition: condition:
- condition: state - condition: state
entity_id: 'binary_sensor.workday_sensor' entity_id: "binary_sensor.workday_sensor"
state: 'on' state: "on"
- condition: template - condition: template
value_template: '{{ now().hour|int == (states.sensor.wakeup_hour.state|int + 3) }}' value_template: "{{ now().hour|int == (states('sensor.wakeup_hour') |int + 3) }}"
- condition: template - condition: template
value_template: '{{ states.sensor.wakeup_minute.state|int == now().minute|int }}' value_template: "{{ states('sensor.wakeup_minute') |int == now().minute|int }}"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: switch.turn_off - service: switch.turn_off
entity_id: switch.kitchen entity_id: switch.kitchen
@ -156,11 +155,11 @@ automation:
trigger: trigger:
platform: sun platform: sun
event: sunset event: sunset
offset: '+00:00:00' offset: "+00:00:00"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.frontyard_light entity_id: switch.frontyard_light
@ -175,14 +174,14 @@ automation:
trigger: trigger:
platform: sun platform: sun
event: sunset event: sunset
offset: '-00:30:00' offset: "-00:30:00"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
- condition: state - condition: state
entity_id: input_boolean.movie_time entity_id: input_boolean.movie_time
state: 'off' state: "off"
action: action:
- service: switch.turn_on - service: switch.turn_on
data: data:
@ -238,19 +237,19 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
minutes: '/5' minutes: "/5"
seconds: 00 seconds: 00
condition: condition:
- condition: template - condition: template
value_template: '{{ states.sensor.bedtime_hour.state|int == now().hour|int }}' value_template: "{{ states('sensor.bedtime_hour') |int == now().hour|int }}"
- condition: template - condition: template
value_template: '{{ (states.sensor.bedtime_minute.state|int - 15 ) == now().minute|int }}' value_template: "{{ (states('sensor.bedtime_minute') |int - 15 ) == now().minute|int }}"
- condition: state - condition: state
entity_id: light.family_room entity_id: light.family_room
state: 'on' state: "on"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -266,16 +265,16 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
minutes: '/5' minutes: "/5"
seconds: 00 seconds: 00
condition: condition:
- condition: template - condition: template
value_template: '{{ states.sensor.bedtime_hour.state|int == now().hour|int }}' value_template: "{{ states('sensor.bedtime_hour') |int == now().hour|int }}"
- condition: template - condition: template
value_template: '{{ states.sensor.bedtime_minute.state|int == now().minute|int }}' value_template: "{{ states('sensor.bedtime_minute') |int == now().minute|int }}"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: script.all_indoor_lights_off - service: script.all_indoor_lights_off
- service: script.notify_me - service: script.notify_me
@ -289,11 +288,11 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time platform: time
at: '22:10:00' at: "22:10:00"
condition: condition:
- condition: state - condition: state
entity_id: group.all_devices entity_id: group.all_devices
state: 'home' state: "home"
- condition: template - condition: template
value_template: "{{ states('input_boolean.nightly_report') == 'on' }}" value_template: "{{ states('input_boolean.nightly_report') == 'on' }}"
action: action:

View File

@ -6,15 +6,15 @@ sensor:
single_car_garage_door_sensor_status: single_car_garage_door_sensor_status:
friendly_name: Single Car Garage Door Sensor Status friendly_name: Single Car Garage Door Sensor Status
value_template: >- value_template: >-
{% if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == 'on' %} {% if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == 'on' %}
Open Open
{% elif states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == 'off' %} {% elif states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == 'off' %}
Closed Closed
{% else %} {% else %}
Unknown Unknown
{% endif %} {% endif %}
icon_template: >- icon_template: >-
{% set door_status = states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state |d('unknown') %} {% set door_status = states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') %}
{% if door_status == 'unknown' %} {% if door_status == 'unknown' %}
mdi:alert-circle mdi:alert-circle
{% else %} {% else %}
@ -29,16 +29,16 @@ sensor:
sensors: sensors:
two_car_garage_door_sensor_status: two_car_garage_door_sensor_status:
value_template: >- value_template: >-
{% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == 'on' %} {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == 'on' %}
Open Open
{% elif states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == 'off' %} {% elif states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == 'off' %}
Closed Closed
{% else %} {% else %}
Unknown Unknown
{% endif %} {% endif %}
friendly_name: Double Car Garage Door Sensor Status friendly_name: Double Car Garage Door Sensor Status
icon_template: >- icon_template: >-
{% set door_status = states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state |d('unknown') %} {% set door_status = states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') %}
{% if door_status == 'unknown' %} {% if door_status == 'unknown' %}
mdi:alert-circle mdi:alert-circle
{% else %} {% else %}
@ -54,24 +54,24 @@ binary_sensor:
state_topic: "/garage/motion" state_topic: "/garage/motion"
name: "Garage Motion" name: "Garage Motion"
device_class: motion device_class: motion
payload_on: 'on' payload_on: "on"
payload_off: 'off' payload_off: "off"
value_template: "{{ value }}" value_template: "{{ value }}"
- platform: mqtt - platform: mqtt
state_topic: "/kitchen/motion" state_topic: "/kitchen/motion"
name: "Kitchen Camera Motion" name: "Kitchen Camera Motion"
device_class: motion device_class: motion
payload_on: 'on' payload_on: "on"
payload_off: 'off' payload_off: "off"
value_template: "{{ value }}" value_template: "{{ value }}"
- platform: mqtt - platform: mqtt
state_topic: "/frontroom/motion" state_topic: "/frontroom/motion"
name: "Frontroom Camera Motion" name: "Frontroom Camera Motion"
device_class: motion device_class: motion
payload_on: 'on' payload_on: "on"
payload_off: 'off' payload_off: "off"
value_template: "{{ value }}" value_template: "{{ value }}"
############################################################################### ###############################################################################
@ -85,20 +85,19 @@ binary_sensor:
############################################################################### ###############################################################################
automation: automation:
- alias: Garage Motion Reset - alias: Garage Motion Reset
initial_state: true initial_state: true
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.garage_motion entity_id: binary_sensor.garage_motion
to: 'on' to: "on"
from: 'off' from: "off"
action: action:
- delay: '00:00:30' - delay: "00:00:30"
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: "/garage/motion" topic: "/garage/motion"
payload: 'off' payload: "off"
retain: false retain: false
- alias: Kitchen Camera Motion Reset - alias: Kitchen Camera Motion Reset
@ -106,14 +105,14 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.kitchen_camera_motion entity_id: binary_sensor.kitchen_camera_motion
to: 'on' to: "on"
from: 'off' from: "off"
action: action:
- delay: '00:00:30' - delay: "00:00:30"
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: "/kitchen/motion" topic: "/kitchen/motion"
payload: 'off' payload: "off"
retain: false retain: false
- alias: Frontroom Camera Motion Reset - alias: Frontroom Camera Motion Reset
@ -121,14 +120,14 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.frontroom_camera_motion entity_id: binary_sensor.frontroom_camera_motion
to: 'on' to: "on"
from: 'off' from: "off"
action: action:
- delay: '00:00:30' - delay: "00:00:30"
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: "/frontroom/motion" topic: "/frontroom/motion"
payload: 'off' payload: "off"
retain: false retain: false
################################################################################ ################################################################################
@ -166,11 +165,11 @@ automation:
data_template: data_template:
message: > message: >
{% set doors = "" %} {% set doors = "" %}
{% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" and {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" and
states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" %} states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" %}
{% set doors = "Atention! Both Garage Doors are OPEN" %} {% set doors = "Atention! Both Garage Doors are OPEN" %}
{% elif states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "off" and {% elif states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "off" and
states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "off" %} states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "off" %}
{% set doors = "Both Garage Doors are now CLOSED" %} {% set doors = "Both Garage Doors are now CLOSED" %}
{% else %} {% else %}
{% if trigger.to_state.state | lower == "on" %} {% if trigger.to_state.state | lower == "on" %}
@ -184,7 +183,8 @@ automation:
- service: camera.snapshot - service: camera.snapshot
data_template: data_template:
entity_id: "camera.garage_camera" entity_id: "camera.garage_camera"
filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ filename:
"{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~
(states.automation.notify_garage_door_status.last_triggered ~ '').replace('-','_') (states.automation.notify_garage_door_status.last_triggered ~ '').replace('-','_')
.replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" .replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
- service: notify.notify_smtp - service: notify.notify_smtp
@ -192,17 +192,17 @@ automation:
title: 'Garage Door Status {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}' title: 'Garage Door Status {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
message: >- message: >-
{% set doors = "" %} {% set doors = "" %}
{% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" and {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" and
states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" %} states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" %}
{% set doors = "Both Garage Doors are OPEN" %} {% set doors = "Both Garage Doors are OPEN" %}
{% elif states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "off" and {% elif states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "off" and
states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "off" %} states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "off" %}
{% set doors = "Both Garage Doors are CLOSED" %} {% set doors = "Both Garage Doors are CLOSED" %}
{% else %} {% else %}
{% set doors = states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.name ~ " is " ~ {% set doors = states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.name ~ " is " ~
('Closed' if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == 'off' else 'OPEN') ('Closed' if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == 'off' else 'OPEN')
~ " and " ~ states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.name ~ " is " ~ ~ " and " ~ states('binary_sensor.two_car_garage_door_tilt_sensor_sensor.name') ~ " is " ~
('Closed' if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == 'off' else 'OPEN') %} ('Closed' if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == 'off' else 'OPEN') %}
{% endif %} {% endif %}
Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below. Your {{doors}} on {{ now().strftime("%d %h %Y, at %I:%M:%S %p") }}. Please check the garage snapshot below.
data: data:
@ -230,7 +230,7 @@ automation:
trigger: trigger:
platform: state platform: state
entity_id: binary_sensor.garage_door_sensor_sensor entity_id: binary_sensor.garage_door_sensor_sensor
to: 'on' to: "on"
condition: condition:
condition: or condition: or
conditions: conditions:
@ -239,9 +239,9 @@ automation:
- condition: and - condition: and
conditions: conditions:
- condition: template - condition: template
value_template: "{{ states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == 'off' }}" value_template: "{{ states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == 'off' }}"
- condition: template - condition: template
value_template: "{{ states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == 'off' }}" value_template: "{{ states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == 'off' }}"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.garage entity_id: switch.garage
@ -266,16 +266,16 @@ automation:
message: > message: >
{% if trigger.to_state.state | lower == "on" %} {% if trigger.to_state.state | lower == "on" %}
Your {{ trigger.to_state.attributes.friendly_name.replace('Sensor', '') }} is OPEN, Your {{ trigger.to_state.attributes.friendly_name.replace('Sensor', '') }} is OPEN,
{% if states.alarm_control_panel.simplisafe.state == 'armed_home' or {% if states('alarm_control_panel.simplisafe') == 'armed_home' or
states.alarm_control_panel.simplisafe.state == 'armed_away' %} states('alarm_control_panel.simplisafe') == 'armed_away' %}
But your home security system is ON. But your home security system is ON.
{% endif %} {% endif %}
{% elif trigger.to_state.state | lower == "off" %} {% elif trigger.to_state.state | lower == "off" %}
Your {{ trigger.to_state.attributes.friendly_name.replace('Sensor', '') }} is CLOSED! Your {{ trigger.to_state.attributes.friendly_name.replace('Sensor', '') }} is CLOSED!
{% endif %} {% endif %}
greeting: 'no' greeting: "no"
only_at_night: > only_at_night: >
{% if states.alarm_control_panel.simplisafe.state == 'armed_home' %} {% if states('alarm_control_panel.simplisafe') == 'armed_home' %}
no no
{% else %} {% else %}
yes yes
@ -288,11 +288,11 @@ automation:
trigger: trigger:
platform: state platform: state
entity_id: binary_sensor.basement_door_sensor_sensor entity_id: binary_sensor.basement_door_sensor_sensor
to: 'on' to: "on"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: homeassistant.turn_on - service: homeassistant.turn_on
entity_id: switch.rf_switch_one entity_id: switch.rf_switch_one
@ -303,13 +303,13 @@ automation:
platform: state platform: state
entity_id: entity_id:
- switch.rf_switch_one - switch.rf_switch_one
to: 'on' to: "on"
for: for:
minutes: 5 minutes: 5
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: homeassistant.turn_off - service: homeassistant.turn_off
entity_id: switch.rf_switch_one entity_id: switch.rf_switch_one

View File

@ -154,7 +154,7 @@
# to: 'disarmed' # to: 'disarmed'
# condition: # condition:
# - condition: template # - condition: template
# value_template: '{{ states.input_boolean.emergency_mode.state == "on" }}' # value_template: "{{ states('input_boolean.emergency_mode') == 'on' }}"
# action: # action:
# - service: input_boolean.turn_off # - service: input_boolean.turn_off
# entity_id: input_boolean.emergency_mode # entity_id: input_boolean.emergency_mode

View File

@ -2,37 +2,37 @@ homeassistant:
sensor: sensor:
- platform: snmp - platform: snmp
name: 'ESXi Server Description' name: "ESXi Server Description"
host: !secret esxi_server host: !secret esxi_server
baseoid: 1.3.6.1.2.1.1.1.0 baseoid: 1.3.6.1.2.1.1.1.0
accept_errors: true accept_errors: true
- platform: snmp - platform: snmp
name: 'ESXi Total RAM' name: "ESXi Total RAM"
host: !secret esxi_server host: !secret esxi_server
baseoid: 1.3.6.1.2.1.25.2.3.1.5.6 baseoid: 1.3.6.1.2.1.25.2.3.1.5.6
accept_errors: true accept_errors: true
- platform: snmp - platform: snmp
name: 'ESXi Used RAM' name: "ESXi Used RAM"
host: !secret esxi_server host: !secret esxi_server
baseoid: 1.3.6.1.2.1.25.2.3.1.6.6 baseoid: 1.3.6.1.2.1.25.2.3.1.6.6
accept_errors: true accept_errors: true
- platform: snmp - platform: snmp
name: 'ESXi System Uptime Epoch' name: "ESXi System Uptime Epoch"
host: !secret esxi_server host: !secret esxi_server
baseoid: 1.3.6.1.2.1.25.1.1.0 baseoid: 1.3.6.1.2.1.25.1.1.0
accept_errors: true accept_errors: true
- platform: snmp - platform: snmp
name: 'ESXi Number of Network Interfaces' name: "ESXi Number of Network Interfaces"
host: !secret esxi_server host: !secret esxi_server
baseoid: 1.3.6.1.2.1.2.1.0 baseoid: 1.3.6.1.2.1.2.1.0
accept_errors: true accept_errors: true
- platform: snmp - platform: snmp
name: 'ESXi System Memory Size' name: "ESXi System Memory Size"
host: !secret esxi_server host: !secret esxi_server
baseoid: 1.3.6.1.2.1.25.2.2.0 baseoid: 1.3.6.1.2.1.25.2.2.0
accept_errors: true accept_errors: true
@ -41,7 +41,7 @@ sensor:
sensors: sensors:
esxi_memory_used: esxi_memory_used:
friendly_name: "ESXi Memory Usage" friendly_name: "ESXi Memory Usage"
unit_of_measurement: '%' unit_of_measurement: "%"
value_template: "{{(states('sensor.esxi_used_ram') | float / states('sensor.esxi_total_ram') | float * 100) | round }}" value_template: "{{(states('sensor.esxi_used_ram') | float / states('sensor.esxi_total_ram') | float * 100) | round }}"
- platform: template - platform: template
@ -49,7 +49,7 @@ sensor:
esxi_system_uptime: esxi_system_uptime:
friendly_name: "ESXi System Uptime" friendly_name: "ESXi System Uptime"
value_template: > value_template: >
{% set time = states.sensor.esxi_system_uptime_epoch.state | int %} {% set time = states('sensor.esxi_system_uptime_epoch') | int %}
{% set minutes = ((time % 360000) / 6000) | int %} {% set minutes = ((time % 360000) / 6000) | int %}
{% set hours = ((time % 8640000) / 360000) | int %} {% set hours = ((time % 8640000) / 360000) | int %}
{% set days = (time / 8640000) | int %} {% set days = (time / 8640000) | int %}

View File

@ -54,7 +54,6 @@ frontend:
# #
############################################################################### ###############################################################################
automation: automation:
- alias: Random Theme At Startup - alias: Random Theme At Startup
initial_state: true initial_state: true
trigger: trigger:
@ -64,7 +63,7 @@ automation:
- service_template: frontend.set_theme - service_template: frontend.set_theme
data_template: data_template:
name: > name: >
{% if states.sun.sun.state == "above_horizon" %} {% if states('sun.sun') == "above_horizon" %}
{{ ["light_pink", "default"] | random }} {{ ["light_pink", "default"] | random }}
{% else %} {% else %}
{{ [ "dark_red" ] | random }} {{ [ "dark_red" ] | random }}

View File

@ -33,4 +33,4 @@
# - service: persistent_notification.create # - service: persistent_notification.create
# data: # data:
# title: 'Chuck Norris fact:' # title: 'Chuck Norris fact:'
# message: '{{ states.sensor.fact_of_the_day.state }}' # message: '{{ states('sensor.fact_of_the_day') }}'

View File

@ -7,7 +7,6 @@
homeassistant: homeassistant:
customize: customize:
sensor.holiday: sensor.holiday:
hidden: true hidden: true
icon: mdi:beach icon: mdi:beach
@ -43,7 +42,6 @@ sensor:
# #
############################################################################### ###############################################################################
automation: automation:
- alias: Notify Holiday State Change - alias: Notify Holiday State Change
initial_state: true initial_state: true
trigger: trigger:
@ -53,21 +51,21 @@ automation:
- condition: template - condition: template
value_template: "{{ states('sensor.holiday') != 'unknown' }}" value_template: "{{ states('sensor.holiday') != 'unknown' }}"
- condition: template - condition: template
value_template: "{{ states.sensor.holiday.state | trim != '' }}" value_template: "{{ states('sensor.holiday') | trim != '' }}"
action: action:
- service: persistent_notification.create - service: persistent_notification.create
data: data:
message: 'Today is {{ states.sensor.holiday.state }}.' message: "Today is {{ states('sensor.holiday') }}."
title: '{{ states.sensor.holiday.state }}' title: "{{ states('sensor.holiday') }}"
- service: script.notify_me - service: script.notify_me
data_template: data_template:
message: 'Today is: {{states.sensor.holiday.state }}' message: "Today is: {{states('sensor.holiday') }}"
- alias: Notify Indian Holidays - alias: Notify Indian Holidays
initial_state: true initial_state: true
trigger: trigger:
platform: time platform: time
at: '09:00:00' at: "09:00:00"
condition: condition:
- condition: template - condition: template
value_template: >- value_template: >-
@ -77,7 +75,7 @@ automation:
{%- else -%} {%- else -%}
{% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_india.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%} {% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_india.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%}
{%- endif -%} {%- endif -%}
{%- if days2NextEvent <= (states.input_number.calendar_remind_before_days.state | int) -%} {%- if days2NextEvent <= (states('input_number.calendar_remind_before_days') | int) -%}
{%- if days2NextEvent |int == 0 -%} {%- if days2NextEvent |int == 0 -%}
true true
{%- elif days2NextEvent | int == 1 -%} {%- elif days2NextEvent | int == 1 -%}
@ -100,7 +98,7 @@ automation:
{%- else -%} {%- else -%}
{% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_india.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%} {% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_india.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%}
{%- endif -%} {%- endif -%}
{%- if days2NextEvent <= (states.input_number.calendar_remind_before_days.state | int) -%} {%- if days2NextEvent <= (states('input_number.calendar_remind_before_days') | int) -%}
{%- if days2NextEvent |int == 0 -%} {%- if days2NextEvent |int == 0 -%}
Today is {{ states.calendar.holidays_in_india.attributes.message | replace(".", "") | title }}. Today is {{ states.calendar.holidays_in_india.attributes.message | replace(".", "") | title }}.
{%- elif days2NextEvent |int == 1 -%} {%- elif days2NextEvent |int == 1 -%}

View File

@ -36,7 +36,6 @@ speedtestdotnet:
- upload - upload
sensor: sensor:
- platform: uptime - platform: uptime
name: Home Assistant Up Time name: Home Assistant Up Time
unit_of_measurement: hours unit_of_measurement: hours
@ -48,7 +47,7 @@ sensor:
- platform: rest - platform: rest
resource: http://icanhazip.com resource: http://icanhazip.com
name: external_ip name: external_ip
value_template: '{{ value }}' value_template: "{{ value }}"
scan_interval: 86400 scan_interval: 86400
- platform: systemmonitor - platform: systemmonitor
@ -64,27 +63,17 @@ sensor:
- platform: rest - platform: rest
resource: https://pypi.python.org/pypi/homeassistant/json resource: https://pypi.python.org/pypi/homeassistant/json
name: HA Current Version name: HA Current Version
value_template: '{{ value_json.info.version }}' value_template: "{{ value_json.info.version }}"
- platform: command_line - platform: command_line
name: HA Installed Version name: HA Installed Version
command: /srv/homeassistant/bin/hass --version command: /srv/homeassistant/bin/hass --version
scan_interval: 86400 scan_interval: 86400
- platform: pi_hole pi_hole:
host: !secret pi_hole_ip host: !secret pi_hole_ip
ssl: false ssl: false
verify_ssl: false verify_ssl: false
monitored_conditions:
- ads_blocked_today
- ads_percentage_today
- dns_queries_today
- domains_being_blocked
- queries_cached
- queries_forwarded
- unique_clients
- unique_domains
- clients_ever_seen
############################################################################### ###############################################################################
# _ _ _ # _ _ _
@ -97,7 +86,6 @@ sensor:
############################################################################### ###############################################################################
automation: automation:
# Notify me when I get a new public IP from my ISP # Notify me when I get a new public IP from my ISP
###################################################### ######################################################
@ -138,5 +126,5 @@ automation:
action: action:
- service: persistent_notification.create - service: persistent_notification.create
data: data:
title: 'Domain Renew' title: "Domain Renew"
message: 'It is time to renew your domain. The domain will expire in {{ states.sensor.my_domain.state }} days.' message: "It is time to renew your domain. The domain will expire in {{ states('sensor.my_domain') }} days."

View File

@ -1,6 +1,5 @@
homeassistant: homeassistant:
customize_domain: customize_domain:
alarm_control_panel: alarm_control_panel:
homebridge_hidden: true homebridge_hidden: true

View File

@ -45,30 +45,30 @@ automation:
- condition: template - condition: template
value_template: "{% if trigger.from_state %} True {% else %} False {% endif %}" value_template: "{% if trigger.from_state %} True {% else %} False {% endif %}"
- condition: template - condition: template
value_template: '{{ states.alarm_control_panel.simplisafe.state != "unknown" }}' value_template: "{{ states('alarm_control_panel.simplisafe') != 'unknown' }}"
- condition: template - condition: template
value_template: '{{ states.alarm_control_panel.simplisafe.state | trim != "" }}' value_template: "{{ states('alarm_control_panel.simplisafe') | trim != '' }}"
action: action:
- service_template: > - service_template: >
{% if states.alarm_control_panel.simplisafe.state == "armed_home" %} {% if states('alarm_control_panel.simplisafe') == "armed_home" %}
script.xiaomi_blue script.xiaomi_blue
{% elif states.alarm_control_panel.simplisafe.state == "armed_away" %} {% elif states('alarm_control_panel.simplisafe') == "armed_away" %}
script.xiaomi_green script.xiaomi_green
{% elif states.alarm_control_panel.simplisafe.state == "triggered" %} {% elif states('alarm_control_panel.simplisafe') == "triggered" %}
script.xiaomi_red script.xiaomi_red
{% elif states.alarm_control_panel.simplisafe.state == "disarmed" %} {% elif states('alarm_control_panel.simplisafe') == "disarmed" %}
script.xiaomi_red script.xiaomi_red
{% endif %} {% endif %}
- service: script.ifttt_leeo_color_change - service: script.ifttt_leeo_color_change
data_template: data_template:
value1: > value1: >
{% if states.alarm_control_panel.simplisafe.state == "armed_home" %} {% if states('alarm_control_panel.simplisafe') == "armed_home" %}
"#0000FF" "#0000FF"
{% elif states.alarm_control_panel.simplisafe.state == "armed_away" %} {% elif states('alarm_control_panel.simplisafe') == "armed_away" %}
"#00FF00" "#00FF00"
{% elif states.alarm_control_panel.simplisafe.state == "triggered" %} {% elif states('alarm_control_panel.simplisafe') == "triggered" %}
"#FF0000" "#FF0000"
{% elif states.alarm_control_panel.simplisafe.state == "disarmed" %} {% elif states('alarm_control_panel.simplisafe') == "disarmed" %}
"#FF0000" "#FF0000"
{% endif %} {% endif %}
@ -94,29 +94,29 @@ automation:
- service: script.notify_me - service: script.notify_me
data_template: data_template:
message: > message: >
{% if states.alarm_control_panel.simplisafe.state == "armed_home" %} {% if states('alarm_control_panel.simplisafe') == "armed_home" %}
Your home is now secured! Your home is now secured!
{% elif states.alarm_control_panel.simplisafe.state == "armed_away" %} {% elif states('alarm_control_panel.simplisafe') == "armed_away" %}
Your Home Security System is now set to Away mode! Your Home Security System is now set to Away mode!
{% elif states.alarm_control_panel.simplisafe.state == "triggered" %} {% elif states('alarm_control_panel.simplisafe') == "triggered" %}
Attention!: Your Home Security System is triggered! It has been notified to the authorities. Attention!: Your Home Security System is triggered! It has been notified to the authorities.
{% elif states.alarm_control_panel.simplisafe.state == "disarmed" %} {% elif states('alarm_control_panel.simplisafe') == "disarmed" %}
Attention!: Your Home Security System is turned OFF. Attention!: Your Home Security System is turned OFF.
{% endif %} {% endif %}
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
message: > message: >
{% if states.alarm_control_panel.simplisafe.state == "armed_home" %} {% if states('alarm_control_panel.simplisafe') == "armed_home" %}
Your home is now secured! Your home is now secured!
{% elif states.alarm_control_panel.simplisafe.state == "armed_away" %} {% elif states('alarm_control_panel.simplisafe') == "armed_away" %}
Your Home Security System is now set to Away mode! Your Home Security System is now set to Away mode!
{% elif states.alarm_control_panel.simplisafe.state == "triggered" %} {% elif states('alarm_control_panel.simplisafe') == "triggered" %}
Attention!: Your Home Security System is triggered! It has been notified to the authorities. Attention!: Your Home Security System is triggered! It has been notified to the authorities.
{% elif states.alarm_control_panel.simplisafe.state == "disarmed" %} {% elif states('alarm_control_panel.simplisafe') == "disarmed" %}
Attention!: Your Home Security System is turned OFF. Attention!: Your Home Security System is turned OFF.
{% endif %} {% endif %}
- condition: template - condition: template
value_template: '{{ states.alarm_control_panel.simplisafe.state != "disarmed" }}' value_template: "{{ states('alarm_control_panel.simplisafe') != 'disarmed' }}"
- service: input_boolean.turn_on - service: input_boolean.turn_on
entity_id: input_boolean.notify_camera_motion entity_id: input_boolean.notify_camera_motion
@ -199,9 +199,9 @@ automation:
seconds: 00 seconds: 00
condition: condition:
- condition: template - condition: template
value_template: "{{ states.sensor.bedtime_hour.state|int == now().hour|int }}" value_template: "{{ states('sensor.bedtime_hour')|int == now().hour|int }}"
- condition: template - condition: template
value_template: "{{ states.sensor.bedtime_minute.state|int == now().minute|int }}" value_template: "{{ states('sensor.bedtime_minute')|int == now().minute|int }}"
- condition: template - condition: template
value_template: "{{ states('alarm_control_panel.simplisafe') != 'away' }}" value_template: "{{ states('alarm_control_panel.simplisafe') != 'away' }}"
- condition: state - condition: state
@ -231,33 +231,33 @@ automation:
# condition: and # condition: and
# conditions: # conditions:
# - condition: template # - condition: template
# value_template: '{{ states.alarm_control_panel.simplisafe.state == "armed_home" or states.alarm_control_panel.simplisafe.state == "armed_away" }}' # value_template: '{{ states('alarm_control_panel.simplisafe') == "armed_home" or states('alarm_control_panel.simplisafe') == "armed_away" }}'
# - condition: or # - condition: or
# conditions: # conditions:
# - condition: template # - condition: template
# value_template: '{{ states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" }}' # value_template: '{{ states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" }}'
# - condition: template # - condition: template
# value_template: '{{ states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" }}' # value_template: '{{ states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" }}'
# action: # action:
# - service: switch.turn_on # - service: switch.turn_on
# entity_id: switch.garage # entity_id: switch.garage
# - service: script.notify_me # - service: script.notify_me
# data_template: # data_template:
# message: > # message: >
# Attention! Your home Security system is set to {{ states.alarm_control_panel.simplisafe.state.split('_')[1] | upper }} mode. # Attention! Your home Security system is set to {{ states('alarm_control_panel.simplisafe').split('_')[1] | upper }} mode.
# BUT THE {% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" -%}DOUBLE CAR {%- else %}SINGLE CAR {% endif %}GARAGE DOOR IS STILL OPEN! # BUT THE {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" -%}DOUBLE CAR {%- else %}SINGLE CAR {% endif %}GARAGE DOOR IS STILL OPEN!
# - service: camera.snapshot # - service: camera.snapshot
# data_template: # data_template:
# entity_id: "camera.garage_camera" # entity_id: "camera.garage_camera"
# filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (states.automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" # filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - service: camera.snapshot # - service: camera.snapshot
# data_template: # data_template:
# entity_id: "camera.driveway_camera" # entity_id: "camera.driveway_camera"
# filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ (states.automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" # filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - service: camera.snapshot # - service: camera.snapshot
# data_template: # data_template:
# entity_id: "camera.frontdoor_camera" # entity_id: "camera.frontdoor_camera"
# filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ (states.automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" # filename: "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - service: notify.notify_smtp # - service: notify.notify_smtp
# data_template: # data_template:
# title: 'Garage Picture {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}' # title: 'Garage Picture {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
@ -272,33 +272,33 @@ automation:
# {%- endif %} {{ dt.strftime("%B %Y")}} # {%- endif %} {{ dt.strftime("%B %Y")}}
# {%- endmacro -%} # {%- endmacro -%}
# {% set doors = "" %} # {% set doors = "" %}
# {% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" and states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" %} # {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" and states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" %}
# {% set doors = "Both garage doors" %} # {% set doors = "Both garage doors" %}
# {% elif states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on"%} # {% elif states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on"%}
# {% set doors = states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.name %} # {% set doors = states('binary_sensor.single_car_garage_door_tilt_sensor_sensor.name %}
# {% elif states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" %} # {% elif states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" %}
# {% set doors = states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.name %} # {% set doors = states('binary_sensor.two_car_garage_door_tilt_sensor_sensor.name %}
# {% endif %} # {% endif %}
# Your {{ doors }} seem to be open while your home security system is set to "{{ states.alarm_control_panel.simplisafe.state.split('_')[1]| title }}" mode. Today is {{ get_date(now()) }}, and time is {{ now().strftime("%I:%M:%S %p") }}. Please see the attached pictures and make sure everything is okay. # Your {{ doors }} seem to be open while your home security system is set to "{{ states('alarm_control_panel.simplisafe').split('_')[1]| title }}" mode. Today is {{ get_date(now()) }}, and time is {{ now().strftime("%I:%M:%S %p") }}. Please see the attached pictures and make sure everything is okay.
# data: # data:
# images: # images:
# - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (states.automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" # - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/garage/garage_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ (states.automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" # - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/driveway/driveway_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ (states.automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}" # - "{{ '/home/homeassistant/.homeassistant/www/downloads/camera/frontdoor/frontdoor_' ~ (states('automation.home_security_system_and_garage_door_check.last_updated ~ '').replace('-','_').replace(' ', '_').replace(':','_').replace('.','_').replace('+','_') ~ '.jpg' }}"
# - condition: template # - condition: template
# value_template: '{{ states.alarm_control_panel.simplisafe.state == "armed_home" }}' # value_template: '{{ states('alarm_control_panel.simplisafe') == "armed_home" }}'
# - service: script.voice_notify # - service: script.voice_notify
# data_template: # data_template:
# message: > # message: >
# {% set doors = "" %} # {% set doors = "" %}
# {% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" and states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" %} # {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" and states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" %}
# {% set doors = "Both garage doors" %} # {% set doors = "Both garage doors" %}
# {% elif states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on"%} # {% elif states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on"%}
# {% set doors = states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.name %} # {% set doors = states('binary_sensor.single_car_garage_door_tilt_sensor_sensor.name %}
# {% elif states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" %} # {% elif states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" %}
# {% set doors = states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.name %} # {% set doors = states('binary_sensor.two_car_garage_door_tilt_sensor_sensor.name %}
# {% endif %} # {% endif %}
# Attention! Your home Security system is set to {{ states.alarm_control_panel.simplisafe.state.split('_')[1] | upper }} mode. # Attention! Your home Security system is set to {{ states('alarm_control_panel.simplisafe').split('_')[1] | upper }} mode.
# BUT the {{ doors }} {{ 'are' if doors.endswith('s') else 'is' }} open. # BUT the {{ doors }} {{ 'are' if doors.endswith('s') else 'is' }} open.
############################################################################### ###############################################################################
@ -319,10 +319,10 @@ automation:
# state: 'disarmed' # state: 'disarmed'
# action: # action:
# - service_template: >- # - service_template: >-
# {% if states.binary_sensor.back_door_sensor_sensor.state == "off" and # {% if states('binary_sensor.back_door_sensor_sensor') == "off" and
# states.binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor.state == "off" and # states('binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor') == "off" and
# states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "off" and # states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "off" and
# states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "off" %} # states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "off" %}
# alarm_control_panel.alarm_arm_home # alarm_control_panel.alarm_arm_home
# {% else %} # {% else %}
# alarm_control_panel.disarm # alarm_control_panel.disarm
@ -332,31 +332,31 @@ automation:
# - service: script.voice_notify # - service: script.voice_notify
# data_template: # data_template:
# message: > # message: >
# {% if states.binary_sensor.back_door_sensor_sensor.state == "off" and # {% if states('binary_sensor.back_door_sensor_sensor') == "off" and
# states.binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor.state == "off" and # states('binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor') == "off" and
# states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "off" and # states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "off" and
# states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "off" %} # states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "off" %}
# It's getting dark outside, and your home security system is now set to HOME mode. # It's getting dark outside, and your home security system is now set to HOME mode.
# {% else %} # {% else %}
# It is getting dark outside. # It is getting dark outside.
# {%- if states.binary_sensor.back_door_sensor_sensor.state == "on" -%} # {%- if states('binary_sensor.back_door_sensor_sensor') == "on" -%}
# {%- set doors = doors ~ " Back Door" -%} # {%- set doors = doors ~ " Back Door" -%}
# {%- endif -%} # {%- endif -%}
# {%- if states.binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor.state == "on" -%} # {%- if states('binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor') == "on" -%}
# {% if doors | trim != "" %} # {% if doors | trim != "" %}
# {%- set doors = doors ~ " and Front Door" -%} # {%- set doors = doors ~ " and Front Door" -%}
# {% else %} # {% else %}
# {%- set doors = doors ~ " Front Door" -%} # {%- set doors = doors ~ " Front Door" -%}
# {% endif %} # {% endif %}
# {%- endif -%} # {%- endif -%}
# {%- if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" -%} # {%- if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" -%}
# {% if doors | trim != "" %} # {% if doors | trim != "" %}
# {%- set doors = doors ~ " and Two Car Garage Door" -%} # {%- set doors = doors ~ " and Two Car Garage Door" -%}
# {% else %} # {% else %}
# {%- set doors = doors ~ " Two Car Garage Door" -%} # {%- set doors = doors ~ " Two Car Garage Door" -%}
# {% endif %} # {% endif %}
# {%- endif -%} # {%- endif -%}
# {%- if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" -%} # {%- if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" -%}
# {% if doors | trim != "" %} # {% if doors | trim != "" %}
# {%- set doors = doors ~ " and Single Car Garage Door" -%} # {%- set doors = doors ~ " and Single Car Garage Door" -%}
# {% else %} # {% else %}
@ -368,31 +368,31 @@ automation:
# - service: script.notify_me # - service: script.notify_me
# data_template: # data_template:
# message: > # message: >
# {% if states.binary_sensor.back_door_sensor_sensor.state == "off" and # {% if states('binary_sensor.back_door_sensor_sensor') == "off" and
# states.binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor.state == "off" and # states('binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor') == "off" and
# states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "off" and # states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "off" and
# states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "off" %} # states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "off" %}
# It's getting dark outside, and your home security system is now set to HOME mode. # It's getting dark outside, and your home security system is now set to HOME mode.
# {% else %} # {% else %}
# It is getting dark outside. # It is getting dark outside.
# {%- if states.binary_sensor.back_door_sensor_sensor.state == "on" -%} # {%- if states('binary_sensor.back_door_sensor_sensor') == "on" -%}
# {%- set doors = doors ~ " Back Door" -%} # {%- set doors = doors ~ " Back Door" -%}
# {%- endif -%} # {%- endif -%}
# {%- if states.binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor.state == "on" -%} # {%- if states('binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor') == "on" -%}
# {% if doors | trim != "" %} # {% if doors | trim != "" %}
# {%- set doors = doors ~ " and Front Door" -%} # {%- set doors = doors ~ " and Front Door" -%}
# {% else %} # {% else %}
# {%- set doors = doors ~ " Front Door" -%} # {%- set doors = doors ~ " Front Door" -%}
# {% endif %} # {% endif %}
# {%- endif -%} # {%- endif -%}
# {%- if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state == "on" -%} # {%- if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') == "on" -%}
# {% if doors | trim != "" %} # {% if doors | trim != "" %}
# {%- set doors = doors ~ " and Two Car Garage Door" -%} # {%- set doors = doors ~ " and Two Car Garage Door" -%}
# {% else %} # {% else %}
# {%- set doors = doors ~ " Two Car Garage Door" -%} # {%- set doors = doors ~ " Two Car Garage Door" -%}
# {% endif %} # {% endif %}
# {%- endif -%} # {%- endif -%}
# {%- if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state == "on" -%} # {%- if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') == "on" -%}
# {% if doors | trim != "" %} # {% if doors | trim != "" %}
# {%- set doors = doors ~ " and Single Car Garage Door" -%} # {%- set doors = doors ~ " and Single Car Garage Door" -%}
# {% else %} # {% else %}
@ -417,9 +417,9 @@ automation:
# condition: or # condition: or
# conditions: # conditions:
# - condition: template # - condition: template
# value_template: '{{ states.alarm_control_panel.simplisafe.state | lower == "armed_away" }}' # value_template: '{{ states('alarm_control_panel.simplisafe') | lower == "armed_away" }}'
# - condition: template # - condition: template
# value_template: '{{ states.alarm_control_panel.simplisafe.state | lower == "armed_home" }}' # value_template: '{{ states('alarm_control_panel.simplisafe') | lower == "armed_home" }}'
# action: # action:
# - service: notify.ios_suresh # - service: notify.ios_suresh
# data_template: # data_template:
@ -444,7 +444,7 @@ automation:
# to: 'on' # to: 'on'
# condition: # condition:
# - condition: template # - condition: template
# value_template: '{{ states.alarm_control_panel.simplisafe.state == "armed_home" or states.alarm_control_panel.simplisafe.state == "armed_away" }}' # value_template: '{{ states('alarm_control_panel.simplisafe') == "armed_home" or states('alarm_control_panel.simplisafe') == "armed_away" }}'
# action: # action:
# - service: notify.ios_suresh # - service: notify.ios_suresh
# data_template: # data_template:

View File

@ -6,7 +6,6 @@
############################################################################### ###############################################################################
homeassistant: homeassistant:
customize: customize:
switch.frontyard_light: switch.frontyard_light:
icon: mdi:lightbulb icon: mdi:lightbulb
friendly_name: Front Porch Lights friendly_name: Front Porch Lights
@ -123,7 +122,6 @@ hue:
tplink: tplink:
discovery: false discovery: false
switch: switch:
# In-wall switches # In-wall switches
- host: !secret tplink_kids_bedroom - host: !secret tplink_kids_bedroom
- host: !secret tplink_guest_bedroom_1 - host: !secret tplink_guest_bedroom_1
@ -237,7 +235,6 @@ script:
# period: 2 # period: 2
# spread: 360 # spread: 360
# change: 35 # change: 35
# stop_colorloop: # stop_colorloop:
# sequence: # sequence:
# - service: light.lifx_effect_stop # - service: light.lifx_effect_stop
@ -255,21 +252,20 @@ script:
############################################################################### ###############################################################################
automation: automation:
# Animate Master Bedroom Lights # Animate Master Bedroom Lights
############################################################################### ###############################################################################
- alias: Animate Master Bedroom Lights - alias: Animate Master Bedroom Lights
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
seconds: '/5' seconds: "/5"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.animate_upstairs_lights entity_id: input_boolean.animate_upstairs_lights
state: 'on' state: "on"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -278,9 +274,12 @@ automation:
brightness: 255 brightness: 255
color_temp: 366 color_temp: 366
data_template: data_template:
rgb_color: ['{{ "{0:d}".format(range(0, 255)|random) }}' , rgb_color:
[
'{{ "{0:d}".format(range(0, 255)|random) }}', '{{ "{0:d}".format(range(0, 255)|random) }}',
'{{ "{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 # Restore Master Bedroom Lights
############################################################################### ###############################################################################
@ -289,11 +288,11 @@ automation:
trigger: trigger:
platform: state platform: state
entity_id: input_boolean.animate_upstairs_lights entity_id: input_boolean.animate_upstairs_lights
to: 'off' to: "off"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -309,14 +308,14 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
platform: time_pattern platform: time_pattern
seconds: '/5' seconds: "/5"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.animate_downstairs_lights entity_id: input_boolean.animate_downstairs_lights
state: 'on' state: "on"
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -325,9 +324,12 @@ automation:
brightness: 255 brightness: 255
color_temp: 366 color_temp: 366
data_template: data_template:
rgb_color: ['{{ "{0:d}".format(range(0, 255)|random) }}' , rgb_color:
[
'{{ "{0:d}".format(range(0, 255)|random) }}', '{{ "{0:d}".format(range(0, 255)|random) }}',
'{{ "{0:d}".format(range(0, 255)|random) }}'] '{{ "{0:d}".format(range(0, 255)|random) }}',
'{{ "{0:d}".format(range(0, 255)|random) }}',
]
# Restore Familyroom Lights # Restore Familyroom Lights
############################################################################### ###############################################################################
@ -336,11 +338,11 @@ automation:
trigger: trigger:
platform: state platform: state
entity_id: input_boolean.animate_downstairs_lights entity_id: input_boolean.animate_downstairs_lights
to: 'off' to: "off"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -394,12 +396,12 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: input_boolean.long_flash entity_id: input_boolean.long_flash
to: 'on' to: "on"
from: 'off' from: "off"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
entity_id: entity_id:
@ -416,12 +418,12 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: input_boolean.short_flash entity_id: input_boolean.short_flash
to: 'on' to: "on"
from: 'off' from: "off"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.light_automations entity_id: input_boolean.light_automations
state: 'on' state: "on"
action: action:
- service: light.turn_on - service: light.turn_on
entity_id: entity_id:

View File

@ -99,4 +99,4 @@
# - service: input_select.select_option # - service: input_select.select_option
# data_template: # data_template:
# entity_id: input_select.log_level # entity_id: input_select.log_level
# option: '{{ states.sensor.current_log_level.state | default("warning") }}' # option: '{{ states('sensor.current_log_level') | default("warning") }}'

View File

@ -158,12 +158,12 @@ automation:
entity_id: input_select.snapcast_server entity_id: input_select.snapcast_server
condition: condition:
- condition: template - condition: template
value_template: '{{ states.input_select.snapcast_server.state | lower != "select one" }}' value_template: "{{ states('input_select.snapcast_server') | lower != 'select one' }}"
action: action:
- service_template: >- - service_template: >-
{% if states.input_select.snapcast_server.state | lower == "stop" %} {% if states('input_select.snapcast_server') | lower == "stop" %}
shell_command.stop_snapserver shell_command.stop_snapserver
{% elif states.input_select.snapcast_server.state | lower == "start" %} {% elif states('input_select.snapcast_server') | lower == "start" %}
shell_command.start_snapserver shell_command.start_snapserver
{% else %} {% else %}
shell_command.restart_snapserver shell_command.restart_snapserver

View File

@ -1,55 +1,55 @@
homeassistant: homeassistant:
customize: customize:
input_label.aeotec_zw120_door_window_sensor_gen5_sensor: input_label.aeotec_zw120_door_window_sensor_gen5_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.back_door_sensor_sensor: input_label.back_door_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.basement_door_sensor_sensor: input_label.basement_door_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.downstairs_multi_sensor_sensor: input_label.downstairs_multi_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.front_room_multi_sensor_sensor: input_label.front_room_multi_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.front_room_window_sensor_sensor: input_label.front_room_window_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.garage_door_sensor_sensor: input_label.garage_door_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.garage_motion: input_label.garage_motion:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.guest_bedroom_multi_sensor_sensor: input_label.guest_bedroom_multi_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.kitchen_motion_sensor_sensor: input_label.kitchen_motion_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d00016c2d0e: input_label.motion_sensor_158d00016c2d0e:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d00016db6d2: input_label.motion_sensor_158d00016db6d2:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d0001a25041: input_label.motion_sensor_158d0001a25041:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d0001a662fe: input_label.motion_sensor_158d0001a662fe:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d00024e57d3: input_label.motion_sensor_158d00024e57d3:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d00024e57fb: input_label.motion_sensor_158d00024e57fb:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d00024e842c: input_label.motion_sensor_158d00024e842c:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d00024ee084: input_label.motion_sensor_158d00024ee084:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d000272bed1: input_label.motion_sensor_158d000272bed1:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d000272bf48: input_label.motion_sensor_158d000272bf48:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.motion_sensor_158d000272bfd7: input_label.motion_sensor_158d000272bfd7:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.single_car_garage_door_tilt_sensor_sensor: input_label.single_car_garage_door_tilt_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.stairs_motion_sensor_sensor: input_label.stairs_motion_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.two_car_garage_door_tilt_sensor_sensor: input_label.two_car_garage_door_tilt_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label.upstairs_multi_sensor_sensor: input_label.upstairs_multi_sensor_sensor:
unit_of_measurement: 'count' unit_of_measurement: "count"
input_label: input_label:
aeotec_zw120_door_window_sensor_gen5_sensor: aeotec_zw120_door_window_sensor_gen5_sensor:
@ -134,7 +134,7 @@ automation:
- alias: Count Motions - alias: Count Motions
trigger: trigger:
- platform: state - platform: state
to: 'on' to: "on"
entity_id: entity_id:
- binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor - binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor
- binary_sensor.back_door_sensor_sensor - binary_sensor.back_door_sensor_sensor
@ -203,7 +203,6 @@ automation:
- input_label.stairs_motion_sensor_sensor - input_label.stairs_motion_sensor_sensor
- input_label.two_car_garage_door_tilt_sensor_sensor - input_label.two_car_garage_door_tilt_sensor_sensor
- input_label.upstairs_multi_sensor_sensor - input_label.upstairs_multi_sensor_sensor
# {% for x in states.binary_sensor if 'camera' not in x.entity_id and # {% for x in states.binary_sensor if 'camera' not in x.entity_id and
# 'cube' not in x.entity_id and # 'cube' not in x.entity_id and
# 'tesla' not in x.entity_id and # 'tesla' not in x.entity_id and

View File

@ -25,17 +25,17 @@ homeassistant:
timer: timer:
timer_kitchen: timer_kitchen:
duration: '00:10:00' duration: "00:10:00"
timer_familyroom: timer_familyroom:
duration: '00:05:00' duration: "00:05:00"
timer_frontroom: timer_frontroom:
duration: '00:05:00' duration: "00:05:00"
timer_garage: timer_garage:
duration: '00:05:00' duration: "00:05:00"
timer_masterbedroom: timer_masterbedroom:
duration: '00:05:00' duration: "00:05:00"
timer_officeroom: timer_officeroom:
duration: '00:05:00' duration: "00:05:00"
############################################################################### ###############################################################################
# _ _ _ # _ _ _
@ -48,7 +48,6 @@ timer:
############################################################################### ###############################################################################
automation: automation:
# Office Room: # Office Room:
# Motion Detected - Turn ON the light and extend timer # Motion Detected - Turn ON the light and extend timer
############################################################################### ###############################################################################
@ -57,75 +56,45 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.motion_sensor_158d000272bfd7 entity_id: binary_sensor.motion_sensor_158d000272bfd7
from: 'off' to: "on"
to: 'on'
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_officeroom entity_id: timer.timer_officeroom
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.office_room entity_id: switch.office_room
- condition: template - condition: template
value_template: '{{ states.sun.sun.state == "below_horizon" }}' value_template: "{{ states('sun.sun') == 'below_horizon' }}"
- service: homeassistant.turn_on - service: homeassistant.turn_on
entity_id: switch.zwave_smart_switch_switch entity_id: switch.zwave_smart_switch_switch
- alias: Officeroom Timer Elapsed - alias: Officeroom Timer Elapsed
initial_state: true initial_state: true
trigger: trigger:
- platform: state - platform: event
event_type: timer.finished
event_data:
entity_id: timer.timer_officeroom entity_id: timer.timer_officeroom
from: 'active'
to: 'idle'
action: action:
- service: switch.turn_off - service: switch.turn_off
entity_id: switch.office_room entity_id: switch.office_room
- service: homeassistant.turn_off - service: homeassistant.turn_off
entity_id: switch.zwave_smart_switch_switch entity_id: switch.zwave_smart_switch_switch
# Srinika's Bedroom: # # Front Room:
# Motion Detected - Turn ON the bedroom light and extend timer # # Motion Detected - Turn ON the light and extend timer
############################################################################### # ###############################################################################
# - alias: Srinika Bedroom Motion & Timer
# initial_state: true
# trigger:
# - platform: state
# entity_id: binary_sensor.motion_sensor_158d000272bed1
# from: 'off'
# to: 'on'
# action:
# - service: timer.start
# entity_id: timer.timer_srinika_bedroom
# - service: switch.turn_on
# entity_id: switch.switch.guest_bedroom
# - condition: template
# value_template: '{{ states.sun.sun.state == "below_horizon" }}'
# - alias: Srinika Bedroom Timer Elapsed
# initial_state: true
# trigger:
# - platform: state
# entity_id: timer.timer_srinika_bedroom
# from: 'active'
# to: 'idle'
# action:
# - service: switch.turn_off
# entity_id: switch.guest_bedroom
# Front Room:
# Motion Detected - Turn ON the light and extend timer
###############################################################################
- alias: Frontroom Motion & Timer - alias: Frontroom Motion & Timer
initial_state: true initial_state: true
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.motion_sensor_158d00016db6d2 entity_id: binary_sensor.motion_sensor_158d00016db6d2
from: 'off' from: "off"
to: 'on' to: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_frontroom entity_id: timer.timer_frontroom
- condition: template - condition: template
value_template: '{{ states.sun.sun.state == "below_horizon" }}' value_template: "{{ states('sun.sun') == 'below_horizon' }}"
- service: homeassistant.turn_on - service: homeassistant.turn_on
entity_id: switch.zwave_smart_switch_switch entity_id: switch.zwave_smart_switch_switch
@ -135,17 +104,16 @@ automation:
- alias: Frontroom Timer Elapsed - alias: Frontroom Timer Elapsed
initial_state: true initial_state: true
trigger: trigger:
- platform: state - platform: event
event_type: timer.finished
event_data:
entity_id: timer.timer_frontroom entity_id: timer.timer_frontroom
from: 'active'
to: 'idle'
condition: condition:
- condition: template - condition: template
value_template: '{{ states.input_boolean.working_in_office_room.state == "off" }}' value_template: "{{ states('input_boolean.working_in_office_room') == 'off' }}"
action: action:
- service: homeassistant.turn_off - service: homeassistant.turn_off
entity_id: switch.rf_switch_four entity_id: switch.rf_switch_four
# Kitchen: # Kitchen:
# Motion Detected - Turn ON the light and extend timer # Motion Detected - Turn ON the light and extend timer
############################################################################### ###############################################################################
@ -157,18 +125,17 @@ automation:
- binary_sensor.motion_sensor_158d0001a662fe - binary_sensor.motion_sensor_158d0001a662fe
- binary_sensor.kitchen_motion_sensor_sensor - binary_sensor.kitchen_motion_sensor_sensor
- binary_sensor.basement_door_sensor_sensor - binary_sensor.basement_door_sensor_sensor
from: 'off' from: "off"
to: 'on' to: "on"
condition: condition:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: 'below_horizon' state: "below_horizon"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.kitchen entity_id: switch.kitchen
- service: timer.start - service: timer.start
entity_id: timer.timer_kitchen entity_id: timer.timer_kitchen
# Kitchen: # Kitchen:
# Timer Elapsed - Turn OFF lights # Timer Elapsed - Turn OFF lights
############################################################################### ###############################################################################
@ -182,16 +149,16 @@ automation:
condition: condition:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: 'below_horizon' state: "below_horizon"
action: action:
- service_template: > - service_template: >
{% if now().hour|int >= states.sensor.bedtime_hour.state|int and now().minute|int >= states.sensor.bedtime_minute.state|int %} {% if now().hour|int >= states('sensor.bedtime_hour') |int and
now().minute|int >= states('sensor.bedtime_minute') |int %}
switch.turn_off switch.turn_off
{% else %} {% else %}
switch.turn_on switch.turn_on
{% endif %} {% endif %}
entity_id: switch.kitchen entity_id: switch.kitchen
# Family Room: # Family Room:
# Motion Detected - When TV is OFF, turn ON the light 100% and extend timer # Motion Detected - When TV is OFF, turn ON the light 100% and extend timer
############################################################################### ###############################################################################
@ -202,12 +169,12 @@ automation:
entity_id: entity_id:
- binary_sensor.tv_multi_sensor_sensor - binary_sensor.tv_multi_sensor_sensor
- binary_sensor.motion_sensor_158d0001a25041 - binary_sensor.motion_sensor_158d0001a25041
from: 'off' from: "off"
to: 'on' to: "on"
condition: condition:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: 'below_horizon' state: "below_horizon"
- condition: template - condition: template
value_template: "{{ states('input_boolean.movie_time') != 'on' }}" value_template: "{{ states('input_boolean.movie_time') != 'on' }}"
action: action:
@ -215,7 +182,7 @@ automation:
entity_id: light.family_room entity_id: light.family_room
data_template: data_template:
brightness: > brightness: >
{% if states.binary_sensor.sharp_tv.state == "on" %} {% if states('binary_sensor.sharp_tv') == "on" %}
25 25
{% else %} {% else %}
254 254
@ -224,7 +191,6 @@ automation:
transition: 5 transition: 5
- service: timer.start - service: timer.start
entity_id: timer.timer_familyroom entity_id: timer.timer_familyroom
# Family Room: # Family Room:
# Timer Elapsed - Turn OFF lights # Timer Elapsed - Turn OFF lights
############################################################################### ###############################################################################
@ -233,15 +199,14 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: timer.timer_familyroom entity_id: timer.timer_familyroom
from: 'active' from: "active"
to: 'idle' to: "idle"
action: action:
- service: light.turn_off - service: light.turn_off
entity_id: light.family_room entity_id: light.family_room
- delay: '00:00:05' - delay: "00:00:05"
- service: light.turn_off - service: light.turn_off
entity_id: light.family_room entity_id: light.family_room
# Master Bedroom: # Master Bedroom:
# Motion Detected - Turn ON the lights and extend timer # Motion Detected - Turn ON the lights and extend timer
############################################################################### ###############################################################################
@ -250,12 +215,12 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.upstairs_multi_sensor_sensor entity_id: binary_sensor.upstairs_multi_sensor_sensor
from: 'off' from: "off"
to: 'on' to: "on"
condition: condition:
- condition: state - condition: state
entity_id: sun.sun entity_id: sun.sun
state: 'below_horizon' state: "below_horizon"
action: action:
- service: light.turn_on - service: light.turn_on
data: data:
@ -269,7 +234,6 @@ automation:
brightness: 10 brightness: 10
- service: timer.start - service: timer.start
entity_id: timer.timer_masterbedroom entity_id: timer.timer_masterbedroom
# Master Bedroom: # Master Bedroom:
# Timer Elapsed - Turn OFF lights # Timer Elapsed - Turn OFF lights
############################################################################### ###############################################################################
@ -278,17 +242,16 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: timer.timer_masterbedroom entity_id: timer.timer_masterbedroom
from: 'active' from: "active"
to: 'idle' to: "idle"
action: action:
- service: light.turn_off - service: light.turn_off
entity_id: light.master_bedroom_1 entity_id: light.master_bedroom_1
- service: light.turn_off - service: light.turn_off
entity_id: light.master_bedroom_2 entity_id: light.master_bedroom_2
- delay: '00:00:05' - delay: "00:00:05"
- service: light.turn_off - service: light.turn_off
entity_id: light.master_bedroom entity_id: light.master_bedroom
# Garage: # Garage:
# Motion Detected - Turn ON the light and extend timer # Motion Detected - Turn ON the light and extend timer
# #
@ -300,17 +263,16 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: binary_sensor.garage_motion entity_id: binary_sensor.garage_motion
from: 'off' from: "off"
to: 'on' to: "on"
condition: condition:
- condition: template - condition: template
value_template: '{{ states.input_boolean.working_in_garage.state | lower == "on" }}' value_template: "{{ states('input_boolean.working_in_garage') | lower == 'on' }}"
- condition: template - condition: template
value_template: '{{ (as_timestamp(now()) - as_timestamp(states.switch.garage.last_updated)) | int > 30 }}' value_template: "{{ (as_timestamp(now()) - as_timestamp(states.switch.garage.last_updated)) | int > 30 }}"
action: action:
- service: switch.turn_on - service: switch.turn_on
entity_id: switch.garage entity_id: switch.garage
# Start the timer when the lights are ON # Start the timer when the lights are ON
############################################################################### ###############################################################################
- alias: Garage Timer Start When Garage Lights ON - alias: Garage Timer Start When Garage Lights ON
@ -318,12 +280,11 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: switch.garage entity_id: switch.garage
from: 'off' from: "off"
to: 'on' to: "on"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.timer_garage entity_id: timer.timer_garage
# Garage: # Garage:
# Timer Elapsed - Turn OFF lights, when "I am not working" # Timer Elapsed - Turn OFF lights, when "I am not working"
############################################################################### ###############################################################################
@ -332,12 +293,12 @@ automation:
trigger: trigger:
- platform: state - platform: state
entity_id: timer.timer_garage entity_id: timer.timer_garage
from: 'active' from: "active"
to: 'idle' to: "idle"
condition: condition:
- condition: state - condition: state
entity_id: input_boolean.working_in_garage entity_id: input_boolean.working_in_garage
state: 'off' state: "off"
action: action:
- service: switch.turn_off - service: switch.turn_off
entity_id: switch.garage entity_id: switch.garage

View File

@ -6,7 +6,6 @@
############################################################################### ###############################################################################
homeassistant: homeassistant:
customize: customize:
group.tts_announcements: group.tts_announcements:
order: 52 order: 52
@ -67,12 +66,11 @@ tts:
- platform: amazon_polly - platform: amazon_polly
aws_access_key_id: !secret aws_access_key_id aws_access_key_id: !secret aws_access_key_id
aws_secret_access_key: !secret aws_secret_access_key aws_secret_access_key: !secret aws_secret_access_key
region_name: 'us-east-1' region_name: "us-east-1"
text_type: ssml text_type: ssml
voice: Joanna voice: Joanna
script: script:
############################################################################### ###############################################################################
# Notify Related Scripts # Notify Related Scripts
############################################################################### ###############################################################################
@ -93,13 +91,13 @@ script:
- service: ifttt.trigger - service: ifttt.trigger
data_template: data_template:
event: "LEEO_COLOR_CHANGE" event: "LEEO_COLOR_CHANGE"
value1: '{{ value1 }}' value1: "{{ value1 }}"
notify_me: notify_me:
sequence: sequence:
- condition: state - condition: state
entity_id: input_boolean.text_alerts entity_id: input_boolean.text_alerts
state: 'on' state: "on"
- condition: template - condition: template
value_template: '{{ message | trim != "" }}' value_template: '{{ message | trim != "" }}'
- service: script.ifttt_notify - service: script.ifttt_notify
@ -121,29 +119,29 @@ script:
voice_notify: voice_notify:
sequence: sequence:
- condition: template - condition: template
value_template: '{{ states.input_boolean.voice_notifications.state == "on" }}' value_template: "{{ states('input_boolean.voice_notifications') == 'on' }}"
- condition: template - condition: template
value_template: '{{ states.input_boolean.do_not_disturb.state | lower == "off" }}' value_template: "{{ states('input_boolean.do_not_disturb') | lower == 'off' }}"
- condition: template - condition: template
value_template: '{{ states.media_player.gstreamer.state == "idle" }}' value_template: "{{ states('media_player.gstreamer') == 'idle' }}"
- condition: template - condition: template
value_template: '{{ states.media_player.mpd.state != "playing" }}' value_template: "{{ states('media_player.mpd') != 'playing' }}"
- condition: template - condition: template
value_template: '{{ message | trim != "" }}' value_template: "{{ message | trim != '' }}"
- condition: state - condition: state
entity_id: group.all_devices entity_id: group.all_devices
state: 'home' state: "home"
- condition: template - condition: template
value_template: > value_template: >
{% if states.input_boolean.emergency_mode.state == "on" %} {% if states('input_boolean.emergency_mode') == "on" %}
true true
{% else %} {% else %}
{{ states.group.all_devices.state == "home" }} {{ states('group.all_devices') == "home" }}
{% endif %} {% endif %}
- condition: template - condition: template
value_template: > value_template: >
{% if only_at_night | default('no', true ) == "yes" %} {% if only_at_night | default('no', true ) == "yes" %}
{% if states.sun.sun.state == "above_horizon" %} {% if states('sun.sun') == "above_horizon" %}
false false
{% else %} {% else %}
true true
@ -155,15 +153,15 @@ script:
entity_id: media_player.gstreamer entity_id: media_player.gstreamer
data_template: data_template:
volume_level: > volume_level: >
{% if states.input_boolean.emergency_mode.state == "on" %} {% if states('input_boolean.emergency_mode') == "on" %}
{{ states.input_number.tts_volume_level_alert.state }} {{ states('input_number.tts_volume_level_alert') }}
{% else %} {% else %}
{% if now().hour | int < 12 and now().hour | int > 6 %} {% if now().hour | int < 12 and now().hour | int > 6 %}
{{ states.input_number.tts_volume_level_morning.state }} {{ states('input_number.tts_volume_level_morning') }}
{% elif now().hour|int > 12 and now().hour|int < 20 %} {% elif now().hour|int > 12 and now().hour|int < 20 %}
{{ states.input_number.tts_volume_level_afternoon.state }} {{ states('input_number.tts_volume_level_afternoon') }}
{% else %} {% else %}
{{ states.input_number.tts_volume_level_evening.state }} {{ states('input_number.tts_volume_level_evening') }}
{% endif %} {% endif %}
{% endif %} {% endif %}
- service: tts.amazon_polly_say - service: tts.amazon_polly_say

View File

@ -56,7 +56,6 @@ input_select:
icon: mdi:pig icon: mdi:pig
sensor: sensor:
## WiFi Information related sensors ## WiFi Information related sensors
- platform: mqtt - platform: mqtt
state_topic: "/wifi/pi_basement" state_topic: "/wifi/pi_basement"
@ -235,47 +234,47 @@ script:
sequence: sequence:
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_basement' topic: "/server/pi_basement"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_theater' topic: "/server/pi_theater"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_kitchen' topic: "/server/pi_kitchen"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_familyroom' topic: "/server/pi_familyroom"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_frontroom' topic: "/server/pi_frontroom"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_garage' topic: "/server/pi_garage"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_guest1' topic: "/server/pi_guest1"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_guest2' topic: "/server/pi_guest2"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_masterbedroom' topic: "/server/pi_masterbedroom"
payload: CMD_REBOOT_PI payload: CMD_REBOOT_PI
retain: false retain: false
@ -283,47 +282,47 @@ script:
sequence: sequence:
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_basement' topic: "/server/pi_basement"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_theater' topic: "/server/pi_theater"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_kitchen' topic: "/server/pi_kitchen"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_familyroom' topic: "/server/pi_familyroom"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_frontroom' topic: "/server/pi_frontroom"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_garage' topic: "/server/pi_garage"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_guest1' topic: "/server/pi_guest1"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_guest2' topic: "/server/pi_guest2"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_masterbedroom' topic: "/server/pi_masterbedroom"
payload: CMD_RESTART_SNAPCLIENT payload: CMD_RESTART_SNAPCLIENT
retain: false retain: false
@ -331,47 +330,47 @@ script:
sequence: sequence:
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_basement' topic: "/server/pi_basement"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_theater' topic: "/server/pi_theater"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_kitchen' topic: "/server/pi_kitchen"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_familyroom' topic: "/server/pi_familyroom"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_frontroom' topic: "/server/pi_frontroom"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_garage' topic: "/server/pi_garage"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_guest1' topic: "/server/pi_guest1"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_guest2' topic: "/server/pi_guest2"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data_template: data_template:
topic: '/server/pi_masterbedroom' topic: "/server/pi_masterbedroom"
payload: CMD_SHUTDOWN_PI payload: CMD_SHUTDOWN_PI
retain: false retain: false
@ -383,52 +382,52 @@ script:
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_basement topic: /server/pi_basement
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_theater topic: /server/pi_theater
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_kitchen topic: /server/pi_kitchen
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_familyroom topic: /server/pi_familyroom
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_frontroom topic: /server/pi_frontroom
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_garage topic: /server/pi_garage
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_guest1 topic: /server/pi_guest1
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_guest2 topic: /server/pi_guest2
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_masterbedroom topic: /server/pi_masterbedroom
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pizero_green topic: /server/pizero_green
payload: 'CMD_REPORT_WIFI_DETAILS' payload: "CMD_REPORT_WIFI_DETAILS"
retain: false retain: false
# Script to Query Disk Information - Publishes message 'CMD_REPORT_DISK_DETAILS' # Script to Query Disk Information - Publishes message 'CMD_REPORT_DISK_DETAILS'
@ -439,52 +438,52 @@ script:
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_basement topic: /server/pi_basement
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_theater topic: /server/pi_theater
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_kitchen topic: /server/pi_kitchen
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_familyroom topic: /server/pi_familyroom
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_frontroom topic: /server/pi_frontroom
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_garage topic: /server/pi_garage
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_guest1 topic: /server/pi_guest1
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_guest2 topic: /server/pi_guest2
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pi_masterbedroom topic: /server/pi_masterbedroom
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
- service: mqtt.publish - service: mqtt.publish
data: data:
topic: /server/pizero_green topic: /server/pizero_green
payload: 'CMD_REPORT_DISK_DETAILS' payload: "CMD_REPORT_DISK_DETAILS"
retain: false retain: false
############################################################################### ###############################################################################
@ -500,7 +499,6 @@ script:
# Automations: Various automations to query and issue commands to Raspberry Pis # Automations: Various automations to query and issue commands to Raspberry Pis
############################################################################### ###############################################################################
automation: automation:
# Queries WiFi Signal Level and Link Quality - it loads during startup, and # Queries WiFi Signal Level and Link Quality - it loads during startup, and
# updates once every 30 minutes # updates once every 30 minutes
############################################################################### ###############################################################################
@ -508,7 +506,7 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
- platform: time_pattern - platform: time_pattern
minutes: '/30' minutes: "/30"
- platform: homeassistant - platform: homeassistant
event: start event: start
action: action:
@ -521,7 +519,7 @@ automation:
initial_state: true initial_state: true
trigger: trigger:
- platform: time_pattern - platform: time_pattern
minutes: '/30' minutes: "/30"
- platform: homeassistant - platform: homeassistant
event: start event: start
action: action:
@ -536,18 +534,18 @@ automation:
entity_id: input_select.rpi_commands entity_id: input_select.rpi_commands
condition: condition:
- condition: template - condition: template
value_template: '{{ states.input_select.raspberry_pis.state | lower != "select one" }}' value_template: "{{ states('input_select.raspberry_pis') | lower != 'select one' }}"
- condition: template - condition: template
value_template: '{{ states.input_select.rpi_commands.state | lower != "select one" }}' value_template: "{{ states('input_select.rpi_commands') | lower != 'select one' }}"
action: action:
service: mqtt.publish service: mqtt.publish
data_template: data_template:
retain: false retain: false
topic: "{{ '/server/' ~ states.input_select.raspberry_pis.state }}" topic: "{{ '/server/' ~ states('input_select.raspberry_pis') }}"
payload: >- payload: >-
{% if states.input_select.rpi_commands.state | lower == "restart server" %} {% if states('input_select.rpi_commands') | lower == "restart server" %}
CMD_REBOOT_PI CMD_REBOOT_PI
{% elif states.input_select.rpi_commands.state | lower == "restart snapcast" %} {% elif states('input_select.rpi_commands') | lower == "restart snapcast" %}
CMD_RESTART_SNAPCLIENT CMD_RESTART_SNAPCLIENT
{% else %} {% else %}
CMD_SHUTDOWN_PI CMD_SHUTDOWN_PI

View File

@ -76,12 +76,12 @@ sensor:
- platform: template - platform: template
sensors: sensors:
nas_memory_usage_above_80: nas_memory_usage_above_80:
value_template: '{{ states.sensor.kalavala_nas_memory_usage.state | int > 80 }}' value_template: "{{ states('sensor.kalavala_nas_memory_usage') | int > 80 }}"
- platform: template - platform: template
sensors: sensors:
nas_cpu_usage_above_80: nas_cpu_usage_above_80:
value_template: '{{ states.sensor.kalavala_nas_cpu_usage.state | int > 80 }}' value_template: "{{ states('sensor.kalavala_nas_cpu_usage') | int > 80 }}"
############################################################################### ###############################################################################
# _ _ _ # _ _ _

View File

@ -29,4 +29,4 @@
# - service: persistent_notification.create # - service: persistent_notification.create
# data: # data:
# title: 'Quote:' # title: 'Quote:'
# message: '{{ states.sensor.quote_of_the_day.state }}' # message: '{{ states('sensor.quote_of_the_day') }}'

View File

@ -152,35 +152,35 @@
# - delay: # - delay:
# minutes: 1 # minutes: 1
# - service_template: > # - service_template: >
# {%- if states.sensor.rf_switch_one.state | lower == "on" -%} # {%- if states('sensor.rf_switch_one') | lower == "on" -%}
# homeassistant.turn_on # homeassistant.turn_on
# {%- else -%} # {%- else -%}
# homeassistant.turn_off # homeassistant.turn_off
# {%- endif -%} # {%- endif -%}
# entity_id: switch.switch_one # entity_id: switch.switch_one
# - service_template: > # - service_template: >
# {%- if states.sensor.rf_switch_two.state | lower == "on" -%} # {%- if states('sensor.rf_switch_two') | lower == "on" -%}
# homeassistant.turn_on # homeassistant.turn_on
# {%- else -%} # {%- else -%}
# homeassistant.turn_off # homeassistant.turn_off
# {%- endif -%} # {%- endif -%}
# entity_id: switch.switch_two # entity_id: switch.switch_two
# - service_template: > # - service_template: >
# {%- if states.sensor.rf_switch_three.state | lower == "on" -%} # {%- if states('sensor.rf_switch_three') | lower == "on" -%}
# homeassistant.turn_on # homeassistant.turn_on
# {%- else -%} # {%- else -%}
# homeassistant.turn_off # homeassistant.turn_off
# {%- endif -%} # {%- endif -%}
# entity_id: switch.switch_three # entity_id: switch.switch_three
# - service_template: > # - service_template: >
# {%- if states.sensor.rf_switch_four.state | lower == "on" -%} # {%- if states('sensor.rf_switch_four') | lower == "on" -%}
# homeassistant.turn_on # homeassistant.turn_on
# {%- else -%} # {%- else -%}
# homeassistant.turn_off # homeassistant.turn_off
# {%- endif -%} # {%- endif -%}
# entity_id: switch.switch_four # entity_id: switch.switch_four
# - service_template: > # - service_template: >
# {%- if states.sensor.rf_switch_five.state | lower == "on" -%} # {%- if states('sensor.rf_switch_five') | lower == "on" -%}
# homeassistant.turn_on # homeassistant.turn_on
# {%- else -%} # {%- else -%}
# homeassistant.turn_off # homeassistant.turn_off

View File

@ -22,6 +22,7 @@ input_datetime:
has_date: false has_date: false
has_time: true has_time: true
initial: "22:00:00" initial: "22:00:00"
autumn_wakeup_time: autumn_wakeup_time:
name: Autumn Wakeup Time name: Autumn Wakeup Time
has_date: false has_date: false
@ -33,6 +34,7 @@ input_datetime:
has_date: false has_date: false
has_time: true has_time: true
initial: "22:00:00" initial: "22:00:00"
winter_wakeup_time: winter_wakeup_time:
name: Winter Wakeup Time name: Winter Wakeup Time
has_date: false has_date: false
@ -44,6 +46,7 @@ input_datetime:
has_date: false has_date: false
has_time: true has_time: true
initial: "22:00:00" initial: "22:00:00"
spring_wakeup_time: spring_wakeup_time:
name: Spring Wakeup Time name: Spring Wakeup Time
has_date: false has_date: false
@ -72,56 +75,56 @@ sensor:
wakeup_hour: wakeup_hour:
friendly_name: Wakeup Hour friendly_name: Wakeup Hour
value_template: > value_template: >
{% if states.sensor.season.state | lower == "summer" %} {% if states('sensor.season') | lower == "summer" %}
{{ states.input_datetime.summer_wakeup_time.state.split(':')[0] }} {{ states('input_datetime.summer_wakeup_time').split(':')[0] }}
{% elif states.sensor.season.state | lower == "autumn" %} {% elif states('sensor.season') | lower == "autumn" %}
{{ states.input_datetime.autumn_wakeup_time.state.split(':')[0] }} {{ states('input_datetime.autumn_wakeup_time').split(':')[0] }}
{% elif states.sensor.season.state | lower == "winter" %} {% elif states('sensor.season') | lower == "winter" %}
{{ states.input_datetime.winter_wakeup_time.state.split(':')[0] }} {{ states('input_datetime.winter_wakeup_time').split(':')[0] }}
{% elif states.sensor.season.state | lower == "spring" %} {% elif states('sensor.season') | lower == "spring" %}
{{ states.input_datetime.spring_wakeup_time.state.split(':')[0] }} {{ states('input_datetime.spring_wakeup_time').split(':')[0] }}
{% else %} {% else %}
6 6
{% endif %} {% endif %}
wakeup_minute: wakeup_minute:
friendly_name: Wakeup Minute friendly_name: Wakeup Minute
value_template: > value_template: >
{% if states.sensor.season.state | lower == "summer" %} {% if states('sensor.season') | lower == "summer" %}
{{ states.input_datetime.summer_wakeup_time.state.split(':')[1] }} {{ states('input_datetime.summer_wakeup_time').split(':')[1] }}
{% elif states.sensor.season.state | lower == "autumn" %} {% elif states('sensor.season') | lower == "autumn" %}
{{ states.input_datetime.autumn_wakeup_time.state.split(':')[1] }} {{ states('input_datetime.autumn_wakeup_time').split(':')[1] }}
{% elif states.sensor.season.state | lower == "winter" %} {% elif states('sensor.season') | lower == "winter" %}
{{ states.input_datetime.winter_wakeup_time.state.split(':')[1] }} {{ states('input_datetime.winter_wakeup_time').split(':')[1] }}
{% elif states.sensor.season.state | lower == "spring" %} {% elif states('sensor.season') | lower == "spring" %}
{{ states.input_datetime.spring_wakeup_time.state.split(':')[1] }} {{ states('input_datetime.spring_wakeup_time').split(':')[1] }}
{% else %} {% else %}
0 0
{% endif %} {% endif %}
bedtime_hour: bedtime_hour:
friendly_name: Bedtime Hour friendly_name: Bedtime Hour
value_template: > value_template: >
{% if states.sensor.season.state | lower == "summer" %} {% if states('sensor.season') | lower == "summer" %}
{{ states.input_datetime.summer_bed_time.state.split(':')[0] }} {{ states('input_datetime.summer_bed_time').split(':')[0] }}
{% elif states.sensor.season.state | lower == "autumn" %} {% elif states('sensor.season') | lower == "autumn" %}
{{ states.input_datetime.autumn_bed_time.state.split(':')[0] }} {{ states('input_datetime.autumn_bed_time').split(':')[0] }}
{% elif states.sensor.season.state | lower == "winter" %} {% elif states('sensor.season') | lower == "winter" %}
{{ states.input_datetime.winter_bed_time.state.split(':')[0] }} {{ states('input_datetime.winter_bed_time').split(':')[0] }}
{% elif states.sensor.season.state | lower == "spring" %} {% elif states('sensor.season') | lower == "spring" %}
{{ states.input_datetime.spring_bed_time.state.split(':')[0] }} {{ states('input_datetime.spring_bed_time').split(':')[0] }}
{% else %} {% else %}
0 0
{% endif %} {% endif %}
bedtime_minute: bedtime_minute:
friendly_name: Bedtime Minute friendly_name: Bedtime Minute
value_template: > value_template: >
{% if states.sensor.season.state | lower == "summer" %} {% if states('sensor.season') | lower == "summer" %}
{{ states.input_datetime.summer_bed_time.state.split(':')[1] }} {{ states('input_datetime.summer_bed_time').split(':')[1] }}
{% elif states.sensor.season.state | lower == "autumn" %} {% elif states('sensor.season') | lower == "autumn" %}
{{ states.input_datetime.autumn_bed_time.state.split(':')[1] }} {{ states('input_datetime.autumn_bed_time').split(':')[1] }}
{% elif states.sensor.season.state | lower == "winter" %} {% elif states('sensor.season') | lower == "winter" %}
{{ states.input_datetime.winter_bed_time.state.split(':')[1] }} {{ states('input_datetime.winter_bed_time').split(':')[1] }}
{% elif states.sensor.season.state | lower == "spring" %} {% elif states('sensor.season') | lower == "spring" %}
{{ states.input_datetime.spring_bed_time.state.split(':')[1] }} {{ states('input_datetime.spring_bed_time').split(':')[1] }}
{% else %} {% else %}
0 0
{% endif %} {% endif %}
@ -148,7 +151,7 @@ input_boolean:
stream_camera2chromecast: stream_camera2chromecast:
name: Stream Cameras to Chromecast name: Stream Cameras to Chromecast
icon: mdi:cctv icon: mdi:cctv
initial: off initial: on
home_security: home_security:
name: Home Security System name: Home Security System

View File

@ -1007,4 +1007,3 @@
# data_template: # data_template:
# entity_id: climate.cooler_fan # entity_id: climate.cooler_fan
# temperature: "{{ states.climate.main_floor.temperature |float }}" # temperature: "{{ states.climate.main_floor.temperature |float }}"

View File

@ -37,7 +37,6 @@ input_number:
step: 0.1 step: 0.1
automation: automation:
############################################################################### ###############################################################################
# The text entered in the text box will be announced in the house # The text entered in the text box will be announced in the house
############################################################################### ###############################################################################
@ -50,4 +49,4 @@ automation:
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
message: "{{ trigger.to_state.state }}" message: "{{ trigger.to_state.state }}"
greeting: "{{ 'yes' if states.input_boolean.greeting.state == 'on' else 'no' }}" greeting: "{{ 'yes' if states('input_boolean.greeting') == 'on' else 'no' }}"

View File

@ -14,13 +14,13 @@ homeassistant:
sensor: sensor:
- platform: mqtt - platform: mqtt
name: 'USPS Mail' name: "USPS Mail"
state_topic: '/usps/mails' state_topic: "/usps/mails"
value_template: "{{ value }}" value_template: "{{ value }}"
- platform: mqtt - platform: mqtt
name: USPS Packages name: USPS Packages
state_topic: '/usps/packages' state_topic: "/usps/packages"
value_template: "{{ value }}" value_template: "{{ value }}"
camera: camera:
@ -38,7 +38,6 @@ camera:
# #
############################################################################### ###############################################################################
automation: automation:
# Notify USPS mails via TTS, and iOS notification with attachment # Notify USPS mails via TTS, and iOS notification with attachment
############################################################################### ###############################################################################
- alias: Notify USPS Mail - alias: Notify USPS Mail
@ -48,21 +47,23 @@ automation:
entity_id: sensor.usps_mail entity_id: sensor.usps_mail
condition: condition:
- condition: template - condition: template
value_template: '{{ states.sensor.usps_mail.state | int > 0 }}' value_template: "{{ states('sensor.usps_mail') != 'unknown' }}"
- condition: template - condition: template
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}' value_template: "{{ states('sensor.usps_mail') | int > 0 }}"
- condition: template
value_template: "{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}"
action: action:
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
message: > message: >
{%- if states.sensor.usps_mail.state | int == 1 -%} {%- if states('sensor.usps_mail') | int == 1 -%}
Attention: USPS is delivering {{ states.sensor.usps_mail.state }} mail today. Attention: USPS is delivering {{ states('sensor.usps_mail') }} mail today.
{%- else -%} {%- else -%}
Attention: USPS is delivering {{ states.sensor.usps_mail.state }} mails today. Attention: USPS is delivering {{ states('sensor.usps_mail') }} mails today.
{%- endif -%} {%- endif -%}
- service: notify.ios_devices - service: notify.ios_devices
data_template: data_template:
message: "USPS will be delivering {{ states.sensor.usps_mail.state }} mail(s) today." message: "USPS will be delivering {{ states('sensor.usps_mail') }} mail(s) today."
data: data:
push: push:
category: camera category: camera
@ -80,15 +81,17 @@ automation:
entity_id: sensor.usps_packages entity_id: sensor.usps_packages
condition: condition:
- condition: template - condition: template
value_template: '{{ states.sensor.usps_packages.state | int > 0 }}' value_template: "{{ states('sensor.usps_packages') != 'unknown' }}"
- condition: template - condition: template
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}' value_template: "{{ states('sensor.usps_packages') | int > 0 }}"
- condition: template
value_template: "{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}"
action: action:
- service: script.voice_notify - service: script.voice_notify
data_template: data_template:
message: > message: >
{%- if states.sensor.usps_packages.state | int == 1 -%} {%- if states('sensor.usps_packages') | int == 1 -%}
Attention: USPS is delivering {{ states.sensor.usps_packages.state }} package today. Attention: USPS is delivering {{ states('sensor.usps_packages') }} package today.
{%- else -%} {%- else -%}
Attention: USPS is delivering {{ states.sensor.usps_packages.state }} packages today. Attention: USPS is delivering {{ states('sensor.usps_packages') }} packages today.
{%- endif -%} {%- endif -%}

View File

@ -58,11 +58,6 @@ homeassistant:
icon: mdi:weather-windy-variant icon: mdi:weather-windy-variant
homebridge_hidden: true homebridge_hidden: true
camera:
- platform: generic
name: Ohio Doppler Weather
still_image_url: !secret ohio_doppler_weather
input_boolean: input_boolean:
nice_breeze_alert: nice_breeze_alert:
name: Nice Breeze Alert name: Nice Breeze Alert
@ -121,8 +116,8 @@ weather:
- platform: darksky - platform: darksky
api_key: !secret darksky_api_key api_key: !secret darksky_api_key
openuv: # openuv:
api_key: !secret openuv_apikey # api_key: !secret openuv_apikey
# iqvia: # iqvia:
# zip_code: !secret zip_code # zip_code: !secret zip_code
@ -355,13 +350,13 @@ automation:
{%- elif curState == "sleet" %} {%- elif curState == "sleet" %}
input_boolean.sleet_alert input_boolean.sleet_alert
{%- endif %} {%- endif %}
# - alias: Update OpenUV every hour (24 of 50 calls per day)
# trigger:
# platform: time_pattern
# minutes: "/60"
# action:
# service: openuv.update_data
- alias: Update OpenUV every hour (24 of 50 calls per day)
trigger:
platform: time_pattern
minutes: "/60"
action:
service: openuv.update_data
# Weather sensors - TBD, too lazy to create them # Weather sensors - TBD, too lazy to create them
# #
# {{ states.sun.sun.state }} # {{ states.sun.sun.state }}

View File

@ -35,13 +35,13 @@ automation:
seconds: 00 seconds: 00
condition: condition:
- condition: template - condition: template
value_template: '{{ states.binary_sensor.workday_sensor.state == "on" }}' value_template: "{{ states('binary_sensor.workday_sensor') == 'on' }}"
- condition: template - condition: template
value_template: "{{ now().hour|int >= 10 and now().hour|int < 17 }}" value_template: "{{ now().hour|int >= 10 and now().hour|int < 17 }}"
- condition: template - condition: template
value_template: '{{ states.timer.wfh_timer.state == "idle" }}' value_template: "{{ states('timer.wfh_timer') == 'idle' }}"
- condition: template - condition: template
value_template: '{{ states.device_tracker.life360_suresh.state == "home" }}' value_template: "{{ states('device_tracker.life360_suresh') == 'home' }}"
action: action:
- service: timer.start - service: timer.start
entity_id: timer.wfh_timer entity_id: timer.wfh_timer
@ -81,7 +81,7 @@ automation:
event: leave event: leave
condition: condition:
- condition: template - condition: template
value_template: '{{ states.timer.wfh_timer.state == "active" }}' value_template: "{{ states('timer.wfh_timer') == 'active' }}"
action: action:
- service: timer.cancel - service: timer.cancel
entity_id: timer.wfh_timer entity_id: timer.wfh_timer

View File

@ -107,7 +107,7 @@ automation:
message: >- message: >-
{{ trigger.entity_id.split('.')[1].split('_')[1] | title }} just left {{ trigger.zone.attributes.friendly_name }}. {{ trigger.entity_id.split('.')[1].split('_')[1] | title }} just left {{ trigger.zone.attributes.friendly_name }}.
{% if trigger.entity_id.split('.')[1].split('_')[1] == "suresh" and trigger.zone.attributes.friendly_name | lower == "office" %} {% if trigger.entity_id.split('.')[1].split('_')[1] == "suresh" and trigger.zone.attributes.friendly_name | lower == "office" %}
and will be home in {{ (states.sensor.suresh2home.state | int) + 5 }} minutes. and will be home in {{ (states('sensor.suresh2home') | int) + 5 }} minutes.
{% endif %} {% endif %}
greeting: "no" greeting: "no"
@ -154,13 +154,13 @@ automation:
seconds: "/30" seconds: "/30"
condition: condition:
- condition: template - condition: template
value_template: '{{ states.input_boolean.home_mode_away.state == "off" }}' value_template: "{{ states('input_boolean.home_mode_away') == 'off' }}"
- condition: template - condition: template
value_template: > value_template: >
{% set suresh = states.device_tracker.life360_suresh.state %} {% set suresh = states('device_tracker.life360_suresh') %}
{% set mallika = states.device_tracker.life360_mallika.state %} {% set mallika = states('device_tracker.life360_mallika') %}
{% set srinika = states.device_tracker.life360_srinika.state %} {% set srinika = states('device_tracker.life360_srinika') %}
{% set hasika = states.device_tracker.life360_hasika.state %} {% set hasika = states('device_tracker.life360_hasika') %}
{% if suresh != "home" and mallika != "home" and srinika != "home" and hasika != "home" %} {% if suresh != "home" and mallika != "home" and srinika != "home" and hasika != "home" %}
True True
{% else %} {% else %}
@ -198,10 +198,10 @@ automation:
message: "Suresh is on his way home, he is within the 5 miles range. Should be home soon!" message: "Suresh is on his way home, he is within the 5 miles range. Should be home soon!"
- condition: template - condition: template
value_template: > value_template: >
{% set suresh = states.device_tracker.life360_suresh.state %} {% set suresh = states('device_tracker.life360_suresh') %}
{% set mallika = states.device_tracker.life360_mallika.state %} {% set mallika = states('device_tracker.life360_mallika') %}
{% set srinika = states.device_tracker.life360_srinika.state %} {% set srinika = states('device_tracker.life360_srinika') %}
{% set hasika = states.device_tracker.life360_hasika.state %} {% set hasika = states('device_tracker.life360_hasika') %}
{% if suresh != "home" and mallika != "home" and srinika != "home" and hasika != "home" %} {% if suresh != "home" and mallika != "home" and srinika != "home" and hasika != "home" %}
True True
{% else %} {% else %}

View File

@ -104,7 +104,7 @@ automation:
- service: input_label.set_value - service: input_label.set_value
data_template: data_template:
entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"
value: '{{ trigger.payload_json.batt | int }}' value: "{{ trigger.payload_json.batt | int }}"
- service: input_label.set_name - service: input_label.set_name
data_template: data_template:
entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery" entity_id: "input_label.{{trigger.topic.split('/')[-1]}}_battery"

View File

@ -10,7 +10,6 @@
homeassistant: homeassistant:
customize: customize:
# ZWave Binary Sensors # ZWave Binary Sensors
binary_sensor.aeotec_water_sensor_sensor: binary_sensor.aeotec_water_sensor_sensor:
friendly_name: Aeotec Water Sensor friendly_name: Aeotec Water Sensor
@ -437,7 +436,6 @@ zwave:
# #
############################################################################### ###############################################################################
automation: automation:
- alias: WallMote Button 1 Pressed - alias: WallMote Button 1 Pressed
trigger: trigger:
- platform: event - platform: event
@ -471,7 +469,7 @@ automation:
- service: climate.set_away_mode - service: climate.set_away_mode
data_template: data_template:
entity_id: climate.dining_room entity_id: climate.dining_room
away_mode: 'false' away_mode: "false"
- alias: WallMote Button 4 Pressed - alias: WallMote Button 4 Pressed
trigger: trigger:
@ -484,4 +482,4 @@ automation:
- service: climate.set_away_mode - service: climate.set_away_mode
data_template: data_template:
entity_id: climate.dining_room entity_id: climate.dining_room
away_mode: 'true' away_mode: "true"

View File

@ -1,10 +1,10 @@
> >
{% macro weather_update() -%} {% macro weather_update() -%}
Outside temperature is {{ states.sensor.dark_sky_apparent_temperature.state | round(0) }} degrees. Outside temperature is {{ states('sensor.dark_sky_apparent_temperature') | round(0) }} degrees.
{%- endmacro -%} {%- endmacro -%}
{%- macro uv_levels() -%} {%- macro uv_levels() -%}
{%- set uv = states.sensor.pws_uv.state | int -%} {%- set uv = states('sensor.pws_uv') | int -%}
{%- if uv >= 6 and uv <= 7 -%} {%- if uv >= 6 and uv <= 7 -%}
Current UV index is high. Please be careful outdoors. Current UV index is high. Please be careful outdoors.
{%- elif uv >= 8 and uv <= 10 -%} {%- elif uv >= 8 and uv <= 10 -%}
@ -17,7 +17,7 @@
{%- endmacro -%} {%- endmacro -%}
{%- macro USPS() -%} {%- macro USPS() -%}
USPS is going to deliver {{ states.sensor.usps_mail.state }} mails today. USPS is going to deliver {{ states('sensor.usps_mail') }} mails today.
{%- endmacro -%} {%- endmacro -%}
{%- macro alert_battery_levels() %} {%- macro alert_battery_levels() %}
@ -28,12 +28,12 @@
{%- macro tesla_status() -%} {%- macro tesla_status() -%}
{%- if states("sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor") != "unknown" -%} {%- if states("sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor") != "unknown" -%}
Your Tesla car battery is at {{ states.sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor.state }} percent ({{ (states.sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor.state | int) | round(0) }} miles). Your Tesla car battery is at {{ states('sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor') }} percent ({{ (states('sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor') | int) | round(0) }} miles).
{%- endif -%} {%- endif -%}
{%- endmacro -%} {%- endmacro -%}
{%- macro pollen_levels() -%} {%- macro pollen_levels() -%}
Pollen level is {{ states.sensor.pollen_level.state }}. Pollen level is {{ states('sensor.pollen_level') }}.
{%- endmacro -%} {%- endmacro -%}
{%- macro humidity_status() -%} {%- macro humidity_status() -%}
@ -45,13 +45,13 @@
{%- endmacro -%} {%- endmacro -%}
{%- macro single_car_garage_door_status() -%} {%- macro single_car_garage_door_status() -%}
{%- if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state|lower == "on" -%} {%- if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') |lower == "on" -%}
{{ states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN {{ states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN
{%- endif -%} {%- endif -%}
{%- endmacro -%} {%- endmacro -%}
{%- macro two_car_garage_door_status() -%} {%- macro two_car_garage_door_status() -%}
{% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state|lower == "on" %} {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') |lower == "on" %}
{{ states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN {{ states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN
{% endif %} {% endif %}
{%- endmacro -%} {%- endmacro -%}

View File

@ -46,11 +46,11 @@
{#- Provides Home Security System Status -#} {#- Provides Home Security System Status -#}
{%- macro alarm_status() -%} {%- macro alarm_status() -%}
{%- if states.alarm_control_panel.simplisafe.state | lower == "disarmed" -%} {%- if states('alarm_control_panel.simplisafe') | lower == "disarmed" -%}
Your home security system is switched OFF. You may want to turn it ON. Your home security system is switched OFF. You may want to turn it ON.
{%- elif states.alarm_control_panel.simplisafe.state | lower == "armed_away" -%} {%- elif states('alarm_control_panel.simplisafe') | lower == "armed_away" -%}
Your home security system is set to away mode. Your home security system is set to away mode.
{%- elif states.alarm_control_panel.simplisafe.state | lower == "armed_home" -%} {%- elif states('alarm_control_panel.simplisafe') | lower == "armed_home" -%}
Your home security system is ON, and your home is secured. Your home security system is ON, and your home is secured.
{%- endif %} {%- endif %}
{%- endmacro -%} {%- endmacro -%}
@ -58,11 +58,11 @@
{#- Provides Trash and Recycle Reminder -#} {#- Provides Trash and Recycle Reminder -#}
{%- macro trash_recycle_status() -%} {%- macro trash_recycle_status() -%}
{%- set flag = false -%} {%- set flag = false -%}
{%- if states.sensor.trash_day.state | lower == "yes" -%} {%- if states('sensor.trash_day') | lower == "yes" -%}
Your trash will be picked up tomorrow. Did you leave the trash bin outside?. Your trash will be picked up tomorrow. Did you leave the trash bin outside?.
{%- set flag = true -%} {%- set flag = true -%}
{%- endif %} {%- endif %}
{%- if states.sensor.recycle_day.state | lower == "yes" -%} {%- if states('sensor.recycle_day') | lower == "yes" -%}
{%- if flag -%} {%- if flag -%}
Also, your recycle stuff will be picked up tomorrow as well! Please leave both recycle bin and trash cans outside if you haven't!. Also, your recycle stuff will be picked up tomorrow as well! Please leave both recycle bin and trash cans outside if you haven't!.
{%- else -%} {%- else -%}
@ -76,13 +76,13 @@
Outside, it is going to be {{states('sensor.dark_sky_minutely_summary')}}. Outside, it is going to be {{states('sensor.dark_sky_minutely_summary')}}.
{%- endif -%} {%- endif -%}
{%- if states('sensor.dark_sky_apparent_temperature') != "unknown" %} {%- if states('sensor.dark_sky_apparent_temperature') != "unknown" %}
The temperature outside is around {{ states.sensor.dark_sky_apparent_temperature.state | round(0)}} degrees. The temperature outside is around {{ states('sensor.dark_sky_apparent_temperature') | round(0)}} degrees.
{%- endif -%} {%- endif -%}
{%- endmacro -%} {%- endmacro -%}
{%- macro pihole() -%} {%- macro pihole() -%}
{%- if states.sensor.ads_blocked_today.state|int > 100 -%} {%- if states('sensor.ads_blocked_today') |int > 100 -%}
Our internet blocking system has blocked {{states.sensor.ads_blocked_today.state}} ads today. Our internet blocking system has blocked {{states('sensor.ads_blocked_today') }} ads today.
{%- endif -%} {%- endif -%}
{%- endmacro -%} {%- endmacro -%}
@ -103,35 +103,35 @@
{#- Provides Garage Doors Status -#} {#- Provides Garage Doors Status -#}
{%- macro single_car_garage_door_status() -%} {%- macro single_car_garage_door_status() -%}
{% if states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.state|lower == "on" %} {% if states('binary_sensor.single_car_garage_door_tilt_sensor_sensor') |lower == "on" %}
{{ states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN {{ states.binary_sensor.single_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN
{% endif %} {% endif %}
{%- endmacro -%} {%- endmacro -%}
{%- macro two_car_garage_door_status() -%} {%- macro two_car_garage_door_status() -%}
{% if states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.state|lower == "on" %} {% if states('binary_sensor.two_car_garage_door_tilt_sensor_sensor') |lower == "on" %}
{{ states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN {{ states.binary_sensor.two_car_garage_door_tilt_sensor_sensor.attributes.friendly_name }} is OPEN
{% endif %} {% endif %}
{%- endmacro -%} {%- endmacro -%}
{%- macro tesla_status() %} {%- macro tesla_status() %}
{%- if states("binary_sensor.tesla_model_3_5yj3e1ea8jf010610_charger_sensor") != "unknown" -%} {%- if states("binary_sensor.tesla_model_3_5yj3e1ea8jf010610_charger_sensor") != "unknown" -%}
Your Tesla Car is {{ 'not' if states.binary_sensor.tesla_model_3_5yj3e1ea8jf010610_charger_sensor.state == "off" }} plugged in. Your Tesla Car is {{ 'not' if states('binary_sensor.tesla_model_3_5yj3e1ea8jf010610_charger_sensor') == "off" }} plugged in.
{% endif %} {% endif %}
{%- if states("sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor") != "unknown" and states("sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor") != "unknown" and states('sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor') | int > 0 -%} {%- if states("sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor") != "unknown" and states("sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor") != "unknown" and states('sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor') | int > 0 -%}
Tesla Car battery is at {{ states.sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor.state }}%, and you can drive about {{ (states.sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor.state | int) | round(0) }} miles. Tesla Car battery is at {{ states('sensor.tesla_model_3_5yj3e1ea8jf010610_battery_sensor') }}%, and you can drive about {{ (states.sensor.tesla_model_3_5yj3e1ea8jf010610_range_sensor.state | int) | round(0) }} miles.
{% endif %} {% endif %}
{%- endmacro %} {%- endmacro %}
{#- Check for low humidity levels in autumn, winter and high levels during rest of the year -#} {#- Check for low humidity levels in autumn, winter and high levels during rest of the year -#}
{%- macro humidity_status() -%} {%- macro humidity_status() -%}
{%- if states.sensor.season.state| lower == "autumn" or states.sensor.season.state| lower == "winter" %} {%- if states('sensor.season') | lower == "autumn" or states('sensor.season') | lower == "winter" %}
{%- if states.sensor.dining_room_thermostat_humidity.state | int < 30 -%} {%- if states('sensor.dining_room_thermostat_humidity') | int < 30 -%}
Home humidity is less than 30%. Home humidity is less than 30%.
{%- endif -%} {%- endif -%}
{% else %} {% else %}
{%- if states.sensor.dining_room_thermostat_humidity.state | default(0) | int > 60 -%} {%- if states('sensor.dining_room_thermostat_humidity') | default(0) | int > 60 -%}
Home humidity is more than 60%. Home humidity is more than 60%.
{%- endif -%} {%- endif -%}
{%- endif -%} {%- endif -%}

View File

@ -7,13 +7,15 @@
{# Birthday notifications #} {# Birthday notifications #}
{%- macro birthday_countdown(name, days2go) -%} {%- macro birthday_countdown(name, days2go) -%}
{%- if days2go == 0 -%} {%if days2go != 'unknown' %}
{%- if days2go |int == 0 -%}
Today is {{name}}'s Birthday!. Happy Birthday to you, my dear {{name}}!!!. Today is {{name}}'s Birthday!. Happy Birthday to you, my dear {{name}}!!!.
{%- elif days2go == 1 -%} {%- elif days2go |int == 1 -%}
Tomorrow is {{name}}'s Birthday! HURRAY!!! Tomorrow is {{name}}'s Birthday! HURRAY!!!
{%- elif days2go > 1 and days2go <= 10 -%} {%- elif days2go |int > 1 and days2go |int <= 10 -%}
{{name}}'s Birthday is in {{days2go}} days! HURRAY!!! {{name}}'s Birthday is in {{days2go}} days! HURRAY!!!
{%- endif -%} {%- endif -%}
{%- endif -%}
{%- endmacro -%} {%- endmacro -%}
{%- macro tesla_status() -%} {%- macro tesla_status() -%}
@ -58,7 +60,7 @@
{% else %} {% else %}
{% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.suresh_kalavala.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%} {% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.suresh_kalavala.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%}
{% endif -%} {% endif -%}
{% if days2NextEvent <= (states.input_number.calendar_remind_before_days.state | int) %} {% if days2NextEvent <= states('input_number.calendar_remind_before_days') | int %}
Your next event. {{ states.calendar.suresh_kalavala.attributes.message }} . starts Your next event. {{ states.calendar.suresh_kalavala.attributes.message }} . starts
{% if days2NextEvent == 0 | int %} {% if days2NextEvent == 0 | int %}
today at {{ strptime(states.calendar.suresh_kalavala.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%I:%M %p') }}. today at {{ strptime(states.calendar.suresh_kalavala.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%I:%M %p') }}.
@ -83,7 +85,7 @@
{% else %} {% else %}
{% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_india.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%} {% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_india.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%}
{% endif -%} {% endif -%}
{% if days2NextEvent <= (states.input_number.calendar_remind_before_days.state | int) %} {% if days2NextEvent <= (states('input_number.calendar_remind_before_days') | int) %}
{% if days2NextEvent == 0 | int %} {% if days2NextEvent == 0 | int %}
Today is {{ states.calendar.holidays_in_india.attributes.message | replace(".", "")}}. Today is {{ states.calendar.holidays_in_india.attributes.message | replace(".", "")}}.
{%- elif days2NextEvent == 1 %} {%- elif days2NextEvent == 1 %}
@ -106,7 +108,7 @@
{% else %} {% else %}
{% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_united_states.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%} {% set days2NextEvent = strptime((now().year ~ "-12-31 12:02:05"), '%Y-%m-%d %H:%M:%S').strftime('%j') | int - (now().strftime('%j') | int) + (strptime(states.calendar.holidays_in_united_states.attributes.start_time, '%Y-%m-%d %H:%M:%S').strftime('%j') | int) -%}
{% endif -%} {% endif -%}
{% if days2NextEvent <= (states.input_number.calendar_remind_before_days.state | int) %} {% if days2NextEvent <= (states('input_number.calendar_remind_before_days') | int) %}
{% if days2NextEvent == 0 | int %} {% if days2NextEvent == 0 | int %}
Today is {{ states.calendar.holidays_in_united_states.attributes.message | replace(".", "")}}. Today is {{ states.calendar.holidays_in_united_states.attributes.message | replace(".", "")}}.
{%- elif days2NextEvent == 1 %} {%- elif days2NextEvent == 1 %}
@ -161,9 +163,9 @@
{# Drone Flying Weather #} {# Drone Flying Weather #}
{%- macro drone_weather() -%} {%- macro drone_weather() -%}
{% if states.binary_sensor.good_weather_to_fly_drones.state| lower == "on" and {% if states('binary_sensor.good_weather_to_fly_drones')| lower == "on" and
states.device_tracker.life360_suresh.state == "home" and states('device_tracker.life360_suresh') == "home" and
states.sun.sun.state == "above_horizon" %} states('sun.sun') == "above_horizon" %}
It is now a great weather to fly drone outside. It is now a great weather to fly drone outside.
{% endif %} {% endif %}
{%- endmacro -%} {%- endmacro -%}
@ -202,9 +204,9 @@
{{ USPS() }} {{ USPS() }}
{{ tesla_status() }} {{ tesla_status() }}
{{ drone_weather() }} {{ drone_weather() }}
{{ birthday_countdown("Mallika", states.input_label.mallika_birthday_days2go.state | int ) }} {{ birthday_countdown("Mallika", states('input_label.mallika_birthday_days2go')) }}
{{ birthday_countdown("Srinika", states.input_label.srinika_birthday_days2go.state | int ) }} {{ birthday_countdown("Srinika", states('input_label.srinika_birthday_days2go')) }}
{{ birthday_countdown("Hasika", states.input_label.hasika_birthday_days2go.state | int ) }} {{ birthday_countdown("Hasika", states('input_label.hasika_birthday_days2go')) }}
{%- endmacro -%} {%- endmacro -%}
{# Call the macro #} {# Call the macro #}

View File

@ -34,10 +34,10 @@
</CommandClass> </CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true"> <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="64.2" /> <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="63.6" />
<Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" /> <Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" />
<Value type="decimal" genre="user" instance="1" index="4" label="Power" units="W" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="46" /> <Value type="decimal" genre="user" instance="1" index="4" label="Power" units="W" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="46" />
<Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="48" /> <Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="32" />
</CommandClass> </CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" after_mark="true" innif="true"> <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" after_mark="true" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -168,7 +168,7 @@
</CommandClass> </CommandClass>
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true"> <CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="99" /> <Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="48" />
</CommandClass> </CommandClass>
<CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true"> <CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -208,7 +208,7 @@
</CommandClass> </CommandClass>
<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true"> <CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" /> <Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
<SensorMap index="0" type="46" /> <SensorMap index="0" type="46" />
<SensorMap index="0" type="62" /> <SensorMap index="0" type="62" />
<SensorMap index="0" type="193" /> <SensorMap index="0" type="193" />
@ -216,9 +216,9 @@
</CommandClass> </CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true"> <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="64.5" /> <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="63.8" />
<Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" /> <Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" />
<Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="50" /> <Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="31" />
<Value type="decimal" genre="user" instance="1" index="27" label="Ultraviolet" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" /> <Value type="decimal" genre="user" instance="1" index="27" label="Ultraviolet" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" />
</CommandClass> </CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" after_mark="true" innif="true"> <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" after_mark="true" innif="true">
@ -350,7 +350,7 @@
</CommandClass> </CommandClass>
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true"> <CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="49" /> <Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="30" />
</CommandClass> </CommandClass>
<CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true"> <CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -390,7 +390,7 @@
</CommandClass> </CommandClass>
<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true"> <CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" /> <Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
<SensorMap index="0" type="255" /> <SensorMap index="0" type="255" />
</CommandClass> </CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1"> <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1">
@ -415,7 +415,7 @@
<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="9" label="Access Control" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="22" /> <Value type="byte" genre="user" instance="1" index="9" label="Access Control" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="23" />
<Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="11" label="Power Management" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="11" label="Power Management" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
</CommandClass> </CommandClass>
@ -574,7 +574,7 @@
</CommandClass> </CommandClass>
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true"> <CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="100" /> <Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="99" />
</CommandClass> </CommandClass>
<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="2" innif="true"> <CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="2" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -728,9 +728,9 @@
</CommandClass> </CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true"> <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="69.2" /> <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="67.9" />
<Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" /> <Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" />
<Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="51" /> <Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="35" />
<Value type="decimal" genre="user" instance="1" index="27" label="Ultraviolet" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" /> <Value type="decimal" genre="user" instance="1" index="27" label="Ultraviolet" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" />
</CommandClass> </CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true"> <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
@ -984,7 +984,7 @@
</CommandClass> </CommandClass>
<CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" request_flags="4" innif="true"> <CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="bool" genre="user" instance="1" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" /> <Value type="bool" genre="user" instance="1" index="0" label="Switch" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
</CommandClass> </CommandClass>
<CommandClass id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="2" innif="true"> <CommandClass id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="2" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -1006,12 +1006,12 @@
</CommandClass> </CommandClass>
<CommandClass id="50" name="COMMAND_CLASS_METER" version="3" request_flags="2" innif="true"> <CommandClass id="50" name="COMMAND_CLASS_METER" version="3" request_flags="2" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="0" label="Energy" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="51.930" /> <Value type="decimal" genre="user" instance="1" index="0" label="Energy" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="53.036" />
<Value type="decimal" genre="user" instance="1" index="1" label="Previous Reading" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="51.923" /> <Value type="decimal" genre="user" instance="1" index="1" label="Previous Reading" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="52.609" />
<Value type="int" genre="user" instance="1" index="2" label="Interval" units="seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="65535" /> <Value type="int" genre="user" instance="1" index="2" label="Interval" units="seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="65535" />
<Value type="decimal" genre="user" instance="1" index="8" label="Power" units="W" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="12.922" /> <Value type="decimal" genre="user" instance="1" index="8" label="Power" units="W" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="12.274" />
<Value type="decimal" genre="user" instance="1" index="16" label="Voltage" units="V" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="122.486" /> <Value type="decimal" genre="user" instance="1" index="16" label="Voltage" units="V" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="123.389" />
<Value type="decimal" genre="user" instance="1" index="20" label="Current" units="A" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.114" /> <Value type="decimal" genre="user" instance="1" index="20" label="Current" units="A" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.179" />
<Value type="bool" genre="user" instance="1" index="32" label="Exporting" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" /> <Value type="bool" genre="user" instance="1" index="32" label="Exporting" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
<Value type="button" genre="system" instance="1" index="33" label="Reset" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" /> <Value type="button" genre="system" instance="1" index="33" label="Reset" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
</CommandClass> </CommandClass>
@ -1190,8 +1190,8 @@
<Item label="Saturday" value="6" /> <Item label="Saturday" value="6" />
<Item label="Sunday" value="7" /> <Item label="Sunday" value="7" />
</Value> </Value>
<Value type="byte" genre="user" instance="1" index="1" label="Hour" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="10" /> <Value type="byte" genre="user" instance="1" index="1" label="Hour" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
<Value type="byte" genre="user" instance="1" index="2" label="Minute" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="33" /> <Value type="byte" genre="user" instance="1" index="2" label="Minute" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="45" />
</CommandClass> </CommandClass>
<CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true"> <CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -1339,7 +1339,7 @@
</CommandClass> </CommandClass>
<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true"> <CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" /> <Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="True" />
<SensorMap index="0" type="255" /> <SensorMap index="0" type="255" />
</CommandClass> </CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1"> <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1">
@ -1369,7 +1369,7 @@
<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="8" />
<Value type="byte" genre="user" instance="1" index="11" label="Power Management" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="11" label="Power Management" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
</CommandClass> </CommandClass>
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true"> <CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
@ -2038,7 +2038,7 @@
</CommandClass> </CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="7" innif="true"> <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="7" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="69.62" /> <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="66.02" />
</CommandClass> </CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true"> <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -2238,7 +2238,7 @@
</CommandClass> </CommandClass>
</CommandClasses> </CommandClasses>
</Node> </Node>
<Node id="31" name="Aeotec Water Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3079" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete"> <Node id="31" name="Aeotec Water Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3079" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
<Manufacturer id="86" name="Aeotec"> <Manufacturer id="86" name="Aeotec">
<Product type="102" id="7a" name="Unknown: type=0102, id=007a" /> <Product type="102" id="7a" name="Unknown: type=0102, id=007a" />
</Manufacturer> </Manufacturer>
@ -2253,7 +2253,7 @@
</CommandClass> </CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" request_flags="1" innif="true"> <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" request_flags="1" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="C" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="17.6" /> <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="62.6" />
</CommandClass> </CommandClass>
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="5" innif="true"> <CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="5" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -2405,9 +2405,9 @@
</CommandClass> </CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true"> <CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
<Instance index="1" /> <Instance index="1" />
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="69.8" /> <Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="69.4" />
<Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" /> <Value type="decimal" genre="user" instance="1" index="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" />
<Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="49" /> <Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="34" />
<Value type="decimal" genre="user" instance="1" index="27" label="Ultraviolet" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" /> <Value type="decimal" genre="user" instance="1" index="27" label="Ultraviolet" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0" />
<Value type="decimal" genre="user" instance="1" index="37" label="Radon Concentration" units="bq/m3" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="60" /> <Value type="decimal" genre="user" instance="1" index="37" label="Radon Concentration" units="bq/m3" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="60" />
</CommandClass> </CommandClass>
@ -2580,7 +2580,7 @@
<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
<Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" /> <Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="254" />
</CommandClass> </CommandClass>
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true"> <CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
<Instance index="1" /> <Instance index="1" />
@ -2666,7 +2666,7 @@
</CommandClass> </CommandClass>
</CommandClasses> </CommandClasses>
</Node> </Node>
<Node id="38" name="" location="" basic="4" generic="7" specific="1" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Session"> <Node id="38" name="" location="" basic="4" generic="7" specific="1" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
<Manufacturer id="0" name=""> <Manufacturer id="0" name="">
<Product type="0" id="0" name="" /> <Product type="0" id="0" name="" />
</Manufacturer> </Manufacturer>