image::extra/images/logo-mycontroller.org_full.png[MyController.org, link="http://www.mycontroller.org"] :source-language: java, angularjs
ifdef::env-github[] image:https://badges.gitter.im/Join%20Chat.svg[link="https://gitter.im/mycontroller-org/mycontroller?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"] endif::[]
[link=https://travis-ci.org/mycontroller-org/mycontroller] Master: image:https://travis-ci.org/mycontroller-org/mycontroller.svg?branch=master["Build Status", link="https://travis-ci.org/mycontroller-org/mycontroller"] [link=https://travis-ci.org/mycontroller-org/mycontroller] Development: image:https://travis-ci.org/mycontroller-org/mycontroller.svg?branch=development["Build Status", link="https://travis-ci.org/mycontroller-org/mycontroller"]
====== Project website: http://www.mycontroller.org ====== Forum: http://forum.mycontroller.org
== About
MyController.org is an IoT automation controller for home, office or any place. Primarly this project was started to support http://www.mysensors.org/[MySensors]. Later it was expanded to support other networks also. MyController.org was designed to run with limited resources. For instance, it can run on the first generation Raspberry Pi.
== Localization MyController.org supports multiple languages. If you are interested in providing a translation for your native language, send a request via https://www.transifex.com/mycontrollerorg/multi-locale/[Transifex MyController.org locale project]
== System Requirements
MyController.org is a very lightweight server. Its resource requirements are modest:
===== Supported Platforms (tested) MyController.org is a Java-based application server. It can run on any platform where Java support is available.
== MyController and MySensors Setup
image::extra/images/MyController-MySensors-RF.png[MyController and MySensors setup.]
== Installation
====== Download(executable bundle),
====== Configuration
Extract the downloaded bundle in the directory where you want it to run. The configuration files are located in mycontroller/conf
File: mycontroller.properties
<1> You can change the default location and file name. This directory is used as a temporary location for operations such as backup, restore, etc.
<1> You can change the default location and file name. The database file will be stored with the extension .h2.db
. Do not add file extension to this property.
<1> Bind interface address. 0.0.0.0 means it will bind to all available interfaces.
<2> Enable/disable https. Only one protocol is supported at a time. true - https
, false - http
.
<3> Port number of http/https
to access MyController.org server.
<4> Web files location, no need to touch this one.
<5> If https
is enabled these fields are mandatory.
Default URL: https://<ip>:8443
(ex: https://localhost:8443
)
NOTE: Default username/password: admin/admin
Important: Change default mcc.web.ssl.keystore.file
and mcc.web.ssl.keystore.password
and https
protocol is
recommended
<1> Enable/disable builtin MQTT broker. By default it is enabled. true
- enabled, false
- disabled
<2> Bind interface address for the MQTT broker. By default it will bind to all available interfaces.
<3> MQTT broker port
<4> Websoicket port
<5> Internal use. no need to touch this one.
Logger configuration
Configuration File Name: logback.xml
Default log file location: logs/mycontroller.log
====== Start/Stop Server
Executable scripts are located in mycontroller/bin/
Linux
./start.sh
./stop.sh
Windows
start.bat
Ctrl+C
Other Platforms
java -Xms8m -Xmx256m -Dlogback.configurationFile=../conf/logback.xml -Dmc.conf.file=../conf/mycontroller.properties -cp "../lib/*" org.mycontroller.standalone.StartApp
=== Build locally To build locally use a docker maven. it contains all the dependent jar
Run the following command to build locally.
git clone https://github.com/mycontroller-org/mycontroller-v1-legacy.git
cd mycontroller-v1-legacy
docker run --rm --name mycontroller-v1-builder \
--volume $PWD:/source \
--workdir /source \
quay.io/mycontroller-org/maven:mycontroller-v1-builder ./scripts/maven.sh
==== Generated bundle
executable bundles will be available at dist/target
$ ls -alh dist/target/*.{tar.gz,zip}
-rw-r--r--. 1 jkandasa jkandasa 36M May 8 22:58 dist/target/mycontroller-dist-standalone-1.6.0-SNAPSHOT-bundle.tar.gz
-rw-r--r--. 1 jkandasa jkandasa 36M May 8 22:58 dist/target/mycontroller-dist-standalone-1.6.0-SNAPSHOT-bundle.zip