[SOLVED] USB Insteon PLM port not connecting

And I suggest you upgrade to the latest OH 1.8 from the cloudbees nightly build. I don’t think there is any change in syntax for your config files. but maybe there are some fixes that will help. Another long shot.

I upgraded to the 1.8 runtime files and added all of the /addons/ to see if that made a difference. After, I deleted several addons which were throwing errors (ie mogodb), but the good news is that I now have the libNRJavaSerial components. At first insteon was hanging at “activating binding”, but after I removed some of the aforementioned /addons/ that resolved. However, it still will not bind to ttyUSB0. I then changed the /etc/init.d/openhab config ARG to /dev/ttyAMA0, and the openhab.cfg insteon port value as well, but that resulted in the same No Port Found error as USB0.

pi@GLaDOS /var/log/openhab $ sudo pmap 7823|grep -i serial
aa124000     44K r-x--  /tmp/libNRJavaSerialv6_HF_openhab_0/libNRJavaSerialv6_HF.so
aa12f000     32K -----  /tmp/libNRJavaSerialv6_HF_openhab_0/libNRJavaSerialv6_HF.so
aa137000      4K rw---  /tmp/libNRJavaSerialv6_HF_openhab_0/libNRJavaSerialv6_HF.so

I’m thinking I’ll just try an x86 Linux install and see if it’s the Pi at fault here.

On that last experiment, did you also make a symlink /dev/ttyAMA0 -> /dev/ttyUSB0?
Just to make sure it’s not some simple oversight.
Seems like you got really close now, just a bit missing.

But yes, if you have an x86 box available that one should work for sure. All my stuff is running on x86.

Bernd

Sorry for the delay, I had to resurrect the old machine to get the command line option I used.

After compiling my own copy of libNRJavaSerial.so I added this line to the java $prog_args in the startup script:

-DlibNRJavaSerial.userlib=/opt/nrjs/libNRJavaSerial.so \

where /opt/nrjs was just where I had the library sitting to be used.

Like I said, not sure this will help, but in my case it was a version mismatch with what was available to me, and what was being requested by OpenHAB.

Fixed via chmod 666 for /dev/ttyUSB0.

ARE YOU KIDDING ME??? After all that difficult trouble shooting such a simple solution???
How could the Insteon Terminal work? That should have suffered from the same permissions problem!

Oh well, glad you got it working at last on a raspberry pi! Congrats :smile:

Bernd

Yeah, I’m not sure why it worked for one and not the other, both are running as Sudo as well. But I wasn’t getting the java libraries previously, so it was probably a combination of issues.

I’m having this same problem but chmod 666 /dev/ttyUSB0
doesn’t fix mine.

What’s weird is that I can send commands to the insteonplm in python via the following, which uses the same /dev/ttyUSB0 syntax:

# Note: Set PLM to sync mode first followed by device sync
# Commands list: http://www.madreporite.com/insteon/commands.htm

import serial, binascii

ser = serial.Serial(port='/dev/ttyUSB0',
                    baudrate=19200,
                    parity=serial.PARITY_NONE,
                    stopbits=serial.STOPBITS_ONE,
                    bytesize=serial.EIGHTBITS,
                    timeout=0
                    )

ser.flushInput()
ser.flushOutput()
 
message = bytearray()
message.append(0x02) # INSTEON_PLM_START
message.append(0x62) # INSTEON_STANDARD_MESSAGE
 
# device id
message.append(0x1F) # Addr 1
message.append(0x73) # Addr 2
message.append(0x3E) # Addr 3
 
message.append(0x0F) # INSTEON_MESSAGE_FLAG
message.append(0x12) # 0x12 = FAST ON, 0x14 = FAST OFF, 0x19 = STATUS
message.append(0x10) # 0x00 = 0%, 0xFF = 100%
print(binascii.b2a_hex(message))
ser.write(message)
ser.flush()
ser.close()

What happens if you add the user that’s running openhab to the dialout group? That’s what I had to do to make it work for me.

crw-rw---- 1 root dialout 188, 0 Dec 21 17:33 /dev/ttyUSB0

added my user to dialout group but still no good. Thx for responding though!

Still Not working.
I get security is a necessary evil but I spend 25-50% of my time on fixing security issues - it’s a real productivity crusher.
Not sure this is security though…

My problem was that, on my opehab 2 system, I had this in my insteonplm.cfg:

port_0=/dev/ttyUSB0 (Linux, with usb based PLM modem)

instead of just this:

port_0=/dev/ttyUSB0

It isn’t easy being new to linux, openhab, and Raspberry Pi.
Thanks again.

3 Likes

You are not the first one to trip over this. I submitted pull request #3590 to remove this source of confusion:

1 Like

Wow, that was a waste of a day to find this post. Something so simple - but just got overlooked. That PL was never accepted i guess.:rage:

Sorry for the time you lost!

The PR was merged Dec 2015. What version of openhab are you running, what platform? Installed from what package?

I’m running beta oh2 from the apt repos. Just did a full fresh install to make sure that was the only issue. It wasn’t, but it was my main problem. I also had to add the openhab user to the dialout group. But, now it’s working.

Something so frustrating was so simple to fix. And such a dumb issue. I think most are just use to un-commenting a line to have it work. Lesson learned.

I hear you @tracstarr . I was in the same boat when I moved to OH2.
If you are using or planning on using a raspberry pi with openhab 2 I HIGHLY recommend using OpenHABIAN:

The author @ThomDietrich has applied so many fixes (linux security, linux USB configuration (ie. OpenHAB user added to dialout), SMB shares for remote configuration/file sharing/Designer, on and on) to the RPI install/config “gotchas” that it give you back 90% of your weekends.

I was considering throwing in the OpenHAB towel until I found OpenHABian

1 Like

Thanks @jtmoderate876, that’s rewarding to hear.

On a side not, I also try to keep the documentation up to speed with the mentioned “gotchas”. The whole dialout dilemma is for example documented here for two weeks now: http://docs.openhab.org/installation/linux.html#privileges-for-common-peripherals

Thanks for pointing that out in the documentation. For myself anyway I would have never found that. There needs to be some sort of linking or tagging that can bring users there from related issues. Just my 2c.

I’m afraid I don’t know what you mean. If you explain, maybe we can do something about that…