[SOLVED] Cannot get Insteon USB PLM to communicate

Hardware: Intel Q9650 on Dell 0G261D motherboard
OS: Ubuntu 18.04.1 LTS
JRE: OpenJDK 1.8.0_192
OpenHAB 2.4

There are a lot of threads out there on this issue but none have solved my issue. In addition to my attempted installation of the Insteon PLM I have a zwave controller installed and working fine, and this is the only other USB hardware installed.

My init.py settings are (after eliminating the commented out noise):

from console_commands import *
from keypad2487S import *
from thermostat2441TH import *
from modem2413U import *
from switch2477S import *
from dimmer2477D import *
from ledBulb2672 import *

def connectToMyHub():
“”“connects to my insteon hub modem at pre-defined address”""
connectToHub(“insteonhub”, 25105, 1000, “MyHubLogin”, “MyHubPassword”)

#If you are using a legacy hub (pre-2014 hub)

def connectToMyLegacyHub():
“”“connects to my insteon hub modem at pre-defined address”""
connectToLegacyHub(“insteonhub”, 9761) # syntax is address, port (generally 9761)

def connectToMySerial():
“”“connects to my modem on pre-defined serial port”""

connectToSerial("/dev/ttyUSB0")

connectToMy…() function

connectToMySerial()

modem = Modem2413U(“house_plm”, “48.EF.F9”)
wall_switch = Switch2635(“wall_switch”, “36.6B.50”)

Within my insteonplm.cfg file in /services is:
port_0=/dev/ttyUSB0
poll_interval=300000
refresh=60000

I now have openhab log files chock full of the following:

2018-12-29 22:15:21.814 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-29 22:16:21.815 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-29 22:17:21.815 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0

I’m wondering if I have a port conflict. I’ve been over every setting I can find online and everything seems ok…

So you are posting log files from Openhab, but you posted a config file from Insteon-Terminal. You realize these have nothing to do with one another right? Insteon Terminal is a config tool you can use to do device linking and set device config values. This is NOT the plugin for OH.

Can you post more of your logs? I’m using a PLM and here’s what I see in my logs after startup:

2018-12-20 17:16:28.276 [INFO ] [nding.insteonplm.InsteonPLMActivator] - Insteon PLM binding has been started.
2018-12-20 17:16:28.851 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - dead device timeout set to 3000s
2018-12-20 17:16:28.886 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: port_0 -> /dev/ttyUSB0
2018-12-20 17:16:28.889 [INFO ] [b.core.service.AbstractActiveService] - InsteonPLM has been started
2018-12-20 17:16:28.965 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-20 17:16:29.077 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: service.pid -> org.openhab.insteonplm
2018-12-20 17:16:29.853 [INFO ] [onplm.internal.driver.SerialIOStream] - successfully opened port /dev/ttyUSB0
2018-12-20 17:16:37.436 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - modem database has 62 entries!
2018-12-20 17:16:37.463 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - device 23.9F.C9 found in the modem database and the modem controls groups [0xFE] and responds to groups [0x01].
2018-12-20 17:16:37.504 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - device 24.33.F7 found in the modem database and the modem controls groups [0xFE] and responds to groups [0x01].

The only thing I have in my config file for InsteonPLM is:

port_0=/dev/ttyUSB0

Please also post your .items file for your insteon devices.

Here are post-reboot logs, with non-Insteon items culled:

2018-12-30 09:03:56.406 [INFO ] [nding.insteonplm.InsteonPLMActivator] - Insteon PLM binding has been started.
2018-12-30 09:03:56.497 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - refresh interval set to 60s
2018-12-30 09:03:56.498 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - poll interval set to 300000 per config file
2018-12-30 09:03:56.498 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - dead device timeout set to 3000s
2018-12-30 09:03:56.505 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: poll_interval -> 300000
2018-12-30 09:03:56.505 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: port_0 -> /dev/ttyUSB0
2018-12-30 09:03:56.510 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: refresh -> 60000
2018-12-30 09:03:56.510 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: service.pid -> org.openhab.insteonplm
2018-12-30 09:03:56.512 [INFO ] [b.core.service.AbstractActiveService] - InsteonPLM has been started
2018-12-30 09:03:56.514 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 09:03:56.549 [INFO ] [onplm.internal.driver.SerialIOStream] - successfully opened port /dev/ttyUSB0
2018-12-30 09:04:56.515 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0

I don’t have anything in an .items file currently. Do I need something there, and if so what is the format?

A few minutes later, there were a few more log entries:

2018-12-30 09:04:56.515 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 09:05:56.515 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 09:05:56.578 [WARN ] [onplm.internal.device.ModemDBBuilder] - modem database download unsuccessful, restarting!
2018-12-30 09:06:56.516 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 09:07:56.516 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 09:07:56.578 [WARN ] [onplm.internal.device.ModemDBBuilder] - modem database download unsuccessful, restarting!
2018-12-30 09:08:56.517 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 09:09:56.518 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 09:09:56.578 [WARN ] [onplm.internal.device.ModemDBBuilder] - modem database download unsuccessful, restarting!
2018-12-30 09:10:56.518 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0

It looks like openhab is correctly communicating with the PLM. It appears you haven’t linked any devices to the PLM yet.

Shut down openhab when trying to use insteon terminal. Both can’t access it at the same time.

You are correct, I haven’t linked any devices yet. That’s my next challenge, I was working last night to get insteon terminal loaded and am running into issues with that LOL. It goes ok until I go to run it via ./insteon-terminal and then there is unhappiness. I sense there is another thread pending…

If you think it looks good otherwise I’ll concentrate on the Insteon-terminal load and get some devices linked!

Dave -

The init.py file you described in your original post is the config file for Insteon-Terminal. That has nothing to do with Openhab or the InsteonPLM plugin for Openhab. Insteon-Terminal is a stand alone rogram used to configure Insteon devices. It is referenced on the OH InsteonPLM doc page as it was written by the same guy as who wrote the OH InsteonPLM OH plugin, but is a a completely separate program.

Your .items file is where you define all of your items. I’m a little surprised you don’t have items there already for your zwave devices.

Here is an example form my .items file for an insteon device as well as a zwave device

Dimmer  livingroom  "Livingroom Lamps [%d %%]" {insteonplm="22.E2.64:F00.00.01#dimmer"}
Contact frontdoorSensor  "Front Door[MAP(contact.map):%s]" {channel="zwave:device:ddbf0ba4:node4:sensor_door"}

Oh - you haven’t even physically linked any devices to your PLM yet… Please note you do not need Insteon-Terminal to do this. You can use it to do more advanced things, but you can do the normal linking via the device buttons.

First press/hold (until it beeps) the link button on your PLM, then do the same on your device.

Second, press/hold (until it beeps) the link button on your device, then do the same on your PLM.

Once you have done both of these, your device is linked to your PLM and your PLM is linked to your device.

Now you can add this device to your .items file and operate it from OH.

Yes, just make sure you don’t have the InsteonPLM OpenHAB binding trying to use .dev/ttyUSB0 at the same time you are configuring it with insteon terminal

Tom,

