Need help with mycontroller?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

135 Stars 86 Forks Apache License 2.0 1.1K Commits 66 Opened issues


The Open Source Controller

Services available


Need anything else?

Contributors list

image::extra/images/logo-mycontroller.org_full.png[, link=""] :source-language: java, angularjs

ifdef::env-github[] image:[link=""] endif::[]

[link=] Master: image:["Build Status", link=""] [link=] Development: image:["Build Status", link=""]

====== Project website: ====== Forum: ====== Want to try now?[Demo server] Authentication: demo/demo

== About 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. was designed to run with limited resources. For instance, it can run on the first generation Raspberry Pi.

== Localization supports multiple languages. If you are interested in providing a translation for your native language, send a request via[Transifex locale project]

== System Requirements 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

===== Supported Platforms (tested) is a Java-based application server. It can run on any platform where Java support is available.

  • Linux
  • Windows
  • Orange PI
  • Raspberry PI (Oracle Java recommended)

== MyController and MySensors Setup

image::extra/images/MyController-MySensors-RF.png[MyController and MySensors setup.]

== Installation

====== Download(executable bundle),

  • Visit[downloads page]

====== Configuration

Extract the downloaded bundle in the directory where you want it to run. The configuration files are located in



Temporary files

mcc.tmp.location=tmp/ # <1>

<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>

<1> You can change the default location and file name. The database file will be stored with the extension

. Do not add file extension to this property.

Web server configuration

mcc.web.bind.address= # <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>

<1> Bind interface address. means it will bind to all available interfaces. <2> Enable/disable https. Only one protocol is supported at a time. true -

, false -
. <3> Port number of
to access server. <4> Web files location, no need to touch this one. <5> If
is enabled these fields are mandatory.

Default URL:


NOTE: Default username/password:


Important: Change default

protocol is recommended

MQTT broker configuration # <1> # <2> # <3> # <4> # <5>

<1> Enable/disable builtin MQTT broker. By default it is enabled.

- enabled,
- 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:


Default log file location:


====== Start/Stop Server Executable scripts are located in

  • Linux

    • Start :
    • Stop :
  • Windows

    • Start : Double click on
    • Stop :
  • Other Platforms

java -Xms8m -Xmx256m -Dlogback.configurationFile=../conf/logback.xml -Dmc.conf.file=../conf/ -cp "../lib/*" org.mycontroller.standalone.StartApp

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.