Project website: http://www.mycontroller.org
MyController.org is an IoT automation controller for home, office or any place. Primarly this project was started to support 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.
MyController.org supports multiple languages. If you are interested in providing a translation for your native language, send a request via Transifex MyController.org locale project
MyController.org is a very lightweight server. Its resource requirements are modest:
-
Disk : ~100 MB (may require more space, when we store metrics data for long time)
-
Memory(RAM) : 256 MB
-
Java : 1.8 or later
-
Visit MyController.org downloads page
Extract the downloaded bundle in the directory where you want it to run. The configuration files are located in mycontroller/conf
File: mycontroller.properties
Temporary files
mcc.tmp.location=tmp/ # (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.
Database Configuration
mcc.db.h2db.location=../conf/mycontroller # (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.
Web server configuration
mcc.web.bind.address=0.0.0.0 # (1)
mcc.web.enable.https=true # (2)
mcc.web.http.port=8443 # (3)
mcc.web.file.location=../www/ # (4)
mcc.web.ssl.keystore.file=../conf/keystore.jks # (5)
mcc.web.ssl.keystore.password=mycontroller # (5)
mcc.web.ssl.keystore.type=JKS # (5)
-
Bind interface address. 0.0.0.0 means it will bind to all available interfaces.
-
Enable/disable https. Only one protocol is supported at a time. true -
https
, false -http
. -
Port number of
http/https
to access MyController.org server. -
Web files location, no need to touch this one.
-
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
MQTT broker configuration
mcc.mqtt.broker.enable=true # (1)
mcc.mqtt.broker.bind.address=0.0.0.0 # (2)
mcc.mqtt.broker.port=1883 # (3)
mcc.mqtt.broker.websocket.port=7080 # (4)
mcc.mqtt.broker.persistent.store=../conf/moquette/moquette_store.mapdb # (5)
-
Enable/disable builtin MQTT broker. By default it is enabled.
true
- enabled,false
- disabled -
Bind interface address for the MQTT broker. By default it will bind to all available interfaces.
-
MQTT broker port
-
Websoicket port
-
Internal use. no need to touch this one.
Logger configuration
Configuration File Name: logback.xml
Default log file location: logs/mycontroller.log
Executable scripts are located in mycontroller/bin/
-
Linux
-
Start :
./start.sh
-
Stop :
./stop.sh
-
-
Windows
-
Start : Double click on
start.bat
-
Stop :
Ctrl+C
-
-
Other Platforms
java -Xms8m -Xmx256m -Dlogback.configurationFile=../conf/logback.xml -Dmc.conf.file=../conf/mycontroller.properties -cp "../lib/*" org.mycontroller.standalone.StartApp
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
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