X10 Ackis Module

From Makers Local 256
Jump to: navigation, search

Ver1 Installed at Make Shop
Born On:
16:52, 21 January 2010 (CST)
Last Updated:
18:00, 22 January 2017 (CDT)


Latest Version of Source

X10 allows users to add remote AC power management to any project.
The X10 Ackis Module provides an IRC (and other Ackis clients) interface for any user to control an X10 module.

This could include controlling lights, turning on\off hydroponic systems, turning on\off air conditioning window units, hard cycling machines, etc.

This system is currently in place at Makers Local 256 as of 2/10/10. It is not necessary to register an X10 module in order to control it with Ackis. However, if you would like to password protect your module, please contact omegix@gmail.com

For quick information on how to use the X10 Ackis interface, type "!help" in a channel where an Ackis instance is running, such as the 'Feedaykin' bot in #makerslocal on Freenode.

Change log

X10_Ackis_Module/Legacy Versions

Version 2

  • Now has the ability to allow IRC users to alias the modules directly instead of submitting a request to the administrator of the config file.
  • Now has the ability to give modules aliases (ex: "!PartyballON" vs. "!ModuleON A3")
  • Now utilizes the heyu program vs. the bottlerocket program


  • X10 cm11a (at Omegix' Home for development) (Valued at $30)
  • X10 Firecracker (in ML256 server closet) (Valued at $6.92)
  • X10 RF reciever (in ML256 Main Room) (Values at $10.00)
  • Machine to host module (in ML256 server closet)
  • Ackis Server (in ML256 server closet)
  • Ackis Module (this is what was created)
  • X10 Flourescent Switch (jeff has) (Valued at $11)


Software Resources

Hardware Resources


  • Callbacks to ackis have been added allowing users to access the module aliasing capabilities from IRC. Currently anyone can overwrite any existing module, circumventing the password protection feature. That will be next to fix. Omegix 00:02, 16 June 2010 (CDT)
  • Aliasing is now build into mod_X10. Ability for user to input aliasing without the assistance of an admin is next. The functions are written, now I just have to make the available by putting in some callbacks to ackis. Omegix 19:31, 11 June 2010 (CDT)
  • Working on Aliasing for modules. Realized that heyu requires that Aliases be loaded to a config file, there's no already existing command for adding a new alias to the Heyu Config file. May be easier to implement my own Aliasing routine in mod_X10. Omegix 20:19, 14 April 2010 (CDT)
  • Have authored a new version (V2) that utilizes the heyu program rather than the bottlerocket program. Omegix 22:26, 13 April 2010 (CDT)
  • Have mod_X10 system working at Makers Local 256. Omegix 21:16, 10 February 2010 (CST)
  • Realized remote ackis module wasn't implemented fully. Am having trouble getting ackis_core to accept the authentication credentials. Omegix 21:41, 8 February 2010 (CST)
  • Changed module access from an ACL to password protection. Omegix 10:29, 5 February 2010 (CST)
  • Decided to add some potential functionality to Version 1. Can comment out if it's not ready by the time the swtich arrives. Tried to implement an ACL for individual modules. Startingout by hardcoding the ACL. the getVariable ackisComponent function is causing my method to return early. Omegix 23:46, 31 January 2010 (CST)
  • Have ordered flourescent light switch for $11. Spacefelix is going to help me install it when it arrives. Omegix 10:44, 29 January 2010 (CST)
  • Resolved !help issues (client_dirc needed a recompile) - Jan 29th
  • Functionality of Version 1 is complete (libackis needed some code fixed for 64bit systems). Need to resolve issues with !help not responding. Omegix 17:35, 28 January 2010 (CST)
  • Got the Ackis Core, and IRC client up and running. Currently the bot\module can turn on or off an X10 hardware module... once. The core is sending the module the triggers correctly, need to figure out why can't process the trigger more than once. Omegix 23:58, 26 January 2010 (CST)
  • Ran into a strange dsss build error. Kinsey found an unterminated string (no end quote). For some reason the compiler didn't report it. Omegix 10:31, 26 January 2010 (CST)
  • I've downloaded bottlerocket and got it working with my X10 system. Bottlerocket seems to loose track of the firecracker\serial port after a reboot of the computer.
  • Started How_to_write_D_modules
  • Kinsey helped me setup a D programming environment. I have D module examples to work with.

Future Functionality

  • Ensure that users cannot overwrite password protected modules
  • If module does not have a password set, return "Command Sent" or something other than "Password Accepted."
    • Perhaps include the target module in the response. "Password Accepted for A3" "Command Sent to Module A3"
  • Allow authenticated user to disable password requirement for an X10 module
  • Allow user to retrieve a full list of registered modules, so that no one adds a module to the system that already exists
  • If user enters in bad request, have Ackis respond with error message from shell
  • Support for Motion detectors. Could use this as a shop occupancy indicator of some sort.
  • Support for pulling module status (Ex: Is Module On / Off?)
    • According to this page the firecracker hardware cannot receive data, it is transmit only. Will need to upgrade to PowerHome (not ActiveHome) hardware if this is a desired capability.
  • [11:27] <brimstone> add a -c option to pass the config file path
  • [11:27] <brimstone> add a -f option to say in the foreground and not fork
  • [11:28] <brimstone> and -d to increase debug with each instance
  • [11:28] <brimstone> -d for one, -dd for two, etc
  • [11:28] <brimstone> and if debug > 0, then don't fork


  • I have posted my collection of X10 equipment here if anyone needs an X10 device: X10 Equipment