Trouble getting started with FanLinc

56 views
Skip to first unread message

Jeff in NYC

unread,
Apr 28, 2019, 10:44:08 AM4/28/19
to insteon-terminal
Hi.  I'm new to this... but my ultimate goals is to be able to make my FanLinc work with my HomeBridge.  All of this is done on a Raspberry Pi.

When I run Insteon Terminal, I get the following results:

Insteon Terminal
Connecting
Connected
Failed to initialize python interpreter:
Traceback (most recent call last):
   File "<string>", line 1, in <module>
   File "./init.py", line 45, in <module>
      fan = falling("ceiling_fan", "14.9F.E6")
NameError: name 'fanlinc' is not defined


I have also tried "FanLinc" with the camel casing, but same result (other than the cap letters)

My init.py file is edited as follows.  By the way, I have a 2413U modem I am using:

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

#
# if you are using a hub, replace login and password below with your
# hub login and password. Note: this is not the email address and password to
# the insteon web site, but the login/password on the back of the hub
#

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")

#
# uncomment correct line, depending on if you have a PLM modem or a hub (or a legacy hub)
# to automatically connect on startup. You will also have to change the info in the corresponding connectToMy...() function
#
connectToMySerial()
#connectToMyHub()
#connectToMyLegacyHub()


#
# Now define the devices you want to work with. For a list of
# available devices, look at the source code in the "python" directory
#
#
modem = Modem2413U("test modem", "13.AD.EC")
fan = fanlinc("ceiling_fan", "14.9F.E6")
# Example device definitions
# kp          = Keypad2487S("office_keypad", "30.0d.9f")
# th          = Thermostat2441TH("kitchen_thermostat", "32.f7.2c")
# modem       = Modem2413U("test_modem", "23.9b.65")
# closetLight = Switch2477S("closetLight", "25.65.d6")
# dimmer      = Dimmer2477D("dining_room_dinner", "20.ab.26")
# ledBulb = LEDBulb2672("ledBulb", "21.EB.DD");




Any help is welcomed!

bernd.p...@gmail.com

unread,
Apr 28, 2019, 2:06:16 PM4/28/19
to insteon-terminal
Try faking the device as a dimmer. I think that's what the OH1 binding does.

fan = Dimmer2477D("ceiling_fan", "14.9F.E6")

Then do
help(fan)
to see what commands it takes. I don't own a FanLinc, so I have no idea what works and what doesn't


For your reference, this is the OH1 binding entry for the fanlinc

<device productKey="F00.00.1C">
<model>2475F</model>
<description>FanLinc Module</description>
<feature name="lightdimmer">GenericDimmer</feature>
<feature name="fan">FanLincFan</feature>
<feature name="lastheardfrom">GenericLastTime</feature>
</device>

Jeff in NYC

unread,
Apr 28, 2019, 3:54:00 PM4/28/19
to insteon-terminal
Thanks.  So switching to the dimmer variant did seem to clear up the error.  And when I look at the modem database, I do see:

0000 ceiling_fan        14.9F.E6 RESP 10100010 group: 01 data: 00 00 ff
0000 ceiling_fan        14.9F.E6 CTRL 11100010 group: 01 data: 00 00 01

I did have to manually set up  the CTRL version.  The RESP was already in the database.  

However, I cannot seem to exercise any control over the device with the commands.  And when I send "fan.getStatus()" it returns:

sent msg: OUT:Cmd:0x62|toAddress:14.9F.E6|messageFlags:0x0F=DIRECT:3:3|command1:0x19|command2:0x00|
MsgHandler got no reply!


I'm definitely a bit out of my element, so not quite sure where to go next.  I appreciate the help!  Also, I'm not sure what to do with the binding info you gave me below. I suppose that's a secondary issue, but I don't know where to enter that.  When I install the insteon binding in openHAB, it just seems to disappear and it's not clear where to go for the next setup. But again, that's secondary.  Seems job 1 is getting the fan to respond in insteon-terminal.

Thanks!

On Sunday, April 28, 2019 at 10:44:08 AM UTC-4, Jeff in NYC wrote:

Jeff in NYC

unread,
Apr 28, 2019, 4:28:01 PM4/28/19
to insteon-terminal
Further, I went ahead and connected another actual dimmer, which shows not both as controller and responder.  And I'm not able to control that at all.  How do I confirm the modem is actually functioning properly to begin with? When I do "modem.getId(), I got "id got no reply!".

Think my issues may be a bit more complicated than just the syntax?


On Sunday, April 28, 2019 at 10:44:08 AM UTC-4, Jeff in NYC wrote:

bernd.p...@gmail.com

unread,
Apr 29, 2019, 10:16:40 AM4/29/19
to insteon-terminal
Did you link the dimmer by pressing the physical buttons as described for the KypadLinc 2487S here: https://github.com/pfrommerd/insteon-terminal ?
Reply all
Reply to author
Forward
0 new messages