Skip to content

Personal testing to support CM15Pro X10 controller using Java, eventually will became a proper project

License

Notifications You must be signed in to change notification settings

quirinobrizi/jax10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jax10

A tentative to support CM15Pro X10 controller using Java, eventually will became a proper project.

I'm following what's reported at:

Integrating (at least trying to...) everithing whit personal experiments.

Any suggestion is welcome!

Output from lsusb -v

Bus 003 Device 106: ID 0bc7:0001 X10 Wireless Technology, Inc. ActiveHome (ACPI-compliant)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0bc7 X10 Wireless Technology, Inc.
  idProduct          0x0001 ActiveHome (ACPI-compliant)
  bcdDevice            1.00
  iManufacturer           1 X10 Wireless Technology Inc
  iProduct                2 USB ActiveHome Interface
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         0 (Defined at Interface level)
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0001
  Self Powered
  • This is now working for turning on and off appliances when no house/unit selection payload is sent
  • This is now working on RaspberryPi

Example:

UsbControllerProvider provider = new UsbControllerProvider();
X10Controller controller = provider.provideControllerBy(ControllerProvider.Definition.CM15);
// List<X10Controller> controllers = provider.provideAllAvailableControllers();
// X10Controller x10Controller = controllers.get(0);
Address address = Address.forModule("A", "1");
Actuator actuator = x10Controller.actuator(address);
Boolean executed = actuator.on();

About

Personal testing to support CM15Pro X10 controller using Java, eventually will became a proper project

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages