Code Monkey home page Code Monkey logo

oshv4's Introduction

OSHv4, Version 4.1

Framework for Multi-commodity Energy Management in intelligent buildings. Copyright © 2020

Organic Smart Home (OSH) is a free and open source energy management framework, which optimizes the energy provision, distribution, storage, conversion, and utilization in intelligent buildings, such as smart buildings and smart homes.

This framework was developed in response to the challenge of balancing supply and demand in the electric grid in spite of volatile, widely uncontrollable electrical power generation by means of renewable energy sources.

The building energy management system is based on the Extended Observer/Controller (O/C) architecture, which has been developed within the German priority research program on Organic Computing (DFG-Schwerpunktprogramm 1183).

It aims at realizing a mostly self-organizing and automated energy management system, reducing the need for interaction between the users (e.g., occupants) and the building's devices and systems (e.g., appliances, distributed generation, and building energy management system). However, the system still allows for explicit interference--if desired--and the users always remain in the loop.

Technical Information

  • Java 12+
  • Gradle 6.1

Overview

  • osh_sim_builder : OSH tools for the generation of XML configuration files (simulation mode)
    • constructSimulationPackage : OSH configuration file generator
      • Output : OSH configuration files in osh_sim_builder/configfiles/simulationPackages/[timestamp] (has to be copied to osh_sim_loader/configfiles/osh/)
  • osh_sim_loader : OSH in simulation mode
    • runSimulationPackage : OSH simulation launcher (simulation mode)
      • Input : OSH configuration files in osh_sim_loader/configfiles/osh/[name]
  • osh_core : core components of the OSH (e.g. generic components of the Observer/Controller architecture, Communication Registries, Energy Simulation Core)
  • osh_ems_ea : components of the optimization layer (partly based on jMetal 4.5)
  • osh_busdriver* : bus drivers (Miele XGW2000 gateway, BacNet, EnOcean, WAGO 750-820*)
  • osh_comdriver* : communication drivers (user interaction, logging, REST service, external signals, weather prediction)
  • osh_driver* : device drivers (home appliances, baseload, battery storage, microCHP, HVAC, PV system, smart meter)

Getting started

  • Check out
  • Run ./gradlew build

Gradle tasks

  • runSingleHH runs the simulation with the currently defined configuration files in osh.runsimulation.runSimulationPackage
  • jarForRunSingleHH creates an executable jar that runs the simulation in the currently defined configuration. The output directory will be [projectRoot]/out/runSingleHH and all configfiles from osh_sim_loader will be copied to this directory
  • constructSingleHHConfig constructs simulation configuration profiles with the current settings in
    constructsimulation.constructSimulationPackage and saves them in a folder under osh_sim_builder/configfiles[timestamp]
    • to run the simulation with this configuration copy the created files to osh_sim_loader/configfiles/osh and edit the configID property in osh.runsimulation.runSimulationPackage
  • construct[type]ApplianceProfiles creates the appliance profiles of the specific device as defined in the generation classes at osh_driver_appliance/src_toolbox
    • replace the existing appliance profiles in osh_sim_loader/configfiles/[type] if you want to run the simulation with the newly created profiles
  • constructGridConfiguration creates a new energy grid profile as defined in osh.esc.instances.GridInstance
    • to use the newly created grid profiles copy them to osh_sim_loader/configfiles/grids
  • generateXSDClasses generates java classes from the xsd-schema we use for configuration files

Contact and Main Contributors

Literature

For further information, please consult the following publications:

Florian Allerding, Hartmut Schmeck:
"Organic Smart Home - Architecture for Energy Management in Intelligent Buildings",
Proceedings of the 2011 workshop on Organic computing, 2011.
http://dl.acm.org/citation.cfm?id=1998654

Florian Allerding:
"Organic Smart Home - Energiemanagement für Intelligente Gebäude",
KIT Scientific Publishing, 2013.
http://www.ksp.kit.edu/9783731501817

Ingo Mauser, Jan Müller, Florian Allerding, Hartmut Schmeck:
"Adaptive Building Energy Management with Multiple Commodities and Flexible Evolutionary Optimization",
Renewable Energy, 87, Part 2, p.911-921, 2016.
http://www.sciencedirect.com/science/article/pii/S0960148115302834

Citing

If you use the Organic Smart Home in your research, please consider citing:


@Article{mauser2016adaptive,
  Title                    = {{Adaptive Building Energy Management with Multiple Commodities and Flexible Evolutionary Optimization}},
  Author                   = {Ingo Mauser and Jan M{\"u}ller and Florian Allerding and Hartmut Schmeck},
  Journal                  = {Renewable Energy},
  Year                     = {2016},
  Pages                    = {911 - 921},
  Volume                   = {87, Part 2},
  Doi                      = {10.1016/j.renene.2015.09.003},
  ISSN                     = {0960-1481},
  nolanguage = {English}
}

License

The Organic Smart Home is licensed under the GPL.

If you have licensed this product under the GPL, please see the LICENSE file for more information and the GPL version.

The adapted version of jMetal is licensed under the LGPL as the original version of jMetal 4.5.

oshv4's People

Contributors

ingomauser avatar veastark avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.