/
Devices.xml
259 lines (244 loc) · 10.7 KB
/
Devices.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
<?xml version="1.0"?>
<!-- If your plugin defines device types, you can define them here.
Devices must specify their type (via the type attribute):
relay (ON/OFF/STATUS)
dimmer (ON/OFF/DIM/BRIGHTEN/SET BRIGHTNESS/STATUS)
speedcontrol (ON/OFF/SET SPEED LEVEL/SET SPEED INDEX/INCREASE/DECREASE/STATUS)
sensor (ON/OFF/STATUS)
thermostat
sprinkler
custom
The first six inherit states, actions and events from Indigo. You can
also specify your own custom actions and additional states, if needed.
Devices must also specify a unique typeID - so, for instance, if you define
2 relay type devices then your plugin can distinguish between the two by
the typeID.
-->
<Devices>
<!-- Doorbell - configured as a sensor so that we can use ON/OFF state for detected motion like a motion sensor
-->
<Device type="sensor" id="doorbell">
<Name>Doorbell</Name>
<ConfigUI>
<SupportURL>https://forums.indigodomo.com/viewforum.php?f=323</SupportURL>
<Field id="SupportsOnState" type="checkbox" defaultValue="true" hidden="true">
<Label>HIDDEN, SHOULD NOT DISPLAY; Show ON/OFF state</Label>
</Field>
<Field id="SupportsSensorValue" type="checkbox" defaultValue="false" hidden="true">
<Label>HIDDEN, SHOULD NOT DISPLAY; Show sensor value state</Label>
</Field>
<Field id="SupportsStatusRequest" type="checkbox" defaultValue="false" hidden="true">
<Label>HIDDEN, SHOULD NOT DISPLAY; Enable status request / refresh button:</Label>
</Field>
<Field id="AllowOnStateChange" type="checkbox" defaultValue="false" hidden="true" >
<Label>HIDDEN, SHOULD NOT DISPLAY; Enable controls to override on/off state</Label>
</Field>
<!-- Hidden because not yet implemented by Indigo, but might have UI to edit
sensor values at some point. -->
<Field id="AllowSensorValueChange" type="checkbox" defaultValue="false" hidden="true">
<Label>HIDDEN, SHOULD NOT DISPLAY; Enable controls to override sensor value state</Label>
</Field>
<Field id="doorbellDropDownListSelection" type="menu">
<Label>Ring.com Doorbell Device:</Label>
<List class="self" filter="doorbell" method="currentMappedPlusUnmappedRingDevices"/>
<CallbackMethod>ringDoorbellDeviceSelectionChange</CallbackMethod>
</Field>
<Field id="separatorDoorbellDevice" type="separator"/>
<Field id="readonlyDeviceDetails" type="label" fontSize="small" fontColor="darkgray">
<Label>Details from Ring.com for selected Ring device:</Label>
</Field>
<Field id="selectedRingDeviceName" type="textfield" readonly="yes" defaultValue="">
<Label>Device Name:</Label>
</Field>
<Field id="selectedRingDeviceId" type="textfield" readonly="yes" defaultValue="">
<Label>Device ID:</Label>
</Field>
<Field id="selectedRingDeviceLocation" type="textfield" readonly="yes" defaultValue="">
<Label>Device Location:</Label>
</Field>
<Field id="selectedRingDeviceModel" type="textfield" readonly="yes" defaultValue="">
<Label>Device Model:</Label>
</Field>
<Field id="selectedRingDeviceFamily" type="textfield" readonly="yes" defaultValue="">
<Label>Device Family:</Label>
</Field>
<Field id="selectedRingDeviceFirmware" type="textfield" readonly="yes" defaultValue="">
<Label>Device Firmware:</Label>
</Field>
<Field id="selectedRingDeviceBatteryLevel" type="textfield" readonly="yes" defaultValue="">
<Label>Device Battery Level:</Label>
</Field>
<Field id="selectedRingDeviceVolume" type="textfield" readonly="yes" defaultValue="">
<Label>Device Volume:</Label>
</Field>
<Field id="selectedRingDeviceTimezone" type="textfield" readonly="yes" defaultValue="">
<Label>Device Timezone:</Label>
</Field>
<Field id="selectedRingDeviceWifiMACAddress" type="textfield" readonly="yes" defaultValue="">
<Label>Device Wifi Mac Address:</Label>
</Field>
<Field id="selectedRingDeviceWifiNetwork" type="textfield" readonly="yes" defaultValue="">
<Label>Device Wifi Network:</Label>
</Field>
<Field id="selectedRingDeviceWifiSignalStrength" type="textfield" readonly="yes" defaultValue="">
<Label>Device Wifi Signal Strength:</Label>
</Field>
</ConfigUI>
<States>
<State id="ringDeviceName">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Name of Device</TriggerLabel>
<ControlPageLabel>Ring.com Name of Device</ControlPageLabel>
</State>
<State id="ringDeviceId">
<ValueType>Integer</ValueType>
<TriggerLabel>Ring.com Device ID</TriggerLabel>
<ControlPageLabel>Ring.com Device ID</ControlPageLabel>
</State>
<State id="ringDeviceLocation">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Device Location</TriggerLabel>
<ControlPageLabel>Ring.com Device Location</ControlPageLabel>
</State>
<State id="ringDeviceModel">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Device Model</TriggerLabel>
<ControlPageLabel>Ring.com Device Model</ControlPageLabel>
</State>
<State id="ringDeviceFamily">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Device Family</TriggerLabel>
<ControlPageLabel>Ring.com Device Family</ControlPageLabel>
</State>
<State id="ringDeviceFirmware">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Device Firmware</TriggerLabel>
<ControlPageLabel>Ring.com Device Firmware</ControlPageLabel>
</State>
<State id="ringDeviceBatteryLevel">
<ValueType>Integer</ValueType>
<TriggerLabel>Ring.com Device Battery Level</TriggerLabel>
<ControlPageLabel>Ring.com Device Battery Level</ControlPageLabel>
</State>
<State id="ringDeviceVolume">
<ValueType>Integer</ValueType>
<TriggerLabel>Ring.com Device Volume</TriggerLabel>
<ControlPageLabel>Ring.com Device Volume</ControlPageLabel>
</State>
<State id="ringDeviceTimezone">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Device Timezone</TriggerLabel>
<ControlPageLabel>Ring.com Device Timezone</ControlPageLabel>
</State>
<State id="ringDeviceWifiMACAddress">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Device MAC Address</TriggerLabel>
<ControlPageLabel>Ring.com Device MAC Address</ControlPageLabel>
</State>
<State id="ringDeviceWifiNetwork">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Device Wifi Network</TriggerLabel>
<ControlPageLabel>Ring.com Device Wifi Network</ControlPageLabel>
</State>
<State id="ringDeviceWifiSignalStrength">
<ValueType>Integer</ValueType>
<TriggerLabel>Ring.com Device Wifi Signal Strength</TriggerLabel>
<ControlPageLabel>Ring.com Device Wifi Signal Strength</ControlPageLabel>
</State>
<State id="lastEventId">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Event Id</TriggerLabel>
<ControlPageLabel>Ring.com Event Id</ControlPageLabel>
</State>
<State id="lastEventKind">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Event Kind</TriggerLabel>
<ControlPageLabel>Ring.com Event Kind</ControlPageLabel>
</State>
<State id="lastEventTime">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Event Time</TriggerLabel>
<ControlPageLabel>Ring.com Event Time</ControlPageLabel>
</State>
<State id="lastEventTimeLocalized">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Event Time Localized</TriggerLabel>
<ControlPageLabel>Ring.com Event Time Localized</ControlPageLabel>
</State>
<State id="timeSinceLastEventShortString">
<ValueType>String</ValueType>
<TriggerLabel>Short String Time Since Last Event</TriggerLabel>
<ControlPageLabel>Short String Time Since Last Event</ControlPageLabel>
</State>
<State id="lastMotionEventId">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Motion Event Id</TriggerLabel>
<ControlPageLabel>Ring.com Motion Event Id</ControlPageLabel>
</State>
<State id="lastMotionTime">
<ValueType>String</ValueType>
<TriggerLabel>Last Motion Time</TriggerLabel>
<ControlPageLabel>Last Motion Time</ControlPageLabel>
</State>
<State id="lastMotionTimeLocalized">
<ValueType>String</ValueType>
<TriggerLabel>Last Motion Time Localized</TriggerLabel>
<ControlPageLabel>Last Motion Time Localized</ControlPageLabel>
</State>
<State id="timeSinceLastMotionShortString">
<ValueType>String</ValueType>
<TriggerLabel>Short String Time Since Last Motion</TriggerLabel>
<ControlPageLabel>Short String Time Since Last Motion</ControlPageLabel>
</State>
<State id="lastDoorbellPressEventId">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com Doorbell Press Event Id</TriggerLabel>
<ControlPageLabel>Ring.com Doorbell Press Event Id</ControlPageLabel>
</State>
<State id="lastDoorbellPressTime">
<ValueType>String</ValueType>
<TriggerLabel>Last Doorbell Press Time</TriggerLabel>
<ControlPageLabel>Last Doorbell Press Time</ControlPageLabel>
</State>
<State id="lastDoorbellPressTimeLocalized">
<ValueType>String</ValueType>
<TriggerLabel>Last Doorbell Press Time Localized</TriggerLabel>
<ControlPageLabel>Last Doorbell Press Time Localized</ControlPageLabel>
</State>
<State id="timeSinceLastDoorbellPressShortString">
<ValueType>String</ValueType>
<TriggerLabel>Short String Time Since Last Doorbell Press</TriggerLabel>
<ControlPageLabel>Short String Time Since Last Doorbell Press</ControlPageLabel>
</State>
<State id="lastOnDemandEventId">
<ValueType>String</ValueType>
<TriggerLabel>Ring.com On Demand Access Event Id</TriggerLabel>
<ControlPageLabel>Ring.com On Demand Access Event Id</ControlPageLabel>
</State>
<State id="lastOnDemandTime">
<ValueType>String</ValueType>
<TriggerLabel>Last On Demand Access Time</TriggerLabel>
<ControlPageLabel>Last On Demand Access Time</ControlPageLabel>
</State>
<State id="lastOnDemandTimeLocalized">
<ValueType>String</ValueType>
<TriggerLabel>Last On Demand Access Time Localized</TriggerLabel>
<ControlPageLabel>Last On Demand Access Time Localized</ControlPageLabel>
</State>
<State id="timeSinceLastOnDemandShortString">
<ValueType>String</ValueType>
<TriggerLabel>Short String Time Since Last On Demand Access</TriggerLabel>
<ControlPageLabel>Short String Time Since Last On Demand Access</ControlPageLabel>
</State>
</States>
<!-- TODO: Is this really what we want the default display state to be? Overridden by deviceStartComm... -->
<UiDisplayStateId>ringDeviceWifiSignalStrength</UiDisplayStateId>
</Device>
<!-- Security Camera With Lights (special case of Ring Stickup Cam family of devices that has as a siren
and an on/off light - e.g. the Spotlight Cam and the Floodlight Cam)
-->
<!-- Basic Security Camera - (Basic Stickup Cam - no light or siren)
-->
<!-- Chime - not available through secondary accounts
-->
</Devices>