{"id":18319603,"url":"https://github.com/clangen/autom8-legacy","last_synced_at":"2026-05-03T23:31:29.409Z","repository":{"id":147608560,"uuid":"66224538","full_name":"clangen/autom8-legacy","owner":"clangen","description":"control things in your house from your phone or computer","archived":false,"fork":false,"pushed_at":"2020-07-15T21:42:12.000Z","size":50043,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-29T13:46:00.501Z","etag":null,"topics":["android","home-automation","mochad","raspberry-pi","raspbian-jessie","x10"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clangen.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-21T22:58:00.000Z","updated_at":"2022-12-11T08:39:16.000Z","dependencies_parsed_at":"2023-05-31T18:45:59.521Z","dependency_job_id":null,"html_url":"https://github.com/clangen/autom8-legacy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/clangen/autom8-legacy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clangen%2Fautom8-legacy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clangen%2Fautom8-legacy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clangen%2Fautom8-legacy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clangen%2Fautom8-legacy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clangen","download_url":"https://codeload.github.com/clangen/autom8-legacy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clangen%2Fautom8-legacy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32588986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","home-automation","mochad","raspberry-pi","raspbian-jessie","x10"],"created_at":"2024-11-05T18:13:45.521Z","updated_at":"2026-05-03T23:31:29.393Z","avatar_url":"https://github.com/clangen.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# autom8 #\r\n\r\nTurn on lights and monitor security sensors in your house, from your phone.\r\n\r\nautom8 is a home automation client and server I've been hacking on since my friend gave me some spare parts in 2007.\r\n\r\nIt's really useful if you happen to own the supported hardware. \r\n\r\nThe autom8 server runs in both Windows and Linux. It runs best on a **Raspberry Pi with Raspbian Jessie**.\r\n\r\n## License ##\r\n\r\nStandard 3-clause BSD\r\n\r\n## Supported hardware ##\r\n\r\n* X10 CM15A device controller\r\n* WGL V572RF32 transceiver\r\n* LM456 lamp module\r\n* AM466 appliance module\r\n* DS10A door/window sensor\r\n* MS10A motion detector\r\n* And probably more generic x10 sensors... but untested\r\n\r\n## Screenshots ##\r\n\r\n![server ui](https://raw.githubusercontent.com/clangen/clangen-projects-static/master/autom8/screenshots/autom8_server_01.png)\r\n![web client ui](https://raw.githubusercontent.com/clangen/clangen-projects-static/master/autom8/screenshots/autom8_client_01.png)\r\n![android ui 01](https://raw.githubusercontent.com/clangen/clangen-projects-static/master/autom8/screenshots/autom8_android_01.png)\r\n![android ui 02](https://raw.githubusercontent.com/clangen/clangen-projects-static/master/autom8/screenshots/autom8_android_02.png)\r\n\r\n## Compiling ##\r\n\r\nTo compile you need to check out the sources. Make sure git is installed, then:\r\n\r\n* `cd ~/src/`\r\n* `git clone git@github.com:clangen/autom8.git`\r\n \r\n### autom8 client for Android ###\r\n\r\nThe autom8 Android app makes use of the [Retrolambda Gradle plugin](https://github.com/evant/gradle-retrolambda). Make make sure you have JDK 8 installed, and have set the JAVA8_HOME environment variable appropriately.\r\n\r\n1. Install Android Studio 2.0 or newer.\r\n2. Import the project\r\n3. Build and Run\r\n\r\n### autom8 server for Windows ###\r\n\r\nSystem diagram:\r\n\r\n    +--------------------------------------------------------+\r\n    |                   android client                       |\r\n    +--------------------------^-----------------------------+\r\n                               |\r\n    +--------------------------v-----------------------------+\r\n    |           main server (autom8_server_ui.exe)           |\r\n    +--------------------------^-----------------------------+\r\n                               |\r\n    +--------------------------v-----------------------------+\r\n    |                    libautom8.dll                       |\r\n    +----------^---------------------------------------------+\r\n               |\r\n    +----------v-----------+  +------------------------------+\r\n    |  ActiveHome Pro SDK  \u003c--\u003e     x10 cm15a controller     |\r\n    +----------------------+  +------------------------------+\r\n\r\nThe server listens on TCP port 7901 by default.\r\n\r\n#### Install these things: ####\r\n\r\n1. Visual Studio 2015 with the 32-bit C++ compiler (https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx)\r\n2. Boost 1.60 (https://sourceforge.net/projects/boost/files/boost-binaries/1.60.0/)\r\n3. QT 5.7 with 32-bit MSVC2015 libraries (http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe)\r\n4. Qt5Package VS Addin (https://visualstudiogallery.msdn.microsoft.com/c89ff880-8509-47a4-a262-e4fa07168408)\r\n5. ActiveHome Pro SDK (http://www.starbasestudios.net/ahk/ahsdk_install.exe)\r\n\r\nAll other dependencies are included in the source.\r\n\r\nThe Visual Studio Solution (autom8.sln) assumes the following directory structure:\r\n\r\n    ./\r\n    ../\r\n        autom8/\r\n            autom8.sln\r\n            ...\r\n        boost_1_60_0/\r\n            ...\r\n\r\nThat is: autom8 and boost should share the same parent directory.\r\n\r\n#### Compile ####\r\n\r\n1. Open \u003cautom8-src\u003e/autom8.sln\r\n2. Configure the Qt5Package Addin:\r\n    - Main Menu -\u003e QT -\u003e Qt Options\r\n    - Qt Version -\u003e Add\r\n        - Name: 5.7\r\n        - Path: d:\\path\\to\\Qt\\5.7\\msvc2015 \r\n3. Configure the QTDIR environment variable:\r\n    - Main Menu -\u003e View -\u003e Other Windows -\u003e Property Manager\r\n    - autom8_server_qt -\u003e Debug | Win32\r\n    - Double click QtConfig\r\n    - User Macros\r\n        - Name: QTDIR\r\n        - Value: d:\\path\\to\\Qt\\5.7\\msvc2015\r\n4. Compile and Run\r\n\r\n### autom8 Server for Linux (with web-based admin and client app) ###\r\n\r\nSystem diagram:\r\n\r\n    +--------------+  +--------------+  +--------------------+\r\n    |  web client  |  | admin client |  |   android client   |\r\n    +-------^------+  +-------^------+  +----------^---------+\r\n            |                 |                    |\r\n    +-------v-----------------v--------------------v---------+\r\n    |                main server (autom8.js)                 |\r\n    +---------------------------^----------------------------+\r\n                                |\r\n    +---------------------------v----------------------------+\r\n    |                   node.js / C bridge                   |\r\n    +---------------------------^----------------------------+\r\n                                |\r\n    +---------------------------v----------------------------+\r\n    |                      libautom8.so                      |\r\n    +--------^-----------------------------------------------+\r\n             |\r\n    +--------v-------+  +------------------------------------+\r\n    |     mochad     \u003c--\u003e        x10 cm15a controller        |\r\n    +----------------+  +------------------------------------+\r\n\r\nPorts the main server listens on by default:\r\n\r\n* native/android client: TCP/7901\r\n* web client: HTTPS/7902\r\n* admin client: HTTPS/7903\r\n\r\n#### Intall Debian Jessie ####\r\n\r\nautom8 works well on Debian Jessie.\r\n\r\n It works especially well on a **Raspberry Pi running Raspbian Jessie.**\r\n\r\n##### Install system-level dependencies: ####\r\n\r\n* sudo apt-get install build-essential clang llvm libboost-chrono-dev libboost-system-dev libboost-regex-dev libboost-date-time-dev libboost-filesystem-dev libboost-thread-dev libssl-dev libsqlite3-dev libusb-1.0-0-dev\r\n\r\n##### Install nodejs and grunt #####\r\n\r\nThe default apt-supplied version of nodejs is too old; **install version v4.4**.\r\n\r\n1. curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -\r\n2. sudo apt-get install -y nodejs\r\n3. sudo npm install -g grunt grunt-cli\r\n\r\n##### Install mochad (the X10 CM15A \"driver\"): #####\r\n\r\nhttps://sourceforge.net/projects/mochad/files/mochad-0.1.16.tar.gz/download\r\n\r\n1. tar xvfz mochad-0.1.16.tar.gz \r\n2. cd mochad-0.1.16\r\n3. ./configure\r\n4. make\r\n5. sudo make install\r\n\r\n##### Compile libautom8.so and server, and install #####\r\n\r\n1. cd ~/src/autom8\r\n2. ./bin/build\r\n3. cd build/\r\n4. sudo ./install -p /opt/autom8/\r\n\r\n**Note 1**: `bin/build` is a shell script that will do the following:\r\n\r\n1. Run `make` to compile `libautom8.so`\r\n2. Run `grunt` to compile the admin and web clients\r\n3. Stage all files required for distribution to `build/stage`\r\n4. Copy an `install` script to `build/`\r\n\r\n**Note 2**: `build/install` is a shell script that will:\r\n\r\n1. Create a new user as specified by the `-u` parameter (defaults to `autom8`). the autom8 server will be run as this user, and device configuration will be stored in the `~/user/.autom8`.\r\n2. Use npm to compile and install all required node dependencies for the app to run\r\n3. Install an init script called `autom8-server` to `/etc/init.d/` so you can run autom8 automatically at boot\r\n4. Copy (install) all required files to the path specified by the required `-p` parameter. `-p /opt/autom8` is recommended.\r\n\r\n##### Start the server #####\r\n\r\n* sudo /etc/init.d/autom8-server start\r\n\r\nIf you want to start the server on boot:\r\n\r\n* sudo update-rc.d autom8-server defaults 99\r\n\r\n## SSL ##\r\n\r\nIf you're using the autom8 Linux server then you can easily configure port numbers and SSL certificates.\r\n\r\nEdit **/opt/autom8/share/autom8/config.json** (note, you can also copy it to **/etc/autom8/config.json**, which will take precedence). Update the **cert** and **key** values to point towards your preferred credentials.\r\n\r\n## Troubleshooting ##\r\n\r\n* Q1: I'm having problems installing nodejs on my older Raspberry Pi\r\n* A1: It's probably because you need an ARM V6 build. Try to use this deb: http://node-arm.herokuapp.com/node_latest_armhf.deb\r\n* Q2: The server doesn't seem to be starting\r\n* A2: Tail the logs and try to start it again, hopefully you will get some useful diagnostic output. `tail -f /tmp/autom8.log`\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclangen%2Fautom8-legacy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclangen%2Fautom8-legacy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclangen%2Fautom8-legacy/lists"}