Skip to content


Repository files navigation



Backend Buid

Build Status Core

Frontend Build

Build Status Web

Automatica is a building management system thats runs on .NET Core and is built to run on every OS. It is able to connect different automation systems and generate a rich visualization with a powerfull rule engine. Try it as your smart home hub today.

Table of contents

Where to get

I currently use the system on a Raspberry.PI3. It runs also on Windows and Mac, but I have only built a build system for the raspberry right now. If you need Automatica.Core for Windows/Mac just create an Issue.

Raspberry PI

You can download the latest image & binaries here

Implemented drivers/logics

At the moment the following drivers & logics are implemented and ready to use, also all the drivers & logics bellow will be shipped by default.




Automatica.Core provides a rich set of features, for example:

  • Trendings - record datapoints (used later for ML, Reporting,...)
  • ETS Import - import your existing ETS5 project
  • Dockerizeable - automatica.core can run in a dockerized environment
  • Easy to extend
  • ...TBC....

Project structure

This project is a mono repository. The master & develop branch will be splitted nightly.

The Structure of the project is as follows.

├──                          # Some build tools for the project (submodule repo)
├── bin/                                       # Bin tools for spliting the repo
├── build/                                     # Some build tools for the project 
├── docker/                                    # Docker build files
├── documentation/                             # docfx documentation source
├── images/                                    # Image files displayed in the
├── src/                                       # Source files
|   ├── automatica.core.plugin.standalone      # Standalone plugins - split repository
|   ├── automatica.core.slave                  # Automatica slave - split repository
|   ├── automatica.core                        # The core system for automatica.core  - split repository
|   ├── automatica.drivers                     # Automatica drivers - split repository
|   ├── automatica.logics                      # Automatica logics - split repository
|   ├── automatica.supervisor                  # Automatica supervisor - split repository

How to build

Make sure that you have built the frontend first.


cd src/automatica.core/Automatica.WebNew
npm install
npm run start

The angular dist folder is in src/automatica.core/Automatica.Core/wwwroot


cd src/automatica.core
dotnet restore
dotnet build

or open the src/automatica.core/automatica.core.sln with Visual Studio an hit F5.

You can download the latest plugins with the automatica-cli. More here


Please refer to each project's style and contribution guidelines for submitting patches and additions. In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request! Pull request must have no merge conflicts!

Any help is appreciated!

Online Demo

The current demo can be found here.

Login with User: sa Password: sa

Demo will be reseted daily!

Docker images

Docker images will be build daily. The automaticacore image is here available.

There is also a automaticacore_proxy image which represents an nginx reverse proxy.

How to use this image

docker run -it -p 5001:5001 -p 5002:5002 --env server:port=5001 --env server:ssl_port=5002 automaticacore/automatica:latest-develop --name automatica


Automatica works with different database systems. Currently we support MySQL and SQlite.

The first startup can takeup some time, because the database needs to be initialized.


$ docker run -it \
    -p 5001:5001 \
    --mount type=bind,source=~/database,target=/app/database \
    -e DATABASE_TYPE="sqlite" \
    -e "ConnectionStrings:AutomaticaDatabaseSqlite=Data Source=/app/database/automatica.core.db" \
    --name automaticacore \


You need to provide a maria-db server and enter the credentials in the environment variable in the docker run command:

$ docker run -it \
    -p 5001:5001 \
    -e DATABASE_TYPE="mysql" \
    -e ConnectionStrings:"AutomaticaDatabaseMaria=Server=<server>;User Id=<username>;Password=<password>;Database=<db-name>" \
    --name automaticacore \


Do persist your plugin directory set the "AUTOMATICA_PLUGIN_DIR" environment variable and mount the folder in your docker repository!

Run in a docker image

To just play around with automatica.core use this docker-compose configuration.

version: '3.3'

    image: automaticacore/automaticacore:develop-latest
    restart: always
      - "5001:5001"
    image: automaticacore/automaticacore_proxy:develop-latest
    restart: always
      - "80:80"
      - automatica


Things I want to implement in the near future - help is appreciated!

Roadmap core

  • Automatica.Core Mobile ... done (Android)
  • Alarms
  • Automatic editor - to generate time/trigger based actions
    • Simulate movement in the building when you are on vacation,etc...
  • Scripting interface
  • Reporting
  • Metering
    • Generate reports about your energy consumption and calculate the costs for your building/level/room,....
  • AI - Machine Learning
    • The building should know when are people at home and maybe in which room, therefore the building can detect automatically some enhancements for the configuration and be so more energy efficient.
  • ...

Roadmap cloud

  • Gateway to connect your server via the cloud...done
  • Backup...done
  • Insights (Reporting, ...)...done
  • ...

Roadmap Drivers

  • ZigBee
  • Z-Wave
  • Fronius Solar API
  • MQTT
  • 1-Wire
  • Homematic
  • ...

Roadmap Logics

  • P/PI/PID
  • ...


Configuration Visualization

Configuration Configuration

Logic-editor Logic editor




A building managmenet system aka smart home- developed using .NET Core and Angular



Code of conduct




Sponsor this project


No packages published

Contributors 4