<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mios.com/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mios.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Autotoronto</id>
		<title>MiOS - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mios.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Autotoronto"/>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php/Special:Contributions/Autotoronto"/>
		<updated>2026-06-03T02:51:05Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.8</generator>

	<entry>
		<id>http://wiki.mios.com/index.php/Supported_Hardware</id>
		<title>Supported Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php/Supported_Hardware"/>
				<updated>2012-01-18T22:23:27Z</updated>
		
		<summary type="html">&lt;p&gt;Autotoronto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a page for Supported Z-Wave devices. &lt;br /&gt;
&lt;br /&gt;
Alternative hardware pages exist for &lt;br /&gt;
&lt;br /&gt;
*[[ZWave Add Controller|Z-Wave Handheld Remote Controls, Gateways and Scene Controllers]] &lt;br /&gt;
*[[IP Cameras|IP Enabled Cameras]] &lt;br /&gt;
*[[Insteon Supported Hardware|Insteon/X10 devices]] &lt;br /&gt;
*USB, or USB-Serial, [[Serial Supported Hardware|Interface devices]]&lt;br /&gt;
&lt;br /&gt;
In general, any device with the Z-Wave logo should work with Vera. A list of tested Z-Wave devices is below, with specific notes for each type of device. This is a wiki, so feel free to add to the page. To learn about Z-Wave routing and fixing routing problems see: [[Heal Network]] &lt;br /&gt;
&lt;br /&gt;
== Hardware Reported to Work  ==&lt;br /&gt;
&lt;br /&gt;
*We strongly encourage users to list any and all products they tested and installed. &lt;br /&gt;
*If a product works but you did not like it, please list it anyway. It may be the only product available to some users.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT! The devices listed here have been added by installers, technicians and users like yourself. Results may vary upon installations. MiCasaVerde does not guarantee operation and compatibility with your installation. The listed devices were found to work with their specific installation. Mixing different series and brands of equipment is not guaranteed in any way to work with other series and brands. It is very likely that users have not fully tested all features of the devices, so it is possible that a device listed here as compatible, will not prove compatible with your hardware. If you are editing this wiki DO NOT REMOVE a listed working device if it hasn't worked for you. Seek help to get the device to work under your individual circumstance. If you are adding to this wiki, please provide links to data for the device and add any tips you feel may benefit someone wanting to implement the device into an installation.''' &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== '''Lighting Devices'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;width: 1220px; height: 491px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added by User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| 2-way Dimmer Switch &lt;br /&gt;
| ZDW120 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://store.homeseer.com/store/ZDW120---Z-Wave-600-Watt-2-Wire-Dimmer-ACT-HomePro-P17C64.aspx Link] &lt;br /&gt;
| [http://store.homeseer.com/store/ZDW120---Z-Wave-600-Watt-2-Wire-Dimmer-ACT-HomePro-P17C64.aspx Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=49 WSeverino] &lt;br /&gt;
| Works well, easy to install, LED is a very bright blue....can be programmed to be off when the light is off or on. &amp;quot;series 200&amp;quot; model supports Group Associations 2 &amp;amp; 3. (The older &amp;quot;series 100&amp;quot; supported Groups 1-4, but is no longer available.)&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| 3-way Dimmer Switch &lt;br /&gt;
| ZDW103 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://store.homeseer.com/store/ZDW103---Z-Wave-500-Watt-3-way-Dimmer-ACT-HomePro-P19C64.aspx Link] &lt;br /&gt;
| [http://store.homeseer.com/store/ZDW103---Z-Wave-500-Watt-3-way-Dimmer-ACT-HomePro-P19C64.aspx Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=49 WSeverino] &lt;br /&gt;
| Works well, can be tricky to install due to the different combination of 3 way circuits, LED is a very bright blue....can be programmed to be off when the light is off or on.&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| 2-wire Dimmer Switch &lt;br /&gt;
| ZDW232 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Jul 2010 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.zwave4u.com/products/en/Switches-and-Dimmers/HomePro-Single-Wall-Dimmer-2-wire.html Link] &lt;br /&gt;
| [http://www.zwave4u.com/products/en/Switches-and-Dimmers/HomePro-Single-Wall-Dimmer-2-wire.html Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=5198 Newb] &lt;br /&gt;
| Wall-mount, 230v, 500W, 2-Wire (no neutral), works well. Can be programmed to be off when the light is off or on.&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| 2-way Relay Switch &lt;br /&gt;
| ZRW113 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://store.homeseer.com/store/ZRW113---Z-Wave-20-Amp-3-way-ISO-Relay-ACT-HomePro-P491C63.aspx Link] &lt;br /&gt;
| [http://store.homeseer.com/store/ZRW113---Z-Wave-20-Amp-3-way-ISO-Relay-ACT-HomePro-P491C63.aspx Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=49 WSeverino] &lt;br /&gt;
| Controls Florescent Lamps very well! No humming at all.&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| Companion Switch &lt;br /&gt;
| AS101 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://store.homeseer.com/store/AS101---Z-Wave-3-Way-Companion-Switch-ACT-HomePro-P10C63.aspx Link] &lt;br /&gt;
| [http://store.homeseer.com/store/AS101---Z-Wave-3-Way-Companion-Switch-ACT-HomePro-P10C63.aspx Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=49 WSeverino] &lt;br /&gt;
| Works well, can be tricky to install due to the different combination of 3 way circuits, The trick here is to install this device where the power comes in.&lt;br /&gt;
|-&lt;br /&gt;
| ACT&amp;lt;br&amp;gt; &lt;br /&gt;
| 3-way Dimmer Switch, 2 rocker&amp;lt;br&amp;gt; &lt;br /&gt;
| ZDM230&amp;lt;br&amp;gt; &lt;br /&gt;
| 1.1&amp;lt;br&amp;gt; &lt;br /&gt;
| Aug 2009&amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor&amp;lt;br&amp;gt; &lt;br /&gt;
| [http://www.act-solutions.com/HomePro/pdfs/HomePro/Specs/ZDM230_spec.pdf Link]&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=3015 TedStriker]&amp;lt;br&amp;gt; &lt;br /&gt;
| Dimmer, Wall-mount, 230v, 500W,&amp;lt;br&amp;gt;3-way, 3 Wire, 2 rocker&amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| 3-way Relay Switch, 2 rocker &lt;br /&gt;
| ZRM230&amp;lt;br&amp;gt; &lt;br /&gt;
| 1.1&amp;lt;br&amp;gt; &lt;br /&gt;
| Aug 2009&amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor&amp;lt;br&amp;gt; &lt;br /&gt;
| [http://www.act-solutions.com/HomePro/pdfs/HomePro/Specs/ZRM230_spec.pdf Link]&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=3015 TedStriker]&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;font size=&amp;quot;2&amp;quot;&amp;gt;Relay, Wall-mount, 230v, 6A,&amp;lt;br&amp;gt; 3-way, 3 Wire, 2 rocker - '''Status polling does not work with Vera'''&amp;lt;br&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Cooper &lt;br /&gt;
| Accessory (3-way slave) &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| See [[Cooper Accessory Slave]]&lt;br /&gt;
|-&lt;br /&gt;
| Düwi &lt;br /&gt;
| 2 wire dimmer &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| July 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| intveltr &lt;br /&gt;
| In-wall dimmer.&lt;br /&gt;
|-&lt;br /&gt;
| Düwi &lt;br /&gt;
| 3 wire switch &lt;br /&gt;
| 05431 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| July 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| intveltr &lt;br /&gt;
| In-wall switch.&lt;br /&gt;
|-&lt;br /&gt;
| Düwi &lt;br /&gt;
| 3 wire switch &lt;br /&gt;
| 06431 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| July 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| intveltr &lt;br /&gt;
| The newer in-wall Düwi switch (also designated Düwi.me), marked with a green sticker on the housing. This switch supports status push.&lt;br /&gt;
|-&lt;br /&gt;
| Fibar &lt;br /&gt;
| 3 wire double switch &lt;br /&gt;
| FGS221 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Oct 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| intveltr &lt;br /&gt;
| This device is designed to use (and be mounted behind) existing light switches. Supports status push. Also available: single switch, dimmer, blind control.&lt;br /&gt;
|-&lt;br /&gt;
| GE/Jasco &lt;br /&gt;
| 2-wire Dimmer &lt;br /&gt;
| 45606 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| 2/2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.jascoproducts.com/support/manual-downloads/applications/DocumentLibraryManager/upload/45606-Manual-Eng.pdf Link] [http://www.jascoproducts.com/products/pc/GE-Z-Wave-Wireless-Lighting-Control-Dimmer-Switch-63p555.htm Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=64 Anthonyris] &lt;br /&gt;
| Works fine with most bulbs. With Philips AmbientLED, flickers at &amp;amp;gt;95% brightness. Supports beaming.&lt;br /&gt;
|-&lt;br /&gt;
| Innovus &lt;br /&gt;
| Relay Switch Adapter &lt;br /&gt;
| RAone SmartPower &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Aug 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.innovus.eu/fileadmin/user_upload/manual/z-wave/smartpower_zw_tech_doc.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=3015 TedStriker] &lt;br /&gt;
| Works very well + it has a build in powermeter which works perfect with Vera&lt;br /&gt;
|-&lt;br /&gt;
| Innovus &lt;br /&gt;
| Dimmer Switch Adapter &lt;br /&gt;
| RAone SmartDimmer &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Aug 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.innovus.eu/fileadmin/user_upload/manual/z-wave/smartdimmer-00110001-tech.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=3015 TedStriker] &lt;br /&gt;
| Works very well + it has a build in powermeter which works perfect with Vera&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| Lamp Module &lt;br /&gt;
| HA03C &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Sept 2010 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.homesettings.com/products/modules/ha03.aspx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=5852 JonnyO] &lt;br /&gt;
| Easy to Instal, supports dimming&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| Screw-in Lamp Module &lt;br /&gt;
| HA05C &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor/Outdoor &lt;br /&gt;
| [http://store.homeseer.com/store/HA05C---Z-Wave-IndoorOutdoor-Screw-in-Module-Intermatic-HomeSettings-P1C62.aspx Link] &lt;br /&gt;
| [http://store.homeseer.com/store/HA05C---Z-Wave-IndoorOutdoor-Screw-in-Module-Intermatic-HomeSettings-P1C62.aspx Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=49 WSeverino] &lt;br /&gt;
| Easy install, easy to pair with Vera!&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| 300 watt dimmer &lt;br /&gt;
| HA06 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| July 2007 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.homesettings.com/products/modules/ha06.aspx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Affordable Dimmer Switch. incandescent/halogen only. Loads for 300 watts or less no neutral required. Great for dimming one bulb.&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| 3-way Switch &lt;br /&gt;
| HA18 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Dec 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.homesettings.com/products/new%20products/ha18.aspx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=66 Kozanator] &lt;br /&gt;
| Affordable 3-way Switch&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| 3-way Dimmer Switch &lt;br /&gt;
| HA20 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.homesettings.com/products/new%20products/ha20.aspx Link] &lt;br /&gt;
| [http://www.smarthome-products.com/p-460-intermatic-homesettings-ha20c-3-way-in-wall-switch-dimmer.aspx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Affordable 3-way 600W dimmer&lt;br /&gt;
|-&lt;br /&gt;
| Leviton &lt;br /&gt;
| Dimmer Switch &lt;br /&gt;
| VRI06-1LX &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Aug 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.leviton.com/OA_HTML/ibeCCtpItmDspRte.jsp?item=305784&amp;amp;section=25501 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=2618 guessed] &lt;br /&gt;
| Works well&lt;br /&gt;
|-&lt;br /&gt;
| Leviton &lt;br /&gt;
| 4-Scene Controller with Switch &lt;br /&gt;
| VRCS4-MRX &lt;br /&gt;
| 7,2,67,0,2 &lt;br /&gt;
| Aug 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.leviton.com/OA_HTML/ibeCCtpItmDspRte.jsp?item=433270&amp;amp;section=28563 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=2618 guessed] &lt;br /&gt;
| Works well, pair as per [http://wiki.micasaverde.com/index.php/Leviton_Scene_Controller Leviton 4-Scene Controller], then again holding &amp;quot;2&amp;quot; and &amp;quot;4&amp;quot; to pair the Switch (&amp;quot;Load&amp;quot;) itself.&lt;br /&gt;
|-&lt;br /&gt;
| Leviton &lt;br /&gt;
| Dimmer Switch &lt;br /&gt;
| VRM10-1LX &lt;br /&gt;
| 1 &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://shop.micasaverde.com/index.php?main_page=product_info&amp;amp;cPath=104&amp;amp;products_id=170 Link] &lt;br /&gt;
| [http://www.amazon.com/review/product/B000ZKM7I8/ref=dp_top_cm_cr_acr_txt?_encoding=UTF8&amp;amp;showViewpoints=1 Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=65 mark-hc] &lt;br /&gt;
| This is a high quality dimmer geared towards high-end installations&lt;br /&gt;
|-&lt;br /&gt;
| Leviton &lt;br /&gt;
| Scene capable 3-way switch (non-dimming)&lt;br /&gt;
| VRS15-1L &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| May 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.leviton.com/OA_HTML/ibeCCtpItmDspRte.jsp?item=305791&amp;amp;section=25502&amp;amp;minisite=10026 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| DaveL17 &lt;br /&gt;
| (Coordinating Remote??)&lt;br /&gt;
|-&lt;br /&gt;
| Leviton &lt;br /&gt;
| Scene capable 3-way switch (non-dimming)&lt;br /&gt;
| VRS15-1LX &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Oct 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.leviton.com/OA_HTML/ibeCCtpItmDspRte.jsp?item=305791&amp;amp;section=25502&amp;amp;minisite=10026 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| DaveL17 &lt;br /&gt;
| Works well. Pair normally. Can also be used in single pole applications. [Note: white, ivory, [[almond]].]&lt;br /&gt;
|-&lt;br /&gt;
| Leviton &lt;br /&gt;
| Scene capable 3-way switch (non-dimming)&lt;br /&gt;
| VRS15-1LZ &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.leviton.com/OA_HTML/ibeCCtpItmDspRte.jsp?item=305791&amp;amp;section=25502&amp;amp;minisite=10026 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| DaveL17 &lt;br /&gt;
| Works well. Pair normally. Can also be used in single pole applications. [Note: white, ivory, [[light almond]].]&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| Radio sensor cover for dimmer inserts &lt;br /&gt;
| 5026xx, 5036xx, 5046xx &lt;br /&gt;
| 6,2,7,1,5 &lt;br /&gt;
| Apr 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/V5026_581_01_web.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| Radio sensor cover for switch inserts &lt;br /&gt;
| 5024xx, 5034xx, 5044xx &lt;br /&gt;
| 6,2,27,2,2 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/5024xx_5034xx_5044xx_Sensorflaeche4pin_CONNECT_INT.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| Single Radio flush-mounted receiver &lt;br /&gt;
| 507001 &lt;br /&gt;
| 6,2,27,2,2 &lt;br /&gt;
| Apr 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/V5070_581_01_web.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| switch, flush-mounted &lt;br /&gt;
| 507501, 507601 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/V5075_581_00_web.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well (according to [http://forum.micasaverde.com/index.php?topic=276.15 Link])&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| 1-gang universal dimmer, flush-mounted &lt;br /&gt;
| 507900 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/V5079_581_01_web.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well (according to [http://forum.micasaverde.com/index.php?topic=276.15 Link])&lt;br /&gt;
|-&lt;br /&gt;
| Monster&lt;br /&gt;
| 4-Scene Controller with Switch &lt;br /&gt;
| IWC600&lt;br /&gt;
|  &lt;br /&gt;
| Dec 2011&lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.leviton.com/OA_HTML/ibeCCtpItmDspRte.jsp?item=433270&amp;amp;section=28563 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &lt;br /&gt;
| This is the same as the Leviton scene controller.  Follow these instructions: [http://wiki.micasaverde.com/index.php/Leviton_Scene_Controller Leviton 4-Scene Controller]&lt;br /&gt;
|-&lt;br /&gt;
| Schlage &lt;br /&gt;
| Lamp Module &lt;br /&gt;
| RP200 &lt;br /&gt;
| 1.0 &lt;br /&gt;
| Aug 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://consumer.schlage.com/products/Productdetail3.asp?StyleID=139&amp;amp;FinishID=12&amp;amp;FunctionID=77 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=2870 LibraSun] &lt;br /&gt;
| Works well&amp;lt;br&amp;gt;Sold with Schlage LiNK lock system&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== '''Plug &amp;amp;amp; Receptacle Devices'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Frequency &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added by User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| In-Wall Receptacle &lt;br /&gt;
| ZRR150W &lt;br /&gt;
| 2.2 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.smarthome-products.com/p-527-homepro-zrr150-wall-receptacle.aspx Link] &lt;br /&gt;
| [http://www.smarthome-products.com/p-527-homepro-zrr150-wall-receptacle.aspx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Works like a champ! Easy to Install. One receptacle RF controlled, the other is hot&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| In-Wall Receptacle &lt;br /&gt;
| ZRP200 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| EU &lt;br /&gt;
| July 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| intveltr &lt;br /&gt;
| Basic plug-in switch.&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| In-Wall Receptacle &lt;br /&gt;
| ZDP200 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| EU &lt;br /&gt;
| July 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| intveltr &lt;br /&gt;
| Basic plug-in dimmer.&lt;br /&gt;
|-&lt;br /&gt;
| Cooper Wiring Devices &lt;br /&gt;
| In-Wall Receptacle &lt;br /&gt;
| RFTR9505-T &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://solutions.cooperwiringdevices.com/common/brands.cfm?pg=Detail&amp;amp;brandName=CWD%20Technology&amp;amp;category=Aspire%20RF%20Lighting%20Control%20System%3A%20Receptacles&amp;amp;id=16772 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| One receptacle is RF controlled, the other is hot&lt;br /&gt;
|-&lt;br /&gt;
| Duwi &lt;br /&gt;
| &amp;lt;span class=&amp;quot;S33&amp;quot;&amp;gt;Z-Wave switch 3500 W&amp;lt;/span&amp;gt; &lt;br /&gt;
| &amp;lt;span class=&amp;quot;S31&amp;quot;&amp;gt;05437&amp;lt;/span&amp;gt; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| EU &lt;br /&gt;
| Feb 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.duewi.com/ Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| ezhome &lt;br /&gt;
| High quality Plug-in switch, Easy install and works well&lt;br /&gt;
|-&lt;br /&gt;
| Everspring &lt;br /&gt;
| &amp;lt;span class=&amp;quot;S33&amp;quot;&amp;gt;Z-Wave switch 3500 W&amp;lt;/span&amp;gt; &lt;br /&gt;
| &amp;lt;span class=&amp;quot;S31&amp;quot;&amp;gt;AN157-2&amp;lt;/span&amp;gt; &lt;br /&gt;
| 4,2,64,1,2 &lt;br /&gt;
| EU &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.everspring.com/Products/Home_Automation_Detail.asp?parentUID=83&amp;amp;UID=501&amp;amp;CateUIDList=0,83 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well.&lt;br /&gt;
|-&lt;br /&gt;
| Everspring &lt;br /&gt;
| &amp;lt;span class=&amp;quot;S33&amp;quot;&amp;gt;Z-Wave switch 3500 W&amp;lt;/span&amp;gt; &lt;br /&gt;
| &amp;lt;span class=&amp;quot;S31&amp;quot;&amp;gt;AN158&amp;lt;/span&amp;gt; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| EU &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| intveltr &lt;br /&gt;
| Works well. Supports status push and power metering&lt;br /&gt;
|-&lt;br /&gt;
| GE/Jasco &lt;br /&gt;
| In-wall Duplex Receptacle &lt;br /&gt;
| 45605 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| US &lt;br /&gt;
| 2/2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.jascoproducts.com/products/pc/GE-Z-Wave-Wireless-Lighting-Control-Duplex-Receptacle-63p554.htm Link] [http://www.jascoproducts.com/support/manual-downloads/applications/DocumentLibraryManager/upload/45605-Manual-Eng.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=64 Anthonyris] &lt;br /&gt;
| Easy. Works.&lt;br /&gt;
|-&lt;br /&gt;
| Home Manageables &lt;br /&gt;
| Lamp Module (Dimming) &lt;br /&gt;
| HM-LM001 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| 200W maximum load, 25W minimum load &lt;br /&gt;
| [http://www.homemanageables.com/manuals/HM-LM001%20Manual%20Final.pdf Link] &lt;br /&gt;
| DaveL17 &lt;br /&gt;
| Works well. Support for incandescent loads only. Not load sensing.&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| In-Wall Receptacle &lt;br /&gt;
| CA3500 &lt;br /&gt;
| 1 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://shop.micasaverde.com/index.php?main_page=product_info&amp;amp;cPath=105&amp;amp;products_id=97 Link] &lt;br /&gt;
| [http://www.amazon.com/review/product/B000U3XYPA/ref=dp_top_cm_cr_acr_txt?_encoding=UTF8&amp;amp;showViewpoints=1 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| This is a decent, but expensive solution for in-wall receptacles. One receptacle RF controlled, the other is hot.&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| Appliance Module &lt;br /&gt;
| HA02C &lt;br /&gt;
| 1 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://shop.micasaverde.com/index.php?main_page=product_info&amp;amp;cPath=108&amp;amp;products_id=98 Link] &lt;br /&gt;
| [http://www.amazon.com/Intermatic-HA02C-Settings-Heavy-Duty-Appliance/dp/B000BJSDZO/ref=sr_1_3?ie=UTF8&amp;amp;qid=1227467418&amp;amp;sr=8-3 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Seems to work well&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| Outdoor Module &lt;br /&gt;
| HA04C &lt;br /&gt;
| 1 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Dec 2008 &lt;br /&gt;
| Outdoor &lt;br /&gt;
| [http://store.homeseer.com/store/HA04C---Z-Wave-Outdoor-Module-Intermatic-HomeSettings-P6C62.aspx Link] &lt;br /&gt;
| [http://store.homeseer.com/store/HA04C---Z-Wave-Outdoor-Module-Intermatic-HomeSettings-P6C62.aspx Link] &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=66 Kozanator] &lt;br /&gt;
| Easy to Install.&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| switch, plug adapter, 2000 W &lt;br /&gt;
| 508519 &lt;br /&gt;
| 6,2,7,1,5 &lt;br /&gt;
| EU &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/V5085_581_01_web.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well.&lt;br /&gt;
|-&lt;br /&gt;
| Monster Central &lt;br /&gt;
| 1800W Appliance Module &lt;br /&gt;
| ML-LAS1000 &lt;br /&gt;
| 1 &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Jan 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.monstercable.com/productdisplay.asp?pin=3164 Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=2618 guessed] &lt;br /&gt;
| Easy to Install. I use this as a ZWave signal repeater. Appears to be a badge-engineering of [http://www.leviton.com/OA_HTML/ibeCCtpItmDspRte.jsp?item=309748&amp;amp;section=25542 Leviton VRP15-1LW]&lt;br /&gt;
|-&lt;br /&gt;
| Wayne Dalton &lt;br /&gt;
| Appliance Module &lt;br /&gt;
| &lt;br /&gt;
HA-02L&amp;lt;br&amp;gt;(HA-02WD) &lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Dec 2011 &lt;br /&gt;
| Indooor &lt;br /&gt;
| [http://www.waynedaltonstore.com/ssi/pdf/wayne/HA-02WD.pdf Link] &lt;br /&gt;
| &lt;br /&gt;
| DaveL17 &lt;br /&gt;
| Note: link is to HA-02WD manual.&lt;br /&gt;
|-&lt;br /&gt;
| Wayne Dalton &lt;br /&gt;
| Lamp Module &lt;br /&gt;
| HA-03WD &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Dec 2011 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.waynedaltonstore.com/ssi/pdf/wayne/HA-03WD.pdf Link] &lt;br /&gt;
| &lt;br /&gt;
| DaveL17 &lt;br /&gt;
| Not load sensing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== '''Thermostat Devices'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Frequency &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added&amp;lt;br&amp;gt;By User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Wayne Dalton &lt;br /&gt;
| Wall Stat &lt;br /&gt;
| WDTC-20 &lt;br /&gt;
| &amp;amp;nbsp;?? &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://store.homeseer.com/store/WDTC-20---Z-Wave-Thermostat-Wayne-Dalton-P599C38.aspx Link] &lt;br /&gt;
| [http://www.amazon.com/Wayne-Dalton-Corporation-Z-Wave-Thermostat/dp/B001F8QKYQ Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Has 2 inclusion modes: 1) press and release the bind button and the STAT will be included as a thermostat and works with Vera, 2) press and hold the bind button and it will be added as a binary switch for compatibility with old, non-compliant remotes. If it's added in the wrong mode, remove it and re-add it. Works great simple to use!&lt;br /&gt;
|-&lt;br /&gt;
| HAI &lt;br /&gt;
| Wall Stat &lt;br /&gt;
| RC-80BZ &lt;br /&gt;
| &amp;amp;nbsp;?? &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2007 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.homeauto.com Link] &lt;br /&gt;
| [http://www.homeauto.com/Downloads/Products/Omnistat/rcr80.pdf Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Shows up as Standard Thermostat in Vera, Hold button feature not able to control by Vera at this time. Priced above 200.00. Has internal setback programs. Works great.&lt;br /&gt;
|-&lt;br /&gt;
| RCS &lt;br /&gt;
| Wall Stat &lt;br /&gt;
| TZ43 &lt;br /&gt;
| &amp;amp;nbsp;?? &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://store.homeseer.com/store/TZ43---Z-Wave-Thermostat-RCS-P627C67.aspx Link] &lt;br /&gt;
| [http://store.homeseer.com/store/TZ43---Z-Wave-Thermostat-RCS-P627C67.aspx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Shows up as Standard Thermostat in Vera, much more feature rich the the WDTC-20 but comes with a hefty price tag ($214.95). Wish Vera could use all the features in this Thermostat! '''Note:'''''You need to set the thermostat to show the temperature, on its display, in Celsius degree in order to be able to receive &amp;quot;Set Temp&amp;quot; commands from Vera. This is no longer required in firmwares above '''''&amp;lt;i&amp;gt;1.0.862 (luup)&amp;lt;/i&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| Schlage/Trane &lt;br /&gt;
| Wall Stat &lt;br /&gt;
| Trane &lt;br /&gt;
| &amp;amp;nbsp;?? &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| &amp;amp;nbsp;?? &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.link.schlage.com/Products/Pages/Thermostat.aspx Link] &lt;br /&gt;
| [http://www.trane.com/Residential/Products/Thermostats Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| It's the same thermostat as the RCS TZ43 and it has the same issue: it's accepting &amp;quot;Set Temp Point&amp;quot; commands only in the measurement unit that is displayed on its screen. '''Note:'''''You need to set the thermostat to show the temperature, on its screen, in Celsius degree in order to be able to receive &amp;quot;Set Temp&amp;quot; commands from Vera. This is no longer required in firmwares above '''''&amp;lt;i&amp;gt;1.0.862 (luup)&amp;lt;/i&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| InTouch &lt;br /&gt;
| CA8900 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Nov 2008 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.smarthome-products.com/p-663-intermatic-intouch-ca8900-z-wave-digital-thermostat.aspx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Looks very similar to the Wayne Dalton WDTC-20 listed here. works great, simple to use&lt;br /&gt;
|-&lt;br /&gt;
| Danfoss &lt;br /&gt;
| Radiator thermostat &lt;br /&gt;
| RA PLUS-w &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| EU &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://raplusw.com/Content/E962FC0B-6461-4319-82FE-3E1E765142CF.html Link] [http://raplusw.com/PCMPDF/Data%20sheet%20RA-PLUS-w_02.pdf Link] &lt;br /&gt;
| [http://www.eurox10.com/Product/ZWave/Actuators/ZWDNF_RA_PLUS-W.htm Link] [http://www.eurox10.com] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| See: [[Danfoss Thermostat]] for installation instructions&amp;lt;br&amp;gt;If the device cannot be configured at the final location, move the device closer to Vera and try again (this device might require a direct connection to Vera for configuration).&lt;br /&gt;
|-&lt;br /&gt;
| Radio Thermostat &lt;br /&gt;
| Wall Stat &lt;br /&gt;
| CT22 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| US &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.radiothermostat.com/documents/CT-22-Operation-27aug10.pdf Link] [http://www.radiothermostat.com/documents/CT-22-Installation-27aug10.pdf Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Daniel &lt;br /&gt;
| To include the thermostat into your network, you just have to install the USNAP module in the thermostat while Vera is in Include mode. You can watch a video about how to install it [http://www.youtube.com/watch?v=M9VNuHGENP0 here]&lt;br /&gt;
|-&lt;br /&gt;
| Horstmann &lt;br /&gt;
| Wall Stat &lt;br /&gt;
| HRT4-ZW &lt;br /&gt;
| &lt;br /&gt;
| EU &lt;br /&gt;
| &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://horstmann.co.uk/downloads/ElectronicDocuments/Central-Heating/HRT4-ZWweb.pdf Link] [http://horstmann.co.uk/downloads/ElectronicDocuments/Central-Heating/HRT4B-ZWManual.pdf Link] &lt;br /&gt;
| [http://horstmann.co.uk/downloads/ElectronicDocuments/Central-Heating/HRT4B-ZWManual.pdf &amp;lt;br&amp;gt;] &lt;br /&gt;
| Daniel &lt;br /&gt;
| After you include the thermostat in Vera's network, you will have to make some configuration changes in order for it to report the temperature change. See: [[HRT4-ZW]] for more information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== '''Sensors'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Frequency &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added by User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| ACT &lt;br /&gt;
| Motion Sensor &lt;br /&gt;
| ZIR000 / ZIR010 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| EU (ZIR010) or US (ZIR000) &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.act-solutions.com/HomePro/pdfs/HomePro/Specs/ZIR000_spec.pdf Link] [http://www.act-solutions.com/HomePro/pdfs/HomePro/Inst/ZIR000_instr.pdf Link] [http://www.act-solutions.com/HomePro/pdfs/HomePro/Specs/ZIR010_spec.pdf Link] [http://www.act-solutions.com/HomePro/pdfs/HomePro/Inst/ZIR010_instr.pdf Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Remove the cover, pair to Vera's dongle by using the push-button on the left of the circuit board. Vera must configure it to work, and it can only be configured within less of a minute (30 sec best) of inserting the batteries. With Vera's dongle removed, remove/reinsert the batteries, and within 30 seconds insert Vera's dongle. Within a few minutes confirm the &amp;quot;configure&amp;quot; icon for the device is green on Vera's setup page&lt;br /&gt;
|-&lt;br /&gt;
| Aeon Labs &lt;br /&gt;
| 3-in-1 sensor (light/humidity/temperature) &lt;br /&gt;
| MultiSensor &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| EU or US &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor/Outdoor &lt;br /&gt;
| [http://www.aeon-labs.com/site/public/lib/download.php?type=s&amp;amp;f=29 Specs] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Pair to Vera by using the push-button. Vera must configure it to work, and it can only be configured within 10 minutes of inserting the batteries.&lt;br /&gt;
|-&lt;br /&gt;
| Express Controls aka HomeSeer &lt;br /&gt;
| 3-in-1 sensor (light/temperature/motion) &lt;br /&gt;
| HSM100 / EZMotion &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| EU or US &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://www.expresscontrols.com/pdf/EZMotionOwnerManual.pdf Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| See [[ExpressControls3in1]]&amp;lt;br&amp;gt;If the motion sensor does not work right after inclusion and configuration, remove the batteries for a few seconds.&lt;br /&gt;
|-&lt;br /&gt;
| EverSpring/Hawking/Home Manageables &lt;br /&gt;
| Door/window sensor &lt;br /&gt;
| SM103 &lt;br /&gt;
| 6,2,9,1,0 &lt;br /&gt;
| EU or US &lt;br /&gt;
| Apr 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.everspring.com/Products/Home_Automation_Detail.asp?parentUID=83&amp;amp;UID=355&amp;amp;CateUIDList=0,83 Link] [http://www.everspring.com/Archive/Image/File/A501110873R01_SM103_-ECR.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Pair using the intrusion button. The sensor will accept configuration within a few minutes of the initial pairing, or of pressing the intrusion button on the back even after it's paired. Pair the device, or if it's already paired, press the intrusion button, and within 30 seconds insert Vera's dongle. Within a few minutes confirm the &amp;quot;configure&amp;quot; icon for the device is green on Vera's setup page. NOTE: There is some confusion about the orientation of the sensor. The main sensor body has a back (where the intrusion is), a front (where the logo and LED is), and the 2 other surfaces, one of which has a curved edge, and the other is flat. The magnet needs to go against the flat surface. And the flat surface on the magnet should be as close as possible to the flat surface on the sensor, lined up in the middle so the line which passes through the LED lines up with the sensor. &lt;br /&gt;
Note: In case the inclusion/exclusion fails you should remove/reinsert the batteries from the sensor and within a few seconds the sensor should be automatically detected. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EverSpring/Home Manageables &lt;br /&gt;
| Humidity + Temperature sensor &lt;br /&gt;
| HM-TS001 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Jan 2010 (requires version 1.1.0 or greater) &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.asihome.com/ASIshop/product_info.php?products_id=3946 Link] [http://www.homeseer.com/pdfs/guides/HM_TD001.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| micasaverde &lt;br /&gt;
| Pair or unpair the device by tapping the CF button 3 times very quickly. Once it's paired and shows up in the UI as a generic device, press the CF button 3 times again quickly to make it wakeup and get configured. Then it will correctly be identified as 3 devices (combo device + temperature + humidity).&lt;br /&gt;
|-&lt;br /&gt;
| Everspring &lt;br /&gt;
| Motion Detector &lt;br /&gt;
| SP103 &lt;br /&gt;
| 6,2,9,1,0 &lt;br /&gt;
| EU or US &lt;br /&gt;
| Apr 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.everspring.com/Products/Home_Automation_Detail.asp?parentUID=83&amp;amp;UID=354&amp;amp;CateUIDList=0,83 Link] [http://www.everspring.com/Archive/Image/File/A501110874R01_SP103_%20-%20ECR.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Works well&lt;br /&gt;
|-&lt;br /&gt;
| Fortrezz &lt;br /&gt;
| Water /Freeze &lt;br /&gt;
| WWA-001 &lt;br /&gt;
| &amp;amp;nbsp;?????? &lt;br /&gt;
| US &lt;br /&gt;
| Apr 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.Fortrezz.com Link] [http://www.fortrezz.com/resources/WWA_manual_01May2009.pdf Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Zmistro &lt;br /&gt;
| Works great I would place a few in your house. Bathrooms, laundry , kitchen , basement. Great product!&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| Motion Sensor &lt;br /&gt;
| CA-9000 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| US &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Aaron &lt;br /&gt;
| This device has limited functionality as a sensor. It can only be used to turn on and off a light directly by setting an association, which Vera supports. It does not fire events, so you cannot use it as an event on a scene.&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| 4-gang radio transmitter, flush-mounted &lt;br /&gt;
| 506004 &lt;br /&gt;
| 2,2,27,1,4 &lt;br /&gt;
| EU &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/V5060_581_02_web.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Note: There is proprietary functionality here. Support will be added soon. &lt;br /&gt;
Quite complex device; partially supported by Vera; can be used as a window/door sensor (as of firmware 1.0.900) ... &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== '''Door Locks'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added&amp;lt;br&amp;gt;By User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Schlage &lt;br /&gt;
| Door lock and deadbolt &lt;br /&gt;
| BE369 (deadbolt) &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Mid 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://consumer.schlage.com/link/product_tour/ Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| [http://forum.micasaverde.com/index.php?action=profile;u=2870 LibraSun] &lt;br /&gt;
| Read the instructions here: [[Schlage Lock]]&lt;br /&gt;
|-&lt;br /&gt;
| Kwikset &lt;br /&gt;
| Door lock and deadbolt &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Indoor &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Read instructions here:[[Kwikset Lock]]&lt;br /&gt;
|-&lt;br /&gt;
| Yale &lt;br /&gt;
| Deadbolt &lt;br /&gt;
| Real Living &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Indoor &lt;br /&gt;
| &lt;br /&gt;
[http://www.yaleresidential.com/Yale/Yale%20US/Real%20Living/Documents%20Library/Yale%20DB%20PUSH%20Quickstart%2018JUL11_Rev%20B.pdf Link] &lt;br /&gt;
&lt;br /&gt;
[http://www.yaleresidential.com/Yale/Yale%20US/Real%20Living/Documents%20Library/Yale%20DB%20PUSH%20Instructions%2023AUG11_Rev%20B.pdf Link] &lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Read instructions here: [[Yale Lock]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== '''Drapes/Blinds'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added&amp;lt;br&amp;gt;By User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Electronic Solutions &lt;br /&gt;
| Drape/Blind Motor Controller &lt;br /&gt;
| DBMZ &lt;br /&gt;
| V2+1 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| For 12-24VDC Motors &lt;br /&gt;
| [http://www.elec-solutions.com/products/dc_mot_ctrls/z-wave/dbmz/dbmz.html Link] &lt;br /&gt;
| Shady &lt;br /&gt;
| 2-Wire Motors&lt;br /&gt;
|-&lt;br /&gt;
| Electronic Solutions &lt;br /&gt;
| Drape/Blind Motor Controller &lt;br /&gt;
| ABMHZ &lt;br /&gt;
| V2+1 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| For 110-230VAC Motors &lt;br /&gt;
| [http://www.elec-solutions.com/products/int_ac_mot_ctrls/z-wave/abmhz/abmhz.html Link] &lt;br /&gt;
| Shady &lt;br /&gt;
| 4-Wire Motors&lt;br /&gt;
|-&lt;br /&gt;
| Lagotek / RSSceneAutomation &lt;br /&gt;
| Drape/Blind Motor Controller &lt;br /&gt;
| DC1-ZW &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| For 12-24VDC Motors &lt;br /&gt;
| [http://www.lagotek.com/blindspdf/AC1-ZW%20Cut%20Sheet.pdf Link] &lt;br /&gt;
| Shady &lt;br /&gt;
| 2-Wire Motors&lt;br /&gt;
|-&lt;br /&gt;
| Lagotek / RSSceneAutomation &lt;br /&gt;
| Drape/Blind Motor Controller &lt;br /&gt;
| AC1-ZW &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| For 110-230VAC Motors &lt;br /&gt;
| [http://www.lagotek.com/blindspdf/DC1-ZW%20Cut%20Sheet.pdf Link] &lt;br /&gt;
| Shady &lt;br /&gt;
| 4-Wire Motors&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== '''Relay controls'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added&amp;lt;br&amp;gt;By User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Intermatic &lt;br /&gt;
| Contactor control box &lt;br /&gt;
| CA3750 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Nov 2007 &lt;br /&gt;
| Indoor/Outdoor &lt;br /&gt;
| [http://www.intouchcontrols.com/~/media/Files/InTouchControls/Products/Spec%20Sheets/CA3750.ashx Link] &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Multi-instance class supported for this device. Vera is able to control each of the 2 relays independently if desired. please note unit shows as three switches this is a bug with Intermatic not a real issue.You can check the box in devices to not show the second listing of the first relay in &amp;quot;Dasboard&amp;quot; You can control heavy loads like a water heater ,pool pump motor/s. great device&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== '''Window Coverings'''  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Frequency &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Specs &lt;br /&gt;
! Product Review &lt;br /&gt;
! Added by User &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Merten &lt;br /&gt;
| Radio roller shutter push-button &lt;br /&gt;
| 5025xx, 5035xx, 5045xx &lt;br /&gt;
| 6,2,27,2,3 and 6,2,27,2,4 &lt;br /&gt;
| EU &lt;br /&gt;
| Apr 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.merten.de/download/DL_doku/V5025_581_01_web.pdf Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Ap15e &lt;br /&gt;
| Open/Close buttons work well, but slide bar does not work. GUI buttons do not work with Luup release 1.0.843 and 1.0.862 (fixed with Luup release 1.0.879).&amp;lt;br&amp;gt;Workaround: Use a Luup Scene with the following code:&amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&amp;lt;tt&amp;gt;local lul_arguments = {}&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;lul_arguments[&amp;quot;newTargetValue&amp;quot;]=&amp;quot;0&amp;quot;&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;lul_resultcode,lul_resultstring,lul_job,lul_returnarguments = luup.call_action(&amp;quot;urn:upnp-org:serviceId:SwitchPower1&amp;quot;,&amp;quot;SetTarget&amp;quot;,lul_arguments,6) &amp;lt;/tt&amp;gt; Replace &amp;quot;6&amp;quot; with your device number, replace &amp;quot;0&amp;quot; with &amp;quot;1&amp;quot; for inverse action. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Duewi &lt;br /&gt;
| Radio roller shutter push-button &lt;br /&gt;
| 054368 &lt;br /&gt;
| 6,2,51,1,0 &lt;br /&gt;
| EU &lt;br /&gt;
| Jun 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| [http://www.duewi.de/index.php?productid=37344 Link] &lt;br /&gt;
| &amp;amp;nbsp; &lt;br /&gt;
| Lutz &lt;br /&gt;
| Open/Close buttons work well, but slide bar does not work.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Some additional observations by Ap15e (Vera V1, firmware 1.0.979): &lt;br /&gt;
*GUI button 'Stop' and corresponding UPnP service does not work. &lt;br /&gt;
*GUI button 'Up' moves the shutter down, GUI button 'Down' moves the shutter up ... &lt;br /&gt;
*After adjusting the running times even the slide bar seems to work! &lt;br /&gt;
*I got a report from a user that the düwi device may fail due to interference from the shutter motor. In this case an additional filter is required (costs about 25 €/direction). &lt;br /&gt;
*More information is available at [http://forum.micasaverde.com/index.php?topic=3359.msg16142#msg16142 Link]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== '''Cameras that work'''  ===&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.micasaverde.com/index.php/IP_Cameras IP Cameras] for a more comprehensive and up to date list &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Device Type &lt;br /&gt;
! Model no. &lt;br /&gt;
! Version &lt;br /&gt;
! Date Purchased &lt;br /&gt;
! Location (indoor/outdoor) &lt;br /&gt;
! Path for JPEG image &lt;br /&gt;
! Product Review &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Linksys &lt;br /&gt;
| IP Camera &lt;br /&gt;
| WVC54GCA &lt;br /&gt;
| all &lt;br /&gt;
| 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| img/snapshot.cgi &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| An inexpensive camera with moderate image quality. Use the Linksys setup wizard for initial setup, then copy IP address and path into Vera setup fields. Use a static IP address.&lt;br /&gt;
|-&lt;br /&gt;
| Linksys &lt;br /&gt;
| IP Camera &lt;br /&gt;
| WVC210 &lt;br /&gt;
| all &lt;br /&gt;
| 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| img/snapshot.cgi &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| A more expensive camera with good image quality and pan/tilt ability. Use the Linksys setup wizard for initial setup, then copy IP address and path into Vera setup fields. Use a static IP address. Pan/tilt controls will not work with Vera.&lt;br /&gt;
|-&lt;br /&gt;
| Linksys &lt;br /&gt;
| IP Camera &lt;br /&gt;
| WVC80N &lt;br /&gt;
| all &lt;br /&gt;
| 2009 &lt;br /&gt;
| Indoor &lt;br /&gt;
| img/snapshot.cgi?size=2&amp;amp;amp;quality=1 &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| A more expensive camera with good image quality and wireless N. Use the Linksys setup wizard for initial setup, then copy IP address and path into Vera setup fields. Use a static IP address. Pan/tilt controls will not work with Vera. &lt;br /&gt;
Size can be (160 x 120 = 1,320 x 240 = 2,640 x 480 = 3) and Quality can be (Very High= 1,High= 2,Normal= 3,Low= 4,Very Low= 5) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| iCamView &lt;br /&gt;
| IP Camera Server &lt;br /&gt;
| iCV-22, iCV-32 &lt;br /&gt;
| all &lt;br /&gt;
| 2009&amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor/Outdoor &lt;br /&gt;
| pda.cgi?user=admin&amp;amp;amp;password=1234&amp;amp;amp;page=image&amp;amp;amp;cam=1&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;pda.cgi?user=admin&amp;amp;amp;password=1234&amp;amp;amp;page=image&amp;amp;amp;cam=2&amp;lt;br&amp;gt; &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Feature-rich IP camera server, suports up to two compatible USB cameras, optional WiFi support, USB storage, USB hubs, motion; works with range of cameras, see icamview.co.uk. Excellent modular solution. They do ship to North America.&lt;br /&gt;
|-&lt;br /&gt;
| SmartHome.com.au &lt;br /&gt;
| IP Camera &lt;br /&gt;
| Z~Series Wireless Camera &lt;br /&gt;
| all &lt;br /&gt;
| 2009&amp;lt;br&amp;gt; &lt;br /&gt;
| Indoor &lt;br /&gt;
| tmpfs/auto.jpg &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| Inexpensive IP security camera designed for the Australian and New Zealand Z-Wave users, but shipping world wide.&lt;br /&gt;
|-&lt;br /&gt;
| [http://global.level1.com LevelOne] &lt;br /&gt;
| IP Camera &lt;br /&gt;
| WCS-2030 &lt;br /&gt;
| all &lt;br /&gt;
| 2010 &lt;br /&gt;
| Indoor &lt;br /&gt;
| cgi-bin/video.jpg &lt;br /&gt;
| [http://reviews.cnet.com/search-results/levelone-camcon-wcs-2030/1707-5_7-31972011.html CNET review] &lt;br /&gt;
| An inexpensive IP camera with good image quality. Can be connected wired or wirelessly. Most LevelOne cameras use the same path for the JPEG image, so most of their line (both low and high end) should be compatible. Video and audio also stream over RTSP, which can be customized through the camera's web interface.&lt;br /&gt;
|-&lt;br /&gt;
| Asante &lt;br /&gt;
| IP Camera &lt;br /&gt;
| Voyager I &lt;br /&gt;
| firmware 2.02 and above &lt;br /&gt;
| 2010 &lt;br /&gt;
| Indoor &lt;br /&gt;
| image.cgi &lt;br /&gt;
| &amp;lt;br&amp;gt; &lt;br /&gt;
| An inexpensive&amp;amp;nbsp;IP&amp;amp;nbsp;camera that is very feature rich, has good image quality, night vision capabilities, motion detection, two-way audio, video streaming over TCP, UDP, or HTTP, and other configurable features. In firmware version 2.02, Asante added the capability to retrieve an image via a URL (however, it is delayed by 3 seconds). Offers a full-featured web interface in IE using an ActiveX plug-in (limited capabilites in other browsers).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Alarm Panels  ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Manufacturer &lt;br /&gt;
! Model(s) &lt;br /&gt;
! Required module &lt;br /&gt;
! Plugin &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| DSC &lt;br /&gt;
| &lt;br /&gt;
*[http://www.dsc.com/index.php?n=products&amp;amp;o=view&amp;amp;id=1 PowerSeries PC1616] &lt;br /&gt;
*[http://www.dsc.com/index.php?n=products&amp;amp;o=view&amp;amp;id=2 PowerSeries PC1832] &lt;br /&gt;
*[http://www.dsc.com/index.php?n=products&amp;amp;o=view&amp;amp;id=3 PowerSeries PC1864]&lt;br /&gt;
&lt;br /&gt;
| [http://www.dsc.com/index.php?n=products&amp;amp;o=view&amp;amp;id=22 IT-100] &lt;br /&gt;
| [http://code.mios.com/trac/mios_dscalarmpanel/wiki/WikiStart Link] &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Elk &lt;br /&gt;
| &lt;br /&gt;
*[http://www.elkproducts.com/_webapp_2981420/M1_Gold_Cross_Platform_Control%C2%AE M1 Gold] &lt;br /&gt;
*[http://www.elkproducts.com/_webapp_3127911/M1EZ8_Cross_Platform_Control%C2%AE M1EZ8]&lt;br /&gt;
&lt;br /&gt;
| The M1EZ8 panel requires the [http://www.elkproducts.com/_webapp_2981423/elk-m1ez8msi__m1ez8_main_serial_interface ELK-M1EZ8MSI] Main Serial Port Interface. &lt;br /&gt;
| [http://code.mios.com/trac/mios_elk-alarm-panel/wiki/WikiStart Link] &lt;br /&gt;
| You can use the ELK-M1XEP Ethernet Interface to connect the panels to Vera on the Ethernet port.&lt;br /&gt;
|-&lt;br /&gt;
| GE Security / Interlogix / Caddx &lt;br /&gt;
| &lt;br /&gt;
*[http://www.interlogix.com/resources/intrusion/906-3179_NetworX_brochure.pdf NetworX NX-4] &lt;br /&gt;
*[http://www.interlogix.com/resources/intrusion/906-3179_NetworX_brochure.pdf NetworX NX-6] &lt;br /&gt;
*[http://www.interlogix.com/resources/intrusion/906-3179_NetworX_brochure.pdf NetworX NX-8] &lt;br /&gt;
*[http://www.interlogix.com/resources/intrusion/906-3179_NetworX_brochure.pdf NetworX NX-8E]&lt;br /&gt;
&lt;br /&gt;
| [http://utcfssecurityproducts.com/ProductsAndServices/Pages/NX-584.aspx NX-584] &lt;br /&gt;
| [http://code.mios.com/trac/mios_caddxnx584/wiki/WikiStart Link] &lt;br /&gt;
| NetworX NX-8E already has a RS-232 interface, so it doesn't require the NX-584 module.&lt;br /&gt;
|-&lt;br /&gt;
| Honeywell / Ademco &lt;br /&gt;
| VISTA-50P, VISTA-128BP, VISTA-128BPT, VISTA-128BPE, VISTA-128FBP, VISTA-250BP, VISTA-250BPT, VISTA-250BPE and VISTA-250FBP &lt;br /&gt;
| VISTA-50P, VISTA-128BP, VISTA-128FBP, VISTA-250BP, and VISTA-250FBP panels require the [http://www.security.honeywell.com/me/intrusion/products/exp/ac/138478.html 4100SM] module. &lt;br /&gt;
| [http://code.mios.com/trac/mios_ademco-panels-plugin/wiki/WikiStart Link] &lt;br /&gt;
| If your Vista panel is not on this list, look at the next row.&lt;br /&gt;
|-&lt;br /&gt;
| Honeywell / Ademco &lt;br /&gt;
| 10SE, 20SE, 10P, 15P, 20P, 50P, etc. &lt;br /&gt;
| [http://www.nutech.com/online-store/18.html AD2USB] &lt;br /&gt;
| [http://code.mios.com/trac/mios_vista-alarm-panel-ad2usb/wiki/WikiStart Link] &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Paradox &lt;br /&gt;
| &lt;br /&gt;
*Digiplex DGP-848 &lt;br /&gt;
*EVO48 &lt;br /&gt;
*[http://www.paradox.com/Products/default.asp?CATID=7 EVO192]&lt;br /&gt;
&lt;br /&gt;
| [http://www.paradox.com/Products/default.asp?CATID=7&amp;amp;SUBCATID=75&amp;amp;PRD=234 PRT3 Integration Module] &lt;br /&gt;
| [http://code.mios.com/trac/mios_paradox-alarm/wiki/WikiStart Link] &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Visonic &lt;br /&gt;
| &lt;br /&gt;
*[http://www.visonic.com/Products/Wireless-Property-Protection/PowerMax PowerMax] &lt;br /&gt;
*[http://www.visonic.com/Products/Wireless-Property-Protection/PowerMaxPlus PowerMax+] &lt;br /&gt;
*[http://www.visonic.com/Products/Wireless-Property-Protection/PowerMaxComplete PowerMaxComplete] &lt;br /&gt;
*[http://www.visonic.com/Products/Wireless-Property-Protection/PowerMaxPro PowerMaxPro]&lt;br /&gt;
&lt;br /&gt;
| RS-232 Interface Module &lt;br /&gt;
| [http://code.mios.com/trac/mios_visonic-powermax/wiki/WikiStart Link] &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Instructions]] [[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Autotoronto</name></author>	</entry>

	<entry>
		<id>http://wiki.mios.com/index.php/Luup_plugins:_Static_JSON_file</id>
		<title>Luup plugins: Static JSON file</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php/Luup_plugins:_Static_JSON_file"/>
				<updated>2012-01-12T16:16:28Z</updated>
		
		<summary type="html">&lt;p&gt;Autotoronto: /* What the static JSON file controls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Development]]&lt;br /&gt;
&lt;br /&gt;
Starting in UI4, Luup plugins can specify a ''static JSON'' file.  This file describes how the plugin appears in the web interface.&lt;br /&gt;
&lt;br /&gt;
=What the static JSON file controls=&lt;br /&gt;
&lt;br /&gt;
* The icon used by the plugin in the dashboard.&lt;br /&gt;
* The text that displays in the one-to-two-row status message in the dashboard.&lt;br /&gt;
* Whether the icon changes depending on the value of a variable in the device (for example, a binary light's icon changes from lit to unlit).&lt;br /&gt;
* The tabs that appear in the device's detail dialog (when you click the wrench/spanner).&lt;br /&gt;
* The content of these tabs.&lt;br /&gt;
* The triggers or events that are available for the device in the &amp;quot;Triggers&amp;quot; or &amp;quot;Events&amp;quot; tag of a scene.&lt;br /&gt;
&lt;br /&gt;
=Referencing the static JSON file from the Device XML file=&lt;br /&gt;
&lt;br /&gt;
The device XML file (customarly '''D_PluginName.xml''') contains a reference to the static JSON file, in the '''staticJson''' element.  Place the element as a child of the '''device''' element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;root xmlns=&amp;quot;urn:schemas-upnp-org:device-1-0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;specVersion&amp;gt;&amp;lt;!-- ... --&amp;gt;&amp;lt;/specVersion&amp;gt;&lt;br /&gt;
    &amp;lt;device&amp;gt;&lt;br /&gt;
      &amp;lt;deviceType&amp;gt;urn:schemas-futzle-com:device:holidayvirtualswitch:1&amp;lt;/deviceType&amp;gt;&lt;br /&gt;
      &amp;lt;staticJson&amp;gt;D_HolidayVirtualSwitch1.json&amp;lt;/staticJson&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Capitalization is important, as with all XML.&lt;br /&gt;
&lt;br /&gt;
The static JSON file is customarily called '''D_PluginName.json'''.&lt;br /&gt;
&lt;br /&gt;
=The static JSON file=&lt;br /&gt;
&lt;br /&gt;
The static JSON file is a single JSON object (associative array).&lt;br /&gt;
&lt;br /&gt;
==Root keys==&lt;br /&gt;
&lt;br /&gt;
These keys have been seen at the top level in static JSON files in the wild:&lt;br /&gt;
&lt;br /&gt;
; flashicon&lt;br /&gt;
: The device's icon, as a string.  Despite the name, the icon is not related to Flash in UI4. See [[Luup plugin icons]].&lt;br /&gt;
; imgIconBody&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconDimmable&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconTurnable&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconMin&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconMax&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; halloIconsDir&lt;br /&gt;
: A string which appears to have no effect.  Usually contains &amp;quot;pics\/hallo&amp;quot;, for reasons unknown.&lt;br /&gt;
; DisplayStatus&lt;br /&gt;
: A JSON object (associative array).  For devices where the icon changes based on a variable's value, describes which variable, and the range of values that produce different icon images.  See [[Luup plugin icons]].&lt;br /&gt;
; doc_url&lt;br /&gt;
: A JSON object (associative array).  Appears to have no effect.&lt;br /&gt;
; Tabs&lt;br /&gt;
: A JSON array.  Describes the tabs in the detail dialog, and what subset of the first tab appears in the dashboard.  See [[Luup plugin tabs]].&lt;br /&gt;
; DeviceType&lt;br /&gt;
: A JSON string.  Must match the '''deviceType''' element in the corresponding device XML ('''D_PluginName.xml''') file.&lt;br /&gt;
; eventList&lt;br /&gt;
: A JSON object (associative array).  Describes the events that this plugin can produce.  Events are triggers that can fire off actions in scenes.  This key is required for UI4, and obsoleted in UI5. For UI5, use the eventList2 tag, which has a different format. For compatibility with both UI4 and UI5 you need the same information in both keys. See [[UI4 UI5 Migration]] for more information.&lt;br /&gt;
; eventList2&lt;br /&gt;
: see eventList, above.&lt;br /&gt;
; sceneList&lt;br /&gt;
: A JSON object (associative array).  Describes the actions that this plugin can perform (for instance, as the action in a scene). This key is not required and is ignored in UI5, however it is needed for UI4 compatibility. See [[UI4 UI5 Migration]] for more information about its format.&lt;br /&gt;
; sceneList2&lt;br /&gt;
: see sceneList, above.&lt;/div&gt;</summary>
		<author><name>Autotoronto</name></author>	</entry>

	<entry>
		<id>http://wiki.mios.com/index.php/Luup_plugins:_Static_JSON_file</id>
		<title>Luup plugins: Static JSON file</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php/Luup_plugins:_Static_JSON_file"/>
				<updated>2012-01-12T16:10:37Z</updated>
		
		<summary type="html">&lt;p&gt;Autotoronto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Development]]&lt;br /&gt;
&lt;br /&gt;
Starting in UI4, Luup plugins can specify a ''static JSON'' file.  This file describes how the plugin appears in the web interface.&lt;br /&gt;
&lt;br /&gt;
=What the static JSON file controls=&lt;br /&gt;
&lt;br /&gt;
* The icon used by the plugin in the dashboard.&lt;br /&gt;
* The text that displays in the one-to-two-row status message in the dashboard.&lt;br /&gt;
* Whether the icon changes depending on the value of a variable in the device (for example, a binary light's icon changes from lit to unlit).&lt;br /&gt;
* The tabs that appear in the device's detail dialog (when you click the wrench/spanner).&lt;br /&gt;
* The content of these tabs.&lt;br /&gt;
&lt;br /&gt;
=Referencing the static JSON file from the Device XML file=&lt;br /&gt;
&lt;br /&gt;
The device XML file (customarly '''D_PluginName.xml''') contains a reference to the static JSON file, in the '''staticJson''' element.  Place the element as a child of the '''device''' element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;root xmlns=&amp;quot;urn:schemas-upnp-org:device-1-0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;specVersion&amp;gt;&amp;lt;!-- ... --&amp;gt;&amp;lt;/specVersion&amp;gt;&lt;br /&gt;
    &amp;lt;device&amp;gt;&lt;br /&gt;
      &amp;lt;deviceType&amp;gt;urn:schemas-futzle-com:device:holidayvirtualswitch:1&amp;lt;/deviceType&amp;gt;&lt;br /&gt;
      &amp;lt;staticJson&amp;gt;D_HolidayVirtualSwitch1.json&amp;lt;/staticJson&amp;gt;&lt;br /&gt;
      &amp;lt;!-- ... --&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Capitalization is important, as with all XML.&lt;br /&gt;
&lt;br /&gt;
The static JSON file is customarily called '''D_PluginName.json'''.&lt;br /&gt;
&lt;br /&gt;
=The static JSON file=&lt;br /&gt;
&lt;br /&gt;
The static JSON file is a single JSON object (associative array).&lt;br /&gt;
&lt;br /&gt;
==Root keys==&lt;br /&gt;
&lt;br /&gt;
These keys have been seen at the top level in static JSON files in the wild:&lt;br /&gt;
&lt;br /&gt;
; flashicon&lt;br /&gt;
: The device's icon, as a string.  Despite the name, the icon is not related to Flash in UI4. See [[Luup plugin icons]].&lt;br /&gt;
; imgIconBody&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconDimmable&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconTurnable&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconMin&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; imgIconMax&lt;br /&gt;
: A string which appears to have no effect.&lt;br /&gt;
; halloIconsDir&lt;br /&gt;
: A string which appears to have no effect.  Usually contains &amp;quot;pics\/hallo&amp;quot;, for reasons unknown.&lt;br /&gt;
; DisplayStatus&lt;br /&gt;
: A JSON object (associative array).  For devices where the icon changes based on a variable's value, describes which variable, and the range of values that produce different icon images.  See [[Luup plugin icons]].&lt;br /&gt;
; doc_url&lt;br /&gt;
: A JSON object (associative array).  Appears to have no effect.&lt;br /&gt;
; Tabs&lt;br /&gt;
: A JSON array.  Describes the tabs in the detail dialog, and what subset of the first tab appears in the dashboard.  See [[Luup plugin tabs]].&lt;br /&gt;
; DeviceType&lt;br /&gt;
: A JSON string.  Must match the '''deviceType''' element in the corresponding device XML ('''D_PluginName.xml''') file.&lt;br /&gt;
; eventList&lt;br /&gt;
: A JSON object (associative array).  Describes the events that this plugin can produce.  Events are triggers that can fire off actions in scenes.  This key is required for UI4, and obsoleted in UI5. For UI5, use the eventList2 tag, which has a different format. For compatibility with both UI4 and UI5 you need the same information in both keys. See [[UI4 UI5 Migration]] for more information.&lt;br /&gt;
; eventList2&lt;br /&gt;
: see eventList, above.&lt;br /&gt;
; sceneList&lt;br /&gt;
: A JSON object (associative array).  Describes the actions that this plugin can perform (for instance, as the action in a scene). This key is not required and is ignored in UI5, however it is needed for UI4 compatibility. See [[UI4 UI5 Migration]] for more information about its format.&lt;br /&gt;
; sceneList2&lt;br /&gt;
: see sceneList, above.&lt;/div&gt;</summary>
		<author><name>Autotoronto</name></author>	</entry>

	<entry>
		<id>http://wiki.mios.com/index.php/Luup_Plugins_ByHand</id>
		<title>Luup Plugins ByHand</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php/Luup_Plugins_ByHand"/>
				<updated>2012-01-12T15:59:33Z</updated>
		
		<summary type="html">&lt;p&gt;Autotoronto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Development]]&lt;br /&gt;
==Description of the XML files==&lt;br /&gt;
&lt;br /&gt;
Because the web generator is not yet operational you need to create the XML files by hand.  The easiest way to do this is to start with an existing device as a template that you modify to suit your needs.  In Vera's Setup Web UI, choose Devices, Luup plug-ins.  There is a list of all the XML files which came with Vera by default.  Files that start with D_ are UPnP device specifications.  Files that start with S_ are UPnP service specifications.  And files that start with I_ are Luup implementation files.  Click view to see the XML file.  We recommend using the Firefox web browser because it has built-in support for nicely displaying XML files in a graphical tree.  XML can be hard to read in other web browser.&lt;br /&gt;
&lt;br /&gt;
When you open a device specification file the xml tag deviceType defines what kind of device it is.  This is how a UPnP Control Point knows what this device is.  If the device type starts with urn:schemas-upnp-org, that means it's a UPnP defined standard, and the list of services the device must support are defined by the UPnP forum.  If you're creating your own device type you can substitute the schemas-upnp-org with your own web domain name and change the other parts of the name.  But stick to the same convention and use only a-z, 0-9 and hypens (-) and colons (:).  Remember though that if you use your own device type chances are UPnP Control Points won't know what to do with it unless the author of the control point makes a custom addition for you.&lt;br /&gt;
&lt;br /&gt;
The device file references the service files (S_) and gives each service a serviceType and a serviceId.  The serviceType what defines the standard UPnP service.  But since it's possible to have multiple instances of a given service, each needs a unique serviceId.  For example, there is a standard UPnP service to set the setpoint on a thermostat called: urn:schemas-upnp-org:service:TemperatureSetpoint:1.  But many thermostats have multiple setpoints, such as heat and cool.  So in the standard for a UPnP thermostat device (D_HVAC_ZoneThermostat1.xml), there are 2 instances of the serviceType &amp;quot;urn:schemas-upnp-org:service:TemperatureSetpoint:1&amp;quot;, one has the id &amp;quot;urn:upnp-org:serviceId:TemperatureSetpoint1_Cool&amp;quot; and the other &amp;quot;urn:upnp-org:serviceId:TemperatureSetpoint1_Heat&amp;quot;.  They both use the same service specification, S_TemperatureSetpoint1.xml, which is in the XML tag SCPDURL.&lt;br /&gt;
&lt;br /&gt;
The controlURL and eventSubURL are set by the Luup engine and the values in the device specification file are ignored.&lt;br /&gt;
&lt;br /&gt;
The UPnP specification allows that we can add our own custom xml tags.  So we add the xml tags &amp;quot;implemenationList&amp;quot; to the device specification which references the implementation files that device will use.&lt;br /&gt;
&lt;br /&gt;
== The Luup XML implementation file ==&lt;br /&gt;
&lt;br /&gt;
We recommend looking at the file I_TestIR.xml for a sample of a typical a/v device, like a TV, for the device file D_TestIR.xml. I_TestSerial.xml has a typical serial device, like a TV with an RS232 serial port for home automation, for the device file D_TestSerial.xml. The Test Serial device is described in detail here: [[Luup TestSerial]]. &lt;br /&gt;
&lt;br /&gt;
I_GC100.xml is a full featured, functional implementation for the Global Cache GC100, which is an ethernet device with relay switches, input sensors, infrared transmitters and serial ports. I_GC100.xml shows a complete Luup plugin with parent/child devices. The corresponding UPnP Device specification file is D_GC100.xml. In all the implementation files the top-level XML tag (ie root node) is called &amp;quot;implementation&amp;quot;. It contains the following nodes: &lt;br /&gt;
&lt;br /&gt;
=== settings ===&lt;br /&gt;
&lt;br /&gt;
The settings node contains various settings for the implementation. &lt;br /&gt;
&lt;br /&gt;
protocol: Is the protocol to use to talk to the device if you'll be sending data over the network or a serial port. The protocol tag tells Luup what's considered a single ''chunk'' of data. By using a format, from the supported list below, you avoid byte-by-byte processing on input streams as the Luup engine will ''chunk'' the data to you and pass it to your Lua code handling &amp;lt;tt&amp;gt;&amp;lt;incoming&amp;gt;&amp;lt;/tt&amp;gt; requests.&lt;br /&gt;
Lua code is much cleaner when it handles data in chunks.  If you have a protocol that's not natively supported, and is likely to be used by other devices, let us know and we'll add it to the Luup engine so you don't need to mess with it.&lt;br /&gt;
&lt;br /&gt;
Valid values for this tag are:&lt;br /&gt;
*&amp;lt;tt&amp;gt;crlf&amp;lt;/tt&amp;gt; - all incoming commands are terminated with a carriage return+line feed character, and all outgoing data should have a cr+lf appended. &lt;br /&gt;
*&amp;lt;tt&amp;gt;stxetx&amp;lt;/tt&amp;gt; - all incoming commands are surrounded by STX and ETX characters.  If you send the string &amp;quot;test&amp;quot; the framework will add the STX before and the ETX at the end, and if the string &amp;quot;&amp;lt;tt&amp;gt;''&amp;lt;stx&amp;gt;''test''&amp;lt;etx&amp;gt;''&amp;lt;/tt&amp;gt;&amp;quot; is received, the framework will strip the STX and ETX and pass the string &amp;quot;test&amp;quot; to your incoming data handler.&lt;br /&gt;
*&amp;lt;tt&amp;gt;raw&amp;lt;/tt&amp;gt; - makes no modifications to outgoing data, and calls your incoming data callback for each byte received.  This adds more overhead since the engine needs to call your Luup function for every character, and makes your code complex.  So, generally avoid using '&amp;lt;tt&amp;gt;raw&amp;lt;/tt&amp;gt;' and let us add support for your protocol if you have a new one we don't yet support.&lt;br /&gt;
&lt;br /&gt;
ioPort: One way to have the device talk to another device on the internet. If you put a TCP port number here, an outgoing connection attempt is made automatically when the device initializes. (The remote IP address should be placed in the 'ip' box in the device's advanced configuration tab.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
handleChildren: If this flag is 1, then any actions that are sent to one of this device's children will be handled within this devices implementation file. Look at the I_GC100.xml file to see how this is done. The GC100 is a parent device which has no services or actions, but has child devices like IR transmitters and relays. This implementation file handles the SwitchPower/SetTarget action for the relays, as well as the SendProntoCode action for the ir transmitters, even though those actions will be sent to the GC100's child device--not the device GC100 itself.&lt;br /&gt;
&lt;br /&gt;
=== functions ===&lt;br /&gt;
&lt;br /&gt;
Put here the Lua code for functions you want to be able to use in other places in your Lua code. &lt;br /&gt;
&lt;br /&gt;
=== startup ===&lt;br /&gt;
&lt;br /&gt;
This tag is a comma separated list of functions you want the Luup engine to call when it's starting up. Generally these are functions in the 'functions' tag. &lt;br /&gt;
&lt;br /&gt;
=== actionList ===&lt;br /&gt;
&lt;br /&gt;
This is where you specify what to do when an action comes in. Create an &amp;quot;action&amp;quot; node for each action, which contains &amp;quot;serviceId&amp;quot; and &amp;quot;name&amp;quot; tags to indicate what action is being implemented. The &amp;quot;name&amp;quot; tag refers to the name of the Action as defined in the UPnP Service Specification file. &lt;br /&gt;
&lt;br /&gt;
There are several different nodes you can put within the &amp;quot;action&amp;quot; node. &lt;br /&gt;
&lt;br /&gt;
==== ir ====&lt;br /&gt;
&lt;br /&gt;
Put an ir code in pronto format in this tag. Luup will send a SendProntoCode action to whatever device is specified as the [[Luup IO Device]] in the [[Luup Configuration File]]. &lt;br /&gt;
&lt;br /&gt;
==== run/job/incoming/timeout ====&lt;br /&gt;
&lt;br /&gt;
Put Lua code in the 'run' node that is run immediately when the action is received. This code should be short and quick and return right away because the UPnP Control Point will probably be blocked while it waits for the reply. Also, your Luup device will not do anything else while the 'run' code is executing. If it will take some time to handle the action, use the 'job' tag instead. Job's will run asynchronously, meaning they happen in the background. If you implement this action in a Job, you won't be able to give the result code (ie success/failure) to the UPnP Control Point because the Luup engine gives the Control Point an &amp;quot;action successful&amp;quot; as soon as it creates the job. You can put code in both the 'run' and 'job' tags. In this case, the code in the 'run' tag is run immediately and can return an error condition which is sent back to the UPnP Control Point, or, if it returns 'OK', then Luup will send the 'ok' to the UPnP Control Point and run the job later. The job can take as long as you want. &lt;br /&gt;
&lt;br /&gt;
The UPnP forum did not create an action &amp;quot;on&amp;quot; or &amp;quot;off&amp;quot; for a light switch because they know that it can take some time to actually turn the light on or off, and you don't want to block the UPnP control point waiting for the light to go on or off. So, the UPnP action to turn a light on is called &amp;quot;SetTarget&amp;quot;. The UPnP action tells the control point it executed the action ok simply when it receives the action. If the control point wants to know for sure if the light actually turned on, the control point should watch the 'Status' variable and see if it changes to &amp;quot;1&amp;quot; when the light is actually on. &lt;br /&gt;
&lt;br /&gt;
In the case of the GC100, (see: I_GC100.xml), on/off of the relays happens immediately. So the implementation is inside a 'run' tag, which sets the &amp;quot;Status&amp;quot; variables. In the case of SendProntoCode, the implementation is inside a 'job' tag since the pronto commands may take time. &lt;br /&gt;
&lt;br /&gt;
When you have Lua code inside a 'job' tag, Luup will return 'OK' to the Control Point in response to the action, and then queues up the job and runs the Lua in your 'job' code. The job code returns 2 values: 1) the status of the job, and 2) how long to wait before the job times out in seconds. The status can be: &lt;br /&gt;
&lt;br /&gt;
0=job_WaitingToStart: In vera's UI a job in this state is displayed as a gray icon. It means it's waiting to start. If you return this value your 'job' code will be run again in the 'timeout' seconds &lt;br /&gt;
&lt;br /&gt;
2=job_Error, or 3=job_Aborted: In vera's UI a job in this state is displayed as a red icon. This means the job failed. Your code won't be run again. &lt;br /&gt;
&lt;br /&gt;
4=job_Done: In vera's UI a job in this state is displayed as a green icon. This means the job finished ok. Your code won't be run again. &lt;br /&gt;
&lt;br /&gt;
5=job_WaitingForCallback: In vera's UI a job in this state is displayed as a moving blue icon. This means the job is running and you're waiting for return data. Any data that comes in while the job is in this state will go to the lua code in the job's 'incoming' tag. If no data comes in before the number of seconds you return in the timeout, then the code in the job's 'timeout' tag is run. &lt;br /&gt;
&lt;br /&gt;
So in the SendProntoCode job code for the I_GC100, we return 5,10 which means we're waiting for data and should wait up to 10 seconds. &lt;br /&gt;
&lt;br /&gt;
While a job is active, a UPnP control point will see the status of the job when it uses the GetStatus action for Vera. In Vera's web ui an active job is shown as an icon next to the device. While Luup is in the middle of executing the Lua code for your job, the status is reported to the control point as 1=job_InProgress. &lt;br /&gt;
&lt;br /&gt;
Whenever your job is in status 5=job_WaitingForCallback, whatever data comes in on the I/O port will be first given to the job's 'incoming' Lua code *before* it's given to the general purpose 'incoming' Lua code (see below). If the incoming data is not for this job, you should not return a 'true' as the 3rd return parameter from 'incoming', and the Luup engine will forward the incoming data to the general purpose 'incoming' Lua code. If you do return 'true', the Luup engine assumes you handled the incoming data and there's nothing more to do with it. See the incoming tag for the SendProntoCode job code for the I_GC100 as an example. The 'incoming' code returns 3 values. The first 2 are the same as for the 'job', and the 3rd is true or false depending on if the incoming data was for this job or not. &lt;br /&gt;
&lt;br /&gt;
The Luup engine will only run one chunk of Lua code at a time. This is necessary to prevent problems with the shared variables. However, there can be multiple jobs in the 5=job_WaitingForCallback state. When one job is run, and it returns the status 5=job_WaitingForCallback, the Luup engine will start another job while the first one is waiting. So when incoming data is received, the Luup engine will pass the data to the 'incoming' Lua code for all the jobs in the 5=job_WaitingForCallback state, in the order the jobs were created. As soon as a job returns 'true' for the 3rd parameter, Luup discards the incoming data. As long as the jobs return 'false' the data is passed on to the next job, and eventually to the general purpose 'incoming' Lua code. If, when you start a job, you do not want other jobs to run until your job is done, call the [[Luup Lua extensions]] lu_block_jobs. Other Luup plugins will continue to run asynchronously, but no other jobs will run for this particular Luup plugin until this job becomes 'done' or 'error/abort'. &lt;br /&gt;
&lt;br /&gt;
[[Luup Declarations]] lists what variables this Lua code receives and what it should return. &lt;br /&gt;
&lt;br /&gt;
==== incoming ====&lt;br /&gt;
&lt;br /&gt;
This block defines what to do when data is received by the device, if this device is talking on a serial port, ethernet port, or some other generic I/O port. The Luup engine handles low-level I/O for these types of ports so you only need to call one of the [[Luup Lua extensions]] to send data on the port. &lt;br /&gt;
&lt;br /&gt;
This is the general purpose incoming data handler that the Luup engine will call whenever data comes in on an I/O Port. It has a node 'lua' which contains the Lua code that is called. &lt;br /&gt;
&lt;br /&gt;
[[Luup Declarations]] lists what variables this Lua code receives and what it should return. &lt;br /&gt;
&lt;br /&gt;
=== function declarations ===&lt;br /&gt;
&lt;br /&gt;
Whatever Lua code you create in the tags will be put inside a function automatically by the Luup engine, and your code will be passed variables that are relevant to whatever the code needs to do. For example, the code inside the 'run' tag is passed lul_device,lul_settings where lul_device is the id of the device the action was sent to, and lul_settings has the arguments to the UPnP action. See: [[Luup Declarations]] for details.&lt;br /&gt;
&lt;br /&gt;
==Walkthrough to create a device==&lt;br /&gt;
&lt;br /&gt;
We have documented step-by-step the detailed process of creating a Luup interface, including everything that was done to debug, for Somfy blind control device (see: [http://www.blindshademotors.com/documents/accessories-special-applications/rs232-to-rts-compatability.pdf]), which is a simple 1-way serial device (ie send data, but don't get any response) here: [[Luup_Somfy_Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
No matter type of Luup plugin you'll be creating the procedure to create it is the same.  This is true for Luup plugins which do not talk to any external hardware, such as a 'Weather' plugin to provide weather services, as well as plugins that talk to infrared devices like a TV, and serial/network devices.&lt;br /&gt;
&lt;br /&gt;
The first step is to create the UPnP device specification and service specification files.  Whenever possible you will want to re-use existing service specification files, as explained in &amp;quot;Introduction to UPnP&amp;quot; [[Luup_Plugins#Introduction_to_UPnP here]].  And if your device is functionally the same as an existing UPnP Device type, like a light switch, you should re-use an existing UPnP Device Specification file also so that a UPnP Control Point will know how to control your device with modification.  A list of all currently known UPnP Device and Service specification files is here: [[Luup_UPNP_Files]].  Find the existing UPnP device file that is most similar to the Luup plugin you are creating, and list all the services that device will implement.  Download these files on your computer either from the [[Luup_UPNP_Files]] page, or by going to Vera's setup page and choosing Devices, Luup plugins.&lt;br /&gt;
&lt;br /&gt;
Modify the UPnP device specification file as needed, such as changing the manufacturer and model.  Do not worry about the UDN tag as Luup will create a UDN for you automatically.  If your device is functionally the same as the template you started from, leave the deviceType the same.  If it's different, modify the deviceType replacing the &amp;quot;schemas-upnp-org&amp;quot; or &amp;quot;micasaverde-com&amp;quot; with some domain that you have, or if you don't have one, just use your name.  Leave the :device: but change the word after it to describe your device.  The deviceType must contain only a-z, 0-9, : and -.&lt;br /&gt;
&lt;br /&gt;
In the serviceList tag, add all the services you will implement.  You can also create new services at this time.  Save your new device file and service files as D_[some name] and S_[some name].  This is not mandated by UPnP, but is a convention we use so it's easy to recognize the file type by the name.&lt;br /&gt;
&lt;br /&gt;
Now refer to &amp;quot;The Luup XML implementation file&amp;quot; section above to learn how to create an implementation file.&lt;br /&gt;
&lt;br /&gt;
To add the device to Vera's configuration file, so Vera will load and use the device, go to the Devices tab and at the bottom fill in the UPnP Device filename in the 'Add Device' box and pick a room.  When you save your changes, which causes the Luup engine to reload the new configuration, it will look for the device, service and implementation files to start the device.  If the files don't already exist on Vera, Vera will log an error and will not start the device.  So you need to upload any new files you created by going to the Devices, Luup plugins page in Vera's setup web page.  You can upload several files at once.  The files will not be used until the Loop engine is reset so you probably want to check the &amp;quot;Restart Luup after upload&amp;quot; box before you click 'go'.  If you upload the files without checking the box and want to restart the Luup engine, just click 'save', even if the button is grayed out.  You will likely need to make several changes to the files before they're right so you can leave one web browser open to the 'Luup plugin' page and just modify the files in your text editor then click 'go' again to re-upload them after saving your changes.  You can open another browser window or tab to access other pages in Vera's web ui and control the device while leaving the list of files to upload on the Luup plugin page intact so you can re-upload by clicking 'go'.&lt;br /&gt;
&lt;br /&gt;
Next you'll want to know how to debug your Luup plugins and Lua code.  See [[Luup_Debugging]]&lt;/div&gt;</summary>
		<author><name>Autotoronto</name></author>	</entry>

	<entry>
		<id>http://wiki.mios.com/index.php/Luup_Plugins_ByHand</id>
		<title>Luup Plugins ByHand</title>
		<link rel="alternate" type="text/html" href="http://wiki.mios.com/index.php/Luup_Plugins_ByHand"/>
				<updated>2012-01-12T15:58:44Z</updated>
		
		<summary type="html">&lt;p&gt;Autotoronto: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Development]]&lt;br /&gt;
==Description of the XML files==&lt;br /&gt;
&lt;br /&gt;
Because the web generator is not yet operational you need to create the XML files by hand.  The easiest way to do this is to start with an existing device as a template that you modify to suit your needs.  In Vera's Setup Web UI, choose Devices, Luup plug-ins.  There is a list of all the XML files which came with Vera by default.  Files that start with D_ are UPnP device specifications.  Files that start with S_ are UPnP service specifications.  And files that start with I_ are Luup implementation files.  Click view to see the XML file.  We recommend using the Firefox web browser because it has built-in support for nicely displaying XML files in a graphical tree.  XML can be hard to read in other web browser.&lt;br /&gt;
&lt;br /&gt;
When you open a device specification file the xml tag deviceType defines what kind of device it is.  This is how a UPnP Control Point knows what this device is.  If the device type starts with urn:schemas-upnp-org, that means it's a UPnP defined standard, and the list of services the device must support are defined by the UPnP forum.  If you're creating your own device type you can substitute the schemas-upnp-org with your own web domain name and change the other parts of the name.  But stick to the same convention and use only a-z, 0-9 and hypens (-) and colons (:).  Remember though that if you use your own device type chances are UPnP Control Points won't know what to do with it unless the author of the control point makes a custom addition for you.&lt;br /&gt;
&lt;br /&gt;
The device file references the service files (S_) and gives each service a serviceType and a serviceId.  The serviceType what defines the standard UPnP service.  But since it's possible to have multiple instances of a given service, each needs a unique serviceId.  For example, there is a standard UPnP service to set the setpoint on a thermostat called: urn:schemas-upnp-org:service:TemperatureSetpoint:1.  But many thermostats have multiple setpoints, such as heat and cool.  So in the standard for a UPnP thermostat device (D_HVAC_ZoneThermostat1.xml), there are 2 instances of the serviceType &amp;quot;urn:schemas-upnp-org:service:TemperatureSetpoint:1&amp;quot;, one has the id &amp;quot;urn:upnp-org:serviceId:TemperatureSetpoint1_Cool&amp;quot; and the other &amp;quot;urn:upnp-org:serviceId:TemperatureSetpoint1_Heat&amp;quot;.  They both use the same service specification, S_TemperatureSetpoint1.xml, which is in the XML tag SCPDURL.&lt;br /&gt;
&lt;br /&gt;
The controlURL and eventSubURL are set by the Luup engine and the values in the device specification file are ignored.&lt;br /&gt;
&lt;br /&gt;
The UPnP specification allows that we can add our own custom xml tags.  So we add the xml tags &amp;quot;implemenationList&amp;quot; to the device specification which references the implementation files that device will use.&lt;br /&gt;
&lt;br /&gt;
== The Luup XML implementation file ==&lt;br /&gt;
&lt;br /&gt;
We recommend looking at the file I_TestIR.xml for a sample of a typical a/v device, like a TV, for the device file D_TestIR.xml. I_TestSerial.xml has a typical serial device, like a TV with an RS232 serial port for home automation, for the device file D_TestSerial.xml. The Test Serial device is described in detail here: [[Luup TestSerial]]. &lt;br /&gt;
&lt;br /&gt;
I_GC100.xml is a full featured, functional implementation for the Global Cache GC100, which is an ethernet device with relay switches, input sensors, infrared transmitters and serial ports. I_GC100.xml shows a complete Luup plugin with parent/child devices. The corresponding UPnP Device specification file is D_GC100.xml. In all the implementation files the top-level XML tag (ie root node) is called &amp;quot;implementation&amp;quot;. It contains the following nodes: &lt;br /&gt;
&lt;br /&gt;
=== settings ===&lt;br /&gt;
&lt;br /&gt;
The settings node contains various settings for the implementation. &lt;br /&gt;
&lt;br /&gt;
protocol: Is the protocol to use to talk to the device if you'll be sending data over the network or a serial port. The protocol tag tells Luup what's considered a single ''chunk'' of data. By using a format, from the supported list below, you avoid byte-by-byte processing on input streams as the Luup engine will ''chunk'' the data to you and pass it to your Lua code handling &amp;lt;tt&amp;gt;&amp;lt;incoming&amp;gt;&amp;lt;/tt&amp;gt; requests.&lt;br /&gt;
Lua code is much cleaner when it handles data in chunks.  If you have a protocol that's not natively supported, and is likely to be used by other devices, let us know and we'll add it to the Luup engine so you don't need to mess with it.&lt;br /&gt;
&lt;br /&gt;
Valid values for this tag are:&lt;br /&gt;
*&amp;lt;tt&amp;gt;crlf&amp;lt;/tt&amp;gt; - all incoming commands are terminated with a carriage return+line feed character, and all outgoing data should have a cr+lf appended. &lt;br /&gt;
*&amp;lt;tt&amp;gt;stxetx&amp;lt;/tt&amp;gt; - all incoming commands are surrounded by STX and ETX characters.  If you send the string &amp;quot;test&amp;quot; the framework will add the STX before and the ETX at the end, and if the string &amp;quot;&amp;lt;tt&amp;gt;''&amp;lt;stx&amp;gt;''test''&amp;lt;etx&amp;gt;''&amp;lt;/tt&amp;gt;&amp;quot; is received, the framework will strip the STX and ETX and pass the string &amp;quot;test&amp;quot; to your incoming data handler.&lt;br /&gt;
*&amp;lt;tt&amp;gt;raw&amp;lt;/tt&amp;gt; - makes no modifications to outgoing data, and calls your incoming data callback for each byte received.  This adds more overhead since the engine needs to call your Luup function for every character, and makes your code complex.  So, generally avoid using '&amp;lt;tt&amp;gt;raw&amp;lt;/tt&amp;gt;' and let us add support for your protocol if you have a new one we don't yet support.&lt;br /&gt;
&lt;br /&gt;
ioPort: For use if the device talks to another device on the internet. If you put a TCP port number here, an outgoing connection attempt is made automatically when the device initializes. (The remote IP address should be placed in the 'ip' box in the device's advanced configuration tab.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
handleChildren: If this flag is 1, then any actions that are sent to one of this device's children will be handled within this devices implementation file. Look at the I_GC100.xml file to see how this is done. The GC100 is a parent device which has no services or actions, but has child devices like IR transmitters and relays. This implementation file handles the SwitchPower/SetTarget action for the relays, as well as the SendProntoCode action for the ir transmitters, even though those actions will be sent to the GC100's child device--not the device GC100 itself.&lt;br /&gt;
&lt;br /&gt;
=== functions ===&lt;br /&gt;
&lt;br /&gt;
Put here the Lua code for functions you want to be able to use in other places in your Lua code. &lt;br /&gt;
&lt;br /&gt;
=== startup ===&lt;br /&gt;
&lt;br /&gt;
This tag is a comma separated list of functions you want the Luup engine to call when it's starting up. Generally these are functions in the 'functions' tag. &lt;br /&gt;
&lt;br /&gt;
=== actionList ===&lt;br /&gt;
&lt;br /&gt;
This is where you specify what to do when an action comes in. Create an &amp;quot;action&amp;quot; node for each action, which contains &amp;quot;serviceId&amp;quot; and &amp;quot;name&amp;quot; tags to indicate what action is being implemented. The &amp;quot;name&amp;quot; tag refers to the name of the Action as defined in the UPnP Service Specification file. &lt;br /&gt;
&lt;br /&gt;
There are several different nodes you can put within the &amp;quot;action&amp;quot; node. &lt;br /&gt;
&lt;br /&gt;
==== ir ====&lt;br /&gt;
&lt;br /&gt;
Put an ir code in pronto format in this tag. Luup will send a SendProntoCode action to whatever device is specified as the [[Luup IO Device]] in the [[Luup Configuration File]]. &lt;br /&gt;
&lt;br /&gt;
==== run/job/incoming/timeout ====&lt;br /&gt;
&lt;br /&gt;
Put Lua code in the 'run' node that is run immediately when the action is received. This code should be short and quick and return right away because the UPnP Control Point will probably be blocked while it waits for the reply. Also, your Luup device will not do anything else while the 'run' code is executing. If it will take some time to handle the action, use the 'job' tag instead. Job's will run asynchronously, meaning they happen in the background. If you implement this action in a Job, you won't be able to give the result code (ie success/failure) to the UPnP Control Point because the Luup engine gives the Control Point an &amp;quot;action successful&amp;quot; as soon as it creates the job. You can put code in both the 'run' and 'job' tags. In this case, the code in the 'run' tag is run immediately and can return an error condition which is sent back to the UPnP Control Point, or, if it returns 'OK', then Luup will send the 'ok' to the UPnP Control Point and run the job later. The job can take as long as you want. &lt;br /&gt;
&lt;br /&gt;
The UPnP forum did not create an action &amp;quot;on&amp;quot; or &amp;quot;off&amp;quot; for a light switch because they know that it can take some time to actually turn the light on or off, and you don't want to block the UPnP control point waiting for the light to go on or off. So, the UPnP action to turn a light on is called &amp;quot;SetTarget&amp;quot;. The UPnP action tells the control point it executed the action ok simply when it receives the action. If the control point wants to know for sure if the light actually turned on, the control point should watch the 'Status' variable and see if it changes to &amp;quot;1&amp;quot; when the light is actually on. &lt;br /&gt;
&lt;br /&gt;
In the case of the GC100, (see: I_GC100.xml), on/off of the relays happens immediately. So the implementation is inside a 'run' tag, which sets the &amp;quot;Status&amp;quot; variables. In the case of SendProntoCode, the implementation is inside a 'job' tag since the pronto commands may take time. &lt;br /&gt;
&lt;br /&gt;
When you have Lua code inside a 'job' tag, Luup will return 'OK' to the Control Point in response to the action, and then queues up the job and runs the Lua in your 'job' code. The job code returns 2 values: 1) the status of the job, and 2) how long to wait before the job times out in seconds. The status can be: &lt;br /&gt;
&lt;br /&gt;
0=job_WaitingToStart: In vera's UI a job in this state is displayed as a gray icon. It means it's waiting to start. If you return this value your 'job' code will be run again in the 'timeout' seconds &lt;br /&gt;
&lt;br /&gt;
2=job_Error, or 3=job_Aborted: In vera's UI a job in this state is displayed as a red icon. This means the job failed. Your code won't be run again. &lt;br /&gt;
&lt;br /&gt;
4=job_Done: In vera's UI a job in this state is displayed as a green icon. This means the job finished ok. Your code won't be run again. &lt;br /&gt;
&lt;br /&gt;
5=job_WaitingForCallback: In vera's UI a job in this state is displayed as a moving blue icon. This means the job is running and you're waiting for return data. Any data that comes in while the job is in this state will go to the lua code in the job's 'incoming' tag. If no data comes in before the number of seconds you return in the timeout, then the code in the job's 'timeout' tag is run. &lt;br /&gt;
&lt;br /&gt;
So in the SendProntoCode job code for the I_GC100, we return 5,10 which means we're waiting for data and should wait up to 10 seconds. &lt;br /&gt;
&lt;br /&gt;
While a job is active, a UPnP control point will see the status of the job when it uses the GetStatus action for Vera. In Vera's web ui an active job is shown as an icon next to the device. While Luup is in the middle of executing the Lua code for your job, the status is reported to the control point as 1=job_InProgress. &lt;br /&gt;
&lt;br /&gt;
Whenever your job is in status 5=job_WaitingForCallback, whatever data comes in on the I/O port will be first given to the job's 'incoming' Lua code *before* it's given to the general purpose 'incoming' Lua code (see below). If the incoming data is not for this job, you should not return a 'true' as the 3rd return parameter from 'incoming', and the Luup engine will forward the incoming data to the general purpose 'incoming' Lua code. If you do return 'true', the Luup engine assumes you handled the incoming data and there's nothing more to do with it. See the incoming tag for the SendProntoCode job code for the I_GC100 as an example. The 'incoming' code returns 3 values. The first 2 are the same as for the 'job', and the 3rd is true or false depending on if the incoming data was for this job or not. &lt;br /&gt;
&lt;br /&gt;
The Luup engine will only run one chunk of Lua code at a time. This is necessary to prevent problems with the shared variables. However, there can be multiple jobs in the 5=job_WaitingForCallback state. When one job is run, and it returns the status 5=job_WaitingForCallback, the Luup engine will start another job while the first one is waiting. So when incoming data is received, the Luup engine will pass the data to the 'incoming' Lua code for all the jobs in the 5=job_WaitingForCallback state, in the order the jobs were created. As soon as a job returns 'true' for the 3rd parameter, Luup discards the incoming data. As long as the jobs return 'false' the data is passed on to the next job, and eventually to the general purpose 'incoming' Lua code. If, when you start a job, you do not want other jobs to run until your job is done, call the [[Luup Lua extensions]] lu_block_jobs. Other Luup plugins will continue to run asynchronously, but no other jobs will run for this particular Luup plugin until this job becomes 'done' or 'error/abort'. &lt;br /&gt;
&lt;br /&gt;
[[Luup Declarations]] lists what variables this Lua code receives and what it should return. &lt;br /&gt;
&lt;br /&gt;
==== incoming ====&lt;br /&gt;
&lt;br /&gt;
This block defines what to do when data is received by the device, if this device is talking on a serial port, ethernet port, or some other generic I/O port. The Luup engine handles low-level I/O for these types of ports so you only need to call one of the [[Luup Lua extensions]] to send data on the port. &lt;br /&gt;
&lt;br /&gt;
This is the general purpose incoming data handler that the Luup engine will call whenever data comes in on an I/O Port. It has a node 'lua' which contains the Lua code that is called. &lt;br /&gt;
&lt;br /&gt;
[[Luup Declarations]] lists what variables this Lua code receives and what it should return. &lt;br /&gt;
&lt;br /&gt;
=== function declarations ===&lt;br /&gt;
&lt;br /&gt;
Whatever Lua code you create in the tags will be put inside a function automatically by the Luup engine, and your code will be passed variables that are relevant to whatever the code needs to do. For example, the code inside the 'run' tag is passed lul_device,lul_settings where lul_device is the id of the device the action was sent to, and lul_settings has the arguments to the UPnP action. See: [[Luup Declarations]] for details.&lt;br /&gt;
&lt;br /&gt;
==Walkthrough to create a device==&lt;br /&gt;
&lt;br /&gt;
We have documented step-by-step the detailed process of creating a Luup interface, including everything that was done to debug, for Somfy blind control device (see: [http://www.blindshademotors.com/documents/accessories-special-applications/rs232-to-rts-compatability.pdf]), which is a simple 1-way serial device (ie send data, but don't get any response) here: [[Luup_Somfy_Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
No matter type of Luup plugin you'll be creating the procedure to create it is the same.  This is true for Luup plugins which do not talk to any external hardware, such as a 'Weather' plugin to provide weather services, as well as plugins that talk to infrared devices like a TV, and serial/network devices.&lt;br /&gt;
&lt;br /&gt;
The first step is to create the UPnP device specification and service specification files.  Whenever possible you will want to re-use existing service specification files, as explained in &amp;quot;Introduction to UPnP&amp;quot; [[Luup_Plugins#Introduction_to_UPnP here]].  And if your device is functionally the same as an existing UPnP Device type, like a light switch, you should re-use an existing UPnP Device Specification file also so that a UPnP Control Point will know how to control your device with modification.  A list of all currently known UPnP Device and Service specification files is here: [[Luup_UPNP_Files]].  Find the existing UPnP device file that is most similar to the Luup plugin you are creating, and list all the services that device will implement.  Download these files on your computer either from the [[Luup_UPNP_Files]] page, or by going to Vera's setup page and choosing Devices, Luup plugins.&lt;br /&gt;
&lt;br /&gt;
Modify the UPnP device specification file as needed, such as changing the manufacturer and model.  Do not worry about the UDN tag as Luup will create a UDN for you automatically.  If your device is functionally the same as the template you started from, leave the deviceType the same.  If it's different, modify the deviceType replacing the &amp;quot;schemas-upnp-org&amp;quot; or &amp;quot;micasaverde-com&amp;quot; with some domain that you have, or if you don't have one, just use your name.  Leave the :device: but change the word after it to describe your device.  The deviceType must contain only a-z, 0-9, : and -.&lt;br /&gt;
&lt;br /&gt;
In the serviceList tag, add all the services you will implement.  You can also create new services at this time.  Save your new device file and service files as D_[some name] and S_[some name].  This is not mandated by UPnP, but is a convention we use so it's easy to recognize the file type by the name.&lt;br /&gt;
&lt;br /&gt;
Now refer to &amp;quot;The Luup XML implementation file&amp;quot; section above to learn how to create an implementation file.&lt;br /&gt;
&lt;br /&gt;
To add the device to Vera's configuration file, so Vera will load and use the device, go to the Devices tab and at the bottom fill in the UPnP Device filename in the 'Add Device' box and pick a room.  When you save your changes, which causes the Luup engine to reload the new configuration, it will look for the device, service and implementation files to start the device.  If the files don't already exist on Vera, Vera will log an error and will not start the device.  So you need to upload any new files you created by going to the Devices, Luup plugins page in Vera's setup web page.  You can upload several files at once.  The files will not be used until the Loop engine is reset so you probably want to check the &amp;quot;Restart Luup after upload&amp;quot; box before you click 'go'.  If you upload the files without checking the box and want to restart the Luup engine, just click 'save', even if the button is grayed out.  You will likely need to make several changes to the files before they're right so you can leave one web browser open to the 'Luup plugin' page and just modify the files in your text editor then click 'go' again to re-upload them after saving your changes.  You can open another browser window or tab to access other pages in Vera's web ui and control the device while leaving the list of files to upload on the Luup plugin page intact so you can re-upload by clicking 'go'.&lt;br /&gt;
&lt;br /&gt;
Next you'll want to know how to debug your Luup plugins and Lua code.  See [[Luup_Debugging]]&lt;/div&gt;</summary>
		<author><name>Autotoronto</name></author>	</entry>

	</feed>