Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - trippleg

Pages: 1 [2]
Users / Re: Insteon 2412N Addition?
« on: November 15, 2011, 12:14:18 am »
Well at least you gave it a shot Thom :)

Do you know of a way I can get a hold of ddamron?  In the mean time I will plug away at it and see if I can figure it out.  As far as I can tell the template I created for the 2412N should work for other Insteon add ons.  How do I submit it for others to test??


Users / Re: Insteon 2412N Addition?
« on: November 14, 2011, 10:37:50 pm »
the driver itself currently only supports lighting and a few other small class of devices, that are automatically introspected by querying the device database of each insteon device in the network.

you would need to add support for interfacing with the climate and security features of the system.

The reason the devices are disappearing is because the GSD device in question uses the Report Child Devices DCE command to return a list of devices found, and their equivalent device data for port mappings, device templates to use etc.. If the system already sees that these devices exist, they are left alone. If a device doesn't appear on that list, it is deleted from the children.


My log shows it detects the device in question.
Code: [Select]
(***):InsteonID:14.26.57seems to exist in child databases
(***):CDB:{"0F.63.82"=>["****************"], "14.26.57"=>["****************"], "13.7B.60"=>["000B1801********", "E201142657050391"]}
From Device:13.7B.60
Not the last record
Record In Use
I am a Controller of 14.26.57 Group:1^[[37m

Within the code #756 Child Devices there is a device defined for the Venstar Thermostat I have.

Code: [Select]
when 0x05 # Climate Control
case $childdatabases[insteonID][0][2..3].hex
when 0x00; @work += 'Broan SMSC080 Exhaust Fan'
when 0x01; @work += 'Simplehomenet EZTherm'
when 0x02; @work += 'Broan SMSC110 Exhaust Fan'
when 0x03; @work += 'Venstar RF Thermostat Module'
when 0x04; @work += 'Simplehomenet EZStat Thermostat'

Is there another place I need to add the code?  Do I need to add a Template specifically named Venstar RF Thermostat Module?



Users / Re: Insteon 2412N Addition?
« on: November 14, 2011, 07:22:35 pm »
Ok I think I have made a bit more headway.  I added #163 assign to parents room to my template and now it can automatically see children in the Insteon database and displays them in the log for that device.  My problem now is creating children and keeping them.  I create a child for the thermostat and give it the appropriate address, but when I reload the router the child disappears. 

Am I missing a step.



Users / Re: Need help understanding tv capture cards choosing one.
« on: November 10, 2011, 08:18:50 pm »
I am new to Linuxmce, But I have been using Mythtv for years.  I like using the HDHomerun device.  It plugs directly into your network and currently has one or two tuners depending on what you choose. I am not sure if it is plug and play with LinuxMCE, but I will be researching that as soon as I can get my Insteon gear working.


Users / Re: Insteon 2412N Addition?
« on: November 10, 2011, 05:25:01 pm »
I am using the code from template 1932.  It was setup originally for a serial device, but I do not see anything in the code that marries it to serial.  I was able to get an ACK from the Smartlinc last night, LinuxMCE is issueing keep allives. Now I just have to figure out the problem I fear it may be in the code.  I get the following error when I issue a command from the command line.

 /usr/pluto/bin/MessageSend localhost -r 0 53 1 193 97 ""
RESP: Delivery failed



Users / Re: Insteon 2412N Addition?
« on: November 10, 2011, 12:31:31 am »
Ok.  A bit more progress.  I am able to get it to send a command, and I can see it in wireshark. I have some more questions.
Wireshark shows a SYN, but no ACK. Is there a way to change the timeout on the SYN?

Here is a bit of my log...

01   11/09/11 14:42:18.001      Ruby was unable to handle the command in reasonable amount of time <0xb5814b90>
05   11/09/11 14:42:20.206      Socket::ReceiveData 0x9b2f658 failed, bytes left 0 start: 42940000 1: 0 1b: 0 2: 0 2b: 0 m_Socket: 8 Command_Impl1 Dev #52 <0xb5814b90>
05   11/09/11 14:42:20.207      Socket::ReceiveString2 ReceiveData failed m_Socket: -1 Command_Impl1 Dev #52 <0xb5814b90>
01   11/09/11 14:42:20.207      Receive string failed in HandleRequestSocket 18:ReceiveData failed Command_Impl1 Dev #52 <0xb5814b90>
05   11/09/11 14:42:20.207      Dumping 1 locks <0xb5814b90>
05   11/09/11 14:42:20.207      finished check for exceptions <0xb5814b90>
05   11/09/11 14:42:20.207      OL: (0x9b2f7a4) (>75) MessageQueue Command_Impl.cpp l:822 time: 4:00:00p (1320878540 s) thread: 3053542



Users / Re: Insteon 2412N Addition?
« on: November 09, 2011, 09:30:03 pm »
Ok I did some reading on GSD, created a template, but I have some questions.  According to the wiki If I am adding an Ethernet connection I need to add " TCP Port (#69) to the device data."  My device requires a port number as well.  So my questions are: 
1. Does the TCP Port #69 represent a port number, or the IP address? 
2.If it is the Port# do I need to add the IP address separately or use the default field from when the device is created? 

My current config Shows TCP port #69 as the port number 9761, and IP address is populated in the default IP field that was created with the device.  Am I missing something?  I have run a wire shark and the data does not hit the network. 

Is there a way to look at the commands as they are being sent by LinuxMCE through the command line?



Users / Re: Insteon 2412N Addition?
« on: November 08, 2011, 10:00:24 pm »
Thanks.  I will take a look at the wiki.  I am hoping I can use the existing PLM template.  The only difference is my device uses TCP/IP instead of a serial or usb connection.  The PLM commands are the same.


Users / Re: Insteon 2412N Addition?
« on: November 08, 2011, 05:40:34 pm »
I have  found some ruby code as well that will communicate with the Smartlinc.  I am posting it for reference as well. It is not my code and I do not remember where I found it. Maybe this will help, or maybe someone can tell me how to get it to work.


require 'socket'
require 'fcntl'
require 'pp'

def hexlify(msg)
    msg.split("").collect { |c| c[0].to_s(16) }.join

def unhexlify(msg)
    msg.scan(/../).collect { |c| c.to_i(16).chr }.join

class ChatClient

    def initialize
        @client = nil

    def start(hostname=HOST, port=PORT)

        puts "client connecting to server #{hostname} @ #{port}"
        @client =, port)
        reading =

        while true
            ready =
            readable = ready[0]

            readable.each do |socket|
                if socket == @client
                    buf = socket.recv_nonblock(1024)
                    if buf.length == 0
                        puts "omg, the server is dead, bye!"
                        puts "Received Response: #{hexlify(buf)}"
                    buf =
                    if buf.length > 1
                        @client.send(unhexlify(buf), 0)


HOST = ''
PORT = 9761

client =

Users / Insteon 2412N Addition?
« on: November 08, 2011, 05:06:07 pm »
I am new to Linuxmce, and the home automation scene, but I have an Smartlinc 2412N.  I have learned that is has a raw port open 9761 that allows for PLM much like the USB or serial versions.  I am wondering if anyone can point me in the right direction on getting this to work.  I noticed that LinuxMCE uses Python, I am not much of a developer, but I am sure I can learn.  I found some code that allows for communication at  github(dot)com/zonyl/pyinsteon.  I have also written some perl code that works with the raw plm as well posted below.  Any advise or help is greatly appreciated.

use IO::Socket;

$socket = new IO::Socket::INET (
                                PeerAddr  => '', #SetAddress of Smartlinc
                                PeerPort  =>  9761,       #Defaultport number of smartlinc
                                Proto => 'tcp',
or die "Couldn't connect to Server\n";

while (1)

#used to test input to smartlinc User friendly loop
      print "Type Command for Smartlinc( Type x to Exit):";

      $input_data = <STDIN>;
      $send_data_hex = pack("H*", $input_data), "\n";

      if ($input_data ne 'x' and $input_data ne 'X')
          close $socket;
#receives and Prints smart linc return response in ASCII
  print "Smartlinc Replied:", unpack("H*", $recv_data), "\n" ;



Pages: 1 [2]