GitPedia

Mycontroller v1 legacy

The Open Source Controller

From mycontroller-org·Updated May 9, 2026·View on GitHub·

image::extra/images/logo-mycontroller.org_full.png[MyController.org, link="http://www.mycontroller.org"] :source-language: java, angularjs The project is written primarily in Java, distributed under the Apache License 2.0 license, first published in 2015. Key topics include: arduino, automation, controller, esp8266, homeautomation.

Latest release: 1.5.0.Final1.5.0 Final release
December 11, 2019View Changelog →

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:

  • 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)
MyController.org 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),

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

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

<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

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>

<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 : ./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

=== Build locally
To build locally use a docker maven. it contains all the dependent jar

Run the following command to build locally.

bash
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

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

Contributors

Showing top 11 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from mycontroller-org/mycontroller-v1-legacy via the GitHub API.Last fetched: 6/25/2026