Device_Item/X10_Interface worthless

View: New views
1 Messages — Rating Filter:   Alert me  

Device_Item/X10_Interface worthless

by dmark :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Used to be pretty simple:  X10_Items as Serial_Items, Serial_Items are generic items.  Then lunkhead came along.  Now X10_Items are X10_Interfaces, which are Device_Items, which are (you guessed it) generic items.  And there is also something called Dummy_Interface (how appropriate.)  From the top of that file:

# This is the Dummy_Interface class and is used as a placeholder interface.
# It's entire job is to warn users that a real, working interface couldn't
# be found.
#
# If you see Dummy_Interface warnings in your log, then look back to when the Dummy_Interface
# was created and you'll see for which id, state and interface misterhouse couldn't find and active
# interface

I've looked at all three of these modules (X10_Interface, Device_Item and Dummy_Interface) and there is no justification for them at all.  That is being kind.  More pointedly, he made a big mess out of a little mess.  You know you are in trouble with comments like these.  "It's entire job is to warn users, etc."  Warn users?  What users are going to have a clue about Dummy_Interface, dummy?

Used to be you could reference $self->{interface} and get back a string that told you all you needed to know.  Now there is $self->{x10_interface} and $self->{device_name} muddying the waters.

                #print "self is $self\n";
        #print "processData interface is ".$self->{interface}."\n";
        #print "processData device_name is ".$self->{device_name}."\n";
        #print "processData X10Interface is ".$self->{X10Interface}."\n";

What a looney-tunes.  How about adding a "cm15" token to the extant interfaces, genius?

I never ran this version, but I have heard grumblings from other developers about broken X10 code since these packages were dumped into MH (on the eve of a release no less!)  Regardless, my CM15a code will still work.  Of course, they will never add it to the test version as it clearly illustrates there was no need for all of this extra mess.  The CM15a interfaces with MH in the exact way that all other X10 controllers interface with MH.  Anything else is madness.  Insteon items as a justification?  Hardly.  For one, that module is far from completed:

$id = "Z$id"; # This is just temporary, until I write a proper set routine

And oh BTW, that module uses a serial port, which further underscores the futility of this changeover.