Thank you for your last! I was sure I had to go through insteon-terminal. I have them linked, and there are some positive comments in the logs but I still need to create the .items entries. I was scrambling to find the appropriate feature codes for the various devices (I’m testing with a 2635-222 wall switch). I can’t find a page that lists what they should be for each kind of device (your dimmer example is F00.00.01#dimmer). It’s not in the device manual either, is there a web page out there containing this???

Check out https://www.openhab.org/addons/bindings/insteonplm1/#insteon-devices

The 2635-222 is listed as F00.00.1B and is an on/off module.

I think I’m close. One last log entry; what does this mean? it seems to be working otherwise:

2018-12-30 09:58:32.757 [WARN ] [g.insteonplm.InsteonPLMActiveBinding] - device 36.6B.50 not found in the modem database. Did you forget to link?

You must have added it to an .items file. After you link, you need to restart the binding.

Hmm. Thought I was in the clear. I unistalled/reinstalled the Insteon binding (good as a restart?) but that last pesky warning is still there.
I set up a test of my Insteon switch, just a simple cron rule. OpenHAB thinks it’s changing the state of the switch and it shows as such in the logs, but the switch (named Water_Circulator) doesn’t change state:

2018-12-30 12:56:00.080 [ome.event.ItemCommandEvent] - Item 'Water_Circulator' received command ON

So OpenHAB seems happy, but there is a communication error somewhere.

I rebooted, and here is the complete openhab log entry following:

2018-12-30 12:54:03.099 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'astro.things'
2018-12-30 12:54:03.438 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:sun:home
2018-12-30 12:54:03.465 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:sun:home every 300 seconds
2018-12-30 12:54:03.507 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:moon:home
2018-12-30 12:54:03.520 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:moon:home every 300 seconds
2018-12-30 12:54:03.648 [INFO ] [ing.zwave.handler.ZWaveSerialHandler] - Connecting to serial port '/dev/ttyACM0'
2018-12-30 12:54:03.753 [INFO ] [ing.zwave.handler.ZWaveSerialHandler] - Serial port is initialized
2018-12-30 12:54:03.763 [INFO ] [ve.internal.protocol.ZWaveController] - Starting ZWave controller
2018-12-30 12:54:03.763 [INFO ] [ve.internal.protocol.ZWaveController] - ZWave timeout is set to 5000ms. Soft reset is false.
2018-12-30 12:54:03.897 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.1.225:8080
2018-12-30 12:54:03.897 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.1.225:8443
2018-12-30 12:54:04.165 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2018-12-30 12:54:04.228 [INFO ] [nding.insteonplm.InsteonPLMActivator] - Insteon PLM binding has been started.
2018-12-30 12:54:04.330 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - refresh interval set to 60s
2018-12-30 12:54:04.330 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - poll interval set to 300000 per config file
2018-12-30 12:54:04.334 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - dead device timeout set to 3000s
2018-12-30 12:54:04.340 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: poll_interval -> 300000
2018-12-30 12:54:04.340 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: port_0 -> /dev/ttyUSB0
2018-12-30 12:54:04.346 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: refresh -> 60000
2018-12-30 12:54:04.346 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - config: service.pid -> org.openhab.insteonplm
2018-12-30 12:54:04.356 [INFO ] [b.core.service.AbstractActiveService] - InsteonPLM has been started
2018-12-30 12:54:04.360 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   0 configured,   0 polling, msgs received:     0
2018-12-30 12:54:04.402 [INFO ] [onplm.internal.driver.SerialIOStream] - successfully opened port /dev/ttyUSB0
2018-12-30 12:54:04.509 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - modem database has 1 entries!
2018-12-30 12:54:04.510 [WARN ] [g.insteonplm.InsteonPLMActiveBinding] - device 36.6B.50 not found in the modem database. Did you forget to link?
2018-12-30 12:54:05.583 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:moon:home
2018-12-30 12:54:05.589 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:moon:home every 300 seconds

These entries show in the log as well:

2018-12-30 12:55:04.360 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - devices:   1 configured,   0 polling, msgs received:     0
2018-12-30 12:56:00.084 [INFO ] [g.insteonplm.InsteonPLMActiveBinding] - Item: Water_Circulator got command ON
2018-12-30 12:56:00.087 [INFO ] [onplm.internal.device.CommandHandler] - LightOnOffCommandHandler: sent msg to switch 36.6B.50 to on
2018-12-30 12:56:00.088 [INFO ] [onplm.internal.device.CommandHandler] - Sending message to 36.6B.50
2018-12-30 12:56:00.408 [INFO ] [onplm.internal.device.MessageHandler] - LightOnSwitchHandler: device 36.6B.50 was switched on REGULAR.

But again, no actual change in state of the Insteon switch

When you physically link devices, that link gets stored in the non-volatile memory of the PLM and the device. So, then the openhab starts it downloads the PLM’s link database. So, what this is saying is that you have device 36.6B.50 in your .items file, but it is not in the PLM’s link database.

Looks like you haven’t actually physically linked the devices. Did you do the cross linking I described above?

The cross-linking seemed to work. I got the expected beeps and such. If I wanted to try again, would I have to do a hard reset of the device (switch)?

I do not have an items entry for the PLM itself; is that necessary? It would seem to be the only thing missing.