Difference between revisions of "Insteon - Setting Up PLM Template"
(→Supported Devices) |
Langstonius (Talk | contribs) |
||
Line 1: | Line 1: | ||
− | {{Versioninfo}} | + | {{Versioninfo|810Status=Q/A|810UpdatedDate=29 JUNE 2010|810UpdatedBy=langstonius|710Status=N/A|710UpdatedDate=29JUNE 2010|710UpdatedBy=langstonius}} |
[[Category:Tutorials]] | [[Category:Tutorials]] | ||
[[Category:Power Line Control]] | [[Category:Power Line Control]] |
Revision as of 00:40, 30 July 2010
Version | Status | Date Updated | Updated By |
---|---|---|---|
710 | N/A | 29JUNE 2010 | langstonius |
810 | Q/A | 29 JUNE 2010 | langstonius |
1004 | Unknown | N/A | N/A |
1204 | Unknown | N/A | N/A |
1404 | Unknown | N/A | N/A |
Usage Information |
- UPDATED: 11-MAR-08 Many bugs fixed, X10 fixes...
- UPDATED: 13-FEB-08 X10 Support fixed!
- --ddamron
Here are the steps to create an Insteon PLM Template. This driver is written entirely in Ruby. Please consider this driver complete, and is in Release Candidate 1. I'm sure there are still a few bugs (although we've ironed most of them out now). The more people testing this code, the more bugs we can find, and get this to a release state. Once it's in release state, it will be added to sqlcvs and offered via a 'quick' update.
Supported Devices
This driver supports ONLY the Powerlinc Modem model (PLM)#2412S and #2413S. The code will NOT work for a model #2414 also known as a Powerlinc CONTROLLER (PLC).
NOTE: I am expecting a PLC to arrive in the mail in the next few days. Support for that device will be sooner than later.
Simplehomenet's EZBridge/EZServ products will be added once this code is stable. These products are a 'wrapper' for the PLM, and hence, use the same code. Integration will be a matter of adding the 'wrapper' code. (which is done)
Setting up the Template
- Goto LinuxMCE Admin Website-->Wizard-->Devices-->Interfaces
- Add device-->Add Manufacturer
- type 'Smarthome' (and click Add)
- Click Close
Adding a New Template
- Press F5 to refresh the page.
- In the Manufacturer field, select 'Smarthome'.
- Under Device Category, select 'Lighting Interface <-- Interfaces'.
- Add device Template
- select the LAST option:
"It's a simple, generic serial device controlled by RS232, Ethernet or USB, which you'll control with Pluto's GSD and embedded Ruby snippets (very easy). Examples: Lighting control, alarm panels, surveillance cameras, thermostats, weather stations, a/v equipment with RS232 ports, etc"
- Type in 'Insteon PLM' in the name or model#.
- Click Add
There will not be a confirmation screen, instead the page will be blank
- Close the Add device Template window.
modifying the new Template
- In Webadmin, Select Advanced, Configuration, Device Templates (from the top menu)
- In the Device Template field, select 'Insteon PLM'
- click 'Pick Device Template' (loads Edit Device Template Popup)
- NOTE the Template Number! write this down. (it will be needed for Plug N Play)
- Make sure 'Implements DCE' is checked (should be)
- In the Comm Method, select RS232
Adding a Code Group
- Click 'Edit Ruby Codes' ( loads Edit Ruby Codes Popup)
- In the field to the LEFT of 'Create new group', type in 'Insteon PLM'
- click 'Create new group'
b4 is broken have to run sql manually to add new group close 'Edit Ruby codes' page. Look at 'Edit Device Template' popup page and note Device_Category and Manufacturer you will need to set them in sql code below
INSERT INTO InfraredGroup (FK_DeviceCategory,FK_Manufacturer,Description,FK_CommMethod,psc_id,psc_batch,psc_user,psc_frozen,psc_mod,psc_restrict) VALUES (Device_Category,Manufacturer,"Insteon PLM",2,NULL,NULL,NULL,NULL,NULL,NULL);
run this sql and reload 'Edit Ruby codes' page and you should see 'Insteon PLM' in 'Uses Group/Codeset'
- If the 'Uses Group/Codeset' does not change to 'Insteon PLM', repeat the previous 2 steps again.
- Once the 'Uses Group/Codeset' says 'Insteon PLM' Check 'Discoverable Interfaces'
- Check 'Ruby Internal Commands'
- click Update
Adding Ruby Code
- In the #756 Report Child Devices field (the big one) copy and paste this code:
- In the #776 Reset field, copy and paste this code:
- In the #760 Send Command to Child field, copy and paste this code:
- In the #788 StatusReport field, copy and paste this code:
- In the #373 Private Method Listing field, copy and paste this code:
- In the #351 Process IDLE field, copy and paste this code:
- In the #350 Process Incoming Data field, copy and paste this code:
- In the #355 Process Initialize field, copy and paste this code:
- In the #384 Process Receive Command for Child field, copy and paste this code:
- In the #356 Process Release, leave it blank. (no code for now)
- Click Update
- Click Close
UPDATE I had to remove the ruby code from 141 & 161. The PLM wouldn't start due to errors from these two. 8/9/08 williammanda
Adding Device Data
- Press F5 for refresh the 'Edit Device Template' popup
- In the 'Device data' section, in 'Add a New Parameter' select 'COM Port on PC' and click Add.
- in the Comments Field, type
COM Port
- in the Default Value field, type
/dev/ttyS0
- check the 'Required' and 'Allowed to Modify' boxes
- In the 'Device data' section, in 'Add a New Parameter' select 'COM Port BaudRate' and click Add.
- in the Comments Field, type
Baud Rate
- in the Default Value field, type
19200
- check the 'Required' and 'Use Master Device List Defaults' boxes
- In the 'Device data' section, in 'Add a New Parameter' select 'Only One Per PC' and click Add.
- in the Comments Field, type
Only One Per PC
- in the Default Value field, type
1
- In the 'Device data' section, in 'Add a New Parameter' select 'Auto-assign to parents room' and click Add.
- in the Comments Field, type
Assign to Parents Room
- in the Default Value field, type
1
Making the Driver Plug & Play
- Scroll down to the 'Plug & Play' Section
- Enter These values:
- From =
0
- To =
0
- Vendor Model ID =
2412S
- PNP protocol =
Proprietary
- Serial Number =
Insteon PLM
- Parms is blank
- PNP detection script is
88_InsteonPLM.sh
- Comment is
Insteon PLM
- Scroll down to the bottom of the popup window and click Save
- Click Close
- Modify the SECOND LAST LINE of this script (88_InsteonPLM.sh) and change the LAST number to your Template ID.
- Add this script file to /usr/pluto/pnp/ directory (88_InsteonPLM.sh). The script will not currently exist so it must be created. Depending on who you have logged in as you may need super user privileges.
- The command sudo vi /usr/pluto/pnp/88_InsteonPLM.sh will both create the file and allow you to edit. The super user password will be required.
- User Notes:
- UPDATE 8/9/08 Use this format to execute the command Kate /usr/pluto/pnp/88_InsteonPLM.sh missing "/" after pnp. Williammanda
#!/bin/bash echo "Insteon Powerline Modem Detection Script queue $2" /usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 19200 -t "\02\60" -i 1 -s "\03\05" if [[ "$?" -ne 0 ]]; then echo "It's not an Insteon Powerline Modem" /usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 0 else echo "It is an Insteon Powerline Modem" /usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 1901 fi
- chmod 755 /usr/pluto/pnp/88_InsteonPLM.sh (make it executable). The sudo command prefix will work here as well if you are not logged in as root.
Setting up the Generic Serial Device
- on the top, select Wizard, Devices, Generic Serial Devices. You should now see the InsteonPLM device.
- select the room it's in.
- in the Controlled By box, select CORE
- select Update (at the bottom)
- Now, in the COM PORT ON PC, you can select the com port it's on. UPDATE I didn't see any "COM PORT ON PC" field. You wil need to reload the router first, then you see the "COM PORT ON PC" field. 8/9/08 Williammanda
TODO Other than looking on the motherboard for the com port label and guess and check methods, what else can be done to identify the correct com port?
- select Update (at the bottom)
You are Done!