minor updates.
This commit is contained in:
parent
0f8de89732
commit
a3c869e9e8
|
@ -56,6 +56,7 @@ cloud:
|
||||||
description: Xiaomi Gateway Light
|
description: Xiaomi Gateway Light
|
||||||
|
|
||||||
discovery:
|
discovery:
|
||||||
|
|
||||||
homekit:
|
homekit:
|
||||||
autostart: true
|
autostart: true
|
||||||
filter:
|
filter:
|
||||||
|
@ -64,6 +65,11 @@ homekit:
|
||||||
- light
|
- light
|
||||||
- switch
|
- switch
|
||||||
- input_boolean
|
- input_boolean
|
||||||
|
include_entities:
|
||||||
|
- binary_sensor.back_door_sensor_sensor
|
||||||
|
- binary_sensor.aeotec_zw120_door_window_sensor_gen5_sensor
|
||||||
|
- binary_sensor.single_car_garage_door_tilt_sensor_sensor
|
||||||
|
- binary_sensor.two_car_garage_door_tilt_sensor_sensor
|
||||||
|
|
||||||
map:
|
map:
|
||||||
updater:
|
updater:
|
||||||
|
|
|
@ -25,24 +25,26 @@ $ python3
|
||||||
'hello world!'
|
'hello world!'
|
||||||
>>>
|
>>>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Basics of Jinja
|
## Basics of Jinja
|
||||||
|
|
||||||
### Basic String Manipulation
|
### Basic String Manipulation
|
||||||
|
|
||||||
`{{ "hello this is a test" | upper }}` returns `HELLO THIS IS A TEST`
|
`{{ "hello this is a test" | upper }}` returns `HELLO THIS IS A TEST`
|
||||||
|
|
||||||
`{{ "HELLO THIS IS A TEST" | lower }}` returns `hello this is a test`
|
`{{ "HELLO THIS IS A TEST" | lower }}` returns `hello this is a test`
|
||||||
|
|
||||||
`{{ "hello this is a test" | capitalize }}` returns `Hello this is a test`
|
`{{ "hello this is a test" | capitalize }}` returns `Hello this is a test`
|
||||||
|
|
||||||
`{{ "hello this is a test" | title }}` returns `Hello This Is A Test`
|
`{{ "hello this is a test" | title }}` returns `Hello This Is A Test`
|
||||||
|
|
||||||
`{{ "Hello & World" | safe }}` returns `Hello & World`
|
`{{ "Hello & World" | safe }}` returns `Hello & World`
|
||||||
|
|
||||||
`{{ "Hello & World" | escape }}` returns `Hello & World`
|
`{{ "Hello & World" | escape }}` returns `Hello & World`
|
||||||
|
|
||||||
`{{ "Hello & World" | length }}` returns `13`
|
`{{ "Hello & World" | length }}` returns `13`
|
||||||
|
|
||||||
`{{ "Hello & World" | count }}` returns `13`
|
`{{ "Hello & World" | count }}` returns `13`
|
||||||
|
|
||||||
`{{ " Hello & World " | trim}}` returns `Hello & World` by removing spaces before and after
|
`{{ " Hello & World " | trim}}` returns `Hello & World` by removing spaces before and after
|
||||||
|
|
||||||
|
@ -51,6 +53,7 @@ $ python3
|
||||||
## Setting Variables
|
## Setting Variables
|
||||||
|
|
||||||
To have a varibale with a name `val` and with value `hello`, use the following:
|
To have a varibale with a name `val` and with value `hello`, use the following:
|
||||||
|
|
||||||
```
|
```
|
||||||
{% set val = "hello" %}
|
{% set val = "hello" %}
|
||||||
```
|
```
|
||||||
|
@ -58,13 +61,16 @@ To have a varibale with a name `val` and with value `hello`, use the following:
|
||||||
### Loops and Loop Indexes
|
### Loops and Loop Indexes
|
||||||
|
|
||||||
Iterate/Loop thru an array in reverse order
|
Iterate/Loop thru an array in reverse order
|
||||||
|
|
||||||
```
|
```
|
||||||
{% set values = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"] %}
|
{% set values = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k"] %}
|
||||||
{% for item in values %}
|
{% for item in values %}
|
||||||
{{ values[loop.revindex] }}
|
{{ values[loop.revindex] }}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
```
|
```
|
||||||
|
|
||||||
prints the following:
|
prints the following:
|
||||||
|
|
||||||
```
|
```
|
||||||
k
|
k
|
||||||
j
|
j
|
||||||
|
@ -77,22 +83,26 @@ d
|
||||||
c
|
c
|
||||||
b
|
b
|
||||||
```
|
```
|
||||||
|
|
||||||
Other noteworthy loop properties you may want to know:
|
Other noteworthy loop properties you may want to know:
|
||||||
|
|
||||||
```
|
```
|
||||||
loop.index0 - zero based index of elements in a loop
|
loop.index0 - zero based index of elements in a loop
|
||||||
loop.revindex - reverse indexing of loop with index starting at one
|
loop.revindex - reverse indexing of loop with index starting at one
|
||||||
loop.revindex0 - reverse indenxing of loop with index starting at zero
|
loop.revindex0 - reverse indenxing of loop with index starting at zero
|
||||||
loop.first - to check if the current index in the loop is the first one
|
loop.first - to check if the current index in the loop is the first one
|
||||||
loop.last - to check if the current index in the loop is the last item
|
loop.last - to check if the current index in the loop is the last item
|
||||||
loop.length - loop length
|
loop.length - loop length
|
||||||
```
|
```
|
||||||
|
|
||||||
### Maintaining state in a loop
|
### Maintaining state in a loop
|
||||||
|
|
||||||
The loops in Jinja are different from other programming languages, where you can't maintain state. For ex: you can define a variable, and if you try to increment, decrement or change the value in a loop, and after the loop, you will notice the value hasn't changed. Reason being, there is something called `scoping` in Jinja. You can read more about scoping on Jinja's official documentation, and if you are looking for a quick way to do this, you need to use `namespace`. With the namespace, you can create a scope and update the variable from within the loops. Here is how you define a namespace with a variable in it, called `numberFiveFound` and you can set the default value by assigning directly as follows.
|
The loops in Jinja are different from other programming languages, where you can't maintain state. For ex: you can define a variable, and if you try to increment, decrement or change the value in a loop, and after the loop, you will notice the value hasn't changed. Reason being, there is something called `scoping` in Jinja. You can read more about scoping on Jinja's official documentation, and if you are looking for a quick way to do this, you need to use `namespace`. With the namespace, you can create a scope and update the variable from within the loops. Here is how you define a namespace with a variable in it, called `numberFiveFound` and you can set the default value by assigning directly as follows.
|
||||||
|
|
||||||
```
|
```
|
||||||
{% set ns = namespace(numberFiveFound=false) %}
|
{% set ns = namespace(numberFiveFound=false) %}
|
||||||
```
|
```
|
||||||
|
|
||||||
You can then easily change the value from a loop and still able to access the updated value as follows:
|
You can then easily change the value from a loop and still able to access the updated value as follows:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -116,6 +126,7 @@ If you do not use namespace and try to do the same thing using simple variables,
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{{ numberFiveFound }}
|
{{ numberFiveFound }}
|
||||||
```
|
```
|
||||||
|
|
||||||
It will return `False` even though the number "5" exists in the loop.
|
It will return `False` even though the number "5" exists in the loop.
|
||||||
|
|
||||||
## 1. To see which entities are exposed to your alexa platform, run the following script
|
## 1. To see which entities are exposed to your alexa platform, run the following script
|
||||||
|
@ -138,7 +149,7 @@ The following entities are exposed to Alexa platform via `emulated_hue_hidden`:
|
||||||
|
|
||||||
```
|
```
|
||||||
-------------------------------------------------- ------------------------------
|
-------------------------------------------------- ------------------------------
|
||||||
Entity ID Name
|
Entity ID Name
|
||||||
-------------------------------------------------- ------------------------------
|
-------------------------------------------------- ------------------------------
|
||||||
input_boolean.do_not_disturb Do Not Disturb
|
input_boolean.do_not_disturb Do Not Disturb
|
||||||
input_boolean.home_assistant_restart Home Assistant
|
input_boolean.home_assistant_restart Home Assistant
|
||||||
|
@ -152,7 +163,7 @@ switch.wemoswitch1 Front Room Light
|
||||||
-------------------------------------------------- ------------------------------
|
-------------------------------------------------- ------------------------------
|
||||||
```
|
```
|
||||||
|
|
||||||
## 2. To generate template sensors based on the device_trackers, run the following script and copy the output and use it in your code
|
## 2. To generate template sensors based on the device_trackers, run the following script and copy the output and use it in your code
|
||||||
|
|
||||||
Copy the output of the code in your dev-templates, and use it in your code directly
|
Copy the output of the code in your dev-templates, and use it in your code directly
|
||||||
|
|
||||||
|
@ -182,12 +193,12 @@ Copy the output of the code in your dev-templates, and use it in your code direc
|
||||||
friendly_name: "Srinika"
|
friendly_name: "Srinika"
|
||||||
icon_template: "{% if is_state('device_tracker.srinika_srinika', 'home') %}mdi:check-circle{% else %}mdi:alert-circle{% endif %}"
|
icon_template: "{% if is_state('device_tracker.srinika_srinika', 'home') %}mdi:check-circle{% else %}mdi:alert-circle{% endif %}"
|
||||||
|
|
||||||
...more entries!
|
...more entries!
|
||||||
```
|
```
|
||||||
|
|
||||||
## 3. Group & Entities:
|
## 3. Group & Entities:
|
||||||
|
|
||||||
To see the list of `groups`, and the entities that belong to the group, run this script
|
To see the list of `groups`, and the entities that belong to the group, run this script
|
||||||
|
|
||||||
```
|
```
|
||||||
{% for group in states.group%}
|
{% for group in states.group%}
|
||||||
|
@ -236,8 +247,8 @@ binary_sensor.ecolink_door_sensor_sensor_2
|
||||||
{{ "Last Updated".ljust(50) }}: {{ item.last_updated}}
|
{{ "Last Updated".ljust(50) }}: {{ item.last_updated}}
|
||||||
{{ "Last Changed".ljust(50) }}: {{ item.last_changed}}
|
{{ "Last Changed".ljust(50) }}: {{ item.last_changed}}
|
||||||
{%- for attrib in item.attributes|sort() %}
|
{%- for attrib in item.attributes|sort() %}
|
||||||
{%- if attrib is defined %}
|
{%- if attrib is defined %}
|
||||||
{{attrib.ljust(50)}}: {{ item.attributes[attrib] }}
|
{{attrib.ljust(50)}}: {{ item.attributes[attrib] }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
@ -247,25 +258,25 @@ binary_sensor.ecolink_door_sensor_sensor_2
|
||||||
|
|
||||||
```
|
```
|
||||||
__________________________________________________________________________________________
|
__________________________________________________________________________________________
|
||||||
automation.alert_low_battery_level_of_sensors
|
automation.alert_low_battery_level_of_sensors
|
||||||
State : on
|
State : on
|
||||||
Domain : automation
|
Domain : automation
|
||||||
Object ID : alert_low_battery_level_of_sensors
|
Object ID : alert_low_battery_level_of_sensors
|
||||||
Last Updated : 2017-09-14 00:19:00.697024+00:00
|
Last Updated : 2017-09-14 00:19:00.697024+00:00
|
||||||
Last Changed : 2017-09-14 00:19:00.697024+00:00
|
Last Changed : 2017-09-14 00:19:00.697024+00:00
|
||||||
friendly_name : Alert Low Battery Level of Sensors
|
friendly_name : Alert Low Battery Level of Sensors
|
||||||
icon : mdi:arrow-right-drop-circle
|
icon : mdi:arrow-right-drop-circle
|
||||||
last_triggered : None
|
last_triggered : None
|
||||||
__________________________________________________________________________________________
|
__________________________________________________________________________________________
|
||||||
automation.alert_super_heavy_winds
|
automation.alert_super_heavy_winds
|
||||||
State : on
|
State : on
|
||||||
Domain : automation
|
Domain : automation
|
||||||
Object ID : alert_super_heavy_winds
|
Object ID : alert_super_heavy_winds
|
||||||
Last Updated : 2017-09-14 00:19:00.739659+00:00
|
Last Updated : 2017-09-14 00:19:00.739659+00:00
|
||||||
Last Changed : 2017-09-14 00:19:00.739659+00:00
|
Last Changed : 2017-09-14 00:19:00.739659+00:00
|
||||||
friendly_name : Alert Super Heavy Winds
|
friendly_name : Alert Super Heavy Winds
|
||||||
hidden : True
|
hidden : True
|
||||||
icon : mdi:arrow-right-drop-circle
|
icon : mdi:arrow-right-drop-circle
|
||||||
last_triggered : None
|
last_triggered : None
|
||||||
|
|
||||||
...more entries!
|
...more entries!
|
||||||
|
@ -298,7 +309,8 @@ Sample code that uses macros to convert temperature from Fahrenheit to Centigrad
|
||||||
```
|
```
|
||||||
|
|
||||||
## 5.a Humidex Calculation
|
## 5.a Humidex Calculation
|
||||||
You can calculate the humidex based on Temperature and Relative Humidity using the following jinja macro
|
|
||||||
|
You can calculate the humidex based on Temperature and Humidity using the following jinja macro
|
||||||
|
|
||||||
```
|
```
|
||||||
{% macro humidex(T, H) %}
|
{% macro humidex(T, H) %}
|
||||||
|
@ -317,9 +329,24 @@ You can calculate the humidex based on Temperature and Relative Humidity using t
|
||||||
|
|
||||||
The output of that would be `24.455823489173447`.
|
The output of that would be `24.455823489173447`.
|
||||||
|
|
||||||
|
## 5.b Heat Index Calculation
|
||||||
|
|
||||||
|
You can calculate the heat index based on Temperature and Relative Humidity using the following jinja macro
|
||||||
|
|
||||||
|
```
|
||||||
|
{% macro heatindex(F, rh) %}
|
||||||
|
{% set hIndex = -42.379 + 2.04901523*F + 10.14333127*rh - 0.22475541*F*rh - 6.83783*(10**-3)*F*F - 5.481717*(10**-2)*rh*rh + 1.22874*(10**-3)*F*F*rh + 8.5282*(10**-4)*F*rh*rh - 1.99*10**-6*F*F*rh*rh %}
|
||||||
|
{{ hIndex }}
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
{{ heatindex(85, 50) }}
|
||||||
|
```
|
||||||
|
|
||||||
|
The output of that would be `86.4593188`.
|
||||||
|
|
||||||
## 6. Trigger Data in Automations
|
## 6. Trigger Data in Automations
|
||||||
|
|
||||||
Ever wondered what trigger data is available for you when writing automations? Just copy the mqtt.publish service below
|
Ever wondered what trigger data is available for you when writing automations? Just copy the mqtt.publish service below
|
||||||
and put it in **any** of your automation action section, and <b>it will dump all the attributes and information related to trigger, and state into your mqtt with a topic name "/dump/platform" </b>.
|
and put it in **any** of your automation action section, and <b>it will dump all the attributes and information related to trigger, and state into your mqtt with a topic name "/dump/platform" </b>.
|
||||||
|
|
||||||
Pre-requisite is to have MQTT configured in your Home Assistant. Use tools like `mqttfx` to browse mqtt data.
|
Pre-requisite is to have MQTT configured in your Home Assistant. Use tools like `mqttfx` to browse mqtt data.
|
||||||
|
@ -327,11 +354,11 @@ Pre-requisite is to have MQTT configured in your Home Assistant. Use tools like
|
||||||
Hope you find it useful!
|
Hope you find it useful!
|
||||||
|
|
||||||
```
|
```
|
||||||
- alias: Light Bulb State Change
|
- alias: Light Bulb State Change
|
||||||
trigger:
|
trigger:
|
||||||
platform: state
|
platform: state
|
||||||
entity_id: light.dinette
|
entity_id: light.dinette
|
||||||
action:
|
action:
|
||||||
- service: mqtt.publish
|
- service: mqtt.publish
|
||||||
data_template:
|
data_template:
|
||||||
topic: '/dump/{{ trigger.platform }}'
|
topic: '/dump/{{ trigger.platform }}'
|
||||||
|
@ -346,44 +373,44 @@ Hope you find it useful!
|
||||||
{{statePrefix ~ ".last_updated: "}} {{- stateObj.last_updated }}{{- "\n" -}}
|
{{statePrefix ~ ".last_updated: "}} {{- stateObj.last_updated }}{{- "\n" -}}
|
||||||
{{statePrefix ~ ".last_changed: "}} {{- stateObj.last_changed }}{{- "\n" -}}
|
{{statePrefix ~ ".last_changed: "}} {{- stateObj.last_changed }}{{- "\n" -}}
|
||||||
{%- for attrib in stateObj.attributes | sort() %}
|
{%- for attrib in stateObj.attributes | sort() %}
|
||||||
{%- if attrib is defined -%}
|
{%- if attrib is defined -%}
|
||||||
{{- statePrefix ~ ".attributes." ~ attrib ~ ": " -}} {{- stateObj.attributes[attrib] -}}
|
{{- statePrefix ~ ".attributes." ~ attrib ~ ": " -}} {{- stateObj.attributes[attrib] -}}
|
||||||
{{- "\n" -}}
|
{{- "\n" -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{%- endmacro -%}
|
{%- endmacro -%}
|
||||||
|
|
||||||
{% set p = trigger.platform %}
|
{% set p = trigger.platform %}
|
||||||
{{"trigger.platform: "}} {{ p }}{{- "\n" -}}
|
{{"trigger.platform: "}} {{ p }}{{- "\n" -}}
|
||||||
|
|
||||||
{%- if p == "mqtt" -%}
|
{%- if p == "mqtt" -%}
|
||||||
{{"trigger.topic: "}} {{ trigger.topic }}{{- "\n" -}}
|
{{"trigger.topic: "}} {{ trigger.topic }}{{- "\n" -}}
|
||||||
{{"trigger.payload: "}} {{ trigger.payload }}{{- "\n" -}}
|
{{"trigger.payload: "}} {{ trigger.payload }}{{- "\n" -}}
|
||||||
{{"trigger.payload_json: "}} {{ trigger.payload_json }}{{- "\n" -}}
|
{{"trigger.payload_json: "}} {{ trigger.payload_json }}{{- "\n" -}}
|
||||||
{{"trigger.qos: "}} {{ trigger.qos }}{{- "\n" -}}
|
{{"trigger.qos: "}} {{ trigger.qos }}{{- "\n" -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if p == "event" or p == "sun" or p == "zone" -%}
|
{%- if p == "event" or p == "sun" or p == "zone" -%}
|
||||||
{{"trigger.event: "}} {{ trigger.event }}{{- "\n" -}}
|
{{"trigger.event: "}} {{ trigger.event }}{{- "\n" -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if p == "numeric_state" -%}
|
{%- if p == "numeric_state" -%}
|
||||||
{{"trigger.above: "}} {{ trigger.above }}{{- "\n" -}}
|
{{"trigger.above: "}} {{ trigger.above }}{{- "\n" -}}
|
||||||
{{"trigger.below: "}} {{trigger.below }}{{- "\n" -}}
|
{{"trigger.below: "}} {{trigger.below }}{{- "\n" -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if p == "state" -%}
|
{%- if p == "state" -%}
|
||||||
{{"trigger.for: "}} {{ trigger.for }}{{- "\n" -}}
|
{{"trigger.for: "}} {{ trigger.for }}{{- "\n" -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if p == "time" -%}
|
{%- if p == "time" -%}
|
||||||
{{"trigger.now: "}} {{ trigger.now }}{{- "\n" -}}
|
{{"trigger.now: "}} {{ trigger.now }}{{- "\n" -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if p == "zone" -%}
|
{%- if p == "zone" -%}
|
||||||
{{"trigger.zone: "}} {{ trigger.zone }}{{- "\n" -}}
|
{{"trigger.zone: "}} {{ trigger.zone }}{{- "\n" -}}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
|
|
||||||
{%- if p == "state" or p == "numeric_state" or p == "template" or p == "zone" -%}
|
{%- if p == "state" or p == "numeric_state" or p == "template" or p == "zone" -%}
|
||||||
{{"trigger.entity_id: "}} {{ trigger.entity_id }}{{- "\n" -}}{{- "\n" -}}
|
{{"trigger.entity_id: "}} {{ trigger.entity_id }}{{- "\n" -}}{{- "\n" -}}
|
||||||
{{"trigger.from_state: "}} {{- "\n" -}}
|
{{"trigger.from_state: "}} {{- "\n" -}}
|
||||||
|
@ -391,7 +418,7 @@ Hope you find it useful!
|
||||||
{{ dumpState("trigger.from_state", trigger.from_state) }} {{- "\n" -}}
|
{{ dumpState("trigger.from_state", trigger.from_state) }} {{- "\n" -}}
|
||||||
trigger.to_state:{{- "\n" -}}
|
trigger.to_state:{{- "\n" -}}
|
||||||
-----------------{{- "\n" -}}
|
-----------------{{- "\n" -}}
|
||||||
{{ dumpState("trigger.to_state", trigger.to_state) }}
|
{{ dumpState("trigger.to_state", trigger.to_state) }}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -437,6 +464,7 @@ You can pick and choose which entity you want to get attributes by changing the
|
||||||
## 8. Find out which zwave device checked in at when
|
## 8. Find out which zwave device checked in at when
|
||||||
|
|
||||||
To find out when was the last time a zwave device has communicated with the controller, run the script below
|
To find out when was the last time a zwave device has communicated with the controller, run the script below
|
||||||
|
|
||||||
```
|
```
|
||||||
{%- macro zwave_check() -%}
|
{%- macro zwave_check() -%}
|
||||||
{% for item in states.zwave %}
|
{% for item in states.zwave %}
|
||||||
|
@ -460,6 +488,7 @@ Here are the devices that have checked in the last 10 minutes:
|
||||||
{{ output }}
|
{{ output }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Here is the output of the above script:
|
### Here is the output of the above script:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -490,6 +519,7 @@ ZWave Stick - 8.82 minutes ago
|
||||||
```
|
```
|
||||||
|
|
||||||
## 9. Word Wrapping long text into multiple lines:
|
## 9. Word Wrapping long text into multiple lines:
|
||||||
|
|
||||||
To wrap text to a certain number of characters, use the following script:
|
To wrap text to a certain number of characters, use the following script:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -500,6 +530,7 @@ To wrap text to a certain number of characters, use the following script:
|
||||||
```
|
```
|
||||||
|
|
||||||
### Here is the output of the above script:
|
### Here is the output of the above script:
|
||||||
|
|
||||||
```
|
```
|
||||||
this is a long text. I mean it
|
this is a long text. I mean it
|
||||||
is a really really really long
|
is a really really really long
|
||||||
|
@ -533,6 +564,7 @@ Fun stuff...
|
||||||
```
|
```
|
||||||
|
|
||||||
### Here is the sample output of the above script... you may see a different output based on the components that are being used
|
### Here is the sample output of the above script... you may see a different output based on the components that are being used
|
||||||
|
|
||||||
```
|
```
|
||||||
['alarm_control_panel', 'automation', 'binary_sensor', 'calendar', 'camera', 'climate', 'device_tracker', 'group', 'input_boolean', 'input_datetime', 'input_label', 'input_number', 'input_select', 'input_text', 'light', 'media_player', 'proximity', 'script', 'sensor', 'sun', 'switch', 'timer', 'zone', 'zwave']
|
['alarm_control_panel', 'automation', 'binary_sensor', 'calendar', 'camera', 'climate', 'device_tracker', 'group', 'input_boolean', 'input_datetime', 'input_label', 'input_number', 'input_select', 'input_text', 'light', 'media_player', 'proximity', 'script', 'sensor', 'sun', 'switch', 'timer', 'zone', 'zwave']
|
||||||
```
|
```
|
||||||
|
@ -541,7 +573,6 @@ The way the above script works is it iterates through all the entities, and retr
|
||||||
|
|
||||||
## 11a. To get the current list of domains and the number of entities in each domain:
|
## 11a. To get the current list of domains and the number of entities in each domain:
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
{%- set unique_domains = states | map(attribute='domain') |list | unique | list -%}
|
{%- set unique_domains = states | map(attribute='domain') |list | unique | list -%}
|
||||||
[{%- for domain in unique_domains -%}
|
[{%- for domain in unique_domains -%}
|
||||||
|
@ -554,11 +585,11 @@ The way the above script works is it iterates through all the entities, and retr
|
||||||
```
|
```
|
||||||
|
|
||||||
### Here is the output of the above script... you may see a different output based on the components that are being used
|
### Here is the output of the above script... you may see a different output based on the components that are being used
|
||||||
|
|
||||||
```
|
```
|
||||||
[alarm_control_panel (1), automation (176), binary_sensor (59), calendar (4), camera (7), climate (2), device_tracker (10), group (106), image_processing (8), input_boolean (42), input_datetime (8), input_label (32), input_number (3), input_select (6), input_text (1), light (8), lock (1), media_player (13), proximity (2), script (26), sensor (330), sun (1), switch (28), timer (9), zone (24), and zwave (24)]
|
[alarm_control_panel (1), automation (176), binary_sensor (59), calendar (4), camera (7), climate (2), device_tracker (10), group (106), image_processing (8), input_boolean (42), input_datetime (8), input_label (32), input_number (3), input_select (6), input_text (1), light (8), lock (1), media_player (13), proximity (2), script (26), sensor (330), sun (1), switch (28), timer (9), zone (24), and zwave (24)]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## 12. Automatic `Group` creator
|
## 12. Automatic `Group` creator
|
||||||
|
|
||||||
Run the following script to automatically create groups sorted by the domain
|
Run the following script to automatically create groups sorted by the domain
|
||||||
|
@ -584,15 +615,16 @@ group:
|
||||||
|
|
||||||
## 13. To sum up list of attribute values in a list
|
## 13. To sum up list of attribute values in a list
|
||||||
|
|
||||||
```
|
````
|
||||||
something like this will wok: ```
|
something like this will wok: ```
|
||||||
{% set people = [{'name':'john', 'experience':15}, {'name':'steve', 'experience':10}, {'name':'will', 'experience':12}, {'name':'tinkerer', 'experience':25}] %}
|
{% set people = [{'name':'john', 'experience':15}, {'name':'steve', 'experience':10}, {'name':'will', 'experience':12}, {'name':'tinkerer', 'experience':25}] %}
|
||||||
Combined experience: {{ people | sum(attribute='experience') }} years
|
Combined experience: {{ people | sum(attribute='experience') }} years
|
||||||
```
|
````
|
||||||
|
|
||||||
### The above script returns `Combined experience: 62 years`
|
### The above script returns `Combined experience: 62 years`
|
||||||
|
|
||||||
## 14. To get list of attribute values as a string
|
## 14. To get list of attribute values as a string
|
||||||
|
|
||||||
```
|
```
|
||||||
{%set value_json = {
|
{%set value_json = {
|
||||||
"success": true,
|
"success": true,
|
||||||
|
@ -623,11 +655,12 @@ Combined experience: {{ people | sum(attribute='experience') }} years
|
||||||
{{- item.tag -}}
|
{{- item.tag -}}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
||||||
Or
|
Or
|
||||||
|
|
||||||
{{ value_json.tags|map(attribute='tag')|join(', ') }}
|
{{ value_json.tags|map(attribute='tag')|join(', ') }}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 15. Convert a given "Number" to "Words"
|
## 15. Convert a given "Number" to "Words"
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -678,7 +711,6 @@ Or
|
||||||
|
|
||||||
The above returns `negative one hundred and twenty-three million four hundred and fifty-six thousand seven hundred and eighty-nine`.
|
The above returns `negative one hundred and twenty-three million four hundred and fifty-six thousand seven hundred and eighty-nine`.
|
||||||
|
|
||||||
|
|
||||||
## 16. Positive Subtraction using nines
|
## 16. Positive Subtraction using nines
|
||||||
|
|
||||||
The following code is written by [@dale3h](https://github.com/dale3h), I thought it would make perfect sense to keep it in here.
|
The following code is written by [@dale3h](https://github.com/dale3h), I thought it would make perfect sense to keep it in here.
|
||||||
|
@ -690,6 +722,7 @@ The following code is written by [@dale3h](https://github.com/dale3h), I thought
|
||||||
```
|
```
|
||||||
|
|
||||||
The following is an example on how to use the nines macro:
|
The following is an example on how to use the nines macro:
|
||||||
|
|
||||||
```
|
```
|
||||||
873 - 218 = 655
|
873 - 218 = 655
|
||||||
|
|
||||||
|
@ -697,6 +730,7 @@ The following is an example on how to use the nines macro:
|
||||||
```
|
```
|
||||||
|
|
||||||
## 17. List devices that are home, list lights that are ON, list anything in a group with a specific state
|
## 17. List devices that are home, list lights that are ON, list anything in a group with a specific state
|
||||||
|
|
||||||
The following code lists all the entity friendly names in a group that has a specific state. Just change the group, and the desired state.
|
The following code lists all the entity friendly names in a group that has a specific state. Just change the group, and the desired state.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -725,9 +759,11 @@ Or
|
||||||
{% set open_doors = {{ states | selectattr('entity_id', 'in', state_attr('group.all_doors','entity_id')) | selectattr('state','in',['on','open']) | list | map(attribute='name') |join(', ') }}
|
{% set open_doors = {{ states | selectattr('entity_id', 'in', state_attr('group.all_doors','entity_id')) | selectattr('state','in',['on','open']) | list | map(attribute='name') |join(', ') }}
|
||||||
The following doors are open: {{ open_doors }}
|
The following doors are open: {{ open_doors }}
|
||||||
```
|
```
|
||||||
|
|
||||||
## 18. Check Battery Levels of ALL devices using one script:
|
## 18. Check Battery Levels of ALL devices using one script:
|
||||||
|
|
||||||
You can also use this in your automations to alert you when a specific device's battery level goes below certain threshold.
|
You can also use this in your automations to alert you when a specific device's battery level goes below certain threshold.
|
||||||
|
|
||||||
```
|
```
|
||||||
{%- for item in states -%}
|
{%- for item in states -%}
|
||||||
{%- for attrib in item.attributes|sort() if 'battery' in attrib %}
|
{%- for attrib in item.attributes|sort() if 'battery' in attrib %}
|
||||||
|
@ -737,6 +773,7 @@ You can also use this in your automations to alert you when a specific device's
|
||||||
```
|
```
|
||||||
|
|
||||||
The output should be something like:
|
The output should be something like:
|
||||||
|
|
||||||
```
|
```
|
||||||
Dining Room Motion Sensor Battery: 45.0
|
Dining Room Motion Sensor Battery: 45.0
|
||||||
Front Room Motion Sensor Battery: 51.0
|
Front Room Motion Sensor Battery: 51.0
|
||||||
|
@ -764,7 +801,7 @@ Wallmote Battery: 100
|
||||||
## 19. Difference between Two Lists:
|
## 19. Difference between Two Lists:
|
||||||
|
|
||||||
Assume you have two lists (before and after), and if you want to find out the difference between the lists, follow the code below:
|
Assume you have two lists (before and after), and if you want to find out the difference between the lists, follow the code below:
|
||||||
In this case, the list one (before_list) has `Whiskey`, and in the list two (after_list), the `Whiskey` is removed and `Beer` is added.
|
In this case, the list one (before_list) has `Whiskey`, and in the list two (after_list), the `Whiskey` is removed and `Beer` is added.
|
||||||
|
|
||||||
```
|
```
|
||||||
{% set before_list = ['Cup', 'Drink', 'Coffee cup', 'Coffee', 'Espresso', 'Caffeine', 'Latte', 'Whiskey'] %}
|
{% set before_list = ['Cup', 'Drink', 'Coffee cup', 'Coffee', 'Espresso', 'Caffeine', 'Latte', 'Whiskey'] %}
|
||||||
|
@ -801,12 +838,14 @@ Removed: {{ removed |title }}
|
||||||
{{ list_diff(before_list, after_list) }}
|
{{ list_diff(before_list, after_list) }}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
The output should be something like:
|
The output should be something like:
|
||||||
|
|
||||||
```
|
```
|
||||||
Added: Beer
|
Added: Beer
|
||||||
Removed: Whiskey
|
Removed: Whiskey
|
||||||
```
|
```
|
||||||
|
|
||||||
It will show `None.` when there are no changes between the lists. If you are wondering where you would need this script, imagine a scenario where you are feeding your camera image to a machine learning program (like machinebox/tagbox), and you get a list of tags in return. You can then use this script to check the differences between images by comparing tags. Item #14 is a sample output of tagbox for given image. You can use that code to generate list from a given JSON.
|
It will show `None.` when there are no changes between the lists. If you are wondering where you would need this script, imagine a scenario where you are feeding your camera image to a machine learning program (like machinebox/tagbox), and you get a list of tags in return. You can then use this script to check the differences between images by comparing tags. Item #14 is a sample output of tagbox for given image. You can use that code to generate list from a given JSON.
|
||||||
|
|
||||||
## 20. Concatenating Two Lists
|
## 20. Concatenating Two Lists
|
||||||
|
@ -819,7 +858,8 @@ It will show `None.` when there are no changes between the lists. If you are won
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
```
|
```
|
||||||
|
|
||||||
The output would be
|
The output would be
|
||||||
|
|
||||||
```
|
```
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
@ -849,7 +889,6 @@ If you want the date to be more readable for display, you can use the script bel
|
||||||
|
|
||||||
Feel free to modify the `strftime` format that fits your need. You can also pass your sensor value - ex: `{{ get_date(states.sensor.mysensor.last_updated) }}`.
|
Feel free to modify the `strftime` format that fits your need. You can also pass your sensor value - ex: `{{ get_date(states.sensor.mysensor.last_updated) }}`.
|
||||||
|
|
||||||
|
|
||||||
## 22. BANNER/ASCII Text Command in Jinja
|
## 22. BANNER/ASCII Text Command in Jinja
|
||||||
|
|
||||||
Ever wondered how you can create ASCII Text using Jinja? I wrote this code while teaching programming to my kids, and I thought I'd add it to my jinja collection. If you are familiar with the `banner` command in unix/linux, this is very similar!
|
Ever wondered how you can create ASCII Text using Jinja? I wrote this code while teaching programming to my kids, and I thought I'd add it to my jinja collection. If you are familiar with the `banner` command in unix/linux, this is very similar!
|
||||||
|
@ -885,12 +924,12 @@ Ever wondered how you can create ASCII Text using Jinja? I wrote this code while
|
||||||
The above code outputs:
|
The above code outputs:
|
||||||
|
|
||||||
```
|
```
|
||||||
##### # # # # # # # # # #
|
##### # # # # # # # # # #
|
||||||
# # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # #
|
||||||
# # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # #
|
||||||
##### ### # # # # # # # # # # # #
|
##### ### # # # # # # # # # # # #
|
||||||
# # # ####### # ####### # # ####### # #######
|
# # # ####### # ####### # # ####### # #######
|
||||||
# # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # #
|
||||||
##### # # # # ####### # # # # # ####### # #
|
##### # # # # ####### # # # # # ####### # #
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -903,20 +942,20 @@ The `alphabets` variable holds a long string of characters that represent all al
|
||||||
### How can I change from `#` with other characters like `*`?
|
### How can I change from `#` with other characters like `*`?
|
||||||
|
|
||||||
Very simple, just replace the command in the code:
|
Very simple, just replace the command in the code:
|
||||||
from `{{ alphabets[begin:end]|replace('#', '#')|replace(' ',' ') -}}`
|
from `{{ alphabets[begin:end]|replace('#', '#')|replace(' ',' ') -}}`
|
||||||
to `{{ alphabets[begin:end]|replace('#', '*')|replace(' ',' ') -}}`
|
to `{{ alphabets[begin:end]|replace('#', '*')|replace(' ',' ') -}}`
|
||||||
|
|
||||||
### How do I add more characters?
|
### How do I add more characters?
|
||||||
|
|
||||||
You can add other characters or numbers by simply appending to the existing `alphabets` string. For ex: If you want to add an empty space, just append 49 empty spaces and add a space to the `abcdefghijklmnopqrstuvwxyz` string for index/lookup.
|
You can add other characters or numbers by simply appending to the existing `alphabets` string. For ex: If you want to add an empty space, just append 49 empty spaces and add a space to the `abcdefghijklmnopqrstuvwxyz` string for index/lookup.
|
||||||
|
|
||||||
```
|
```
|
||||||
####### # # # ####### # #
|
####### # # # ####### # #
|
||||||
# ## # # # # # #
|
# ## # # # # # #
|
||||||
# # # # # # # # #
|
# # # # # # # # #
|
||||||
##### # # # # # # #
|
##### # # # # # # #
|
||||||
# # # # # # # # #
|
# # # # # # # # #
|
||||||
# # ## # # # # #
|
# # ## # # # # #
|
||||||
####### # # ##### ####### #
|
####### # # ##### ####### #
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -925,7 +964,7 @@ You can add other characters or numbers by simply appending to the existing `alp
|
||||||
When you have an image_processing component in your setup, chances are it gives you the following JSON based on the camera feed. Often times people wonder how they can retrive relevant information from the JSON into a variable or a sensor to use in automations. The following JSON is a sample from image_processing component.
|
When you have an image_processing component in your setup, chances are it gives you the following JSON based on the camera feed. Often times people wonder how they can retrive relevant information from the JSON into a variable or a sensor to use in automations. The following JSON is a sample from image_processing component.
|
||||||
|
|
||||||
```
|
```
|
||||||
{% set value_json =
|
{% set value_json =
|
||||||
{
|
{
|
||||||
'car': [{
|
'car': [{
|
||||||
'score': 99.01034832000732,
|
'score': 99.01034832000732,
|
||||||
|
@ -946,12 +985,12 @@ The following code shows all the tags that are found in the JSON that have the b
|
||||||
|
|
||||||
{%- macro get_list(obj) -%}
|
{%- macro get_list(obj) -%}
|
||||||
{%- for x in value_json[obj]|list if x.box[0] > 0.05 -%}
|
{%- for x in value_json[obj]|list if x.box[0] > 0.05 -%}
|
||||||
{%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{ obj }}
|
{%- if loop.first %}{% elif loop.last %},{% else %},{% endif -%}{{ obj }}
|
||||||
{%- endfor -%}{%- endmacro -%}
|
{%- endfor -%}{%- endmacro -%}
|
||||||
|
|
||||||
{%- macro run() -%}
|
{%- macro run() -%}
|
||||||
{%- for object in tags -%}
|
{%- for object in tags -%}
|
||||||
{%- if loop.first %}{% elif loop.last %}, {% else %}, {% endif -%}{{ obj }}
|
{%- if loop.first %}{% elif loop.last %}, {% else %}, {% endif -%}{{ obj }}
|
||||||
{{- get_list(object).split(',')|list|unique|list|join|title }}
|
{{- get_list(object).split(',')|list|unique|list|join|title }}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{% endmacro -%}
|
{% endmacro -%}
|
||||||
|
@ -960,7 +999,7 @@ The following code shows all the tags that are found in the JSON that have the b
|
||||||
{{- output ~ ' detected in ' ~ camera if output != '' -}}
|
{{- output ~ ' detected in ' ~ camera if output != '' -}}
|
||||||
```
|
```
|
||||||
|
|
||||||
The output is something like the folowing, that can used to announce using TTS or even send a text message to your cell phone.
|
The output is something like the folowing, that can used to announce using TTS or even send a text message to your cell phone.
|
||||||
|
|
||||||
```
|
```
|
||||||
Car detected in Backyard
|
Car detected in Backyard
|
||||||
|
@ -968,7 +1007,7 @@ Car detected in Backyard
|
||||||
|
|
||||||
## 24 English to Morse Code Conversion
|
## 24 English to Morse Code Conversion
|
||||||
|
|
||||||
For those ham radio buffs out there, here is a way you can convert english to morse code.
|
For those ham radio buffs out there, here is a way you can convert english to morse code.
|
||||||
|
|
||||||
```
|
```
|
||||||
{% set input = "hello morse" %}
|
{% set input = "hello morse" %}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
# Wrote this code for @norien, where he wanted to set specific color to all the bulbs based on holiday
|
# Wrote this code for @norien, where he wanted to set specific color to all the bulbs based on holiday
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
# homeassistant:
|
# homeassistant:
|
||||||
# customize:
|
# customize:
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
# {%- macro get_next_entity_id() -%}
|
# {%- macro get_next_entity_id() -%}
|
||||||
# {%- for item in states.group.input_labels.attributes.entity_id if is_state(item, "no") -%}
|
# {%- for item in states.group.input_labels.attributes.entity_id if is_state(item, "no") -%}
|
||||||
# {{- "," if not loop.first-}}{{- item -}}{{-endif-}}
|
# {{- "," if not loop.first-}}{{- item -}}{{-endif-}}
|
||||||
# {%- endfor -%}
|
# {%- endfor -%}
|
||||||
# {%- endmacro -%}
|
# {%- endmacro -%}
|
||||||
# {%- set entity_ids = get_next_entity_id() -%}
|
# {%- set entity_ids = get_next_entity_id() -%}
|
||||||
# {% if entity_ids | trim != "" and entity_ids.split(',') | length | int == 0 %}
|
# {% if entity_ids | trim != "" and entity_ids.split(',') | length | int == 0 %}
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
# {%- macro get_next_entity_id() -%}
|
# {%- macro get_next_entity_id() -%}
|
||||||
# {%- for item in states.group.input_labels.attributes.entity_id if is_state(item, "no") -%}
|
# {%- for item in states.group.input_labels.attributes.entity_id if is_state(item, "no") -%}
|
||||||
# {{- "," if not loop.first-}}{{- item -}}{{-endif-}}
|
# {{- "," if not loop.first-}}{{- item -}}{{-endif-}}
|
||||||
# {%- endfor -%}
|
# {%- endfor -%}
|
||||||
# {%- endmacro -%}
|
# {%- endmacro -%}
|
||||||
# {%- set entity_ids = get_next_entity_id() -%}
|
# {%- set entity_ids = get_next_entity_id() -%}
|
||||||
# {% if entity_ids | trim != "" %}
|
# {% if entity_ids | trim != "" %}
|
||||||
|
@ -135,11 +135,11 @@
|
||||||
# trigger:
|
# trigger:
|
||||||
# platform: state
|
# platform: state
|
||||||
# entity_id: 'group.telefoner'
|
# entity_id: 'group.telefoner'
|
||||||
# state: 'home'
|
# state: 'home'
|
||||||
# condition:
|
# condition:
|
||||||
# - condition: time
|
# - condition: time
|
||||||
# after: '12:00:00'
|
# after: '12:00:00'
|
||||||
# before: '02:00:00'
|
# before: '02:00:00'
|
||||||
# action:
|
# action:
|
||||||
# - service_template: scene.turn_on
|
# - service_template: scene.turn_on
|
||||||
# data_template:
|
# data_template:
|
||||||
|
@ -171,9 +171,8 @@
|
||||||
# {% endif %}
|
# {% endif %}
|
||||||
# entity_id: switch.kitchen
|
# entity_id: switch.kitchen
|
||||||
|
|
||||||
|
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
# Wrote this code for someone, where they wanted to drop a message to MQTT with topic name based on sensor
|
# Wrote this code for someone, where they wanted to drop a message to MQTT with topic name based on sensor
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
|
|
||||||
# automation:
|
# automation:
|
||||||
|
@ -202,7 +201,6 @@
|
||||||
# {% set mapping = '{ "hallway": "985335", "livingroom": "854267", "kitchen": "699555" }' %}
|
# {% set mapping = '{ "hallway": "985335", "livingroom": "854267", "kitchen": "699555" }' %}
|
||||||
# {{ 'Hassio/433/Honeywell/Honeywell_Door/Window_Sensor/' ~ mapping[trigger.entity_id.split('.')[1].split('_')[0] ~ ''] }}
|
# {{ 'Hassio/433/Honeywell/Honeywell_Door/Window_Sensor/' ~ mapping[trigger.entity_id.split('.')[1].split('_')[0] ~ ''] }}
|
||||||
|
|
||||||
|
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
# Wrote code for @chags - to pass a list of variables from an automation to a script
|
# Wrote code for @chags - to pass a list of variables from an automation to a script
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
|
@ -231,7 +229,7 @@
|
||||||
# {%- endfor %}
|
# {%- endfor %}
|
||||||
|
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
# Wrote code for @IxsharpxI#4883 - he wanted to call REST api and extract various values for APCUPS!
|
# Wrote code for @IxsharpxI#4883 - he wanted to call REST api and extract various values for APCUPS!
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
|
|
||||||
# https://raw.githubusercontent.com/awesome-automations/home/master/apcups.html
|
# https://raw.githubusercontent.com/awesome-automations/home/master/apcups.html
|
||||||
|
@ -250,7 +248,6 @@
|
||||||
# {%- endmacro %}
|
# {%- endmacro %}
|
||||||
# {{ GetValue('MODEL : ') }}
|
# {{ GetValue('MODEL : ') }}
|
||||||
|
|
||||||
|
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
# Wrote this code for someone, where they wanted to have an input_boolean that controls effects
|
# Wrote this code for someone, where they wanted to have an input_boolean that controls effects
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
|
@ -281,7 +278,7 @@
|
||||||
# entity_id: light.xxx
|
# entity_id: light.xxx
|
||||||
|
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
# @xxKira wanted to call a service in a loop by passing an alphabet each time from a string,
|
# @xxKira wanted to call a service in a loop by passing an alphabet each time from a string,
|
||||||
# so that the service inserts that alphabet using remote on TV
|
# so that the service inserts that alphabet using remote on TV
|
||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
|
|
||||||
|
@ -351,10 +348,9 @@
|
||||||
# {%- for x in states if x.attributes and x.attributes.battery_level and x.attributes.battery_level |int <= 24 %}
|
# {%- for x in states if x.attributes and x.attributes.battery_level and x.attributes.battery_level |int <= 24 %}
|
||||||
# {% set ns.lowBattery = ns.lowBattery ~ ',' ~ x.name %}
|
# {% set ns.lowBattery = ns.lowBattery ~ ',' ~ x.name %}
|
||||||
# {%- endfor %}
|
# {%- endfor %}
|
||||||
# {{ ns.lowBattery -}}
|
# {{ ns.lowBattery -}}
|
||||||
# {{- ' battery is ' if ns.lowBattery.split(',')|count == 1 else ' batteries are ' -}} less than 25 percent.
|
# {{- ' battery is ' if ns.lowBattery.split(',')|count == 1 else ' batteries are ' -}} less than 25 percent.
|
||||||
|
|
||||||
|
|
||||||
##############################################################################################################################
|
##############################################################################################################################
|
||||||
# Wrote this for @marmar63#0271 - he wanted to run a script `x` number of times
|
# Wrote this for @marmar63#0271 - he wanted to run a script `x` number of times
|
||||||
# - reduce volume, restore volume level...etc
|
# - reduce volume, restore volume level...etc
|
||||||
|
@ -477,7 +473,6 @@
|
||||||
# - sensor.robotic_mower_name
|
# - sensor.robotic_mower_name
|
||||||
# - sensor.robotic_mower_serial
|
# - sensor.robotic_mower_serial
|
||||||
|
|
||||||
|
|
||||||
# robotic_mower_scheduling:
|
# robotic_mower_scheduling:
|
||||||
# view: no
|
# view: no
|
||||||
# name: 'Robotic mower scheduling'
|
# name: 'Robotic mower scheduling'
|
||||||
|
@ -498,7 +493,6 @@
|
||||||
# - input_datetime.bob_start_time_7
|
# - input_datetime.bob_start_time_7
|
||||||
# - input_datetime.bob_stop_time_7
|
# - input_datetime.bob_stop_time_7
|
||||||
|
|
||||||
|
|
||||||
# robotic_mower_automations:
|
# robotic_mower_automations:
|
||||||
# view: no
|
# view: no
|
||||||
# name: 'Robotic mower Automations'
|
# name: 'Robotic mower Automations'
|
||||||
|
@ -623,7 +617,6 @@
|
||||||
# state_topic: "robotic_mower/device/serial"
|
# state_topic: "robotic_mower/device/serial"
|
||||||
# name: "Robotic mower Serial"
|
# name: "Robotic mower Serial"
|
||||||
|
|
||||||
|
|
||||||
# ###########################################################
|
# ###########################################################
|
||||||
# ## binary_sensor
|
# ## binary_sensor
|
||||||
# ###########################################################
|
# ###########################################################
|
||||||
|
@ -725,12 +718,12 @@
|
||||||
# name: Bob Stop Time 7
|
# name: Bob Stop Time 7
|
||||||
# has_date: false
|
# has_date: false
|
||||||
# has_time: true
|
# has_time: true
|
||||||
|
|
||||||
# ################################################################
|
# ################################################################
|
||||||
# # Automation
|
# # Automation
|
||||||
# ################################################################
|
# ################################################################
|
||||||
# automation:
|
# automation:
|
||||||
|
|
||||||
# - alias: Bob Command Control
|
# - alias: Bob Command Control
|
||||||
# initial_state: 'on'
|
# initial_state: 'on'
|
||||||
# trigger:
|
# trigger:
|
||||||
|
@ -1002,4 +995,16 @@
|
||||||
# value_template: >-
|
# value_template: >-
|
||||||
# {% for city in value_json.cities if city.id == '126' %}
|
# {% for city in value_json.cities if city.id == '126' %}
|
||||||
# {{ city.id }}
|
# {{ city.id }}
|
||||||
# {% endfor %}
|
# {% endfor %}
|
||||||
|
|
||||||
|
# homeassistant:
|
||||||
|
|
||||||
|
# script:
|
||||||
|
# sync_ecobee_temp:
|
||||||
|
# alias: Push Ecobee target temp to the other thermostats
|
||||||
|
# sequence:
|
||||||
|
# - service: climate.set_temperature
|
||||||
|
# data_template:
|
||||||
|
# entity_id: climate.cooler_fan
|
||||||
|
# temperature: "{{ states.climate.main_floor.temperature |float }}"
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,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="47" />
|
<SensorMap index="0" type="47" />
|
||||||
<SensorMap index="0" type="55" />
|
<SensorMap index="0" type="55" />
|
||||||
<SensorMap index="0" type="63" />
|
<SensorMap index="0" type="63" />
|
||||||
|
@ -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="72.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="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="40" />
|
<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" />
|
||||||
</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="64" />
|
<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="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" />
|
||||||
|
@ -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="73.0" />
|
<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="3" label="Luminance" units="lux" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="39" />
|
<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="36" />
|
<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="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="82" />
|
<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" />
|
||||||
</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" />
|
||||||
|
@ -379,7 +379,118 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
</CommandClasses>
|
</CommandClasses>
|
||||||
</Node>
|
</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>
|
||||||
|
<CommandClasses>
|
||||||
|
<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" innif="true" setasreport="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<Value type="byte" genre="basic" instance="1" index="0" label="Basic" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
|
||||||
|
</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" />
|
||||||
|
<SensorMap index="0" type="255" />
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1">
|
||||||
|
<Instance index="1" />
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="94" name="COMMAND_CLASS_ZWAVEPLUS_INFO" version="1" request_flags="4" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
|
||||||
|
<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3079" />
|
||||||
|
<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3072" />
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<Value type="list" genre="config" instance="1" index="223" label="Fault restore" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
|
||||||
|
<Help>Enable/Disable Basic Sets of 0x00 on a fault restore to nodes in Group 2</Help>
|
||||||
|
<Item label="Disable" value="0" />
|
||||||
|
<Item label="Enable" value="255" />
|
||||||
|
</Value>
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="5" request_flags="2" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<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="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>
|
||||||
|
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="4" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
|
||||||
|
<Item label="Normal" value="0" />
|
||||||
|
<Item label="-1dB" value="1" />
|
||||||
|
<Item label="-2dB" value="2" />
|
||||||
|
<Item label="-3dB" value="3" />
|
||||||
|
<Item label="-4dB" value="4" />
|
||||||
|
<Item label="-5dB" value="5" />
|
||||||
|
<Item label="-6dB" value="6" />
|
||||||
|
<Item label="-7dB" value="7" />
|
||||||
|
<Item label="-8dB" value="8" />
|
||||||
|
<Item label="-9dB" value="9" />
|
||||||
|
</Value>
|
||||||
|
<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
|
||||||
|
<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
|
||||||
|
<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
|
||||||
|
<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
|
||||||
|
<Item label="Normal" value="0" />
|
||||||
|
<Item label="-1dB" value="1" />
|
||||||
|
<Item label="-2dB" value="2" />
|
||||||
|
<Item label="-3dB" value="3" />
|
||||||
|
<Item label="-4dB" value="4" />
|
||||||
|
<Item label="-5dB" value="5" />
|
||||||
|
<Item label="-6dB" value="6" />
|
||||||
|
<Item label="-7dB" value="7" />
|
||||||
|
<Item label="-8dB" value="8" />
|
||||||
|
<Item label="-9dB" value="9" />
|
||||||
|
</Value>
|
||||||
|
<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
|
||||||
|
<Value type="button" genre="system" instance="1" index="6" label="Test" 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="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
|
||||||
|
<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
|
||||||
|
<Item label="Failed" value="0" />
|
||||||
|
<Item label="Success" value="1" />
|
||||||
|
<Item label="In Progress" value="2" />
|
||||||
|
</Value>
|
||||||
|
<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
|
||||||
|
</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" />
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="2" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<Value type="int" genre="system" instance="1" index="0" label="Wake-up Interval" units="Seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="14400" />
|
||||||
|
<Value type="int" genre="system" instance="1" index="1" label="Minimum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3600" />
|
||||||
|
<Value type="int" genre="system" instance="1" index="2" label="Maximum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="604800" />
|
||||||
|
<Value type="int" genre="system" instance="1" index="3" label="Default Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="14400" />
|
||||||
|
<Value type="int" genre="system" instance="1" index="4" label="Wake-up Interval Step" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="200" />
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<Associations num_groups="2">
|
||||||
|
<Group index="1" max_associations="5" label="Lifeline" auto="true">
|
||||||
|
<Node id="1" />
|
||||||
|
</Group>
|
||||||
|
<Group index="2" max_associations="5" label="Basic Report" auto="false" />
|
||||||
|
</Associations>
|
||||||
|
</CommandClass>
|
||||||
|
<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
|
||||||
|
<Instance index="1" />
|
||||||
|
<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="6" />
|
||||||
|
<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="4.05" />
|
||||||
|
<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="10.01" />
|
||||||
|
</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="Complete">
|
||||||
<Manufacturer id="14a" name="Ecolink">
|
<Manufacturer id="14a" name="Ecolink">
|
||||||
<Product type="4" id="3" name="Garage Door Tilt Sensor" />
|
<Product type="4" id="3" name="Garage Door Tilt Sensor" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -490,118 +601,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
</CommandClasses>
|
</CommandClasses>
|
||||||
</Node>
|
</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="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="3" name="Garage Door Tilt Sensor" />
|
|
||||||
</Manufacturer>
|
|
||||||
<CommandClasses>
|
|
||||||
<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4" innif="true" setasreport="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<Value type="byte" genre="basic" instance="1" index="0" label="Basic" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
|
|
||||||
</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" />
|
|
||||||
<SensorMap index="0" type="255" />
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1">
|
|
||||||
<Instance index="1" />
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="94" name="COMMAND_CLASS_ZWAVEPLUS_INFO" version="1" request_flags="4" innif="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
|
|
||||||
<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3079" />
|
|
||||||
<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3072" />
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<Value type="list" genre="config" instance="1" index="223" label="Fault restore" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="1" vindex="0" size="1">
|
|
||||||
<Help>Enable/Disable Basic Sets of 0x00 on a fault restore to nodes in Group 2</Help>
|
|
||||||
<Item label="Disable" value="0" />
|
|
||||||
<Item label="Enable" value="255" />
|
|
||||||
</Value>
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="5" request_flags="2" innif="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<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="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">
|
|
||||||
<Instance index="1" />
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="4" innif="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
|
|
||||||
<Item label="Normal" value="0" />
|
|
||||||
<Item label="-1dB" value="1" />
|
|
||||||
<Item label="-2dB" value="2" />
|
|
||||||
<Item label="-3dB" value="3" />
|
|
||||||
<Item label="-4dB" value="4" />
|
|
||||||
<Item label="-5dB" value="5" />
|
|
||||||
<Item label="-6dB" value="6" />
|
|
||||||
<Item label="-7dB" value="7" />
|
|
||||||
<Item label="-8dB" value="8" />
|
|
||||||
<Item label="-9dB" value="9" />
|
|
||||||
</Value>
|
|
||||||
<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
|
|
||||||
<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
|
|
||||||
<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
|
|
||||||
<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
|
|
||||||
<Item label="Normal" value="0" />
|
|
||||||
<Item label="-1dB" value="1" />
|
|
||||||
<Item label="-2dB" value="2" />
|
|
||||||
<Item label="-3dB" value="3" />
|
|
||||||
<Item label="-4dB" value="4" />
|
|
||||||
<Item label="-5dB" value="5" />
|
|
||||||
<Item label="-6dB" value="6" />
|
|
||||||
<Item label="-7dB" value="7" />
|
|
||||||
<Item label="-8dB" value="8" />
|
|
||||||
<Item label="-9dB" value="9" />
|
|
||||||
</Value>
|
|
||||||
<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
|
|
||||||
<Value type="button" genre="system" instance="1" index="6" label="Test" 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="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
|
|
||||||
<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
|
|
||||||
<Item label="Failed" value="0" />
|
|
||||||
<Item label="Success" value="1" />
|
|
||||||
<Item label="In Progress" value="2" />
|
|
||||||
</Value>
|
|
||||||
<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
|
|
||||||
</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" />
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="2" innif="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<Value type="int" genre="system" instance="1" index="0" label="Wake-up Interval" units="Seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="14400" />
|
|
||||||
<Value type="int" genre="system" instance="1" index="1" label="Minimum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3600" />
|
|
||||||
<Value type="int" genre="system" instance="1" index="2" label="Maximum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="604800" />
|
|
||||||
<Value type="int" genre="system" instance="1" index="3" label="Default Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="14400" />
|
|
||||||
<Value type="int" genre="system" instance="1" index="4" label="Wake-up Interval Step" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="200" />
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<Associations num_groups="2">
|
|
||||||
<Group index="1" max_associations="5" label="Lifeline" auto="true">
|
|
||||||
<Node id="1" />
|
|
||||||
</Group>
|
|
||||||
<Group index="2" max_associations="5" label="Basic Report" auto="false" />
|
|
||||||
</Associations>
|
|
||||||
</CommandClass>
|
|
||||||
<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
|
|
||||||
<Instance index="1" />
|
|
||||||
<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="6" />
|
|
||||||
<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="4.05" />
|
|
||||||
<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="10.01" />
|
|
||||||
</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">
|
|
||||||
<Manufacturer id="14a" name="Ecolink">
|
<Manufacturer id="14a" name="Ecolink">
|
||||||
<Product type="4" id="2" name="Door Sensor" />
|
<Product type="4" id="2" name="Door Sensor" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -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="76.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="69.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="137" />
|
<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="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="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">
|
||||||
|
@ -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="50.014" />
|
<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="1" label="Previous Reading" units="kWh" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="50.014" />
|
<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="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="365" />
|
<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="0.000" />
|
<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="16" label="Voltage" units="V" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="116.082" />
|
<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="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="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="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>
|
||||||
|
@ -1181,7 +1181,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
<CommandClass id="129" name="COMMAND_CLASS_CLOCK" version="1" request_flags="4" innif="true">
|
<CommandClass id="129" name="COMMAND_CLASS_CLOCK" version="1" request_flags="4" innif="true">
|
||||||
<Instance index="1" />
|
<Instance index="1" />
|
||||||
<Value type="list" genre="user" instance="1" index="0" label="Day" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="3" size="1">
|
<Value type="list" genre="user" instance="1" index="0" label="Day" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
|
||||||
<Item label="Monday" value="1" />
|
<Item label="Monday" value="1" />
|
||||||
<Item label="Tuesday" value="2" />
|
<Item label="Tuesday" value="2" />
|
||||||
<Item label="Wednesday" value="3" />
|
<Item label="Wednesday" value="3" />
|
||||||
|
@ -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="15" />
|
<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="2" label="Minute" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="9" />
|
<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" />
|
||||||
</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" />
|
||||||
|
@ -1328,7 +1328,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
</CommandClasses>
|
</CommandClasses>
|
||||||
</Node>
|
</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">
|
<Manufacturer id="14a" name="Ecolink">
|
||||||
<Product type="4" id="1" name="Motion Detector" />
|
<Product type="4" id="1" name="Motion Detector" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -1581,7 +1581,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
</CommandClasses>
|
</CommandClasses>
|
||||||
</Node>
|
</Node>
|
||||||
<Node id="23" name="Kitchen Siren" location="" basic="4" generic="16" specific="5" roletype="5" devicetype="3840" nodetype="0" type="Siren" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="CacheLoad">
|
<Node id="23" name="Kitchen Siren" location="" basic="4" generic="16" specific="5" roletype="5" devicetype="3840" nodetype="0" type="Siren" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
|
||||||
<Manufacturer id="14a" name="Ecolink">
|
<Manufacturer id="14a" name="Ecolink">
|
||||||
<Product type="5" id="a" name="Unknown: type=0005, id=000a" />
|
<Product type="5" id="a" name="Unknown: type=0005, id=000a" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -1703,7 +1703,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
</CommandClasses>
|
</CommandClasses>
|
||||||
</Node>
|
</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">
|
<Manufacturer id="14a" name="Ecolink">
|
||||||
<Product type="4" id="2" name="Unknown: type=0004, id=0002" />
|
<Product type="4" id="2" name="Unknown: type=0004, id=0002" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -2023,7 +2023,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
</CommandClasses>
|
</CommandClasses>
|
||||||
</Node>
|
</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">
|
<Manufacturer id="14a" name="Ecolink">
|
||||||
<Product type="5" id="f" name="FireFighter" />
|
<Product type="5" id="f" name="FireFighter" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -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="73.94" />
|
<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" />
|
||||||
</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" />
|
||||||
|
@ -2132,7 +2132,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
</CommandClasses>
|
</CommandClasses>
|
||||||
</Node>
|
</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">
|
<Manufacturer id="14a" name="Ecolink">
|
||||||
<Product type="4" id="2" name="Unknown: type=0004, id=0002" />
|
<Product type="4" id="2" name="Unknown: type=0004, id=0002" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -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="Dynamic">
|
<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">
|
||||||
<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.7" />
|
<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" />
|
||||||
</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" />
|
||||||
|
@ -2341,7 +2341,7 @@
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="5" innif="true">
|
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="5" 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="14" />
|
<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="0" />
|
||||||
</CommandClass>
|
</CommandClass>
|
||||||
<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="1" innif="true">
|
<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="1" 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="76.7" />
|
<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="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="42" />
|
<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="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>
|
||||||
|
@ -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="CacheLoad">
|
<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">
|
||||||
<Manufacturer id="0" name="">
|
<Manufacturer id="0" name="">
|
||||||
<Product type="0" id="0" name="" />
|
<Product type="0" id="0" name="" />
|
||||||
</Manufacturer>
|
</Manufacturer>
|
||||||
|
@ -2828,7 +2828,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="72" />
|
<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="0" />
|
||||||
</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" />
|
||||||
|
|
Loading…
Reference in New Issue