clean up and re-org
This commit is contained in:
parent
c2adb8d055
commit
2f63af22c8
|
@ -174,9 +174,3 @@ ios:
|
|||
authenticationRequired: yes
|
||||
destructive: yes
|
||||
behavior: "default"
|
||||
|
||||
telegram_bot:
|
||||
- platform: broadcast
|
||||
api_key: !secret telegram_apikey
|
||||
allowed_chat_ids:
|
||||
- !secret telegram_chatid
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
# The following script runs when no one is home. It excludes some lights
|
||||
# and switches like front porch and backyard lights...etc for safety reasons.
|
||||
###############################################################################
|
||||
homeassistant:
|
||||
customize:
|
||||
script.all_indoor_lights_off:
|
||||
friendly_name: All Indoor Lights & Switches OFF
|
||||
|
||||
script:
|
||||
home_mode_away:
|
||||
sequence:
|
||||
- service: script.all_indoor_lights_off
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.notify_camera_motion
|
||||
- service: climate.set_away_mode
|
||||
data:
|
||||
entity_id: climate.dining_room
|
||||
away_mode: "true"
|
||||
- service: alarm_control_panel.alarm_arm_away
|
||||
data:
|
||||
entity_id: alarm_control_panel.home
|
||||
- service: script.notify_me
|
||||
data:
|
||||
message: >
|
||||
No one is at home. Cameras rolling, Indoor lights OFF, Thermostat is set to 'away' and your home is secured!
|
||||
- service: camera.snapshot
|
||||
data_template:
|
||||
entity_id: "camera.kitchen_camera"
|
||||
filename: "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg"
|
||||
- service: camera.snapshot
|
||||
data_template:
|
||||
entity_id: "camera.frontroom_camera"
|
||||
filename: "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg"
|
||||
- service: notify.notify_smtp
|
||||
data_template:
|
||||
title: 'Indoor Pictures {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
|
||||
message: "No one seem to be home at the moment... Please see the images and make sure everything is okay."
|
||||
data:
|
||||
images:
|
||||
- "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg"
|
||||
- "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg"
|
||||
|
||||
all_indoor_lights_off:
|
||||
sequence:
|
||||
- service: light.turn_off
|
||||
data_template:
|
||||
entity_id: >
|
||||
{%- for state in states.light if state.entity_id != 'light.gateway_light_34ce008ad65d' -%}
|
||||
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}}
|
||||
{%- endfor -%}
|
||||
- service: switch.turn_off
|
||||
data_template:
|
||||
entity_id: >
|
||||
{%- for state in states.switch if
|
||||
state.entity_id != 'switch.wemoswitch1' and
|
||||
state.entity_id != 'switch.wallmote_switch' and
|
||||
state.entity_id != 'switch.wemobackyardlightswitch' and
|
||||
state.entity_id != 'switch.frontyard_light' and
|
||||
state.entity_id != 'switch.dockermon' and
|
||||
state.entity_id != 'switch.grafana' and
|
||||
state.entity_id != 'switch.influxdb' and
|
||||
state.entity_id != 'switch.home_bridge' and
|
||||
state.entity_id != 'switch.rf_switch_five' and
|
||||
not '_siren_' in state.entity_id -%}
|
||||
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}}
|
||||
{%- endfor -%}
|
|
@ -184,103 +184,6 @@ rest_command:
|
|||
<message>{{ message }} </message>
|
||||
</TextOverlay>
|
||||
|
||||
###############################################################################
|
||||
# _____ _ _
|
||||
# / ____| (_) | |
|
||||
# | (___ ___ _ __ _ _ __ | |_ ___
|
||||
# \___ \ / __| '__| | '_ \| __/ __|
|
||||
# ____) | (__| | | | |_) | |_\__ \
|
||||
# |_____/ \___|_| |_| .__/ \__|___/
|
||||
# | |
|
||||
# |_|
|
||||
#
|
||||
script:
|
||||
###############################################################################
|
||||
# Camera Text Overlay Script - sets a given text as an overlay on camera feed
|
||||
#
|
||||
frontdoor_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_frontdoor_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
driveway_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_driveway_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
patio_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_patio_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
playarea_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_playarea_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
###############################################################################
|
||||
# On-Demand camera stream to chromecast scripts
|
||||
#
|
||||
stream_frontdoor_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret frontdoor_camera_stream_url
|
||||
name: "frontyard"
|
||||
|
||||
stream_driveway_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret driveway_camera_stream_url
|
||||
name: "driveway"
|
||||
|
||||
stream_patio_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret patio_camera_stream_url
|
||||
name: "patio"
|
||||
|
||||
stream_playarea_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret playarea_camera_stream_url
|
||||
name: "playarea"
|
||||
|
||||
###############################################################################
|
||||
# Stream2Chromecast script streams a given URL to Chromecast
|
||||
# But before it streams, it turns ON the media player if it is OFF, and after
|
||||
# streaming the URL, it saves the current stream name
|
||||
# BY calling media_player.turn_off, it forces Chromecast stream onto be active
|
||||
# on TV as soon as it turns ON TV
|
||||
stream2chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_label.current_stream') != name }}"
|
||||
- service: media_player.play_media
|
||||
data_template:
|
||||
entity_id: media_player.attic_tv
|
||||
media_content_id: "{{ url }}"
|
||||
media_content_type: "video"
|
||||
- service: input_label.set_value
|
||||
data_template:
|
||||
entity_id: input_label.current_stream
|
||||
value: "{{ name }}"
|
||||
|
||||
###############################################################################
|
||||
# _ _ _
|
||||
# /\ | | | | (_)
|
||||
|
|
|
@ -6,17 +6,6 @@
|
|||
###############################################################################
|
||||
homeassistant:
|
||||
|
||||
script:
|
||||
stop_hass:
|
||||
sequence:
|
||||
- service: shell_command.stop_hass
|
||||
update_hass:
|
||||
sequence:
|
||||
- service: shell_command.update_hass
|
||||
restart_hass:
|
||||
sequence:
|
||||
- service: shell_command.restart_hass
|
||||
|
||||
shell_command:
|
||||
stop_hass: >-
|
||||
hassctl stop
|
||||
|
|
|
@ -155,31 +155,6 @@ input_boolean:
|
|||
name: Long Flash Lights
|
||||
initial: off
|
||||
|
||||
script:
|
||||
xiaomi_red:
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: light.gateway_light_34ce008ad65d
|
||||
brightness: 255
|
||||
rgb_color: [255, 0, 0]
|
||||
|
||||
xiaomi_blue:
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: light.gateway_light_34ce008ad65d
|
||||
brightness: 255
|
||||
rgb_color: [0, 0, 255]
|
||||
|
||||
xiaomi_green:
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: light.gateway_light_34ce008ad65d
|
||||
brightness: 255
|
||||
rgb_color: [0, 255, 0]
|
||||
|
||||
###############################################################################
|
||||
# _ _ _
|
||||
# /\ | | | | (_)
|
||||
|
|
|
@ -46,13 +46,13 @@ automation:
|
|||
trigger:
|
||||
- platform: state
|
||||
entity_id: climate.dining_room
|
||||
to: 'cool'
|
||||
for: '03:00:00'
|
||||
to: "cool"
|
||||
for: "03:00:00"
|
||||
action:
|
||||
- service: climate.set_away_mode
|
||||
data:
|
||||
entity_id: climate.dining_room
|
||||
away_mode: 'true'
|
||||
away_mode: "true"
|
||||
- service: script.notify_me
|
||||
data_template:
|
||||
message: "Air Condition has been ON for 3 hours.
|
||||
|
@ -88,14 +88,3 @@ automation:
|
|||
{% else %}
|
||||
Your home's thermostat is set to {{ state }} mode.
|
||||
{% endif %}
|
||||
|
||||
###############################################################################
|
||||
# A script that toggles Nest Thermostat between eco/away & non-eco/away modes
|
||||
###############################################################################
|
||||
script:
|
||||
toggle_climate:
|
||||
sequence:
|
||||
- service: climate.set_away_mode
|
||||
data_template:
|
||||
entity_id: climate.dining_room
|
||||
away_mode: "{{ false if state_attr('climate.dining_room', 'away_mode') == 'on' else true }}"
|
|
@ -5,28 +5,6 @@
|
|||
# @description : Nothing but Notification Stuff!
|
||||
###############################################################################
|
||||
homeassistant:
|
||||
customize:
|
||||
group.tts_announcements:
|
||||
order: 52
|
||||
|
||||
# Script Stuff
|
||||
script.home_status:
|
||||
friendly_name: Home Status (Hourly Report)
|
||||
script.home_mode_away:
|
||||
friendly_name: Set Home Mode to AWAY
|
||||
script.good_night_tts:
|
||||
friendly_name: Good Night TTS Report
|
||||
|
||||
script.voice_notify:
|
||||
hidden: true
|
||||
script.voice_greeting:
|
||||
hidden: true
|
||||
script.ifttt_leeo_color_change:
|
||||
hidden: true
|
||||
script.ifttt_notify:
|
||||
hidden: true
|
||||
script.notify_me:
|
||||
hidden: true
|
||||
|
||||
ifttt:
|
||||
key: !secret ifttt_key
|
||||
|
@ -70,168 +48,8 @@ tts:
|
|||
text_type: ssml
|
||||
voice: Joanna
|
||||
|
||||
script:
|
||||
###############################################################################
|
||||
# Notify Related Scripts
|
||||
###############################################################################
|
||||
ifttt_notify:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: '{{ message | trim != "" }}'
|
||||
- service: ifttt.trigger
|
||||
data_template:
|
||||
event: "Smart_Home"
|
||||
value1: "{{ message }}"
|
||||
value2: ""
|
||||
|
||||
ifttt_leeo_color_change:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: '{{ value1 | trim != "" }}'
|
||||
- service: ifttt.trigger
|
||||
data_template:
|
||||
event: "LEEO_COLOR_CHANGE"
|
||||
value1: "{{ value1 }}"
|
||||
|
||||
notify_me:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.text_alerts
|
||||
state: "on"
|
||||
- condition: template
|
||||
value_template: '{{ message | trim != "" }}'
|
||||
- service: script.ifttt_notify
|
||||
data_template:
|
||||
message: "{{ message }}"
|
||||
|
||||
good_night_tts:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: !include ../templates/goodnight.yaml
|
||||
|
||||
###############################################################################
|
||||
# Voice Notify
|
||||
# Conditions:
|
||||
# => Only Announce when people are home. Except in emergency mode!
|
||||
# => Only Announce when Music is NOT being played
|
||||
###############################################################################
|
||||
voice_notify:
|
||||
sequence:
|
||||
# - service: script.led_message
|
||||
# data_template:
|
||||
# message: "{{ message }}"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.voice_notifications') == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.do_not_disturb') | lower == 'off' }}"
|
||||
- condition: template
|
||||
value_template: "{{ message | trim != '' }}"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.home_mode_away') == 'off' }}"
|
||||
- condition: template
|
||||
value_template: >
|
||||
{% if only_at_night | default('no', true ) == "yes" %}
|
||||
{% if states('sun.sun') == "above_horizon" %}
|
||||
false
|
||||
{% else %}
|
||||
true
|
||||
{% endif %}
|
||||
{% else %}
|
||||
true
|
||||
{% endif %}
|
||||
- service: media_player.volume_set
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data_template:
|
||||
volume_level: >
|
||||
{% if states('input_boolean.emergency_mode') == "on" %}
|
||||
{{ states('input_number.tts_volume_level_alert') }}
|
||||
{% else %}
|
||||
{% if now().hour | int < 12 and now().hour | int > 6 %}
|
||||
{{ states('input_number.tts_volume_level_morning') }}
|
||||
{% elif now().hour|int > 12 and now().hour|int < 20 %}
|
||||
{{ states('input_number.tts_volume_level_afternoon') }}
|
||||
{% else %}
|
||||
{{ states('input_number.tts_volume_level_evening') }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
- service: tts.amazon_polly_say
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data_template:
|
||||
cache: true
|
||||
message: >
|
||||
{% set msg = "" %}
|
||||
{% macro getGreeting() %}
|
||||
{% if greeting | default('yes', true ) == "yes" %}
|
||||
{% if now().hour|int < 12 %}
|
||||
Good morning.
|
||||
{% elif now().hour|int < 18 %}
|
||||
Good afternoon.
|
||||
{% else %}
|
||||
Good evening.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{%- macro getEndGreeting() -%}
|
||||
{%- if greeting |default('yes', true ) == "yes" -%}
|
||||
Thank you!
|
||||
{%- endif -%}
|
||||
{%- endmacro -%}
|
||||
{% set msg = msg + "<speak> " %}
|
||||
{% set msg = msg + getGreeting() %}
|
||||
{% set msg = msg + ". " + message %}
|
||||
{% set msg = msg.replace(".", " <break time='0.5s'/> ") %}
|
||||
{% set msg = msg + " " + getEndGreeting() %}
|
||||
{% set msg = msg + " </speak>" %}
|
||||
{{ msg }}
|
||||
|
||||
###############################################################################
|
||||
# Greeting
|
||||
###############################################################################
|
||||
voice_greeting:
|
||||
sequence:
|
||||
- service: tts.amazon_polly_say
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data_template:
|
||||
cache: true
|
||||
message: >
|
||||
{% set msg = "" %}
|
||||
{% macro getGreeting() %}
|
||||
{% if greeting | default('yes', true ) == "yes" %}
|
||||
{% if now().hour|int < 12 %}
|
||||
Good morning.
|
||||
{% elif now().hour|int < 18 %}
|
||||
Good afternoon.
|
||||
{% else %}
|
||||
Good evening.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% set msg = msg + "<speak> " %}
|
||||
{% set msg = msg + " " + getGreeting() %}
|
||||
{% set msg = msg.replace(".", " <break time='0.5s'/> ") %}
|
||||
{% set msg = msg + " </speak>" %}
|
||||
{{ msg }}
|
||||
|
||||
###############################################################################
|
||||
# Status around the house
|
||||
###############################################################################
|
||||
home_status:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: !include ../templates/home_status.yaml
|
||||
|
||||
###############################################################################
|
||||
# Display message on LED Matrix Screen
|
||||
###############################################################################
|
||||
led_message:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.led_alerts
|
||||
state: "on"
|
||||
- service: mqtt.publish
|
||||
data_template:
|
||||
topic: messageboard/messages
|
||||
payload: >
|
||||
{ 'message': '{{ message }}','frameDelay': 50 }
|
||||
telegram_bot:
|
||||
- platform: broadcast
|
||||
api_key: !secret telegram_apikey
|
||||
allowed_chat_ids:
|
||||
- !secret telegram_chatid
|
||||
|
|
|
@ -47,55 +47,6 @@ input_datetime:
|
|||
has_time: true
|
||||
initial: "09:00"
|
||||
|
||||
#################################################################################
|
||||
# _____ _ _
|
||||
# / ____| (_) | |
|
||||
# | (___ ___ _ __ _ _ __ | |_ ___
|
||||
# \___ \ / __| '__| | '_ \| __/ __|
|
||||
# ____) | (__| | | | |_) | |_\__ \
|
||||
# |_____/ \___|_| |_| .__/ \__|___/
|
||||
# | |
|
||||
# |_|
|
||||
#################################################################################
|
||||
|
||||
script:
|
||||
###############################################################################
|
||||
# Notifies to take pills, starts timer again!
|
||||
# Voice notifications at home - only if the option is selected.
|
||||
###############################################################################
|
||||
remind_pill:
|
||||
sequence:
|
||||
- service: script.notify_me
|
||||
data:
|
||||
message: "ALERT: PLEASE TAKE YOUR TABLETS!"
|
||||
- service: timer.start
|
||||
entity_id: timer.timer_pill_reminder
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.pill_voice_notification') == 'on' }}"
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: >
|
||||
Please take the tablets. It looks like you have forgotten to take today's
|
||||
dose of tablets... Once again, this is a reminder for you to take the tablets.
|
||||
|
||||
###############################################################################
|
||||
# Stops timer, Records that the pills are taken, and notifies!
|
||||
###############################################################################
|
||||
pill_taken:
|
||||
sequence:
|
||||
- service: timer.cancel
|
||||
entity_id: timer.timer_pill_reminder
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.pill_taken
|
||||
- service: script.notify_me
|
||||
data:
|
||||
message: "Thank you for taking tablets on time!"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.pill_voice_notification') == 'on' }}"
|
||||
- service: script.voice_notify
|
||||
data:
|
||||
message: "Thank you for taking tablets on time!"
|
||||
|
||||
###############################################################################
|
||||
# _ _ _
|
||||
# /\ | | | | (_)
|
||||
|
@ -103,8 +54,7 @@ script:
|
|||
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
|
||||
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
|
||||
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
|
||||
#
|
||||
|
||||
###############################################################################
|
||||
automation:
|
||||
###############################################################################
|
||||
# Turn On "Pill Taken" Input Boolean when the Pill Box is Opened
|
||||
|
|
|
@ -0,0 +1,467 @@
|
|||
###############################################################################
|
||||
# @author : Mahasri Kalavala
|
||||
# @date : 09/20/2018
|
||||
# @package : scripts
|
||||
# @description : All my scripts are here in one place!
|
||||
################################################################################
|
||||
# _____ _ _
|
||||
# / ____| (_) | |
|
||||
# | (___ ___ _ __ _ _ __ | |_ ___
|
||||
# \___ \ / __| '__| | '_ \| __/ __|
|
||||
# ____) | (__| | | | |_) | |_\__ \
|
||||
# |_____/ \___|_| |_| .__/ \__|___/
|
||||
# | |
|
||||
# |_|
|
||||
################################################################################
|
||||
|
||||
homeassistant:
|
||||
customize:
|
||||
script.all_indoor_lights_off:
|
||||
friendly_name: All Indoor Lights & Switches OFF
|
||||
script.home_status:
|
||||
friendly_name: Home Status (Hourly Report)
|
||||
script.home_mode_away:
|
||||
friendly_name: Set Home Mode to AWAY
|
||||
script.good_night_tts:
|
||||
friendly_name: Good Night TTS Report
|
||||
|
||||
script:
|
||||
toggle_do_not_disturb:
|
||||
sequence:
|
||||
- service: input_boolean.toggle
|
||||
entity_id: input_boolean.do_not_disturb
|
||||
|
||||
play_ringtone:
|
||||
sequence:
|
||||
- service: xiaomi_aqara.play_ringtone
|
||||
data:
|
||||
gw_mac: !secret xiaomi_mac
|
||||
ringtone_id: 10
|
||||
ringtone_vol: 30
|
||||
|
||||
play_dog_sounds:
|
||||
sequence:
|
||||
- service: media_player.volume_set
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data:
|
||||
volume_level: "1.0"
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
media_content_id: !secret dog_sound_url
|
||||
media_content_type: "music"
|
||||
- delay: "00:00:05"
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
media_content_id: !secret dog_sound_url
|
||||
media_content_type: "music"
|
||||
- delay: "00:00:05"
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
media_content_id: !secret dog_sound_url
|
||||
media_content_type: "music"
|
||||
|
||||
home_mode_away:
|
||||
sequence:
|
||||
- service: script.all_indoor_lights_off
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.notify_camera_motion
|
||||
- service: climate.set_away_mode
|
||||
data:
|
||||
entity_id: climate.dining_room
|
||||
away_mode: "true"
|
||||
- service: script.notify_me
|
||||
data:
|
||||
message: >
|
||||
No one is at home. Cameras rolling, Indoor lights OFF, Thermostat is set to 'away' and your home is secured!
|
||||
- service: camera.snapshot
|
||||
data_template:
|
||||
entity_id: "camera.kitchen_camera"
|
||||
filename: "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg"
|
||||
- service: camera.snapshot
|
||||
data_template:
|
||||
entity_id: "camera.frontroom_camera"
|
||||
filename: "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg"
|
||||
- service: notify.notify_smtp
|
||||
data_template:
|
||||
title: 'Indoor Pictures {{ now().strftime("%d %h %Y, %I:%M:%S %p") }}'
|
||||
message: "No one seem to be home at the moment... Please see the images and make sure everything is okay."
|
||||
data:
|
||||
images:
|
||||
- "/home/homeassistant/.homeassistant/www/downloads/camera/kitchen/kitchen_away.jpg"
|
||||
- "/home/homeassistant/.homeassistant/www/downloads/camera/frontroom/frontroom_away.jpg"
|
||||
|
||||
###############################################################################
|
||||
# The following script runs when no one is home. It excludes some lights
|
||||
# and switches like front porch and backyard lights...etc for safety reasons.
|
||||
###############################################################################
|
||||
all_indoor_lights_off:
|
||||
sequence:
|
||||
- service: light.turn_off
|
||||
data_template:
|
||||
entity_id: >
|
||||
{%- for state in states.light if state.entity_id != 'light.gateway_light_34ce008ad65d' -%}
|
||||
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}}
|
||||
{%- endfor -%}
|
||||
- service: switch.turn_off
|
||||
data_template:
|
||||
entity_id: >
|
||||
{%- for state in states.switch if
|
||||
state.entity_id != 'switch.wemoswitch1' and
|
||||
state.entity_id != 'switch.wallmote_switch' and
|
||||
state.entity_id != 'switch.wemobackyardlightswitch' and
|
||||
state.entity_id != 'switch.frontyard_light' and
|
||||
not '_siren_' in state.entity_id -%}
|
||||
{{- "," if not loop.first-}}{{ state.entity_id }}{{-endif-}}
|
||||
{%- endfor -%}
|
||||
|
||||
###############################################################################
|
||||
# _____ ____ _
|
||||
# / ____| / __ \ | |
|
||||
# | | __ _ _ __ ___ ___ _ __ __ _ | | | |_ _____ _ __| | __ _ _ _
|
||||
# | | / _` | '_ ` _ \ / _ \ '__/ _` | | | | \ \ / / _ \ '__| |/ _` | | | |
|
||||
# | |___| (_| | | | | | | __/ | | (_| | | |__| |\ V / __/ | | | (_| | |_| |
|
||||
# \_____\__,_|_| |_| |_|\___|_| \__,_| \____/ \_/ \___|_| |_|\__,_|\__, |
|
||||
# __/ |
|
||||
# |___/
|
||||
#
|
||||
# Camera Text Overlay Script - sets a given text as an overlay on camera feed
|
||||
###############################################################################
|
||||
frontdoor_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_frontdoor_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
driveway_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_driveway_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
patio_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_patio_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
playarea_camera_text_overlay:
|
||||
sequence:
|
||||
- service: rest_command.set_playarea_camera_text_left_bottom
|
||||
data_template:
|
||||
message: "{{text}}"
|
||||
|
||||
###############################################################################
|
||||
# On-Demand camera stream to chromecast scripts
|
||||
#
|
||||
stream_frontdoor_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret frontdoor_camera_stream_url
|
||||
name: "frontyard"
|
||||
|
||||
stream_driveway_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret driveway_camera_stream_url
|
||||
name: "driveway"
|
||||
|
||||
stream_patio_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret patio_camera_stream_url
|
||||
name: "patio"
|
||||
|
||||
stream_playarea_camera_to_chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.stream_camera2chromecast') == 'on' }}"
|
||||
- service: script.stream2chromecast
|
||||
data_template:
|
||||
url: !secret playarea_camera_stream_url
|
||||
name: "playarea"
|
||||
|
||||
###############################################################################
|
||||
# Stream2Chromecast script streams a given URL to Chromecast
|
||||
# But before it streams, it turns ON the media player if it is OFF, and after
|
||||
# streaming the URL, it saves the current stream name
|
||||
# BY calling media_player.turn_off, it forces Chromecast stream onto be active
|
||||
# on TV as soon as it turns ON TV
|
||||
stream2chromecast:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: "{{ states('input_label.current_stream') != name }}"
|
||||
- service: media_player.play_media
|
||||
data_template:
|
||||
entity_id: media_player.attic_tv
|
||||
media_content_id: "{{ url }}"
|
||||
media_content_type: "video"
|
||||
- service: input_label.set_value
|
||||
data_template:
|
||||
entity_id: input_label.current_stream
|
||||
value: "{{ name }}"
|
||||
|
||||
stop_hass:
|
||||
sequence:
|
||||
- service: shell_command.stop_hass
|
||||
update_hass:
|
||||
sequence:
|
||||
- service: shell_command.update_hass
|
||||
restart_hass:
|
||||
sequence:
|
||||
- service: shell_command.restart_hass
|
||||
|
||||
xiaomi_red:
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: light.gateway_light_34ce008ad65d
|
||||
brightness: 255
|
||||
rgb_color: [255, 0, 0]
|
||||
|
||||
xiaomi_blue:
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: light.gateway_light_34ce008ad65d
|
||||
brightness: 255
|
||||
rgb_color: [0, 0, 255]
|
||||
|
||||
xiaomi_green:
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
data:
|
||||
entity_id: light.gateway_light_34ce008ad65d
|
||||
brightness: 255
|
||||
rgb_color: [0, 255, 0]
|
||||
|
||||
###############################################################################
|
||||
# A script that toggles Nest Thermostat between eco/away & non-eco/away modes
|
||||
###############################################################################
|
||||
toggle_climate:
|
||||
sequence:
|
||||
- service: climate.set_away_mode
|
||||
data_template:
|
||||
entity_id: climate.dining_room
|
||||
away_mode: "{{ false if state_attr('climate.dining_room', 'away_mode') == 'on' else true }}"
|
||||
|
||||
###############################################################################
|
||||
# _ _ _ _ __
|
||||
# | \ | | | | (_)/ _|
|
||||
# | \| | ___ | |_ _| |_ _ _
|
||||
# | . ` |/ _ \| __| | _| | | |
|
||||
# | |\ | (_) | |_| | | | |_| |
|
||||
# |_| \_|\___/ \__|_|_| \__, |
|
||||
# __/ |
|
||||
# |___/
|
||||
# Notify Related Scripts
|
||||
###############################################################################
|
||||
ifttt_notify:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: '{{ message | trim != "" }}'
|
||||
- service: ifttt.trigger
|
||||
data_template:
|
||||
event: "Smart_Home"
|
||||
value1: "{{ message }}"
|
||||
value2: ""
|
||||
|
||||
ifttt_leeo_color_change:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: '{{ value1 | trim != "" }}'
|
||||
- service: ifttt.trigger
|
||||
data_template:
|
||||
event: "LEEO_COLOR_CHANGE"
|
||||
value1: "{{ value1 }}"
|
||||
|
||||
notify_me:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.text_alerts
|
||||
state: "on"
|
||||
- condition: template
|
||||
value_template: '{{ message | trim != "" }}'
|
||||
- service: script.ifttt_notify
|
||||
data_template:
|
||||
message: "{{ message }}"
|
||||
|
||||
good_night_tts:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: !include ../templates/goodnight.yaml
|
||||
|
||||
###############################################################################
|
||||
# Voice Notify
|
||||
# Conditions:
|
||||
# => Only Announce when people are home. Except in emergency mode!
|
||||
# => Only Announce when Music is NOT being played
|
||||
###############################################################################
|
||||
voice_notify:
|
||||
sequence:
|
||||
# - service: script.led_message
|
||||
# data_template:
|
||||
# message: "{{ message }}"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.voice_notifications') == 'on' }}"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.do_not_disturb') | lower == 'off' }}"
|
||||
- condition: template
|
||||
value_template: "{{ message | trim != '' }}"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.home_mode_away') == 'off' }}"
|
||||
- condition: template
|
||||
value_template: >
|
||||
{% if only_at_night | default('no', true ) == "yes" %}
|
||||
{% if states('sun.sun') == "above_horizon" %}
|
||||
false
|
||||
{% else %}
|
||||
true
|
||||
{% endif %}
|
||||
{% else %}
|
||||
true
|
||||
{% endif %}
|
||||
- service: media_player.volume_set
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data_template:
|
||||
volume_level: >
|
||||
{% if states('input_boolean.emergency_mode') == "on" %}
|
||||
{{ states('input_number.tts_volume_level_alert') }}
|
||||
{% else %}
|
||||
{% if now().hour | int < 12 and now().hour | int > 6 %}
|
||||
{{ states('input_number.tts_volume_level_morning') }}
|
||||
{% elif now().hour|int > 12 and now().hour|int < 20 %}
|
||||
{{ states('input_number.tts_volume_level_afternoon') }}
|
||||
{% else %}
|
||||
{{ states('input_number.tts_volume_level_evening') }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
- service: tts.amazon_polly_say
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data_template:
|
||||
cache: true
|
||||
message: >
|
||||
{% set msg = "" %}
|
||||
{% macro getGreeting() %}
|
||||
{% if greeting | default('yes', true ) == "yes" %}
|
||||
{% if now().hour|int < 12 %}
|
||||
Good morning.
|
||||
{% elif now().hour|int < 18 %}
|
||||
Good afternoon.
|
||||
{% else %}
|
||||
Good evening.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{%- macro getEndGreeting() -%}
|
||||
{%- if greeting |default('yes', true ) == "yes" -%}
|
||||
Thank you!
|
||||
{%- endif -%}
|
||||
{%- endmacro -%}
|
||||
{% set msg = msg + "<speak> " %}
|
||||
{% set msg = msg + getGreeting() %}
|
||||
{% set msg = msg + ". " + message %}
|
||||
{% set msg = msg.replace(".", " <break time='0.5s'/> ") %}
|
||||
{% set msg = msg + " " + getEndGreeting() %}
|
||||
{% set msg = msg + " </speak>" %}
|
||||
{{ msg }}
|
||||
|
||||
###############################################################################
|
||||
# Greeting
|
||||
###############################################################################
|
||||
voice_greeting:
|
||||
sequence:
|
||||
- service: tts.amazon_polly_say
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data_template:
|
||||
cache: true
|
||||
message: >
|
||||
{% set msg = "" %}
|
||||
{% macro getGreeting() %}
|
||||
{% if greeting | default('yes', true ) == "yes" %}
|
||||
{% if now().hour|int < 12 %}
|
||||
Good morning.
|
||||
{% elif now().hour|int < 18 %}
|
||||
Good afternoon.
|
||||
{% else %}
|
||||
Good evening.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% set msg = msg + "<speak> " %}
|
||||
{% set msg = msg + " " + getGreeting() %}
|
||||
{% set msg = msg.replace(".", " <break time='0.5s'/> ") %}
|
||||
{% set msg = msg + " </speak>" %}
|
||||
{{ msg }}
|
||||
|
||||
###############################################################################
|
||||
# Status around the house
|
||||
###############################################################################
|
||||
home_status:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: !include ../templates/home_status.yaml
|
||||
|
||||
###############################################################################
|
||||
# Display message on LED Matrix Screen
|
||||
###############################################################################
|
||||
led_message:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.led_alerts
|
||||
state: "on"
|
||||
- service: mqtt.publish
|
||||
data_template:
|
||||
topic: messageboard/messages
|
||||
payload: >
|
||||
{ 'message': '{{ message }}','frameDelay': 50 }
|
||||
|
||||
###############################################################################
|
||||
# Notifies to take pills, starts timer again!
|
||||
# Voice notifications at home - only if the option is selected.
|
||||
###############################################################################
|
||||
remind_pill:
|
||||
sequence:
|
||||
- service: script.notify_me
|
||||
data:
|
||||
message: "ALERT: PLEASE TAKE YOUR TABLETS!"
|
||||
- service: timer.start
|
||||
entity_id: timer.timer_pill_reminder
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.pill_voice_notification') == 'on' }}"
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: >
|
||||
Please take the tablets. It looks like you have forgotten to take today's
|
||||
dose of tablets... Once again, this is a reminder for you to take the tablets.
|
||||
|
||||
###############################################################################
|
||||
# Stops timer, Records that the pills are taken, and notifies!
|
||||
###############################################################################
|
||||
pill_taken:
|
||||
sequence:
|
||||
- service: timer.cancel
|
||||
entity_id: timer.timer_pill_reminder
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.pill_taken
|
||||
- service: script.notify_me
|
||||
data:
|
||||
message: "Thank you for taking tablets on time!"
|
||||
- condition: template
|
||||
value_template: "{{ states('input_boolean.pill_voice_notification') == 'on' }}"
|
||||
- service: script.voice_notify
|
||||
data:
|
||||
message: "Thank you for taking tablets on time!"
|
|
@ -5,48 +5,7 @@
|
|||
# @description : Xiaomi Aqara Magic Cube Automations
|
||||
###############################################################################
|
||||
|
||||
################################################################################
|
||||
# COMMON SCRIPTS USED IN THIS PACKAGE #
|
||||
################################################################################
|
||||
script:
|
||||
toggle_do_not_disturb:
|
||||
sequence:
|
||||
- service: input_boolean.toggle
|
||||
entity_id: input_boolean.do_not_disturb
|
||||
|
||||
play_ringtone:
|
||||
sequence:
|
||||
- service: xiaomi_aqara.play_ringtone
|
||||
data:
|
||||
gw_mac: !secret xiaomi_mac
|
||||
ringtone_id: 10
|
||||
ringtone_vol: 30
|
||||
|
||||
play_dog_sounds:
|
||||
sequence:
|
||||
- service: media_player.volume_set
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
data:
|
||||
volume_level: "1.0"
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
media_content_id: !secret dog_sound_url
|
||||
media_content_type: "music"
|
||||
- delay: "00:00:05"
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
media_content_id: !secret dog_sound_url
|
||||
media_content_type: "music"
|
||||
- delay: "00:00:05"
|
||||
- service: media_player.play_media
|
||||
data:
|
||||
entity_id: media_player.living_room, media_player.upstairs
|
||||
media_content_id: !secret dog_sound_url
|
||||
media_content_type: "music"
|
||||
|
||||
################################################################################
|
||||
###############################################################################
|
||||
# XIAOMI AQARA MAGIC CUBE AUTOMATIONS #
|
||||
# http://patorjk.com/software/taag/#p=display&h=2&v=2&f=Big&t=Test #
|
||||
################################################################################
|
||||
|
@ -61,6 +20,7 @@ automation:
|
|||
# |_| \__,_|_| |_| |_|_|_|\__, | |_| \_\___/ \___/|_| |_| |_|
|
||||
# __/ |
|
||||
# |___/
|
||||
################################################################################
|
||||
|
||||
# Flip 90: Toggle Family Room Lights
|
||||
- alias: Family Room Cube Event flip90
|
||||
|
@ -374,6 +334,16 @@ automation:
|
|||
action:
|
||||
- service: script.toggle_do_not_disturb
|
||||
|
||||
################################################################################
|
||||
# _____ _ _ _
|
||||
# | __ \ | | | | |
|
||||
# | | | | ___ ___ _ __| |__ ___| | |
|
||||
# | | | |/ _ \ / _ \| '__| '_ \ / _ \ | |
|
||||
# | |__| | (_) | (_) | | | |_) | __/ | |
|
||||
# |_____/ \___/ \___/|_| |_.__/ \___|_|_|
|
||||
#
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Doorbell Automations -
|
||||
# When we are home, play the door bell
|
||||
|
@ -386,7 +356,39 @@ automation:
|
|||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.wall_switch_158d00045622d9
|
||||
click_type: single
|
||||
click_type: "single"
|
||||
action:
|
||||
- service_template: >
|
||||
{% if states('input_boolean.home_mode_away') == 'off' %}
|
||||
script.play_ringtone
|
||||
{% else %}
|
||||
script.play_dog_sounds
|
||||
{% endif %}
|
||||
|
||||
- alias: Doorbell Double Press
|
||||
initial_state: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.wall_switch_158d00045622d9
|
||||
click_type: "double"
|
||||
action:
|
||||
- service_template: >
|
||||
{% if states('input_boolean.home_mode_away') == 'off' %}
|
||||
script.play_ringtone
|
||||
{% else %}
|
||||
script.play_dog_sounds
|
||||
{% endif %}
|
||||
|
||||
- alias: Doorbell Long Press
|
||||
initial_state: true
|
||||
trigger:
|
||||
platform: event
|
||||
event_type: xiaomi_aqara.click
|
||||
event_data:
|
||||
entity_id: binary_sensor.wall_switch_158d00045622d9
|
||||
click_type: "long"
|
||||
action:
|
||||
- service_template: >
|
||||
{% if states('input_boolean.home_mode_away') == 'off' %}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
|
||||
<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="47" />
|
||||
<SensorMap index="0" type="55" />
|
||||
<SensorMap index="0" type="63" />
|
||||
|
@ -34,8 +34,8 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
|
||||
<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="65.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="26" />
|
||||
<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.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="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="34" />
|
||||
</CommandClass>
|
||||
|
@ -208,7 +208,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
|
||||
<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="46" />
|
||||
<SensorMap index="0" type="62" />
|
||||
<SensorMap index="0" type="193" />
|
||||
|
@ -216,9 +216,9 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
|
||||
<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="65.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="16" />
|
||||
<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" />
|
||||
<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="65.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="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="33" />
|
||||
<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 id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" after_mark="true" innif="true">
|
||||
|
@ -350,7 +350,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
|
||||
<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="74" />
|
||||
<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="73" />
|
||||
</CommandClass>
|
||||
<CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true">
|
||||
<Instance index="1" />
|
||||
|
@ -379,7 +379,7 @@
|
|||
</CommandClass>
|
||||
</CommandClasses>
|
||||
</Node>
|
||||
<Node id="4" name="Two Car Garage Door Tilt Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
||||
<Node id="4" name="Two Car Garage Door Tilt Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||
<Manufacturer id="14a" name="Ecolink">
|
||||
<Product type="4" id="3" name="Garage Door Tilt Sensor" />
|
||||
</Manufacturer>
|
||||
|
@ -490,7 +490,7 @@
|
|||
</CommandClass>
|
||||
</CommandClasses>
|
||||
</Node>
|
||||
<Node id="5" name="Single Car Garage Door Tilt Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
||||
<Node id="5" name="Single Car Garage Door Tilt Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||
<Manufacturer id="14a" name="Ecolink">
|
||||
<Product type="4" id="3" name="Garage Door Tilt Sensor" />
|
||||
</Manufacturer>
|
||||
|
@ -601,7 +601,7 @@
|
|||
</CommandClass>
|
||||
</CommandClasses>
|
||||
</Node>
|
||||
<Node id="6" name="Back Door Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
||||
<Node id="6" name="Back Door Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||
<Manufacturer id="14a" name="Ecolink">
|
||||
<Product type="4" id="2" name="Door Sensor" />
|
||||
</Manufacturer>
|
||||
|
@ -728,9 +728,9 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
|
||||
<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="68.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="44" />
|
||||
<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="61.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="3" />
|
||||
<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="52" />
|
||||
<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 id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
|
||||
|
@ -984,7 +984,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="37" name="COMMAND_CLASS_SWITCH_BINARY" version="1" request_flags="4" innif="true">
|
||||
<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 id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="2" innif="true">
|
||||
<Instance index="1" />
|
||||
|
@ -1008,16 +1008,16 @@
|
|||
<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="60.329" />
|
||||
<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="60.329" />
|
||||
<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="255" />
|
||||
<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="5039" />
|
||||
<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="0.000" />
|
||||
<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="121.858" />
|
||||
<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="121.918" />
|
||||
<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.000" />
|
||||
<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" />
|
||||
</CommandClass>
|
||||
<CommandClass id="51" name="COMMAND_CLASS_COLOR" version="1" request_flags="2" innif="true" colorchannels="28">
|
||||
<Instance index="1" />
|
||||
<Value type="string" genre="user" instance="1" index="0" label="Color" units="#RRGGBB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="#1B001B" />
|
||||
<Value type="string" genre="user" instance="1" index="0" label="Color" units="#RRGGBB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="#1B141B" />
|
||||
<Value type="list" genre="user" instance="1" index="1" label="Color Index" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="17" size="0">
|
||||
<Item label="Off" value="0" />
|
||||
<Item label="Cool White" value="1" />
|
||||
|
@ -1190,8 +1190,8 @@
|
|||
<Item label="Saturday" value="6" />
|
||||
<Item label="Sunday" value="7" />
|
||||
</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="22" />
|
||||
<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="12" />
|
||||
<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="23" />
|
||||
<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="41" />
|
||||
</CommandClass>
|
||||
<CommandClass id="130" name="COMMAND_CLASS_HAIL" version="1" request_flags="4" after_mark="true" innif="true">
|
||||
<Instance index="1" />
|
||||
|
@ -1328,7 +1328,7 @@
|
|||
</CommandClass>
|
||||
</CommandClasses>
|
||||
</Node>
|
||||
<Node id="17" name="Stairs Motion Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
||||
<Node id="17" name="Stairs Motion Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||
<Manufacturer id="14a" name="Ecolink">
|
||||
<Product type="4" id="1" name="Motion Detector" />
|
||||
</Manufacturer>
|
||||
|
@ -1339,7 +1339,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
|
||||
<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" />
|
||||
</CommandClass>
|
||||
<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="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="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="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" />
|
||||
</CommandClass>
|
||||
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
|
||||
|
@ -1416,7 +1416,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
|
||||
<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 id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="2" innif="true">
|
||||
<Instance index="1" />
|
||||
|
@ -1703,7 +1703,7 @@
|
|||
</CommandClass>
|
||||
</CommandClasses>
|
||||
</Node>
|
||||
<Node id="25" name="Basement Door Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
||||
<Node id="25" name="Basement Door Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||
<Manufacturer id="14a" name="Ecolink">
|
||||
<Product type="4" id="2" name="Unknown: type=0004, id=0002" />
|
||||
</Manufacturer>
|
||||
|
@ -1714,7 +1714,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
|
||||
<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" />
|
||||
</CommandClass>
|
||||
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1">
|
||||
|
@ -1734,7 +1734,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="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="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="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="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" />
|
||||
</CommandClass>
|
||||
|
@ -2023,7 +2023,7 @@
|
|||
</CommandClass>
|
||||
</CommandClasses>
|
||||
</Node>
|
||||
<Node id="28" name="Audio Detector" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3073" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
||||
<Node id="28" name="Audio Detector" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3073" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||
<Manufacturer id="14a" name="Ecolink">
|
||||
<Product type="5" id="f" name="FireFighter" />
|
||||
</Manufacturer>
|
||||
|
@ -2038,7 +2038,7 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="7" innif="true">
|
||||
<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="68.90" />
|
||||
<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="68.18" />
|
||||
</CommandClass>
|
||||
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
|
||||
<Instance index="1" />
|
||||
|
@ -2132,7 +2132,7 @@
|
|||
</CommandClass>
|
||||
</CommandClasses>
|
||||
</Node>
|
||||
<Node id="29" name="Garage Door Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
||||
<Node id="29" name="Garage Door Sensor" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||
<Manufacturer id="14a" name="Ecolink">
|
||||
<Product type="4" id="2" name="Unknown: type=0004, id=0002" />
|
||||
</Manufacturer>
|
||||
|
@ -2262,9 +2262,9 @@
|
|||
</CommandClass>
|
||||
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="5" innif="true">
|
||||
<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="71.2" />
|
||||
<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="11" />
|
||||
<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="37" />
|
||||
<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.5" />
|
||||
<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="38" />
|
||||
<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" />
|
||||
</CommandClass>
|
||||
|
|
Loading…
Reference in New Issue