From 0cabedcb076688eea10672485e110d8344616383 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 24 May 2018 21:22:37 +0200 Subject: [PATCH 01/50] Set version to 2018.8.0-SNAPSHOT --- edge/pom.xml | 2 +- .../src/io/openems/edge/application/EdgeApp.java | 4 ++-- ui/package-lock.json | 2 +- ui/package.json | 2 +- ui/pom.xml | 2 +- ui/src/app/about/about.component.html | 10 +++++----- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/edge/pom.xml b/edge/pom.xml index 03151cba5ba..3be64f08a75 100644 --- a/edge/pom.xml +++ b/edge/pom.xml @@ -5,7 +5,7 @@ http://openems.io io.openems edge - 2018.7.0 + 2018.8.0-SNAPSHOT jar https://github.com/OpenEMS/openems diff --git a/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java b/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java index 0d2802b0fbb..214b5e4a3cb 100644 --- a/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java +++ b/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java @@ -19,8 +19,8 @@ public class EdgeApp { private final Logger log = LoggerFactory.getLogger(EdgeApp.class); - public final static String OPENEMS_VERSION = "2018.7.0"; - // public final static String OPENEMS_VERSION = "2018.8.0-SNAPSHOT"; + // public final static String OPENEMS_VERSION = "2018.7.0"; + public final static String OPENEMS_VERSION = "2018.8.0-SNAPSHOT"; @Reference ConfigurationAdmin cm; diff --git a/ui/package-lock.json b/ui/package-lock.json index 9d98b9fef34..8e05b82163d 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "openems-ui", - "version": "2018.7.0", + "version": "2018.8.0-SNAPSHOT", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/ui/package.json b/ui/package.json index 789c49f4495..09b3577ae21 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "openems-ui", - "version": "2018.7.0", + "version": "2018.8.0-SNAPSHOT", "license": "AGPL", "scripts": { "ng": "ng", diff --git a/ui/pom.xml b/ui/pom.xml index 0acc5ca9389..e587ae75672 100644 --- a/ui/pom.xml +++ b/ui/pom.xml @@ -7,7 +7,7 @@ io.openems pom - 2018.7.0 + 2018.8.0-SNAPSHOT edge pom diff --git a/ui/src/app/about/about.component.html b/ui/src/app/about/about.component.html index 7c634bde81f..880f2c9ed64 100644 --- a/ui/src/app/about/about.component.html +++ b/ui/src/app/about/about.component.html @@ -16,14 +16,14 @@
  • About.Sourcecode
  • -
  • - - About.Build: 2018.7.0 (2018-05-24) -
  • +
  • About.Build: 2018.8.0-SNAPSHOT -
  • --> +

    From 1ff9635ab61f3cb0b962f84eda256cca364ce6ec Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 24 May 2018 21:24:34 +0200 Subject: [PATCH 02/50] Remove obsolete directories --- ...nd.browserwebsocket.impl.provider.bndrun.resolved | 12 ------------ ...backend.openemswebsocket.provider.bndrun.resolved | 7 ------- 2 files changed, 19 deletions(-) delete mode 100644 io.openems.backend.browserwebsocket.impl.provider/generated/io.openems.backend.browserwebsocket.impl.provider.bndrun.resolved delete mode 100644 io.openems.backend.openemswebsocket.provider/generated/io.openems.backend.openemswebsocket.provider.bndrun.resolved diff --git a/io.openems.backend.browserwebsocket.impl.provider/generated/io.openems.backend.browserwebsocket.impl.provider.bndrun.resolved b/io.openems.backend.browserwebsocket.impl.provider/generated/io.openems.backend.browserwebsocket.impl.provider.bndrun.resolved deleted file mode 100644 index e2613309b7c..00000000000 --- a/io.openems.backend.browserwebsocket.impl.provider/generated/io.openems.backend.browserwebsocket.impl.provider.bndrun.resolved +++ /dev/null @@ -1,12 +0,0 @@ -slf4j.api;version='[1.8.0,1.8.1)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/slf4j/slf4j-api/1.8.0-beta1/slf4j-api-1.8.0-beta1.jar -com.google.guava;version='[19.0.0,19.0.1)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/com/google/guava/guava/19.0/guava-19.0.jar -org.apache.felix.configadmin;version='[1.8.8,1.8.9)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/apache/felix/org.apache.felix.configadmin/1.8.8/org.apache.felix.configadmin-1.8.8.jar -org.osgi.service.metatype;version='[1.3.0,1.3.1)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/osgi/org.osgi.service.metatype/1.3.0/org.osgi.service.metatype-1.3.0.jar -io.openems.common;version=snapshot;resolution=file:/C:/Users/stefan.feilmeier/fems/openems/io.openems.common/generated/io.openems.common.jar -org.apache.felix.log;version='[1.0.1,1.0.2)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/apache/felix/org.apache.felix.log/1.0.1/org.apache.felix.log-1.0.1.jar -com.google.gson;version='[2.8.2,2.8.3)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar -org.eclipse.equinox.metatype;version='[1.4.100,1.4.101)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/osgi/org.eclipse.equinox.metatype/1.4.100.v20150408-1437/org.eclipse.equinox.metatype-1.4.100.v20150408-1437.jar -org.apache.felix.scr;version='[2.0.2,2.0.3)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/apache/felix/org.apache.felix.scr/2.0.2/org.apache.felix.scr-2.0.2.jar -io.openems.wrapper.websocket;version=snapshot;resolution=file:/C:/Users/stefan.feilmeier/fems/openems/io.openems.wrapper/generated/io.openems.wrapper.websocket.jar -io.openems.backend.metadata.odoo.provider;version=snapshot;resolution=file:/C:/Users/stefan.feilmeier/fems/openems/io.openems.backend.metadata.odoo.provider/generated/io.openems.backend.metadata.odoo.provider.jar -io.openems.backend.uiwebsocket.impl.provider;version=snapshot;resolution=file:/C:/Users/stefan.feilmeier/fems/openems/io.openems.backend.uiwebsocket.impl.provider/generated/io.openems.backend.uiwebsocket.impl.provider.jar diff --git a/io.openems.backend.openemswebsocket.provider/generated/io.openems.backend.openemswebsocket.provider.bndrun.resolved b/io.openems.backend.openemswebsocket.provider/generated/io.openems.backend.openemswebsocket.provider.bndrun.resolved deleted file mode 100644 index 97ed637b697..00000000000 --- a/io.openems.backend.openemswebsocket.provider/generated/io.openems.backend.openemswebsocket.provider.bndrun.resolved +++ /dev/null @@ -1,7 +0,0 @@ -io.openems.backend.edgewebsocket.impl.provider;version=snapshot;resolution=file:/C:/Users/stefan.feilmeier/fems/openems/io.openems.backend.edgewebsocket.impl.provider/generated/io.openems.backend.edgewebsocket.impl.provider.jar -org.osgi.service.metatype;version='[1.3.0,1.3.1)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/osgi/org.osgi.service.metatype/1.3.0/org.osgi.service.metatype-1.3.0.jar -slf4j.api;version='[1.8.0,1.8.1)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/slf4j/slf4j-api/1.8.0-beta1/slf4j-api-1.8.0-beta1.jar -org.apache.felix.log;version='[1.0.1,1.0.2)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/apache/felix/org.apache.felix.log/1.0.1/org.apache.felix.log-1.0.1.jar -org.apache.felix.scr;version='[2.0.2,2.0.3)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/apache/felix/org.apache.felix.scr/2.0.2/org.apache.felix.scr-2.0.2.jar -org.eclipse.equinox.metatype;version='[1.4.100,1.4.101)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/osgi/org.eclipse.equinox.metatype/1.4.100.v20150408-1437/org.eclipse.equinox.metatype-1.4.100.v20150408-1437.jar -org.apache.felix.configadmin;version='[1.8.8,1.8.9)';resolution=file:/C:/Users/stefan.feilmeier/.m2/repository/org/apache/felix/org.apache.felix.configadmin/1.8.8/org.apache.felix.configadmin-1.8.8.jar From 742efe3e2ce81def5df74cd149a7d05d2682ae12 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 24 May 2018 22:59:26 +0200 Subject: [PATCH 03/50] Fix building with Bndtools 4.0 --- cnf/ext/enroute.bnd | 1 - io.openems.wrapper/.gitignore | 1 + io.openems.wrapper/influxdb-java.bnd | 2 -- io.openems.wrapper/j2mod.bnd | 2 -- io.openems.wrapper/jSerialComm.bnd | 5 ----- io.openems.wrapper/jts.bnd | 2 -- io.openems.wrapper/moshi.bnd | 2 -- io.openems.wrapper/retrofit2-converter-moshi.bnd | 2 -- io.openems.wrapper/retrofit2.bnd | 2 -- io.openems.wrapper/sdnotify.bnd | 2 -- io.openems.wrapper/websocket.bnd | 2 -- 11 files changed, 1 insertion(+), 22 deletions(-) diff --git a/cnf/ext/enroute.bnd b/cnf/ext/enroute.bnd index 913a8e05a83..fcd84d8b4f5 100644 --- a/cnf/ext/enroute.bnd +++ b/cnf/ext/enroute.bnd @@ -9,7 +9,6 @@ javac.source: 1.8 javac.target: 1.8 -runee: JavaSE-1.8 -Service-Component: * -dsannotations: * -metatypeannotations: * -contract: * diff --git a/io.openems.wrapper/.gitignore b/io.openems.wrapper/.gitignore index 57b341172a1..5e92567988d 100644 --- a/io.openems.wrapper/.gitignore +++ b/io.openems.wrapper/.gitignore @@ -1,2 +1,3 @@ /bin/ /generated/ +/bin_test/ diff --git a/io.openems.wrapper/influxdb-java.bnd b/io.openems.wrapper/influxdb-java.bnd index 6f5e7d63047..4cfb8a44d6f 100644 --- a/io.openems.wrapper/influxdb-java.bnd +++ b/io.openems.wrapper/influxdb-java.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: influxdb-java Bundle-Description: Java client for InfluxDB Bundle-DocURL: https://github.com/influxdata/influxdb-java diff --git a/io.openems.wrapper/j2mod.bnd b/io.openems.wrapper/j2mod.bnd index 0ad2c18c8f5..b95d09edd59 100644 --- a/io.openems.wrapper/j2mod.bnd +++ b/io.openems.wrapper/j2mod.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: j2mod Bundle-Description: Enhanced Modbus library implemented in the Java programming language Bundle-DocURL: https://github.com/steveohara/j2mod diff --git a/io.openems.wrapper/jSerialComm.bnd b/io.openems.wrapper/jSerialComm.bnd index cb412e8c559..c96d5340458 100644 --- a/io.openems.wrapper/jSerialComm.bnd +++ b/io.openems.wrapper/jSerialComm.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: jSerialComm Bundle-Description: Platform-independent serial port access for Java Bundle-DocURL: https://github.com/Fazecast/jSerialComm @@ -8,11 +6,8 @@ Bundle-Version: 2.0.2 Include-Resource: @jSerialComm-2.0.2.jar - -noee=true -#Require-Capability: osgi.ee;filter:="()" - -exportcontents: \ com.fazecast.jSerialComm diff --git a/io.openems.wrapper/jts.bnd b/io.openems.wrapper/jts.bnd index 40edb6a14e2..379a444f38a 100644 --- a/io.openems.wrapper/jts.bnd +++ b/io.openems.wrapper/jts.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: JTS Bundle-Description: The JTS Topology Suite is a Java library for creating and manipulating vector geometry. Bundle-DocURL: https://github.com/locationtech/jts diff --git a/io.openems.wrapper/moshi.bnd b/io.openems.wrapper/moshi.bnd index 2f4e980bb06..fe677bb5c79 100644 --- a/io.openems.wrapper/moshi.bnd +++ b/io.openems.wrapper/moshi.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: Moshi Bundle-Description: A modern JSON library for Android and Java. Bundle-DocURL: https://github.com/square/moshi diff --git a/io.openems.wrapper/retrofit2-converter-moshi.bnd b/io.openems.wrapper/retrofit2-converter-moshi.bnd index 8f5622568c5..f1bb5f6d6f5 100644 --- a/io.openems.wrapper/retrofit2-converter-moshi.bnd +++ b/io.openems.wrapper/retrofit2-converter-moshi.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: Retrofit2 Moshi Converter Bundle-DocURL: https://github.com/square/retrofit/tree/master/retrofit-converters/moshi Bundle-License: https://opensource.org/licenses/Apache-2.0 diff --git a/io.openems.wrapper/retrofit2.bnd b/io.openems.wrapper/retrofit2.bnd index 40f43eed131..7de3675dc3e 100644 --- a/io.openems.wrapper/retrofit2.bnd +++ b/io.openems.wrapper/retrofit2.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: Retrofit2 Bundle-Description: A type-safe HTTP client for Android and Java Bundle-DocURL: https://github.com/square/retrofit diff --git a/io.openems.wrapper/sdnotify.bnd b/io.openems.wrapper/sdnotify.bnd index 1f4c0fa8f5b..6d0284b6865 100644 --- a/io.openems.wrapper/sdnotify.bnd +++ b/io.openems.wrapper/sdnotify.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: SDNotify Bundle-Description: SDNotify implements the systemd notification protocol in Java. Bundle-DocURL: https://github.com/faljse/SDNotify diff --git a/io.openems.wrapper/websocket.bnd b/io.openems.wrapper/websocket.bnd index 45f4a559e0a..7fe91bfd483 100644 --- a/io.openems.wrapper/websocket.bnd +++ b/io.openems.wrapper/websocket.bnd @@ -1,5 +1,3 @@ -Service-Component: * - Bundle-Name: Java WebSockets Bundle-Description: This repository contains a barebones WebSocket server and client implementation written \ in 100% Java. The underlying classes are implemented using the Java ServerSocketChannel and SocketChannel \ From 6b77a8b608dda023652d055041f08331ace1a12b Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 24 May 2018 23:05:43 +0200 Subject: [PATCH 04/50] Start improved documentation in doc/OpenEMS_EN.adoc --- .gitmodules | 0 README.md | 30 ++--- doc/OpenEMS_EN.adoc | 125 ++++++++++++++++++ doc/_include/header.adoc | 13 ++ doc/{ => _old}/architecture.jpg | Bin doc/{ => _old}/architecture.md | 0 doc/{ => _old}/channels.md | 0 doc/{ => _old}/communication-protocols.mmd | 124 ++++++++--------- .../communication-protocols.mmd.png | Bin doc/{ => _old}/cycle.png | Bin doc/{ => _old}/modbustcp-api.md | 0 doc/{ => _old}/osgi.adoc | 0 doc/{ => _old}/rest-api.md | 0 doc/{ => _old}/setup.md | 0 doc/{ => _old}/websocket-communication.md | 0 doc/img/eclipse-workspace.png | Bin 0 -> 14536 bytes doc/img/screenshots/.gitignore | 1 - doc/img/sourcetree.png | Bin 0 -> 17276 bytes .../ui-device-energymonitor.png | Bin .../ui-device-energytable.png | Bin .../{screenshots => }/ui-device-history.png | Bin .../{screenshots => }/ui-device-history2.png | Bin .../{screenshots => }/ui-device-soc+evcs.png | Bin doc/img/{screenshots => }/ui-overview.png | Bin doc/img/ui-screenshots.png | Bin 0 -> 422552 bytes doc/img/ui-screenshots2.png | Bin 0 -> 440275 bytes 26 files changed, 215 insertions(+), 78 deletions(-) delete mode 100644 .gitmodules create mode 100644 doc/OpenEMS_EN.adoc create mode 100644 doc/_include/header.adoc rename doc/{ => _old}/architecture.jpg (100%) rename doc/{ => _old}/architecture.md (100%) rename doc/{ => _old}/channels.md (100%) rename doc/{ => _old}/communication-protocols.mmd (96%) rename doc/{ => _old}/communication-protocols.mmd.png (100%) rename doc/{ => _old}/cycle.png (100%) rename doc/{ => _old}/modbustcp-api.md (100%) rename doc/{ => _old}/osgi.adoc (100%) rename doc/{ => _old}/rest-api.md (100%) rename doc/{ => _old}/setup.md (100%) rename doc/{ => _old}/websocket-communication.md (100%) create mode 100644 doc/img/eclipse-workspace.png delete mode 100644 doc/img/screenshots/.gitignore create mode 100644 doc/img/sourcetree.png rename doc/img/{screenshots => }/ui-device-energymonitor.png (100%) rename doc/img/{screenshots => }/ui-device-energytable.png (100%) rename doc/img/{screenshots => }/ui-device-history.png (100%) rename doc/img/{screenshots => }/ui-device-history2.png (100%) rename doc/img/{screenshots => }/ui-device-soc+evcs.png (100%) rename doc/img/{screenshots => }/ui-overview.png (100%) create mode 100644 doc/img/ui-screenshots.png create mode 100644 doc/img/ui-screenshots2.png diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/README.md b/README.md index 28fc58203d0..36afd818f1c 100644 --- a/README.md +++ b/README.md @@ -23,12 +23,12 @@ The OpenEMS software architecture was designed to leverage some features that ar ## OpenEMS UI Screenshots - - - - - - + + + + + + ## System architecture @@ -44,6 +44,14 @@ Indepth documentation is currently in progress. Please find the latest documents * [Latest draft of documentation](http://htmlpreview.github.io/?https://github.com/OpenEMS/openems/blob/feature/improve_doc/doc/openems.html) * [Previous version readme](https://github.com/OpenEMS/openems/blob/old_master/README.md) +## Open Source philosophy + +OpenEMS development was started by [FENECON GmbH](https://www.fenecon.de), a German company specialized in manufacturing and project development of energy storage systems. It is the software stack behind [FEMS - FENECON Energy Management System](https://fenecon.de/page/fems) and widely used in private, commercial and industrial applications. + +We are inviting third parties - like universities, hardware manufacturers, software companies, commercial and private owners,... - to use OpenEMS for their own projects and are glad to support them with their first steps. In any case if you are interested in OpenEMS our development team would be glad to hear from you at fems@fenecon.de. + +OpenEMS is funded by several federal and EU funding projects. If you are a developer and you would like to get hired by one of the partner companies or universities for working on OpenEMS, please send your motivation letter to fems@fenecon.de. + ## License * OpenEMS Edge @@ -59,12 +67,4 @@ redistribute it and/or modify it under the terms of the [Eclipse Public License Copyright (C) 2016-2018 FENECON GmbH. This product includes software developed at FENECON GmbH: you can -redistribute it and/or modify it under the terms of the [GNU Affero General Public License version 3](LICENSE-AGPL-3.0). - -## Open Source philosophy - -OpenEMS development was started by [FENECON GmbH](https://www.fenecon.de), a German company specialized in manufacturing and project development of energy storage systems. It is the software stack behind [FEMS - FENECON Energy Management System](https://fenecon.de/page/fems) and widely used in private, commercial and industrial applications. - -We are inviting third parties - like universities, hardware manufacturers, software companies, commercial and private owners,... - to use OpenEMS for their own projects and are glad to support them with their first steps. In any case if you are interested in OpenEMS our development team would be glad to hear from you at fems@fenecon.de. - -OpenEMS is funded by several federal and EU funding projects. If you are a developer and you would like to get hired by one of the partner companies or universities for working on OpenEMS, please send your motivation letter to fems@fenecon.de. \ No newline at end of file +redistribute it and/or modify it under the terms of the [GNU Affero General Public License version 3](LICENSE-AGPL-3.0). \ No newline at end of file diff --git a/doc/OpenEMS_EN.adoc b/doc/OpenEMS_EN.adoc new file mode 100644 index 00000000000..f891ef21252 --- /dev/null +++ b/doc/OpenEMS_EN.adoc @@ -0,0 +1,125 @@ += OpenEMS: Open Energy Management System +include::_include/header.adoc[] + +== Introduction + +OpenEMS is a modular platform for energy management applications. +It was developed around the requirements of controlling, monitoring and integrating energy storage systems together with renewable energy sources and complementary devices and services. + +=== OpenEMS IoT stack + +The OpenEMS 'Internet of Things' stack contains three main components: + + * **OpenEMS Edge** runs on site and actually controls the devices + * **OpenEMS UI** is the generic user interface + * **OpenEMS Backend** runs on a (cloud) server, connects the decentralized Edge systems and provides aggregation, monitoring and control via internet + +=== Features + +The OpenEMS software architecture was designed to leverage some features that are required by a modern and flexible Energy Management System: + + * Fast, PLC-like control of battery inverters and other devices + * Easily extendable due to the use of modern programming languages and modular architecture + * Wide range of supported devices - (battery) inverters, meters, etc. - and protocols + * Modern web-based real-time user interface + +.Screenshots of OpenEMS UI +image::ui-screenshots.png[Screenshots of OpenEMS UI] +.Screenshots of OpenEMS UI +image::ui-screenshots2.png[Screenshots of OpenEMS UI] + +=== Open Source philosophy + +OpenEMS development was started by https://www.fenecon.de[FENECON GmbH icon:external-link[]], a German company specialized in manufacturing and project development of energy storage systems. It is the software stack behind https://fenecon.de/page/fems[FEMS - FENECON Energy Management System icon:external-link[]] and widely used in private, commercial and industrial applications. + +We are inviting third parties - like universities, hardware manufacturers, software companies, commercial and private owners,... - to use OpenEMS for their own projects and are glad to support them with their first steps. In any case if you are interested in OpenEMS our development team would be glad to hear from you at fems@fenecon.de. + +OpenEMS is funded by several federal and EU funding projects. If you are a developer and you would like to get hired by one of the partner companies or universities for working on OpenEMS, please send your motivation letter to fems@fenecon.de. + +=== License + +* OpenEMS Edge +* OpenEMS Backend + +Copyright (C) 2016-2018 FENECON GmbH. + +This product includes software developed at FENECON GmbH: you can +redistribute it and/or modify it under the terms of the [Eclipse Public License version 2.0](LICENSE-EPL-2.0). + + * OpenEMS UI + +Copyright (C) 2016-2018 FENECON GmbH. + +This product includes software developed at FENECON GmbH: you can +redistribute it and/or modify it under the terms of the [GNU Affero General Public License version 3](LICENSE-AGPL-3.0). + +=== Development guidelines + +Development follows the https://de.wikipedia.org/wiki/Agile_Softwareentwicklung[Agile Manifesto icon:external-link[]] and is driven by the https://de.wikipedia.org/wiki/Scrum[Scrum icon:external-link[]] methodology. +The source code is available online at http://openems.io and on https://github.com/OpenEMS/openems[GitHub icon:github[]]. +New versions are released after every Scrum Sprint and https://github.com/OpenEMS/openems/releases[tagged icon:github[]] accordingly. +Version numbers are built using the pattern `year.number of sprint`, e.g. version `2018.4` is the result of the fourth sprint in 2018. +Git development follows the https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow[Gitflow Workflow], so the https://github.com/OpenEMS/openems/tree/master/[master branch icon:github[]] always holds the stable release, while active development is happening on the https://github.com/OpenEMS/openems/tree/develop[develop branch icon:github[]] or in separate feature branches. + +For Edge and Backend Java development we recommend the https://www.eclipse.org/ide/[Eclipse IDE icon:external-link[]]. +For the UI (TypeScript + Angular.io) we recommend https://code.visualstudio.com/[Visual Studio Code icon:external-link[]]. +The documentation is generated using http://asciidoc.org[AsciiDoc icon:external-link[]]. +For handling git we recommend https://www.sourcetreeapp.com/[Sourctree by Atlassian icon:external-link[]]. + +=== System architecture + +OpenEMS is generally used in combination with external hardware and software components +(the exception is a simulated development environment - see [Getting Started](https://github.com/OpenEMS/openems/blob/old_master/README.md#get-started)). +As a brief overview, this is how OpenEMS is used in production setups: + +.OpenEMS system architecture +image::system-architecture.png[OpenEMS system architecture] + +== Getting Started + +This quick 'Getting Started' should help you setup up a complete development environment. On finishing you will have a working instance of OpenEMS Edge, with simulated energy storage and photovoltaic system, as well as an OpenEMS UI for monitoring the simulator inside your web browser. + +=== Download the source code + +. Download any https://git-scm.com[git client icon:external-link[]] and install it. Our recommendation is https://www.sourcetreeapp.com/[Sourctree by Atlassian icon:external-link[]] + +. Clone the OpenEMS git repository + +.. In Sourcetree: + +... press btn:[File] -> btn:[Clone] +... enter the git repository path `https://github.com/OpenEMS/openems.git` +... select a target directory, for example `C:\Users\your.user\git\openems` +... and press btn:[Clone]. +// TODO + + +.Cloning the git repository using Sourcetree +image::sourcetree.png[Cloning the git repository using Sourcetree] + +.. Alternatively: with the git command line utility + +... open a console +... change to the target directory +... execute `git clone https://github.com/OpenEMS/openems.git` + +. Git is downloading the complete source code for you. + +=== Setup Eclipse IDE for OpenEMS Edge and Backend + +. Prepare Eclipse IDE +.. Download https://www.eclipse.org[Eclipse for Java icon:external-link[]], install and start it +.. On first start you will get asked to create a workspace. +Select a directory - for example `C:\Users\your.user\git\openems-workspace` - and press btn:[Lauch]. _The directory needs to be different from your source code directory selected above._ +//TODO + +// .Creating a workspace in Eclipse IDE +// image::eclipse-workspace.png[Creating a workspace in Eclipse IDE] + +.. Install http://bndtools.org[BndTools icon:external-link[]] in Eclipse: ++ +Menu: btn:[Help] → btn:[Eclipse Marketplace...] → btn:[Find:] → enter btn:[Bndtools] → press btn:[Install] + +. Import OpenEMS component projects (OSGi bundles): ++ +Menu: btn:[File] → btn:[Import...] → btn:[Bndtools] → btn:[Existing Bnd Workspace] → Root directory: btn:[Browse...] → select the directory with the source code - for example `C:\Users\your.user\git\openems` → btn:[OK] → btn:[Finish] → "Switch to Bndtools perspective?" btn:[yes] + +. Eclipse should have successfully built OpenEMS Edge and Backend. \ No newline at end of file diff --git a/doc/_include/header.adoc b/doc/_include/header.adoc new file mode 100644 index 00000000000..161576f7c98 --- /dev/null +++ b/doc/_include/header.adoc @@ -0,0 +1,13 @@ +ifndef::toc[] +Stefan Feilmeier (c) 2018 FENECON GmbH +Version 2018.8.0-SNAPSHOT +:sectnums: +:sectnumlevels: 4 +:toc: +:toclevels: 4 +:experimental: +:keywords: AsciiDoc +:source-highlighter: highlight.js +:icons: font +:imagesdir: ./img +endif::toc[] \ No newline at end of file diff --git a/doc/architecture.jpg b/doc/_old/architecture.jpg similarity index 100% rename from doc/architecture.jpg rename to doc/_old/architecture.jpg diff --git a/doc/architecture.md b/doc/_old/architecture.md similarity index 100% rename from doc/architecture.md rename to doc/_old/architecture.md diff --git a/doc/channels.md b/doc/_old/channels.md similarity index 100% rename from doc/channels.md rename to doc/_old/channels.md diff --git a/doc/communication-protocols.mmd b/doc/_old/communication-protocols.mmd similarity index 96% rename from doc/communication-protocols.mmd rename to doc/_old/communication-protocols.mmd index 48bb60f6087..7aa7c7ca377 100644 --- a/doc/communication-protocols.mmd +++ b/doc/_old/communication-protocols.mmd @@ -1,63 +1,63 @@ -sequenceDiagram - -Note over Client,Backend: [1] Client <-> Backend - -Note over Client,Backend: [1.1] Authenticate - -Note over Client,Backend: [1.1.1] At FemsServer - -Client ->>+ Backend: session_id authentication -Backend ->>+ Odoo: [1.1.1.1] /fems/info? -Odoo -->> Backend: [1.1.1.2] On success -Odoo -->>- Backend: [1.1.1.2] On error -Backend --> Backend: is FEMS online? -Backend ->>- Client: [1.1.1.4] authenticate allow, metadata - - -Note over Client,Backend: [1.1.2] At OpenEMS - -Client ->>+ Backend: [1.1.2.1] authenticate -Backend ->>- Client: [1.1.2.2] authenticate: allow, metadata - -Note over Client,Backend: [1.2] Current data - -Client ->>+ Backend: [1.2.1] subscribe: channels -Backend ->>+ Backend: [1.2.2] forward to OpenEMS: subscribe: channels -loop - Backend -->>+ Backend: [1.2.3] from OpenEMS: currentdata - Backend -->>+ Client: [1.2.4] currentdata -end - -Client ->>- Backend: [1.2.5] subscribe: false -Backend ->>- Backend: forward to OpenEMS: subscribe: false - -Note over Client,Backend: [1.3] Notification -Backend ->> Client: [1.3.1] notification - -Note over Client,Backend: [1.4] Historic data -Client ->>+ Backend: [1.4.1] query -Backend ->>+ InfluxDB: query -InfluxDB ->>- Backend: -Backend ->>- Client: [1.4.2] queryreply - -Note over Client,Backend: [1.5] Configuration -Client ->>+ Backend: [1.5.1] config update -Client ->> Backend: [1.5.2] config create -Client ->> Backend: [1.5.3] config delete -Backend ->>- Client: [1.5.4] metadata, notification - -Note over Client,Backend: [1.6] System -Client ->> Backend: [1.6.1] mode, service - -Note over OpenEMS,FemsServer: [2] OpenEMS <-> FemsServer - -Note over OpenEMS,FemsServer: [2.1] Authenticate -OpenEMS ->> FemsServer: [2.1.1] handshake authentication -OpenEMS ->> FemsServer: [2.1.2] metadata - -Note over OpenEMS,FemsServer: [2.2] timestamped data -loop - OpenEMS ->>+ FemsServer: [2.2.1] timedata - FemsServer ->> InfluxDB: [data] - FemsServer ->>- Odoo: [some data] +sequenceDiagram + +Note over Client,Backend: [1] Client <-> Backend + +Note over Client,Backend: [1.1] Authenticate + +Note over Client,Backend: [1.1.1] At FemsServer + +Client ->>+ Backend: session_id authentication +Backend ->>+ Odoo: [1.1.1.1] /fems/info? +Odoo -->> Backend: [1.1.1.2] On success +Odoo -->>- Backend: [1.1.1.2] On error +Backend --> Backend: is FEMS online? +Backend ->>- Client: [1.1.1.4] authenticate allow, metadata + + +Note over Client,Backend: [1.1.2] At OpenEMS + +Client ->>+ Backend: [1.1.2.1] authenticate +Backend ->>- Client: [1.1.2.2] authenticate: allow, metadata + +Note over Client,Backend: [1.2] Current data + +Client ->>+ Backend: [1.2.1] subscribe: channels +Backend ->>+ Backend: [1.2.2] forward to OpenEMS: subscribe: channels +loop + Backend -->>+ Backend: [1.2.3] from OpenEMS: currentdata + Backend -->>+ Client: [1.2.4] currentdata +end + +Client ->>- Backend: [1.2.5] subscribe: false +Backend ->>- Backend: forward to OpenEMS: subscribe: false + +Note over Client,Backend: [1.3] Notification +Backend ->> Client: [1.3.1] notification + +Note over Client,Backend: [1.4] Historic data +Client ->>+ Backend: [1.4.1] query +Backend ->>+ InfluxDB: query +InfluxDB ->>- Backend: +Backend ->>- Client: [1.4.2] queryreply + +Note over Client,Backend: [1.5] Configuration +Client ->>+ Backend: [1.5.1] config update +Client ->> Backend: [1.5.2] config create +Client ->> Backend: [1.5.3] config delete +Backend ->>- Client: [1.5.4] metadata, notification + +Note over Client,Backend: [1.6] System +Client ->> Backend: [1.6.1] mode, service + +Note over OpenEMS,FemsServer: [2] OpenEMS <-> FemsServer + +Note over OpenEMS,FemsServer: [2.1] Authenticate +OpenEMS ->> FemsServer: [2.1.1] handshake authentication +OpenEMS ->> FemsServer: [2.1.2] metadata + +Note over OpenEMS,FemsServer: [2.2] timestamped data +loop + OpenEMS ->>+ FemsServer: [2.2.1] timedata + FemsServer ->> InfluxDB: [data] + FemsServer ->>- Odoo: [some data] end \ No newline at end of file diff --git a/doc/communication-protocols.mmd.png b/doc/_old/communication-protocols.mmd.png similarity index 100% rename from doc/communication-protocols.mmd.png rename to doc/_old/communication-protocols.mmd.png diff --git a/doc/cycle.png b/doc/_old/cycle.png similarity index 100% rename from doc/cycle.png rename to doc/_old/cycle.png diff --git a/doc/modbustcp-api.md b/doc/_old/modbustcp-api.md similarity index 100% rename from doc/modbustcp-api.md rename to doc/_old/modbustcp-api.md diff --git a/doc/osgi.adoc b/doc/_old/osgi.adoc similarity index 100% rename from doc/osgi.adoc rename to doc/_old/osgi.adoc diff --git a/doc/rest-api.md b/doc/_old/rest-api.md similarity index 100% rename from doc/rest-api.md rename to doc/_old/rest-api.md diff --git a/doc/setup.md b/doc/_old/setup.md similarity index 100% rename from doc/setup.md rename to doc/_old/setup.md diff --git a/doc/websocket-communication.md b/doc/_old/websocket-communication.md similarity index 100% rename from doc/websocket-communication.md rename to doc/_old/websocket-communication.md diff --git a/doc/img/eclipse-workspace.png b/doc/img/eclipse-workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..954175c4f561c026ec0efb0da9a71e059759190a GIT binary patch literal 14536 zcmd6OcT`i|yCxR!Q$#*NK|w%8P&!f-1VltSDAfQVB3*h35JC|V5s@NQx>BVCkQR~< z0wPjEj}Thup#=y%gaDcN{pPN_X4YLZbJyHiYyMz`WbM7rKJPyJ+0XO7&xw9&sKs`U z=NuCg6Pu3qV`Ck(5$@3m#dm(xz_2I@>q-{V;i zZJGbH@zMtPGBI6f{quLC-SeA06VpAQ&SQ1cK$|rJd$3tR2z`^i_Tjf=0ls>%AzfCT zmP;uQ+vV;l>z+MTdg|J<602=e{nORTM6KJeLaV{q_e_KRbO5aLisL(r?_}?&yFYv( zf$8Od|21+p_94d|Gd(R$V_m&FVOzA&UTP>=g|aZ22~C0~c?GIKf(0mtM>)Rh_d7!t zX)22{+DKiw9vyjh#ymrcaZSP;vQk&3XIr!4Pnkfxw}VFpycs>_ZKS(_a&63w(_UT^%YNZKXyl9H$_i^+J+Gj{AVz}@3GP|zZ@w+- zZzMc2GAk;(Sc6+O7Eb0s(K74u_tY9B8Et&@G_qKIB&U~2)CT-?Fi=&vw(X3HgogfA zo-4zUiiZ9(OiZsQSl_8w^rq*jlh>NPf;VDLt4c_AAiRnlK8rw#oR@HUIBVBj){sA! zM86opJuNF)#LUsZEW&y@m)c_0}7Vek>e4&fHQfu#mg( zNtaYsN7Uy^i-Ekk^-xu*9T%bcn~Wysuk-A?wOUKBA|7ye1}e>-Zq4B$y8urLFflbZ zUvi$oRdLe|L_cLMvdA4F@Gq8l^MFW8MnCDQ(>x2-q#RagiyOB==!v^uBd z3CgSDzIZ-ZN%nbTKlit9R(!=aNpou768geyBlSb+d@{C&QN%e`x_%Rl(Brc;uY>v% zooaPn;>qy7Nc4-%)2Bd>Txm@MHM@~(pM7t zq{I9sJ464wY2E(#@9NOF?1}6{hw3ulG;u6^jxqmJ9qR-XQ3I!zCB3sOmtBmt ze^g_vr1BkoA(%UEJ$bulDwUb;m){t45TsmJCdR^^vNsno?`dI*jppKyikU0*lM{p3NzAzH&Vn{wY6fm7yW2W93Vr;WT4W4Meq{IV8jGK8Z_$^T?r=1%aY%eQwQ!t z%2$-P(lPrPhg3pXT5WmIzRvyQF5WFHi0`}nt-(8&nKxTBPdyF)ol^h!q%#GGF3L%{ zX|%j0VRrK}W#877^s3}@txyF&=f`s^1;4>Uo)-aEIh&0$YbGn4%*87K=?fwLj`WPh z@wF5^yS5d%IC(GqyQG3K`jb)6esX%#WZWsH*T`BKFIkT=i@7 z0&L=QQ?!mZ)v4x$sZK>Y(K9jiw!(v3@gdtWKF5zr`B*1g;WmxsxUuWtSYq|feBK>> z6(b2w&sfGX<~2Ucu{y|e>Fh~HV_L>#kCX&~{!?S}6cnO;k;BsDAU6L6Zn0UdKw`)8;msqz%YDokNR z9Hz7_*MWys;zzk<1=}wv%Bet@k28jEhkt!3xpY64>59<&Uf@@4%$K4!DQLuL-LFlq6actP=y+!fvEOkj-hp~a_9iv{~*P#00xn*Z=zjC)z$81g=P7?X3&)pL)51v}~c(7jpmGB(AAxk(*@@8|~% zZM7@%r-DJWcfo;O=&cqja+=!bMr&2$9p=hI^#LF1#u@%(_W3D^8ntRuepO9-!bd60Ud9$UVlI0=Rgcskdx?q?BveKee0iC;rj#v6 zLemcOcC`eW{?e`T^i9=EG1U$?L=^*sH7)nMRV(kLWgz^iJ!33sag5m_X^d@tpjUlH z?%?LmGMwhJgrkQUU>^DdR9F)I5=>^X%EPl61cxmyXs^CPi5a#E&9Q z2KVtONucY`?#hlKW;hlz5ujUfZA8WgI(O=jHq3o|BFFPm~LoIpJHPA z>;9i3;96}L{;hs+y&;nQ1lg_xd%BSq+Vu3E^%Y)8ZG)vdr9l28r&0MMf zK(3xSV?d2;fxRxcwv$sa$g;GcKQj|5(Gzl2ez7Bnd?lc>I#^jm?_lp9<2WPUL{T<| z%0K%1E=VOg_^x^t@cvFsHh5l=8k=je28Q>-HW!Dx<#8PTM+lEmXB`A<%lfhqn|~fB zo{ewGr`(3)b57mddn<*JqinD70lQd_!Qp`jies6D=PV=+^N}=bILJIXHy3?*RKN=K zKm&)$%fms(-b) zDT5YLxS$&HnQO*Yics*Sv|d@?xxzqC{pUV62mm^tVt1j1uB@)kC{BmA$NDB!6OduIb_>rq|&TdJ@57J)<|xLVKlm zG$!aw?l7C>Fm2@eWUA=qtU55leKT6OZq;0|vO(9<8oqhpQ0-<>?6!$30`%zPu209a zG|;@{Im%oqJ6ybuC=+or3FKjrNXMYJcA5hLYAq;{At{eO!$0%Y|GxxCtYFOlW+_WNwsl~4t=kv z+qTkN9N1%x;T6x0Qsxkcb|`cvS888cLe3!f-E@kFN*k)0FI;|)e?62vYrLFTTB_V?)7V5_v# z>){_l-?zW7{XCjjCDf~1wfcY-&bM6D-8?*W994t&;lgpGXW^9!EqMznigQ;1N^u=c z+GTPh*#lfPrVHW}t1o+%J61)B%%6Xg4QhqD>)y1z-T#YMnwMl>II70xH|ag*os?tX z7Pr#5sqKwOhSJOh#RN+#GLKx{xWe?lkL!TDC9nMZtN^Yv+x&7>62i=TMT+i1zJ!oZ zsTZv{2;`hsqi?roMRoT2pUi7ajJLl@rp$v!4cRSys=?PdmNURuWJtXGU51*-abEXu z+sQK+B$}WV*Ii%MHkemAW1YkU1adtLHB!Q|jvHJDV*KSP(}4v~Q`H<$&(_d^1aht` zHHKhVYG>#lYMgDtfIsBw>83Z2=&jOU8cH?&mno_9Qc1wQ&|;55ONF)v_>2_&T2kMg zsh3s}iPGZ`(f)Z8>pCGASIZTE@&)&n516Q@WDC~G@l^dUg>}K9gGAXN&+cGymhj(a zA1jz5JZvtzqe(rRR~FD#Gq7^@GZLTn7mHD=Anz2n=&T25ss1U$u796QgE~V!@V@Ml zHhGsR^CS6Fk+ogdQhj|rGA`~yI>M#un$_I_{U3$un4q7Y=)nr?V|J^zsn9`7fyOV` z%S?Y8|Karq%Hu*(Qbr#>e9-MF;4I3LBPNR!8{D_+0+{qVY<^`sf9W^?H(H^~8I%e# zv}FLbpZYYbJS_z5f1ZiSI_Iz88*)x)=m)tT=-iJdWcb`!20y>~e+lIX)pNmC4xQJJ z*pKoZI?a{EZU94(rtplG;aBPF?=*zGKA!sVa6H#kGK!R+%l4K6CUMXyZ9A_JhlZX= zwRprn0-YSnZU5|0J`4Z~`zv47ZAL7$l#3G9=-+kVM^CaK(=`b~SV=1V(yq*rP=+f2 zt?CmJR}Bb@qsT9Wti`+H-53Nc*>i^e_{q)D2I0At_m~AJ_-MDi?|cFe5Xr>y?WKr# zRm8*GxdV-c^RJunqC+?n@GcA8xVqJ9_y zm3y_l2xGxm<7Y1x&N$WIQsTjx9MKL;TzYV13APVbT))HK4q^5&|? z^#b`1LwvFA*IeWKK3#n77_@ss`5AM(O3Pg#m~tq{k8pbN4vgZ7)K>(zT`ToJ)8@zQ zU>WvQfl`N}v~A)`JPc}Krg&sENw`sUa5Qbi{mHOFL*MdmZeRs+%paG|vAvx-P&Z20 z%!COYUR`n&I63|S{cEnkvI2X2K;x;2Z*i5K*=&mj6p_FwD-X^rE(gJef^uflq}F$Cx3g#N#*}qu zJkc|A`ko0dY&034vSY>%4QzST7oPkRQ?Jo4kH^nmi>VNRfD+vV?=+}ngRHLsiVC~f zXyfl!%{Pv!xAS(9?gxvvstte4eHf>F4vKiw{;3x+JYc_g2Wb=(yiiGQ_C6iO$(O_n z1{WiwyvGfw$8BgMtFBWdO?%_8hl9TTts$`>#bqeJwVFS5y>izcuZ5&>D5?;BmWQ48 zI@jR*8c#4$e!qtcNktEizr5fp*=xyNbZoPkQ!h!?^9;+!J0=qCirPJ-1`zt-9J??~ z+fkz*jn+Fnqmc6|yWkC$x~sYORgZ5ID_o{_PwL3^_K_=#cCKSh?&19HY&F_w-;R^p zCy@+-T&qhePQQ56PmB3*$Y-`FU4N6==4Du zQL*Nq^L2&2^gCA!DM;-65pLU}=Ki3}cSx9DSkg*;s93hESW<|=UQ>Y>%vGgrcOWT5 z2VsreO%L(8Ewr#G(dsIjJ!iBdJFQdC?r61aJ;#V-J*KmwCz+f=lt?;2>i%0GPsgj^ ze223yk;Ci-WKufGb%8EN-Ao8@^i(TeG-_{LeH-hTb~eeVQ)QCfp|-Qpx_ip(Q zF4Xd8M?r4^cF$CimaS%_TWH8*xyv0`(w&(<*E5)hdENcAFSJ-b!}uCaPYpJAF6+!% zM!J~)l-19}-OP73S@|Bs>h&-8s~cZo%H=TqR%I4l$AggLGe8CVqcLL!6ln{4h1^PB zZ?cCX{BC_KL(P!~`W`Yi{+=n`QDLfVz1LS1FcELvNJqnDZ>zOFbUaYpaB&u?*bKc` z_=h&FZtYc;b%1i899IJeUxxBfNV(xuc*m`6`16$m)`F^g8y3sMJ>Fp#9nGD(t5s5l zLl?0R+<&9mk51w@kE$Wy8U->H)9Om;#jxWQV9oM5D#_)jqynbD zqPy2*e`mKY=U`FpCLyGA&qrOQQ6Y&xtU5Q`)bGD9*>}uKJPX;EI{T6o%(oHes2Bh&f*Ega8$TdzrE)Nfje6cqZJY|C3)9n&@@c&2M6OC zy2ap^H|Nr8+x*$JGRDv7s7KNY6|{!orqQEb_BMFl;2zcTfArX~*}{NjehYlMR0);|p{-PaWX5IQMBd)FNHkJB-;7W$>1 zGIYcegAMfANk%?=d%>V2v{dI$_p)(Upb$b8sT}~SMq599hj$EU&)splez^u#Td`@1 zExhN?CM;|^q@UrL>N5zbJak9|SuE!)nhuV}2a1H|79AZIe-pG}53O`KmOV8;eBDHD zhwZMW=L)Y!*Iy<(!WdWmtAycUbNs--4OvCD)PK@;M>_PImLic7w)-|sdRG^3Tn$O| z+&(yC((uUH6phYf)I0l)sponS7$b%M3yHaG;QtA#b9PG2RFhfuN6OHSN;pFC1cHOra-FM*8u5pEY`wdb5<eKp@7Zrlzliv!#gzBE|am-Mg-u^k(?PHRI37 zZG;fTK;P{cyj~o1Fqnp93x*T?Gx;1 zWx``OuEU*YNMQ(%8NrR+@TxOS6dUE=7t&)K_b>b3sS`UxD#W9cJagb0C9&GRC=J|r zd2KG*Im#IIN;@caeo@kI>}!QTX3#e3_4CuJJC{#_==uLBee|Pg-oM}J3`KCFF$?Ie z={jS##r-E;sb=IvA7!pWoM&n&Y3BhvTuv~jhGXnS1B_i$qbuJ_R}QGBB( z!$P=@EnGUF!7QUtX9cdAG&VErn66;k$cMVdmQ>o7Ur1CwW53SopC}`+bh*Vle__f{ zyX6+Tu9|-SZOC8wZcUY0f=p?tC0qTzTEwMiCOJ^;3#n!qSKeE90Mpj@&&t3MX4Z|$ zjWC;Y7BG(cBMU|E({Hgl#@EcHeI;piHM&kE^mxxmzT86P5m1#miSI~HoJI(j#?2br z>J9^8A3TtxlRH))>Vpp)l_gq`XDRBryXv0Fx0T`H+rN!{+`kC*)vYX(*kszXA{?;Y zKDi3&QnARJi#R({#8zp#^HSaJ-SlOp@UHG5#9)jO6u&p)$eOyVBr6)%yj!;$UqT$ z`u-g)o9ela(h24!?;3~j-!W5P7NbySYqkrk>eUbZF$(ubOz%)7$$U0qLitZR?^xxj zphLMmG&Q5sZEW#izZ}4%)qYjEL^Np1pT7Qn7|5~2I_%*D4|c=*jGnTTqK@!ZBI`a)NQ)-Xq8&p3JAAQ%VfGBGgo2djwysyY7y9^%b>@}r_ z(40^zDr#^fQ^oG2`1YPabeY%?l*N9Xk(94??BN-$bxF$RD8%{YNXkyHPDt`{sa>Z` z&c|vKMR_Q#DmPd;{pjoE=lz*!B$b&*`4w|L!8$q5KYt{=yUVJvVr&jEkNvVmWx?(F#(;(a(A1^udDq0Qp_?Q(v@rx!FbOd8hpzD!miyOb zSL_;oI$(y*tqg{gr!hmb}~rAniNBQjbj&ezc@Jj*2r3dibqhL3TGA%Zn)gCv}hwo04@OjrZ=rXg4W)a z*Usd5)6R0P4kmw-JX?DUbC6LU>iv0wd);Q;OK z?N+zF(0^8nAnbesN7N?-Wf7C!>9*DsYc|gD3l}a#b(JZ{+QqL%$a{Vl=(^b=IokJV zBXE{9Gz{?s)iDoOOB|HJ8B~6ku}B{C9iO&F?BaDoLPGSHaJJb++kWZcw($>wQEb)@ zH|xqAN0wj3UlR{}9LEn7l9lTq99QXoWAmpUw0Jz}d^uW0D8#J!c$IeG`VOMWg-*F# zA`PSZASrgEZ@YN;wyBT9)Y=ImGTBvg_;KRP{dwsP=Jh$8m&Iq#n_uua5}}>jm!1<4 z21@Vtz2QD#46s@Fk(a?xA@E~WwPejV+5R{1k{?`JwhfZZNU1^N>&BJ!y$~2U=4Y1E z)Qr3Fl<_?H5>n9QwCd@d#IwX5C=H<(|^Sy|wydeHY5OYx;zJn683=fP~mhY;KB1 z<*0f)Z6nYsWA|O?_6^ggB`^)eK!IBW73GTd(eAbzAMi4lZZ9LfX)jVW6n^H8Pc9h% zTMIUnl$UhoESK|clTP14?ybsU499tj)zoAj=^7+tgb`dypz7^C0#A9$e}06r*V*ev z43Ca9r|dZ0xUJZf z1sC*r%B2^LjZh?rv5QX%N@#U&^f1fpPG1}t^7l}?6QJUiCafxZoaj8cz0&WXklgv> z#h2}s^DMn=)$L`{Sw1}b6CuIM`VC?=E*=xB%s0=#cejpJ(DWA>0u9$V7wX|~tP-M+ z)&8zZ?Zv3J)en5uVxgzL){m^EnBi7;lDk&7>K|ubgleOv4l7`v*)MK~KP#MLOtX9> zbE{8xd(*bs&D$@1OIb_rIL7ldvbYw!^j?1oVt#H%V|A!z@TNsE!QoO(#bx@7W{_c% zjIrunZ!b%S8HtENQ3oA&d2FSZ?mvXW!xgLcjOw5<=ZS@k%h$jCAr9 zRZSPB?wkJPRYa=n1v(Ylwq69h`~eJ(vB4kdY&8MZOt%Oyo=HDG=~aP1;AEzFlhebe z(mQP3Rosh3%JUT^3O^kl;ggDqqiOzKdl3Phe6oIxnsJRg<>{|}$;)QEZs>g5r8VC& zA_?TY>FQpVYw^GEyJRS+HxjmrNUy)r9>D5d17L)9 zNgNc)p6fpzM7fMu7d7FE`7K0y_yHw?S;&pouKSn@^e61%vlEspz}E+1a?kvG0>}M@ zvJ(-LM^6SaiFTf%aE=OBW=e~Alz8-g_`-ux+QiPa2SUY3e#s|Y@6Vc6Sedu8dhqcq6|Jq0aN=^y z-svn{*MW#XS0XB-O zlWVh-(v=AAGKWV$yy>ARU4RfYO(0n$#=5<{{^#;h=yA29=_}Wx46FhYy0wb5v9nDF z6aa)j|9zG4q&8Er+OS)d$6?{hf_%rfAmC`NOeES+5qCVO$ znxoF9v84>%W#{%2gpuqE+yL^H7tB!PU5%iFg%I4vnVraEYUPmJ!<6(6qBCW^s9A&8 zwcxsp$I>Y-xSBY$@zZqmJ4GXMdkt>3J-|E&Sg-0ngrl8|{j3z*R`=48xt?z#{xmIF z^ALnYa|m$Jv_|Msz>^@#;DunFC46uo4BiqISpB9MFMC?`Eh|0EgFZ(eWR}$XK83G8 z9#*v18E)lgn)Xp=1qo;m|2V_c{O}J|6%5UswS959HMUuFPg_erk%+L{U*ru3)h3 zSIHkgh+S4*T|F`PhoMcumzuPS{t!7Om^}<2sDTDB%6Zo#%UPOeWDIC;ZQQ9{=9w_> zID<@tMo%LGoaZbw6zm|jeG9H<0KVGgUg4}#`5ECI0eGB<=cIK2}LMslofeay6|9vJ2 zdCyeHGY@F}Edu5l&`J&*)(DwAZUcvqnnsa&qN2!adgfC#kH;ByhP33Y2eq4r+kJWt z4uyPrS}^fJ>AQu-=M?Mppk}x3>O`gwo7O)YtHTD6MH&B!n8^7#KOBJI%sXu=l^cNd zP?5WBN*7t}v(w=LDGGgNUHOi~<)!|kOF~MVqc8Vbu1ay%TELgT)TX-!#)d~yWyUkV zNhC(KxlU&)w1~SnU&ozxp=iK|Oz#U-paL_>$I56nLU*lXNkKCvctVrum?&3zK!*e` z%G02Sv0sU*Y+iGzUH(AB82;qU$q0&@)(3Zn??F$)@MLaRxs?TZW?U=-@QOR-y{lg$ zADgh-mAaV2VIel5$@59TM#-Vm6l~%1+dod%O)GtZZW#MeHq*V}t(dS%w@LA^n>&y}ThK4?}p&#X^fmI#e z6X+w<-*qVrW35EmNe&apJsVJVM572hn@lzYZx#*Xp*O1V6fz`QA4GD;U1#MFVxO$(XcY|q=V`$HD+|Riu(cXowe8Y2skrOlXJuuT z9ZKlxHi#hplSeuK*WTB^**+adFkoTYN5;G7ZV9FaxV5!a@a@~T-}*|nT{UC@LdA@TeSxct8@{{Iiymp0T)L6bxJE;uY~jB#9* ze`Q*bT(07_INu-l;j?=jkJ%07)pDB}Fs1X4P0&xUES!8yBd3MX_C~+&tbV&9WFneb z;AV%ag}aX4VO?#^y5DH7%Qf_2^c%qu4*068(=@b4nn|` zL?z}JnLWtH*=U|QQP@)UDpgI#K2;p3)O%s^*Npq_puJ78!4xZnj zxg^ff406K<8W+znMqK9uV4}#xG|=87kdpO=XlB~2S8ZU_6QnjU%|$aZxq&L=O01&7 z>mRr4{RH_%nLb|7jKxar*kp_~r&^DzS7sZWWOIMUlYEj;0ktsL zK4~dUk&`z{0Q={pi%?*f)6vc6Gp_(JJ&#LUVS{eJiX=Wu+;w-aDLn+Ahnbu*liN@K zB422nVI4r8G?VH1t2laRw0?;7sU`+~;fe;Widtd$UhqP*#< zsWXbZ|_p}pC4N@pn*c)XY{eGEO+*Aoyo@2j8__=MnM^3(^nU1?$3pC$f zMjI4OYO8_q{m3YW@980V{?>+sP2+R^utRU<)QNIPXj1CC-14i6R*g@Z##kVxR(}^u zB%FpwJ&MQ`I5?b!G?8e5ZS|8P~X|-8YvDSu`w3UUX&CrMW|X#-vw+! z??nLXlXLT z_B-N2NQWX6l<<;gY-dtQS!%zalGUAOmIJ()@tz1yIT+8pnPL!BIpM#_ zU&;qJttW**g{3987BZ_l#s&Kt3bAM=F33Z{&RRcbu^fe2YWuymYXNfiR$8yGA8o7? zt>C|V8M)Ms?*9X9C^*rq+W+;0^rl7b5)LWc(J4BL3UNu}Y6{oQ9RW}2bjUJN&eu~I zNm!ku?6t(SwA-4RnuU&oXH5(iJ%zRsZUrdc>0qpIDLn@v*TLB_$>Mg`yUp>F~Rb z#{R&Dz-OTYTY94?jDZc6%(*qbhm#51ctOp6CTPEksz~aD$0ePen{-HHVX`)S60-Z5 z?~!C(*xlVl+J7qXT>&~Z)feXdSV3VmaR6^E(FVWVwV&yc@XP|!${Jpo8-!zh6AQK3 zNj*wJ2&5inRtwxa@yCHy=~=+J?}1uVP=04Uf`$g{pUh=J3amRPs?aQneQLW}#?LqS zJ%idu;Y18bSw!QVwFm~fChybs0@DuZYvO`zDUUn!ejK;|6*akNaEj?|E^Dw>nhgTon*WZQN&oBXQv|ONRWypni*4vZWDb$ z$7;srn{1G34^&proPh`u+z5A@TX!6#CWX}h(FXIH7`?DC|Lko^;Kj3 zFp_m^sJ%(BZ#AgJmFnvk*p4Bmc$U*E;N2Y;EjmFG)CM=mUh&`ohruCZkmVIzbHMrp zgu0&k1hBPyU&gN^#b@9x(kUlQJ??M|gQku-(01t|mBGv5MqLtn>TGNQsL+Ev`05b( zie%W{ZCMAq)_638G1QVxE=yDHabp{FWA+zsMGC_PUU`^Dbnvuk=~3*st$J_~v7VjZ zI1}kx1jP-_q=90^D+#ET=@}5TlF?loX2e*wJ$PqrCp-`auIN69xQT$aoTuiiW%01Ag6qUf*7NPuqr)bp?H+okNCDNUP?jh45*!dscpIpY;XxRc!Q0{8ate~ zTdtQ*^!FS^El#b6Xo2#GV^e`RS|y$V*M(QhtkYh?#3!qSd!Wd@j#dew zBS<*N1lQT~vpc84P*PRV>?2ez_{4Wm3Jd6wy6+^Qc; z)1kV>aAndI;v8+@Bdcrw{aUhM#tk>@&?!cCyD!Fe7&33Oxo{efuwHZdB7{D)S-0I6fczZ?&7#e#$pgM8>`qb-Mfu)<3AS z-5pH+pUTXq*gxJ)3L@t=p$#PcZIX>b#`0Rg3z(Ha9s*ze~)Omin=fj~St*y+d6;vGP(s#x~;vN#I{wb7Ho5Y57Oq^ z=G*JnC_%fxpHkceH)#S;%7gue-E|ow%iza+om<@5}<#q(M&(DY=E!~M)SHU$$T0|C;l;8rxkge68PiVd-1}De&iPL57+rO zcQu%IpM`Dk41^I4>3(NJz1wAlLqD{Z7)-Un@1LT+S9D(FKlSe*j{TkV$rlLcu1G(z zKQ;d;o(F+dSQl>nfmN>D#Rt)r`!{Wk^uF9=T=M+&@OSs6;OVoEK#nv(H)(zO5ZC8@uV&BgBFk{fMro9x=-j@qf)i^K_puMNU$=23xlW8i?;L0Cf@ zrid1X`eOtT3kb_Wp?lG<22#;tm5qa}&;zB=!+rJ)v)R@h)?n^8;YQe}R&pCIh?V`# zIVtA`Tz_#JvkGP9k&V~$f9&c(y^$)H&j(lVT7ZBXyvqKo_BA6`Mb0C*t$GO??n>6+ zF=|=35y~I9#CTuofk{PmrKKOT{`4#F8y6W7LM*QL;mnmKc$Sph2C9lH$4VD}M)rUM_v% z<=bKi0-lW{Rprky8g-~}?f`Wc1#(){2Pojv(OE$ymhCx$T)la8k0?Iy-Jr}LXmE$3Ia;+HHcCYAwUoakkAxV zY5)l#bfg3bp$MT!3+HA(-?^^$eBblD?|Yu}ojK?Z)Dbym?<0f9ax(I48< z0lzOie`Mwh0x`Cq{GICX`se@xsb0~1sABZOdUf*BbB@K(#XV*Bo^*FLXEW3KjEUIO zBBuv#Ci)97TD{E>`LpaVx$N6cPoGw3$_PDwrPp^|=;Gas0p{E9em*ER>0)$+>s7u{ z%f3yzA7uPT`$N{RjP|(=uYI7hV;8AySFPRer}tzy=w`MXYIRjB?kY^`_A5-{CGnEk zU*5l3M=Y0;$-8T0mE&IulZqY&LgfXB!8?G^; zWa6{>-Kn`ICVD6A0p|iicqe#r^~d@t5J*p1zWC@qvv|Yk}dw+R1oW2#30>bf85Cqq4*%QCS= z**%Tgd9K(Z9#3}$CRSg%>4~&pqQj|H5weoygVw9m^}O&O6y@%{9EQw>pY<3|2IdJpS2!Aa2V z)A=l$O?S?NKri>9UwY{w)-UlS`32(`S@8*Gw}l9_xAmLG_VnF(>Rzip3TX4GvxkSr zaZJz;+qFzV>ule)g2{VqO-efF<*evWS{eRj{;)X&USrPF3gxuM!A#{5c{&$>bpxt! zv>Ag-=H`#WZaD7_tT*S%iuVG_dk;(WdYf~ zFF550P*gzntxll0Hqn%QF-k_hhWT1P-(M#R8DO*Jsr=076ZGEdALAIVQiWM@1SH2r z?fE^pdcp7<+>x*ah&JM8$1)F8_-Q_Uqh3z*jJ1b(j>H{pPIf@`e^M^bFYv9>p=p|C zcS3v2vR48-N=E+#q$`A2 zto?_N+*dltOls;~TaPB<*2N!6GWHLw)U^SrUp{8zm^X0@x^a0nm6f^od&z?^`X9n` zl97X+Qzt4gQjMGl!P@XwG_qnfocK&jFERq1`9my|E%GxB1B@+q-)J!yAb@>0AaaS` zhw8kd5$D&_`BmMWjiBASpnsdEWY~G6LWk*3ggDePc6)@mv3&cJ5S2U#m9lFAfo=q_ zU7H8yva7xNgV5YXrkgv`N9UN|*=D_y4qcv!`X-TNWtN>DhK|qW4q2gVsIqtkmb5ty zEL;l>`-ll);g<79{DEFD$}G&h<`1BD7u?9@@sm|=otTDh+aE=$_Crle3P~u-m-K_L z5`o3^IddTShIDwBDW?ECUkCXzkz31n@|FaIE6Ofw(0Rm>&)EJ3)_rnCf4`||P@~Mj zkkDQ@buK)bl9@6pL>;#E)JDewQZuq$2DIil>gP7e=~F;P{pMo6Ipc+q9Jd(z0Guz!=@)!zHT4gHiE3$NYkXxa;kgv#h z=q?HZZ!Fb)KWtN42C0qHR<~6f^Xj-JfPr+e5)eopb!1zqsBPZG(KNT^vL5+Ac`&-ozg&T{8a`#q}6W>5THQUFK zg`ADW#*Jgy3o&fK0Pf{gsfz&u=kwftT#=)z>b3cYW#EzmqndJ_*nN>C+@Ze%sG%-+RG{Vx| zHI+)dEH$6od|jCx73?q^^xMm$r2ErrB{ZUZ0X)$+H0nc|Fph~BEf zl<{~@)-rW#Rn}(KNT4rWdo2S3Nj1XhWKB`=!AyvRtMJsEwn%q&w&I|U$-Tb)_3~{z z*gj}fvRYrlGR3ocm}0^=z`Qf9K5=5&T(lwPfFJxkR$K1M4A?)MTJjk{gMtwpz*5n= za$>vfVs8MVUN$@{3mDbxnz^usvAhBQHIbw0_Uy1)p8_=JQ`C7`Dlh68R3*D9G-$b8-H<@G;|*$zURlExuDtKh+305V^`m|Y~Et$>#@B7 zt|#}UzjDnXQhr)g7KF3LRvK@>nQ~fjt)bt%^Zox2!LyoH=-NWMwb=dTBfI-`f1s_S zY|EZfW^UKu_zu)dTc)U~0nt&?X=7Bs1%k35eQHMfJN|j!vQV3I9Yo5tI%T1Ib0#w9 zx;aV^)Go7IVj2?s_k`LXF)Ni7M>O zcn)sSRUq3S*-FJ*b5p|>zcfkbyzA(TbRJ5cJ(yJ}O7LnmRUGs5)UqRJpa~T z|CO@Wf4Dh%sC&3+LsF*3l1oJL4{8qUY+5pHB-W{>G@(|HbsN%R?>J^!5jk~iX3OS$ z*bIou7T7W#R^Q;gCi4yYI$=(v!@API!zv=PZ*=^st)ew1^SGC}z6Nf~N44%!c3r&| zlS>o0h|k`r@P-}zHBt9@=gi2V-*w3xEoaI6AATnI9Bt?NzalnC;uE5 zi@bJgFu!>od4bH8bK8=g5d7$p&C?XqiTV%SNy_3`)sqquwgiry#3%f&*jqKZdqL-W zEbATX`s>S8B?j{|o&?PW1wQeaDYV?7eX(v9VPQ$F9v@{jhJy>&vzDn4ZjSmo)lkM5 zf{vN>CpQnaD%?B8m~Jf_#O(u#HgA)>s-r932kbmKpDMxIb&Kh({QU+;)Jq%d%C~hr zq$k~akL5%+dlBW7TBS`D=)xIPcfnJ%;pS4(b@=GU26u+aw%qRvUb(wnh6N3#4kUQ# zB}uBncG_l5U$AxpwUj#}re!N3HMgFP5w!Y#mmc>$D0ogU`ZV>myU1XRPDvsZ3q1 zopu=b;2X--dB|x3E`!TCY`41u_WZh@|5Hv1cUwJ*6RpkkjN9Adre?e$?H9L9uqfuUvo<$saOfe;GexuXG8b4Aexk5}` z!`8r%BbMFHa_L@E?a>Ag&&=+F>K{U@NyF~pjs&IYk82sqw6;@FNj=&Pk@U8-zxI91FH`t%IZw9;H6ufA*6QGW@4QpK zQ;nhRs+oRU1(8?AOPWq7f$=+GVR6Nm`F^>EU3ukMaXM4BPdJaA(al;3<|ubv7eiaj>XY$?3?7z)s^vuO1A?Ea)?>_K z52^>s%hcrh*3uZKm2Xm0EB*A+$GP?ETW7)Vt`OBiiLsQQiFm7xV8a<|g55#Pyfilf zm$PGqn9fXVH4WNzb|5Y6+0axRenk%ZJI99No?21t=qdq2tgA)QkYKf?8qUFnh~osg za)+a7f#bC^Zm?sMk-bgLMl)%l%A7No2VO(wgB&f1I&Yx05vDr+ogXBev!*s+y@?`? zNg2-{w^~l%d(WSvd}e*x@uZO;H}pJVB9s#@ThY)$%EfK%IHoRqVx9WUne?Zd+C7A( zUcTY3!tC_IZTxWI?4c1T=dUZw_j{}Erd((wS9}?t5ZRArvhoLCmHAo5?L4e}v+viF z>fnHf-CWGfI~s&lX=!Dd_V(lUx3yxEw^+$CB+*-ZX45#PQ@|p66ShNS?BrJ7FFTCz zw;Bs?3=Aefs6s!ehX-H6H~Oj5$K_4Gy(zhOeQ!ldCPEL@wJC+CiN2AAr?XghTi+Q}3eKm+htM&C<^jxoOn z`$@Ab0#dK`DmIW8I8dOfy@~^I`LCJy+T8SZ*q`>E#&BK7lHmURA=)X>z+($w4eJsE zbBnYz-~J9`zy4`141OemDSAM?352PCXd{6Ti2cvMA9?>qSoCjHG0GE?>z#ymOBt`} zk#vmL3`m~FYh8=fek4)P-rgQge{#CGcI_G*DJ9;#l}dgfyfT5o`<1>Q9^PpPf@)_F zjWMO&>}3-MBp}>`tN$I!u^HSl^_m3&uY~$xswCK_LM;IZ0Y6{A|KExSjp8CEQaPpx z{O!IAtLl={A|8#2NHoK3Vrx8RM#>e!p1GNa**SWj^@;Lg2s{RQu=Am@pxmHc$+Ng* zuJMpElWsM;Y8|K;xBdjzRrQYl*Q-o-8w^v^_c;g>Njp0I66ZBH+!>WWG)#JkXfqCa z9Q|FR1i$5-L9wx(CO6Gf5heXiiw`*`VmyCoTK9C?S+5J%J8)}hnj&=uR7cx_8c1dF z`%1rHuwb6UYnF2FG9hnYLlGDiML`RB{VLQQ z82uoq>G@g6;z&a%D~O-hL9B~@(FZ>MyiS@Yr-&8__qxYh?j3UKO;M--UsjJ9sn{=n z1VuC9O1qQ|l`6S@Ubg=G&DsmXvV6<&f>v-r040;I^fccB$3+q5q3um15zZ_t9-PAy zaah{K0BtsWPyK1QOFUeoLOid-g~KVTNcA*%WB(UTH9Z^cTjw|<NM|VA_8Gn>eTl^DKcIL)R-1p6=Zcj@ zQC^YGZqyES-oVO7uP+ylRP&cJ4)1MNp5K3++Qgrurl{55u7p2_>yi`{ELFKcLFsa| z@PFB$q-xQ*If!How@!q;DVyCnzm(=lao5VYOq$SE|= z_1Mo>D1)C-;rbsXp*}+^+~Ut)3oEu1hF`}`3h2X8)dVvwr7PS z1Nntg;MeeoBe`QG%v>|vDla{`*9<9Dx?U@HA$N_f0;+5@8J5JzAPdI&TcwOK74@-S z8tA=)&9+#Y?Wr5beL}S7v>!Bj%}g2 znRuo(3ciQ6f@(iEa}M5$t7iK{E<;4=z>zG2%5yHrj3ESb#_kj>rKVZetnS?!oJm}6 z_%(#T*)d@&uxpidO}GDJL-Eq{ouNVw?}d`?uI9eq`a{iH-*R^1f=Nx%t6gHUpQgF5 zHj_^@w)UmX#g!aExk(Fmd|^LFBNwO!7hB-#a}{eGW!ct4tQs`z?@9_ElHPXVW(VP zt*#C_%H0}2c+KE0Jt;&}2%N>P$djYxI(AO6-fp@=mh~yWLu=RNNO?yQ-Yh#XA*Tj- zSu-KY7pWBvqCG?SSPogK8&PVChp+Kp4;_WOM)A_!*BeGZ7^dfhy?PbA5kmqeO&%n)a9r7Y0&MLOVSQtwd+qL%}4!k88Xs}OL-i;#j;8d zr(G9iwuqUT@@s646$iyX4(_$>rmVAE4wp7@{NblgFn(m+ogv;sH!7g)5%uxL^lwJP zGYv-w2ULqXs@SYH7A=C$*}=j_*1^c-Y8xZ5Ey4V-RVlUP9y%016Y|G%H?;|h{~!;} zV*ke#LtAOt*W2RP9%NRc+Q|a*yezH<=*Kgq6IBxETj)QgV~QjyQ5`{Wt@1E_K3Qa! z4zeMi5Mf)ClUqV<-{+5E%Z<-xtC>ZIqd9DB3)BpEH6?dlOV;gkNR>Ui^!M$Xus4ap zJKefqrTT|eR_EUN=Bcq148C$}UVA@j>Yj@3#xqCQ-f~~L!4gpM^l58pF+odGpuI~_ z(;*Qn(1Dpr<>x>Mc43fxjrM(^eqZ%8^XzkIeVP;D`VH2JEv}Vixs~CRbgpLDgAwog ziiahu_4Rmq-JNgCZoj>c_}#P3@pI?5)eM}h{RQj2{OOEMqPM`VU*PJY9}b3+9U=)z z8Fe)i`%J_jNmZjYw2h%5b8h^03zK`^wTX+kaZ)0RO)1W4EzM~Ke|x&a{{UDziNZcB zrS#S7n#i2HkIpONS<4b3E05i|lNWnAYx~cwKmIjB`IPA>Wfw}R^^SyLKFXD%dNydA zG24b$bIP}h{UsB`G;^xOL8ix(joLC;zb?#~xDwoheOBw#l+@u*K1cZrJiamSC2frR z)&ti@kRN;Zvk+PKZHYB7YPF3tF6YC$*l}*X7wUQSQ&x*xb{E^POA=$-duc+_s7Kvv zsuj9A!GZSIGs%kgi7f-u#vbxd>a>%-7*31X_&i;b`Oqx`lkv##|+x9vO!kdLCO z1h#Q!cW|fOrX=;thATOQT@C#6?jg%N%rjY~Dq0M;pKdt4adI_Oi@}T=jl#P*%O*;@ zt;!}Ux)t|AXwYpoH+T15XnuC~b88C~;#6_)@O7zfT+uL8+RjQUPkl8F*Wg9OYFn(n zm^+|*2n0aXC*sWx*lyqTUkt-Y@`4)0>DB3@B_`%yFi&vb9wRj1I97oikL2$9WMlG9 z#3Q=NM}+5FIpLN@pR&N2anK09ANFjtIuXl#tjR2)^hi4~GIhN@;*lr@!fkDryD`i5hK6y@!<>A*?*ja!;S9$XSp zXp;w7irr0n`?Liob-Rn`Qr$cVO$h538p6fh)Y_ zQo`3pew_ni_>t+}vT3W(c_yy(g5$k{z0Pelj$O{K?+0MJehqZ69>q&P^>B>2zofTTdiI21P`89YVLdg5S${dWWW) z#!~d$b+(4_`F+x~5bOwpseXwo?r>2x)5?)%%cFxw`(VqPa|kZs4|n{WNvSn7eWm(~ z2P3xqw`3~0O!oKoUyI@2A;|Ac4*KI+#%h~`%*4ca9Ro*)7I2bnav7w)$n~?J_xfyX z^Ck#g&AQ+u1%r=2o+gtLFLaUoDx&uzr%@0Ets2708xchLHRD%Y{ccm;Z(y4V#kzk9 zUQsOA@Mf*g6YZF+sX}Q=26vlBH!B4x9r<|om$OO>IQgjMpVfVThDI%9oLrG8^Y$@D)I z5~d%1#L_WwO`CN8C!u92_d;H?lINw~nSr?AAD2U#zuI$D^6o9xQauQ@J67a{ zwu8>n^ZiT-Vo;R0KrWDVdt<3^%UNvgwqcyUwYRz8@Ee)y^M!$qO`($}uPF&_Z4(_z zJ9iiP&mXxVg}=Tf{`uEc9icE!w_iWwd&|y#;@}Zf2wGm*>=`$117Xe zox(Cd^wwZ{qX8y?Q|$vQ+oGA*UM$DE zM(c6wJ5P7Dfb@z`m#i!GuT0wXJllRV@4QJ(7K9}tQhFZ@*NSDt!9 zim#F$7}9;Yvzvhm`G#R!Tc@q9YZaKQ!U)A#GJKphq)K05Duy|CYr^S!tibMo_n88e z?zVl&bsb+fbzTxqI3<;o@-|rmVq}gm{{>8BIquwE1p%rlAl9`O4OaaY*^>5a&{O^| z^3nVD!LfoK<2AA2eYe>vTHOLL&Yvtv)8_fDyk?ZdFQO{aMc@s)UsX;f4=m%|znyGX zr;1BH`#0SuU#FRiOC%$3J{r84uWJn;*#k4!nRUDjVJ+nh%}iw%kwsBhgjp>d)D< zw~z-%Hq}WT=^O11=VAHLSdV&2QVsSaHJI2q<%$*R$s@W=ZC3{7RCc%QHm?JZ<(%o@ z=>uy#9Vm}p8@Zv52a?186h6)wX1TK-=8vN3}0aj&!Y$eaF^;Jc(z<9asUwPpKfY&`apbj5jM4L#wn2pnpmzFpAC4zlpeXD?WsvEO zm*lImTP*90M@`FDWu}BUnLq>X6mQ~kLXLpL@mtD*m41H;b#vl#0JW0Uv$OZwfg`C4 zrf^h6Ciqbrd!J6Av3`f|i+OLw0hzV^LmnN9eC`$5-8MNwB|(6Z^5!Lfm^B9zsP6TD zKuN^ke!YvaQ&;gt-|hrpfKnJkg6T(53pugIriIeJj`^3dq5ZGx?bV7PS{HHkG$-+J zYNcW?1WV9%G%++EX=3}7_|!B*NxYssly24GsKb5BguR8UrHA8oUqhE*isfVM*6*Mu zp$^q9KDt+wGfjI3-{~<%@Ap4ZS~3{}GYY0GVq_sfzO0ed$*q05+$`acevmsIQx6_P z^(kJAQ1FkxUC(8HZGNGzC!L{-_RQDCEPr$4)oZPMabJ^i^@10vMBbY0tPtyrl~auIam*6{J@^bx4g%#bkKD)e5qX6R^0jt|aDt}u*RXMI`W(8!>G(VcJ0 z(yo|bmd$+ez{yj_%Tn5D{_TT`e9ty3*79urSXJXVpNtz^Bh>rio^F zXnR>j406p;h~~OFGbM#ZB@Aumads~Q2*n<9*2->ZZ{(DwR{rksu1(r`(kawF%4?|C zl*kb4&}R;g4Asa_OItq-{^???XlYAz`zmLr7!_{q>k}q)MTTDodD#IA(etGB-K}@A zF&Gdma+WNaV|1*5tTcHK!ZU@(KIL`7L^%qu80nNo&j`z}_Ter~FG7+Mk>Ra=;$CcM zow>4pbXG-f+pqO=FGUxo7|AJWW|z+9KfYdYRP6^N;%ao`S{QK6=TJ{{f^c<ldEWAY~gt#lL=i)K>`+eZ!Ke7@#n2?^}V&1vZGN-#T*iLYf)r)mWn=f8%9 zKiYzO6(_LIM;KMHb6~MwA=)u(+#~K%*+`F*RIL5vlzUGB#E^!Ei0xBi=k|@;zFI+i0)x)H8a_C!sjF zWLf2dO@qo1GqFykJy+p}bbH?ev)MkcD)R+zgM;{Rg~sKMIeoQ6($_GQnQ_+9)uz&V zzkM`BKN)|FS>!dQBDmX^Jj6FwAD`S7KWeI#ZxwGxjPTI=^gL6QXD8F$dAcBL zS2x<<@MW+<&f4RP#DdWXs<>}2=MYOdC%Q7vFr;G}#(>Ot^kQzvcV%o?E;PGr`Vz>Z zomqBgh;DSZn9%!IapXHPgK-BqfUl0J(|3V!%sDcU@5RdY(;f--Pc8m#Ghm-kpRvYk zsOJfZLS(LuP1C?Fh1~#1b|M}^DMqGaAi82ea7bWZd7tQ~0@p$hz zmquz<4ZrGwt)C7X_j`Nzi|M$ETo$H9)<_*XesT%TT?4V;dRbBF-@5WXkEJ4y?&4OF zve9Q>EJ0>betz^wc(YitGK^Q_H;UgS0nD3Y*7Wx~=)-DNhDewkkb<b0k9PZ+{~$6$7G|1tJ* z>%;-+9N?_(6!T)%2}tMs&$Bwnh3oIIN9z9qwdend+x|6WCz_3&UD67Wt0*Ts`;OHc zWL;fd2cZX2)>PT8Z9Jt%$`tY{-IO}P6hL>>35CV~=;ala!OzGI zD?(b5A}!zocCmQ&It4%!br-W_{7k9v_In2^v`gMmUxJv*XDgPqoEqs z;(8sqpL{4yryqIKr|N;>-;ex9kRzyXyI8xGqjWQ0B1r1i+fpiRtl~rYNp$D+x998W zU0nIdX1B%ZA3=aZ_}})LZ8-f1G}10O@q)Ev0N%e7y13N9AluyJIwY5XR3ci}xn1N= zKi|ZbW$R$*s9UVo)>(C*?{{H)^SlHS*nWACuN21W zsqnP=Mos)1JU}nvEiTSNQ18mVhb#>>oz92@rtT8@f@i>A)w#}bB)?B(s93=2pSTNx z!gWa>ZRs!PPz3<=q5Isy5CIj)p!an9+ zpgf>%ei!{@_6+Y({Ht|%1fOh}o=sK25Y|&C=drnVx~~Kbmik&+2eZeJH8slSR)LSn zVHa~X5cL=XhV`^D6I`*AKOFed+P9LATB$7``0NMv)0d3@XrtCbs#Vv(u2Fki3MNg^ z4}i!vg*6@bN^_y59%ZdL0I%|Wla#SvcB6KNN7=-O?)`Y1AZP;!>M>GFV`|WJ-T)VZ-Dtw zBc(qq+DWuT4lgp}rxyy=U;b&~Z0Z9Q{n_y|5w zD=U1fN6_Y(5UX>*L%Al~EK`U6a&U##4=Ui$jR&sjX@Sy6{s zvcq>aM5x|5T;9$XZ&vrf#(Y;M0ppA2rKKjGw$;;RoYd3C>HhS&Sx-hiS#$m}vS$O} z8-1ja!vckUF**JOPE*7y#>9@7)CKZO+j|HAO1XyvXy#eG!t%wp{?hvgH|d9KFROrH zqp;DFy<9;@k#4hp;ZTst_Wbw zxYfV%3V4pXMU^((FKZnp3JVJrs-@KCLgJzt9Z!Mo7lFk)Cy6|hwrGn0oC(JJp0fgT ztWzv59Vy%cha?o1Tj=GuTAO{EwJKQ!nscdIpu+%UYS<7iekY2Clu(3=-;|%1@{UfZ zkrTy7Nt@g@IO>S-NZ*bH)I4?1emK8|>bim6$;|V@woTSepn(Zr9?HIvrENxhU24a5 zZBYJQ+GvWSCUf+5&o{*y345ziR7V#taCF%hkDWlA`>1#C?#*u$-1mq4Y$LU7j*}5V z9k~3Ose4%gNa#~yry$>W(c<{Vqm6|VH+Sw|qyIq1Fa3xADfwaQvov63K<}^q_xP^E zTO1fegiekaXk>(uTge>@x}o$U@q{PAf8w=hc)BY6jlhfdVfwcKnW{AZclK84FdYVC zdz37XVCaW7PwckLUUIKX-Ud`Z(rIpSOFBIxL`fWR&>M`~@_k|w4NtA6{7z*Zxi8nS zDkl~tyPF@7nZqe@ay3S(;nGy?n1F`lg|7VI4}Ud)+%I@FeF%?&V?WNF`t0;)5@en$ z2Q>BIm){(a}@p)sqdQ3r6?mm3j%mua`Poc^PR6*xtjs-kbtfku}6WZ1d5GQ$r$ z!qXQ4PIk+|vqJbY?b> zSR6S(pMI?cwpu9BHj?B&toarkz(Nkjr}@90dg*vZx?-n`yppWN7gMTsrmiZmX^wMK zQkg2bIl~nG6plb#@CH2_9U*pZb7pASJszBz(~t}1y<&o_+p1oMxXl#CpScmh6|}@N zTJOcp!w3=qR7Zx4e~;nKlDn;wN#V%Y_y8-$u9#!_WY?yy%vfIol|&-~+EJxC-BI@B5c@v>wq zx~$+D!%4cPg5GDLUfX~4GP51KM<}pA%0_+@Pq48Y|CJjl(`M#e@HBMH6AJw3gAfWV z^{E#+xyQ6ffPDOaZ=A7zn)dn|gZny^`**N9pzse!&fx!$d;VXE{qKjD9%V~+0`r8% zjWDVi^2V4a8I8smfr5Tzlr>~0e?3HlHY-khu&}sDBAD7_tcUG3ZuSMX7_K$%TJLRe zAA6H2lr#V~40Un`w0!oTbI|jy&RYkO`B=HRvnngaMw^4{{Q?7fI0Gkm>OCh@2?S$- ziO_ANO@__!woR4>cj%B75d46~vF9-B;l~FOva*6U`-54$`8quSCW=coh>MHcv}oP7 zsJ8E5+#5nD@vTGqgL^LnbzBG$ma3=}JkQ!mYGEGOnIYdUBgkV|<->O6bouord}%Wf z!QJ;@yFTydTUPltc%O{8MXV%477R+$52?z>HBG&|SPcsH?S2fUXs z{X5}7HXgO#yvE(czeYP)4_vsGZ^53S!}RE8iU}$p4e}oTSXwsdO#XrfidE91EmgWD zOk30Bx6hRJFzykTAh?G{BS-SlPi9tfj7@k?&;0IhDw*yw5WLA?~ z!=K@u4AJXrC_Go@JP7IbAA2sWJtu0zgmjd95*V`t7DnF?MrG?XA0Zy{ zZ-qGddrW3ugxFHt@I3|ToUAn=;7OnEi_oBV!i_jApW_F;Gf$zx?FhhvQ~;OM>OID# z1bXSnpBJJqHO~FlAHddFiV;LOMRwgUH-vhriu9NlyR5)<;(gmM==XyV1*T3W&GU&Z?Y2VH( z7GTK>k1)5hOczOmn_SRh(^gX+O=+95O1r7YkH24d4S$IBEqv!%D}x^cJnwu!5lVJjeyZsjY8X1W#v9A9<00xi<4z4FyD37E71xi9 z=k@^EsQ=b-epstWR$uwjvW#IKfk&Q~ed?>3jw0SA1rEvj(yrMBUs)+_6A5%VB$fxW%eAm>^@7TURba5n-BdWJNspEeH#hywZCpOvAT z4qa!$g>&A$3-I(Cz@6NBeN$ej3<-IPFVj|DF+C0_qm7Cl#a-H8Y~1pyTF#Z`{I!*EX+O6?H)Qsjjy4D2e}Rji zXgC3WR#uzXK%UkiC^wdbe^LP|pO-p%b0svetmTu+@pmDh|2DM9iO+lHF}!*Lq=3rB z|9e5=|IVeT|9g(+sY_XAojYxMRbmcMy}Lx-d-b(2%=3ATi9Ro}&i2+l za6NE`_*q(9XfpfZDpQX}ex+Bpz%l+fISb}_V(P`GR6M;vH3F-&laLuBCNPG zrImM+SMGT!aw}GwhJEWbKUhk!X1zBF+&o^S{CWrYXG`(Evw83itHC0#+@+vLVYmz4ZaJ;9 zeT!+P+ri8WVS|;ECqPNd$Tl=j3 z((rQQ74pwA#1GLIqJ@tO*mvUFLST+qTp1ra+Q^bn^7!I{dBiw4dI>sn0ft@_V6%P=uG(^EIiXqqV_>VYl+ViDUX; z`oIe7y(n&%I4K`$!)34N|fZd5wucPJi5A zx&}<4I^uiAWi=hOx)rB2QMl2-`I}BTRkTT ziwjrS=!pSHtB$l((hGavy=x5oyboCtflHd*LCChb&97Y6IN`^;aEd2EZTmXteWqSM zdlPJNa+9()y3fwmwhxMi%x~S7{~D^x{I~g_oYch!;C=SqXmXrXCk~zNs0@`ER#0M3Qt)STf~4iJ{B-KTgQEz6e{Zp>_vtF zvBP?loWKB7MTbQ^n|x<63M}3WozdCFw>NvQvMB;JhWa4P1htrZK>4e_J?8U1==indDfpQ!(gNGC(yYrYSTOJ-rev<176oNF>bRJed Icoy+L01wkQZvX%Q literal 0 HcmV?d00001 diff --git a/doc/img/screenshots/ui-device-energymonitor.png b/doc/img/ui-device-energymonitor.png similarity index 100% rename from doc/img/screenshots/ui-device-energymonitor.png rename to doc/img/ui-device-energymonitor.png diff --git a/doc/img/screenshots/ui-device-energytable.png b/doc/img/ui-device-energytable.png similarity index 100% rename from doc/img/screenshots/ui-device-energytable.png rename to doc/img/ui-device-energytable.png diff --git a/doc/img/screenshots/ui-device-history.png b/doc/img/ui-device-history.png similarity index 100% rename from doc/img/screenshots/ui-device-history.png rename to doc/img/ui-device-history.png diff --git a/doc/img/screenshots/ui-device-history2.png b/doc/img/ui-device-history2.png similarity index 100% rename from doc/img/screenshots/ui-device-history2.png rename to doc/img/ui-device-history2.png diff --git a/doc/img/screenshots/ui-device-soc+evcs.png b/doc/img/ui-device-soc+evcs.png similarity index 100% rename from doc/img/screenshots/ui-device-soc+evcs.png rename to doc/img/ui-device-soc+evcs.png diff --git a/doc/img/screenshots/ui-overview.png b/doc/img/ui-overview.png similarity index 100% rename from doc/img/screenshots/ui-overview.png rename to doc/img/ui-overview.png diff --git a/doc/img/ui-screenshots.png b/doc/img/ui-screenshots.png new file mode 100644 index 0000000000000000000000000000000000000000..45e797f402a559c48eb82f3bf97728e9b84fa123 GIT binary patch literal 422552 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

    >4|b1zIH~U0i52F*N1%}Hyn3ryC*7EW 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�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 z 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

    j@dr9$5n5S9 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 z%0D{;-!BUxuN(Bzd_}cW`cw$GA4h9OYhN=N!z`;ezo>=O=(HkP;_~_afVF%ZBu*`f zOv6#=Q+sZ@ZU-7lS^4m9X4SY`+nHIKPmYBd#AI%7=xtZ=9sBh<*~_4qUO(nKzl@(u ztGfHXGzqtB``eZj%>?~7!Fdxa<^2tVKXxx#wgo2>lJ07ji> zI-sXF(_EAA(@TP07ml4tZ*5>d_^sI&Tc)3TEb7kMP9^#!!LXs@gHirdejPi5ZMOyw zWdf#N5TcJkbQ_wQ0t%2>y}|`zjhtuJh&jbx4XKN)`ANyiy6Guio}MiEZlINh(}5_V zm)YPQlplPNBtW8bgk0+G<;D!1_y~$vQpsZwqqU^p|v$ij%G{wQR4aC1* zdFr?i7d0^wGW;S_0e$Ed)virdnmtrQ^}r-tKR-53?9gJC6t!r3H$8*L6Wgih1wfSG zKUK8#`l5@7&>-_DDPfI&3Ht^{N=V!KHMZ|lmnd){NEH*^VQoc>bX>vVchBe9>dMfBLx=aAlwI2r{- zSI@3Rw1_ZN0I=Yv2#8PQ@t<}+6UKU==Xh^B$%Xf#F=}flksauPESLknFq=s2%!r++ zS5(`DKzymsx5MW7l=hqJQn%WN#GY9Ib6B3hVg61fitu%iWUqOUmiY zy)I|C#_BHjISkQ0%Asx@;Or4&EQmf}h$*b1>1UE)@I@E&B^qmyuCeEtY9z*QQDJuh zN#Ec$xpW3~6veRG{SMt{u3llR*9@H~3#hhFO{MH9*<9sdsLSo})VvP68nVegp%f1( zyZ(ym!r1h5ZSfgkzj$cYlP{#nxy@z{vM(iuR;fCqM+y~%Nh?b4N8pry3S`eocT!(R z?Tg{a@&Wwd+6?Z=K(cOu13%F!TY@-UOov~iJJ}zu+d-`$mY(>OXTyJ|kTFM*?B9KS zV9@z!)a=fuGtJl5n6e~sQTZ|RjNZY!IxJ6LvOyMWsA#X8_M}LzU|(1$CLq1+5wX_z zj_=j(biGKQh(~Q$XT56Hb)hkAqQtqTx`L_8q|?Oqt-k#*L}o$yB~pvkkoy(YN$DdY zXAwaeZa0dq(c|vQf9MZ_P+m6!CQz#F`E6-ni=JN^o0zET=M)0n)}E^sI3hpS{=F)o zMLWlik2o9|C1~4cMp&jP!1tPW95JUOsqQu0G|B>dVAP*}kZPpfO`TWVkUmkKpzYXz z=@Fc7yqsQ_p>%0O5%kHij{Er!cZ@#U`Scp1dc>OIb=^K+SZsDH)b1{fv3k%EtsfL3 z*BX@&`E!`Q|B|c=hyT=PKi%lZx-~|*`o#N04_t`gb>doDnQh~XjP^C2XtgcD3wpKZ zKvo3RX%iEZ=ZNSbX(q_A*_QY{(svl?=zIXl3jzg_1X4Hover^K`264{hsIi zfOP?+THO-sfH+w*ZF{P}PqfCl&IAWb_)TY#IC@U51W#scS;1Y8{0jtyzBOc;4)3YB zY2vMIZl3bdCa9=_YTuL7HZMJ{bsV}z5*=q1u!(q|6(e+?a>^%WcV~)Hu!6l?pYNPXOSDA7COmh>Bn0<)wm@ zPk+!dN9(3rf@^2AV%uavSrS&D?EP{sl_xk};wwt`hUFJlf1(KOiCACf+g%KwF>VFT zTV&$i#y>s_uzWV{{GNUmcYk~`Vo6+p&amR))boxI&1?5ir0H-8`Nqy8HO>MYCSTsG zkG!k*abA);v~%dAGlyMsHGieqsZf(H09Uow-)`TMHAO9GZX-a9`T*A8p(3ahB!y;L zK-vlzRz)EN z28*&v7XNZLqr=}|qnGK*d;()ZbXx$`b<`_wZ*Tl^6)3$G{dlW=XSkSL=NoF|oEx-r ztc8dPsi)*!SMBn}SLLaVWv(h;UQhT)yFIvw^d4J#29O?7e1&wqx|XK}Ap zKwZ`pfp8;Wm|yjP!R!tndk(`(rzqxD{^>`N{Ap=J>QLrZZ?HUJaSkJMLJCLP#>A*N z52kZUZ=?&u;&o4a4gmvD`&SolAa?gm_8y-z-S7FsVK2p?#R0gOJ1K!)Dwn`1g`f!kNP-M`Vl*cNikLKttT!q&6knfhEbDi)|xIWK6Kuqnj5;|O~S4o zZ-ITSVudN}r@3&2o!oU?vhp|6nM6-=pK`mT8o_Mzw~nyNVRe(W0im5z8+*pScN~`a zw)&-Ul44$EA~Zb4B8Qb{l#cPG)#|&vFxk$9ZJ~I-0#}|TUkB9fdvow6$|b_7o(KW@?NDUIVv>F?M2#6NUpU6knMjprVAJ9J+UXJgyY z&>7A`D@B>f`OoF}^pVr?=4wq{0#Vny3rCFh77=8cl8k+lM#EfXf2rkX;8-$CYEj?c zbnziyulRKJXstDrjur%Ce0ky_XlJ^Sd`mY6R>?bY-bKyL&81*t;dGG-v+_qm(zOf0 z?7Ha?Y4KvMn5K{`K8GU%mV7BJZ4si=K&}^XnKSt)B%!I%Q1eVKub0xzijD2UG=_w) z`i%eX#ZROE;eizFfU?0Hepq?5Q5T@_pdDUlL9X1D(J4qA#=z=3TD#|l_}XOJ-j}%f zyz})t%F-a#q6FoaDcnUGQfT&X``a9kn>!zLmQSQVC)a{J2+ zBr*O$l`v2TEc>;cA54YLp4aE_@Mn@>1W$M%84%R?t|S0N;N&AOF*iP*wQ!}zvevXq(+xrz;D&)OAE@2McL^|DsQca>(wfZLve2J0YQ{!y zGHaJ8-q@f;#{f_~jLL(7;5+klAlbjm4!NCra)Z2&SJW&09-BJ}>V5dwNQzM=e zFA$|pF6#-R40_3ZFPb<>qdO${FAJ zD28W3asOCc;G5b#P}JVh*2K4#8QSA-T>D)e>@l=alhRFcDjw2qZ+S5Ni-B@Y&&8v#KR5X`L1cU`Ib@_c#)A1+1|4kr!7k*$9;{6)qKkQOO8@;`C?; zc0m9wHxrU(cdb;Ecf-fv0rW~c+PhWU#kplF9!h#&4How$%|b27pQE@GLXtrPflh$~ zJU{Z-xu+^0o7%k= z$*mE8;{XVRCRkPNXF#h#lA_R*8U!p%pFRzZoeQpA0bKKxQX4?1XT7 zO{UdgYUEg5lK_y)|193wB86paP1ePb)+QSSiPI8gQo)?v^Xkb53aHVGXPm&zES5({uKFzNVi%d-O@HmxD%IG;1bpII_{H4@Osb}otr9$|8`P<-K?_3kv zSkgW`ziG>TN^b7DhKdQ7l)jF;m+BReW`exJbo00 zU>0cj-V+8tPlLeBIu%{6QQ)*-&UE;^C#cnXnAnH$X!#347ePyEF)4^=bNdw0JC3O2 zJN21GoDiak);Up?sX=XT(5ap0CYGdy6`oQ@FVu13a-G=*>fAkx@aJbUZ|S?~Xpo@sw%=Bi;b?n@-rK6|vDl9zJ^otxNvbh|*U zPR(OVYoCaX5GXv#LIfZpKO|JXuL#MU00TOWq8jYl^qbyA@1^z?pUpX3t&b6-1|(Ty zcBMp5-F3+|<>Tr{d~@zi{J2NqD4h@!lXhWXL6&vbiQ-UP5 zUX0#)0c9!a=kiRi!{W#$)(D*CqS$1PT;W+B7HxdwdYzQA^G#_(m9#_-mOzDE9bf&( zn{)n+2PS(NYQ{!BbkcxvR2LzC0+WNd?2bDg-0v9haP<W0T3j3mAI+*F_FpKQGJ`Fk-`VD@-5XtrZfR zbtcSI+w!l5ogd*f4 zh4~7#w6z(4zygVPIr_bP%x!|58>zzqZ&~Iv9NRtis4pmp30>hh{`Mw5Ucv1GF}^AW zpSFY+A9ADNIEW+RSJBT~ISU!`K44GwIyh*$6pUvDIpuD2ph&AZ9k+k&kfaUn=>fTi zyfglSx$37v9<`AoliCHUhSSbOeVlmKlRt*2q#nO@?pBM6lmh2>KaI`v;@Wad)Y7}# ztgq}E7FiouiCZ**;#mh_Tg(+Lw5naJ{SZRt1}4AB4XVhczVyjFTPHeKoxhz+$OM~? zw#X+~_1QHpKhP#`%!}*uB;UfmIb{o*h1CqfMV}`8_?po`+iDYj_jg^NsR=ASwqP;k zblqm5hI1-S#4D2`&Gg5Fxit2~@z*kjI6t^2Lxur`cA>E#1G#^q;Hf6-~>m9NY z%FN>{am|AVWP$s&GFH=zbM9LDCkB*Km z&z`}EroKs;U1DNn)TvijtR*gZCYS#-iY_G)#&t_YqVpxD?3i>5sW_vY`P^1@bVZdj z_=rCmJQ0jdlz7?ph|%U+lv9Cii?X!6L+n=D0qL(V!Q|h*9@)SfeQNh2ZhF{%G;(@9 z_ojfquwPuQV0{bUdDQHR*0^48!;=P`?70Iep_$tOuo_!&z16D9RR@NXvwlLZtJJ`c z_uCD2`xGcge54a8ooiw+W)tvFvu|bR4n7_AOAXwBn6iZxX<8uKZ;8XN)ZU4NrK{tS z!idwZ8_+wgvBH46YV3$xXh@bCC{eh!us-3S}W9ur9Oz5F{+u%?Xq1(NY7epBrA4 zp~m&h%V>PK^fzQ4^^WSX(8+K+h2!)qU4-Iu9&!E=a-Uf`C>i}i?sBAs%9^o=D6M@J ze2~e%SbaM=^q_e4uL@68+i|iCHD^e z4N#;!Gge60YAQMnf@_lDX97QR_PAOSyl`mF`-SSqy@)HUR(hig%VqI2M%^=$-$dF6 zRH&agp1#Aleuw%=j(ypO)79j>77B{x3@Z9D%%VPMkW;FG+st>b#-t^x+aS<`5hiue zbbJy+)E2<=w34k&eR;1Bn*(nm%TZuu_qVygP%U6D8$$q)G@QdaM+Y$-KR8KkR0X`G z$dSvMnwpfmC7wbUE66AlbecELMAs@Sh-Hl0cv#PSyk08Bes*Lj)LJnn+#6kRz;}HV zi0XYti4zaA?Tw;bO~WNF)s_286&_8_UVy3?e^W?b`$q-4MyDVN!bEkqWmD(uxEa~d z+j}DA4Q=)5oj0s)p6jP%*(u10gs<$-Fchu5JlWe#-;{Z$-!O(hak~xIYG*u2sK>$d zN4e*xxP9)9Q54SYYmNKy6UNSTbT8x^9DSxB@#!qUZu=^zqa<3Xsnxxrx_Sg z53^}#Zf9EGPyg_(K6^R+*65SdJ^X<36v^asnQ`v*X=td^KYo7n6(d4B#zzkL?wx>8 zQYyYN`vGgm;*avlm!~;6DGR72gh^?F_~{8N(2*yW)+Wb?9L6Hi&y;7PYff{0KEG=Y zwCU|3&(k%VZwq;Y#BVsYPyRB%&H<-Qr3^UEkl|I@SK@`c$|b!opX$1f;j8^c@9{t6 zmqaEqOD!eR&ll#}*${qqB|5BhxAr%$xu#7Eh%Q<^#ID=p({#&FAf`^d;)H7|z1XBZ zX&YHXTU`XVAF5;;7y)k4J_q4Ri1|F|S%bq)M)=?^!ONwyc|it$1+y}B(fVCY#!=R; z^U8NQxDAxFqj5begHM+0U=2q&kwzM_-AvP4L>cOm(5G8&yQJ*l`By4~duKGf=lo7B z1Q0sI1ti+f!KOFKN=`_i#T35ZBL|lLt>L{{VVqsA3WRCT`2LCvx`EQXt3=^Yt;pLquBuO~iZ__q% z?0rtMPrfJJvvlz1WAh@1m)sw@1?!bkd0CimvRD}zhuU;J3N>V@L3g}=H2ko#`aOx4 zH@+%#K7xzKNM=C3DQ+y9`sm+JpMIfzVs3VT-{FkIU#4>$8WXRHPRTD%SLNO@>%P!V zbg^LUSu3oY%b%Iik=E&1Ug>eoP{mJa*OfoY4RbiRFp+Y9xN)1xMpoGG0UKdG#dU!0 z7>nHKfyX8gON6vZ+bK`sOI@1%VHI-&LzP+myPX9}S3hLEOC{cjwn5Jl zCtmghdM9_!hg+>TU)ZmB@%KZ?-y+aYi@40#;lQ!mYE!gfv;Z$}=>SH85fa8{4y)~a z7$RbKJ@aBXFQ-nDlZcxGN}r!<*jV2@c`nM;QdTtG#GFuZ6MNi;rItf6<6n<{Ks>yy zLT;YAYylK3674^0B}_+t_u#9V$iOKDaMTvW_fnwkJWYYw?!kLepNBUtja0Z z3MovwGG9L)To&CmAI@z*Ilt}pFOz5UH6_u9X+8Zk(hLnsbdvICE1@bmE)6G~IU@7y zz=6V{fDxn43}xz4g$tSGX}kGxRj)0F=tIvbfA6Ea z>Oe$lgu&JE9k{;dz+m0YCYtiu#QpuAiE3rK`FK(prnj?kAUksr7b6n&Jkj7-zkL;& zuRO???ZJONP84~ZQ0o^OlyTsDp8*;U4eA(gnV7;@Zk;5Tk2ovaiwE&)olKaxmf__Z z4<^5r0YmC+rGGVw*6nE#1(&f!SRq$ozROKQpC|TtE9KOfm7MK*!*Y4cOxdH3@#WV! z7Y45K1eZ6z9N4b~yY+v34lrFo(cYd04xqOje+f!qA5^3|pjM0qCM5>cvbbxenx^+U#P>XsmJEFF zt=|%oXtkbx;hjrk{1wj+1S%D z{U^oZZ3=A&s7!OAdHMX?X(H1Fxm-s)da|3pL8+1mL* z|8;z8xLr9>Kf`J$5N}mCd!av=T1&Xu;4g}zFMsdwJQZ-(a0bYP=_t~GO^IirQMS0mrISk~?*hUFM0 zCSB5MYaMNH1gi;h+9!2nT38p7fDd#ji!9-0Bvxcbh^8~&?{%U{KM&%cOWJsTxkN!h z%Lq#Ptd8r#cZcCnBUnZ`VD?4?RTe;SB81QM_NmJ4v-hmWvJn-azY@5!{cs2qgTqDs z?~~s47`5xNnsGK-Y_GjRK=0h)DTtT~%pLZ0c!=ZSj>~2z{^&q6C|8yb%`yL$3JS+m zDD}{^I8q(jq)#EIX5VewYGO)>Fe8XxMdj|U>4NhV1^x=FK#bWJG541{aV77fvy&(h z%|CS*$s0Qb!~Ml(q!#9q^<8ReYOl>Jx>RXYH6Y4*jqjx$KOH*vv|T^WpmRYv*|+tB zeOX?{>xTNqz$w}I##@2%MpscMd1_J$XFogS=sELd4IO%FVqyNAw7%HHonxj&7@1Wl zOXzRBQm~Q#Ol~;p#Y57Yc1V{ks1t%@N70KrhTBr~p^+^-4^?$^823}NkJ`#NM*B{j zB)*C;g5bPs%WeunSJ0BFlW5^cJ-$uDhCM0bQen|?5SX8*cX&RYI8QMQ%s$>1Aa^uf zAE9S58PGwmFN6qK>bT6uFkQS6d6`(l1XM3aYd*(c(eYMFG&?MJx~V1X;3LPyf*O3& zQtz{a-$ksWCa%p@EHhaWW#!J((U9C;l6ZFh9_?BIkbIOK!t`mB1@Wp$8+ph|h3G48 zsnCG{^=aa#>Oy(qbu)mSl8}Bl1QzU~DI>)L8EqTc^o2%JZQlSW0*dU>y^r3$LGmO- z>>?QZAHX3*gYBqXuOhi{{)_w;T_Fe2V_z(~g->xkcy#h5hwy;og%@=&BMF}*j_UT#c84hOi;Ig{sus%rVQS6((Cl5kjm054Dt?NU zNxU;065=8=u@KF4(`McK-f_M`N@NM-zol;9U+&km^=*>Zcl&=oo^TYzx$tR`q9S=X z*8qC;K~#?5VmY0qFA%s~hwNV@I|9SpdGn~x$u9A6@a20V&(+c zM^;@6?zu=U%eKx@P`HY;cQu+~Ve_CkyzS~Ea4BuYIWJuB$(zpo*oue1bmguxB!O^J zG}CtCHjLfNFmY==7boHe_7*of+h-{yX0r7^g$`NX%zK8SHo*yywhffA;z=L^6y z%;o9QQH*Nqp5mHeqCpnb71X(eB~I;l_^T}bQ} zY*g+4d33}}6U;a+!^JS7Crmq9f%E)>c#e=tk?agX?sw=js!Xrw857X`&H#?dZ z@FoOSHzWjpn}$&q<;?hN1aoBUUG`F?$bjN{%JMMSNZd_b1KAh77VmYIk84}uVyn`o zpgE_ziO593G*P!4;4PILCEIr^_3MRAm#^M^`i+7sFgHnR^h18WsQ6M&-NFRDw6UyO z_f>5QcY=v=#e9dZ)fMFQ#2%1&;m2CL*m6=jxR=c8{?bw}f9>my#yZ&2-xocCnRbb5 zP2p5E^YQyGGEn9%Frc4i`An53sPtwNH8m7rhtH@st~m7GU;m4)uMUfH-QFJAsBGFG zB)1|UA)s`lh$tZ$W9~} zK%qC zWwXv*qRT)=TR#9z>h%Qy!5e;l<4c40AHAmIscetT!eUc2wBSOG`{i`#iliwp_ZVGi zY|g4jN8ZD;dGy~yJtKA6>MCf!we{vA^xVTIH?p zRaXH@=KhfOOYPR22*glpiJB4Mgf0_@zpaJd>=&INOIZ@zIu+- zdTB{U9loyU-rzX=GyPQytl0^Z*yqOqVc=dIki&&}i79!r+K?aD{oUQ&y=&IxfVFA| z&85Edy+9j z0Cjzm`+|uomuYAyo+-#Vf;HPN;cnedySs;>b02ct*voU%T|-HL5FY6 zPW!EYB+q83+M2Cor0+>MjBf1*Hv@rtEYNu^(L6{6Arj4#l8t?lMEUXp2@oKl2c@N0 z1;dxdwUKK}UXDSxnf<4#U;<3npYeiI6K{a?v)q3#7YFQ8I_!`3$4%w{>6^uHVXtD6zH={Pkb>XkxNBqUag38Ml4_dsQo1xAKyopwbxdSwXUZUY<+fr>a$Kk!I6F&x5 z_z@U0tlDdyG+=3BRJdMD=drVnA>vH4(-7)$+@F^?+(Me&?68F^2Xj&|IlQpNt7ag{ z#^8UQTJ(ghA5|JkTHL8O0MTy^T)wDqj8?VyW<#&7y=_D~%VZM8%fltCW81Pg&nyV- z+F~BMl4*$bJ4V^z1BwbKr%TJSfz*OQU1JV6^Evu3UxJ8PjEIO(*Vgv9Z>)y(XNI`7 zU$a9vBh69to05#SH*;y4`&dmwY+bqzsNX!S1U$AE@YQCZbea%a936r}US`lrTzUgsO+zJ1L@7`y+EGZ#RIBTlM#;6XvY6!IWDQ0f(Ui4xmeIwOzt7_=0nhy^Ec!l}D1LtstI0 zFT_$UFeQaswxjM2yP|{8z>0R%{#e`U0GcFTT5$6G7%j=)ma}XKS<_yDgezGbv>$Cg zaw-BW0H69QLYXEtxgpLLKJ^g@?#IpA^IzR40+*~+TwPtEqOuQM8ZIGCB!serzv4@t z@k=wWoJbw+Cw4Y3xD>I0yK&BGT%5QaaC|U0LIs_i!;uDo=6P$@ z*r`ACYL$qLp{NzCnp95d=fqD6#RbJt)@Jt?n*IX98Umsj zb6_43tZ={P9Z*?vP73s&{MhJ}z1SM};%L@V8=`RMYo5PmeSyoKJcnp53bLyEi!T zGrMAp_vzhwh?nc7f~Dkh4NmNT^oWHNwfgm+L1%tt3e~t76s474D@pwF*NB!~S4ay` ze3p%LsiDP5dqs?;KJfBLcI8>Ka)-AN1v8L&;cOn$nEx^Epi7jstLD4C()aqE%hAoX;lACbP0wq(E>un1==Y zFp#Xbdbc_uC5;Jv8*O^jvNRqzJ1{UXNMulpDqm)y9Q0>`kyq02Xs2BG9pm?U6?EQ4 znLX$NI0)WR20X|9;hit6hu;++kp(?GX-b?k0I|7akwMLuodcjOvp*GC*PLab?Z0^w z#}NOjnYYIk5RU=|gxPzH|K{3CJgl++J6tlxqPFfUJfhV|qnK=iO{vT9QM4Avk}u!o5?nea`&I! z(}+z!?gefa6&vv0jP-MQNqRqoC4e_)3uA!(Ym38T^LqJ28i_=4PQv^CRJs zf=ZdbSm3WV*+HnN4ycaCSmu5g0EODX(Gyd^?%-tL-rn9GEHDA5h{TbAh{DSt(r8vt zAt65-JNfo3eQ!zP?WS_vLGyxFiK%Vj#fz%gT^n^+0di48P06!K@ zlR`#9#$;^jU<6i()U@?CMOm$fJ7!uF(NH+&jldP&bE&t@a~@s1YYO`wfBm_|biMZ$ z0H7G#V{kRaENFwwwCNrr{tq+gA8A-&6ARuZc0S@}BAC&|e`W;R{k5>9WA)NRThoA9 zZ4H6|mFJkZ2xOE=GBD_rW!$7VgBWM z#bIZvLfdBL5;=O<_gv6t!4kPXRfh&A=GL86zy|oOyQWL#uDEsg(VP>cABDjPC;?6a zFgDYD+SoScc)q?86k~{;=jV&1n;pj1!jXt2MR6xS9ApiFB}X=lW;tJ@V?XhOP_6+ZAi5q z_`hI$B8c!v#e(@oAn<@cIQQ+k{uu!ndGJ{>+P133z2bUf#eOniRpIg`+z^y=x^M}s zuz!Mq1mAj6`L#H;G}aaFDul*)kq(IPl(Tm)-ATILvo#9H@;4S{=>2$q4iKVoKW=xL zIZQT`wZYf;@>t;!i<9)MwV&!w7q_pLFKlUSqrfafWfW~FD}DHU`T0y3w6K95vH3q% zE3y8Ck!DjsS*QD!8K@!P*kIlL6=Q1<3x)E0roh~OOy^@16qXTOsMM9QxKmUL5*XER zje3JJ=>i59{_gxfp^mCbf7zT5k>U8Sb2^z~hMLV`Gv7A#de#q6j?%H^@ZPbdEoAsQ zV9sg-p)>o<<4d~KV7Vmr>sU(d;oze%xvRnzvOc6D4)*pDv$LjGq40@3EGJH-sYCc{ zl;lYNWptO)wgEU{OfCz?WD;0H54Wx~Oa`frQxn0jQ%}R0q=peYd5qpVC@;oe25ek= zsqvxm*%I1b$B4v*gTYb!t!eQ9fyD&lrrF3F=~AVH(a51({B2wiWo{Cw6ferW2qEK4 z4mwTCg{lx+mev6YDO|`>4=Y_+P-z4O%XAQucZ#D`OL=cUs*=XauU&ryHN9uID&_ML zQHEV9Ko^$c4BrBANl)-~4dMyj8HF$hdZVOo96t4dXLhvYAXu7H?i~zvS_?p=4Ot=F zs5D8=3g->awW`xAQD!o+(uH$I+856a;$-4{A+aLAr;J7M3l`(3g7QmjU-RU=?K4vV zJ^>_1&IG!;O%3swj?Z~Jk0)?#83RHGlbW~eJQ-?bR%wZqwrf28XCN#}{$kcm{djr4s$(W( z0w~hPJ$GCg3&Or+oEiSr*&d7`5+d+KEJcKtA9uqzg61~75 zY_Jges90r{Sp;4cr~pC=s}_TH<&KcgJ?rCf0{z4v1V zJC7zM%+w8ppK0?Z3WZ}~W)MP8LnT{k_12krFHh^8g%|@SLR?P?>>Qz;F zdocl3JsWQdNb0jiP`0Pn=*xo~+cD)#bfY?glgm>I3RnU&`kfsMY=0~7!xGG!*q9*6 zK9@&P89~^31X<$Rrfsb+*jLxVF@fB9*eosf3OT_R2a-41=wjhmTnfwn*sQwzWeey zT#YE@1cgwvDyNy@JSI(&hs~&Df(2xv(6YQn%w~#jndWSs9eCB?7JsQ#9h(V#71|q< z^=QjGXt0%Gj*m!u^6LlqriqCJZMU1D*n8fXC6?WoUC*~=uL%oG$@nEIdp*WvsjR&sgvzg9z| zfRSde;PTCrC+n167{_3r5*dU4CZ?l$v)G?%ITJ|p?KL>v&23M0V25vmUHU5uK%#gG z&}Zn!i-VREimfN@mE|%z?VYV#5u;6X8eJWT(whgtcZx2COzSIREdDS_n{MJ-OgM|? zd((IG&eD+jRX$Zg)7uaT^tkvFKAZxN0v>=;+hn*DCOgX3F>5m&ZjZ zT(Sj(rp1k-DFP1{JxBK>)=`GIGRWY{LFQjBz}--4a8Dx+k_(eOHwuCEF*>MMOtZ=J zZu4{CtUKlt!TU&nS$~9uJz1)@xAgv?mP7|3jluIG?I1HhyT*n+?^jY4xf&iSQW9~i zoehmq{;~7;=H=c~r@hf8yXxII>dcz#F7M|v9ZIT6Q02**SJiHQ1<*Rc$g^D=)Yyf< z6ax*C^m?xm=agKf`i}`AeQvsx0Ip6?o}J(#GxZ-vZXLIX&Q4v5RYwgZtnojh1H78^ z*RPhdfDUCF9GO6Si)e4W4Fy)WWAb=o_9$P6cALHVV}6M&ExdBicS}?fe%U_SH)9e& zR&>z3t?Bajt+PdxU>u~mY;qk$SD+z-pfsL4!ql zBvp^DO*HjlEKn+RGV+A|WK>^G!7N97v6?a0h=z(6Z)YHA5pbpu2t{Cv#pw-7bYXKw z@$g*Wotou@E1+agJnGi)4f%|&3438 zKbwd>#O>Q-h8lkt3%L)wc>f{v5j2QJus96)Be&5&98=Lz(CZga(pL`Ca=_SY36 zeb2|0zNw7^*;5zaQZt^Fs5aS#9aFo!$qQAz1{Vt#CodOT@}ZH6P-`a^usvE^&D(t) zI>y*Kuk7VD8N^0uAt-#py&uzT;L+|exaeuoY7*D+=}Xz!Jlft}NDHEX%7I+O9Fw5? z+^d6Bc29)W0?MfR+drQIe+Jgu*mW`!y;sW4EG}Mqi$*XeWoEEnvS?R04VIM6>4nYg1Ed1 z$Z$Y$h?DvSAjFG_Je&q`05&GF^6NN60Sa}f(Vqvzg8se!`7Zh(Y~qnT(OH;gs_Nm5 zD&*|tlN&a$Gb$Ws?rUfgKC#&78viR{+RtXXcq=__8p=4+xO*E z!s6NU^g^K}-y4uw-V>7<9APM4yE$HIp*BUUu#|b@A=a!dI5WS3eOaG@ZTRHDn8zy zYNrX1ju=o}<@4b(jTM{umkj>mhX=~~=9!_?37Qh1mMARvlBGqdtp8k_Uz5uAuh@br zGqd4dFZ^6aUZ2~m=1-Z`xRqpzpoesx=UR6^-AIjGW%IYul+URVBwlE!mG?Ko18aeZ zk1u@#woSx~9|BwdJoMTOf{7{qm+mi60x)j>T@hp@1?(WmM<(~MR?MO9lT@7AQ;58P zD91L4a>V?^0jAu2wZTsLg<;Ijb#Z<`i70L=^I5dBmpL65ReN^~Z@m#0ML@aF@3RAU z{Iuo^IS?hrND8lji`bY)*Rszb$l`sD@WDdN5hNT7jFdSQrf+hov0QO z(cBPQ0T-Oe-nO^TeeuEt6~3l^5w^u6W1`Or*)grnOJ>Ql6k0;eoC|qJG4AIfKw(7fDq6>&&SQA+n`I6$H4C|DgIgjiNLDALqr1ESiQ4gx&1iE z-h69m-@^HqwkgvfzdYl8S$uWyvKs3ceJSh2B~E>yf(qm4#F6W}^Si)FV|P}w{F5JL zOURo9Yz^3&4tKLVAL>36INSu4Ra^Zz732MBcNwHJc^wkV#2`<0(BHkCfI5)|ApJj& z0TV&Hb0S$1%S&r3WmxBdWB$wzOd21NGDlBO<#uO0Vi1IyWaq2ebCOcMYqS+`(W{tz z%nJDs8I7Z*yvcf6-ED{Dr!1g^jNHSUt{4!d9gy=-n}#=-jPe3h(=%8aDamJ;hVwBJ z-3xnR$oQYn14F`+Bv>Qc?KPVhbK_BNW_HEe+s5}jH`S42OlC@obLCRtCnAuoQJ9On z5}xI^T@PqSkmACJj6H7P@nD%^1=5t_3LxDBMeczm3_j<{&lKx7D*Efmj*GLY==0@k zdr6+NmC8TLp9!$mnp&bVONK+l^laB*$VBscTFZx8|FxT5|td` z!?3RwO&s=XD9LD>@L5fD6>dgGu;USoIR-RY_dif#l!^W|#a=em#7WlsQrBX`93n zyFpQ^0sxmr%gRJHwYEQm5Xqsap2|@h4+OuFi>e5@B~Ui+{29O9wN%+KeA!w$R9M-2 zt4hU~iHg@)@FOhYUI9*>7a|k>^Zb@K>q=a?D{(nj|Aym;{^EilVr*HWi)kWn<*6IJ7JKhn@O`<3@yku|{x zz{=C;+hELF35xirQmD;7{)3{v{%JXrbehH|J(j%t{iaWE<;`%bi=l7Lw``Vu-)z;B?FS$Jd2b9xlFR zVd9*ElB=ws>Z1Acb!hljpkOJ5;^KIKxg(Q(QN+SXI;Rk42EPI;aq}lxl0Yt{>}#=K zF^HZ)x^`c8VJOn{!u~!fFS+`s4^)u_s$0|Y9If9XDbrYp-dmUEXXKX&66fUQHDvDQ z3nWESCm2_oKP^hCxejQ$C6oG_@(bs&MiHSR{*tEz-1W_cAlp&%R^W#I`)p@a+yo|N zkvhR#Rnb|3M&o`|w|G-+iHvbJG;nC$=`XV{%~o4(AD`)~3s{a-2c-~31(URDtDszx zX_A(PlPcYvIg}yNs!DAgDe$YNkJXP2AXp~Pz6N#~Ay;b^M)8@V6?$%2Z~UIubM%DQ z&SsrBqMJ#W3*xFl-rC`Y!L$F42-vaQeD?R{rPVi5ryj9r#ki`t+qZrk1?agIB1lcX zvp?g3fHrTUn5aYQmgPS%>U>>r%O{Pc2NjNj_JHV1FNEsTtLh3SN^y@SJsx^bN_$#( zBoj}%jgE}O6=w-gWLEei8yWL4v-iJ7-Bilnd17n~fG!I}C6sD!d>6O$>->E{6|RG5 zN`mYEFRbUguUcFqZ=wWhffI#lc^4CwYme@f0=E&u10Z(uXXo|<2$#uqn+nInN$eQSuA?owt3wWdI6fZbI#Gw95F9?sXoKR&YOeevx3p%GfP zu={Oqqc53xV{IX?@10-DnOp!B#zCk!#Vkf38SXnDibfgj&Co}4bL-mwdlB37x!z-6 z1}cX=Dz;C!T~I}x5c2N!+u=kOWvF&iAoA-z(c(!`h0^wH~=ux?yKQ)NUjlzd(m!A-hh7OEJ^pVxSSi7byE*88Yd_~LypAlFfD2NHsrfqu5c`mt!m1%LLr$# zm!lBjG|1WEWoG}8t(mTp@be{xmv%aOn7ZTteGaL=aQd#v{ma=B>1qs#lEgVcnHSVp zM1NNRg?1ts(v2x0TtRif1Wno6W}Wk=e32x*M}U9g5>Uu@6M4WsOzXV*yG-M%z#6FI zjEDl+Rb6p^XH5~NH*_et;I!1XgV8e5^%!TzXnb43;Q=5h6@HGKeE-U!F0d9gGASw~ zdDkuskd`XgtOg7#^BB|3;>1<)qwS2pIhd_B@t21&|6Opv0S=ADbb=+<96IzH$QwvO z+dLAXv{C&#?+W81c{rwgIOi>n1!*_U>_UlsPL%{|sBhj%uF(~!WFQ=rgI4faarZ${--@th`xIkr>sU@vof^Oun$Q}Ceuc#Yqt-8&3CHA`>oVdSBh?N+Xyl)qDtT+S zU|)w>vhVU3YjRpiBogjxlfgr@J(IZ6MkiAjkXK09fxtnKi*~_8Jjext%AytLYT$0z z`f=nRGau*>r;?Nm?g6&{IW%(7zS#ak{%bd@-^#Uu2ibKXUlGarX#BElfTJ={c&*P# zi&1sgwI4M}$jB__R9ke+(i`8dH5mnr9z^5ck-b8d|>GHYd4gcvR{+Q2+_T0{C@YdXKZPPQi z%JT^C*V6Gx-9j9pH9Ac7U;Usr2XM3_)XI=fnbVjBB5Yj&+c1p=tm(vMPpg9l4?mO7zJ(jGr{?5U7>r z!_1@7w6}YPRJ?pqlC+IZj`W>^xs<{j z72Dp%m|4E70&L2V7TEtw3*K=GDyoL5_2|>^CazBf;^aywRU4U!&&5oAZKNfS}Iu_n9rJ*i7)wc?0}tOU>c^k)uQ3WYm_f9w=wZPz)s${2le=o9uQ zn{w8T*f5nZ9+}Ct3vpuO)Au7jU#A6SCdsl}M6kK>>?}^J(`fASP?~+2wd?2~<)$6= zn4aTy=c#RkDclNm;@2{Ba^k*>|)7ccMil2M0Kk%}h20JpA6PpmKq{r#FP;V62=bVLW^`RALbtZFC2%w>5|%`XN^`ft|%TFf}xaMsk% zsiH67DiW3c?iG{H2ATnjE@Nz@j%p99-q=iP`Lk+#$G{IA;?N=?UMjgs9Xg2Wqgw8D z@2QAtqZ`5OFf7_mc@Ll91~vS2<-}lXoP)NZhL|+OD(bsZ*!!uqmWot*^w{cTI z1E=ihmTik1k!3H*qbnw2J%J0JaOpJ^8+>zhZQNKHOIkCIk1g$>YaDPTd0es?PnkO% ze{z;&PZKeYpCFJ>0tY@+K@U?aWi8ySSM%1r?c5DoaRXXT{nCQE&MDDyv>6mW&|S z-cN_ui5}m__n}@k5;6MJyIhpkHM)fy)CrP9vQ6q zvM7zm59zu}!`mB(>mz}CHX#wV0E$JEs{!PZ#W2pbh`?o@yK55o zYzEwd8Uc=B3r4DeGb9f6TOC*P{$`7NHGC`EbM~eBzWh@Q;BfU1p7rIcnlruIx))Z| z$ozEi2NzH1Eo8E#Rfx}_^PULSUFskG=oNjiI%YGhZ5t;Txob=lO?-wWz7s1*f?y-A z$yA6fV%>pmdiMF{BK9rXQFw>R={}RB3}3J&yiEaX{_w%pzP)^>RHhC461m(8wGP*& z@;sDr)C=UXu9V9}DLasY)+wS_K0fwqJ0}Z~s=0WHq1Mu9>2u_%u5tv$ZSDt|0pLQo zWc=T(e2UH%M`)8lW%t+qB0fj|1nRv24#8M}vKStozTfFG{yrj1mYCIXbt5AgVj7}T zaX7TV8cWgUw%_7yl3f3NOUgw31L{(4unhSlSS!A78V5soPwxl8KOay%A^!8E{N@V} zw&W-IT=WW7afl?11@p*M%BL%{%I%4RpAvf`27XxS>j+yjEb;ZcowH2g&JwF|EHbi8 zx>plDC1$B=Bt^-a{-lOiRVViy>6Pd&25;WkM8A`Jclm)+&{?WJC9*X>jNvLDZ8P8I z;q#AE`~K7W-sy(*eJ5-IsGAqUHcKM*W$9U(@NQlO8*g50CT~6A#Sjnh+_djTS zdPcNrm4YgAk|o6W5ec>Rh%^6JdebM@+&L%FF&pTEOmq>-&H(MwoyUw_Q4A3aeu znmgF!y@X5CHO5^bldF>SEa?F$3CuBqm(#GlPGd-?Gvej!(;Z&OMq10WE#%Vab*Y_; zDt?nbzbnUE?vyqONliH}Vdqj^i{kVNTku(IAThtK5~Hcy;$p1kLeiZKfjHeWKxLIV z&NYEMu>so{(`J$YPFY*YoA4RdUIv?3{+bP-D)0nax=N(@eQ{F7=Q>h7bS6d0!aaY( zZ_746Ydk~Vc}Bonk>Y$)B@Yu1$%6!RHNWhoMnktc)9N01*Ruv~zrt8Ul3titp4b0C zh4t#|_`JUqdiMs&96f1hz`omEJdlB3eKn@x%bcWPx zUOU&`wg&EgZEbFDCW<1Y8ey=cpYYm#rhhopNKbkrG6X)bifnEU&g|k` z&(?ex!GAZ5U8{2ZYc+{wsjQ}|o8hF_wY*g{El+@YCaz(Ij@6q_>c~m>mH_)VH@A|VZGlgw#dR4m@x$eF}G$I{FwY7gc-OjSQvga@rNiFIi=oJ-b7_qAx62k7_L zO!Joa_tB!3!7Hmr;BGA?kr34?HRBH?%GL&hQL^djD>4)G4tO`X*skBt23N$?Oi9cc z$zZGq%AcTz?|4%?uUA%7R9@yS-B?nZ#PpPH)kXm7fdQ~1CO;$IzI_FDzmGIvMr{WC~ae5zTvAV_&Gj!oEE-%y@Dk#?B7r&K+DxVFyoV0Id4_8+6}Hqwwln zT3#jvSG9D7G=pn>`-)f@7=DC&0~!;uwdEP3hYoPYs|9So50`NuNE+<| zRS5ylZiW274`xk!D%G~AY3@JHJ5VNbQi%hYQ-ZhCyrQ}TKH5i2JSE!Se%Uk_m z*>ZAD=#_I1y1KzqE@rYgHZwT$tC7^V7VWQfUPfr8ny&ko#>~%9tI+V(qluSV!6XV4 z&M3YRJvh8ZAc5xNz+dqfeYG!qAi(L*ejmsnndj1VP|f~UyI$h7HR08{hGMFtmHBL` zWrzT=f5bh)L|LTuKG%cu51--qlc&gbxr75j5fNI@=x~E(l^-y9gol&@zF6~^-m{E{ ze6`TLZ|&KyY3j)N^Tkql1F^mB>E#!=M+@f4KFx{iSh z0*uGnF&ep#dRFQ9&18|Fk4JymsV|b-5o1mZs1{Jlz(?18!;tPz2bk!Ps4bkgBoCHv z@|9S{J;|03#}10kkquSTby{?@3F^DHH;f2G0AYWE+H<23hh z<3LwQAcOTyVZDK0$_suo%k~}C;}-At4M#C4*U_w*{vB6GLSCqO+tuIYc3E+8g~dp1 zqt?{Sd^8Vx6>9)iZwk6oCE@|ti@Zl^QcpiKy)*zV%73h1LVB)_T{t=J!~0oIfg1GS z=F_c^>xE3x^Wl1V?lh?@kKoq6?RRd6FD`suipysCBVu)TF)cxu^&7KiXlTKo!kPC8 z)k@$tqYu3*?3ER{dRE2ysKMxJT(TM3{R)Wbg}AQ@G-pb{PyAZ8LuHR=!Z6U0_dA5k z9F`>rzz+s{ZkbEf7gnG5(rgB4T*G761V%ce|D6crckQwNna?4 z%&bMPZ}t!R${+kNV~0Bu-oi_DX&z)|pb3voC4vd-5C#DnUYwyF&Q^}MEZN6kLV#5Z z+mApl-Zk0Ao+13Zz*xHj$-dyT;c8wdkG*`H9L1^~GbkU2kG2NK%a1j_&S0r)#CW}& zIv)$%`RLrd)i<;K?#Qc4K#I@SP-zeO>yJ2jEtJ#{nH;rF$*NG!UNH((C%n2}Y`_AH z=*i9Uk>U-mOGJWD0c7AjD8T%j=W>+~To$9Fg)K3x6G@SU2jrxKo}C4E%}-avfp_b6Z>dk+v)|^|&GIUHoplZ zh_O$@x0|9N`%}04w~l>njo{W|ul$9lvcmJ8A`Gd3tHDzCP|DZtH*WsI?N#G=4jWTj ze+>fBZRhCXVj`e0@FSs(-$b)!L5+$3>T; z%_7B*PN?rK1uXpB>B)aSG9+moRNO@pR_wV7!N@DFtX>>#T<^W8--rf2uT2CXA4+Jf zIby^)VnYOD34`T5%7=vn`R^<_`_fm7zA{r=C1v!?3DxR*Zs#_QDlTO?MH5-75=_;9|PTk?LjqY2hkn$@{Tt@~&S6Iz#^w^6M# z>n{m{(gI+23hLEDT7xwd3TbZ-&ChGh)XX;jMHn#c(7i_9b$_W!!kzq_&6xOou2fMrw~DMFWw z|I*kXF1S3tS8={|T7TI$ucOIP6aWrHz)JtH6tK(OtnBB~DMJgGc8cWE7EvUv&i-ey zl)yy@VBek!%GKmJaov zQFnv&LlmSYvon)%p3h|^TR4`U3*IEG?&ljEw>4%uA{g0`dir-CRDAtlhwLAWr3a`{ zgbz|x3uU0H&w+U+jVm>7YP`orm@I(EqD+tc&9sSC=<}2h+B=-Ex!Bf>MKY|c$AKHL z9{EH(m7#SkOH>F_BBsb-&ZE24rQnF$(xxVA^;blVJ-IL3UPnyx@?+=KwDWflCMGjj zb7lACyka|7ub*^eDO5?GYhg-mT%+nC#ou7ARS)(*-|D~5 zl02+Pj!Td+t;UA3zu@~ptiO7sR}&Z}VKd^aGXui8zL(aXlgunf14L0@$JddZ=_G2* z36dXkJhF+hLcV20$xx^9+~O?f{uAzf5+RVXCf#zgDpYbq>~e^b6zwYah3|qJh*Ml) z6L;!bWANYL{+=!kh-9 z?gp9TE=};D3Zu`#&&}r6dCVG>r>u*s*zP9N%q4|N_)><`e*VQEwvBU!Oa-6Q>7SH4 z-C-&hUa95*5g;$k@2%sE&F9A1RYjz?3>KCe1cR!)H z(|BXQ;uEtX9fBw*d!b?FE56$1W2SbHZ@+oI6Tfm897OJ_sw4kE*}1CEuTfDw4CJ-zNVYq@>eId zxOcN|D_`mW(U!xx2w#-Laa(EzekLQ6KEbavl#E}kFSAxgTcxj)b(+}-|2yM0;--~O z^+xCh8H#VL>4o#UB>j5bzOGlM=3kF%%-X3_T5@d|xClmMSUH{$ZmQZLA*&roqXfBk z(9Mwv+#{6Uz|v|0di~yo!|^HD_BEH8TR%bXAuD?go2e(?&2MLvmO5IB2l)DWdhTD0 zBzZkMY1e}d+{{UKAWco}WF;jEH*;|rn0$3k=+>!v#%9DwQwD#`+ZGRYRGW`0EKvZZ@pY&sOSX)V{Gz(?N z7UhUfJ^j&^*O=r16ja${T0!W=Phhp!RZML@$$hftayeeDb`aNN{cerInATLx)M>>Tj2jZ?32-l)j53KgLh85v}r7(%K7{g_={0wt^QU zKw`P4ODY^?#nQ1#b}K7ON_M`ks}uDdAVP}(r|~}L$?RrO1w+l#ctNL)`b_GCYQsj= zWDy$P+#J*{qLJ|qdD3_OG5vB&RnRj0DX=Z-Daqiz1fV?$hH{s98|a0$M)Vzfc)`_n zk4VUc0^KB-@87>~8E5wWnW7>BEUtDOJqI9Y-`RiUX($kMDDH;4o9 zCm11#(eHazhgmZWL~C)LlLHMQs2_2@YT1?De(d!*ZNIDW<;+&}%d6+KKTy;?|N8lj zC9|jC^Jc6E8b=j^*id8XTj8fri}JmCfBTWxU`x$S z0RhLZ1VBrugXka>oIMW(?V_#X(et2VG}MLc;{KbpnzgKIJh&f$*01PqTy*-!5C_C_ zxPQ&Qh#c|cgqQvP8}$1@pnnP+L2MOmI_ycD2PZ@!hZ79W^P9_?x&V#*1}>NQveu6M z+q|5db{iMNLuvw}T_uCu=Z0(f;?TXVBqHMrLpTz5qdMa`~Q&}btBqH*{C zXXYQvvIP^{Dl3PWt_n;UzOi?Vj2M;r$EC5CgP^;AeEbTyGLjlFB}TW&Ey3;5&!ASR z)bwZmN$Z@BujguNqLQ7h<4sng!KwnmGW&x9$ZN%c7LUy_VQ2V%=BOrrc_z?4do&5a z`M(~aP&bbEVR$*ijo6C}0KhA}3G1d+L1u{s*7^RLpZOA|>>?LYs?L z{u^68{3i_g=f&>Ax7^vvitRz^69ovyrkNN^y`cc+JJ`bic^>PWnkOw8;v7dU9aH3I z!mzpigIWLn^^lf?VC>k)__Uq}ib8tojs0B{fTaGL5c&IO;B}pI5WX*1Z7h_WxT~nY z;>Mcz)P6K~)Q~|fbh;$cJL&@1#y8Mc{{1Z5ToaURX3s6I@FP+AnvpAbTm@}ygZST& zRPq1JF!t|Ae_^tzG?(WV@xr&U3a73kVc{rH&d(72e?GuX;0AN`7AFCGu`)#hWW@ur_0wlO zU{?UhwN=Xoi{PlGXo}n%t4R9Cx%}@>-3jaE{$N^a4F6g z-!~rq$>Jk1@oji_uBfszKVLvfghixeIcb#s4D4exC_nz6Z+t8(2>2bym^Rr?F!m4w{734*x%^ZIfw0qM~1r zDN|WQ1MzJ?uKp(qJ$+|jtrA2B*cZo!G*5mQ!~AIH(Tajd<^P}H*jk^CkXbLcs%NtL zR^i%@y*Ga^U4i#MmUQSTXewR3l(T=)5{X2{I|<1})_{zDtP)LkPo;>X`o{~P*o3yb zrI{Qy->FrV@ZL5T1NRkIe&0Dh z+$oho!gvr zCoTt@Gcjv5H8u3l1bCMABw=zfx=gOceLFL(9@{aI+JFka#Gr(oS5t6kFQG|m}J zvnehpEp8~h1Vr$_0UJ(m85u`#m4jd++!Aef{>wz1;gEo;dM7 z?{l7WPFy_&jlQ!g^wJPI7&!>hk^tkKTf(x3i^Zx|R9`G>j87_btVB3@6zc7AhYzA= z;`}r74lPXcwO*lBe}-32<}C>`V=7sHk<@yaf%~HLX-%+Jjby9tz?R86)261TI)%+4 ziKPj=;m!QfeX!Ycx-#H==apQwbRgSPt95h7P9Sd+1HG&(xuIzZM8q)LCm)lM&6~5Z zcqFa2^W2~bTlEQt8AI)RXy7iN0e4Af0VLHh*#Pkq0~(ALfVpJ}Q+j;~ChK5mec~_@ zv^snk-p*1%c_h@N$3C;sImB%1z1VKP?}-Ys@VhVFy6(e!(L6iW>C264qnE4JRRMWPN9~(OF)!+kb9G zgZA15`hY(Po1_wZdFi!A%#Ji=dNjvS=IbqQ5(a;6FS`yGG6fB;N<2DIZe=c)ai)2{NfH_t{89Wf9EP^Yl?zT+wJ?GygOQxJr}3K z@fN<^LQMM^8}V&J7%p7DOsscMZO;4NC2(tB4%M7Ij6G|g{rlx~`u!Qa4#wU$1L((P z*%)o$Q0y~jiG!fk$X2%Wt&rNPOFQlauKlpf2LRZ-7@>D63AwpAYzCCGxHS9_dd14l zP6+DkFW84gyud4OnnX6Ts__mRCk`s7sA0ypd<&P}D{ru#UrA-~17vd(hlCm9$|^`4 zn}Jc?_lEPdz`fj~y|gulCC};Ob%n>PB3uMaFkWm|jm?Pw^VLb$tVAZf4fnKhD0

      oLQE3}h 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 Date: Sun, 27 May 2018 12:58:29 +0200 Subject: [PATCH 05/50] UI: rename Device to Edge to stay consistent with Edge/Backend code and avoid confusions --- .../io/openems/common/OpenemsConstants.java | 9 + .../src/io/openems/common/package-info.java | 2 + ui/.yarnclean | 45 - ui/pom.xml | 147 - ui/src/app/app.component.html | 14 +- ui/src/app/app.module.ts | 4 +- ui/src/app/app.routing.ts | 60 +- .../config/bridge/bridge.component.html | 8 - .../config/more/refu/refu.component.html | 25 - .../{device => edge}/config/abstractconfig.ts | 10 +- .../config/abstractconfigform.ts | 16 +- .../edge/config/bridge/bridge.component.html | 8 + .../config/bridge/bridge.component.ts | 2 +- .../{device => edge}/config/config.module.ts | 0 .../config/configall/configall.component.ts | 2 +- .../config/controller/controller.component.ts | 2 +- .../config/log/log.component.html | 14 +- .../config/log/log.component.ts | 18 +- .../directcontrol.component.html | 0 .../directcontrol/directcontrol.component.ts | 12 +- .../config/more/more.component.html | 8 +- .../config/more/more.component.ts | 12 +- .../config/more/more.module.ts | 0 .../more/rawconfig/rawconfig.component.html | 25 +- .../more/rawconfig/rawconfig.component.ts | 4 +- .../edge/config/more/refu/refu.component.html | 25 + .../config/more/refu/refu.component.ts | 6 +- .../systemexecute.component.html | 0 .../systemexecute/systemexecute.component.ts | 12 +- .../config/overview/overview.component.html | 28 +- .../config/overview/overview.component.ts | 8 +- .../persistence/persistence.component.ts | 2 +- .../config/scheduler/scheduler.component.ts | 2 +- .../config/simulator/simulator.component.html | 23 +- .../config/simulator/simulator.component.ts | 14 +- .../device.module.ts => edge/edge.module.ts} | 2 +- .../energychart/energychart.component.html | 0 .../energychart/energychart.component.ts | 10 +- .../{device => edge}/history/chart/shared.ts | 0 .../chart/socchart/socchart.component.html | 0 .../chart/socchart/socchart.component.ts | 22 +- .../history/history.component.html | 19 +- .../history/history.component.ts | 30 +- .../history/history.module.ts | 0 .../energymonitor/chart/chart.component.html | 0 .../energymonitor/chart/chart.component.ts | 2 +- .../section/abstractsection.component.ts | 2 +- .../section/consumptionsection.component.ts | 2 +- .../chart/section/gridsection.component.ts | 0 .../section/productionsection.component.ts | 0 .../chart/section/section.component.html | 0 .../chart/section/storagesection.component.ts | 8 +- .../energymonitor.component.html | 2 +- .../energymonitor/energymonitor.component.ts | 2 +- .../energymonitor/energymonitor.module.ts | 0 .../energytable/energytable.component.html | 6 +- .../energytable/energytable.component.ts | 2 +- .../overview/evcs/evcs.component.html | 3 +- .../overview/evcs/evcs.component.ts | 8 +- .../fieldstatus/fieldstatus.component.html | 0 .../fieldstatus/fieldstatus.component.ts | 2 +- .../overview/history/history.component.html | 8 +- .../overview/history/history.component.ts | 8 +- .../overview/overview.component.html | 4 +- .../overview/overview.component.ts | 30 +- .../overview/overview.module.ts | 0 .../overview/state/state.component.html | 4 +- .../overview/state/state.component.ts | 6 +- .../overview/state/thingstates.ts | 0 ui/src/app/overview/overview.component.html | 22 +- ui/src/app/overview/overview.component.ts | 10 +- .../config/abstractconfig.component.html | 2 +- .../shared/config/abstractconfig.component.ts | 18 +- .../app/shared/config/channel.component.html | 2 +- ui/src/app/shared/config/channel.component.ts | 13 +- .../config/existingthing.component.html | 2 +- .../shared/config/existingthing.component.ts | 22 +- ui/src/app/shared/{device => edge}/config.ts | 0 .../shared/{device => edge}/currentdata.ts | 0 .../shared/{device/device.ts => edge/edge.ts} | 9 +- ui/src/app/shared/service/defaulttypes.ts | 2 +- ui/src/app/shared/service/service.ts | 2 +- ui/src/app/shared/service/utils.ts | 6 +- ui/src/app/shared/service/websocket.ts | 118 +- ui/src/app/shared/shared.module.ts | 2 +- ui/src/app/shared/translate/cz.ts | 2 +- ui/src/app/shared/translate/de.ts | 2 +- ui/src/app/shared/translate/en.ts | 2 +- ui/src/app/shared/translate/nl.ts | 2 +- ui/yarn.lock | 8935 ----------------- 90 files changed, 409 insertions(+), 9513 deletions(-) create mode 100644 io.openems.common/src/io/openems/common/OpenemsConstants.java create mode 100644 io.openems.common/src/io/openems/common/package-info.java delete mode 100644 ui/.yarnclean delete mode 100644 ui/pom.xml delete mode 100644 ui/src/app/device/config/bridge/bridge.component.html delete mode 100644 ui/src/app/device/config/more/refu/refu.component.html rename ui/src/app/{device => edge}/config/abstractconfig.ts (89%) rename ui/src/app/{device => edge}/config/abstractconfigform.ts (89%) create mode 100644 ui/src/app/edge/config/bridge/bridge.component.html rename ui/src/app/{device => edge}/config/bridge/bridge.component.ts (84%) rename ui/src/app/{device => edge}/config/config.module.ts (100%) rename ui/src/app/{device => edge}/config/configall/configall.component.ts (81%) rename ui/src/app/{device => edge}/config/controller/controller.component.ts (84%) rename ui/src/app/{device => edge}/config/log/log.component.html (75%) rename ui/src/app/{device => edge}/config/log/log.component.ts (81%) rename ui/src/app/{device => edge}/config/more/directcontrol/directcontrol.component.html (100%) rename ui/src/app/{device => edge}/config/more/directcontrol/directcontrol.component.ts (82%) rename ui/src/app/{device => edge}/config/more/more.component.html (78%) rename ui/src/app/{device => edge}/config/more/more.component.ts (76%) rename ui/src/app/{device => edge}/config/more/more.module.ts (100%) rename ui/src/app/{device => edge}/config/more/rawconfig/rawconfig.component.html (54%) rename ui/src/app/{device => edge}/config/more/rawconfig/rawconfig.component.ts (81%) create mode 100644 ui/src/app/edge/config/more/refu/refu.component.html rename ui/src/app/{device => edge}/config/more/refu/refu.component.ts (82%) rename ui/src/app/{device => edge}/config/more/systemexecute/systemexecute.component.html (100%) rename ui/src/app/{device => edge}/config/more/systemexecute/systemexecute.component.ts (76%) rename ui/src/app/{device => edge}/config/overview/overview.component.html (77%) rename ui/src/app/{device => edge}/config/overview/overview.component.ts (74%) rename ui/src/app/{device => edge}/config/persistence/persistence.component.ts (84%) rename ui/src/app/{device => edge}/config/scheduler/scheduler.component.ts (85%) rename ui/src/app/{device => edge}/config/simulator/simulator.component.html (90%) rename ui/src/app/{device => edge}/config/simulator/simulator.component.ts (91%) rename ui/src/app/{device/device.module.ts => edge/edge.module.ts} (89%) rename ui/src/app/{device => edge}/history/chart/energychart/energychart.component.html (100%) rename ui/src/app/{device => edge}/history/chart/energychart/energychart.component.ts (91%) rename ui/src/app/{device => edge}/history/chart/shared.ts (100%) rename ui/src/app/{device => edge}/history/chart/socchart/socchart.component.html (100%) rename ui/src/app/{device => edge}/history/chart/socchart/socchart.component.ts (86%) rename ui/src/app/{device => edge}/history/history.component.html (73%) rename ui/src/app/{device => edge}/history/history.component.ts (89%) rename ui/src/app/{device => edge}/history/history.module.ts (100%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/chart.component.html (100%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/chart.component.ts (96%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/section/abstractsection.component.ts (96%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/section/consumptionsection.component.ts (92%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/section/gridsection.component.ts (100%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/section/productionsection.component.ts (100%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/section/section.component.html (100%) rename ui/src/app/{device => edge}/overview/energymonitor/chart/section/storagesection.component.ts (85%) rename ui/src/app/{device => edge}/overview/energymonitor/energymonitor.component.html (81%) rename ui/src/app/{device => edge}/overview/energymonitor/energymonitor.component.ts (78%) rename ui/src/app/{device => edge}/overview/energymonitor/energymonitor.module.ts (100%) rename ui/src/app/{device => edge}/overview/energytable/energytable.component.html (98%) rename ui/src/app/{device => edge}/overview/energytable/energytable.component.ts (83%) rename ui/src/app/{device => edge}/overview/evcs/evcs.component.html (97%) rename ui/src/app/{device => edge}/overview/evcs/evcs.component.ts (85%) rename ui/src/app/{device => edge}/overview/fieldstatus/fieldstatus.component.html (100%) rename ui/src/app/{device => edge}/overview/fieldstatus/fieldstatus.component.ts (85%) rename ui/src/app/{device => edge}/overview/history/history.component.html (55%) rename ui/src/app/{device => edge}/overview/history/history.component.ts (72%) rename ui/src/app/{device => edge}/overview/overview.component.html (79%) rename ui/src/app/{device => edge}/overview/overview.component.ts (86%) rename ui/src/app/{device => edge}/overview/overview.module.ts (100%) rename ui/src/app/{device => edge}/overview/state/state.component.html (92%) rename ui/src/app/{device => edge}/overview/state/state.component.ts (96%) rename ui/src/app/{device => edge}/overview/state/thingstates.ts (100%) rename ui/src/app/shared/{device => edge}/config.ts (100%) rename ui/src/app/shared/{device => edge}/currentdata.ts (100%) rename ui/src/app/shared/{device/device.ts => edge/edge.ts} (96%) delete mode 100644 ui/yarn.lock diff --git a/io.openems.common/src/io/openems/common/OpenemsConstants.java b/io.openems.common/src/io/openems/common/OpenemsConstants.java new file mode 100644 index 00000000000..75b7fd7464e --- /dev/null +++ b/io.openems.common/src/io/openems/common/OpenemsConstants.java @@ -0,0 +1,9 @@ +package io.openems.common; + +public class OpenemsConstants { + + // public final static String OPENEMS_VERSION = "2018.7.0"; + + public final static String OPENEMS_VERSION = "2018.8.0-SNAPSHOT"; + +} diff --git a/io.openems.common/src/io/openems/common/package-info.java b/io.openems.common/src/io/openems/common/package-info.java new file mode 100644 index 00000000000..23c6837cfd8 --- /dev/null +++ b/io.openems.common/src/io/openems/common/package-info.java @@ -0,0 +1,2 @@ +@org.osgi.annotation.versioning.Version("1.0.0") +package io.openems.common; diff --git a/ui/.yarnclean b/ui/.yarnclean deleted file mode 100644 index 874301fa851..00000000000 --- a/ui/.yarnclean +++ /dev/null @@ -1,45 +0,0 @@ -# test directories -__tests__ -test -tests -powered-test - -# asset directories -docs -doc -website -images -assets - -# examples -example -examples - -# code coverage directories -coverage -.nyc_output - -# build scripts -Makefile -Gulpfile.js -Gruntfile.js - -# configs -.tern-project -.gitattributes -.editorconfig -.*ignore -.eslintrc -.jshintrc -.flowconfig -.documentup.json -.yarn-metadata.json -.*.yml -*.yml - -# misc -*.gz -*.md - -# svgo -!svgo/.svgo.yml \ No newline at end of file diff --git a/ui/pom.xml b/ui/pom.xml deleted file mode 100644 index e587ae75672..00000000000 --- a/ui/pom.xml +++ /dev/null @@ -1,147 +0,0 @@ - - - 4.0.0 - OpenEMS UI - - io.openems - pom - 2018.8.0-SNAPSHOT - - edge - pom - - - v6.10.0 - v0.16.1 - - 1.4 - 3.0.0 - 1.6.0 - 1.5.3 - - - - - backend - - target/backend - build-backend - - - - - edge - - target/edge - build-edge - - - - - - - - maven-clean-plugin - ${maven-clean-plugin.version} - - - - target - - * - - - - - - - com.github.eirslett - frontend-maven-plugin - ${frontend-maven-plugin.version} - - - - install node and yarn - - install-node-and-yarn - - generate-resources - - ${node.version} - ${yarn.version} - - - - - yarn install - - yarn - - - install - - - - - yarn build - compile - - yarn - - - run-script ${build-script} - - - - - - - org.codehaus.mojo - buildnumber-maven-plugin - 1.4 - - - validate - - create - - - - - false - true - - - - - com.google.code.maven-replacer-plugin - replacer - ${maven-replacer-plugin.version} - - - prepare-package - - replace - - - - - ${output-path} - - main.**.bundle.js - - - - COMMIT_ID - ${buildNumber} - - - - - - - - - diff --git a/ui/src/app/app.component.html b/ui/src/app/app.component.html index da83eb32e32..e5bfd3091c6 100644 --- a/ui/src/app/app.component.html +++ b/ui/src/app/app.component.html @@ -26,20 +26,20 @@ menu - +

      -
      -
      - - -
      + +
      Device not connected.
      diff --git a/ui/src/app/app.module.ts b/ui/src/app/app.module.ts index a1b17c915d4..5593e2a8dea 100644 --- a/ui/src/app/app.module.ts +++ b/ui/src/app/app.module.ts @@ -8,7 +8,7 @@ import { environment } from '../environments'; import { SharedModule } from './shared/shared.module'; import { AboutModule } from './about/about.module'; import { OverviewModule } from './overview/overview.module'; -import { DeviceModule } from './device/device.module'; +import { EdgeModule } from './edge/edge.module'; import { ConfigModule } from './config/config.module'; // components @@ -23,7 +23,7 @@ import { MyTranslateLoader } from './shared/translate/translate'; BrowserModule, SharedModule, AboutModule, - DeviceModule, + EdgeModule, ConfigModule, OverviewModule, TranslateModule.forRoot({ diff --git a/ui/src/app/app.routing.ts b/ui/src/app/app.routing.ts index c01c4aa99e0..2af81a1547e 100644 --- a/ui/src/app/app.routing.ts +++ b/ui/src/app/app.routing.ts @@ -4,21 +4,21 @@ import { Routes, RouterModule } from '@angular/router'; import { AppComponent } from './app.component'; import { AboutComponent } from './about/about.component'; import { OverviewComponent } from './overview/overview.component'; -import { OverviewComponent as DeviceOverviewComponent } from './device/overview/overview.component'; -import { HistoryComponent as DeviceHistoryComponent } from './device/history/history.component'; -import { OverviewComponent as DeviceConfigOverviewComponent } from './device/config/overview/overview.component'; -import { BridgeComponent as DeviceConfigBridgeComponent } from './device/config/bridge/bridge.component'; -import { SchedulerComponent as DeviceConfigSchedulerComponent } from './device/config/scheduler/scheduler.component'; -import { LogComponent as DeviceConfigLogComponent } from './device/config/log/log.component'; -import { MoreComponent as DeviceConfigMoreComponent } from './device/config/more/more.component'; -import { RawConfigComponent as DeviceConfigRawConfigComponent } from './device/config/more/rawconfig/rawconfig.component'; -import { ConfigAllComponent as DeviceConfigConfigAllComponent } from './device/config/configall/configall.component'; -import { ControllerComponent as DeviceControllerComponent } from './device/config/controller/controller.component'; -import { PersistenceComponent as DevicePersistenceComponent } from './device/config/persistence/persistence.component'; -import { SimulatorComponent as DeviceConfigSimulatorComponent } from './device/config/simulator/simulator.component'; +import { OverviewComponent as EdgeOverviewComponent } from './edge/overview/overview.component'; +import { HistoryComponent as EdgeHistoryComponent } from './edge/history/history.component'; +import { OverviewComponent as EdgeConfigOverviewComponent } from './edge/config/overview/overview.component'; +import { BridgeComponent as EdgeConfigBridgeComponent } from './edge/config/bridge/bridge.component'; +import { SchedulerComponent as EdgeConfigSchedulerComponent } from './edge/config/scheduler/scheduler.component'; +import { LogComponent as EdgeConfigLogComponent } from './edge/config/log/log.component'; +import { MoreComponent as EdgeConfigMoreComponent } from './edge/config/more/more.component'; +import { RawConfigComponent as EdgeConfigRawConfigComponent } from './edge/config/more/rawconfig/rawconfig.component'; +import { ConfigAllComponent as EdgeConfigConfigAllComponent } from './edge/config/configall/configall.component'; +import { ControllerComponent as EdgeControllerComponent } from './edge/config/controller/controller.component'; +import { PersistenceComponent as EdgePersistenceComponent } from './edge/config/persistence/persistence.component'; +import { SimulatorComponent as EdgeConfigSimulatorComponent } from './edge/config/simulator/simulator.component'; import { DebugModeComponent as ConfigDebugModeComponent } from './config/debugmode/debugmode.component'; -import { DirectControlComponent as DeviceConfigDirectControlComponent } from './device/config/more/directcontrol/directcontrol.component'; -import { SystemExecuteComponent as DeviceConfigSystemExecuteComponent } from './device/config/more/systemexecute/systemexecute.component'; +import { DirectControlComponent as EdgeConfigDirectControlComponent } from './edge/config/more/directcontrol/directcontrol.component'; +import { SystemExecuteComponent as EdgeConfigSystemExecuteComponent } from './edge/config/more/systemexecute/systemexecute.component'; const appRoutes: Routes = [ @@ -27,24 +27,24 @@ const appRoutes: Routes = [ { path: 'about', component: AboutComponent }, - { path: 'device/:device', redirectTo: 'device/:device/overview', pathMatch: 'full' }, - { path: 'device/:device/overview', component: DeviceOverviewComponent }, - { path: 'device/:device/history', component: DeviceHistoryComponent }, - { path: 'device/:device/log', component: DeviceConfigLogComponent }, + { path: 'device/:edgeName', redirectTo: 'device/:edgeName/overview', pathMatch: 'full' }, + { path: 'device/:edgeName/overview', component: EdgeOverviewComponent }, + { path: 'device/:edgeName/history', component: EdgeHistoryComponent }, + { path: 'device/:edgeName/log', component: EdgeConfigLogComponent }, /* TODO: update Odoo direct monitoring links to reflect path changes */ - { path: 'device/:device/config', redirectTo: 'device/:device/config/overview', pathMatch: 'full' }, - { path: 'device/:device/config/overview', component: DeviceConfigOverviewComponent }, - { path: 'device/:device/config/bridge', component: DeviceConfigBridgeComponent }, - { path: 'device/:device/config/scheduler', component: DeviceConfigSchedulerComponent }, - { path: 'device/:device/config/all', component: DeviceConfigConfigAllComponent }, - { path: 'device/:device/config/more', component: DeviceConfigMoreComponent }, - { path: 'device/:device/config/more/rawconfig', component: DeviceConfigRawConfigComponent }, - { path: 'device/:device/config/more/directcontrol', component: DeviceConfigDirectControlComponent }, - { path: 'device/:device/config/more/systemexecute', component: DeviceConfigSystemExecuteComponent }, - { path: 'device/:device/config/controller', component: DeviceControllerComponent }, - { path: 'device/:device/config/persistence', component: DevicePersistenceComponent }, - { path: 'device/:device/config/simulator', component: DeviceConfigSimulatorComponent }, + { path: 'device/:edgeName/config', redirectTo: 'device/:edgeName/config/overview', pathMatch: 'full' }, + { path: 'device/:edgeName/config/overview', component: EdgeConfigOverviewComponent }, + { path: 'device/:edgeName/config/bridge', component: EdgeConfigBridgeComponent }, + { path: 'device/:edgeName/config/scheduler', component: EdgeConfigSchedulerComponent }, + { path: 'device/:edgeName/config/all', component: EdgeConfigConfigAllComponent }, + { path: 'device/:edgeName/config/more', component: EdgeConfigMoreComponent }, + { path: 'device/:edgeName/config/more/rawconfig', component: EdgeConfigRawConfigComponent }, + { path: 'device/:edgeName/config/more/directcontrol', component: EdgeConfigDirectControlComponent }, + { path: 'device/:edgeName/config/more/systemexecute', component: EdgeConfigSystemExecuteComponent }, + { path: 'device/:edgeName/config/controller', component: EdgeControllerComponent }, + { path: 'device/:edgeName/config/persistence', component: EdgePersistenceComponent }, + { path: 'device/:edgeName/config/simulator', component: EdgeConfigSimulatorComponent }, { path: 'config/debugmode', component: ConfigDebugModeComponent }, ]; diff --git a/ui/src/app/device/config/bridge/bridge.component.html b/ui/src/app/device/config/bridge/bridge.component.html deleted file mode 100644 index a42cb3cf10e..00000000000 --- a/ui/src/app/device/config/bridge/bridge.component.html +++ /dev/null @@ -1,8 +0,0 @@ -
      -
      - - - - -
      -
      \ No newline at end of file diff --git a/ui/src/app/device/config/more/refu/refu.component.html b/ui/src/app/device/config/more/refu/refu.component.html deleted file mode 100644 index fb6629e50ff..00000000000 --- a/ui/src/app/device/config/more/refu/refu.component.html +++ /dev/null @@ -1,25 +0,0 @@ - - TODO: adjust RefuComponent to new config layout - - \ No newline at end of file diff --git a/ui/src/app/device/config/abstractconfig.ts b/ui/src/app/edge/config/abstractconfig.ts similarity index 89% rename from ui/src/app/device/config/abstractconfig.ts rename to ui/src/app/edge/config/abstractconfig.ts index f4c8f865af6..5df565573d4 100644 --- a/ui/src/app/device/config/abstractconfig.ts +++ b/ui/src/app/edge/config/abstractconfig.ts @@ -3,7 +3,7 @@ import { Router, ActivatedRoute, Params } from '@angular/router'; import { FormControl, FormGroup, FormArray, AbstractControl, FormBuilder } from '@angular/forms'; import { Subscription } from 'rxjs/Subscription'; -import { Device } from '../../shared/device/device'; +import { Edge } from '../../shared/edge/edge'; import { Websocket } from '../../shared/shared'; import { AbstractConfigForm } from './abstractconfigform'; @@ -42,10 +42,10 @@ export abstract class AbstractConfig extends AbstractConfigForm implements OnIni ngOnInit() { super.ngOnInit(); // TODO - // this.websocket.setCurrentDevice(this.route.snapshot.params); - // this.device.takeUntil(this.ngUnsubscribe).subscribe(device => { - // if (device != null) { - // device.config.takeUntil(this.ngUnsubscribe).subscribe(config => { + // this.websocket.setCurrentEdge(this.route.snapshot.params); + // this.edge.takeUntil(this.ngUnsubscribe).subscribe(edge => { + // if (edge != null) { + // edge.config.takeUntil(this.ngUnsubscribe).subscribe(config => { // this.config = config; // this.initForm(config); // }); diff --git a/ui/src/app/device/config/abstractconfigform.ts b/ui/src/app/edge/config/abstractconfigform.ts similarity index 89% rename from ui/src/app/device/config/abstractconfigform.ts rename to ui/src/app/edge/config/abstractconfigform.ts index b9d00b4459c..c1b1b262a8b 100644 --- a/ui/src/app/device/config/abstractconfigform.ts +++ b/ui/src/app/edge/config/abstractconfigform.ts @@ -6,7 +6,7 @@ import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Subject } from 'rxjs/Subject'; import { Websocket } from '../../shared/shared'; -import { Device } from '../../shared/device/device'; +import { Edge } from '../../shared/edge/edge'; export type ConfigureRequestModeType = "update" | "create" | "delete"; export class ConfigureRequest { @@ -32,7 +32,7 @@ export interface ConfigureUpdateSchedulerRequest extends ConfigureRequest { export abstract class AbstractConfigForm implements OnDestroy, OnInit { - public device: BehaviorSubject = new BehaviorSubject(null); + public edge: BehaviorSubject = new BehaviorSubject(null); protected ngUnsubscribe: Subject = new Subject(); constructor( @@ -41,8 +41,8 @@ export abstract class AbstractConfigForm implements OnDestroy, OnInit { ngOnInit() { // TODO - // this.websocket.currentDevice.takeUntil(this.ngUnsubscribe).subscribe(device => { - // this.device.next(device); + // this.websocket.currentEdge.takeUntil(this.ngUnsubscribe).subscribe(edge => { + // this.edge.next(edge); // }); } @@ -75,13 +75,13 @@ export abstract class AbstractConfigForm implements OnDestroy, OnInit { protected send(requests: ConfigureRequest[]) { if (requests.length > 0) { - let device = this.device.getValue(); - if (device != null) { - device.send({ + let edge = this.edge.getValue(); + if (edge != null) { + edge.send({ configure: requests }); } else { - // TODO: error message: no current device! + // TODO: error message: no current edge! } } } diff --git a/ui/src/app/edge/config/bridge/bridge.component.html b/ui/src/app/edge/config/bridge/bridge.component.html new file mode 100644 index 00000000000..7e35cbc6af7 --- /dev/null +++ b/ui/src/app/edge/config/bridge/bridge.component.html @@ -0,0 +1,8 @@ +
      +
      + + + + +
      +
      \ No newline at end of file diff --git a/ui/src/app/device/config/bridge/bridge.component.ts b/ui/src/app/edge/config/bridge/bridge.component.ts similarity index 84% rename from ui/src/app/device/config/bridge/bridge.component.ts rename to ui/src/app/edge/config/bridge/bridge.component.ts index 76d7c1e10ff..177efe62f72 100644 --- a/ui/src/app/device/config/bridge/bridge.component.ts +++ b/ui/src/app/edge/config/bridge/bridge.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; import { AbstractConfigComponent } from '../../../shared/config/abstractconfig.component'; -import { ConfigImpl } from '../../../shared/device/config'; +import { ConfigImpl } from '../../../shared/edge/config'; @Component({ selector: 'bridge', diff --git a/ui/src/app/device/config/config.module.ts b/ui/src/app/edge/config/config.module.ts similarity index 100% rename from ui/src/app/device/config/config.module.ts rename to ui/src/app/edge/config/config.module.ts diff --git a/ui/src/app/device/config/configall/configall.component.ts b/ui/src/app/edge/config/configall/configall.component.ts similarity index 81% rename from ui/src/app/device/config/configall/configall.component.ts rename to ui/src/app/edge/config/configall/configall.component.ts index 1af77651dad..9b39ea22782 100644 --- a/ui/src/app/device/config/configall/configall.component.ts +++ b/ui/src/app/edge/config/configall/configall.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; import { AbstractConfigComponent } from '../../../shared/config/abstractconfig.component'; -import { ConfigImpl } from '../../../shared/device/config'; +import { ConfigImpl } from '../../../shared/edge/config'; @Component({ selector: 'configall', diff --git a/ui/src/app/device/config/controller/controller.component.ts b/ui/src/app/edge/config/controller/controller.component.ts similarity index 84% rename from ui/src/app/device/config/controller/controller.component.ts rename to ui/src/app/edge/config/controller/controller.component.ts index c8e9df6fbad..11c45d44725 100644 --- a/ui/src/app/device/config/controller/controller.component.ts +++ b/ui/src/app/edge/config/controller/controller.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; import { AbstractConfigComponent } from '../../../shared/config/abstractconfig.component'; -import { ConfigImpl } from '../../../shared/device/config'; +import { ConfigImpl } from '../../../shared/edge/config'; @Component({ selector: 'controller', diff --git a/ui/src/app/device/config/log/log.component.html b/ui/src/app/edge/config/log/log.component.html similarity index 75% rename from ui/src/app/device/config/log/log.component.html rename to ui/src/app/edge/config/log/log.component.html index 4e635a9a3a2..bf0795ff9aa 100644 --- a/ui/src/app/device/config/log/log.component.html +++ b/ui/src/app/edge/config/log/log.component.html @@ -1,10 +1,10 @@ -
      +
      code System-Log - {{ device.name }} + {{ edge.name }}
      @@ -12,22 +12,22 @@ - Device.Config.Log.AutomaticUpdating + Edge.Config.Log.AutomaticUpdating
      diff --git a/ui/src/app/device/config/log/log.component.ts b/ui/src/app/edge/config/log/log.component.ts similarity index 81% rename from ui/src/app/device/config/log/log.component.ts rename to ui/src/app/edge/config/log/log.component.ts index ff63b49a1a2..e3ea5ebbe2f 100644 --- a/ui/src/app/device/config/log/log.component.ts +++ b/ui/src/app/edge/config/log/log.component.ts @@ -4,7 +4,7 @@ import { Subscription } from 'rxjs/Subscription'; import { Subject } from 'rxjs/Subject'; import { format } from 'date-fns'; -import { Device } from '../../../shared/device/device'; +import { Edge } from '../../../shared/edge/edge'; import { Websocket } from '../../../shared/shared'; import { DefaultTypes } from '../../../shared/service/defaulttypes'; @@ -14,7 +14,7 @@ import { DefaultTypes } from '../../../shared/service/defaulttypes'; }) export class LogComponent implements OnInit, OnDestroy { - public device: Device = null; + public edge: Edge = null; public logs: DefaultTypes.Log[] = []; public isSubscribed: boolean = false; @@ -27,10 +27,10 @@ export class LogComponent implements OnInit, OnDestroy { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route) + this.websocket.setCurrentEdge(this.route) .takeUntil(this.stopOnDestroy) - .subscribe(device => { - this.device = device; + .subscribe(edge => { + this.edge = edge; this.subscribeLog(); }); } @@ -55,8 +55,8 @@ export class LogComponent implements OnInit, OnDestroy { }); } - if (this.device != null) { - this.device.subscribeLog().takeUntil(this.stopOnDestroy).subscribe(log => { + if (this.edge != null) { + this.edge.subscribeLog().takeUntil(this.stopOnDestroy).subscribe(log => { log.time = format(new Date(log.time * 1000), "DD.MM.YYYY HH:mm:ss"); switch (log.level) { case 'INFO': @@ -82,8 +82,8 @@ export class LogComponent implements OnInit, OnDestroy { } public unsubscribeLog() { - if (this.device != null) { - this.device.unsubscribeLog(); + if (this.edge != null) { + this.edge.unsubscribeLog(); } this.stopOnDestroy.next(); this.stopOnDestroy.complete(); diff --git a/ui/src/app/device/config/more/directcontrol/directcontrol.component.html b/ui/src/app/edge/config/more/directcontrol/directcontrol.component.html similarity index 100% rename from ui/src/app/device/config/more/directcontrol/directcontrol.component.html rename to ui/src/app/edge/config/more/directcontrol/directcontrol.component.html diff --git a/ui/src/app/device/config/more/directcontrol/directcontrol.component.ts b/ui/src/app/edge/config/more/directcontrol/directcontrol.component.ts similarity index 82% rename from ui/src/app/device/config/more/directcontrol/directcontrol.component.ts rename to ui/src/app/edge/config/more/directcontrol/directcontrol.component.ts index 06546a6f27e..00115298153 100644 --- a/ui/src/app/device/config/more/directcontrol/directcontrol.component.ts +++ b/ui/src/app/edge/config/more/directcontrol/directcontrol.component.ts @@ -5,7 +5,7 @@ import { Subscription } from 'rxjs/Subscription'; import { Subject } from 'rxjs/Subject'; import { Websocket, Service } from '../../../../shared/shared'; -import { Device } from '../../../../shared/device/device'; +import { Edge } from '../../../../shared/edge/edge'; import { DefaultMessages } from '../../../../shared/service/defaultmessages'; @Component({ @@ -14,7 +14,7 @@ import { DefaultMessages } from '../../../../shared/service/defaultmessages'; }) export class DirectControlComponent { - public device: Device; + public edge: Edge; public forms: FormGroup[] = []; private stopOnDestroy: Subject = new Subject(); @@ -26,10 +26,10 @@ export class DirectControlComponent { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route) + this.websocket.setCurrentEdge(this.route) .takeUntil(this.stopOnDestroy) - .subscribe(device => { - this.device = device; + .subscribe(edge => { + this.edge = edge; }); this.addLine(); } @@ -39,7 +39,7 @@ export class DirectControlComponent { let thing = form.value["thing"]; let channel = form.value["channel"]; let value = form.value["value"]; - this.device.send(DefaultMessages.configUpdate(this.device.edgeId, thing, channel, value)); + this.edge.send(DefaultMessages.configUpdate(this.edge.edgeId, thing, channel, value)); } } diff --git a/ui/src/app/device/config/more/more.component.html b/ui/src/app/edge/config/more/more.component.html similarity index 78% rename from ui/src/app/device/config/more/more.component.html rename to ui/src/app/edge/config/more/more.component.html index 58b31016484..354a75bf3bd 100644 --- a/ui/src/app/device/config/more/more.component.html +++ b/ui/src/app/edge/config/more/more.component.html @@ -1,5 +1,5 @@
      -
      +
      more_horiz @@ -11,7 +11,7 @@
      -
      +
      more_horiz @@ -23,7 +23,7 @@
      -
      +
      more_horiz @@ -47,7 +47,7 @@
      -
      +
      more_horiz diff --git a/ui/src/app/device/config/more/more.component.ts b/ui/src/app/edge/config/more/more.component.ts similarity index 76% rename from ui/src/app/device/config/more/more.component.ts rename to ui/src/app/edge/config/more/more.component.ts index c5ae935f508..cd54fdba7cb 100644 --- a/ui/src/app/device/config/more/more.component.ts +++ b/ui/src/app/edge/config/more/more.component.ts @@ -6,7 +6,7 @@ import 'rxjs/add/operator/filter'; import 'rxjs/add/operator/first'; import { Websocket, Service } from '../../../shared/shared'; -import { Device } from '../../../shared/device/device'; +import { Edge } from '../../../shared/edge/edge'; @Component({ selector: 'more', @@ -14,7 +14,7 @@ import { Device } from '../../../shared/device/device'; }) export class MoreComponent implements OnInit { - public device: Device; + public edge: Edge; public manualMessageForm: FormGroup; constructor( @@ -25,11 +25,11 @@ export class MoreComponent implements OnInit { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route) - .filter(device => device != null) + this.websocket.setCurrentEdge(this.route) + .filter(edge => edge != null) .first() - .subscribe(device => { - this.device = device; + .subscribe(edge => { + this.edge = edge; }); this.manualMessageForm = this.formBuilder.group({ "message": this.formBuilder.control('') diff --git a/ui/src/app/device/config/more/more.module.ts b/ui/src/app/edge/config/more/more.module.ts similarity index 100% rename from ui/src/app/device/config/more/more.module.ts rename to ui/src/app/edge/config/more/more.module.ts diff --git a/ui/src/app/device/config/more/rawconfig/rawconfig.component.html b/ui/src/app/edge/config/more/rawconfig/rawconfig.component.html similarity index 54% rename from ui/src/app/device/config/more/rawconfig/rawconfig.component.html rename to ui/src/app/edge/config/more/rawconfig/rawconfig.component.html index 9a3f161acc9..5661cdcb4ea 100644 --- a/ui/src/app/device/config/more/rawconfig/rawconfig.component.html +++ b/ui/src/app/edge/config/more/rawconfig/rawconfig.component.html @@ -1,24 +1,33 @@ -
      - +
      +

      Things

      -

      {{ thing.key }}:

      +

      + {{ thing.key }}: +

        -
      • {{ channel.key }}: {{ channel.value | json }}
      • +
      • + {{ channel.key }}: {{ channel.value | json }}

      Meta

      -

      {{ class.key }}:

      +

      + {{ class.key }}: +

        -
      • {{ key.key }}: {{ key.value | json }}
      • +
      • + {{ key.key }}: {{ key.value | json }}
      • Channels
        • -
        • {{ channel.key }}:
        • +
        • + {{ channel.key }}: +
          • -
          • {{ key.key }}: {{ key.value | json }}
          • +
          • + {{ key.key }}: {{ key.value | json }}
      diff --git a/ui/src/app/device/config/more/rawconfig/rawconfig.component.ts b/ui/src/app/edge/config/more/rawconfig/rawconfig.component.ts similarity index 81% rename from ui/src/app/device/config/more/rawconfig/rawconfig.component.ts rename to ui/src/app/edge/config/more/rawconfig/rawconfig.component.ts index 41d43b04389..932c2f44558 100644 --- a/ui/src/app/device/config/more/rawconfig/rawconfig.component.ts +++ b/ui/src/app/edge/config/more/rawconfig/rawconfig.component.ts @@ -4,7 +4,7 @@ import { FormGroup, FormBuilder } from '@angular/forms'; import { Subscription } from 'rxjs/Subscription'; import { Websocket, Service } from '../../../../shared/shared'; -import { Device } from '../../../../shared/device/device'; +import { Edge } from '../../../../shared/edge/edge'; import { Utils } from '../../../../shared/shared'; @Component({ @@ -20,6 +20,6 @@ export class RawConfigComponent { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route); + this.websocket.setCurrentEdge(this.route); } } \ No newline at end of file diff --git a/ui/src/app/edge/config/more/refu/refu.component.html b/ui/src/app/edge/config/more/refu/refu.component.html new file mode 100644 index 00000000000..1bbea66ca99 --- /dev/null +++ b/ui/src/app/edge/config/more/refu/refu.component.html @@ -0,0 +1,25 @@ + + TODO: adjust RefuComponent to new config layout + + \ No newline at end of file diff --git a/ui/src/app/device/config/more/refu/refu.component.ts b/ui/src/app/edge/config/more/refu/refu.component.ts similarity index 82% rename from ui/src/app/device/config/more/refu/refu.component.ts rename to ui/src/app/edge/config/more/refu/refu.component.ts index a96f2eae48e..a25c7089029 100644 --- a/ui/src/app/device/config/more/refu/refu.component.ts +++ b/ui/src/app/edge/config/more/refu/refu.component.ts @@ -3,7 +3,7 @@ import { Router, ActivatedRoute, Params } from '@angular/router'; import { FormGroup, FormBuilder } from '@angular/forms'; import { Subscription } from 'rxjs/Subscription'; -import { Device } from '../../../../shared/device/device'; +import { Edge } from '../../../../shared/edge/edge'; import { Websocket } from '../../../../shared/shared'; @Component({ @@ -13,10 +13,10 @@ import { Websocket } from '../../../../shared/shared'; export class RefuComponent { @Input() - public device: Device; + public edge: Edge; public setInverterState(thing: string, state: boolean) { - this.device.send({ + this.edge.send({ configure: [{ mode: "update", thing: thing, diff --git a/ui/src/app/device/config/more/systemexecute/systemexecute.component.html b/ui/src/app/edge/config/more/systemexecute/systemexecute.component.html similarity index 100% rename from ui/src/app/device/config/more/systemexecute/systemexecute.component.html rename to ui/src/app/edge/config/more/systemexecute/systemexecute.component.html diff --git a/ui/src/app/device/config/more/systemexecute/systemexecute.component.ts b/ui/src/app/edge/config/more/systemexecute/systemexecute.component.ts similarity index 76% rename from ui/src/app/device/config/more/systemexecute/systemexecute.component.ts rename to ui/src/app/edge/config/more/systemexecute/systemexecute.component.ts index 2193df9b7fc..1306c3dcb3e 100644 --- a/ui/src/app/device/config/more/systemexecute/systemexecute.component.ts +++ b/ui/src/app/edge/config/more/systemexecute/systemexecute.component.ts @@ -5,7 +5,7 @@ import { Subject } from 'rxjs/Subject'; import { DefaultMessages } from '../../../../shared/service/defaultmessages'; import { Websocket, Service } from '../../../../shared/shared'; -import { Device } from '../../../../shared/device/device'; +import { Edge } from '../../../../shared/edge/edge'; @Component({ selector: 'systemexecute', @@ -21,19 +21,19 @@ export class SystemExecuteComponent implements OnInit { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route) + this.websocket.setCurrentEdge(this.route) .takeUntil(this.stopOnDestroy) - .subscribe(device => { - this.device = device; + .subscribe(edge => { + this.edge = edge; }); } - public device: Device; + public edge: Edge; public output: string = ""; public commandLogs: { command: string, background: boolean, timeout: number }[] = []; public send(password: string, command: string, background: boolean, timeout: number) { - this.device.systemExecute(password, command, background, timeout).then(output => { + this.edge.systemExecute(password, command, background, timeout).then(output => { this.output = output; }); this.commandLogs.unshift({ command, background, timeout }); diff --git a/ui/src/app/device/config/overview/overview.component.html b/ui/src/app/edge/config/overview/overview.component.html similarity index 77% rename from ui/src/app/device/config/overview/overview.component.html rename to ui/src/app/edge/config/overview/overview.component.html index b76f88b2691..a5a848316c3 100644 --- a/ui/src/app/device/config/overview/overview.component.html +++ b/ui/src/app/edge/config/overview/overview.component.html @@ -1,11 +1,11 @@ -
      - +
      +
      - + device_hub - Device.Config.Overview.Bridge + Edge.Config.Overview.Bridge @@ -21,10 +21,10 @@
      - + schedule - Device.Config.Overview.Scheduler + Edge.Config.Overview.Scheduler @@ -39,11 +39,11 @@
      -
      +
      apps - Device.Config.Overview.Controller + Edge.Config.Overview.Controller @@ -58,7 +58,7 @@
      -
      +
      apps @@ -97,18 +97,18 @@
      --> -
      code - Device.Config.Overview.Log + Edge.Config.Overview.Log

      - Device.Config.Overview.LiveLog + Edge.Config.Overview.LiveLog

      @@ -116,7 +116,7 @@
      -
      +
      more_horiz @@ -126,7 +126,7 @@

      - Device.Config.Overview.ManualControl + Edge.Config.Overview.ManualControl

      diff --git a/ui/src/app/device/config/overview/overview.component.ts b/ui/src/app/edge/config/overview/overview.component.ts similarity index 74% rename from ui/src/app/device/config/overview/overview.component.ts rename to ui/src/app/edge/config/overview/overview.component.ts index 0bf851c454a..f489995adcd 100644 --- a/ui/src/app/device/config/overview/overview.component.ts +++ b/ui/src/app/edge/config/overview/overview.component.ts @@ -3,7 +3,7 @@ import { Router, ActivatedRoute, Params } from '@angular/router'; import { FormGroup, FormBuilder } from '@angular/forms'; import { Subscription } from 'rxjs/Subscription'; -import { Device } from '../../../shared/device/device'; +import { Edge } from '../../../shared/edge/edge'; import { Websocket } from '../../../shared/shared'; @Component({ @@ -12,9 +12,9 @@ import { Websocket } from '../../../shared/shared'; }) export class OverviewComponent implements OnInit { - public device: Device; + public edge: Edge; - private deviceSubscription: Subscription; + private edgeSubscription: Subscription; constructor( private route: ActivatedRoute, @@ -23,6 +23,6 @@ export class OverviewComponent implements OnInit { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route); + this.websocket.setCurrentEdge(this.route); } } \ No newline at end of file diff --git a/ui/src/app/device/config/persistence/persistence.component.ts b/ui/src/app/edge/config/persistence/persistence.component.ts similarity index 84% rename from ui/src/app/device/config/persistence/persistence.component.ts rename to ui/src/app/edge/config/persistence/persistence.component.ts index e83294fcb37..b29793c9aa9 100644 --- a/ui/src/app/device/config/persistence/persistence.component.ts +++ b/ui/src/app/edge/config/persistence/persistence.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; import { AbstractConfigComponent } from '../../../shared/config/abstractconfig.component'; -import { ConfigImpl } from '../../../shared/device/config'; +import { ConfigImpl } from '../../../shared/edge/config'; @Component({ selector: 'persistence', diff --git a/ui/src/app/device/config/scheduler/scheduler.component.ts b/ui/src/app/edge/config/scheduler/scheduler.component.ts similarity index 85% rename from ui/src/app/device/config/scheduler/scheduler.component.ts rename to ui/src/app/edge/config/scheduler/scheduler.component.ts index ba72d8a2445..f77b5165eb1 100644 --- a/ui/src/app/device/config/scheduler/scheduler.component.ts +++ b/ui/src/app/edge/config/scheduler/scheduler.component.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core'; import { AbstractConfigComponent } from '../../../shared/config/abstractconfig.component'; -import { ConfigImpl } from '../../../shared/device/config'; +import { ConfigImpl } from '../../../shared/edge/config'; @Component({ selector: 'scheduler', diff --git a/ui/src/app/device/config/simulator/simulator.component.html b/ui/src/app/edge/config/simulator/simulator.component.html similarity index 90% rename from ui/src/app/device/config/simulator/simulator.component.html rename to ui/src/app/edge/config/simulator/simulator.component.html index 2c3f5166e69..8d8d226413e 100644 --- a/ui/src/app/device/config/simulator/simulator.component.html +++ b/ui/src/app/edge/config/simulator/simulator.component.html @@ -2,7 +2,7 @@ TODO: migrate SimulatorComponent to new config layout
      -
      +
      @@ -14,8 +14,9 @@

      Grid-Meter

      -

      Id: {{ form.gridMeter.value.id }}
      Producer-Id: {{ form.gridMeter.value.producer | json }}
      Ess-Id: {{ form.gridMeter.value.esss - | json }} +

      Id: {{ form.gridMeter.value.id }} +
      Producer-Id: {{ form.gridMeter.value.producer | json }} +
      Ess-Id: {{ form.gridMeter.value.esss | json }}

      @@ -54,8 +55,8 @@ + save + @@ -78,8 +79,8 @@ + save +
      @@ -96,8 +97,8 @@ + save +
      @@ -114,8 +115,8 @@ + save +
      diff --git a/ui/src/app/device/config/simulator/simulator.component.ts b/ui/src/app/edge/config/simulator/simulator.component.ts similarity index 91% rename from ui/src/app/device/config/simulator/simulator.component.ts rename to ui/src/app/edge/config/simulator/simulator.component.ts index 1e394121a3e..47ae800f3a3 100644 --- a/ui/src/app/device/config/simulator/simulator.component.ts +++ b/ui/src/app/edge/config/simulator/simulator.component.ts @@ -47,10 +47,10 @@ export class SimulatorComponent extends AbstractConfig implements OnInit, OnDest ngOnInit() { super.ngOnInit(); - this.device.takeUntil(this.ngUnsubscribe).subscribe(device => { - // subscribed to device - if (device != null) { - device.subscribeCurrentData({ + this.edge.takeUntil(this.ngUnsubscribe).subscribe(edge => { + // subscribed to edge + if (edge != null) { + edge.subscribeCurrentData({ meter0: [ "ActivePower", "minActivePower" ], @@ -111,9 +111,9 @@ export class SimulatorComponent extends AbstractConfig implements OnInit, OnDest } ngOnDestroy() { - let device = this.device.getValue(); - if (device != null) { - device.unsubscribeCurrentData(); + let edge = this.edge.getValue(); + if (edge != null) { + edge.unsubscribeCurrentData(); } super.ngOnDestroy(); } diff --git a/ui/src/app/device/device.module.ts b/ui/src/app/edge/edge.module.ts similarity index 89% rename from ui/src/app/device/device.module.ts rename to ui/src/app/edge/edge.module.ts index be191d85394..09cb244ba5c 100644 --- a/ui/src/app/device/device.module.ts +++ b/ui/src/app/edge/edge.module.ts @@ -12,4 +12,4 @@ import { OverviewModule } from './overview/overview.module'; HistoryModule ] }) -export class DeviceModule { } +export class EdgeModule { } diff --git a/ui/src/app/device/history/chart/energychart/energychart.component.html b/ui/src/app/edge/history/chart/energychart/energychart.component.html similarity index 100% rename from ui/src/app/device/history/chart/energychart/energychart.component.html rename to ui/src/app/edge/history/chart/energychart/energychart.component.html diff --git a/ui/src/app/device/history/chart/energychart/energychart.component.ts b/ui/src/app/edge/history/chart/energychart/energychart.component.ts similarity index 91% rename from ui/src/app/device/history/chart/energychart/energychart.component.ts rename to ui/src/app/edge/history/chart/energychart/energychart.component.ts index 43823d3889c..b0ebeb9158c 100644 --- a/ui/src/app/device/history/chart/energychart/energychart.component.ts +++ b/ui/src/app/edge/history/chart/energychart/energychart.component.ts @@ -3,13 +3,13 @@ import { Subject } from 'rxjs/Subject'; import { BaseChartDirective } from 'ng2-charts/ng2-charts'; import { TranslateService } from '@ngx-translate/core'; -import { Device } from '../../../../shared/device/device'; -import { ConfigImpl } from '../../../../shared/device/config'; +import { Edge } from '../../../../shared/edge/edge'; +import { ConfigImpl } from '../../../../shared/edge/config'; import { DefaultTypes } from '../../../../shared/service/defaulttypes'; import { Dataset, EMPTY_DATASET } from './../../../../shared/shared'; import { DEFAULT_TIME_CHART_OPTIONS, ChartOptions, TooltipItem, Data } from './../shared'; import { Utils } from './../../../../shared/service/utils'; -import { CurrentDataAndSummary } from '../../../../shared/device/currentdata'; +import { CurrentDataAndSummary } from '../../../../shared/edge/currentdata'; // TODO grid should be shown as "Netzeinspeisung"/"Netzbezug" instead of positive/negative value @Component({ @@ -18,7 +18,7 @@ import { CurrentDataAndSummary } from '../../../../shared/device/currentdata'; }) export class EnergyChartComponent implements OnChanges { - @Input() private device: Device; + @Input() private edge: Edge; @Input() private config: ConfigImpl; @Input() private channels: DefaultTypes.ChannelAddresses; @Input() private fromDate: Date; @@ -96,7 +96,7 @@ export class EnergyChartComponent implements OnChanges { return; } this.loading = true; - this.device.historicDataQuery(this.fromDate, this.toDate, this.channels).then(historicData => { + this.edge.historicDataQuery(this.fromDate, this.toDate, this.channels).then(historicData => { // prepare datas array and prefill with each device // prepare datasets and labels diff --git a/ui/src/app/device/history/chart/shared.ts b/ui/src/app/edge/history/chart/shared.ts similarity index 100% rename from ui/src/app/device/history/chart/shared.ts rename to ui/src/app/edge/history/chart/shared.ts diff --git a/ui/src/app/device/history/chart/socchart/socchart.component.html b/ui/src/app/edge/history/chart/socchart/socchart.component.html similarity index 100% rename from ui/src/app/device/history/chart/socchart/socchart.component.html rename to ui/src/app/edge/history/chart/socchart/socchart.component.html diff --git a/ui/src/app/device/history/chart/socchart/socchart.component.ts b/ui/src/app/edge/history/chart/socchart/socchart.component.ts similarity index 86% rename from ui/src/app/device/history/chart/socchart/socchart.component.ts rename to ui/src/app/edge/history/chart/socchart/socchart.component.ts index 3458874d5d5..7155ee76c13 100644 --- a/ui/src/app/device/history/chart/socchart/socchart.component.ts +++ b/ui/src/app/edge/history/chart/socchart/socchart.component.ts @@ -3,7 +3,7 @@ import { Subject } from 'rxjs/Subject'; import { BaseChartDirective } from 'ng2-charts/ng2-charts'; import { TranslateService } from '@ngx-translate/core'; -import { Device } from '../../../../shared/device/device'; +import { Edge } from '../../../../shared/edge/edge'; import { DefaultTypes } from '../../../../shared/service/defaulttypes'; import { Dataset, EMPTY_DATASET } from './../../../../shared/shared'; import { DEFAULT_TIME_CHART_OPTIONS, ChartOptions } from './../shared'; @@ -16,17 +16,17 @@ import { Utils } from './../../../../shared/service/utils'; export class SocChartComponent implements OnInit, OnChanges { @Input() - set device(device: Device) { + set edge(edge: Edge) { this.stopOnDestroy.next(); - this._device = device; - if (this._device) - this._device.config.takeUntil(this.stopOnDestroy).subscribe(config => { + this._edge = edge; + if (this._edge) + this._edge.config.takeUntil(this.stopOnDestroy).subscribe(config => { this.config = config; this.createChart(); }); } - get device(): Device { - return this._device; + get edge(): Edge { + return this._edge; } @Input() private channels: DefaultTypes.ChannelAddresses; @Input() private fromDate: Date; @@ -45,7 +45,7 @@ export class SocChartComponent implements OnInit, OnChanges { public loading: boolean = true; private config: DefaultTypes.Config; private stopOnDestroy: Subject = new Subject(); - public _device: Device; + public _edge: Edge; private colors = [{ @@ -76,14 +76,14 @@ export class SocChartComponent implements OnInit, OnChanges { }; createChart() { - if (this.channels && this.fromDate && this.toDate && this._device) { + if (this.channels && this.fromDate && this.toDate && this._edge) { if (Object.keys(this.channels).length === 0) { this.loading = true; return; } this.loading = true; // TODO stop previous subscribe; show only results for latest query. Otherwise the chart misbehaves on fast switch of period - this._device.historicDataQuery(this.fromDate, this.toDate, this.channels).then(historicData => { + this._edge.historicDataQuery(this.fromDate, this.toDate, this.channels).then(historicData => { // prepare datas array and prefill with each device let tmpData: { [thing: string]: number[]; @@ -100,7 +100,7 @@ export class SocChartComponent implements OnInit, OnChanges { if (thing in record.channels && "Soc" in record.channels[thing] && record.channels[thing]["Soc"] != null) { soc = Math.round(record.channels[thing].Soc); } - if(soc > 100 || soc < 0) { + if (soc > 100 || soc < 0) { soc = null; } tmpData[thing].push(soc); diff --git a/ui/src/app/device/history/history.component.html b/ui/src/app/edge/history/history.component.html similarity index 73% rename from ui/src/app/device/history/history.component.html rename to ui/src/app/edge/history/history.component.html index 8d633a28391..98ad2bed25d 100644 --- a/ui/src/app/device/history/history.component.html +++ b/ui/src/app/edge/history/history.component.html @@ -1,24 +1,24 @@ -
      +
      account_circle - {{ device.websocket.name }} + {{ edge.websocket.name }}
      @@ -43,14 +43,15 @@ event - Device.History.SelectedPeriod {{ activePeriodText }} + + Edge.History.SelectedPeriod {{ activePeriodText }}
      - +
      - +
      diff --git a/ui/src/app/device/history/history.component.ts b/ui/src/app/edge/history/history.component.ts similarity index 89% rename from ui/src/app/device/history/history.component.ts rename to ui/src/app/edge/history/history.component.ts index a36bf2051ab..d40822fefc3 100644 --- a/ui/src/app/device/history/history.component.ts +++ b/ui/src/app/edge/history/history.component.ts @@ -8,8 +8,8 @@ import { TranslateService } from '@ngx-translate/core'; import { IMyDate, IMyDateRange, IMyDrpOptions, IMyDateRangeModel } from 'mydaterangepicker'; import { format, subDays, addDays, isSameDay, getYear, getMonth, getDate } from 'date-fns'; -import { Device } from '../../shared/device/device'; -import { ConfigImpl } from '../../shared/device/config'; +import { Edge } from '../../shared/edge/edge'; +import { ConfigImpl } from '../../shared/edge/config'; import { DefaultTypes } from '../../shared/service/defaulttypes'; import { Websocket } from '../../shared/service/websocket'; @@ -25,7 +25,7 @@ export class HistoryComponent implements OnInit, OnDestroy { private readonly YESTERDAY = subDays(new Date(), 1); private readonly TOMORROW = addDays(new Date(), 1); - public device: Device = null; + public edge: Edge = null; public config: ConfigImpl = null; public socChannels: DefaultTypes.ChannelAddresses = {}; public powerChannels: DefaultTypes.ChannelAddresses = {}; @@ -38,7 +38,7 @@ export class HistoryComponent implements OnInit, OnDestroy { showClearBtn: false, showApplyBtn: false, dateFormat: 'dd.mm.yyyy', - disableUntil: { day: 1, month: 1, year: 2013 }, // TODO start with date since the device is available + disableUntil: { day: 1, month: 1, year: 2013 }, // TODO start with date since the edge is available disableSince: this.toIMyDate(this.TOMORROW), showWeekNumbers: true, showClearDateRangeBtn: false, @@ -56,14 +56,14 @@ export class HistoryComponent implements OnInit, OnDestroy { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route) + this.websocket.setCurrentEdge(this.route) .takeUntil(this.stopOnDestroy) - .subscribe(device => { - this.device = device; - if (device == null) { + .subscribe(edge => { + this.edge = edge; + if (edge == null) { this.config = null; } else { - device.config + edge.config .takeUntil(this.stopOnDestroy) .subscribe(config => { this.config = config; @@ -111,7 +111,7 @@ export class HistoryComponent implements OnInit, OnDestroy { case "yesterday": { let yesterday = subDays(new Date(), 1); this.setDateRange(yesterday, yesterday); - this.activePeriodText = this.translate.instant('Device.History.Yesterday') + ", " + format(yesterday, this.translate.instant('General.DateFormat')); + this.activePeriodText = this.translate.instant('Edge.History.Yesterday') + ", " + format(yesterday, this.translate.instant('General.DateFormat')); break; } case "otherPeriod": @@ -119,9 +119,9 @@ export class HistoryComponent implements OnInit, OnDestroy { toDate = fromDate; } this.setDateRange(fromDate, toDate); - this.activePeriodText = this.translate.instant('Device.History.Period') + ", " + this.activePeriodText = this.translate.instant('Edge.History.Period') + ", " + this.translate.instant('General.PeriodFromTo', { - value1: format(fromDate, this.translate.instant('General.DateFormat')), + value1: format(fromDate, this.translate.instant('General.DateFormat')), value2: format(toDate, this.translate.instant('General.DateFormat')) }); break; @@ -129,7 +129,7 @@ export class HistoryComponent implements OnInit, OnDestroy { default: let today = new Date(); this.setDateRange(today, today); - this.activePeriodText = this.translate.instant('Device.History.Today') + ", " + format(today, this.translate.instant('General.DateFormat')); + this.activePeriodText = this.translate.instant('Edge.History.Today') + ", " + format(today, this.translate.instant('General.DateFormat')); break; } } @@ -151,7 +151,7 @@ export class HistoryComponent implements OnInit, OnDestroy { // if (this.activePeriod == null) { // this.setPeriod("today"); // } - // device.historykWh.subscribe((newkWh) => { + // edge.historykWh.subscribe((newkWh) => { // if (newkWh != null) { // let kWhGridBuy = { // name: "", @@ -196,7 +196,7 @@ export class HistoryComponent implements OnInit, OnDestroy { // this.datakWh = [kWhProduction, kWhGridBuy, kWhGridSell, kWhStorageCharge, kWhStorageDischarge]; // } // }) - // device.historyData.subscribe((newData) => { + // edge.historyData.subscribe((newData) => { // if (newData != null) { // let dataSoc = { // name: "Ladezustand", diff --git a/ui/src/app/device/history/history.module.ts b/ui/src/app/edge/history/history.module.ts similarity index 100% rename from ui/src/app/device/history/history.module.ts rename to ui/src/app/edge/history/history.module.ts diff --git a/ui/src/app/device/overview/energymonitor/chart/chart.component.html b/ui/src/app/edge/overview/energymonitor/chart/chart.component.html similarity index 100% rename from ui/src/app/device/overview/energymonitor/chart/chart.component.html rename to ui/src/app/edge/overview/energymonitor/chart/chart.component.html diff --git a/ui/src/app/device/overview/energymonitor/chart/chart.component.ts b/ui/src/app/edge/overview/energymonitor/chart/chart.component.ts similarity index 96% rename from ui/src/app/device/overview/energymonitor/chart/chart.component.ts rename to ui/src/app/edge/overview/energymonitor/chart/chart.component.ts index 3804c544ee8..05560b10997 100644 --- a/ui/src/app/device/overview/energymonitor/chart/chart.component.ts +++ b/ui/src/app/edge/overview/energymonitor/chart/chart.component.ts @@ -11,7 +11,7 @@ import { ConsumptionSectionComponent } from './section/consumptionsection.compon import { GridSectionComponent } from './section/gridsection.component'; import { ProductionSectionComponent } from './section/productionsection.component'; import { StorageSectionComponent } from './section/storagesection.component'; -import { CurrentDataAndSummary } from '../../../../shared/device/currentdata'; +import { CurrentDataAndSummary } from '../../../../shared/edge/currentdata'; @Component({ selector: 'energymonitor-chart', diff --git a/ui/src/app/device/overview/energymonitor/chart/section/abstractsection.component.ts b/ui/src/app/edge/overview/energymonitor/chart/section/abstractsection.component.ts similarity index 96% rename from ui/src/app/device/overview/energymonitor/chart/section/abstractsection.component.ts rename to ui/src/app/edge/overview/energymonitor/chart/section/abstractsection.component.ts index 5920f9ce59d..dad42ead6ab 100644 --- a/ui/src/app/device/overview/energymonitor/chart/section/abstractsection.component.ts +++ b/ui/src/app/edge/overview/energymonitor/chart/section/abstractsection.component.ts @@ -3,7 +3,7 @@ import { TranslateService } from '@ngx-translate/core'; import * as d3 from 'd3'; import { EnergytableComponent } from '../../../energytable/energytable.component'; -import { Device } from '../../../../../shared/device/device'; +import { Edge } from '../../../../../shared/edge/edge'; export class SectionValue { absolute: number; diff --git a/ui/src/app/device/overview/energymonitor/chart/section/consumptionsection.component.ts b/ui/src/app/edge/overview/energymonitor/chart/section/consumptionsection.component.ts similarity index 92% rename from ui/src/app/device/overview/energymonitor/chart/section/consumptionsection.component.ts rename to ui/src/app/edge/overview/energymonitor/chart/section/consumptionsection.component.ts index e9b0555ab56..2b9702a4466 100644 --- a/ui/src/app/device/overview/energymonitor/chart/section/consumptionsection.component.ts +++ b/ui/src/app/edge/overview/energymonitor/chart/section/consumptionsection.component.ts @@ -19,7 +19,7 @@ export class ConsumptionSectionComponent extends AbstractSection { public updateValue(valueAbsolute: number, valueRatio: number, sumRatio: number) { // TODO if (valueAbsolute < 0) { - this.name = this.translate.instant('Device.Overview.Energymonitor.ConsumptionWarning'); + this.name = this.translate.instant('Edge.Overview.Energymonitor.ConsumptionWarning'); } else { this.name = this.translate.instant('General.Consumption'); } diff --git a/ui/src/app/device/overview/energymonitor/chart/section/gridsection.component.ts b/ui/src/app/edge/overview/energymonitor/chart/section/gridsection.component.ts similarity index 100% rename from ui/src/app/device/overview/energymonitor/chart/section/gridsection.component.ts rename to ui/src/app/edge/overview/energymonitor/chart/section/gridsection.component.ts diff --git a/ui/src/app/device/overview/energymonitor/chart/section/productionsection.component.ts b/ui/src/app/edge/overview/energymonitor/chart/section/productionsection.component.ts similarity index 100% rename from ui/src/app/device/overview/energymonitor/chart/section/productionsection.component.ts rename to ui/src/app/edge/overview/energymonitor/chart/section/productionsection.component.ts diff --git a/ui/src/app/device/overview/energymonitor/chart/section/section.component.html b/ui/src/app/edge/overview/energymonitor/chart/section/section.component.html similarity index 100% rename from ui/src/app/device/overview/energymonitor/chart/section/section.component.html rename to ui/src/app/edge/overview/energymonitor/chart/section/section.component.html diff --git a/ui/src/app/device/overview/energymonitor/chart/section/storagesection.component.ts b/ui/src/app/edge/overview/energymonitor/chart/section/storagesection.component.ts similarity index 85% rename from ui/src/app/device/overview/energymonitor/chart/section/storagesection.component.ts rename to ui/src/app/edge/overview/energymonitor/chart/section/storagesection.component.ts index 8d3bed8eee7..a1eaffd6d5b 100644 --- a/ui/src/app/device/overview/energymonitor/chart/section/storagesection.component.ts +++ b/ui/src/app/edge/overview/energymonitor/chart/section/storagesection.component.ts @@ -11,7 +11,7 @@ import 'rxjs/add/observable/interval'; export class StorageSectionComponent extends AbstractSection implements OnInit { constructor(translate: TranslateService) { - super('Device.Overview.Energymonitor.Storage', "down", 136, 224, "#009846", translate); + super('Edge.Overview.Energymonitor.Storage', "down", 136, 224, "#009846", translate); } ngOnInit() { @@ -22,13 +22,13 @@ export class StorageSectionComponent extends AbstractSection implements OnInit { public updateStorageValue(chargeAbsolute: number, dischargeAbsolute: number, valueRatio: number, sumChargeRatio: number, sumDischargeRatio: number) { if (chargeAbsolute != null && chargeAbsolute > 0) { - this.name = this.translate.instant('Device.Overview.Energymonitor.StorageCharge') + this.name = this.translate.instant('Edge.Overview.Energymonitor.StorageCharge') super.updateValue(chargeAbsolute, valueRatio, sumChargeRatio); } else if (dischargeAbsolute != null && dischargeAbsolute > 0) { - this.name = this.translate.instant('Device.Overview.Energymonitor.StorageDischarge') + this.name = this.translate.instant('Edge.Overview.Energymonitor.StorageDischarge') super.updateValue(dischargeAbsolute, valueRatio, sumDischargeRatio * -1); } else { - this.name = this.translate.instant('Device.Overview.Energymonitor.Storage') + this.name = this.translate.instant('Edge.Overview.Energymonitor.Storage') super.updateValue(0, 0, 0); } if (valueRatio != null) { diff --git a/ui/src/app/device/overview/energymonitor/energymonitor.component.html b/ui/src/app/edge/overview/energymonitor/energymonitor.component.html similarity index 81% rename from ui/src/app/device/overview/energymonitor/energymonitor.component.html rename to ui/src/app/edge/overview/energymonitor/energymonitor.component.html index c03a9d3c7b4..96fb1a88df1 100644 --- a/ui/src/app/device/overview/energymonitor/energymonitor.component.html +++ b/ui/src/app/edge/overview/energymonitor/energymonitor.component.html @@ -2,7 +2,7 @@ visibility - Device.Overview.Energymonitor.Title + Edge.Overview.Energymonitor.Title diff --git a/ui/src/app/device/overview/energymonitor/energymonitor.component.ts b/ui/src/app/edge/overview/energymonitor/energymonitor.component.ts similarity index 78% rename from ui/src/app/device/overview/energymonitor/energymonitor.component.ts rename to ui/src/app/edge/overview/energymonitor/energymonitor.component.ts index e7aee238ffe..3e7dfcc57ee 100644 --- a/ui/src/app/device/overview/energymonitor/energymonitor.component.ts +++ b/ui/src/app/edge/overview/energymonitor/energymonitor.component.ts @@ -2,7 +2,7 @@ import { Component, Input, OnInit, OnChanges } from '@angular/core'; import { Subject } from 'rxjs/Subject'; import * as d3 from 'd3'; -import { CurrentDataAndSummary } from '../../../shared/device/currentdata'; +import { CurrentDataAndSummary } from '../../../shared/edge/currentdata'; @Component({ selector: 'energymonitor', diff --git a/ui/src/app/device/overview/energymonitor/energymonitor.module.ts b/ui/src/app/edge/overview/energymonitor/energymonitor.module.ts similarity index 100% rename from ui/src/app/device/overview/energymonitor/energymonitor.module.ts rename to ui/src/app/edge/overview/energymonitor/energymonitor.module.ts diff --git a/ui/src/app/device/overview/energytable/energytable.component.html b/ui/src/app/edge/overview/energytable/energytable.component.html similarity index 98% rename from ui/src/app/device/overview/energytable/energytable.component.html rename to ui/src/app/edge/overview/energytable/energytable.component.html index 6a4ee14d93a..fd2ae9fd469 100644 --- a/ui/src/app/device/overview/energytable/energytable.component.html +++ b/ui/src/app/edge/overview/energytable/energytable.component.html @@ -4,7 +4,7 @@ format_list_bulleted - Device.Overview.Energytable.Title + Edge.Overview.Energytable.Title @@ -185,7 +185,7 @@ - Device.Overview.Energymonitor.GridMeter + Edge.Overview.Energymonitor.GridMeter {{ config.things[thing].alias }} @@ -261,7 +261,7 @@ - Device.Overview.Energymonitor.ProductionMeter + Edge.Overview.Energymonitor.ProductionMeter
      - Device.Config.Log.Timestamp + Edge.Config.Log.Timestamp - Device.Config.Log.Level + Edge.Config.Log.Level - Device.Config.Log.Source + Edge.Config.Log.Source - Device.Config.Log.Message + Edge.Config.Log.Message
      diff --git a/ui/src/app/device/overview/energytable/energytable.component.ts b/ui/src/app/edge/overview/energytable/energytable.component.ts similarity index 83% rename from ui/src/app/device/overview/energytable/energytable.component.ts rename to ui/src/app/edge/overview/energytable/energytable.component.ts index e1ca7c3c9c5..4de96985f0f 100644 --- a/ui/src/app/device/overview/energytable/energytable.component.ts +++ b/ui/src/app/edge/overview/energytable/energytable.component.ts @@ -3,7 +3,7 @@ import { Subject } from 'rxjs/Subject'; import { Utils } from '../../../shared/service/utils'; import { DefaultTypes } from '../../../shared/service/defaulttypes'; -import { CurrentDataAndSummary } from '../../../shared/device/currentdata'; +import { CurrentDataAndSummary } from '../../../shared/edge/currentdata'; @Component({ selector: 'energytable', diff --git a/ui/src/app/device/overview/evcs/evcs.component.html b/ui/src/app/edge/overview/evcs/evcs.component.html similarity index 97% rename from ui/src/app/device/overview/evcs/evcs.component.html rename to ui/src/app/edge/overview/evcs/evcs.component.html index ce3414dc78c..1ee82d5522a 100644 --- a/ui/src/app/device/overview/evcs/evcs.component.html +++ b/ui/src/app/edge/overview/evcs/evcs.component.html @@ -77,8 +77,7 @@ diff --git a/ui/src/app/device/overview/evcs/evcs.component.ts b/ui/src/app/edge/overview/evcs/evcs.component.ts similarity index 85% rename from ui/src/app/device/overview/evcs/evcs.component.ts rename to ui/src/app/edge/overview/evcs/evcs.component.ts index f1bd3d45cc3..c25cbfb8b8d 100644 --- a/ui/src/app/device/overview/evcs/evcs.component.ts +++ b/ui/src/app/edge/overview/evcs/evcs.component.ts @@ -3,8 +3,8 @@ import { Subject } from 'rxjs/Subject'; import { Utils } from '../../../shared/service/utils'; import { DefaultTypes } from '../../../shared/service/defaulttypes'; -import { CurrentDataAndSummary } from '../../../shared/device/currentdata'; -import { Device } from '../../../shared/device/device'; +import { CurrentDataAndSummary } from '../../../shared/edge/currentdata'; +import { Edge } from '../../../shared/edge/edge'; import { ChannelComponent } from '../../../shared/config/channel.component'; @Component({ @@ -20,7 +20,7 @@ export class EvcsComponent { public config: DefaultTypes.Config; @Input() - public device: Device; + public edge: Edge; constructor(public utils: Utils) { } @@ -48,7 +48,7 @@ export class EvcsComponent { .takeUntil(this.stopOnDestroy) .subscribe((message) => { if (message != null) { - this.device.send(message); + this.edge.send(message); } }); }); diff --git a/ui/src/app/device/overview/fieldstatus/fieldstatus.component.html b/ui/src/app/edge/overview/fieldstatus/fieldstatus.component.html similarity index 100% rename from ui/src/app/device/overview/fieldstatus/fieldstatus.component.html rename to ui/src/app/edge/overview/fieldstatus/fieldstatus.component.html diff --git a/ui/src/app/device/overview/fieldstatus/fieldstatus.component.ts b/ui/src/app/edge/overview/fieldstatus/fieldstatus.component.ts similarity index 85% rename from ui/src/app/device/overview/fieldstatus/fieldstatus.component.ts rename to ui/src/app/edge/overview/fieldstatus/fieldstatus.component.ts index b99f78e74be..7534378b731 100644 --- a/ui/src/app/device/overview/fieldstatus/fieldstatus.component.ts +++ b/ui/src/app/edge/overview/fieldstatus/fieldstatus.component.ts @@ -4,7 +4,7 @@ import { Subject } from 'rxjs/Subject'; import { Websocket, Utils } from '../../../shared/shared'; import { CustomFieldDefinition } from '../../../shared/type/customfielddefinition'; -import { CurrentDataAndSummary } from '../../../shared/device/currentdata'; +import { CurrentDataAndSummary } from '../../../shared/edge/currentdata'; @Component({ selector: 'fieldstatus', diff --git a/ui/src/app/device/overview/history/history.component.html b/ui/src/app/edge/overview/history/history.component.html similarity index 55% rename from ui/src/app/device/overview/history/history.component.html rename to ui/src/app/edge/overview/history/history.component.html index 9cb286496bc..eee193cf084 100644 --- a/ui/src/app/device/overview/history/history.component.html +++ b/ui/src/app/edge/overview/history/history.component.html @@ -1,14 +1,16 @@ - + history General.History
      - +
      - +
      \ No newline at end of file diff --git a/ui/src/app/device/overview/history/history.component.ts b/ui/src/app/edge/overview/history/history.component.ts similarity index 72% rename from ui/src/app/device/overview/history/history.component.ts rename to ui/src/app/edge/overview/history/history.component.ts index eb4ebf96810..5989f2162d5 100644 --- a/ui/src/app/device/overview/history/history.component.ts +++ b/ui/src/app/edge/overview/history/history.component.ts @@ -1,8 +1,8 @@ import { Component, Input, OnChanges } from '@angular/core'; import { Subject } from 'rxjs/Subject'; -import { ConfigImpl } from '../../../shared/device/config'; -import { Device } from '../../../shared/device/device'; +import { ConfigImpl } from '../../../shared/edge/config'; +import { Edge } from '../../../shared/edge/edge'; import { DefaultTypes } from '../../../shared/service/defaulttypes'; @Component({ @@ -13,10 +13,10 @@ export class HistoryComponent implements OnChanges { @Input() public config: ConfigImpl; - @Input() public device: Device; + @Input() public edge: Edge; ngOnChanges() { - if (this.device != null && this.config != null) { + if (this.edge != null && this.config != null) { this.socChannels = this.config.getEssSocChannels(); } else { this.socChannels = {}; diff --git a/ui/src/app/device/overview/overview.component.html b/ui/src/app/edge/overview/overview.component.html similarity index 79% rename from ui/src/app/device/overview/overview.component.html rename to ui/src/app/edge/overview/overview.component.html index 0d0be923489..6490f1aec93 100644 --- a/ui/src/app/device/overview/overview.component.html +++ b/ui/src/app/edge/overview/overview.component.html @@ -2,9 +2,9 @@
      - + - +
      diff --git a/ui/src/app/device/overview/overview.component.ts b/ui/src/app/edge/overview/overview.component.ts similarity index 86% rename from ui/src/app/device/overview/overview.component.ts rename to ui/src/app/edge/overview/overview.component.ts index 81a61776694..a58da4fc392 100644 --- a/ui/src/app/device/overview/overview.component.ts +++ b/ui/src/app/edge/overview/overview.component.ts @@ -4,11 +4,11 @@ import { Subscription } from 'rxjs/Subscription'; import { Subject } from 'rxjs/Subject'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; -import { Device } from '../../shared/device/device'; +import { Edge } from '../../shared/edge/edge'; import { DefaultTypes } from '../../shared/service/defaulttypes'; import { Utils, Websocket } from '../../shared/shared'; -import { ConfigImpl } from '../../shared/device/config'; -import { CurrentDataAndSummary } from '../../shared/device/currentdata'; +import { ConfigImpl } from '../../shared/edge/config'; +import { CurrentDataAndSummary } from '../../shared/edge/currentdata'; import { Widget } from '../../shared/type/widget'; import { CustomFieldDefinition } from '../../shared/type/customfielddefinition'; import { environment } from '../../../environments'; @@ -19,7 +19,7 @@ import { environment } from '../../../environments'; }) export class OverviewComponent implements OnInit, OnDestroy { - public device: Device = null + public edge: Edge = null public config: ConfigImpl = null; public currentData: CurrentDataAndSummary = null; public widgets: Widget[] = []; @@ -35,15 +35,15 @@ export class OverviewComponent implements OnInit, OnDestroy { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route) + this.websocket.setCurrentEdge(this.route) .takeUntil(this.stopOnDestroy) - .subscribe(device => { - this.device = device; - if (device == null) { + .subscribe(edge => { + this.edge = edge; + if (edge == null) { this.config = null; } else { - device.config + edge.config .takeUntil(this.stopOnDestroy) .subscribe(config => { this.config = config; @@ -71,10 +71,10 @@ export class OverviewComponent implements OnInit, OnDestroy { ngOnDestroy() { clearInterval(this.currentDataTimeout); - if (this.device) { - this.device.unsubscribeCurrentData(); + if (this.edge) { + this.edge.unsubscribeCurrentData(); } - this.device = null; + this.edge = null; this.config = null; this.currentData = null; this.stopOnDestroy.next(); @@ -91,8 +91,8 @@ export class OverviewComponent implements OnInit, OnDestroy { private subscription: Subscription = null; private subscribe() { - // abort if device or config are missing - if (this.device == null || this.config == null) { + // abort if edge or config are missing + if (this.edge == null || this.config == null) { if (this.subscription != null) { this.subscription.unsubscribe(); } @@ -119,7 +119,7 @@ export class OverviewComponent implements OnInit, OnDestroy { if (this.subscription != null) { this.subscription.unsubscribe(); } - this.subscription = this.device.subscribeCurrentData(channels) + this.subscription = this.edge.subscribeCurrentData(channels) .takeUntil(this.stopOnDestroy) .subscribe(currentData => { this.currentData = currentData; diff --git a/ui/src/app/device/overview/overview.module.ts b/ui/src/app/edge/overview/overview.module.ts similarity index 100% rename from ui/src/app/device/overview/overview.module.ts rename to ui/src/app/edge/overview/overview.module.ts diff --git a/ui/src/app/device/overview/state/state.component.html b/ui/src/app/edge/overview/state/state.component.html similarity index 92% rename from ui/src/app/device/overview/state/state.component.html rename to ui/src/app/edge/overview/state/state.component.html index 7dcedbab173..855af3750eb 100644 --- a/ui/src/app/device/overview/state/state.component.html +++ b/ui/src/app/edge/overview/state/state.component.html @@ -34,8 +34,8 @@
      Erzwinge Beladung - +
      - - diff --git a/ui/src/app/device/overview/state/state.component.ts b/ui/src/app/edge/overview/state/state.component.ts similarity index 96% rename from ui/src/app/device/overview/state/state.component.ts rename to ui/src/app/edge/overview/state/state.component.ts index 55991fbc93d..838bee47dc3 100644 --- a/ui/src/app/device/overview/state/state.component.ts +++ b/ui/src/app/edge/overview/state/state.component.ts @@ -1,12 +1,12 @@ import { Component, Input, OnDestroy, EventEmitter, Output } from '@angular/core'; import { Subject } from 'rxjs/Subject'; -import { Device } from '../../../shared/device/device'; +import { Edge } from '../../../shared/edge/edge'; import { Utils } from '../../../shared/service/utils'; import { DefaultTypes } from '../../../shared/service/defaulttypes'; -import { CurrentDataAndSummary } from '../../../shared/device/currentdata'; +import { CurrentDataAndSummary } from '../../../shared/edge/currentdata'; import { THING_STATES } from './thingstates'; -import { ConfigImpl } from '../../../shared/device/config'; +import { ConfigImpl } from '../../../shared/edge/config'; interface WarningOrFault { channelId: string, diff --git a/ui/src/app/device/overview/state/thingstates.ts b/ui/src/app/edge/overview/state/thingstates.ts similarity index 100% rename from ui/src/app/device/overview/state/thingstates.ts rename to ui/src/app/edge/overview/state/thingstates.ts diff --git a/ui/src/app/overview/overview.component.html b/ui/src/app/overview/overview.component.html index a93020acba4..39c6e947922 100644 --- a/ui/src/app/overview/overview.component.html +++ b/ui/src/app/overview/overview.component.html @@ -56,7 +56,7 @@
      - + @@ -66,29 +66,29 @@ - - + + - folder - error + folder + error Overview.ToEnergymonitor - {{ device.comment }} - + {{ edge.comment }} +
      Overview.IsOffline
      -

      {{ device.name }}: {{ device.producttype }}

      -

      Angemeldet als '{{ device.role }}'.

      +

      {{ edge.name }}: {{ edge.producttype }}

      +

      Angemeldet als '{{ edge.role }}'.

      - - diff --git a/ui/src/app/overview/overview.component.ts b/ui/src/app/overview/overview.component.ts index 5bc29135b74..db9f48c69bf 100644 --- a/ui/src/app/overview/overview.component.ts +++ b/ui/src/app/overview/overview.component.ts @@ -35,11 +35,11 @@ export class OverviewComponent { "filter": formBuilder.control('') }); // TODO should only forward when automatic login was successful and user did not come to this page on purpose - // websocket.devices.takeUntil(this.stopOnDestroy).subscribe(devices => { - // if (Object.keys(devices).length == 1) { - // redirect if only one device - // let device = devices[Object.keys(devices)[0]]; - // this.router.navigate(['/device', device.name]); + // websocket.edges.takeUntil(this.stopOnDestroy).subscribe(edges => { + // if (Object.keys(edges).length == 1) { + // redirect if only one edge + // let edge = edges[Object.keys(devices)[0]]; + // this.router.navigate(['/device', edge.name]); // } // }) } diff --git a/ui/src/app/shared/config/abstractconfig.component.html b/ui/src/app/shared/config/abstractconfig.component.html index 54f581ce0c1..19f01e4d5b9 100644 --- a/ui/src/app/shared/config/abstractconfig.component.html +++ b/ui/src/app/shared/config/abstractconfig.component.html @@ -1,5 +1,5 @@
      - +
      \ No newline at end of file diff --git a/ui/src/app/shared/config/abstractconfig.component.ts b/ui/src/app/shared/config/abstractconfig.component.ts index 9b47bc5e229..d64a2a08665 100644 --- a/ui/src/app/shared/config/abstractconfig.component.ts +++ b/ui/src/app/shared/config/abstractconfig.component.ts @@ -4,10 +4,10 @@ import { Subscription } from 'rxjs/Subscription'; import { Subject } from 'rxjs/Subject'; import { Utils } from '../service/utils'; -import { Device } from '../device/device'; +import { Edge } from '../edge/edge'; import { Websocket } from '../shared'; import { DefaultTypes } from '../service/defaulttypes'; -import { ConfigImpl } from '../device/config'; +import { ConfigImpl } from '../edge/config'; @Component({ selector: 'abstractconfig', @@ -16,7 +16,7 @@ import { ConfigImpl } from '../device/config'; export class AbstractConfigComponent implements OnInit { public showSubThings: boolean = false; - public device: Device = null; + public edge: Edge = null; public config: ConfigImpl = null; public things: string[] = []; private stopOnDestroy: Subject = new Subject(); @@ -28,13 +28,13 @@ export class AbstractConfigComponent implements OnInit { ) { } ngOnInit() { - this.websocket.setCurrentDevice(this.route) + this.websocket.setCurrentEdge(this.route) .takeUntil(this.stopOnDestroy) - .filter(device => device != null) - .subscribe(device => { - this.device = device; - device.config - .filter(device => device != null) + .filter(edge => edge != null) + .subscribe(edge => { + this.edge = edge; + edge.config + .filter(edge => edge != null) .takeUntil(this.stopOnDestroy).subscribe(config => { this.config = config; this.things = this.filterThings(config); diff --git a/ui/src/app/shared/config/channel.component.html b/ui/src/app/shared/config/channel.component.html index d427254791d..a76a5ed65f1 100644 --- a/ui/src/app/shared/config/channel.component.html +++ b/ui/src/app/shared/config/channel.component.html @@ -51,7 +51,7 @@ {{ title }}
      - + diff --git a/ui/src/app/shared/config/channel.component.ts b/ui/src/app/shared/config/channel.component.ts index 5b7c27fd12a..56df4f63b6a 100644 --- a/ui/src/app/shared/config/channel.component.ts +++ b/ui/src/app/shared/config/channel.component.ts @@ -4,10 +4,11 @@ import { FormControl, FormGroup, FormArray, AbstractControl, FormBuilder } from import { DefaultMessages } from '../service/defaultmessages'; import { Utils } from '../service/utils'; -import { ConfigImpl } from '../device/config'; -import { Device } from '../device/device'; +import { ConfigImpl } from '../edge/config'; +import { Edge } from '../edge/edge'; import { DefaultTypes } from '../service/defaulttypes'; import { Role } from '../type/role'; +import { EdgeModule } from '../../edge/edge.module'; @Component({ selector: 'channel', @@ -29,8 +30,8 @@ export class ChannelComponent implements OnChanges, OnDestroy { @Input() public thingId: string = null; @Input() public channelId: string = null; @Input() public config: ConfigImpl = null; - @Input() public role: Role = "guest"; // TODO in device - @Input() public device: Device = null; + @Input() public role: Role = "guest"; // TODO in edge + @Input() public edge: Edge = null; @Input() public showThings: boolean = false; @Input() public title: string = null; @@ -139,12 +140,12 @@ export class ChannelComponent implements OnChanges, OnDestroy { if (this.isJson) { try { value = JSON.parse(value); - this.message.next(DefaultMessages.configUpdate(this.device.edgeId, this.thingId, this.channelId, value)); + this.message.next(DefaultMessages.configUpdate(this.edge.edgeId, this.thingId, this.channelId, value)); } catch (e) { this.message.next(null); } } else { - this.message.next(DefaultMessages.configUpdate(this.device.edgeId, this.thingId, this.channelId, value)); + this.message.next(DefaultMessages.configUpdate(this.edge.edgeId, this.thingId, this.channelId, value)); } } diff --git a/ui/src/app/shared/config/existingthing.component.html b/ui/src/app/shared/config/existingthing.component.html index 43e0600c77b..2f342619019 100644 --- a/ui/src/app/shared/config/existingthing.component.html +++ b/ui/src/app/shared/config/existingthing.component.html @@ -11,7 +11,7 @@ - diff --git a/ui/src/app/shared/config/existingthing.component.ts b/ui/src/app/shared/config/existingthing.component.ts index 0fba349f78f..ab80539433d 100644 --- a/ui/src/app/shared/config/existingthing.component.ts +++ b/ui/src/app/shared/config/existingthing.component.ts @@ -4,8 +4,8 @@ import { FormControl, FormGroup, FormArray, AbstractControl, FormBuilder } from import { ChannelComponent } from './channel.component'; import { Utils } from '../service/utils'; -import { ConfigImpl } from '../device/config'; -import { Device } from '../device/device'; +import { ConfigImpl } from '../edge/config'; +import { Edge } from '../edge/edge'; import { DefaultTypes } from '../service/defaulttypes'; import { Role } from '../type/role'; @@ -15,7 +15,7 @@ import { Role } from '../type/role'; }) export class ExistingThingComponent implements OnChanges { - public _device: Device = null; + public _edge: Edge = null; public thing = null; public meta = null; public role: Role = "guest"; @@ -28,17 +28,17 @@ export class ExistingThingComponent implements OnChanges { // sets the flag if subthings should be shown, e.g. a Device of a Bridge @Input() public showSubThings: boolean = false; - @Input() set device(device: Device) { - this.role = device.role; - this._device = device; - device.config.takeUntil(this.stopOnDestroy) - .filter(device => device != null) + @Input() set edge(edge: Edge) { + this.role = edge.role; + this._edge = edge; + edge.config.takeUntil(this.stopOnDestroy) + .filter(edge => edge != null) .takeUntil(this.stopOnDestroy).subscribe(config => { this.config = config; }); } - get device(): Device { - return this._device; + get edge(): Edge { + return this._edge; } @Input() public thingId: string = null; @@ -89,7 +89,7 @@ export class ExistingThingComponent implements OnChanges { public save() { for (let message of this.utils.values(this.messages)) { - this.device.send(message); + this.edge.send(message); } this.messages = {}; this.formPristine = true; diff --git a/ui/src/app/shared/device/config.ts b/ui/src/app/shared/edge/config.ts similarity index 100% rename from ui/src/app/shared/device/config.ts rename to ui/src/app/shared/edge/config.ts diff --git a/ui/src/app/shared/device/currentdata.ts b/ui/src/app/shared/edge/currentdata.ts similarity index 100% rename from ui/src/app/shared/device/currentdata.ts rename to ui/src/app/shared/edge/currentdata.ts diff --git a/ui/src/app/shared/device/device.ts b/ui/src/app/shared/edge/edge.ts similarity index 96% rename from ui/src/app/shared/device/device.ts rename to ui/src/app/shared/edge/edge.ts index eb517919dfc..309d30d8c32 100644 --- a/ui/src/app/shared/device/device.ts +++ b/ui/src/app/shared/edge/edge.ts @@ -23,8 +23,7 @@ export class Log { message: string; } -// TODO rename to Edge -export class Device { +export class Edge { constructor( public readonly edgeId: number, @@ -59,9 +58,9 @@ export class Device { private subscribeCurrentDataChannels: DefaultTypes.ChannelAddresses = {}; /* - * Called by websocket, when this device is set as currentDevice + * Called by websocket, when this edge is set as currentEdge */ - public markAsCurrentDevice() { + public markAsCurrentEdge() { if (this.config.getValue() == null) { this.refreshConfig(); } @@ -146,7 +145,7 @@ export class Device { } /** - * Mark this device as online or offline + * Mark this edge as online or offline * @param online */ public setOnline(online: boolean) { diff --git a/ui/src/app/shared/service/defaulttypes.ts b/ui/src/app/shared/service/defaulttypes.ts index bf2ee05f629..f60c59346a0 100644 --- a/ui/src/app/shared/service/defaulttypes.ts +++ b/ui/src/app/shared/service/defaulttypes.ts @@ -94,7 +94,7 @@ export module DefaultTypes { } } - export interface MessageMetadataDevice { + export interface MessageMetadataEdge { id: number, name: string, comment: string, diff --git a/ui/src/app/shared/service/service.ts b/ui/src/app/shared/service/service.ts index 1991b61f90e..ea9885478f4 100644 --- a/ui/src/app/shared/service/service.ts +++ b/ui/src/app/shared/service/service.ts @@ -4,7 +4,7 @@ import { Subject } from 'rxjs/Subject'; import { Cookie } from 'ng2-cookies'; import { Websocket } from './websocket'; -import { Device } from '../device/device'; +import { Edge } from '../edge/edge'; import { DefaultTypes } from './defaulttypes'; @Injectable() diff --git a/ui/src/app/shared/service/utils.ts b/ui/src/app/shared/service/utils.ts index 8e4ad781428..ff605248a38 100644 --- a/ui/src/app/shared/service/utils.ts +++ b/ui/src/app/shared/service/utils.ts @@ -182,9 +182,9 @@ export class Utils { // TODO // public meta(identifier: string, type: 'controller' | 'channel'): {} { // let property = type == 'controller' ? 'availableControllers' : type; - // let device = this.websocket.currentDevice; - // if (device) { - // let config = device.config.getValue(); + // let edge = this.websocket.currentEdge; + // if (edge) { + // let config = edge.config.getValue(); // let meta = config._meta[property]; // if (identifier in meta) { // return (meta[identifier]); diff --git a/ui/src/app/shared/service/websocket.ts b/ui/src/app/shared/service/websocket.ts index c90cc42427c..b3a4b504166 100644 --- a/ui/src/app/shared/service/websocket.ts +++ b/ui/src/app/shared/service/websocket.ts @@ -12,7 +12,7 @@ import 'rxjs/add/operator/takeUntil'; import { environment as env } from '../../../environments'; import { Service } from './service'; import { Utils } from './utils'; -import { Device } from '../device/device'; +import { Edge } from '../edge/edge'; import { Role } from '../type/role'; import { DefaultTypes } from '../service/defaulttypes'; import { DefaultMessages } from '../service/defaultmessages'; @@ -21,18 +21,18 @@ import { DefaultMessages } from '../service/defaultmessages'; export class Websocket { public static readonly TIMEOUT = 15000; private static readonly DEFAULT_EDGEID = 0; - private static readonly DEFAULT_DEVICENAME = "fems"; + private static readonly DEFAULT_EDGENAME = "fems"; - // holds references of device names (=key) to Device objects (=value) - private _devices: BehaviorSubject<{ [name: string]: Device }> = new BehaviorSubject({}); - public get devices() { - return this._devices; + // holds references of edge names (=key) to Edge objects (=value) + private _edges: BehaviorSubject<{ [name: string]: Edge }> = new BehaviorSubject({}); + public get edges() { + return this._edges; } - // holds the currently selected device - private _currentDevice: BehaviorSubject = new BehaviorSubject(null); - public get currentDevice() { - return this._currentDevice; + // holds the currently selected edge + private _currentEdge: BehaviorSubject = new BehaviorSubject(null); + public get currentEdge() { + return this._currentEdge; } private socket: WebSocketSubject; @@ -44,10 +44,10 @@ export class Websocket { private queryreply = new Subject<{ id: string[] }>(); private stopOnInitialize: Subject = new Subject(); - // holds stream per device (=key1) and message-id (=key2); triggered on message reply for the device - private replyStreams: { [deviceName: string]: { [messageId: string]: Subject } } = {}; + // holds stream per edge (=key1) and message-id (=key2); triggered on message reply for the edge + private replyStreams: { [edgeName: string]: { [messageId: string]: Subject } } = {}; - // tracks which message id (=key) is connected with which deviceName (=value) + // tracks which message id (=key) is connected with which edgeName (=value) private pendingQueryReplies: { [id: string]: string } = {}; constructor( @@ -61,45 +61,45 @@ export class Websocket { } /** - * Parses the route params and sets the current device + * Parses the route params and sets the current edge */ - public setCurrentDevice(route: ActivatedRoute): Subject { + public setCurrentEdge(route: ActivatedRoute): Subject { let onTimeout = () => { // Timeout: redirect to overview this.router.navigate(['/overview']); subscription.unsubscribe(); } - let deviceName = route.snapshot.params["device"]; - let subscription = this.devices - .filter(devices => deviceName in devices) + let edgeName = route.snapshot.params["edgeName"]; + let subscription = this.edges + .filter(edges => edgeName in edges) .first() - .map(devices => devices[deviceName]) - .subscribe(device => { - if (device == null || !device.online) { + .map(edges => edges[edgeName]) + .subscribe(edge => { + if (edge == null || !edge.online) { onTimeout(); } else { - // set current device - this.currentDevice.next(device); - device.markAsCurrentDevice(); + // set current edge + this.currentEdge.next(edge); + edge.markAsCurrentEdge(); } }, error => { - console.error("Error while setting current device: ", error); + console.error("Error while setting current edge: ", error); }) setTimeout(() => { - let device = this.currentDevice.getValue(); - if (device == null || !device.online) { + let edge = this.currentEdge.getValue(); + if (edge == null || !edge.online) { onTimeout(); } }, Websocket.TIMEOUT); - return this.currentDevice; + return this.currentEdge; } /** - * Clears the current device + * Clears the current edge */ - public clearCurrentDevice() { - this.currentDevice.next(null); + public clearCurrentEdge() { + this.currentEdge.next(null); } /** @@ -189,11 +189,11 @@ export class Websocket { * Query reply */ if ("messageId" in message && "ui" in message.messageId) { - // Receive a reply with a message id -> find device and forward to devices' replyStream + // Receive a reply with a message id -> find edge and forward to edges' replyStream let messageId = message.messageId.ui; - for (let deviceName in this.replyStreams) { - if (messageId in this.replyStreams[deviceName]) { - this.replyStreams[deviceName][messageId].next(message); + for (let edgeName in this.replyStreams) { + if (messageId in this.replyStreams[edgeName]) { + this.replyStreams[edgeName][messageId].next(message); break; } } @@ -204,24 +204,24 @@ export class Websocket { */ if ("metadata" in message) { if ("edges" in message.metadata) { - let devices = message.metadata.edges; - let newDevices = {}; - for (let device of devices) { + let edges = message.metadata.edges; + let newEdges = {}; + for (let edge of edges) { let replyStream: { [messageId: string]: Subject } = {}; - this.replyStreams[device.name] = replyStream; - let newDevice = new Device( - device.id, - device.name, - device.comment, - device.producttype, - Role.getRole(device.role), - device.online, + this.replyStreams[edge.name] = replyStream; + let newEdge = new Edge( + edge.id, + edge.name, + edge.comment, + edge.producttype, + Role.getRole(edge.role), + edge.online, replyStream, this ); - newDevices[newDevice.name] = newDevice; + newEdges[newEdge.name] = newEdge; } - this.devices.next(newDevices); + this.edges.next(newEdges); } } @@ -236,16 +236,16 @@ export class Websocket { // handle specific notification codes - see Java source for details let code = notification.code; let params = notification.params; - if (code == 100 /* device disconnected -> mark as offline */) { - let deviceId = params[0]; - if (deviceId in this.devices.getValue()) { - this.devices.getValue()[deviceId].setOnline(false); + if (code == 100 /* edge disconnected -> mark as offline */) { + let edgeId = params[0]; + if (edgeId in this.edges.getValue()) { + this.edges.getValue()[edgeId].setOnline(false); } - } else if (code == 101 /* device reconnected -> mark as online */) { - let deviceId = params[0]; - if (deviceId in this.devices.getValue()) { - let device = this.devices.getValue()[deviceId]; - device.setOnline(true); + } else if (code == 101 /* edge reconnected -> mark as online */) { + let edgeId = params[0]; + if (edgeId in this.edges.getValue()) { + let edge = this.edges.getValue()[edgeId]; + edge.setOnline(true); } } else if (code == 103 /* authentication by token failed */) { let token: string = params[0]; @@ -257,7 +257,7 @@ export class Websocket { this.status = "waiting for authentication"; notify = false; setTimeout(() => { - this.clearCurrentDevice(); + this.clearCurrentEdge(); this.router.navigate(["/overview"]); }); } @@ -280,7 +280,7 @@ export class Websocket { private initialize() { this.stopOnInitialize.next(); this.stopOnInitialize.complete(); - this.devices.next({}); + this.edges.next({}); } /** diff --git a/ui/src/app/shared/shared.module.ts b/ui/src/app/shared/shared.module.ts index 4f925bed93e..3620fc92b8e 100644 --- a/ui/src/app/shared/shared.module.ts +++ b/ui/src/app/shared/shared.module.ts @@ -36,7 +36,7 @@ import { HasclassPipe } from './pipe/hasclass/hasclass.pipe'; /* * Components */ -import { SocChartComponent } from './../device/history/chart/socchart/socchart.component'; +import { SocChartComponent } from './../edge/history/chart/socchart/socchart.component'; import { AbstractConfigComponent } from './config/abstractconfig.component'; import { ExistingThingComponent } from './config/existingthing.component'; import { ChannelComponent } from './config/channel.component'; diff --git a/ui/src/app/shared/translate/cz.ts b/ui/src/app/shared/translate/cz.ts index c8d276c6077..05a2af8c3f9 100644 --- a/ui/src/app/shared/translate/cz.ts +++ b/ui/src/app/shared/translate/cz.ts @@ -37,7 +37,7 @@ export const TRANSLATION = { ToEnergymonitor: "Do Monitoringu energetických toků…", IsOffline: "FEMS je ve stavu offline!" }, - Device: { + Edge: { Overview: { Energymonitor: { Title: "Monitoring energetických toků", diff --git a/ui/src/app/shared/translate/de.ts b/ui/src/app/shared/translate/de.ts index 8a39518f400..b24eff99781 100644 --- a/ui/src/app/shared/translate/de.ts +++ b/ui/src/app/shared/translate/de.ts @@ -38,7 +38,7 @@ export const TRANSLATION = { ToEnergymonitor: "Zum Energiemonitor...", IsOffline: "FEMS ist offline!" }, - Device: { + Edge: { Overview: { Energymonitor: { Title: "Energiemonitor", diff --git a/ui/src/app/shared/translate/en.ts b/ui/src/app/shared/translate/en.ts index 79bee6c08b3..9ae96debff9 100644 --- a/ui/src/app/shared/translate/en.ts +++ b/ui/src/app/shared/translate/en.ts @@ -38,7 +38,7 @@ export const TRANSLATION = { ToEnergymonitor: "To Energymonitor...", IsOffline: "FEMS is offline!" }, - Device: { + Edge: { Overview: { Energymonitor: { Title: "Energymonitor", diff --git a/ui/src/app/shared/translate/nl.ts b/ui/src/app/shared/translate/nl.ts index 905a3cf6d44..6eee8d802bc 100644 --- a/ui/src/app/shared/translate/nl.ts +++ b/ui/src/app/shared/translate/nl.ts @@ -37,7 +37,7 @@ export const TRANSLATION = { ToEnergymonitor: "Naar Energiemonitor...", IsOffline: "FEMS is offline!" }, - Device: { + Edge: { Overview: { Energymonitor: { Title: "Energiemonitor", diff --git a/ui/yarn.lock b/ui/yarn.lock deleted file mode 100644 index 5278ea7be35..00000000000 --- a/ui/yarn.lock +++ /dev/null @@ -1,8935 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@angular-devkit/build-optimizer@0.0.42": - version "0.0.42" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.0.42.tgz#402b0dda4883db91e2381c3ddc55888408a7894e" - dependencies: - loader-utils "^1.1.0" - source-map "^0.5.6" - typescript "~2.6.2" - webpack-sources "^1.0.1" - -"@angular-devkit/core@0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.0.29.tgz#6fb319b45a62eff172318cbe256fdb24ef20af2b" - dependencies: - ajv "~5.5.1" - chokidar "^1.7.0" - rxjs "^5.5.6" - source-map "^0.5.6" - -"@angular-devkit/schematics@0.0.52": - version "0.0.52" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.0.52.tgz#cbd2f42778b50d6422a254ffaec05ad4ef3cb6c0" - dependencies: - "@ngtools/json-schema" "^1.1.0" - rxjs "^5.5.6" - -"@angular/animations@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-5.2.3.tgz#e0eb8d55f807e799df128af9150c075c9ab82adf" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-5.2.8.tgz#31cdb49163881323fa5ded41e89683ec5e9ac8b5" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/cdk@^5.2.0": -<<<<<<< HEAD - version "5.2.0" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-5.2.0.tgz#4368f6749e915cdcc75d325ae33fdb3f85a88108" -======= - version "5.2.4" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-5.2.4.tgz#c0a429a8710d8fedb157f546e21cb49d4335f7f7" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/cli@1.6.7": - version "1.6.7" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-1.6.7.tgz#e2323753c144b5de6c699bbebee688105a394641" - dependencies: - "@angular-devkit/build-optimizer" "0.0.42" - "@angular-devkit/core" "0.0.29" - "@angular-devkit/schematics" "0.0.52" - "@ngtools/json-schema" "1.1.0" - "@ngtools/webpack" "1.9.7" - "@schematics/angular" "0.1.17" - autoprefixer "^7.2.3" - chalk "~2.2.0" - circular-dependency-plugin "^4.2.1" - common-tags "^1.3.1" - copy-webpack-plugin "^4.1.1" - core-object "^3.1.0" - css-loader "^0.28.1" - cssnano "^3.10.0" - denodeify "^1.2.1" - ember-cli-string-utils "^1.0.0" - exports-loader "^0.6.3" - extract-text-webpack-plugin "^3.0.2" - file-loader "^1.1.5" - fs-extra "^4.0.0" - glob "^7.0.3" - html-webpack-plugin "^2.29.0" - istanbul-instrumenter-loader "^3.0.0" - karma-source-map-support "^1.2.0" - less "^2.7.2" - less-loader "^4.0.5" - license-webpack-plugin "^1.0.0" - loader-utils "1.1.0" - lodash "^4.11.1" - memory-fs "^0.4.1" - minimatch "^3.0.4" - node-modules-path "^1.0.0" - nopt "^4.0.1" - opn "~5.1.0" - portfinder "~1.0.12" - postcss-import "^11.0.0" - postcss-loader "^2.0.10" - postcss-url "^7.1.2" - raw-loader "^0.5.1" - resolve "^1.1.7" - rxjs "^5.5.6" - sass-loader "^6.0.6" - semver "^5.1.0" - silent-error "^1.0.0" - source-map-support "^0.4.1" - style-loader "^0.13.1" - stylus "^0.54.5" - stylus-loader "^3.0.1" - uglifyjs-webpack-plugin "^1.1.5" - url-loader "^0.6.2" - webpack "~3.10.0" - webpack-dev-middleware "~1.12.0" - webpack-dev-server "~2.11.0" - webpack-merge "^4.1.0" - webpack-sources "^1.0.0" - webpack-subresource-integrity "^1.0.1" - optionalDependencies: - node-sass "^4.7.2" - -"@angular/common@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-5.2.3.tgz#f2a5c12ec44b73a248d8dcb2d37ac2749f091cf7" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-5.2.8.tgz#25c81609305e4cee6734d90c8ff1132ab35f81bf" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/compiler-cli@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-5.2.3.tgz#75b39a346f1b2a95ebc403016d19fc33d5315221" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-5.2.8.tgz#49e298dd8d5f7dde54045ff3c1acd9f3ca62e70b" ->>>>>>> feature/power_limitations - dependencies: - chokidar "^1.4.2" - minimist "^1.2.0" - reflect-metadata "^0.1.2" -<<<<<<< HEAD - tsickle "^0.26.0" - -"@angular/compiler@^5.2.0": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-5.2.3.tgz#49167adb35bdb5e7e915cce912c432300fc16816" -======= - tsickle "^0.27.2" - -"@angular/compiler@^5.2.0": - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-5.2.8.tgz#534315d0c700d57c2eb7cc7fff4f180213c8633f" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/core@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-5.2.3.tgz#157dcb437d085b325513689e0e4ae70182f3f708" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-5.2.8.tgz#d2e7657f2c5ce7f050e8f438dcc420c9bebca10a" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/flex-layout@2.0.0-beta.12": - version "2.0.0-beta.12" - resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-2.0.0-beta.12.tgz#80970dc1d60f27fa41537659926f3238f759f343" - dependencies: - tslib "^1.7.1" - -"@angular/forms@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-5.2.3.tgz#4992419191a3800516085209be331fc0d63bd099" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-5.2.8.tgz#eda3c0ee2cb085581bb9bf8ac3c7b463b082b643" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/http@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/http/-/http-5.2.3.tgz#067945f6339619b0b3fd13e8af7b6a1301e69176" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/http/-/http-5.2.8.tgz#be51315032515f8699f8b810ebf3ca78c0cc3759" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/language-service@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-5.2.3.tgz#b858c1cd3740b29de145a6d60b2562eef391d3b3" - -"@angular/material@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-5.2.0.tgz#8599e3149d48487e3e92e941fa9dc55176e3a0cf" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-5.2.8.tgz#9dcc809ac4595e8b740971cf7f68a507ed5e4ff4" - -"@angular/material@^5.2.0": - version "5.2.4" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-5.2.4.tgz#9e823798324283d23ea839156fac5bcb73443d55" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/platform-browser-dynamic@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.3.tgz#87d5172da2c102c3cf48da29d39e9b4b9414b419" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.8.tgz#f2a620694ad771bf466d2bd752ca3a657ea7d46c" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/platform-browser@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-5.2.3.tgz#953df896839879e2b8ca89a364d66e3ac1dcd167" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-5.2.8.tgz#253264887429ad71057882bcbc5cfda1fa4bbc06" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@angular/platform-server@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-5.2.3.tgz#bc10c5b4789fe26f2e677aae069f3ff7509821cb" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-5.2.8.tgz#215a32d9d23f1c7d3b64c219db3c43da7e6f92ac" ->>>>>>> feature/power_limitations - dependencies: - domino "^1.0.29" - tslib "^1.7.1" - xhr2 "^0.1.4" - -"@angular/router@^5.2.0": -<<<<<<< HEAD - version "5.2.3" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-5.2.3.tgz#c56bce42817c67aeb65291e5adf293300038069e" -======= - version "5.2.8" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-5.2.8.tgz#10e906803e5e71d42d157b0ccd78e773d1e316fc" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.7.1" - -"@ngtools/json-schema@1.1.0", "@ngtools/json-schema@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@ngtools/json-schema/-/json-schema-1.1.0.tgz#c3a0c544d62392acc2813a42c8a0dc6f58f86922" - -"@ngtools/webpack@1.9.7": - version "1.9.7" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-1.9.7.tgz#ef15b90142ddf2a2c9072fe3d58c6bf500163fe5" - dependencies: - chalk "~2.2.0" - enhanced-resolve "^3.1.0" - loader-utils "^1.0.2" - magic-string "^0.22.3" - semver "^5.3.0" - source-map "^0.5.6" - tree-kill "^1.0.0" - webpack-sources "^1.1.0" - -"@ngx-translate/core@^9.1.1": - version "9.1.1" - resolved "https://registry.yarnpkg.com/@ngx-translate/core/-/core-9.1.1.tgz#ae103928836b8a9e069fd2e2e76fa2198cc7e628" - -"@schematics/angular@0.1.17": - version "0.1.17" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.1.17.tgz#084a7cbe2de6f94a856bd08d95c9d35ef8905e2b" - dependencies: - typescript "~2.6.2" - -"@types/d3-array@*": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-1.2.1.tgz#e489605208d46a1c9d980d2e5772fa9c75d9ec65" - -"@types/d3-axis@*": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-1.0.9.tgz#62ce7bc8d04354298cda57f3f1d1f856ad69b89a" - dependencies: - "@types/d3-selection" "*" - -"@types/d3-brush@*": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-1.0.7.tgz#05c30440f4d537fd23f976b0e6c4ba223001ef45" - dependencies: - "@types/d3-selection" "*" - -"@types/d3-chord@*": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-1.0.6.tgz#0589eb97a3191f4edaf17b7bde498462890ce1ec" - -"@types/d3-collection@*": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/d3-collection/-/d3-collection-1.0.5.tgz#bb1f3aa97cdc8d881645541b9d6cf87edfee9bc3" - -"@types/d3-color@*": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-1.0.5.tgz#cad755f0fc6de7b70fa6e5e08afa81ef4c2248de" - -"@types/d3-dispatch@*": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-1.0.5.tgz#f1f9187b538ecb05157569d8dc2f70dfb04f1b52" - -"@types/d3-drag@*": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-1.1.0.tgz#9105e35ca58aa0c4783f3ce83082bcb24ccb6960" - dependencies: - "@types/d3-selection" "*" - -"@types/d3-dsv@*": - version "1.0.30" - resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-1.0.30.tgz#78e0dddde4283566f463e51551a97a63c170d5a8" - -"@types/d3-ease@*": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-1.0.7.tgz#93a301868be9e15061f3d44343b1ab3f8acb6f09" - -"@types/d3-force@*": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-1.0.7.tgz#8e3c533697143ebb70275d56840206e8ba789185" - -"@types/d3-format@*": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-1.2.1.tgz#9435fb1771d2fbf6a858c93218f4097c9aa396c1" - -"@types/d3-geo@*": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-1.6.3.tgz#21b501d1fe224d88877f39f84cb8c9dd8aa1bf28" - dependencies: - "@types/geojson" "*" - -"@types/d3-hierarchy@*": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-1.1.0.tgz#50f1ee052840638035cbdd4acab1fc3470905907" - -"@types/d3-interpolate@*": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-1.1.6.tgz#64041b15c9c032c348da1b22baabc59fa4d16136" - dependencies: - "@types/d3-color" "*" - -"@types/d3-path@*": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-1.0.6.tgz#c1a7d2dc07b295fdd1c84dabe4404df991b48693" - -"@types/d3-polygon@*": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-1.0.5.tgz#35ad54ed84c39d7e9f1252b6535be600be6cace2" - -"@types/d3-quadtree@*": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-1.0.5.tgz#1ce1e659eae4530df0cb127f297f1741a367a82e" - -"@types/d3-queue@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/d3-queue/-/d3-queue-3.0.5.tgz#3e4cbe2aff61db6a0b2b8c4800299e4ec6acc850" - -"@types/d3-random@*": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-1.1.0.tgz#2dd08f1159c70719270e4a7c834af85c8b88d2c3" - -"@types/d3-request@*": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/d3-request/-/d3-request-1.0.2.tgz#db9db8154f47816584706c6e6f702be66f22f4be" - dependencies: - "@types/d3-dsv" "*" - -"@types/d3-scale@*": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-1.0.10.tgz#8c5c1dca54a159eed042b46719dbb3bdb7e8c842" - dependencies: - "@types/d3-time" "*" - -"@types/d3-selection@*": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-1.1.0.tgz#59b88f10d2cff7d9ffd7fe986b3aaef3de048224" - -"@types/d3-shape@*": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-1.2.1.tgz#cac2d9f0122f173220c32c8c152dc42ee9349df2" - dependencies: - "@types/d3-path" "*" - -"@types/d3-time-format@*": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-2.0.5.tgz#1d4c5ba77ed5352b10c7fce062c883382f1e16e0" - -"@types/d3-time@*": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-1.0.7.tgz#4266d7c9be15fa81256a88d1d052d61cd8dc572c" - -"@types/d3-timer@*": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-1.0.6.tgz#786d4e20731adf03af2c5df6c86fe29667fe429b" - -"@types/d3-transition@*": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-1.1.0.tgz#74475d4a8f8a0944a517d5ef861970cc30287e40" - dependencies: - "@types/d3-selection" "*" - -"@types/d3-voronoi@*": - version "1.1.7" - resolved "https://registry.yarnpkg.com/@types/d3-voronoi/-/d3-voronoi-1.1.7.tgz#c0a145cf04395927e01706ff6c4ff835c97a8ece" - -"@types/d3-zoom@*": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-1.5.0.tgz#21f690b25a8419fd1bcc95ac629cefdfb462c70f" - dependencies: - "@types/d3-interpolate" "*" - "@types/d3-selection" "*" - -"@types/d3@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@types/d3/-/d3-4.12.0.tgz#445ede4ab7707db1a011ef43b2bd187d21bdaffc" - dependencies: - "@types/d3-array" "*" - "@types/d3-axis" "*" - "@types/d3-brush" "*" - "@types/d3-chord" "*" - "@types/d3-collection" "*" - "@types/d3-color" "*" - "@types/d3-dispatch" "*" - "@types/d3-drag" "*" - "@types/d3-dsv" "*" - "@types/d3-ease" "*" - "@types/d3-force" "*" - "@types/d3-format" "*" - "@types/d3-geo" "*" - "@types/d3-hierarchy" "*" - "@types/d3-interpolate" "*" - "@types/d3-path" "*" - "@types/d3-polygon" "*" - "@types/d3-quadtree" "*" - "@types/d3-queue" "*" - "@types/d3-random" "*" - "@types/d3-request" "*" - "@types/d3-scale" "*" - "@types/d3-selection" "*" - "@types/d3-shape" "*" - "@types/d3-time" "*" - "@types/d3-time-format" "*" - "@types/d3-timer" "*" - "@types/d3-transition" "*" - "@types/d3-voronoi" "*" - "@types/d3-zoom" "*" - -"@types/geojson@*": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.3.tgz#fbcf7fa5eb6dd108d51385cc6987ec1f24214523" - -<<<<<<< HEAD -"@types/jasmine@*", "@types/jasmine@~2.8.3": - version "2.8.6" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.6.tgz#14445b6a1613cf4e05dd61c3c3256d0e95c0421e" -======= -"@types/jasmine@*": - version "2.5.54" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.54.tgz#a6b5f2ae2afb6e0307774e8c7c608e037d491c63" ->>>>>>> feature/power_limitations - -"@types/jasmine@~2.8.3": - version "2.8.6" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.8.6.tgz#14445b6a1613cf4e05dd61c3c3256d0e95c0421e" - -"@types/jasminewd2@~2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/jasminewd2/-/jasminewd2-2.0.3.tgz#0d2886b0cbdae4c0eeba55e30792f584bf040a95" - dependencies: - "@types/jasmine" "*" - -"@types/node@^6.0.46", "@types/node@~6.0.60": - version "6.0.88" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.88.tgz#f618f11a944f6a18d92b5c472028728a3e3d4b66" - -"@types/q@^0.0.32": - version "0.0.32" - resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" - -"@types/selenium-webdriver@^2.53.35", "@types/selenium-webdriver@~2.53.39": - version "2.53.42" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.42.tgz#74cb77fb6052edaff2a8984ddafd88d419f25cac" - -"@types/strip-bom@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" - -"@types/strip-json-comments@0.0.30": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" - -JSONStream@^1.0.3: - version "1.3.2" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.2.tgz#c102371b6ec3a7cf3b847ca00c20bb0fce4c6dea" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abbrev@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" - -accepts@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" - dependencies: - mime-types "~2.1.11" - negotiator "0.6.1" - -accepts@~1.3.4: -<<<<<<< HEAD - version "1.3.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" - dependencies: - mime-types "~2.1.16" -======= - version "1.3.5" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" - dependencies: - mime-types "~2.1.18" ->>>>>>> feature/power_limitations - negotiator "0.6.1" - -acorn-dynamic-import@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" - dependencies: - acorn "^4.0.3" - -acorn-node@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.3.0.tgz#5f86d73346743810ef1269b901dbcbded020861b" - dependencies: - acorn "^5.4.1" - xtend "^4.0.1" - -acorn@^4.0.3: - version "4.0.13" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - -acorn@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" - -<<<<<<< HEAD -acorn@^5.2.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.4.1.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102" -======= -acorn@^5.2.1, acorn@^5.4.1: - version "5.5.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" ->>>>>>> feature/power_limitations - -addressparser@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746" - -adm-zip@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736" - -adm-zip@^0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1" - -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - -agent-base@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" - dependencies: - extend "~3.0.0" - semver "~5.0.1" - -ajv-keywords@^2.0.0, ajv-keywords@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.0.tgz#a296e17f7bfae7c1ce4f7e0de53d29cb32162df0" - -<<<<<<< HEAD -======= -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - -ajv-keywords@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be" - ->>>>>>> feature/power_limitations -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.0.0, ajv@^5.1.5, ajv@~5.5.1: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^5.1.0, ajv@~5.5.1: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.2.1.tgz#28a6abc493a2abe0fb4c8507acaedb43fa550671" - dependencies: - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -amqplib@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/amqplib/-/amqplib-0.5.2.tgz#d2d7313c7ffaa4d10bcf1e6252de4591b6cc7b63" - dependencies: - bitsyntax "~0.0.4" - bluebird "^3.4.6" - buffer-more-ints "0.0.2" - readable-stream "1.x >=1.1.9" - safe-buffer "^5.0.1" - -angular2-toaster@5.0.0-alpha.1: - version "5.0.0-alpha.1" - resolved "https://registry.yarnpkg.com/angular2-toaster/-/angular2-toaster-5.0.0-alpha.1.tgz#24b5435c8c4ab5180c6071f9939ee13f5532428c" - -angular2-uuid@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/angular2-uuid/-/angular2-uuid-1.1.1.tgz#72f03cd532b7f40032eb1ecfb9f8457384be956e" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - dependencies: - color-convert "^1.9.0" - -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -app-root-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" - -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - dependencies: - default-require-extensions "^1.0.0" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - -array-flatten@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" - -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" - -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - -array-slice@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - -arraybuffer.slice@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - -asn1.js@^4.0.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert@^1.1.1, assert@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - -ast-types@0.x.x: -<<<<<<< HEAD - version "0.10.1" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd" -======= - version "0.11.2" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.2.tgz#cc4e1d15a36b39979a1986fe1e91321cbfae7783" ->>>>>>> feature/power_limitations - -astw@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917" - dependencies: - acorn "^4.0.3" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - -async@^1.4.0, async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@^2.1.2, async@^2.1.4, async@^2.4.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" - dependencies: - lodash "^4.14.0" - -async@~2.1.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc" - dependencies: - lodash "^4.14.0" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -atob@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d" - -autoprefixer@^6.3.1: - version "6.7.7" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" - dependencies: - browserslist "^1.7.6" - caniuse-db "^1.0.30000634" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^5.2.16" - postcss-value-parser "^3.2.3" - -autoprefixer@^7.2.3: -<<<<<<< HEAD - version "7.2.5" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.5.tgz#04ccbd0c6a61131b6d13f53d371926092952d192" - dependencies: - browserslist "^2.11.1" - caniuse-lite "^1.0.30000791" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^6.0.16" -======= - version "7.2.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.6.tgz#256672f86f7c735da849c4f07d008abb056067dc" - dependencies: - browserslist "^2.11.3" - caniuse-lite "^1.0.30000805" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^6.0.17" ->>>>>>> feature/power_limitations - postcss-value-parser "^3.2.3" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.2.1, aws4@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -axios@^0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.15.3.tgz#2c9d638b2e191a08ea1d6cc988eadd6ba5bdc053" - dependencies: - follow-redirects "1.0.0" - -babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-generator@^6.18.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.6" - trim-right "^1.0.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - dependencies: - babel-runtime "^6.22.0" - -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.16.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.18.0, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - -balanced-match@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - -base64-js@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -base64id@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - dependencies: - callsite "1.0.0" - -big.js@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" - -binary-extensions@^1.0.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" - -bitsyntax@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/bitsyntax/-/bitsyntax-0.0.4.tgz#eb10cc6f82b8c490e3e85698f07e83d46e0cba82" - dependencies: - buffer-more-ints "0.0.2" - -bl@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" - dependencies: - readable-stream "~2.0.5" - -blob@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -blocking-proxy@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/blocking-proxy/-/blocking-proxy-0.0.5.tgz#462905e0dcfbea970f41aa37223dda9c07b1912b" - dependencies: - minimist "^1.2.0" - -bluebird@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" - -<<<<<<< HEAD -bluebird@^3.4.6, bluebird@^3.4.7, bluebird@^3.5.0, bluebird@^3.5.1: -======= -bluebird@^3.4.6, bluebird@^3.5.0, bluebird@^3.5.1: ->>>>>>> feature/power_limitations - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - -body-parser@1.18.2: - version "1.18.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.1" - http-errors "~1.6.2" - iconv-lite "0.4.19" - on-finished "~2.3.0" - qs "6.5.1" - raw-body "2.3.2" - type-is "~1.6.15" - -body-parser@^1.16.1: - version "1.17.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee" - dependencies: - bytes "2.4.0" - content-type "~1.0.2" - debug "2.6.7" - depd "~1.1.0" - http-errors "~1.6.1" - iconv-lite "0.4.15" - on-finished "~2.3.0" - qs "6.4.0" - raw-body "~2.2.0" - type-is "~1.6.15" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^0.1.2: - version "0.1.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6" - dependencies: - expand-range "^0.1.0" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -<<<<<<< HEAD -braces@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.0.tgz#a46941cb5fb492156b3d6a656e06c35364e3e66e" -======= -braces@^2.3.0, braces@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb" ->>>>>>> feature/power_limitations - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" -<<<<<<< HEAD -======= - kind-of "^6.0.2" ->>>>>>> feature/power_limitations - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - -browser-pack@^6.0.1: -<<<<<<< HEAD - version "6.0.3" - resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.3.tgz#91ca96518583ef580ab063a309de62e407767a39" -======= - version "6.0.4" - resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.4.tgz#9a73beb3b48f9e36868be007b64400102c04a99f" ->>>>>>> feature/power_limitations - dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.8.0" - defined "^1.0.0" - safe-buffer "^5.1.1" - through2 "^2.0.0" - umd "^3.0.0" - -browser-resolve@^1.11.0, browser-resolve@^1.7.0: - version "1.11.2" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.0.8" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.8.tgz#c8fa3b1b7585bb7ba77c5560b60996ddec6d5309" - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" - dependencies: - pako "~0.2.0" - -browserify-zlib@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - dependencies: - pako "~1.0.5" - -browserify@^14.5.0: - version "14.5.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.5.0.tgz#0bbbce521acd6e4d1d54d8e9365008efb85a9cc5" - dependencies: - JSONStream "^1.0.3" - assert "^1.4.0" - browser-pack "^6.0.1" - browser-resolve "^1.11.0" - browserify-zlib "~0.2.0" - buffer "^5.0.2" - cached-path-relative "^1.0.0" - concat-stream "~1.5.1" - console-browserify "^1.1.0" - constants-browserify "~1.0.0" - crypto-browserify "^3.0.0" - defined "^1.0.0" - deps-sort "^2.0.0" - domain-browser "~1.1.0" - duplexer2 "~0.1.2" - events "~1.1.0" - glob "^7.1.0" - has "^1.0.0" - htmlescape "^1.1.0" - https-browserify "^1.0.0" - inherits "~2.0.1" - insert-module-globals "^7.0.0" - labeled-stream-splicer "^2.0.0" - module-deps "^4.0.8" - os-browserify "~0.3.0" - parents "^1.0.1" - path-browserify "~0.0.0" - process "~0.11.0" - punycode "^1.3.2" - querystring-es3 "~0.2.0" - read-only-stream "^2.0.0" - readable-stream "^2.0.2" - resolve "^1.1.4" - shasum "^1.0.0" - shell-quote "^1.6.1" - stream-browserify "^2.0.0" - stream-http "^2.0.0" - string_decoder "~1.0.0" - subarg "^1.0.0" - syntax-error "^1.1.1" - through2 "^2.0.0" - timers-browserify "^1.0.1" - tty-browserify "~0.0.0" - url "~0.11.0" - util "~0.10.1" - vm-browserify "~0.0.1" - xtend "^4.0.0" - -browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: - version "1.7.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" - dependencies: - caniuse-db "^1.0.30000639" - electron-to-chromium "^1.2.7" - -<<<<<<< HEAD -browserslist@^2.11.1: -======= -browserslist@^2.11.3: ->>>>>>> feature/power_limitations - version "2.11.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" - dependencies: - caniuse-lite "^1.0.30000792" - electron-to-chromium "^1.3.30" - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - -buffer-more-ints@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz#26b3885d10fa13db7fc01aae3aab870199e0124c" - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.0.2: -<<<<<<< HEAD - version "5.0.8" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.8.tgz#84daa52e7cf2fa8ce4195bc5cf0f7809e0930b24" -======= - version "5.1.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.1.0.tgz#c913e43678c7cb7c8bd16afbcddb6c5505e8f9fe" ->>>>>>> feature/power_limitations - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -buildmail@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/buildmail/-/buildmail-4.0.1.tgz#877f7738b78729871c9a105e3b837d2be11a7a72" - dependencies: - addressparser "1.0.1" - libbase64 "0.1.0" - libmime "3.0.0" - libqp "1.1.0" - nodemailer-fetch "1.6.0" - nodemailer-shared "1.1.0" - punycode "1.4.1" - -builtin-modules@^1.0.0, builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" - -bytes@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - -cacache@^10.0.1: - version "10.0.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.2.tgz#105a93a162bbedf3a25da42e1939ed99ffb145f8" - dependencies: - bluebird "^3.5.0" - chownr "^1.0.1" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.1" - mississippi "^1.3.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.1" - ssri "^5.0.0" - unique-filename "^1.1.0" - y18n "^3.2.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cached-path-relative@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" - -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" - -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - -caniuse-api@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" - dependencies: - browserslist "^1.3.6" - caniuse-db "^1.0.30000529" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000726" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000726.tgz#9bb742f8d026a62df873bc03c06843d2255b60d7" - -<<<<<<< HEAD -caniuse-lite@^1.0.30000791, caniuse-lite@^1.0.30000792: - version "1.0.30000803" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000803.tgz#9939c37149d38d5f4540430490d240c03106a0f5" -======= -caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805: - version "1.0.30000813" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000813.tgz#7b25e27fdfb8d133f3c932b01f77452140fcc6c9" ->>>>>>> feature/power_limitations - -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -chalk@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@~2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.2.tgz#4403f5cf18f35c05f51fbdf152bf588f956cf7cb" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -<<<<<<< HEAD -chart.js@2.7.1, chart.js@^2.6.0: -======= -chart.js@2.7.1: ->>>>>>> feature/power_limitations - version "2.7.1" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.7.1.tgz#ae90b4aa4ff1f02decd6b1a2a8dabfd73c9f9886" - dependencies: - chartjs-color "~2.2.0" - moment "~2.18.0" - -chartjs-color-string@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz#8d3752d8581d86687c35bfe2cb80ac5213ceb8c1" - dependencies: - color-name "^1.0.0" - -chartjs-color@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.2.0.tgz#84a2fb755787ed85c39dd6dd8c7b1d88429baeae" - dependencies: - chartjs-color-string "^0.5.0" - color-convert "^0.5.3" - -chokidar@^1.4.1, chokidar@^1.4.2, chokidar@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chokidar@^2.0.0: -<<<<<<< HEAD - version "2.0.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.0.tgz#6686313c541d3274b2a5c01233342037948c911b" -======= - version "2.0.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7" ->>>>>>> feature/power_limitations - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" -<<<<<<< HEAD -======= - upath "^1.0.0" ->>>>>>> feature/power_limitations - optionalDependencies: - fsevents "^1.0.0" - -chownr@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -circular-dependency-plugin@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-4.4.0.tgz#f8a1a746a3f6c8e57f4dae9b54d991cd2a582f5d" - -circular-json@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.1.tgz#b8942a09e535863dc21b04417a91971e1d9cd91f" - -circular-json@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.1.tgz#b8942a09e535863dc21b04417a91971e1d9cd91f" - -clap@^1.0.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.0.tgz#59c90fe3e137104746ff19469a27a634ff68c857" - dependencies: - chalk "^1.1.3" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -classlist.js@^1.1.20150312: - version "1.1.20150312" - resolved "https://registry.yarnpkg.com/classlist.js/-/classlist.js-1.1.20150312.tgz#1d70842f7022f08d9ac086ce69e5b250f2c57789" - -clean-css@4.1.x: - version "4.1.8" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.8.tgz#061455b2494a750ac98f46d8d5ebb17c679ea9d1" - dependencies: - source-map "0.5.x" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -clone-deep@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" - dependencies: - for-own "^1.0.0" - is-plain-object "^2.0.4" - kind-of "^6.0.0" - shallow-clone "^1.0.0" - -clone@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" - -clone@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -co@~3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/co/-/co-3.0.6.tgz#1445f226c5eb956138e68c9ac30167ea7d2e6bda" - -coa@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" - dependencies: - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -codelyzer@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-4.0.1.tgz#0bb4cf52a325b257790f4980bb3c63833db10789" - dependencies: - app-root-path "^2.0.1" - css-selector-tokenizer "^0.7.0" - cssauron "^1.4.0" - semver-dsl "^1.0.1" - source-map "^0.5.6" - sprintf-js "^1.0.3" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" - -color-convert@^1.3.0, color-convert@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" - dependencies: - color-name "^1.1.1" - -color-name@^1.0.0, color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -color-string@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" - dependencies: - color-name "^1.0.0" - -color@^0.11.0: - version "0.11.4" - resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" - dependencies: - clone "^1.0.2" - color-convert "^1.3.0" - color-string "^0.3.0" - -colormin@^1.0.5: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" - dependencies: - color "^0.11.0" - css-color-names "0.0.4" - has "^1.0.1" - -colors@1.1.2, colors@^1.1.0, colors@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - -combine-lists@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6" - dependencies: - lodash "^4.5.0" - -combine-source-map@~0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e" - dependencies: - convert-source-map "~1.1.0" - inline-source-map "~0.6.0" - lodash.memoize "~3.0.3" - source-map "~0.5.3" - -combine-source-map@~0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.8.0.tgz#a58d0df042c186fcf822a8e8015f5450d2d79a8b" - dependencies: - convert-source-map "~1.1.0" - inline-source-map "~0.6.0" - lodash.memoize "~3.0.3" - source-map "~0.5.3" - -<<<<<<< HEAD -======= -combined-stream@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" - dependencies: - delayed-stream "~1.0.0" - ->>>>>>> feature/power_limitations -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -commander@2, commander@^2.12.1, commander@^2.9.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.0.tgz#7b25325963e6aace20d3a9285b09379b0c2208b5" - -commander@2.11.x, commander@~2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - -<<<<<<< HEAD -commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" -======= -commander@^2.12.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.0.tgz#ad2a23a1c3b036e392469b8012cec6b33b4c1322" - -commander@~2.12.1: - version "2.12.2" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" ->>>>>>> feature/power_limitations - -common-tags@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0" - dependencies: - babel-runtime "^6.18.0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - -component-emitter@1.2.1, component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - -compressible@~2.0.10: - version "2.0.11" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.11.tgz#16718a75de283ed8e604041625a2064586797d8a" - dependencies: - mime-db ">= 1.29.0 < 2" - -compression@^1.5.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.0.tgz#030c9f198f1643a057d776a738e922da4373012d" - dependencies: - accepts "~1.3.3" - bytes "2.5.0" - compressible "~2.0.10" - debug "2.6.8" - on-headers "~1.0.1" - safe-buffer "5.1.1" - vary "~1.1.1" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.5.0, concat-stream@~1.5.0, concat-stream@~1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -concat-stream@~1.5.0, concat-stream@~1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -connect-history-api-fallback@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" - -connect@^3.6.0: - version "3.6.3" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.3.tgz#f7320d46a25b4be7b483a2236517f24b1e27e301" - dependencies: - debug "2.6.8" - finalhandler "1.0.4" - parseurl "~1.3.1" - utils-merge "1.0.0" - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -constants-browserify@^1.0.0, constants-browserify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - -content-type@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - -convert-source-map@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" - -convert-source-map@~1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - -copy-webpack-plugin@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.2.0.tgz#252bb94597f96399d23d7fad355f8d3a661ac096" - dependencies: - bluebird "^3.5.1" - fs-extra "^4.0.2" - glob "^7.1.2" - is-glob "^4.0.0" - loader-utils "^0.2.15" - lodash "^4.3.0" - minimatch "^3.0.4" - node-dir "^0.1.10" - -core-js@^2.2.0, core-js@^2.4.0, core-js@^2.4.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" - -core-object@^3.1.0: - version "3.1.5" - resolved "https://registry.yarnpkg.com/core-object/-/core-object-3.1.5.tgz#fa627b87502adc98045e44678e9a8ec3b9c0d2a9" - dependencies: - chalk "^2.0.0" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" - dependencies: - is-directory "^0.3.1" - js-yaml "^3.4.3" - minimist "^1.2.0" - object-assign "^4.1.0" - os-homedir "^1.0.1" - parse-json "^2.2.0" - require-from-string "^1.1.0" - -create-ecdh@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - ripemd160 "^2.0.0" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.6" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -<<<<<<< HEAD -crypto-browserify@^3.0.0, crypto-browserify@^3.11.0: -======= -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - -crypto-browserify@^3.0.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-browserify@^3.11.0: ->>>>>>> feature/power_limitations - version "3.11.1" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - -css-color-names@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - -css-loader@^0.28.1: - version "0.28.7" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b" - dependencies: - babel-code-frame "^6.11.0" - css-selector-tokenizer "^0.7.0" - cssnano ">=2.6.1 <4" - icss-utils "^2.1.0" - loader-utils "^1.0.2" - lodash.camelcase "^4.3.0" - object-assign "^4.0.1" - postcss "^5.0.6" - postcss-modules-extract-imports "^1.0.0" - postcss-modules-local-by-default "^1.0.1" - postcss-modules-scope "^1.0.0" - postcss-modules-values "^1.1.0" - postcss-value-parser "^3.3.0" - source-list-map "^2.0.0" - -css-parse@1.7.x: - version "1.7.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-1.7.0.tgz#321f6cf73782a6ff751111390fc05e2c657d8c9b" - -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-selector-tokenizer@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - -css-what@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" - -cssauron@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" - dependencies: - through X.X.X - -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - -"cssnano@>=2.6.1 <4", cssnano@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" - dependencies: - autoprefixer "^6.3.1" - decamelize "^1.1.2" - defined "^1.0.0" - has "^1.0.1" - object-assign "^4.0.1" - postcss "^5.0.14" - postcss-calc "^5.2.0" - postcss-colormin "^2.1.8" - postcss-convert-values "^2.3.4" - postcss-discard-comments "^2.0.4" - postcss-discard-duplicates "^2.0.1" - postcss-discard-empty "^2.0.1" - postcss-discard-overridden "^0.1.1" - postcss-discard-unused "^2.2.1" - postcss-filter-plugins "^2.0.0" - postcss-merge-idents "^2.1.5" - postcss-merge-longhand "^2.0.1" - postcss-merge-rules "^2.0.3" - postcss-minify-font-values "^1.0.2" - postcss-minify-gradients "^1.0.1" - postcss-minify-params "^1.0.4" - postcss-minify-selectors "^2.0.4" - postcss-normalize-charset "^1.1.0" - postcss-normalize-url "^3.0.7" - postcss-ordered-values "^2.1.0" - postcss-reduce-idents "^2.2.2" - postcss-reduce-initial "^1.0.0" - postcss-reduce-transforms "^1.0.3" - postcss-svgo "^2.1.1" - postcss-unique-selectors "^2.0.2" - postcss-value-parser "^3.2.3" - postcss-zindex "^2.0.1" - -csso@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" - dependencies: - clap "^1.0.9" - source-map "^0.5.3" - -cuint@latest: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -custom-event@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - -d3-array@1, d3-array@1.2.1, d3-array@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.1.tgz#d1ca33de2f6ac31efadb8e050a021d7e2396d5dc" - -d3-axis@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.8.tgz#31a705a0b535e65759de14173a31933137f18efa" - -d3-brush@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.4.tgz#00c2f238019f24f6c0a194a26d41a1530ffe7bc4" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - -d3-chord@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.4.tgz#7dec4f0ba886f713fe111c45f763414f6f74ca2c" - dependencies: - d3-array "1" - d3-path "1" - -d3-collection@1, d3-collection@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.4.tgz#342dfd12837c90974f33f1cc0a785aea570dcdc2" - -d3-color@1, d3-color@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.0.3.tgz#bc7643fca8e53a8347e2fbdaffa236796b58509b" - -d3-dispatch@1, d3-dispatch@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.3.tgz#46e1491eaa9b58c358fce5be4e8bed626e7871f8" - -d3-drag@1, d3-drag@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.1.tgz#df8dd4c502fb490fc7462046a8ad98a5c479282d" - dependencies: - d3-dispatch "1" - d3-selection "1" - -d3-dsv@1, d3-dsv@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.8.tgz#907e240d57b386618dc56468bacfe76bf19764ae" - dependencies: - commander "2" - iconv-lite "0.4" - rw "1" - -d3-ease@1, d3-ease@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.3.tgz#68bfbc349338a380c44d8acc4fbc3304aa2d8c0e" - -d3-force@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.1.0.tgz#cebf3c694f1078fcc3d4daf8e567b2fbd70d4ea3" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-quadtree "1" - d3-timer "1" - -<<<<<<< HEAD -d3-format@1, d3-format@1.2.2: -======= -d3-format@1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.0.tgz#6b480baa886885d4651dc248a8f4ac9da16db07a" - -d3-format@1.2.2: ->>>>>>> feature/power_limitations - version "1.2.2" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.2.2.tgz#1a39c479c8a57fe5051b2e67a3bee27061a74e7a" - -d3-geo@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.9.1.tgz#157e3b0f917379d0f73bebfff3be537f49fa7356" - dependencies: - d3-array "1" - -d3-hierarchy@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.5.tgz#a1c845c42f84a206bcf1c01c01098ea4ddaa7a26" - -d3-interpolate@1, d3-interpolate@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.1.6.tgz#2cf395ae2381804df08aa1bf766b7f97b5f68fb6" - dependencies: - d3-color "1" - -d3-path@1, d3-path@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.5.tgz#241eb1849bd9e9e8021c0d0a799f8a0e8e441764" - -d3-polygon@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.3.tgz#16888e9026460933f2b179652ad378224d382c62" - -d3-quadtree@1, d3-quadtree@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.3.tgz#ac7987e3e23fe805a990f28e1b50d38fcb822438" - -d3-queue@3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/d3-queue/-/d3-queue-3.0.7.tgz#c93a2e54b417c0959129d7d73f6cf7d4292e7618" - -d3-random@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.0.tgz#6642e506c6fa3a648595d2b2469788a8d12529d3" - -d3-request@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/d3-request/-/d3-request-1.0.6.tgz#a1044a9ef4ec28c824171c9379fae6d79474b19f" - dependencies: - d3-collection "1" - d3-dispatch "1" - d3-dsv "1" - xmlhttprequest "1" - -d3-scale@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-1.0.7.tgz#fa90324b3ea8a776422bd0472afab0b252a0945d" - dependencies: - d3-array "^1.2.0" - d3-collection "1" - d3-color "1" - d3-format "1" - d3-interpolate "1" - d3-time "1" - d3-time-format "2" - -d3-scale@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.0.0.tgz#fd8ac78381bc2ed741d8c71770437a5e0549a5a5" - dependencies: - d3-array "^1.2.0" - d3-collection "1" - d3-format "1" - d3-interpolate "1" - d3-time "1" - d3-time-format "2" -<<<<<<< HEAD - -d3-selection@1, d3-selection@1.3.0, d3-selection@^1.1.0: -======= - -d3-selection@1, d3-selection@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.1.0.tgz#1998684896488f839ca0372123da34f1d318809c" - -d3-selection@1.3.0: ->>>>>>> feature/power_limitations - version "1.3.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.3.0.tgz#d53772382d3dc4f7507bfb28bcd2d6aed2a0ad6d" - -d3-shape@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.2.0.tgz#45d01538f064bafd05ea3d6d2cb748fd8c41f777" - dependencies: - d3-path "1" - -d3-time-format@2, d3-time-format@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.1.tgz#85b7cdfbc9ffca187f14d3c456ffda268081bb31" - dependencies: - d3-time "1" - -d3-time@1, d3-time@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.8.tgz#dbd2d6007bf416fe67a76d17947b784bffea1e84" - -d3-timer@1, d3-timer@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.7.tgz#df9650ca587f6c96607ff4e60cc38229e8dd8531" - -d3-transition@1, d3-transition@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.1.1.tgz#d8ef89c3b848735b060e54a39b32aaebaa421039" - dependencies: - d3-color "1" - d3-dispatch "1" - d3-ease "1" - d3-interpolate "1" - d3-selection "^1.1.0" - d3-timer "1" - -d3-voronoi@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz#1687667e8f13a2d158c80c1480c5a29cb0d8973c" - -d3-zoom@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.1.tgz#02f43b3c3e2db54f364582d7e4a236ccc5506b63" - dependencies: - d3-dispatch "1" - d3-drag "1" - d3-interpolate "1" - d3-selection "1" - d3-transition "1" - -d3@4.13.0: - version "4.13.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-4.13.0.tgz#ab236ff8cf0cfc27a81e69bf2fb7518bc9b4f33d" - dependencies: - d3-array "1.2.1" - d3-axis "1.0.8" - d3-brush "1.0.4" - d3-chord "1.0.4" - d3-collection "1.0.4" - d3-color "1.0.3" - d3-dispatch "1.0.3" - d3-drag "1.2.1" - d3-dsv "1.0.8" - d3-ease "1.0.3" - d3-force "1.1.0" - d3-format "1.2.2" - d3-geo "1.9.1" - d3-hierarchy "1.1.5" - d3-interpolate "1.1.6" - d3-path "1.0.5" - d3-polygon "1.0.3" - d3-quadtree "1.0.3" - d3-queue "3.0.7" - d3-random "1.1.0" - d3-request "1.0.6" - d3-scale "1.0.7" - d3-selection "1.3.0" - d3-shape "1.2.0" - d3-time "1.0.8" - d3-time-format "2.1.1" - d3-timer "1.0.7" - d3-transition "1.1.1" - d3-voronoi "1.1.2" - d3-zoom "1.7.1" - -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -data-uri-to-buffer@1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" - -date-fns@^2.0.0-alpha.7: - version "2.0.0-alpha.7" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.0.0-alpha.7.tgz#245ad16f95764eababfb2c0a41fd5d033c20e57a" - -date-format@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-1.2.0.tgz#615e828e233dd1ab9bb9ae0950e0ceccfa6ecad8" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - -debug@*, debug@2.6.8, debug@^2.2.0, debug@~2.6.6: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - -<<<<<<< HEAD -debug@2, debug@2.6.9, debug@^2.3.3, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8, debug@~2.6.4, debug@~2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -======= ->>>>>>> feature/power_limitations -debug@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" - dependencies: - ms "2.0.0" - -debug@2.6.9, debug@^2.3.3, debug@~2.6.4, debug@~2.6.6: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - -deep-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - dependencies: - strip-bom "^2.0.0" - -define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" - dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - dependencies: - is-descriptor "^1.0.0" - -<<<<<<< HEAD -======= -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - ->>>>>>> feature/power_limitations -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - -degenerator@~1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095" - dependencies: - ast-types "0.x.x" - escodegen "1.x.x" - esprima "3.x.x" - -del@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -del@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -denodeify@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" - -depd@1.1.1, depd@~1.1.0, depd@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" - -deps-sort@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5" - dependencies: - JSONStream "^1.0.3" - shasum "^1.0.0" - subarg "^1.0.0" - through2 "^2.0.0" - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -detect-node@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" - -detective@^4.0.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz#0eca7314338442febb6d65da54c10bb1c82b246e" - dependencies: - acorn "^5.2.1" - defined "^1.0.0" - -di@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" - -diff@^3.1.0, diff@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" - -diffie-hellman@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - -dns-packet@^1.0.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - dependencies: - buffer-indexof "^1.0.0" - -dom-converter@~0.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" - dependencies: - utila "~0.3" - -dom-serialize@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - dependencies: - custom-event "~1.0.0" - ent "~2.2.0" - extend "^3.0.0" - void-elements "^2.0.0" - -dom-serializer@0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" - dependencies: - domelementtype "~1.1.1" - entities "~1.1.1" - -domain-browser@^1.1.1, domain-browser@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" - -domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - -domelementtype@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" - -domhandler@2.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" - dependencies: - domelementtype "1" - -domino@^1.0.29: - version "1.0.30" - resolved "https://registry.yarnpkg.com/domino/-/domino-1.0.30.tgz#54a4154ecae968616680f8feba3cedff355c71f4" - -domutils@1.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - dependencies: - dom-serializer "0" - domelementtype "1" - -double-ended-queue@^2.1.0-0: - version "2.1.0-0" - resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" - -duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" - -duplexify@^3.1.2, duplexify@^3.4.2: - version "3.5.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.1.tgz#4e1516be68838bc90a49994f0b39a6e5960befcd" - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - -ejs@^2.5.7: - version "2.5.7" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.7.tgz#cc872c168880ae3c7189762fd5ffc00896c9518a" - -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30: - version "1.3.32" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.32.tgz#11d0684c0840e003c4be8928f8ac5f35dbc2b4e6" - -electron-to-chromium@^1.3.30: - version "1.3.36" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.36.tgz#0eabf71a9ebea9013fb1cc35a390e068624f27e8" - -elliptic@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -ember-cli-string-utils@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ember-cli-string-utils/-/ember-cli-string-utils-1.1.0.tgz#39b677fc2805f55173735376fcef278eaa4452a1" - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" - dependencies: - once "^1.4.0" - -engine.io-client@~3.1.0: -<<<<<<< HEAD - version "3.1.4" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.4.tgz#4fcf1370b47163bd2ce9be2733972430350d4ea1" - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "~2.6.9" -======= - version "3.1.6" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.6.tgz#5bdeb130f8b94a50ac5cbeb72583e7a4a063ddfd" - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "~3.1.0" ->>>>>>> feature/power_limitations - engine.io-parser "~2.1.1" - has-cors "1.1.0" - indexof "0.0.1" - parseqs "0.0.5" - parseuri "0.0.5" - ws "~3.3.1" - xmlhttprequest-ssl "~1.5.4" - yeast "0.1.2" - -engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.2.tgz#4c0f4cff79aaeecbbdcfdea66a823c6085409196" - dependencies: - after "0.8.2" - arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.5" - blob "0.0.4" - has-binary2 "~1.0.2" - -engine.io@~3.1.0: -<<<<<<< HEAD - version "3.1.4" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.4.tgz#3d0211b70a552ce841ffc7da8627b301a9a4162e" -======= - version "3.1.5" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.5.tgz#0e7ef9d690eb0b35597f1d4ad02a26ca2dba3845" ->>>>>>> feature/power_limitations - dependencies: - accepts "~1.3.4" - base64id "1.0.0" - cookie "0.3.1" -<<<<<<< HEAD - debug "~2.6.9" - engine.io-parser "~2.1.0" - ws "~3.3.1" - optionalDependencies: - uws "~0.14.4" -======= - debug "~3.1.0" - engine.io-parser "~2.1.0" - ws "~3.3.1" - optionalDependencies: - uws "~9.14.0" ->>>>>>> feature/power_limitations - -enhanced-resolve@^3.1.0, enhanced-resolve@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - object-assign "^4.0.1" - tapable "^0.2.7" - -ent@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - -entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" - -errno@^0.1.1, errno@^0.1.3, errno@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" - dependencies: - prr "~0.0.0" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - -es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.30" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.30.tgz#7141a16836697dbabfaaaeee41495ce29f52c939" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2, es6-iterator@^2.0.1, es6-iterator@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-symbol "^3.1" - -es6-map@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-set "~0.1.5" - es6-symbol "~3.1.1" - event-emitter "~0.3.5" - -es6-set@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" - dependencies: - d "1" - es5-ext "~0.10.14" - es6-iterator "~2.0.1" - es6-symbol "3.1.1" - event-emitter "~0.3.5" - -es6-symbol@3.1.1, es6-symbol@^3.1, es6-symbol@^3.1.1, es6-symbol@~3.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escodegen@1.x.x: -<<<<<<< HEAD - version "1.9.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" -======= - version "1.9.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" ->>>>>>> feature/power_limitations - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: -<<<<<<< HEAD - source-map "~0.5.6" -======= - source-map "~0.6.1" ->>>>>>> feature/power_limitations - -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -esprima@3.x.x, esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - -esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - -esrecurse@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" - dependencies: - estraverse "^4.1.0" - object-assign "^4.0.1" - -estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - -event-emitter@~0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - -eventemitter3@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" - -events@^1.0.0, events@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -eventsource@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" - dependencies: - original ">=0.0.5" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - -expand-braces@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea" - dependencies: - array-slice "^0.2.3" - array-unique "^0.2.1" - braces "^0.1.2" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-range@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044" - dependencies: - is-number "^0.1.1" - repeat-string "^0.2.2" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -exports-loader@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.6.4.tgz#d70fc6121975b35fc12830cf52754be2740fc886" - dependencies: - loader-utils "^1.0.2" - source-map "0.5.x" - -express@^4.16.2: - version "4.16.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" - dependencies: - accepts "~1.3.4" - array-flatten "1.1.1" - body-parser "1.18.2" - content-disposition "0.5.2" - content-type "~1.0.4" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.1" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.1.0" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.2" - path-to-regexp "0.1.7" - proxy-addr "~2.0.2" - qs "6.5.1" - range-parser "~1.2.0" - safe-buffer "5.1.1" - send "0.16.1" - serve-static "1.13.1" - setprototypeof "1.1.0" - statuses "~1.3.1" - type-is "~1.6.15" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - dependencies: - is-extendable "^0.1.0" - -<<<<<<< HEAD -extend-shallow@^3.0.0: -======= -extend-shallow@^3.0.0, extend-shallow@^3.0.2: ->>>>>>> feature/power_limitations - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -<<<<<<< HEAD -extglob@^2.0.2: -======= -extglob@^2.0.4: ->>>>>>> feature/power_limitations - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-text-webpack-plugin@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz#5f043eaa02f9750a9258b78c0a6e0dc1408fb2f7" - dependencies: - async "^2.4.1" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - webpack-sources "^1.0.1" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -fastparse@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - dependencies: - websocket-driver ">=0.5.1" - -file-loader@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.5.tgz#91c25b6b6fbe56dae99f10a425fd64933b5c9daa" - dependencies: - loader-utils "^1.0.2" - schema-utils "^0.3.0" - -file-uri-to-path@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - -fileset@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -finalhandler@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.4.tgz#18574f2e7c4b98b8ae3b230c21f201f31bdb3fb7" - dependencies: - debug "2.6.8" - encodeurl "~1.0.1" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.1" - statuses "~1.3.1" - unpipe "~1.0.0" - -finalhandler@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" - dependencies: - debug "2.6.9" - encodeurl "~1.0.1" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.3.1" - unpipe "~1.0.0" - -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - -flush-write-stream@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.2.tgz#c81b90d8746766f1a609a46809946c45dd8ae417" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" - -follow-redirects@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.0.0.tgz#8e34298cbd2e176f254effec75a1c78cc849fd37" - dependencies: - debug "^2.2.0" - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - dependencies: - for-in "^1.0.1" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.11" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -<<<<<<< HEAD -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - -======= -form-data@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" - dependencies: - asynckit "^0.4.0" - combined-stream "1.0.6" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - ->>>>>>> feature/power_limitations -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-access@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - dependencies: - null-check "^1.0.0" - -fs-extra@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.1.tgz#7fc0c6c8957f983f57f306a24e5b9ddd8d0dd880" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^3.0.0" - universalify "^0.1.0" - -fs-extra@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.36" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -ftp@~0.3.10: - version "0.3.10" - resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" - dependencies: - readable-stream "1.1.x" - xregexp "2.0.0" - -function-bind@^1.0.2, function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" - dependencies: - globule "^1.0.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -get-uri@2: - version "2.0.1" - resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.1.tgz#dbdcacacd8c608a38316869368117697a1631c59" - dependencies: - data-uri-to-buffer "1" - debug "2" - extend "3" - file-uri-to-path "1" - ftp "~0.3.10" - readable-stream "2" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob@7.0.x: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globule@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" - dependencies: - glob "~7.1.1" - lodash "~4.17.4" - minimatch "~3.0.2" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -hammerjs@2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" - -handle-thing@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" - -handlebars@^4.0.3: - version "4.0.10" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -<<<<<<< HEAD -======= -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - ->>>>>>> feature/power_limitations -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-binary2@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz#e83dba49f0b9be4d026d27365350d9f03f54be98" - dependencies: - isarray "2.0.1" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" - dependencies: - function-bind "^1.0.2" - -hash-base@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" - dependencies: - inherits "^2.0.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - -he@1.1.x: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - -hipchat-notifier@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz#b6d249755437c191082367799d3ba9a0f23b231e" - dependencies: - lodash "^4.0.0" - request "^2.0.0" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-comment-regex@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" - -html-entities@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" - -html-minifier@^3.2.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.3.tgz#4a275e3b1a16639abb79b4c11191ff0d0fcf1ab9" - dependencies: - camel-case "3.0.x" - clean-css "4.1.x" - commander "2.11.x" - he "1.1.x" - ncname "1.0.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.0.x" - -html-webpack-plugin@^2.29.0: - version "2.30.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz#7f9c421b7ea91ec460f56527d78df484ee7537d5" - dependencies: - bluebird "^3.4.7" - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - toposort "^1.0.0" - -htmlescape@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" - -htmlparser2@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" - dependencies: - domelementtype "1" - domhandler "2.1" - domutils "1.1" - readable-stream "1.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - -http-errors@1.6.2, http-errors@~1.6.1, http-errors@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" - dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - -http-proxy-agent@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz#cc1ce38e453bf984a0f7702d2dd59c73d081284a" - dependencies: - agent-base "2" - debug "2" - extend "3" - -http-proxy-middleware@~0.17.4: - version "0.17.4" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" - dependencies: - http-proxy "^1.16.2" - is-glob "^3.1.0" - lodash "^4.17.2" - micromatch "^2.3.11" - -http-proxy@^1.13.0, http-proxy@^1.16.2: - version "1.16.2" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" - dependencies: - eventemitter3 "1.x.x" - requires-port "1.x.x" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -<<<<<<< HEAD -======= -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - ->>>>>>> feature/power_limitations -httpntlm@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/httpntlm/-/httpntlm-1.6.1.tgz#ad01527143a2e8773cfae6a96f58656bb52a34b2" - dependencies: - httpreq ">=0.4.22" - underscore "~1.7.0" - -httpreq@>=0.4.22: - version "0.4.24" - resolved "https://registry.yarnpkg.com/httpreq/-/httpreq-0.4.24.tgz#4335ffd82cd969668a39465c929ac61d6393627f" - -https-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - -https-proxy-agent@1, https-proxy-agent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - dependencies: - agent-base "2" - debug "2" - extend "3" - -iconv-lite@0.4, iconv-lite@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" - -iconv-lite@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - -icss-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" - dependencies: - postcss "^6.0.1" - -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - -import-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - -inflection@~1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.10.0.tgz#5bffcb1197ad3e81050f8e17e21668087ee9eb2f" - -inflection@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.3.8.tgz#cbd160da9f75b14c3cc63578d4f396784bf3014e" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - -ini@^1.3.4, ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -inline-source-map@~0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" - dependencies: - source-map "~0.5.3" - -insert-module-globals@^7.0.0: -<<<<<<< HEAD - version "7.0.1" - resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3" -======= - version "7.0.2" - resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.2.tgz#012c56baa7d3307a8b417d4ec5270cf9741c18f4" ->>>>>>> feature/power_limitations - dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.7.1" - concat-stream "~1.5.1" - is-buffer "^1.1.0" - lexical-scope "^1.2.0" - process "~0.11.0" - through2 "^2.0.0" - xtend "^4.0.0" - -internal-ip@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" - dependencies: - meow "^3.3.0" - -interpret@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" - -intl@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz#82244a2190c4e419f8371f5aa34daa3420e2abde" - -invariant@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -ip@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.0.1.tgz#c7e356cdea225ae71b36d70f2e71a92ba4e42590" - -<<<<<<< HEAD -ip@^1.1.0, ip@^1.1.2, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - -ipaddr.js@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" -======= -ip@^1.1.0, ip@^1.1.2, ip@^1.1.4, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - -ipaddr.js@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" ->>>>>>> feature/power_limitations - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -<<<<<<< HEAD -is-buffer@^1.0.2, is-buffer@^1.1.0, is-buffer@^1.1.5: -======= -is-buffer@^1.1.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-buffer@^1.1.5: ->>>>>>> feature/power_limitations - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -<<<<<<< HEAD -is-descriptor@^1.0.0: -======= -is-descriptor@^1.0.0, is-descriptor@^1.0.2: ->>>>>>> feature/power_limitations - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - dependencies: - is-extglob "^2.1.1" - -<<<<<<< HEAD -is-my-json-valid@^2.12.4: - version "2.17.1" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz#3da98914a70a22f0a8563ef1511a246c6fc55471" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" -======= -is-my-ip-valid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" - -is-my-json-valid@^2.12.4: - version "2.17.2" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" ->>>>>>> feature/power_limitations - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-number@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806" - -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -<<<<<<< HEAD -is-odd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-1.0.0.tgz#3b8a932eb028b3775c39bb09e91767accdb69088" - dependencies: - is-number "^3.0.0" -======= -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - -is-odd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" - dependencies: - is-number "^4.0.0" ->>>>>>> feature/power_limitations - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - dependencies: - isobject "^3.0.1" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - dependencies: - has "^1.0.1" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-svg@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - -isarray@0.0.1, isarray@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isarray@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" - -isbinaryfile@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -istanbul-api@^1.1.8: - version "1.1.14" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.1.14.tgz#25bc5701f7c680c0ffff913de46e3619a3a6e680" - dependencies: - async "^2.1.4" - fileset "^2.0.2" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-hook "^1.0.7" - istanbul-lib-instrument "^1.8.0" - istanbul-lib-report "^1.1.1" - istanbul-lib-source-maps "^1.2.1" - istanbul-reports "^1.1.2" - js-yaml "^3.7.0" - mkdirp "^0.5.1" - once "^1.4.0" - -istanbul-instrumenter-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.0.tgz#9f553923b22360bac95e617aaba01add1f7db0b2" - dependencies: - convert-source-map "^1.5.0" - istanbul-lib-instrument "^1.7.3" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - -istanbul-lib-coverage@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" - -istanbul-lib-coverage@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" - -istanbul-lib-hook@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz#dd6607f03076578fe7d6f2a630cf143b49bacddc" - dependencies: - append-transform "^0.4.0" - -<<<<<<< HEAD -istanbul-lib-instrument@^1.7.3, istanbul-lib-instrument@^1.8.0: -======= -istanbul-lib-instrument@^1.7.3: - version "1.10.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.0.tgz#47f20bfed9b9cbbc45417d3c9aff37bfbacbd281" - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.0" - semver "^5.3.0" - -istanbul-lib-instrument@^1.8.0: ->>>>>>> feature/power_limitations - version "1.8.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz#66f6c9421cc9ec4704f76f2db084ba9078a2b532" - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.1.1" - semver "^5.3.0" - -istanbul-lib-report@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#f0e55f56655ffa34222080b7a0cd4760e1405fc9" - dependencies: - istanbul-lib-coverage "^1.1.1" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" - -istanbul-lib-source-maps@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz#a6fe1acba8ce08eebc638e572e294d267008aa0c" - dependencies: - debug "^2.6.3" - istanbul-lib-coverage "^1.1.1" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" - -istanbul-reports@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.2.tgz#0fb2e3f6aa9922bd3ce45d05d8ab4d5e8e07bd4f" - dependencies: - handlebars "^4.0.3" - -jasmine-core@~2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" - -jasmine-spec-reporter@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz#1d632aec0341670ad324f92ba84b4b32b35e9e22" - dependencies: - colors "1.1.2" - -jasmine@^2.5.3: - version "2.8.0" - resolved "https://registry.yarnpkg.com/jasmine/-/jasmine-2.8.0.tgz#6b089c0a11576b1f16df11b80146d91d4e8b8a3e" - dependencies: - exit "^0.1.2" - glob "^7.0.6" - jasmine-core "~2.8.0" - -jasminewd2@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.1.0.tgz#da595275d1ae631de736ac0a7c7d85c9f73ef652" - -js-base64@^2.1.8, js-base64@^2.1.9: - version "2.1.9" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" - -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - -js-yaml@^3.4.3, js-yaml@^3.7.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@~3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" - dependencies: - argparse "^1.0.7" - esprima "^2.6.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - -json-loader@^0.5.4: - version "0.5.7" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stable-stringify@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@5.0.x, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - -json5@^0.5.0, json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonfile@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -karma-chrome-launcher@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf" - dependencies: - fs-access "^1.0.0" - which "^1.2.1" - -karma-coverage-istanbul-reporter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.3.0.tgz#d142cd9c55731c9e363ef7374e8ef1a31bebfadb" - dependencies: - istanbul-api "^1.1.8" - minimatch "^3.0.4" - -karma-jasmine-html-reporter@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-0.2.2.tgz#48a8e5ef18807617ee2b5e33c1194c35b439524c" - dependencies: - karma-jasmine "^1.0.2" - -karma-jasmine@^1.0.2, karma-jasmine@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.0.tgz#22e4c06bf9a182e5294d1f705e3733811b810acf" - -karma-source-map-support@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/karma-source-map-support/-/karma-source-map-support-1.2.0.tgz#1bf81e7bb4b089627ab352ec4179e117c406a540" - dependencies: - source-map-support "^0.4.1" - -karma@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-2.0.0.tgz#a02698dd7f0f05ff5eb66ab8f65582490b512e58" - dependencies: - bluebird "^3.3.0" - body-parser "^1.16.1" - browserify "^14.5.0" - chokidar "^1.4.1" - colors "^1.1.0" - combine-lists "^1.0.0" - connect "^3.6.0" - core-js "^2.2.0" - di "^0.0.1" - dom-serialize "^2.2.0" - expand-braces "^0.1.1" - glob "^7.1.1" - graceful-fs "^4.1.2" - http-proxy "^1.13.0" - isbinaryfile "^3.0.0" - lodash "^4.17.4" - log4js "^2.3.9" - mime "^1.3.4" - minimatch "^3.0.2" - optimist "^0.6.1" - qjobs "^1.1.4" - range-parser "^1.2.0" - rimraf "^2.6.0" - safe-buffer "^5.0.1" - socket.io "2.0.4" - source-map "^0.6.1" - tmp "0.0.33" - useragent "^2.1.12" - -killable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" - -<<<<<<< HEAD -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^3.2.2: -======= -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: ->>>>>>> feature/power_limitations - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -<<<<<<< HEAD -kind-of@^5.0.0, kind-of@^5.0.2: -======= -kind-of@^5.0.0: ->>>>>>> feature/power_limitations - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - -labeled-stream-splicer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59" - dependencies: - inherits "^2.0.1" - isarray "~0.0.1" - stream-splicer "^2.0.0" -<<<<<<< HEAD - -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" -======= ->>>>>>> feature/power_limitations - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lazy-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - dependencies: - set-getter "^0.1.0" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -less-loader@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-4.0.5.tgz#ae155a7406cac6acd293d785587fcff0f478c4dd" - dependencies: - clone "^2.1.1" - loader-utils "^1.1.0" - pify "^2.3.0" - -less@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/less/-/less-2.7.2.tgz#368d6cc73e1fb03981183280918743c5dcf9b3df" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - mime "^1.2.11" - mkdirp "^0.5.0" - promise "^7.1.1" - request "^2.72.0" - source-map "^0.5.3" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lexical-scope@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4" - dependencies: - astw "^2.0.0" - -libbase64@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/libbase64/-/libbase64-0.1.0.tgz#62351a839563ac5ff5bd26f12f60e9830bb751e6" - -libmime@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/libmime/-/libmime-3.0.0.tgz#51a1a9e7448ecbd32cda54421675bb21bc093da6" - dependencies: - iconv-lite "0.4.15" - libbase64 "0.1.0" - libqp "1.1.0" - -libqp@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/libqp/-/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" - -license-webpack-plugin@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-1.0.1.tgz#abeb3ab168a9930f2fd57311951dc094aaf33e45" - dependencies: - ejs "^2.5.7" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -loader-runner@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" - -loader-utils@1.1.0, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - -loader-utils@^0.2.15, loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" - -lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - -lodash.memoize@~3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" - -lodash.mergewith@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" - -lodash.tail@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - -<<<<<<< HEAD -lodash@^4.0.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.0, lodash@~4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -log4js@^2.3.9: - version "2.5.2" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-2.5.2.tgz#234e9c688bc4aab3999bd4b149c85851a4e62faa" - dependencies: - circular-json "^0.5.1" - date-format "^1.2.0" - debug "^3.1.0" - semver "^5.3.0" - streamroller "^0.7.0" - optionalDependencies: - amqplib "^0.5.2" - axios "^0.15.3" - hipchat-notifier "^1.1.0" - loggly "^1.1.0" - mailgun-js "^0.7.0" - nodemailer "^2.5.0" - redis "^2.7.1" - slack-node "~0.2.0" - -loggly@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/loggly/-/loggly-1.1.1.tgz#0a0fc1d3fa3a5ec44fdc7b897beba2a4695cebee" - dependencies: -======= -lodash@^4.0.0, lodash@^4.11.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.0, lodash@~4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@^4.15.0: - version "4.17.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" - -log4js@^2.3.9: - version "2.5.3" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-2.5.3.tgz#38bb7bde5e9c1c181bd75e8bc128c5cd0409caf1" - dependencies: - circular-json "^0.5.1" - date-format "^1.2.0" - debug "^3.1.0" - semver "^5.3.0" - streamroller "^0.7.0" - optionalDependencies: - amqplib "^0.5.2" - axios "^0.15.3" - hipchat-notifier "^1.1.0" - loggly "^1.1.0" - mailgun-js "^0.7.0" - nodemailer "^2.5.0" - redis "^2.7.1" - slack-node "~0.2.0" - -loggly@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/loggly/-/loggly-1.1.1.tgz#0a0fc1d3fa3a5ec44fdc7b897beba2a4695cebee" - dependencies: ->>>>>>> feature/power_limitations - json-stringify-safe "5.0.x" - request "2.75.x" - timespan "2.3.x" - -loglevel@^1.4.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.5.0.tgz#3863984a2c326b986fbb965f378758a6dc8a4324" - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" - dependencies: - js-tokens "^3.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - -lru-cache@2.2.x: - version "2.2.4" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" - -lru-cache@^4.0.1, lru-cache@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@~2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.6.5.tgz#e56d6354148ede8d7707b58d143220fd08df0fd5" - -macaddress@^0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" - -magic-string@^0.22.3: - version "0.22.4" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.4.tgz#31039b4e40366395618c1d6cf8193c53917475ff" - dependencies: - vlq "^0.2.1" - -mailcomposer@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/mailcomposer/-/mailcomposer-4.0.1.tgz#0e1c44b2a07cf740ee17dc149ba009f19cadfeb4" - dependencies: - buildmail "4.0.1" - libmime "3.0.0" - -mailgun-js@^0.7.0: - version "0.7.15" - resolved "https://registry.yarnpkg.com/mailgun-js/-/mailgun-js-0.7.15.tgz#ee366a20dac64c3c15c03d6c1b3e0ed795252abb" - dependencies: - async "~2.1.2" - debug "~2.2.0" - form-data "~2.1.1" - inflection "~1.10.0" - is-stream "^1.1.0" - path-proxy "~1.0.0" - proxy-agent "~2.0.0" - q "~1.4.0" - tsscmp "~1.0.0" - -make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" - dependencies: - pify "^3.0.0" - -make-error@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - dependencies: - object-visit "^1.0.0" - -material-design-icons-iconfont@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/material-design-icons-iconfont/-/material-design-icons-iconfont-3.0.3.tgz#154a1084047d4e27237fa7f5a37e1075ceea6df2" - -math-expression-evaluator@^1.2.14: - version "1.2.17" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" - -md5.js@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - -memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.3.0, meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - -micromatch@^2.1.5, micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.1.4: -<<<<<<< HEAD - version "3.1.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.5.tgz#d05e168c206472dfbca985bfef4f57797b4cd4ba" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.0" - define-property "^1.0.0" - extend-shallow "^2.0.1" - extglob "^2.0.2" - fragment-cache "^0.2.1" - kind-of "^6.0.0" - nanomatch "^1.2.5" -======= - version "3.1.9" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" ->>>>>>> feature/power_limitations - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -miller-rabin@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -"mime-db@>= 1.29.0 < 2", mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" - -<<<<<<< HEAD -mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.7: -======= -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - -mime-types@^2.1.11, mime-types@~2.1.17, mime-types@~2.1.18: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - dependencies: - mime-db "~1.33.0" - -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: ->>>>>>> feature/power_limitations - version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" - dependencies: - mime-db "~1.30.0" - -mime@1.4.1, mime@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - -mime@^1.2.11, mime@^1.3.4: - version "1.4.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.0.tgz#69e9e0db51d44f2a3b56e48b7817d7d137f1a343" - -mime@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - -mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" - -minimalistic-assert@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - -mississippi@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.0.tgz#d201583eb12327e3c5c1642a404a9cacf94e34f5" - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^1.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: -<<<<<<< HEAD - version "1.3.0" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.0.tgz#47a8732ba97799457c8c1eca28f95132d7e8150a" -======= - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" ->>>>>>> feature/power_limitations - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -module-deps@^4.0.8: - version "4.1.1" - resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd" - dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.0" - defined "^1.0.0" - detective "^4.0.0" - duplexer2 "^0.1.2" - inherits "^2.0.1" - parents "^1.0.0" - readable-stream "^2.0.2" - resolve "^1.1.3" - stream-combiner2 "^1.1.1" - subarg "^1.0.0" - through2 "^2.0.0" - xtend "^4.0.0" - -moment@~2.18.0: - version "2.18.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - -multicast-dns@^6.0.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.1.1.tgz#6e7de86a570872ab17058adea7160bbeca814dde" - dependencies: - dns-packet "^1.0.1" - thunky "^0.1.0" - -mydaterangepicker@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/mydaterangepicker/-/mydaterangepicker-4.2.1.tgz#f063e4747016259b9ad882159efc1c7df09221cd" - -nan@^2.3.0, nan@^2.3.2: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" - -<<<<<<< HEAD -nanomatch@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.7.tgz#53cd4aa109ff68b7f869591fdc9d10daeeea3e79" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^1.0.0" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - is-odd "^1.0.0" - kind-of "^5.0.2" -======= -nanomatch@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-odd "^2.0.0" - is-windows "^1.0.2" - kind-of "^6.0.2" ->>>>>>> feature/power_limitations - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -ncname@1.0.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" - dependencies: - xml-char-classes "^1.0.0" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -<<<<<<< HEAD -======= -neo-async@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.0.tgz#76b1c823130cca26acfbaccc8fbaf0a2fa33b18f" - ->>>>>>> feature/power_limitations -netmask@~1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" - -ng2-charts@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ng2-charts/-/ng2-charts-1.6.0.tgz#108a2133ff62a8623895240fadbddbea2951f29d" - dependencies: - chart.js "^2.6.0" - -ng2-cookies@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/ng2-cookies/-/ng2-cookies-1.0.12.tgz#3f3e613e0137b0649b705c678074b4bd08149ccc" - -ngx-loading@^1.0.14: - version "1.0.14" - resolved "https://registry.yarnpkg.com/ngx-loading/-/ngx-loading-1.0.14.tgz#19758c33ea3fa9bb96dca1f40ca19d4d86b8042c" - -no-case@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.1.tgz#7aeba1c73a52184265554b7dc03baf720df80081" - dependencies: - lower-case "^1.1.1" - -node-dir@^0.1.10: - version "0.1.17" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" - dependencies: - minimatch "^3.0.2" - -node-forge@0.6.33: - version "0.6.33" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" - -node-gyp@^3.3.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - minimatch "^3.0.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "2" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - -node-libs-browser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" - dependencies: - assert "^1.1.1" - browserify-zlib "^0.1.4" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^1.0.0" - https-browserify "0.0.1" - os-browserify "^0.2.0" - path-browserify "0.0.0" - process "^0.11.0" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.0.5" - stream-browserify "^2.0.1" - stream-http "^2.3.1" - string_decoder "^0.10.25" - timers-browserify "^2.0.2" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" - -node-modules-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/node-modules-path/-/node-modules-path-1.0.1.tgz#40096b08ce7ad0ea14680863af449c7c75a5d1c8" - -node-pre-gyp@^0.6.36: - version "0.6.36" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" - dependencies: - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "^2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -node-sass@^4.7.2: - version "4.7.2" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.7.2.tgz#9366778ba1469eb01438a9e8592f4262bcb6794e" - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - lodash.mergewith "^4.6.0" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.3.2" - node-gyp "^3.3.1" - npmlog "^4.0.0" - request "~2.79.0" - sass-graph "^2.2.4" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -node-uuid@~1.4.7: - version "1.4.8" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" - -nodemailer-direct-transport@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz#e96fafb90358560947e569017d97e60738a50a86" - dependencies: - nodemailer-shared "1.1.0" - smtp-connection "2.12.0" - -nodemailer-fetch@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz#79c4908a1c0f5f375b73fe888da9828f6dc963a4" - -nodemailer-shared@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz#cf5994e2fd268d00f5cf0fa767a08169edb07ec0" - dependencies: - nodemailer-fetch "1.6.0" - -nodemailer-smtp-pool@2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz#2eb94d6cf85780b1b4725ce853b9cbd5e8da8c72" - dependencies: - nodemailer-shared "1.1.0" - nodemailer-wellknown "0.1.10" - smtp-connection "2.12.0" - -nodemailer-smtp-transport@2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz#03d71c76314f14ac7dbc7bf033a6a6d16d67fb77" - dependencies: - nodemailer-shared "1.1.0" - nodemailer-wellknown "0.1.10" - smtp-connection "2.12.0" - -nodemailer-wellknown@0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz#586db8101db30cb4438eb546737a41aad0cf13d5" - -nodemailer@^2.5.0: - version "2.7.2" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-2.7.2.tgz#f242e649aeeae39b6c7ed740ef7b061c404d30f9" - dependencies: - libmime "3.0.0" - mailcomposer "4.0.1" - nodemailer-direct-transport "3.3.2" - nodemailer-shared "1.1.0" - nodemailer-smtp-pool "2.8.2" - nodemailer-smtp-transport "2.7.2" - socks "1.1.9" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - -normalize-url@^1.4.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - dependencies: - path-key "^2.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" - dependencies: - boolbase "~1.0.0" - -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" - -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - dependencies: - isobject "^3.0.0" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - dependencies: - isobject "^3.0.1" - -obuf@^1.0.0, obuf@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" - -once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -opn@^5.1.0, opn@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" - dependencies: - is-wsl "^1.1.0" - -optimist@^0.6.1, optimist@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - -original@>=0.0.5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" - dependencies: - url-parse "1.0.x" - -os-browserify@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" - -os-browserify@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@0, osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - -p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -p-map@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.1.1.tgz#05f5e4ae97a068371bc2a5cc86bfbdbc19c4ae7a" - -pac-proxy-agent@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz#34a385dfdf61d2f0ecace08858c745d3e791fd4d" - dependencies: - agent-base "2" - debug "2" - extend "3" - get-uri "2" - http-proxy-agent "1" - https-proxy-agent "1" - pac-resolver "~2.0.0" - raw-body "2" - socks-proxy-agent "2" - -pac-resolver@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-2.0.0.tgz#99b88d2f193fbdeefc1c9a529c1f3260ab5277cd" - dependencies: - co "~3.0.6" - degenerator "~1.0.2" - ip "1.0.1" - netmask "~1.0.4" - thunkify "~2.1.1" - -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - -pako@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" - -parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - dependencies: - cyclist "~0.2.2" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - dependencies: - no-case "^2.2.0" - -parents@^1.0.0, parents@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" - dependencies: - path-platform "~0.11.15" - -parse-asn1@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - dependencies: - better-assert "~1.0.0" - -parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" - -parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - -path-browserify@0.0.0, path-browserify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-key@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-platform@~0.11.15: - version "0.11.15" - resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" - -path-proxy@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/path-proxy/-/path-proxy-1.0.0.tgz#18e8a36859fc9d2f1a53b48dee138543c020de5e" - dependencies: - inflection "~1.3.0" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - -pbkdf2@^3.0.3: - version "3.0.13" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.13.tgz#c37d295531e786b1da3e3eadc840426accb0ae25" - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - dependencies: - find-up "^2.1.0" - -portfinder@^1.0.9, portfinder@~1.0.12: - version "1.0.13" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" - dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - -postcss-calc@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" - dependencies: - postcss "^5.0.2" - postcss-message-helpers "^2.0.0" - reduce-css-calc "^1.2.6" - -postcss-colormin@^2.1.8: - version "2.2.2" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" - dependencies: - colormin "^1.0.5" - postcss "^5.0.13" - postcss-value-parser "^3.2.3" - -postcss-convert-values@^2.3.4: - version "2.6.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" - dependencies: - postcss "^5.0.11" - postcss-value-parser "^3.1.2" - -postcss-discard-comments@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" - dependencies: - postcss "^5.0.14" - -postcss-discard-duplicates@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" - dependencies: - postcss "^5.0.4" - -postcss-discard-empty@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" - dependencies: - postcss "^5.0.14" - -postcss-discard-overridden@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" - dependencies: - postcss "^5.0.16" - -postcss-discard-unused@^2.2.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" - dependencies: - postcss "^5.0.14" - uniqs "^2.0.0" - -postcss-filter-plugins@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" - dependencies: - postcss "^5.0.4" - uniqid "^4.0.0" - -postcss-import@^11.0.0: -<<<<<<< HEAD - version "11.0.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-11.0.0.tgz#a962e2df82d3bc5a6da6a386841747204f41ef5b" -======= - version "11.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-11.1.0.tgz#55c9362c9192994ec68865d224419df1db2981f0" ->>>>>>> feature/power_limitations - dependencies: - postcss "^6.0.1" - postcss-value-parser "^3.2.3" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-load-config@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" - dependencies: - cosmiconfig "^2.1.0" - object-assign "^4.1.0" - postcss-load-options "^1.2.0" - postcss-load-plugins "^2.3.0" - -postcss-load-options@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" - dependencies: - cosmiconfig "^2.1.0" - object-assign "^4.1.0" - -postcss-load-plugins@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" - dependencies: - cosmiconfig "^2.1.1" - object-assign "^4.1.0" - -postcss-loader@^2.0.10: -<<<<<<< HEAD - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.0.tgz#038c2d6d59753fef4667827fd3ae03f5dc5e6a7a" -======= - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.1.tgz#208935af3b1d65e1abb1a870a912dd12e7b36895" ->>>>>>> feature/power_limitations - dependencies: - loader-utils "^1.1.0" - postcss "^6.0.0" - postcss-load-config "^1.2.0" - schema-utils "^0.4.0" - -postcss-merge-idents@^2.1.5: - version "2.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" - dependencies: - has "^1.0.1" - postcss "^5.0.10" - postcss-value-parser "^3.1.1" - -postcss-merge-longhand@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" - dependencies: - postcss "^5.0.4" - -postcss-merge-rules@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" - dependencies: - browserslist "^1.5.2" - caniuse-api "^1.5.2" - postcss "^5.0.4" - postcss-selector-parser "^2.2.2" - vendors "^1.0.0" - -postcss-message-helpers@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" - -postcss-minify-font-values@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" - dependencies: - object-assign "^4.0.1" - postcss "^5.0.4" - postcss-value-parser "^3.0.2" - -postcss-minify-gradients@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" - dependencies: - postcss "^5.0.12" - postcss-value-parser "^3.3.0" - -postcss-minify-params@^1.0.4: - version "1.2.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" - dependencies: - alphanum-sort "^1.0.1" - postcss "^5.0.2" - postcss-value-parser "^3.0.2" - uniqs "^2.0.0" - -postcss-minify-selectors@^2.0.4: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" - dependencies: - alphanum-sort "^1.0.2" - has "^1.0.1" - postcss "^5.0.14" - postcss-selector-parser "^2.0.0" - -postcss-modules-extract-imports@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" - dependencies: - postcss "^6.0.1" - -postcss-modules-local-by-default@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-scope@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-values@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - -postcss-normalize-charset@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" - dependencies: - postcss "^5.0.5" - -postcss-normalize-url@^3.0.7: - version "3.0.8" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^1.4.0" - postcss "^5.0.14" - postcss-value-parser "^3.2.3" - -postcss-ordered-values@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" - dependencies: - postcss "^5.0.4" - postcss-value-parser "^3.0.1" - -postcss-reduce-idents@^2.2.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" - dependencies: - postcss "^5.0.4" - postcss-value-parser "^3.0.2" - -postcss-reduce-initial@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" - dependencies: - postcss "^5.0.4" - -postcss-reduce-transforms@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" - dependencies: - has "^1.0.1" - postcss "^5.0.8" - postcss-value-parser "^3.0.1" - -postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^2.1.1: - version "2.1.6" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" - dependencies: - is-svg "^2.0.0" - postcss "^5.0.14" - postcss-value-parser "^3.2.3" - svgo "^0.7.0" - -postcss-unique-selectors@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" - dependencies: - alphanum-sort "^1.0.1" - postcss "^5.0.4" - uniqs "^2.0.0" - -postcss-url@^7.1.2: - version "7.3.0" - resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-7.3.0.tgz#cf2f45e06743cf43cfea25309f81cbc003dc783f" - dependencies: - mime "^1.4.1" - minimatch "^3.0.4" - mkdirp "^0.5.0" - postcss "^6.0.1" - xxhashjs "^0.2.1" - -postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" - -postcss-zindex@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" - dependencies: - has "^1.0.1" - postcss "^5.0.4" - uniqs "^2.0.0" - -postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: - version "5.2.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" - dependencies: - chalk "^1.1.3" - js-base64 "^2.1.9" - source-map "^0.5.6" - supports-color "^3.2.3" - -<<<<<<< HEAD -postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.16: - version "6.0.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.17.tgz#e259a051ca513f81e9afd0c21f7f82eda50c65c5" -======= -postcss@^6.0.0: - version "6.0.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.14.tgz#5534c72114739e75d0afcf017db853099f562885" ->>>>>>> feature/power_limitations - dependencies: - chalk "^2.3.0" - source-map "^0.6.1" - supports-color "^5.1.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -postcss@^6.0.17: - version "6.0.19" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.19.tgz#76a78386f670b9d9494a655bf23ac012effd1555" - dependencies: - chalk "^2.3.1" - source-map "^0.6.1" - supports-color "^5.2.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-error@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -<<<<<<< HEAD -======= -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - ->>>>>>> feature/power_limitations -process@^0.11.0, process@~0.11.0: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - dependencies: - asap "~2.0.3" - -protractor@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.1.2.tgz#9b221741709a4c62d5cd53c6aadd54a71137e95f" - dependencies: - "@types/node" "^6.0.46" - "@types/q" "^0.0.32" - "@types/selenium-webdriver" "~2.53.39" - blocking-proxy "0.0.5" - chalk "^1.1.3" - glob "^7.0.3" - jasmine "^2.5.3" - jasminewd2 "^2.1.0" - optimist "~0.6.0" - q "1.4.1" - saucelabs "~1.3.0" - selenium-webdriver "3.0.1" - source-map-support "~0.4.0" - webdriver-js-extender "^1.0.0" - webdriver-manager "^12.0.6" - -proxy-addr@~2.0.2: -<<<<<<< HEAD - version "2.0.2" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.5.2" - -proxy-agent@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-2.0.0.tgz#57eb5347aa805d74ec681cb25649dba39c933499" - dependencies: -======= - version "2.0.3" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.6.0" - -proxy-agent@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-2.0.0.tgz#57eb5347aa805d74ec681cb25649dba39c933499" - dependencies: ->>>>>>> feature/power_limitations - agent-base "2" - debug "2" - extend "3" - http-proxy-agent "1" - https-proxy-agent "1" - lru-cache "~2.6.5" - pac-proxy-agent "1" - socks-proxy-agent "2" - -prr@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -public-encrypt@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - -pump@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.2.tgz#3b3ee6512f94f0e575538c17995f9f16990a5d51" - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.3.5" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.3.5.tgz#1b671c619940abcaeac0ad0e3a3c164be760993b" - dependencies: - duplexify "^3.1.2" - inherits "^2.0.1" - pump "^1.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@1.4.1, punycode@^1.2.4, punycode@^1.3.2, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -q@1.4.1, q@^1.1.2, q@^1.4.1, q@~1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" - -qjobs@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73" - -qs@6.4.0, qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -<<<<<<< HEAD -qs@6.5.1: -======= -qs@6.5.1, qs@~6.5.1: ->>>>>>> feature/power_limitations - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" - -qs@~6.2.0: - version "6.2.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" - -qs@~6.3.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0, querystring-es3@~0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -querystringify@0.0.x: - version "0.0.4" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" - -querystringify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" - -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -randombytes@^2.0.0, randombytes@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" - dependencies: - safe-buffer "^5.1.0" - -randombytes@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.0.3, range-parser@^1.2.0, range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -raw-body@2, raw-body@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" - dependencies: - bytes "3.0.0" - http-errors "1.6.2" - iconv-lite "0.4.19" - unpipe "1.0.0" - -raw-body@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.15" - unpipe "1.0.0" - -raw-loader@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" - -rc@^1.1.7: - version "1.2.1" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - dependencies: - pify "^2.3.0" - -read-only-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" - dependencies: - readable-stream "^2.0.2" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -"readable-stream@1 || 2", readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.6, readable-stream@^2.2.9, readable-stream@^2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@1.0: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@1.1.x, "readable-stream@1.x >=1.1.9": - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" -<<<<<<< HEAD - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@~2.0.0, readable-stream@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" -======= ->>>>>>> feature/power_limitations - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@2, readable-stream@^2.3.0, readable-stream@^2.3.3: - version "2.3.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readable-stream@~2.0.0, readable-stream@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redis-commands@^1.2.0: -<<<<<<< HEAD - version "1.3.1" - resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.3.1.tgz#81d826f45fa9c8b2011f4cd7a0fe597d241d442b" -======= - version "1.3.5" - resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.3.5.tgz#4495889414f1e886261180b1442e7295602d83a2" ->>>>>>> feature/power_limitations - -redis-parser@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b" - -redis@^2.7.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02" - dependencies: - double-ended-queue "^2.1.0-0" - redis-commands "^1.2.0" - redis-parser "^2.6.0" - -reduce-css-calc@^1.2.6: - version "1.3.0" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" - dependencies: - balanced-match "^0.4.2" - math-expression-evaluator "^1.2.14" - reduce-function-call "^1.0.1" - -reduce-function-call@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" - dependencies: - balanced-match "^0.4.2" - -reflect-metadata@^0.1.2: - version "0.1.10" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.10.tgz#b4f83704416acad89988c9b15635d47e03b9344a" - -regenerate@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" - -regenerator-runtime@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - -<<<<<<< HEAD -regex-not@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9" - dependencies: - extend-shallow "^2.0.1" -======= -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" ->>>>>>> feature/power_limitations - -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -renderkid@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.1.tgz#898cabfc8bede4b7b91135a3ffd323e58c0db319" - dependencies: - css-select "^1.1.0" - dom-converter "~0.1" - htmlparser2 "~3.3.0" - strip-ansi "^3.0.0" - utila "~0.3" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae" - -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -<<<<<<< HEAD -request@2, request@^2.0.0, request@^2.72.0, request@^2.74.0, request@^2.78.0, request@^2.81.0: -======= -request@2, request@^2.72.0, request@^2.78.0, request@^2.81.0: ->>>>>>> feature/power_limitations - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@2.75.x: - version "2.75.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - bl "~1.1.2" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.0.0" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - node-uuid "~1.4.7" - oauth-sign "~0.8.1" - qs "~6.2.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - -<<<<<<< HEAD -======= -request@^2.0.0, request@^2.74.0: - version "2.83.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - ->>>>>>> feature/power_limitations -request@~2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - -requestretry@^1.2.2: - version "1.13.0" - resolved "https://registry.yarnpkg.com/requestretry/-/requestretry-1.13.0.tgz#213ec1006eeb750e8b8ce54176283d15a8d55d94" - dependencies: - extend "^3.0.0" - lodash "^4.15.0" - request "^2.74.0" - when "^3.7.7" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-from-string@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -requires-port@1.0.x, requires-port@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - -<<<<<<< HEAD -resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.7, resolve@^1.3.2: -======= -resolve@^1.1.3, resolve@^1.1.4: - version "1.5.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" - dependencies: - path-parse "^1.0.5" - -resolve@^1.1.7, resolve@^1.3.2: ->>>>>>> feature/power_limitations - version "1.4.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" - dependencies: - path-parse "^1.0.5" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" - dependencies: - glob "^7.0.5" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" - dependencies: - hash-base "^2.0.0" - inherits "^2.0.1" - -roboto-fontface@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/roboto-fontface/-/roboto-fontface-0.8.0.tgz#031a83c8f79932801a57d83bf743f37250163499" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - dependencies: - aproba "^1.1.1" - -rw@1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - -rxjs-websockets@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/rxjs-websockets/-/rxjs-websockets-4.0.0.tgz#a8d06c74b8629a9f9d56450eda5c3177542c80f4" - -rxjs@^5.5.6: - version "5.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.6.tgz#e31fb96d6fd2ff1fd84bcea8ae9c02d007179c02" - dependencies: - symbol-observable "1.0.1" - -safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -<<<<<<< HEAD -======= -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - dependencies: - ret "~0.1.10" - ->>>>>>> feature/power_limitations -sass-graph@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^7.0.0" - -sass-loader@^6.0.6: -<<<<<<< HEAD - version "6.0.6" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.6.tgz#e9d5e6c1f155faa32a4b26d7a9b7107c225e40f9" -======= - version "6.0.7" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.7.tgz#dd2fdb3e7eeff4a53f35ba6ac408715488353d00" ->>>>>>> feature/power_limitations - dependencies: - clone-deep "^2.0.1" - loader-utils "^1.0.1" - lodash.tail "^4.1.1" - neo-async "^2.5.0" - pify "^3.0.0" - -saucelabs@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/saucelabs/-/saucelabs-1.3.0.tgz#d240e8009df7fa87306ec4578a69ba3b5c424fee" - dependencies: - https-proxy-agent "^1.0.0" - -sax@0.5.x: - version "0.5.8" - resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" - -sax@0.6.x: - version "0.6.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-0.6.1.tgz#563b19c7c1de892e09bfc4f2fc30e3c27f0952b9" - -sax@>=0.6.0, sax@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - dependencies: - ajv "^5.0.0" - -<<<<<<< HEAD -schema-utils@^0.4.0, schema-utils@^0.4.2: -======= -schema-utils@^0.4.0: - version "0.4.5" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -schema-utils@^0.4.2: ->>>>>>> feature/power_limitations - version "0.4.3" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.3.tgz#e2a594d3395834d5e15da22b48be13517859458e" - dependencies: - ajv "^5.0.0" - ajv-keywords "^2.1.0" - -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - -selenium-webdriver@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.0.1.tgz#a2dea5da4a97f6672e89e7ca7276cefa365147a7" - dependencies: - adm-zip "^0.4.7" - rimraf "^2.5.4" - tmp "0.0.30" - xml2js "^0.4.17" - -selenium-webdriver@^2.53.2: - version "2.53.3" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-2.53.3.tgz#d29ff5a957dff1a1b49dc457756e4e4bfbdce085" - dependencies: - adm-zip "0.4.4" - rimraf "^2.2.8" - tmp "0.0.24" - ws "^1.0.1" - xml2js "0.4.4" - -selfsigned@^1.9.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.1.tgz#bf8cb7b83256c4551e31347c6311778db99eec52" - dependencies: - node-forge "0.6.33" - -semver-dsl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0" - dependencies: - semver "^5.3.0" - -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -semver@~5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -send@0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" - dependencies: - debug "2.6.9" - depd "~1.1.1" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - -serialize-javascript@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.4.0.tgz#7c958514db6ac2443a8abc062dc9f7886a7f6005" - -serve-index@^1.7.2: - version "1.9.0" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.0.tgz#d2b280fc560d616ee81b48bf0fa82abed2485ce7" - dependencies: - accepts "~1.3.3" - batch "0.6.1" - debug "2.6.8" - escape-html "~1.0.3" - http-errors "~1.6.1" - mime-types "~2.1.15" - parseurl "~1.3.1" - -serve-static@1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - dependencies: - to-object-path "^0.3.0" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - -<<<<<<< HEAD -sha.js@^2.4.0, sha.js@^2.4.8, sha.js@~2.4.4: -======= -sha.js@^2.4.0, sha.js@^2.4.8: ->>>>>>> feature/power_limitations - version "2.4.8" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" - dependencies: - inherits "^2.0.1" - -sha.js@~2.4.4: - version "2.4.10" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.10.tgz#b1fde5cd7d11a5626638a07c604ab909cfa31f9b" - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" - dependencies: - is-extendable "^0.1.1" - kind-of "^5.0.0" - mixin-object "^2.0.1" - -shasum@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f" - dependencies: - json-stable-stringify "~0.0.0" - sha.js "~2.4.4" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - -shell-quote@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -silent-error@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/silent-error/-/silent-error-1.1.0.tgz#2209706f1c850a9f1d10d0d840918b46f26e1bc9" - dependencies: - debug "^2.2.0" - -slack-node@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/slack-node/-/slack-node-0.2.0.tgz#de4b8dddaa8b793f61dbd2938104fdabf37dfa30" - dependencies: - requestretry "^1.2.2" - -<<<<<<< HEAD -smart-buffer@^1.0.4: -======= -smart-buffer@^1.0.13, smart-buffer@^1.0.4: ->>>>>>> feature/power_limitations - version "1.1.15" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" - -smtp-connection@2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/smtp-connection/-/smtp-connection-2.12.0.tgz#d76ef9127cb23c2259edb1e8349c2e8d5e2d74c1" - dependencies: - httpntlm "1.6.1" - nodemailer-shared "1.1.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370" - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^2.0.0" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -<<<<<<< HEAD -======= -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" - dependencies: - hoek "4.x.x" - ->>>>>>> feature/power_limitations -socket.io-adapter@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" - -socket.io-client@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e" - dependencies: - backo2 "1.0.2" - base64-arraybuffer "0.1.5" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "~2.6.4" - engine.io-client "~3.1.0" - has-cors "1.1.0" - indexof "0.0.1" - object-component "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - socket.io-parser "~3.1.1" - to-array "0.1.4" - -socket.io-parser@~3.1.1: -<<<<<<< HEAD - version "3.1.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.2.tgz#dbc2282151fc4faebbe40aeedc0772eba619f7f2" - dependencies: - component-emitter "1.2.1" - debug "~2.6.4" -======= - version "3.1.3" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.3.tgz#ed2da5ee79f10955036e3da413bfd7f1e4d86c8e" - dependencies: - component-emitter "1.2.1" - debug "~3.1.0" ->>>>>>> feature/power_limitations - has-binary2 "~1.0.2" - isarray "2.0.1" - -socket.io@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014" - dependencies: - debug "~2.6.6" - engine.io "~3.1.0" - socket.io-adapter "~1.1.0" - socket.io-client "2.0.4" - socket.io-parser "~3.1.1" - -sockjs-client@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" - dependencies: - debug "^2.6.6" - eventsource "0.1.6" - faye-websocket "~0.11.0" - inherits "^2.0.1" - json3 "^3.3.2" - url-parse "^1.1.8" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -socks-proxy-agent@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz#86ebb07193258637870e13b7bd99f26c663df3d3" - dependencies: - agent-base "2" - extend "3" - socks "~1.1.5" - -<<<<<<< HEAD -socks@1.1.9, socks@~1.1.5: -======= -socks@1.1.9: ->>>>>>> feature/power_limitations - version "1.1.9" - resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.9.tgz#628d7e4d04912435445ac0b6e459376cb3e6d691" - dependencies: - ip "^1.1.2" - smart-buffer "^1.0.4" -<<<<<<< HEAD -======= - -socks@~1.1.5: - version "1.1.10" - resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" - dependencies: - ip "^1.1.4" - smart-buffer "^1.0.13" ->>>>>>> feature/power_limitations - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" - -source-list-map@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" - -source-map-resolve@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a" - dependencies: - atob "^2.0.0" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -<<<<<<< HEAD -source-map-support@^0.4.1, source-map-support@^0.4.2, source-map-support@~0.4.0: -======= -source-map-support@^0.4.1, source-map-support@~0.4.0: ->>>>>>> feature/power_limitations - version "0.4.17" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.17.tgz#6f2150553e6375375d0ccb3180502b78c18ba430" - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76" - dependencies: - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - -source-map@0.1.x: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - -source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3, source-map@~0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -source-map@^0.4.2, source-map@^0.4.4, source-map@~0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -spdy-transport@^2.0.18: - version "2.0.20" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d" - dependencies: - debug "^2.6.8" - detect-node "^2.0.3" - hpack.js "^2.1.6" - obuf "^1.1.1" - readable-stream "^2.2.9" - safe-buffer "^5.0.1" - wbuf "^1.7.2" - -spdy@^3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" - dependencies: - debug "^2.6.8" - handle-thing "^1.2.5" - http-deceiver "^1.2.7" - safe-buffer "^5.0.1" - select-hose "^2.0.0" - spdy-transport "^2.0.18" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.1.tgz#36be78320afe5801f6cea3ee78b6e5aab940ea0c" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -ssri@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.0.0.tgz#13c19390b606c821f2a10d02b351c1729b94d8cf" - dependencies: - safe-buffer "^5.1.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.3.1 < 2", statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -stdout-stream@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" - dependencies: - readable-stream "^2.0.1" - -stream-browserify@^2.0.0, stream-browserify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-combiner2@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" - dependencies: - duplexer2 "~0.1.0" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -<<<<<<< HEAD -stream-http@^2.0.0, stream-http@^2.3.1: -======= -stream-http@^2.0.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.0.tgz#fd86546dac9b1c91aff8fc5d287b98fafb41bc10" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.3" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-http@^2.3.1: ->>>>>>> feature/power_limitations - version "2.7.2" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.2.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - -stream-splicer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.2" - -streamroller@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-0.7.0.tgz#a1d1b7cf83d39afb0d63049a5acbf93493bdf64b" - dependencies: - date-format "^1.2.0" - debug "^3.1.0" - mkdirp "^0.5.1" - readable-stream "^2.3.0" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@^0.10.25, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0, string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - -stringstream@~0.0.4, stringstream@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -style-loader@^0.13.1: - version "0.13.2" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.2.tgz#74533384cf698c7104c7951150b49717adc2f3bb" - dependencies: - loader-utils "^1.0.2" - -stylus-loader@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-3.0.1.tgz#77f4b34fd030d25b2617bcf5513db5b0730c4089" - dependencies: - loader-utils "^1.0.2" - lodash.clonedeep "^4.5.0" - when "~3.6.x" - -stylus@^0.54.5: - version "0.54.5" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79" - dependencies: - css-parse "1.7.x" - debug "*" - glob "7.0.x" - mkdirp "0.5.x" - sax "0.5.x" - source-map "0.1.x" - -subarg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" - dependencies: - minimist "^1.1.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^3.1.2, supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - dependencies: - has-flag "^1.0.0" - -supports-color@^4.0.0, supports-color@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" - dependencies: - has-flag "^2.0.0" - -<<<<<<< HEAD -supports-color@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5" - dependencies: - has-flag "^2.0.0" -======= -supports-color@^5.1.0, supports-color@^5.2.0, supports-color@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0" - dependencies: - has-flag "^3.0.0" ->>>>>>> feature/power_limitations - -svgo@^0.7.0: - version "0.7.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" - dependencies: - coa "~1.0.1" - colors "~1.1.2" - csso "~2.3.1" - js-yaml "~3.7.0" - mkdirp "~0.5.1" - sax "~1.2.1" - whet.extend "~0.9.9" - -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - -syntax-error@^1.1.1: -<<<<<<< HEAD - version "1.3.0" - resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.3.0.tgz#1ed9266c4d40be75dc55bf9bb1cb77062bb96ca1" - dependencies: - acorn "^4.0.3" -======= - version "1.4.0" - resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.4.0.tgz#2d9d4ff5c064acb711594a3e3b95054ad51d907c" - dependencies: - acorn-node "^1.2.0" ->>>>>>> feature/power_limitations - -tapable@^0.2.7: - version "0.2.8" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" - -tar-pack@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar@^2.0.0, tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -"through@>=2.2.7 <3", through@X.X.X: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -thunkify@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" - -thunky@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" - -time-stamp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" - -timers-browserify@^1.0.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" - dependencies: - process "~0.11.0" - -timers-browserify@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" - dependencies: - setimmediate "^1.0.4" - -timespan@2.3.x: - version "2.3.0" - resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929" - -tmp@0.0.24: - version "0.0.24" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.24.tgz#d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12" - -tmp@0.0.30: - version "0.0.30" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" - dependencies: - os-tmpdir "~1.0.1" - -<<<<<<< HEAD -tmp@0.0.33, tmp@0.0.x: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" -======= -tmp@0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - dependencies: - os-tmpdir "~1.0.2" - -tmp@0.0.x: - version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" ->>>>>>> feature/power_limitations - dependencies: - os-tmpdir "~1.0.2" - -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1: -<<<<<<< HEAD - version "3.0.1" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae" - dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - regex-not "^1.0.0" -======= - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" ->>>>>>> feature/power_limitations - -toposort@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.3.tgz#f02cd8a74bd8be2fc0e98611c3bacb95a171869c" - -tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" - dependencies: - punycode "^1.4.1" - -tough-cookie@~2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" - dependencies: - punycode "^1.4.1" - -tree-kill@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.0.tgz#5846786237b4239014f05db156b643212d4c6f36" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - -"true-case-path@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62" - dependencies: - glob "^6.0.4" - -ts-node@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-4.1.0.tgz#36d9529c7b90bb993306c408cd07f7743de20712" - dependencies: - arrify "^1.0.0" - chalk "^2.3.0" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map-support "^0.5.0" - tsconfig "^7.0.0" - v8flags "^3.0.0" - yn "^2.0.0" - -tsconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" - dependencies: - "@types/strip-bom" "^3.0.0" - "@types/strip-json-comments" "0.0.30" - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - -<<<<<<< HEAD -tsickle@^0.26.0: - version "0.26.0" - resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.26.0.tgz#40b30a2dd6abcb33b182e37596674bd1cfe4039c" -======= -tsickle@^0.27.2: - version "0.27.2" - resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.27.2.tgz#f33d46d046f73dd5c155a37922e422816e878736" ->>>>>>> feature/power_limitations - dependencies: - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map "^0.6.0" - source-map-support "^0.5.0" - -tslib@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.7.1.tgz#bc8004164691923a79fe8378bbeb3da2017538ec" - -tslib@^1.8.0, tslib@^1.8.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" - -tslint@~5.9.1: - version "5.9.1" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.9.1.tgz#1255f87a3ff57eb0b0e1f0e610a8b4748046c9ae" - dependencies: - babel-code-frame "^6.22.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^3.2.0" - glob "^7.1.1" - js-yaml "^3.7.0" - minimatch "^3.0.4" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.8.0" - tsutils "^2.12.1" - -tsscmp@~1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97" - -tsutils@^2.12.1: -<<<<<<< HEAD - version "2.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.21.0.tgz#43466a2283a0abce64e2209bc732ad72f8a04fab" -======= - version "2.22.2" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.22.2.tgz#0b9f3d87aa3eb95bd32d26ce2b88aa329a657951" ->>>>>>> feature/power_limitations - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0, tty-browserify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - -tty-browserify@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-is@~1.6.15: - version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.15" - -<<<<<<< HEAD -typedarray@~0.0.5: -======= -typedarray@^0.0.6, typedarray@~0.0.5: ->>>>>>> feature/power_limitations - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -typescript@~2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d" - -typescript@~2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" - -uglify-es@^3.3.4: - version "3.3.9" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" - dependencies: - commander "~2.13.0" - source-map "~0.6.1" - -uglify-js@3.0.x: - version "3.0.28" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.28.tgz#96b8495f0272944787b5843a1679aa326640d5f7" - dependencies: - commander "~2.11.0" - source-map "~0.5.1" - -uglify-js@^2.6, uglify-js@^2.8.29: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -uglifyjs-webpack-plugin@^0.4.6: - version "0.4.6" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" - dependencies: - source-map "^0.5.6" - uglify-js "^2.8.29" - webpack-sources "^1.0.1" - -uglifyjs-webpack-plugin@^1.1.5: -<<<<<<< HEAD - version "1.1.8" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.8.tgz#1302fb9471a7daf3d0a5174da6d65f0f415e75ad" -======= - version "1.2.2" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.2.tgz#e7516d4367afdb715c3847841eb46f94c45ca2b9" ->>>>>>> feature/power_limitations - dependencies: - cacache "^10.0.1" - find-cache-dir "^1.0.0" - schema-utils "^0.4.2" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - uglify-es "^3.3.4" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - -umd@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" - -underscore@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - -uniqid@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1" - dependencies: - macaddress "^0.2.8" - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - -unique-filename@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -<<<<<<< HEAD -======= -upath@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d" - ->>>>>>> feature/power_limitations -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - -url-loader@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7" - dependencies: - loader-utils "^1.0.2" - mime "^1.4.1" - schema-utils "^0.3.0" - -url-parse@1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" - dependencies: - querystringify "0.0.x" - requires-port "1.0.x" - -url-parse@^1.1.8: - version "1.1.9" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" - dependencies: - querystringify "~1.0.0" - requires-port "1.0.x" - -url@^0.11.0, url@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" - dependencies: - define-property "^0.2.5" - isobject "^3.0.0" - lazy-cache "^2.0.2" - -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - -useragent@^2.1.12: - version "2.2.1" - resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.2.1.tgz#cf593ef4f2d175875e8bb658ea92e18a4fd06d8e" - dependencies: - lru-cache "2.2.x" - tmp "0.0.x" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -util@0.10.3, util@^0.10.3, util@~0.10.1: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - -utila@~0.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - -uuid@^3.0.0, uuid@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - -<<<<<<< HEAD -uws@~0.14.4: - version "0.14.5" - resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc" -======= -uuid@^3.0.1, uuid@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" - -uws@~9.14.0: - version "9.14.0" - resolved "https://registry.yarnpkg.com/uws/-/uws-9.14.0.tgz#fac8386befc33a7a3705cbd58dc47b430ca4dd95" ->>>>>>> feature/power_limitations - -v8flags@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.0.tgz#4be9604488e0c4123645def705b1848d16b8e01f" - dependencies: - user-home "^1.1.1" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -vary@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - -vendors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vlq@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1" - -vm-browserify@0.0.4, vm-browserify@~0.0.1: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" - -void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - -watchpack@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" - dependencies: - async "^2.1.2" - chokidar "^1.7.0" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" - dependencies: - minimalistic-assert "^1.0.0" - -web-animations-js@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/web-animations-js/-/web-animations-js-2.3.1.tgz#3a6d9bc15196377a90f8e2803fa5262165b04510" - -webdriver-js-extender@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/webdriver-js-extender/-/webdriver-js-extender-1.0.0.tgz#81c533a9e33d5bfb597b4e63e2cdb25b54777515" - dependencies: - "@types/selenium-webdriver" "^2.53.35" - selenium-webdriver "^2.53.2" - -webdriver-manager@^12.0.6: - version "12.0.6" - resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-12.0.6.tgz#3df1a481977010b4cbf8c9d85c7a577828c0e70b" - dependencies: - adm-zip "^0.4.7" - chalk "^1.1.1" - del "^2.2.0" - glob "^7.0.3" - ini "^1.3.4" - minimist "^1.2.0" - q "^1.4.1" - request "^2.78.0" - rimraf "^2.5.2" - semver "^5.3.0" - xml2js "^0.4.17" - -webpack-core@^0.6.8: - version "0.6.9" - resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" - dependencies: - source-list-map "~0.1.7" - source-map "~0.4.1" - -webpack-dev-middleware@1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" - dependencies: - memory-fs "~0.4.1" - mime "^1.5.0" - path-is-absolute "^1.0.0" - range-parser "^1.0.3" - time-stamp "^2.0.0" - -webpack-dev-middleware@~1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709" - dependencies: - memory-fs "~0.4.1" - mime "^1.3.4" - path-is-absolute "^1.0.0" - range-parser "^1.0.3" - time-stamp "^2.0.0" - -webpack-dev-server@~2.11.0: -<<<<<<< HEAD - version "2.11.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.11.1.tgz#6f9358a002db8403f016e336816f4485384e5ec0" -======= - version "2.11.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.11.2.tgz#1f4f4c78bf1895378f376815910812daf79a216f" ->>>>>>> feature/power_limitations - dependencies: - ansi-html "0.0.7" - array-includes "^3.0.3" - bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - connect-history-api-fallback "^1.3.0" - debug "^3.1.0" - del "^3.0.0" - express "^4.16.2" - html-entities "^1.2.0" - http-proxy-middleware "~0.17.4" - import-local "^1.0.0" - internal-ip "1.2.0" - ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" - selfsigned "^1.9.1" - serve-index "^1.7.2" - sockjs "0.3.19" - sockjs-client "1.1.4" - spdy "^3.4.1" - strip-ansi "^3.0.0" - supports-color "^5.1.0" - webpack-dev-middleware "1.12.2" - yargs "6.6.0" - -webpack-merge@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.0.tgz#6ad72223b3e0b837e531e4597c199f909361511e" - dependencies: - lodash "^4.17.4" - -webpack-sources@^1.0.0, webpack-sources@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" - dependencies: - source-list-map "^2.0.0" - source-map "~0.5.3" - -webpack-sources@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-subresource-integrity@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.0.1.tgz#1fc09d46497da66e46743a2a51d2cc385b9cb0ed" - dependencies: - webpack-core "^0.6.8" - -webpack@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.10.0.tgz#5291b875078cf2abf42bdd23afe3f8f96c17d725" - dependencies: - acorn "^5.0.0" - acorn-dynamic-import "^2.0.0" - ajv "^5.1.5" - ajv-keywords "^2.0.0" - async "^2.1.2" - enhanced-resolve "^3.4.0" - escope "^3.6.0" - interpret "^1.0.0" - json-loader "^0.5.4" - json5 "^0.5.1" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - mkdirp "~0.5.0" - node-libs-browser "^2.0.0" - source-map "^0.5.3" - supports-color "^4.2.1" - tapable "^0.2.7" - uglifyjs-webpack-plugin "^0.4.6" - watchpack "^1.4.0" - webpack-sources "^1.0.1" - yargs "^8.0.2" - -websocket-driver@>=0.5.1: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - dependencies: - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" - -when@^3.7.7: - version "3.7.8" - resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" - -when@~3.6.x: - version "3.6.4" - resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" - -whet.extend@~0.9.9: - version "0.9.9" - resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - -which@1, which@^1.2.1, which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -worker-farm@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.2.tgz#32b312e5dc3d5d45d79ef44acc2587491cd729ae" - dependencies: - errno "^0.1.4" - xtend "^4.0.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -ws@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -ws@~3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -xhr2@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.4.tgz#7f87658847716db5026323812f818cadab387a5f" - -xml-char-classes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" - -xml2js@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.4.tgz#3111010003008ae19240eba17497b57c729c555d" - dependencies: - sax "0.6.x" - xmlbuilder ">=1.0.0" - -xml2js@^0.4.17: - version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" - dependencies: - sax ">=0.6.0" - xmlbuilder "~9.0.1" - -xmlbuilder@>=1.0.0, xmlbuilder@~9.0.1: - version "9.0.4" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.4.tgz#519cb4ca686d005a8420d3496f3f0caeecca580f" - -xmlhttprequest-ssl@~1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" - -xmlhttprequest@1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - -xregexp@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -xxhashjs@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.1.tgz#9bbe9be896142976dfa34c061b2d068c43d30de0" - dependencies: - cuint latest - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - dependencies: - camelcase "^3.0.0" - -yargs-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" - dependencies: - camelcase "^3.0.0" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - dependencies: - camelcase "^4.1.0" - -yargs@6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" - -yargs@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^5.0.0" - -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - -yn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" - -zone.js@^0.8.19: - version "0.8.20" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.20.tgz#a218c48db09464b19ff6fc8f0d4bb5b1046e185d" From 613c73e721125cac8d5e7b0e366afa02f0fd1719 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 27 May 2018 12:58:51 +0200 Subject: [PATCH 06/50] Move OpenEMS version to common package --- cnf/release/index.xml | 5 ++--- cnf/release/index.xml.sha | 2 +- io.openems.common/bnd.bnd | 3 ++- .../src/io/openems/edge/application/EdgeApp.java | 6 ++---- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/cnf/release/index.xml b/cnf/release/index.xml index c89dffca14d..eb484bacd75 100644 --- a/cnf/release/index.xml +++ b/cnf/release/index.xml @@ -1,3 +1,2 @@ - - - \ No newline at end of file + + diff --git a/cnf/release/index.xml.sha b/cnf/release/index.xml.sha index 2771b155f61..3e709c649d3 100644 --- a/cnf/release/index.xml.sha +++ b/cnf/release/index.xml.sha @@ -1 +1 @@ -b699f269b1871b7ef42e54b5ceb7529989f9474ffa4217c696e5ad333ac8936c \ No newline at end of file +9bbaa49883ff2d7e96d6c1bc2cce86c02d3731d8a22d0e807f39e1a3285b8afc \ No newline at end of file diff --git a/io.openems.common/bnd.bnd b/io.openems.common/bnd.bnd index a884d83a5cc..9959ace11aa 100644 --- a/io.openems.common/bnd.bnd +++ b/io.openems.common/bnd.bnd @@ -9,7 +9,8 @@ Export-Package: \ io.openems.common.types,\ io.openems.common.api,\ io.openems.common.websocket,\ - io.openems.common.config + io.openems.common.config,\ + io.openems.common -includeresource: {readme.md} diff --git a/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java b/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java index 214b5e4a3cb..db459d3c63c 100644 --- a/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java +++ b/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java @@ -13,21 +13,19 @@ import org.slf4j.LoggerFactory; import info.faljse.SDNotify.SDNotify; +import io.openems.common.OpenemsConstants; @Component(immediate = true) public class EdgeApp { private final Logger log = LoggerFactory.getLogger(EdgeApp.class); - // public final static String OPENEMS_VERSION = "2018.7.0"; - public final static String OPENEMS_VERSION = "2018.8.0-SNAPSHOT"; - @Reference ConfigurationAdmin cm; @Activate void activate() { - log.info("OpenEMS version [" + OPENEMS_VERSION + "] started"); + log.info("OpenEMS version [" + OpenemsConstants.OPENEMS_VERSION + "] started"); Configuration config; try { From 6ac67dfd3333f2001c785db780e2e08b8ab2dfc8 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 27 May 2018 22:51:19 +0200 Subject: [PATCH 07/50] Clean Backend code + Add OpenEMS Edge Version handling - Remove 'provider' from names - Switch to ConfigAdmin - Add Edge version handling (from Channel '_meta/Version') - Merge OdooWriteWorker from old_master - Create global OPENEMS_VERSION constant - Improve startup log message --- cnf/central.xml | 45 ++-- cnf/release/index.xml | 2 +- cnf/release/index.xml.sha | 2 +- .../BackendApp.bndrun | 40 ++-- io.openems.backend.application/bnd.bnd | 3 +- io.openems.backend.application/readme.md | 3 + .../resources/.gitignore | 1 - .../resources/config.template.json | 2 - .../backend/application/BackendApp.java | 38 +++- .../.project | 23 -- .../impl/provider/package-info.java | 2 - .../.classpath | 0 .../.gitignore | 0 .../.project | 2 +- .../org.eclipse.core.resources.prefs | 4 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../bnd.bnd | 2 +- .../debug.bndrun | 0 ...nems.backend.edgewebsocket.provider.bndrun | 0 .../readme.md | 0 .../backend/edgewebsocket/impl/Config.java | 14 ++ .../edgewebsocket/impl}/EdgeWebsocket.java | 16 +- .../impl}/EdgeWebsocketServer.java | 6 +- .../backend/edgewebsocket/impl}/Utils.java | 2 +- .../edgewebsocket/impl}/package-info.java | 2 +- .../provider/ProviderImplTest.java | 2 +- .../edgewebsocket/provider/package-info.java | 0 .../io/openems/backend/metadata/api/Edge.java | 126 +++++++---- .../backend/metadata/api/MetadataService.java | 4 +- .../backend/metadata/api/OnSetInteger.java | 5 - .../backend/metadata/api/OnSetJsonObject.java | 7 - .../backend/metadata/api/OnSetString.java | 5 - .../metadata/api/OnSetZonedDateTime.java | 7 - .../.classpath | 0 .../.gitignore | 0 .../.project | 2 +- .../org.eclipse.core.resources.prefs | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../bnd.bnd | 0 .../debug.bndrun | 0 ...ems.backend.metadata.dummy.provider.bndrun | 0 .../readme.md | 0 .../openems/backend/metadata/dummy/Dummy.java | 17 +- .../backend/metadata/dummy/package-info.java | 0 .../metadata/dummy/provider/DummyTest.java | 0 .../.classpath | 0 .../.gitignore | 0 .../.project | 2 +- .../org.eclipse.core.resources.prefs | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../bnd.bnd | 0 .../debug.bndrun | 0 ...nems.backend.metadata.file.provider.bndrun | 0 .../readme.md | 0 .../metadata/file/provider/Config.java | 14 ++ .../backend/metadata/file/provider/File.java | 32 +-- .../metadata/file/provider/MyEdge.java | 4 +- .../metadata/file/provider/FileTest.java | 0 .../.classpath | 0 .../.gitignore | 0 .../.project | 2 +- .../org.eclipse.core.resources.prefs | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../bnd.bnd | 0 .../debug.bndrun | 0 .../io.openems.backend.metadata.odoo.bndrun | 0 .../readme.md | 0 .../openems/backend/metadata/odoo/Config.java | 23 ++ .../openems/backend/metadata/odoo/Domain.java | 0 .../openems/backend/metadata/odoo/Field.java | 1 + .../backend/metadata/odoo/FieldValue.java | 0 .../openems/backend/metadata/odoo/Odoo.java | 133 ++++++----- .../backend/metadata/odoo/OdooUtils.java | 27 ++- .../metadata/odoo/OdooWriteWorker.java | 98 +++++++++ .../backend/metadata/odoo/package-info.java | 0 .../metadata/odoo/ProviderImplTest.java | 0 .../.classpath | 0 .../.gitignore | 0 io.openems.backend.timedata.influx/.project | 23 ++ .../org.eclipse.core.resources.prefs | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../bnd.bnd | 4 +- .../debug.bndrun | 0 .../io.openems.backend.timedata.influx.bndrun | 0 .../readme.md | 0 .../backend/timedata/influx/Config.java | 29 +++ .../backend/timedata/influx/DeviceCache.java | 0 .../backend/timedata/influx/Influx.java | 33 +-- .../timedata/influx/InfluxdbUtils.java | 0 .../backend/timedata/influx/package-info.java | 0 .../timedata/influx/ProviderImplTest.java | 0 .../.project | 23 -- .../.classpath | 0 .../.gitignore | 0 io.openems.backend.uiwebsocket.impl/.project | 23 ++ .../org.eclipse.core.resources.prefs | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../bnd.bnd | 0 .../debug.bndrun | 0 ...s.backend.uiwebsocket.impl.provider.bndrun | 0 .../readme.md | 0 .../provider/BackendCurrentDataWorker.java | 0 .../uiwebsocket/impl/provider/Config.java | 14 ++ .../impl/provider/UiWebsocket.java | 12 +- .../impl/provider/UiWebsocketServer.java | 9 +- .../impl/provider/WebsocketData.java | 0 .../impl/provider/package-info.java | 0 .../impl/provider/ProviderImplTest.java | 0 .../io/openems/common/OpenemsConstants.java | 4 +- .../src/io/openems/common/config/Config.java | 52 ----- .../common/config/ConfigEnumeration.java | 26 --- .../io/openems/common/config/ConfigUtils.java | 87 -------- .../common/config/JsonPersistenceManager.java | 208 ------------------ .../common/websocket/DefaultMessages.java | 1 + io.openems.edge.application/EdgeApp.bndrun | 4 +- io.openems.edge.application/bnd.bnd | 8 +- .../io/openems/edge/application/EdgeApp.java | 8 +- .../org.eclipse.core.resources.prefs | 1 + io.openems.edge.common/bnd.bnd | 1 + .../api/websocket/WebsocketApiServer.java | 2 + 120 files changed, 588 insertions(+), 704 deletions(-) delete mode 100644 io.openems.backend.application/resources/.gitignore delete mode 100644 io.openems.backend.application/resources/config.template.json delete mode 100644 io.openems.backend.edgewebsocket.impl.provider/.project delete mode 100644 io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/package-info.java rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/.classpath (100%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/.gitignore (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.edgewebsocket.impl}/.project (89%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/.settings/org.eclipse.core.resources.prefs (66%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/.settings/org.eclipse.jdt.core.prefs (100%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/bnd.bnd (92%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/debug.bndrun (100%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/io.openems.backend.edgewebsocket.provider.bndrun (100%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/readme.md (100%) create mode 100644 io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Config.java rename {io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider => io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl}/EdgeWebsocket.java (88%) rename {io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider => io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl}/EdgeWebsocketServer.java (97%) rename {io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider => io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl}/Utils.java (89%) rename {io.openems.common/src/io/openems/common/config => io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl}/package-info.java (51%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java (82%) rename {io.openems.backend.edgewebsocket.impl.provider => io.openems.backend.edgewebsocket.impl}/test/io/openems/backend/edgewebsocket/provider/package-info.java (100%) delete mode 100644 io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetInteger.java delete mode 100644 io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetJsonObject.java delete mode 100644 io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetString.java delete mode 100644 io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetZonedDateTime.java rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/.classpath (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/.gitignore (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.dummy}/.project (89%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/.settings/org.eclipse.core.resources.prefs (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/.settings/org.eclipse.jdt.core.prefs (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/bnd.bnd (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/debug.bndrun (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/io.openems.backend.metadata.dummy.provider.bndrun (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/readme.md (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/src/io/openems/backend/metadata/dummy/Dummy.java (84%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/src/io/openems/backend/metadata/dummy/package-info.java (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.dummy}/test/io/openems/backend/metadata/dummy/provider/DummyTest.java (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/.classpath (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/.gitignore (100%) rename {io.openems.backend.metadata.dummy.provider => io.openems.backend.metadata.file}/.project (89%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/.settings/org.eclipse.core.resources.prefs (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/.settings/org.eclipse.jdt.core.prefs (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/bnd.bnd (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/debug.bndrun (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/io.openems.backend.metadata.file.provider.bndrun (100%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/readme.md (100%) create mode 100644 io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/Config.java rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/src/io/openems/backend/metadata/file/provider/File.java (87%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/src/io/openems/backend/metadata/file/provider/MyEdge.java (82%) rename {io.openems.backend.metadata.file.provider => io.openems.backend.metadata.file}/test/io/openems/backend/metadata/file/provider/FileTest.java (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/.classpath (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/.gitignore (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.metadata.odoo}/.project (89%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/.settings/org.eclipse.core.resources.prefs (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/.settings/org.eclipse.jdt.core.prefs (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/bnd.bnd (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/debug.bndrun (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/io.openems.backend.metadata.odoo.bndrun (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/readme.md (100%) create mode 100644 io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Config.java rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/src/io/openems/backend/metadata/odoo/Domain.java (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/src/io/openems/backend/metadata/odoo/Field.java (92%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/src/io/openems/backend/metadata/odoo/FieldValue.java (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/src/io/openems/backend/metadata/odoo/Odoo.java (72%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/src/io/openems/backend/metadata/odoo/OdooUtils.java (94%) create mode 100644 io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooWriteWorker.java rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/src/io/openems/backend/metadata/odoo/package-info.java (100%) rename {io.openems.backend.metadata.odoo.provider => io.openems.backend.metadata.odoo}/test/io/openems/backend/metadata/odoo/ProviderImplTest.java (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/.classpath (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/.gitignore (100%) create mode 100644 io.openems.backend.timedata.influx/.project rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/.settings/org.eclipse.core.resources.prefs (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/.settings/org.eclipse.jdt.core.prefs (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/bnd.bnd (89%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/debug.bndrun (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/io.openems.backend.timedata.influx.bndrun (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/readme.md (100%) create mode 100644 io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/Config.java rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/src/io/openems/backend/timedata/influx/DeviceCache.java (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/src/io/openems/backend/timedata/influx/Influx.java (93%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/src/io/openems/backend/timedata/influx/InfluxdbUtils.java (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/src/io/openems/backend/timedata/influx/package-info.java (100%) rename {io.openems.backend.timedata.influx.provider => io.openems.backend.timedata.influx}/test/io/openems/backend/timedata/influx/ProviderImplTest.java (100%) delete mode 100644 io.openems.backend.uiwebsocket.impl.provider/.project rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/.classpath (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/.gitignore (100%) create mode 100644 io.openems.backend.uiwebsocket.impl/.project rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/.settings/org.eclipse.core.resources.prefs (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/.settings/org.eclipse.jdt.core.prefs (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/bnd.bnd (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/debug.bndrun (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/io.openems.backend.uiwebsocket.impl.provider.bndrun (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/readme.md (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/src/io/openems/backend/uiwebsocket/impl/provider/BackendCurrentDataWorker.java (100%) create mode 100644 io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/Config.java rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocket.java (89%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java (97%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/src/io/openems/backend/uiwebsocket/impl/provider/package-info.java (100%) rename {io.openems.backend.uiwebsocket.impl.provider => io.openems.backend.uiwebsocket.impl}/test/io/openems/backend/uiwebsocket/impl/provider/ProviderImplTest.java (100%) delete mode 100644 io.openems.common/src/io/openems/common/config/Config.java delete mode 100644 io.openems.common/src/io/openems/common/config/ConfigEnumeration.java delete mode 100644 io.openems.common/src/io/openems/common/config/ConfigUtils.java delete mode 100644 io.openems.common/src/io/openems/common/config/JsonPersistenceManager.java diff --git a/cnf/central.xml b/cnf/central.xml index 327882e2d5c..e12207ed5a0 100644 --- a/cnf/central.xml +++ b/cnf/central.xml @@ -69,36 +69,21 @@ org.apache.felix.gogo.shell 1.0.0 - - org.apache.servicemix.bundles - org.apache.servicemix.bundles.influxdb-java - 2.3_1 - - - org.apache.servicemix.bundles - org.apache.servicemix.bundles.okhttp - 2.7.5_1 - - - org.apache.servicemix.bundles - org.apache.servicemix.bundles.okhttp - 3.10.0_2 - - - org.apache.servicemix.bundles - org.apache.servicemix.bundles.okio - 1.13.0_1 - - - org.apache.servicemix.bundles - org.apache.servicemix.bundles.retrofit - 1.9.0_1 - - - org.apache.servicemix.bundles - org.apache.servicemix.bundles.ws-commons-util - 1.0.2_2 - + + org.apache.servicemix.bundles + org.apache.servicemix.bundles.okhttp + 3.10.0_2 + + + org.apache.servicemix.bundles + org.apache.servicemix.bundles.okio + 1.13.0_1 + + + org.apache.servicemix.bundles + org.apache.servicemix.bundles.ws-commons-util + 1.0.2_2 + org.apache.servicemix.bundles org.apache.servicemix.bundles.xmlrpc-client diff --git a/cnf/release/index.xml b/cnf/release/index.xml index eb484bacd75..66f4db8fa48 100644 --- a/cnf/release/index.xml +++ b/cnf/release/index.xml @@ -1,2 +1,2 @@ - + diff --git a/cnf/release/index.xml.sha b/cnf/release/index.xml.sha index 3e709c649d3..c9fe49626b3 100644 --- a/cnf/release/index.xml.sha +++ b/cnf/release/index.xml.sha @@ -1 +1 @@ -9bbaa49883ff2d7e96d6c1bc2cce86c02d3731d8a22d0e807f39e1a3285b8afc \ No newline at end of file +7870f9fe95d85770c7eb2029271365dc5a602fe254f6449152d4d4ab0fc3395f \ No newline at end of file diff --git a/io.openems.backend.application/BackendApp.bndrun b/io.openems.backend.application/BackendApp.bndrun index 05952964123..77b9945f678 100644 --- a/io.openems.backend.application/BackendApp.bndrun +++ b/io.openems.backend.application/BackendApp.bndrun @@ -11,12 +11,14 @@ JPM-Command: openems-backend osgi.identity;filter:='(osgi.identity=io.openems.backend.application)',\ osgi.identity;filter:='(osgi.identity=org.ops4j.pax.logging.pax-logging-service)',\ osgi.identity;filter:='(osgi.identity=org.ops4j.pax.logging.pax-logging-api)',\ - osgi.identity;filter:='(osgi.identity=io.openems.backend.edgewebsocket.impl.provider)',\ - osgi.identity;filter:='(osgi.identity=io.openems.backend.metadata.odoo.provider)',\ - osgi.identity;filter:='(osgi.identity=io.openems.backend.timedata.influx.provider)',\ - osgi.identity;filter:='(osgi.identity=io.openems.backend.uiwebsocket.impl.provider)' + bnd.identity;id='io.openems.backend.edgewebsocket.impl',\ + bnd.identity;id='io.openems.backend.metadata.odoo',\ + bnd.identity;id='io.openems.backend.timedata.influx',\ + bnd.identity;id='io.openems.backend.uiwebsocket.impl',\ + bnd.identity;id='org.apache.felix.webconsole',\ + bnd.identity;id='osgi.enroute.webconsole.xray.provider' -runproperties: \ - configFile=./resources/config.json,\ + felix.cm.dir=c:/openems-backend-config,\ org.ops4j.pax.logging.service.frameworkEventsLogLevel="DISABLED" -runfw: org.eclipse.osgi;version='[3.10.100.v20150529-1857,3.10.100.v20150529-1857]' @@ -34,16 +36,28 @@ JPM-Command: openems-backend org.osgi.service.metatype;version='[1.3.0,1.3.1)',\ io.openems.wrapper.websocket;version=snapshot,\ com.google.gson;version='[2.8.2,2.8.3)',\ - io.openems.backend.metadata.odoo.provider;version=snapshot,\ - io.openems.backend.edgewebsocket.impl.provider;version=snapshot,\ org.eclipse.equinox.event;version='[1.3.100,1.3.101)',\ org.osgi.service.event;version='[1.3.1,1.3.2)',\ - io.openems.backend.uiwebsocket.impl.provider;version=snapshot,\ org.apache.servicemix.bundles.ws-commons-util;version='[1.0.2,1.0.3)',\ org.apache.servicemix.bundles.xmlrpc-client;version='[3.1.3,3.1.4)',\ - io.openems.backend.timedata.influx.provider;version=snapshot,\ - com.google.guava;version='[19.0.0,19.0.1)',\ org.apache.servicemix.bundles.okio;version='[1.13.0,1.13.1)',\ - org.apache.servicemix.bundles.influxdb-java;version='[2.3.0,2.3.1)',\ - org.apache.servicemix.bundles.okhttp;version='[2.7.5,2.7.6)',\ - org.apache.servicemix.bundles.retrofit;version='[1.9.0,1.9.1)' \ No newline at end of file + io.openems.wrapper.influxdb-java;version=snapshot,\ + io.openems.wrapper.moshi;version=snapshot,\ + io.openems.wrapper.retrofit2;version=snapshot,\ + io.openems.wrapper.retrofit2-converter-moshi;version=snapshot,\ + org.apache.servicemix.bundles.okhttp;version='[3.10.0,3.10.1)',\ + io.openems.backend.edgewebsocket.impl;version=snapshot,\ + io.openems.backend.metadata.odoo;version=snapshot,\ + io.openems.backend.timedata.influx;version=snapshot,\ + io.openems.backend.uiwebsocket.impl;version=snapshot,\ + json;version='[20160212.0.0,20160212.0.1)',\ + org.apache.commons.fileupload;version='[1.3.2,1.3.3)',\ + org.apache.commons.io;version='[2.5.0,2.5.1)',\ + org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\ + org.apache.felix.webconsole;version='[4.2.16,4.2.17)',\ + org.apache.felix.http.jetty;version='[3.2.0,3.2.1)',\ + osgi.enroute.bostock.d3.webresource;version='[3.5.6,3.5.7)',\ + osgi.enroute.executor.simple.provider;version='[2.1.0,2.1.1)',\ + osgi.enroute.web.simple.provider;version='[2.1.0,2.1.1)',\ + osgi.enroute.webconsole.xray.provider;version='[2.1.0,2.1.1)',\ + com.google.guava;version='[23.6.0,23.6.1)' \ No newline at end of file diff --git a/io.openems.backend.application/bnd.bnd b/io.openems.backend.application/bnd.bnd index 819b1362617..c5826ab62a6 100644 --- a/io.openems.backend.application/bnd.bnd +++ b/io.openems.backend.application/bnd.bnd @@ -15,7 +15,8 @@ Private-Package: \ io.openems.backend.edgewebsocket.api;version=latest,\ io.openems.backend.uiwebsocket.api;version=latest,\ io.openems.wrapper.websocket;version=latest,\ - io.openems.backend.common;version=latest + io.openems.backend.common;version=latest,\ + com.google.guava -testpath: \ osgi.enroute.junit.wrapper;version=4.12, \ diff --git a/io.openems.backend.application/readme.md b/io.openems.backend.application/readme.md index 7d615385d9a..c7dca82e2d6 100644 --- a/io.openems.backend.application/readme.md +++ b/io.openems.backend.application/readme.md @@ -6,3 +6,6 @@ ${Bundle-Description} ## References +Run on Linux: + +java -Dfelix.cm.dir=/etc/openems/ -jar openems-backend.jar \ No newline at end of file diff --git a/io.openems.backend.application/resources/.gitignore b/io.openems.backend.application/resources/.gitignore deleted file mode 100644 index 0cffcb348ff..00000000000 --- a/io.openems.backend.application/resources/.gitignore +++ /dev/null @@ -1 +0,0 @@ -config.json \ No newline at end of file diff --git a/io.openems.backend.application/resources/config.template.json b/io.openems.backend.application/resources/config.template.json deleted file mode 100644 index 2c63c085104..00000000000 --- a/io.openems.backend.application/resources/config.template.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/io.openems.backend.application/src/io/openems/backend/application/BackendApp.java b/io.openems.backend.application/src/io/openems/backend/application/BackendApp.java index 8ed2fe12bd6..095250a8b9e 100644 --- a/io.openems.backend.application/src/io/openems/backend/application/BackendApp.java +++ b/io.openems.backend.application/src/io/openems/backend/application/BackendApp.java @@ -1,24 +1,58 @@ package io.openems.backend.application; +import java.io.IOException; +import java.util.Hashtable; + +import org.osgi.service.cm.Configuration; +import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.base.Strings; + +import io.openems.common.OpenemsConstants; + @Component() public class BackendApp { private final Logger log = LoggerFactory.getLogger(BackendApp.class); + + @Reference + ConfigurationAdmin cm; @Activate void activate() { - log.debug("Activate BackendApp"); + String message = "OpenEMS Backend version [" + OpenemsConstants.OPENEMS_VERSION + "] started"; + String line = Strings.repeat("=", message.length()); + log.info(line); + log.info(message); + log.info(line); + + Configuration config; + try { + config = cm.getConfiguration("org.ops4j.pax.logging", null); + Hashtable log4j = new Hashtable<>(); + log4j.put("log4j.rootLogger", "INFO, CONSOLE, osgi:*"); + log4j.put("log4j.appender.CONSOLE", "org.apache.log4j.ConsoleAppender"); + log4j.put("log4j.appender.CONSOLE.layout", "org.apache.log4j.PatternLayout"); + log4j.put("log4j.appender.CONSOLE.layout.ConversionPattern", "%d{ISO8601} [%-8.8t] %-5p [%-30.30c] %m%n"); + // set minimum log levels for some verbose packages + log4j.put("log4j.logger.org.eclipse.osgi", "WARN"); + log4j.put("log4j.logger.org.apache.felix.configadmin", "INFO"); + log4j.put("log4j.logger.sun.net.www.protocol.http.HttpURLConnection", "INFO"); + config.update(log4j); + } catch (IOException | SecurityException e) { + e.printStackTrace(); + } } @Deactivate void deactivate() { - log.debug("Deactivate BackendApp"); + log.info("Deactivate BackendApp"); } } diff --git a/io.openems.backend.edgewebsocket.impl.provider/.project b/io.openems.backend.edgewebsocket.impl.provider/.project deleted file mode 100644 index 80b498441e3..00000000000 --- a/io.openems.backend.edgewebsocket.impl.provider/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - io.openems.backend.edgewebsocket.impl.provider - - - - - - org.eclipse.jdt.core.javabuilder - - - - - bndtools.core.bndbuilder - - - - - - org.eclipse.jdt.core.javanature - bndtools.core.bndnature - - diff --git a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/package-info.java b/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/package-info.java deleted file mode 100644 index 1eb73947096..00000000000 --- a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -@org.osgi.annotation.versioning.Version("1.0.0") -package io.openems.backend.edgewebsocket.impl.provider; diff --git a/io.openems.backend.edgewebsocket.impl.provider/.classpath b/io.openems.backend.edgewebsocket.impl/.classpath similarity index 100% rename from io.openems.backend.edgewebsocket.impl.provider/.classpath rename to io.openems.backend.edgewebsocket.impl/.classpath diff --git a/io.openems.backend.edgewebsocket.impl.provider/.gitignore b/io.openems.backend.edgewebsocket.impl/.gitignore similarity index 100% rename from io.openems.backend.edgewebsocket.impl.provider/.gitignore rename to io.openems.backend.edgewebsocket.impl/.gitignore diff --git a/io.openems.backend.metadata.file.provider/.project b/io.openems.backend.edgewebsocket.impl/.project similarity index 89% rename from io.openems.backend.metadata.file.provider/.project rename to io.openems.backend.edgewebsocket.impl/.project index a6bf4271e34..5dae714bea7 100644 --- a/io.openems.backend.metadata.file.provider/.project +++ b/io.openems.backend.edgewebsocket.impl/.project @@ -1,6 +1,6 @@ - io.openems.backend.metadata.file.provider + io.openems.backend.edgewebsocket.impl diff --git a/io.openems.backend.edgewebsocket.impl.provider/.settings/org.eclipse.core.resources.prefs b/io.openems.backend.edgewebsocket.impl/.settings/org.eclipse.core.resources.prefs similarity index 66% rename from io.openems.backend.edgewebsocket.impl.provider/.settings/org.eclipse.core.resources.prefs rename to io.openems.backend.edgewebsocket.impl/.settings/org.eclipse.core.resources.prefs index 79c800857e6..4fe496d93c5 100644 --- a/io.openems.backend.edgewebsocket.impl.provider/.settings/org.eclipse.core.resources.prefs +++ b/io.openems.backend.edgewebsocket.impl/.settings/org.eclipse.core.resources.prefs @@ -1,6 +1,6 @@ eclipse.preferences.version=1 -encoding//src/io/openems/backend/edgewebsocket/impl/provider/EdgeWebsocket.java=UTF-8 -encoding//src/io/openems/backend/edgewebsocket/impl/provider/package-info.java=UTF-8 +encoding//src/io/openems/backend/edgewebsocket/impl/EdgeWebsocket.java=UTF-8 +encoding//src/io/openems/backend/edgewebsocket/impl/package-info.java=UTF-8 encoding//test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java=UTF-8 encoding//test/io/openems/backend/edgewebsocket/provider/package-info.java=UTF-8 encoding/bnd.bnd=UTF-8 diff --git a/io.openems.backend.edgewebsocket.impl.provider/.settings/org.eclipse.jdt.core.prefs b/io.openems.backend.edgewebsocket.impl/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from io.openems.backend.edgewebsocket.impl.provider/.settings/org.eclipse.jdt.core.prefs rename to io.openems.backend.edgewebsocket.impl/.settings/org.eclipse.jdt.core.prefs diff --git a/io.openems.backend.edgewebsocket.impl.provider/bnd.bnd b/io.openems.backend.edgewebsocket.impl/bnd.bnd similarity index 92% rename from io.openems.backend.edgewebsocket.impl.provider/bnd.bnd rename to io.openems.backend.edgewebsocket.impl/bnd.bnd index 61891f3ad16..be1db3aa3ba 100644 --- a/io.openems.backend.edgewebsocket.impl.provider/bnd.bnd +++ b/io.openems.backend.edgewebsocket.impl/bnd.bnd @@ -3,7 +3,7 @@ Bundle-Vendor: FENECON GmbH Bundle-License: https://opensource.org/licenses/EPL-2.0 Bundle-Version: 1.0.0.${tstamp} Export-Package: io.openems.backend.edgewebsocket.api -Private-Package: io.openems.backend.edgewebsocket.impl.provider +Private-Package: io.openems.backend.edgewebsocket.impl -includeresource: {readme.md} diff --git a/io.openems.backend.edgewebsocket.impl.provider/debug.bndrun b/io.openems.backend.edgewebsocket.impl/debug.bndrun similarity index 100% rename from io.openems.backend.edgewebsocket.impl.provider/debug.bndrun rename to io.openems.backend.edgewebsocket.impl/debug.bndrun diff --git a/io.openems.backend.edgewebsocket.impl.provider/io.openems.backend.edgewebsocket.provider.bndrun b/io.openems.backend.edgewebsocket.impl/io.openems.backend.edgewebsocket.provider.bndrun similarity index 100% rename from io.openems.backend.edgewebsocket.impl.provider/io.openems.backend.edgewebsocket.provider.bndrun rename to io.openems.backend.edgewebsocket.impl/io.openems.backend.edgewebsocket.provider.bndrun diff --git a/io.openems.backend.edgewebsocket.impl.provider/readme.md b/io.openems.backend.edgewebsocket.impl/readme.md similarity index 100% rename from io.openems.backend.edgewebsocket.impl.provider/readme.md rename to io.openems.backend.edgewebsocket.impl/readme.md diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Config.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Config.java new file mode 100644 index 00000000000..6bb14f4fc99 --- /dev/null +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Config.java @@ -0,0 +1,14 @@ +package io.openems.backend.edgewebsocket.impl; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition( // + name = "EdgeWebsocket", // + description = "Configures the Websockets to OpenEMS Edge") +@interface Config { + @AttributeDefinition(name = "Port", description = "The port of the websocket server.") + int port(); + + String webconsole_configurationFactory_nameHint() default "EdgeWebsocket"; +} diff --git a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/EdgeWebsocket.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocket.java similarity index 88% rename from io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/EdgeWebsocket.java rename to io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocket.java index 5e6bd01bb6a..6926d3623e2 100644 --- a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/EdgeWebsocket.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocket.java @@ -1,4 +1,4 @@ -package io.openems.backend.edgewebsocket.impl.provider; +package io.openems.backend.edgewebsocket.impl; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; @@ -9,7 +9,6 @@ import org.osgi.service.component.annotations.ReferencePolicy; import org.osgi.service.event.EventAdmin; import org.osgi.service.metatype.annotations.Designate; -import org.osgi.service.metatype.annotations.ObjectClassDefinition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,7 +20,7 @@ import io.openems.backend.uiwebsocket.api.UiWebsocketService; import io.openems.common.exceptions.OpenemsException; -@Designate(ocd = EdgeWebsocket.Config.class, factory = false) +@Designate(ocd = Config.class, factory = false) @Component(name = "EdgeWebsocket", configurationPolicy = ConfigurationPolicy.REQUIRE, immediate = true) public class EdgeWebsocket implements EdgeWebsocketService { @@ -35,20 +34,15 @@ public class EdgeWebsocket implements EdgeWebsocketService { @Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC) protected volatile UiWebsocketService uiWebsocketService; - @Reference + @Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC) protected volatile TimedataService timedataService; @Reference protected EventAdmin eventAdmin; - @ObjectClassDefinition - @interface Config { - int port(); - } - @Activate void activate(Config config) { - log.debug("Activate EdgeWebsocket [port=" + config.port() + "]"); + log.info("Activate EdgeWebsocket [port=" + config.port() + "]"); this.stopServer(); this.startServer(config.port()); @@ -56,7 +50,7 @@ void activate(Config config) { @Deactivate void deactivate() { - log.debug("Deactivate EdgeWebsocket"); + log.info("Deactivate EdgeWebsocket"); this.stopServer(); } diff --git a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/EdgeWebsocketServer.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java similarity index 97% rename from io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/EdgeWebsocketServer.java rename to io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java index 6c0312a6796..150ddfc8d9a 100644 --- a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/EdgeWebsocketServer.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java @@ -1,4 +1,4 @@ -package io.openems.backend.edgewebsocket.impl.provider; +package io.openems.backend.edgewebsocket.impl; import java.util.HashMap; import java.util.Map; @@ -252,6 +252,10 @@ private void timedata(int[] edgeIds, JsonObject jTimedata) { String ipv4 = JsonUtils.getAsPrimitive(jChannels, "system0/PrimaryIpAddress").getAsString(); edge.setIpv4(ipv4); } + if (jChannels.has("_meta/Version")) { + String version = JsonUtils.getAsPrimitive(jChannels, "_meta/Version").getAsString(); + edge.setVersion(version); + } } catch (OpenemsException e) { log.error("Edgde [" + edge.getName() + "] error: " + e.getMessage()); } diff --git a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/Utils.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java similarity index 89% rename from io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/Utils.java rename to io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java index 513323a1a2e..0a0574fdf9e 100644 --- a/io.openems.backend.edgewebsocket.impl.provider/src/io/openems/backend/edgewebsocket/impl/provider/Utils.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java @@ -1,4 +1,4 @@ -package io.openems.backend.edgewebsocket.impl.provider; +package io.openems.backend.edgewebsocket.impl; import java.util.Optional; diff --git a/io.openems.common/src/io/openems/common/config/package-info.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/package-info.java similarity index 51% rename from io.openems.common/src/io/openems/common/config/package-info.java rename to io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/package-info.java index 8e1f225ce98..3f1b5de5031 100644 --- a/io.openems.common/src/io/openems/common/config/package-info.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/package-info.java @@ -1,2 +1,2 @@ @org.osgi.annotation.versioning.Version("1.0.0") -package io.openems.common.config; \ No newline at end of file +package io.openems.backend.edgewebsocket.impl; diff --git a/io.openems.backend.edgewebsocket.impl.provider/test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java b/io.openems.backend.edgewebsocket.impl/test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java similarity index 82% rename from io.openems.backend.edgewebsocket.impl.provider/test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java rename to io.openems.backend.edgewebsocket.impl/test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java index b6356b50b04..1554c8b9c78 100644 --- a/io.openems.backend.edgewebsocket.impl.provider/test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java +++ b/io.openems.backend.edgewebsocket.impl/test/io/openems/backend/edgewebsocket/provider/ProviderImplTest.java @@ -4,7 +4,7 @@ import org.junit.Test; -import io.openems.backend.edgewebsocket.impl.provider.EdgeWebsocket; +import io.openems.backend.edgewebsocket.impl.EdgeWebsocket; /* * Example JUNit test case diff --git a/io.openems.backend.edgewebsocket.impl.provider/test/io/openems/backend/edgewebsocket/provider/package-info.java b/io.openems.backend.edgewebsocket.impl/test/io/openems/backend/edgewebsocket/provider/package-info.java similarity index 100% rename from io.openems.backend.edgewebsocket.impl.provider/test/io/openems/backend/edgewebsocket/provider/package-info.java rename to io.openems.backend.edgewebsocket.impl/test/io/openems/backend/edgewebsocket/provider/package-info.java diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java index 468a6633067..48f67e5216f 100644 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java +++ b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java @@ -2,7 +2,9 @@ import java.time.ZoneOffset; import java.time.ZonedDateTime; -import java.util.Optional; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.function.Consumer; import com.google.gson.JsonObject; @@ -10,6 +12,7 @@ public class Edge { private final int id; private String name; private String comment; + private String version; private String producttype; private JsonObject jConfig; private ZonedDateTime lastMessage = null; @@ -18,10 +21,11 @@ public class Edge { private String ipv4 = null; private boolean isOnline; - public Edge(int id, String name, String comment, String producttype, JsonObject jConfig) { + public Edge(int id, String name, String comment, String version, String producttype, JsonObject jConfig) { this.id = id; this.name = name; this.comment = comment; + this.version = version; this.producttype = producttype; this.jConfig = jConfig; } @@ -41,23 +45,14 @@ public void setOnline(boolean isOnline) { this.isOnline = isOnline; } - private Optional onSetConfig = Optional.empty(); - - public void onSetConfig(OnSetJsonObject listener) { - this.onSetConfig = Optional.of(listener); - } - - public void setConfig(JsonObject jConfig) { - this.jConfig = jConfig; - if (this.onSetConfig.isPresent()) { - this.onSetConfig.get().call(jConfig); - } - } - public JsonObject getConfig() { return this.jConfig; } + public String getVersion() { + return version; + } + public String getProducttype() { return producttype; } @@ -71,6 +66,7 @@ public JsonObject toJsonObject() { j.addProperty("id", this.id); j.addProperty("name", this.name); j.addProperty("comment", this.comment); + j.addProperty("version", this.version); j.addProperty("producttype", this.producttype); j.addProperty("online", this.isOnline); return j; @@ -82,55 +78,105 @@ public String toString() { + ", isOnline=" + isOnline + "]"; } - private Optional onSetLastMessage = Optional.empty(); + /* + * Config + */ + private final List> onSetConfig = new CopyOnWriteArrayList<>(); - public void onSetLastMessage(OnSetZonedDateTime listener) { - this.onSetLastMessage = Optional.of(listener); + public void onSetConfig(Consumer listener) { + this.onSetConfig.add(listener); } - public void setLastMessage() { - this.lastMessage = ZonedDateTime.now(ZoneOffset.UTC); - if (this.onSetLastMessage.isPresent()) { - this.onSetLastMessage.get().call(this.lastMessage); + public void setConfig(JsonObject jConfig) { + if (!jConfig.equals(this.jConfig)) { // on change + this.jConfig = jConfig; + this.onSetConfig.forEach(listener -> listener.accept(jConfig)); } } - private Optional onSetLastUpdate = Optional.empty(); + /* + * Last Message + */ + private final List onSetLastMessage = new CopyOnWriteArrayList<>(); + + public void onSetLastMessage(Runnable listener) { + this.onSetLastMessage.add(listener); + } - public void onSetLastUpdate(OnSetZonedDateTime listener) { - this.onSetLastUpdate = Optional.of(listener); + public void setLastMessage() { + ZonedDateTime now = ZonedDateTime.now(ZoneOffset.UTC); + this.lastMessage = now; + this.onSetLastMessage.forEach(listener -> listener.run()); + } + + public ZonedDateTime getLastMessage() { + return lastMessage; + } + + /* + * Last Update + */ + private final List onSetLastUpdate = new CopyOnWriteArrayList<>(); + + public void onSetLastUpdate(Runnable listener) { + this.onSetLastUpdate.add(listener); } public void setLastUpdate() { - this.lastUpdate = ZonedDateTime.now(ZoneOffset.UTC); - if (this.onSetLastUpdate.isPresent()) { - this.onSetLastUpdate.get().call(this.lastUpdate); + ZonedDateTime now = ZonedDateTime.now(ZoneOffset.UTC); + this.lastUpdate = now; + this.onSetLastUpdate.forEach(listener -> listener.run()); + } + + public ZonedDateTime getLastUpdate() { + return lastUpdate; + } + + /* + * Version + */ + private final List> onSetVersion = new CopyOnWriteArrayList<>(); + + public void onSetVersion(Consumer listener) { + this.onSetVersion.add(listener); + } + + public void setVersion(String version) { + if (!version.equals(this.version)) { // on change + this.version = version; + this.onSetVersion.forEach(listener -> listener.accept(version)); } } - private Optional onSetSoc = Optional.empty(); + /* + * State of Charge (SoC) + */ + private final List> onSetSoc = new CopyOnWriteArrayList<>(); - public void onSetSoc(OnSetInteger listener) { - this.onSetSoc = Optional.of(listener); + public void onSetSoc(Consumer listener) { + this.onSetSoc.add(listener); } public void setSoc(int soc) { - this.soc = soc; - if (this.onSetSoc.isPresent()) { - this.onSetSoc.get().call(this.soc); + if (Integer.valueOf(soc) != this.soc) { // on change + this.soc = soc; + this.onSetSoc.forEach(listener -> listener.accept(soc)); } } - private Optional onSetIpv4 = Optional.empty(); + /* + * IPv4 + */ + private final List> onSetIpv4 = new CopyOnWriteArrayList<>(); - public void onSetIpv4(OnSetString listener) { - this.onSetIpv4 = Optional.of(listener); + public void onSetIpv4(Consumer listener) { + this.onSetIpv4.add(listener); } public void setIpv4(String ipv4) { - this.ipv4 = ipv4; - if (this.onSetIpv4.isPresent()) { - this.onSetIpv4.get().call(this.ipv4); + if (!ipv4.equals(this.ipv4)) { // on change + this.ipv4 = ipv4; + this.onSetIpv4.forEach(listener -> listener.accept(ipv4)); } } } diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/MetadataService.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/MetadataService.java index 249045da72b..bcdaa47a029 100644 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/MetadataService.java +++ b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/MetadataService.java @@ -9,7 +9,9 @@ @ProviderType public interface MetadataService { - public abstract User getUserWithSession(String sessionId) throws OpenemsException; + public abstract User authenticate() throws OpenemsException; + + public abstract User authenticate(String sessionId) throws OpenemsException; public abstract int[] getEdgeIdsForApikey(String apikey); diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetInteger.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetInteger.java deleted file mode 100644 index 6a478d5d0fe..00000000000 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetInteger.java +++ /dev/null @@ -1,5 +0,0 @@ -package io.openems.backend.metadata.api; - -public interface OnSetInteger { - public void call(int soc); -} diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetJsonObject.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetJsonObject.java deleted file mode 100644 index 743daf0f5f9..00000000000 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetJsonObject.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.openems.backend.metadata.api; - -import com.google.gson.JsonObject; - -public interface OnSetJsonObject { - public void call(JsonObject config); -} diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetString.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetString.java deleted file mode 100644 index 9842ef91ce6..00000000000 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetString.java +++ /dev/null @@ -1,5 +0,0 @@ -package io.openems.backend.metadata.api; - -public interface OnSetString { - public void call(String ipv4); -} diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetZonedDateTime.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetZonedDateTime.java deleted file mode 100644 index ad9754124d7..00000000000 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/OnSetZonedDateTime.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.openems.backend.metadata.api; - -import java.time.ZonedDateTime; - -public interface OnSetZonedDateTime { - public void call(ZonedDateTime lastMessage); -} diff --git a/io.openems.backend.metadata.dummy.provider/.classpath b/io.openems.backend.metadata.dummy/.classpath similarity index 100% rename from io.openems.backend.metadata.dummy.provider/.classpath rename to io.openems.backend.metadata.dummy/.classpath diff --git a/io.openems.backend.metadata.dummy.provider/.gitignore b/io.openems.backend.metadata.dummy/.gitignore similarity index 100% rename from io.openems.backend.metadata.dummy.provider/.gitignore rename to io.openems.backend.metadata.dummy/.gitignore diff --git a/io.openems.backend.metadata.odoo.provider/.project b/io.openems.backend.metadata.dummy/.project similarity index 89% rename from io.openems.backend.metadata.odoo.provider/.project rename to io.openems.backend.metadata.dummy/.project index 329727bcb13..c04b9844be8 100644 --- a/io.openems.backend.metadata.odoo.provider/.project +++ b/io.openems.backend.metadata.dummy/.project @@ -1,6 +1,6 @@ - io.openems.backend.metadata.odoo.provider + io.openems.backend.metadata.dummy diff --git a/io.openems.backend.metadata.dummy.provider/.settings/org.eclipse.core.resources.prefs b/io.openems.backend.metadata.dummy/.settings/org.eclipse.core.resources.prefs similarity index 100% rename from io.openems.backend.metadata.dummy.provider/.settings/org.eclipse.core.resources.prefs rename to io.openems.backend.metadata.dummy/.settings/org.eclipse.core.resources.prefs diff --git a/io.openems.backend.metadata.dummy.provider/.settings/org.eclipse.jdt.core.prefs b/io.openems.backend.metadata.dummy/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from io.openems.backend.metadata.dummy.provider/.settings/org.eclipse.jdt.core.prefs rename to io.openems.backend.metadata.dummy/.settings/org.eclipse.jdt.core.prefs diff --git a/io.openems.backend.metadata.dummy.provider/bnd.bnd b/io.openems.backend.metadata.dummy/bnd.bnd similarity index 100% rename from io.openems.backend.metadata.dummy.provider/bnd.bnd rename to io.openems.backend.metadata.dummy/bnd.bnd diff --git a/io.openems.backend.metadata.dummy.provider/debug.bndrun b/io.openems.backend.metadata.dummy/debug.bndrun similarity index 100% rename from io.openems.backend.metadata.dummy.provider/debug.bndrun rename to io.openems.backend.metadata.dummy/debug.bndrun diff --git a/io.openems.backend.metadata.dummy.provider/io.openems.backend.metadata.dummy.provider.bndrun b/io.openems.backend.metadata.dummy/io.openems.backend.metadata.dummy.provider.bndrun similarity index 100% rename from io.openems.backend.metadata.dummy.provider/io.openems.backend.metadata.dummy.provider.bndrun rename to io.openems.backend.metadata.dummy/io.openems.backend.metadata.dummy.provider.bndrun diff --git a/io.openems.backend.metadata.dummy.provider/readme.md b/io.openems.backend.metadata.dummy/readme.md similarity index 100% rename from io.openems.backend.metadata.dummy.provider/readme.md rename to io.openems.backend.metadata.dummy/readme.md diff --git a/io.openems.backend.metadata.dummy.provider/src/io/openems/backend/metadata/dummy/Dummy.java b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java similarity index 84% rename from io.openems.backend.metadata.dummy.provider/src/io/openems/backend/metadata/dummy/Dummy.java rename to io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java index 6eaa13c83bd..101b233879b 100644 --- a/io.openems.backend.metadata.dummy.provider/src/io/openems/backend/metadata/dummy/Dummy.java +++ b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java @@ -19,11 +19,12 @@ import io.openems.backend.metadata.api.Edge; import io.openems.backend.metadata.api.MetadataService; import io.openems.backend.metadata.api.User; +import io.openems.common.OpenemsConstants; import io.openems.common.exceptions.OpenemsException; import io.openems.common.session.Role; import io.openems.common.utils.StringUtils; -@Component(name = "io.openems.backend.metadata.dummy.provider") +@Component(name = "Metadata.Dummy") public class Dummy implements MetadataService { private final Logger log = LoggerFactory.getLogger(Dummy.class); @@ -39,7 +40,7 @@ public class Dummy implements MetadataService { @Activate void activate() { - log.debug("Activate MetadataDummy"); + log.info("Activate Metadata.Dummy"); this.nextUserId = 0; this.nextEdgeId = 0; this.users.clear(); @@ -48,11 +49,16 @@ void activate() { @Deactivate void deactivate() { - log.debug("Deactivate MetadataDummy"); + log.info("Deactivate Metadata.Dummy"); } @Override - public User getUserWithSession(String sessionId) throws OpenemsException { + public User authenticate() throws OpenemsException { + return this.authenticate("NO_SESSION_ID"); + } + + @Override + public User authenticate(String sessionId) throws OpenemsException { int id = this.nextUserId++; User user = new User(id, "USER:" + sessionId); for (int edgeId : this.edges.keySet()) { @@ -73,7 +79,8 @@ public Optional getEdgeOpt(int edgeId) { Edge edge = this.edges.get(edgeId); if (edge == null) { int id = this.nextEdgeId++; - edge = new Edge(id, "EDGE:" + id, "comment [" + id + "]", "producttype [" + id + "]", new JsonObject()); + edge = new Edge(id, "EDGE:" + id, "comment [" + id + "]", OpenemsConstants.OPENEMS_VERSION, + "producttype [" + id + "]", new JsonObject()); edge.onSetConfig(jConfig -> { log.debug("Edge [" + edgeId + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); }); diff --git a/io.openems.backend.metadata.dummy.provider/src/io/openems/backend/metadata/dummy/package-info.java b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/package-info.java similarity index 100% rename from io.openems.backend.metadata.dummy.provider/src/io/openems/backend/metadata/dummy/package-info.java rename to io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/package-info.java diff --git a/io.openems.backend.metadata.dummy.provider/test/io/openems/backend/metadata/dummy/provider/DummyTest.java b/io.openems.backend.metadata.dummy/test/io/openems/backend/metadata/dummy/provider/DummyTest.java similarity index 100% rename from io.openems.backend.metadata.dummy.provider/test/io/openems/backend/metadata/dummy/provider/DummyTest.java rename to io.openems.backend.metadata.dummy/test/io/openems/backend/metadata/dummy/provider/DummyTest.java diff --git a/io.openems.backend.metadata.file.provider/.classpath b/io.openems.backend.metadata.file/.classpath similarity index 100% rename from io.openems.backend.metadata.file.provider/.classpath rename to io.openems.backend.metadata.file/.classpath diff --git a/io.openems.backend.metadata.file.provider/.gitignore b/io.openems.backend.metadata.file/.gitignore similarity index 100% rename from io.openems.backend.metadata.file.provider/.gitignore rename to io.openems.backend.metadata.file/.gitignore diff --git a/io.openems.backend.metadata.dummy.provider/.project b/io.openems.backend.metadata.file/.project similarity index 89% rename from io.openems.backend.metadata.dummy.provider/.project rename to io.openems.backend.metadata.file/.project index 9ffc26e95de..9cdb300b80e 100644 --- a/io.openems.backend.metadata.dummy.provider/.project +++ b/io.openems.backend.metadata.file/.project @@ -1,6 +1,6 @@ - io.openems.backend.metadata.dummy.provider + io.openems.backend.metadata.file diff --git a/io.openems.backend.metadata.file.provider/.settings/org.eclipse.core.resources.prefs b/io.openems.backend.metadata.file/.settings/org.eclipse.core.resources.prefs similarity index 100% rename from io.openems.backend.metadata.file.provider/.settings/org.eclipse.core.resources.prefs rename to io.openems.backend.metadata.file/.settings/org.eclipse.core.resources.prefs diff --git a/io.openems.backend.metadata.file.provider/.settings/org.eclipse.jdt.core.prefs b/io.openems.backend.metadata.file/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from io.openems.backend.metadata.file.provider/.settings/org.eclipse.jdt.core.prefs rename to io.openems.backend.metadata.file/.settings/org.eclipse.jdt.core.prefs diff --git a/io.openems.backend.metadata.file.provider/bnd.bnd b/io.openems.backend.metadata.file/bnd.bnd similarity index 100% rename from io.openems.backend.metadata.file.provider/bnd.bnd rename to io.openems.backend.metadata.file/bnd.bnd diff --git a/io.openems.backend.metadata.file.provider/debug.bndrun b/io.openems.backend.metadata.file/debug.bndrun similarity index 100% rename from io.openems.backend.metadata.file.provider/debug.bndrun rename to io.openems.backend.metadata.file/debug.bndrun diff --git a/io.openems.backend.metadata.file.provider/io.openems.backend.metadata.file.provider.bndrun b/io.openems.backend.metadata.file/io.openems.backend.metadata.file.provider.bndrun similarity index 100% rename from io.openems.backend.metadata.file.provider/io.openems.backend.metadata.file.provider.bndrun rename to io.openems.backend.metadata.file/io.openems.backend.metadata.file.provider.bndrun diff --git a/io.openems.backend.metadata.file.provider/readme.md b/io.openems.backend.metadata.file/readme.md similarity index 100% rename from io.openems.backend.metadata.file.provider/readme.md rename to io.openems.backend.metadata.file/readme.md diff --git a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/Config.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/Config.java new file mode 100644 index 00000000000..c7e90cf299b --- /dev/null +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/Config.java @@ -0,0 +1,14 @@ +package io.openems.backend.metadata.file.provider; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition( // + name = "Metadata.File", // + description = "Configures the Metadata File provider") +@interface Config { + @AttributeDefinition(name = "Path", description = "The port of the CSV file.") + String path(); + + String webconsole_configurationFactory_nameHint() default "Metadata.File"; +} diff --git a/io.openems.backend.metadata.file.provider/src/io/openems/backend/metadata/file/provider/File.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java similarity index 87% rename from io.openems.backend.metadata.file.provider/src/io/openems/backend/metadata/file/provider/File.java rename to io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java index cb89b0db03a..f018423721c 100644 --- a/io.openems.backend.metadata.file.provider/src/io/openems/backend/metadata/file/provider/File.java +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java @@ -16,7 +16,7 @@ import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.ReferenceCardinality; import org.osgi.service.component.annotations.ReferencePolicy; -import org.osgi.service.metatype.annotations.ObjectClassDefinition; +import org.osgi.service.metatype.annotations.Designate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -26,12 +26,11 @@ import io.openems.backend.metadata.api.Edge; import io.openems.backend.metadata.api.MetadataService; import io.openems.backend.metadata.api.User; +import io.openems.common.OpenemsConstants; import io.openems.common.exceptions.OpenemsException; import io.openems.common.session.Role; import io.openems.common.utils.StringUtils; -import org.osgi.service.metatype.annotations.Designate; - /** * This implementation of MetadataService reads Edges configuration from a * csv-file. The layout of the fil is as follows: @@ -43,17 +42,12 @@ * This implementation does not require any login. It always serves the same * user, which is has 'role'-permissions on all given Edges. */ -@Designate(ocd = File.Config.class, factory = true) -@Component(name = "MetadataFile", configurationPolicy = ConfigurationPolicy.REQUIRE) +@Designate(ocd = Config.class, factory = true) +@Component(name = "Metadata.File", configurationPolicy = ConfigurationPolicy.REQUIRE) public class File implements MetadataService { private final Logger log = LoggerFactory.getLogger(File.class); - - @ObjectClassDefinition - @interface Config { - String path(); - } - + private String path = ""; private User user = null; @@ -64,14 +58,14 @@ public class File implements MetadataService { @Activate void activate(Config config) { - log.debug("Activate MetadataFile [path=" + config.path() + "]"); + log.info("Activate MetadataFile [path=" + config.path() + "]"); this.path = config.path(); this.edges.clear(); } @Deactivate void deactivate() { - log.debug("Deactivate MetadataFile"); + log.info("Deactivate MetadataFile"); } private void refreshData() { @@ -90,7 +84,8 @@ private void refreshData() { Role role = Role.getRole(parameters[3]); int edgeId = Integer.parseInt(parameters[4]); String apikey = parameters[5]; - MyEdge edge = new MyEdge(edgeId, name, comment, producttype, role, apikey, new JsonObject()); + MyEdge edge = new MyEdge(edgeId, name, comment, OpenemsConstants.OPENEMS_VERSION, producttype, + role, apikey, new JsonObject()); edge.onSetConfig(jConfig -> { log.debug( "Edge [" + edgeId + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); @@ -121,9 +116,14 @@ private void refreshData() { } @Override - public User getUserWithSession(String sessionId) throws OpenemsException { + public User authenticate() throws OpenemsException { this.refreshData(); - return this.user; + return this.user; + } + + @Override + public User authenticate(String sessionId) throws OpenemsException { + return this.authenticate(); // ignore sessionId } @Override diff --git a/io.openems.backend.metadata.file.provider/src/io/openems/backend/metadata/file/provider/MyEdge.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java similarity index 82% rename from io.openems.backend.metadata.file.provider/src/io/openems/backend/metadata/file/provider/MyEdge.java rename to io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java index 0f31af394bc..2079cb77131 100644 --- a/io.openems.backend.metadata.file.provider/src/io/openems/backend/metadata/file/provider/MyEdge.java +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java @@ -10,9 +10,9 @@ public class MyEdge extends Edge { private final String apikey; private final Role role; - public MyEdge(int id, String name, String comment, String producttype, Role role, String apikey, + public MyEdge(int id, String name, String comment, String producttype, String version, Role role, String apikey, JsonObject jConfig) { - super(id, name, comment, producttype, jConfig); + super(id, name, comment, version, producttype, jConfig); this.role = role; this.apikey = apikey; } diff --git a/io.openems.backend.metadata.file.provider/test/io/openems/backend/metadata/file/provider/FileTest.java b/io.openems.backend.metadata.file/test/io/openems/backend/metadata/file/provider/FileTest.java similarity index 100% rename from io.openems.backend.metadata.file.provider/test/io/openems/backend/metadata/file/provider/FileTest.java rename to io.openems.backend.metadata.file/test/io/openems/backend/metadata/file/provider/FileTest.java diff --git a/io.openems.backend.metadata.odoo.provider/.classpath b/io.openems.backend.metadata.odoo/.classpath similarity index 100% rename from io.openems.backend.metadata.odoo.provider/.classpath rename to io.openems.backend.metadata.odoo/.classpath diff --git a/io.openems.backend.metadata.odoo.provider/.gitignore b/io.openems.backend.metadata.odoo/.gitignore similarity index 100% rename from io.openems.backend.metadata.odoo.provider/.gitignore rename to io.openems.backend.metadata.odoo/.gitignore diff --git a/io.openems.backend.timedata.influx.provider/.project b/io.openems.backend.metadata.odoo/.project similarity index 89% rename from io.openems.backend.timedata.influx.provider/.project rename to io.openems.backend.metadata.odoo/.project index 450968a4f97..57448a32928 100644 --- a/io.openems.backend.timedata.influx.provider/.project +++ b/io.openems.backend.metadata.odoo/.project @@ -1,6 +1,6 @@ - io.openems.backend.timedata.influx.provider + io.openems.backend.metadata.odoo diff --git a/io.openems.backend.metadata.odoo.provider/.settings/org.eclipse.core.resources.prefs b/io.openems.backend.metadata.odoo/.settings/org.eclipse.core.resources.prefs similarity index 100% rename from io.openems.backend.metadata.odoo.provider/.settings/org.eclipse.core.resources.prefs rename to io.openems.backend.metadata.odoo/.settings/org.eclipse.core.resources.prefs diff --git a/io.openems.backend.metadata.odoo.provider/.settings/org.eclipse.jdt.core.prefs b/io.openems.backend.metadata.odoo/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from io.openems.backend.metadata.odoo.provider/.settings/org.eclipse.jdt.core.prefs rename to io.openems.backend.metadata.odoo/.settings/org.eclipse.jdt.core.prefs diff --git a/io.openems.backend.metadata.odoo.provider/bnd.bnd b/io.openems.backend.metadata.odoo/bnd.bnd similarity index 100% rename from io.openems.backend.metadata.odoo.provider/bnd.bnd rename to io.openems.backend.metadata.odoo/bnd.bnd diff --git a/io.openems.backend.metadata.odoo.provider/debug.bndrun b/io.openems.backend.metadata.odoo/debug.bndrun similarity index 100% rename from io.openems.backend.metadata.odoo.provider/debug.bndrun rename to io.openems.backend.metadata.odoo/debug.bndrun diff --git a/io.openems.backend.metadata.odoo.provider/io.openems.backend.metadata.odoo.bndrun b/io.openems.backend.metadata.odoo/io.openems.backend.metadata.odoo.bndrun similarity index 100% rename from io.openems.backend.metadata.odoo.provider/io.openems.backend.metadata.odoo.bndrun rename to io.openems.backend.metadata.odoo/io.openems.backend.metadata.odoo.bndrun diff --git a/io.openems.backend.metadata.odoo.provider/readme.md b/io.openems.backend.metadata.odoo/readme.md similarity index 100% rename from io.openems.backend.metadata.odoo.provider/readme.md rename to io.openems.backend.metadata.odoo/readme.md diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Config.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Config.java new file mode 100644 index 00000000000..b0d35a111c8 --- /dev/null +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Config.java @@ -0,0 +1,23 @@ +package io.openems.backend.metadata.odoo; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition( // + name = "Metadata.Odoo", // + description = "Configures the Odoo Metadata provider") +@interface Config { + @AttributeDefinition(name = "Database", description = "The database name") + String database(); + + @AttributeDefinition(name = "UID", description = "The odoo login UID") + int uid(); + + @AttributeDefinition(name = "Password", description = "The odoo login password") + String password(); + + @AttributeDefinition(name = "URL", description = "The odoo URL") + String url(); + + String webconsole_configurationFactory_nameHint() default "Metadata.Odoo"; +} diff --git a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Domain.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Domain.java similarity index 100% rename from io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Domain.java rename to io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Domain.java diff --git a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Field.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java similarity index 92% rename from io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Field.java rename to io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java index 6ea065e2401..43a7be1da75 100644 --- a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Field.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java @@ -7,6 +7,7 @@ public enum FemsDevice implements Field { ID("id"), // NAME("name"), // COMMENT("comment"), // + OPENEMS_VERSION("openems_version"), // PRODUCT_TYPE("producttype"), // OPENEMS_CONFIG("openems_config"), // LAST_MESSAGE("lastmessage"), // diff --git a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/FieldValue.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/FieldValue.java similarity index 100% rename from io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/FieldValue.java rename to io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/FieldValue.java diff --git a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Odoo.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java similarity index 72% rename from io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Odoo.java rename to io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java index 37748a5889b..ed325911d9a 100644 --- a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/Odoo.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java @@ -8,7 +8,6 @@ import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; -import java.time.Instant; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -21,7 +20,6 @@ import org.osgi.service.component.annotations.ReferenceCardinality; import org.osgi.service.component.annotations.ReferencePolicy; import org.osgi.service.metatype.annotations.Designate; -import org.osgi.service.metatype.annotations.ObjectClassDefinition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,59 +37,62 @@ import io.openems.common.session.Role; import io.openems.common.utils.JsonUtils; -@Designate(ocd = Odoo.Config.class, factory = false) -@Component(name = "Odoo", configurationPolicy = ConfigurationPolicy.REQUIRE) +@Designate(ocd = Config.class, factory = false) +@Component(name = "Metadata.Odoo", configurationPolicy = ConfigurationPolicy.REQUIRE) public class Odoo implements MetadataService { private final Logger log = LoggerFactory.getLogger(Odoo.class); - @ObjectClassDefinition - @interface Config { - String database(); - - int uid(); - - String password(); - - String url() default "https://www1.fenecon.de"; - } - - private String url; - private String database; - private int uid; - private String password; + protected String url; + protected String database; + protected int uid; + protected String password; private Map users = new HashMap<>(); private Map edges = new HashMap<>(); + private OdooWriteWorker writeWorker; @Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC) private volatile EdgeWebsocketService edgeWebsocketService; @Activate void activate(Config config) { - log.debug("Activate Odoo [url=" + config.url() + ";database=" + config.database() + ";uid=" + config.uid() - + ";password=" + (config.password() != null ? "ok" : "NOT_SET") + "]"); + log.info("Activate Metadata.Odoo [url=" + config.url() + ";database=" + config.database() + ";uid=" + + config.uid() + ";password=" + (config.password() != null ? "ok" : "NOT_SET") + "]"); this.url = config.url(); this.database = config.database(); this.uid = config.uid(); this.password = config.password(); + this.writeWorker = new OdooWriteWorker(this); } @Deactivate void deactivate() { - log.debug("Deactivate Odoo"); + log.info("Deactivate Metadata.Odoo"); + this.writeWorker.dispose(); + } + + /** + * Tries to authenticate at the Odoo server WITHOUT a sessionId. This is always + * denied. + * + * @param sessionId + * @return + * @throws OpenemsException + */ + public User authenticate() throws OpenemsException { + throw new OpenemsException("Session-ID is missing. Authentication to Odoo denied."); } /** * Tries to authenticate at the Odoo server using a sessionId from a cookie. - * Updates the Session object accordingly. * * @param sessionId * @return * @throws OpenemsException */ @Override - public User getUserWithSession(String sessionId) throws OpenemsException { + public User authenticate(String sessionId) throws OpenemsException { HttpURLConnection connection = null; try { // send request to Odoo @@ -202,42 +203,55 @@ private Optional getEdgeForceRefresh(int edgeId) { try { Map edgeMap = OdooUtils.readOne(this.url, this.database, this.uid, this.password, "fems.device", edgeId, Field.FemsDevice.NAME, Field.FemsDevice.COMMENT, - Field.FemsDevice.PRODUCT_TYPE, Field.FemsDevice.OPENEMS_CONFIG); - Object configObj = edgeMap.get(Field.FemsDevice.OPENEMS_CONFIG.n()); - JsonObject jConf; - if(configObj != null && configObj instanceof String) { - jConf = JsonUtils.getAsJsonObject(JsonUtils.parse((String)configObj)); + Field.FemsDevice.OPENEMS_VERSION, Field.FemsDevice.PRODUCT_TYPE, Field.FemsDevice.OPENEMS_CONFIG); + /* + * parse fields from Odoo + */ + String openemsConfig = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_CONFIG.n())); + JsonObject jOpenemsConfig; + if (openemsConfig.isEmpty()) { + jOpenemsConfig = new JsonObject(); } else { - jConf = new JsonObject(); + jOpenemsConfig = JsonUtils.getAsJsonObject(JsonUtils.parse(openemsConfig)); } + String name = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.NAME.n())); + String comment = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.COMMENT.n())); + String openemsVersion = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_VERSION.n())); + String productType = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.PRODUCT_TYPE.n())); + /* + * Create instance of Edge and register listeners + */ Edge edge = new Edge( // (Integer) edgeMap.get(Field.FemsDevice.ID.n()), // - (String) edgeMap.get(Field.FemsDevice.NAME.n()), // - (String) edgeMap.get(Field.FemsDevice.COMMENT.n()), // - (String) edgeMap.get(Field.FemsDevice.PRODUCT_TYPE.n()), // - jConf); + name, // + comment, // + openemsVersion, // + productType, // + jOpenemsConfig); edge.onSetConfig(jConfig -> { // Update Edge config in Odoo String config = new GsonBuilder().setPrettyPrinting().create().toJson(jConfig); - this.write(edge, new FieldValue(Field.FemsDevice.OPENEMS_CONFIG, config), false); + this.write(edge, new FieldValue(Field.FemsDevice.OPENEMS_CONFIG, config)); }); - edge.onSetLastMessage(time -> { + edge.onSetLastMessage(() -> { // Set LastMessage timestamp in Odoo - this.write(edge, - new FieldValue(Field.FemsDevice.LAST_MESSAGE, OdooUtils.DATETIME_FORMATTER.format(time)), true); + this.writeWorker.onLastMessage(edgeId); }); - edge.onSetLastUpdate(time -> { + edge.onSetLastUpdate(() -> { // Set LastUpdate timestamp in Odoo - this.write(edge, - new FieldValue(Field.FemsDevice.LAST_UPDATE, OdooUtils.DATETIME_FORMATTER.format(time)), true); + this.writeWorker.onLastUpdate(edgeId); + }); + edge.onSetVersion(version -> { + // Set Version in Odoo + this.write(edge, new FieldValue(Field.FemsDevice.OPENEMS_VERSION, version)); }); edge.onSetSoc(soc -> { // Set SoC in Odoo - this.write(edge, new FieldValue(Field.FemsDevice.SOC, String.valueOf(soc)), true); + this.write(edge, new FieldValue(Field.FemsDevice.SOC, String.valueOf(soc))); }); edge.onSetIpv4(ipv4 -> { // Set IPv4 in Odoo - this.write(edge, new FieldValue(Field.FemsDevice.IPV4, String.valueOf(ipv4)), true); + this.write(edge, new FieldValue(Field.FemsDevice.IPV4, String.valueOf(ipv4))); }); edge.setOnline(this.edgeWebsocketService.isOnline(edge.getId())); // store in cache @@ -251,32 +265,13 @@ private Optional getEdgeForceRefresh(int edgeId) { } } - private final int DEBOUNCE_SECONDS = 60; - - private HashMap lastWriteMap = new HashMap<>(); - - private void write(Edge edge, FieldValue fieldValue, boolean debounce) { - Instant now = Instant.now(); - boolean executeWrite = true; - if (debounce) { - // debounce = avoid writing too often - synchronized (this.lastWriteMap) { - Instant lastWrite = lastWriteMap.get(fieldValue.getField().n()); - if (lastWrite != null && now.minusSeconds(DEBOUNCE_SECONDS).isBefore(lastWrite)) { - executeWrite = false; - } else { - this.lastWriteMap.put(fieldValue.getField().n(), now); - } - } - } - if (executeWrite) { - try { - OdooUtils.write(this.url, this.database, this.uid, this.password, "fems.device", edge.getId(), - fieldValue); - } catch (OpenemsException e) { - log.error("Unable to update Edge [ID:" + edge.getName() + "] field [" + fieldValue.getField().n() - + "] : " + e.getMessage()); - } + private void write(Edge edge, FieldValue fieldValue) { + try { + OdooUtils.write(this.url, this.database, this.uid, this.password, "fems.device", + new Integer[] { edge.getId() }, fieldValue); + } catch (OpenemsException e) { + log.error("Unable to update Edge [ID:" + edge.getName() + "] field [" + fieldValue.getField().n() + "] : " + + e.getMessage()); } } } diff --git a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/OdooUtils.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java similarity index 94% rename from io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/OdooUtils.java rename to io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java index 4ff038f9601..f623d5b3588 100644 --- a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/OdooUtils.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java @@ -206,8 +206,8 @@ protected static Map[] readMany(String url, String database, int * @return * @throws OpenemsException */ - protected static Map[] searchRead(String url, String database, int uid, String password, String model, - Field[] fields, Domain... domains) throws OpenemsException { + protected static Map[] searchRead(String url, String database, int uid, String password, + String model, Field[] fields, Domain... domains) throws OpenemsException { // Create request params String action = "search_read"; // Add domain filter @@ -242,7 +242,7 @@ protected static Map[] searchRead(String url, String database, i throw new OpenemsException("Unable to read from Odoo: " + e.getMessage()); } } - + /** * Update a record in Odoo * @@ -263,13 +263,10 @@ protected static Map[] searchRead(String url, String database, i * @return * @throws OpenemsException */ - protected static void write(String url, String database, int uid, String password, String model, int id, + protected static void write(String url, String database, int uid, String password, String model, Integer[] ids, FieldValue... fieldValues) throws OpenemsException { // Create request params String action = "write"; - // Add ids - Object[] paramsIds = new Object[1]; - paramsIds[0] = id; // Add fieldValues Map paramsFieldValues = new HashMap<>(); for (FieldValue fieldValue : fieldValues) { @@ -277,7 +274,7 @@ protected static void write(String url, String database, int uid, String passwor } // Create request params Object[] params = new Object[] { database, uid, password, model, action, - new Object[] { paramsIds, paramsFieldValues } }; + new Object[] { ids, paramsFieldValues } }; try { // Execute XML request Boolean resultObj = (Boolean) executeKw(url, params); @@ -288,4 +285,18 @@ protected static void write(String url, String database, int uid, String passwor throw new OpenemsException("Unable to write to Odoo: " + e.getMessage()); } } + + /** + * Return the Object type-safe as a String; or otherwise as an empty String + * + * @param object + * @return + */ + protected static String getAsString(Object object) { + if (object != null && object instanceof String) { + return (String) object; + } else { + return ""; + } + } } diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooWriteWorker.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooWriteWorker.java new file mode 100644 index 00000000000..543ad5db7de --- /dev/null +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooWriteWorker.java @@ -0,0 +1,98 @@ +package io.openems.backend.metadata.odoo; + +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.util.HashSet; +import java.util.Set; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.openems.common.exceptions.OpenemsException; + +/** + * This worker combines writes to lastMessage and lastUpdate fields, to avoid + * DDOSing Odoo by writing too often. + * + * @author stefan.feilmeier + * + */ +public class OdooWriteWorker { + + private final Logger log = LoggerFactory.getLogger(OdooWriteWorker.class); + + protected final static int UPDATE_INTERVAL_IN_SECONDS = 60; + + public OdooWriteWorker(Odoo parent) { + this.future = this.executor.scheduleWithFixedDelay(() -> { + /* + * This task is executed regularly. Sends data to websocket. + */ + String time = OdooUtils.DATETIME_FORMATTER.format(ZonedDateTime.now(ZoneOffset.UTC)); + { + Integer[] ids; + synchronized (this.lastMessageIds) { + ids = this.lastMessageIds.toArray(new Integer[this.lastMessageIds.size()]); + this.lastMessageIds.clear(); + } + if (ids.length > 0) { + try { + OdooUtils.write(parent.url, parent.database, parent.uid, parent.password, "fems.device", ids, + new FieldValue(Field.FemsDevice.LAST_MESSAGE, time)); + } catch (OpenemsException e) { + log.error("Unable to write lastMessage to ids [" + ids + "]: " + e.getMessage()); + } + } + } + { + Integer[] ids; + synchronized (this.lastUpdateIds) { + ids = this.lastUpdateIds.toArray(new Integer[this.lastUpdateIds.size()]); + this.lastUpdateIds.clear(); + } + if (ids.length > 0) { + try { + OdooUtils.write(parent.url, parent.database, parent.uid, parent.password, "fems.device", ids, + new FieldValue(Field.FemsDevice.LAST_UPDATE, time)); + } catch (OpenemsException e) { + log.error("Unable to write lastUpdate to ids [" + ids + "]: " + e.getMessage()); + } + } + } + }, 0, UPDATE_INTERVAL_IN_SECONDS, TimeUnit.SECONDS); + } + + /** + * Executor for subscriptions task + */ + private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); + + private final Set lastMessageIds = new HashSet<>(); + private final Set lastUpdateIds = new HashSet<>(); + + /** + * Holds the scheduled task + */ + private ScheduledFuture future; + + public void onLastMessage(int edgeId) { + synchronized (this.lastMessageIds) { + this.lastMessageIds.add(edgeId); + } + } + + public void onLastUpdate(int edgeId) { + synchronized (this.lastUpdateIds) { + this.lastUpdateIds.add(edgeId); + } + } + + public void dispose() { + // unsubscribe regular task + this.future.cancel(true); + } +} diff --git a/io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/package-info.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/package-info.java similarity index 100% rename from io.openems.backend.metadata.odoo.provider/src/io/openems/backend/metadata/odoo/package-info.java rename to io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/package-info.java diff --git a/io.openems.backend.metadata.odoo.provider/test/io/openems/backend/metadata/odoo/ProviderImplTest.java b/io.openems.backend.metadata.odoo/test/io/openems/backend/metadata/odoo/ProviderImplTest.java similarity index 100% rename from io.openems.backend.metadata.odoo.provider/test/io/openems/backend/metadata/odoo/ProviderImplTest.java rename to io.openems.backend.metadata.odoo/test/io/openems/backend/metadata/odoo/ProviderImplTest.java diff --git a/io.openems.backend.timedata.influx.provider/.classpath b/io.openems.backend.timedata.influx/.classpath similarity index 100% rename from io.openems.backend.timedata.influx.provider/.classpath rename to io.openems.backend.timedata.influx/.classpath diff --git a/io.openems.backend.timedata.influx.provider/.gitignore b/io.openems.backend.timedata.influx/.gitignore similarity index 100% rename from io.openems.backend.timedata.influx.provider/.gitignore rename to io.openems.backend.timedata.influx/.gitignore diff --git a/io.openems.backend.timedata.influx/.project b/io.openems.backend.timedata.influx/.project new file mode 100644 index 00000000000..209c2129b0a --- /dev/null +++ b/io.openems.backend.timedata.influx/.project @@ -0,0 +1,23 @@ + + + io.openems.backend.timedata.influx + + + + + + org.eclipse.jdt.core.javabuilder + + + + + bndtools.core.bndbuilder + + + + + + org.eclipse.jdt.core.javanature + bndtools.core.bndnature + + diff --git a/io.openems.backend.timedata.influx.provider/.settings/org.eclipse.core.resources.prefs b/io.openems.backend.timedata.influx/.settings/org.eclipse.core.resources.prefs similarity index 100% rename from io.openems.backend.timedata.influx.provider/.settings/org.eclipse.core.resources.prefs rename to io.openems.backend.timedata.influx/.settings/org.eclipse.core.resources.prefs diff --git a/io.openems.backend.timedata.influx.provider/.settings/org.eclipse.jdt.core.prefs b/io.openems.backend.timedata.influx/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from io.openems.backend.timedata.influx.provider/.settings/org.eclipse.jdt.core.prefs rename to io.openems.backend.timedata.influx/.settings/org.eclipse.jdt.core.prefs diff --git a/io.openems.backend.timedata.influx.provider/bnd.bnd b/io.openems.backend.timedata.influx/bnd.bnd similarity index 89% rename from io.openems.backend.timedata.influx.provider/bnd.bnd rename to io.openems.backend.timedata.influx/bnd.bnd index 7466ba696c0..1fed1c52d6a 100644 --- a/io.openems.backend.timedata.influx.provider/bnd.bnd +++ b/io.openems.backend.timedata.influx/bnd.bnd @@ -14,9 +14,9 @@ Private-Package: \ io.openems.backend.timedata.api;version=latest,\ io.openems.backend.common;version=latest,\ io.openems.backend.metadata.api;version=latest,\ - org.apache.servicemix.bundles.influxdb-java,\ com.google.gson;version=2.8,\ - com.google.guava;version=19.0 + com.google.guava;version=19.0,\ + io.openems.wrapper.influxdb-java;version=latest -testpath: \ osgi.enroute.junit.wrapper;version=4.12, \ diff --git a/io.openems.backend.timedata.influx.provider/debug.bndrun b/io.openems.backend.timedata.influx/debug.bndrun similarity index 100% rename from io.openems.backend.timedata.influx.provider/debug.bndrun rename to io.openems.backend.timedata.influx/debug.bndrun diff --git a/io.openems.backend.timedata.influx.provider/io.openems.backend.timedata.influx.bndrun b/io.openems.backend.timedata.influx/io.openems.backend.timedata.influx.bndrun similarity index 100% rename from io.openems.backend.timedata.influx.provider/io.openems.backend.timedata.influx.bndrun rename to io.openems.backend.timedata.influx/io.openems.backend.timedata.influx.bndrun diff --git a/io.openems.backend.timedata.influx.provider/readme.md b/io.openems.backend.timedata.influx/readme.md similarity index 100% rename from io.openems.backend.timedata.influx.provider/readme.md rename to io.openems.backend.timedata.influx/readme.md diff --git a/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/Config.java b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/Config.java new file mode 100644 index 00000000000..b2b3b46d136 --- /dev/null +++ b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/Config.java @@ -0,0 +1,29 @@ +package io.openems.backend.timedata.influx; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition( // + name = "Timedata.InfluxDB", // + description = "Configures the InfluxDB Timedata provider") +@interface Config { + @AttributeDefinition(name = "Database", description = "The database name") + String database(); + + @AttributeDefinition(name = "URL", description = "The InfluxDB server URL") + String url(); + + @AttributeDefinition(name = "Port", description = "The InfluxDB server port") + int port() default 8086; + + @AttributeDefinition(name = "Username", description = "The login username") + String username(); + + @AttributeDefinition(name = "Password", description = "The login password") + String password(); + + @AttributeDefinition(name = "Measurement", description = "The InfluxDB measurement") + String measurement() default "data"; + + String webconsole_configurationFactory_nameHint() default "Timedata.InfluxDB"; +} diff --git a/io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/DeviceCache.java b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/DeviceCache.java similarity index 100% rename from io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/DeviceCache.java rename to io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/DeviceCache.java diff --git a/io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/Influx.java b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/Influx.java similarity index 93% rename from io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/Influx.java rename to io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/Influx.java index f5e3503c630..34b382bca1a 100644 --- a/io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/Influx.java +++ b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/Influx.java @@ -21,7 +21,6 @@ import org.osgi.service.component.annotations.ReferenceCardinality; import org.osgi.service.component.annotations.ReferencePolicy; import org.osgi.service.metatype.annotations.Designate; -import org.osgi.service.metatype.annotations.ObjectClassDefinition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,8 +36,8 @@ import io.openems.common.types.ChannelAddress; import io.openems.common.utils.JsonUtils; -@Designate(ocd = Influx.Config.class, factory = false) -@Component(name = "InfluxDB", configurationPolicy = ConfigurationPolicy.REQUIRE) +@Designate(ocd = Config.class, factory = false) +@Component(name = "Timedata.InfluxDB", configurationPolicy = ConfigurationPolicy.REQUIRE) public class Influx implements TimedataService { private final Logger log = LoggerFactory.getLogger(Influx.class); @@ -48,21 +47,6 @@ public class Influx implements TimedataService { @Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC) protected volatile MetadataService metadataService; - @ObjectClassDefinition - @interface Config { - String database(); - - String url(); - - int port(); - - String username(); - - String password(); - - String measurement() default "data"; - } - private String database; private String url; private int port; @@ -76,9 +60,9 @@ public class Influx implements TimedataService { @Activate void activate(Config config) throws OpenemsException { - log.debug("Activate InfluxDB [url=" + config.url() + ";port=" + config.port() + ";database=" + config.database() - + ";username=" + config.username() + ";password=" + (config.password() != null ? "ok" : "NOT_SET") - + ";measurement=" + config.measurement() + "]"); + log.info("Activate Timedata.InfluxDB [url=" + config.url() + ";port=" + config.port() + ";database=" + + config.database() + ";username=" + config.username() + ";password=" + + (config.password() != null ? "ok" : "NOT_SET") + ";measurement=" + config.measurement() + "]"); this.database = config.database(); this.url = config.url(); this.port = config.port(); @@ -89,10 +73,13 @@ void activate(Config config) throws OpenemsException { @Deactivate void deactivate() { - log.debug("Deactivate InfluxDB"); + log.info("Deactivate Timedata.InfluxDB"); if (this.influxDbOpt.isPresent()) { + this.influxDbOpt.get().close(); + // TODO this works only with a more recent version of Influxdb-Java // this.influxDbOpt.get().close(); + } } @@ -129,7 +116,7 @@ private void writeData(int influxId, TreeBasedTable data) } /** - * Writes data to old database for old Mini monitoring + * Writes data to old database for old Mini monitoring * * XXX remove after full migration * diff --git a/io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/InfluxdbUtils.java b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/InfluxdbUtils.java similarity index 100% rename from io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/InfluxdbUtils.java rename to io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/InfluxdbUtils.java diff --git a/io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/package-info.java b/io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/package-info.java similarity index 100% rename from io.openems.backend.timedata.influx.provider/src/io/openems/backend/timedata/influx/package-info.java rename to io.openems.backend.timedata.influx/src/io/openems/backend/timedata/influx/package-info.java diff --git a/io.openems.backend.timedata.influx.provider/test/io/openems/backend/timedata/influx/ProviderImplTest.java b/io.openems.backend.timedata.influx/test/io/openems/backend/timedata/influx/ProviderImplTest.java similarity index 100% rename from io.openems.backend.timedata.influx.provider/test/io/openems/backend/timedata/influx/ProviderImplTest.java rename to io.openems.backend.timedata.influx/test/io/openems/backend/timedata/influx/ProviderImplTest.java diff --git a/io.openems.backend.uiwebsocket.impl.provider/.project b/io.openems.backend.uiwebsocket.impl.provider/.project deleted file mode 100644 index 24f2c28886a..00000000000 --- a/io.openems.backend.uiwebsocket.impl.provider/.project +++ /dev/null @@ -1,23 +0,0 @@ - - - io.openems.backend.uiwebsocket.impl.provider - - - - - - org.eclipse.jdt.core.javabuilder - - - - - bndtools.core.bndbuilder - - - - - - org.eclipse.jdt.core.javanature - bndtools.core.bndnature - - diff --git a/io.openems.backend.uiwebsocket.impl.provider/.classpath b/io.openems.backend.uiwebsocket.impl/.classpath similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/.classpath rename to io.openems.backend.uiwebsocket.impl/.classpath diff --git a/io.openems.backend.uiwebsocket.impl.provider/.gitignore b/io.openems.backend.uiwebsocket.impl/.gitignore similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/.gitignore rename to io.openems.backend.uiwebsocket.impl/.gitignore diff --git a/io.openems.backend.uiwebsocket.impl/.project b/io.openems.backend.uiwebsocket.impl/.project new file mode 100644 index 00000000000..e8c7658ceec --- /dev/null +++ b/io.openems.backend.uiwebsocket.impl/.project @@ -0,0 +1,23 @@ + + + io.openems.backend.uiwebsocket.impl + + + + + + org.eclipse.jdt.core.javabuilder + + + + + bndtools.core.bndbuilder + + + + + + org.eclipse.jdt.core.javanature + bndtools.core.bndnature + + diff --git a/io.openems.backend.uiwebsocket.impl.provider/.settings/org.eclipse.core.resources.prefs b/io.openems.backend.uiwebsocket.impl/.settings/org.eclipse.core.resources.prefs similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/.settings/org.eclipse.core.resources.prefs rename to io.openems.backend.uiwebsocket.impl/.settings/org.eclipse.core.resources.prefs diff --git a/io.openems.backend.uiwebsocket.impl.provider/.settings/org.eclipse.jdt.core.prefs b/io.openems.backend.uiwebsocket.impl/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/.settings/org.eclipse.jdt.core.prefs rename to io.openems.backend.uiwebsocket.impl/.settings/org.eclipse.jdt.core.prefs diff --git a/io.openems.backend.uiwebsocket.impl.provider/bnd.bnd b/io.openems.backend.uiwebsocket.impl/bnd.bnd similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/bnd.bnd rename to io.openems.backend.uiwebsocket.impl/bnd.bnd diff --git a/io.openems.backend.uiwebsocket.impl.provider/debug.bndrun b/io.openems.backend.uiwebsocket.impl/debug.bndrun similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/debug.bndrun rename to io.openems.backend.uiwebsocket.impl/debug.bndrun diff --git a/io.openems.backend.uiwebsocket.impl.provider/io.openems.backend.uiwebsocket.impl.provider.bndrun b/io.openems.backend.uiwebsocket.impl/io.openems.backend.uiwebsocket.impl.provider.bndrun similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/io.openems.backend.uiwebsocket.impl.provider.bndrun rename to io.openems.backend.uiwebsocket.impl/io.openems.backend.uiwebsocket.impl.provider.bndrun diff --git a/io.openems.backend.uiwebsocket.impl.provider/readme.md b/io.openems.backend.uiwebsocket.impl/readme.md similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/readme.md rename to io.openems.backend.uiwebsocket.impl/readme.md diff --git a/io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/BackendCurrentDataWorker.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/BackendCurrentDataWorker.java similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/BackendCurrentDataWorker.java rename to io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/BackendCurrentDataWorker.java diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/Config.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/Config.java new file mode 100644 index 00000000000..a9056851eec --- /dev/null +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/Config.java @@ -0,0 +1,14 @@ +package io.openems.backend.uiwebsocket.impl.provider; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +@ObjectClassDefinition( // + name = "UiWebsocket", // + description = "Configures the Websockets to OpenEMS UI") +@interface Config { + @AttributeDefinition(name = "Port", description = "The port of the websocket server.") + int port(); + + String webconsole_configurationFactory_nameHint() default "EdgeWebsocket"; +} diff --git a/io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocket.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocket.java similarity index 89% rename from io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocket.java rename to io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocket.java index 28fd2363c29..d9538e3be32 100644 --- a/io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocket.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocket.java @@ -8,7 +8,6 @@ import org.osgi.service.component.annotations.ReferenceCardinality; import org.osgi.service.component.annotations.ReferencePolicy; import org.osgi.service.metatype.annotations.Designate; -import org.osgi.service.metatype.annotations.ObjectClassDefinition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,7 +19,7 @@ import io.openems.backend.uiwebsocket.api.UiWebsocketService; import io.openems.common.exceptions.OpenemsException; -@Designate(ocd = UiWebsocket.Config.class, factory = false) +@Designate(ocd = Config.class, factory = false) @Component(name = "UiWebsocket", configurationPolicy = ConfigurationPolicy.REQUIRE, immediate = true) public class UiWebsocket implements UiWebsocketService { @@ -37,14 +36,9 @@ public class UiWebsocket implements UiWebsocketService { @Reference protected volatile TimedataService timeDataService; - @ObjectClassDefinition - @interface Config { - int port(); - } - @Activate void activate(Config config) { - log.debug("Activate UiWebsocket [port=" + config.port() + "]"); + log.info("Activate UiWebsocket [port=" + config.port() + "]"); this.stopServer(); this.startServer(config.port()); @@ -52,7 +46,7 @@ void activate(Config config) { @Deactivate void deactivate() { - log.debug("Deactivate UiWebsocket"); + log.info("Deactivate UiWebsocket"); this.stopServer(); } diff --git a/io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java similarity index 97% rename from io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java rename to io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java index c51b329853d..09ea10f5c11 100644 --- a/io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java @@ -45,10 +45,13 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { // login using session_id from the cookie Optional sessionIdOpt = getFieldFromHandshakeCookie(handshake, "session_id"); try { - if (!sessionIdOpt.isPresent()) { - throw new OpenemsException("Session-ID is missing in handshake"); + if (sessionIdOpt.isPresent()) { + // authenticate with Session-ID + user = this.parent.metadataService.authenticate(sessionIdOpt.get()); + } else { + // authenticate without Session-ID + user = this.parent.metadataService.authenticate(); } - user = this.parent.metadataService.getUserWithSession(sessionIdOpt.get()); } catch (OpenemsException e) { // send connection failed to browser WebSocketUtils.sendOrLogError(websocket, DefaultMessages.uiLogoutReply()); diff --git a/io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java rename to io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java diff --git a/io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/package-info.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/package-info.java similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/src/io/openems/backend/uiwebsocket/impl/provider/package-info.java rename to io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/package-info.java diff --git a/io.openems.backend.uiwebsocket.impl.provider/test/io/openems/backend/uiwebsocket/impl/provider/ProviderImplTest.java b/io.openems.backend.uiwebsocket.impl/test/io/openems/backend/uiwebsocket/impl/provider/ProviderImplTest.java similarity index 100% rename from io.openems.backend.uiwebsocket.impl.provider/test/io/openems/backend/uiwebsocket/impl/provider/ProviderImplTest.java rename to io.openems.backend.uiwebsocket.impl/test/io/openems/backend/uiwebsocket/impl/provider/ProviderImplTest.java diff --git a/io.openems.common/src/io/openems/common/OpenemsConstants.java b/io.openems.common/src/io/openems/common/OpenemsConstants.java index 75b7fd7464e..82c9de1faec 100644 --- a/io.openems.common/src/io/openems/common/OpenemsConstants.java +++ b/io.openems.common/src/io/openems/common/OpenemsConstants.java @@ -1,9 +1,9 @@ package io.openems.common; public class OpenemsConstants { - + // public final static String OPENEMS_VERSION = "2018.7.0"; public final static String OPENEMS_VERSION = "2018.8.0-SNAPSHOT"; - + } diff --git a/io.openems.common/src/io/openems/common/config/Config.java b/io.openems.common/src/io/openems/common/config/Config.java deleted file mode 100644 index e35b7cc0c54..00000000000 --- a/io.openems.common/src/io/openems/common/config/Config.java +++ /dev/null @@ -1,52 +0,0 @@ -package io.openems.common.config; - -import java.util.Hashtable; -import java.util.Optional; - -public class Config extends Hashtable { - - // private final Logger log = LoggerFactory.getLogger(Config.class); - - private final String pid; - private final Optional idOpt; - private final boolean doNotStore; - - public Config(String pid) { - this(pid, null, false); - } - - public Config(String pid, String id) { - this(pid, id, false); - } - - public Config(String pid, boolean doNotStore) { - this(pid, null, doNotStore); - } - - public Config(String pid, String id, boolean doNotStore) { - this.pid = pid; - this.idOpt = Optional.ofNullable(id); - this.doNotStore = doNotStore; - this.put("service.pid", pid); - } - - public String getPid() { - return this.pid; - } - - public Optional getIdOpt() { - return this.idOpt; - } - - public boolean isDoNotStore() { - return this.doNotStore; - } - - private static final long serialVersionUID = 1L; - - @Override - public synchronized Object get(Object key) { - Object o = super.get(key); - return o; - } -} diff --git a/io.openems.common/src/io/openems/common/config/ConfigEnumeration.java b/io.openems.common/src/io/openems/common/config/ConfigEnumeration.java deleted file mode 100644 index 1868b33a7cc..00000000000 --- a/io.openems.common/src/io/openems/common/config/ConfigEnumeration.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.openems.common.config; - -import java.util.Enumeration; -import java.util.Iterator; - -class ConfigEnumeration implements Enumeration { - - // private final Logger log = LoggerFactory.getLogger(ConfigEnumeration.class); - - private final Iterator iterator; - - public ConfigEnumeration(Iterator iterator) { - this.iterator = iterator; - } - - public Config nextElement() { - Config config = iterator.next(); - // log.debug("Reading Config for PID ["+config.getPid()+"]"); - return config; - } - - public boolean hasMoreElements() { - return iterator.hasNext(); - } - -} \ No newline at end of file diff --git a/io.openems.common/src/io/openems/common/config/ConfigUtils.java b/io.openems.common/src/io/openems/common/config/ConfigUtils.java deleted file mode 100644 index 0655fa94ea4..00000000000 --- a/io.openems.common/src/io/openems/common/config/ConfigUtils.java +++ /dev/null @@ -1,87 +0,0 @@ -package io.openems.common.config; - -import java.io.IOException; -import java.nio.charset.Charset; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map.Entry; -import java.util.TreeMap; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; - -import io.openems.common.exceptions.NotImplementedException; -import io.openems.common.utils.JsonUtils; - -public class ConfigUtils { - - private final static Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); - - private final static Logger log = LoggerFactory.getLogger(ConfigUtils.class); - - protected static synchronized JsonArray readConfigFromFile(Path path) throws Exception { - if (!Files.exists(path)) { - throw new IOException("Configuration file [" + path.toAbsolutePath() + "] not found!"); - } - String config = new String(Files.readAllBytes(path), DEFAULT_CHARSET); - return JsonUtils.parse(config).getAsJsonArray(); - } - - protected static synchronized void writeConfigToFile(Path path, Collection configs) throws IOException { - // sort configs by ID to write them sorted - List sortedConfigs = new ArrayList(configs); - Collections.sort(sortedConfigs, (a, b) -> a.getIdOpt().orElse("").compareTo(b.getIdOpt().orElse(""))); - - // create JsonObject - JsonArray j = new JsonArray(); - for (Config config : sortedConfigs) { - if (config.isDoNotStore()) { - // ignore configs that should not be stored - continue; - } else if (config.containsKey("factory.pid") && config.containsKey("factory.pidList")) { - // ignore factory.pid configs: they are not necessary and are cluttering up the - // config - continue; - } - - JsonObject jSub = new JsonObject(); - // sort map by key to be able to write the json array sorted - TreeMap sortedSub = new TreeMap<>(); - for (Entry subEntry : config.entrySet()) { - sortedSub.put(subEntry.getKey(), subEntry.getValue()); - } - - for (Entry subEntry : sortedSub.entrySet()) { - String key = subEntry.getKey(); - if (key.endsWith(".target")) { - // ignore. Those are generated by '{name}.ids' keys and do not need to be stored - continue; - } else if (key.equals("service.bundleLocation") || key.equals("service.pid")) { - // ignore. Not required. Will be generated automatically. - continue; - } - try { - jSub.add(subEntry.getKey(), JsonUtils.getAsJsonElement(subEntry.getValue())); - } catch (NotImplementedException e) { - log.warn("Unable to store [" + config.getIdOpt().orElse(config.getPid()) + "/" + subEntry.getKey() - + "] value [" + subEntry.getValue() + "] in config: " + e.getMessage()); - } - } - j.add(jSub); - } - - // write to file - Gson gson = new GsonBuilder().setPrettyPrinting().create(); - String config = gson.toJson(j); - Files.write(path, config.getBytes(DEFAULT_CHARSET)); - } -} diff --git a/io.openems.common/src/io/openems/common/config/JsonPersistenceManager.java b/io.openems.common/src/io/openems/common/config/JsonPersistenceManager.java deleted file mode 100644 index 3868003d746..00000000000 --- a/io.openems.common/src/io/openems/common/config/JsonPersistenceManager.java +++ /dev/null @@ -1,208 +0,0 @@ -package io.openems.common.config; - -import java.io.IOException; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Dictionary; -import java.util.Enumeration; -import java.util.Map.Entry; -import java.util.TreeMap; - -import org.apache.felix.cm.NotCachablePersistenceManager; -import org.apache.felix.cm.PersistenceManager; -import org.osgi.service.component.annotations.Activate; -import org.osgi.service.component.annotations.Deactivate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; - -import io.openems.common.exceptions.OpenemsException; -import io.openems.common.utils.JsonUtils; - -//@Component(property = "ranking=100", immediate = true) -public class JsonPersistenceManager implements PersistenceManager, NotCachablePersistenceManager { - - private final Logger log = LoggerFactory.getLogger(JsonPersistenceManager.class); - - private final static Path CONFIG_FILE = Paths.get(System.getProperty("configFile")); - - private final TreeMap configs = new TreeMap<>(); - - @Activate - void activate() { - // Load default configuration - loadDefaultConfig(); - - // read Json from file - JsonArray jConfig; - try { - jConfig = ConfigUtils.readConfigFromFile(CONFIG_FILE); - } catch (Exception e) { - log.error(e.getMessage()); - return; - } - - // parse config + fill configMap - parseJsonToConfigMap(jConfig); - } - - @Deactivate - void deactivate() { - this.configs.clear(); - } - - @Override - public void delete(String pid) throws IOException { - synchronized (this.configs) { - if (this.configs.remove(pid) != null) { - this.saveConfigMapToFile(); - } - } - } - - @Override - public boolean exists(String pid) { - synchronized (this.configs) { - return this.configs.containsKey(pid); - } - } - - @Override - public Enumeration getDictionaries() throws IOException { - return new ConfigEnumeration(this.configs.values().iterator()); - } - - @SuppressWarnings("rawtypes") - @Override - public Dictionary load(String pid) throws IOException { - synchronized (this.configs) { - return this.configs.get(pid); - } - } - - @Override - public void store(String pid, @SuppressWarnings("rawtypes") Dictionary values) throws IOException { - boolean configNeedsToBeAdded = false; - boolean configChanged = false; - synchronized (this.configs) { - // Throw error if this "id" is already existing - String newId = (String) values.get("id"); - if (newId != null) { - for (Config existingConfig : this.configs.values()) { - String existingId = existingConfig.getIdOpt().orElse(null); - if (existingId != null && newId.equals(existingId)) { - throw new IOException("Unable to store ID [" + newId - + "]. A configuration with the same ID is already existing."); - } - } - } - - Config config = this.configs.get(pid); - if (config == null) { - config = new Config(pid, newId); - configNeedsToBeAdded = true; - configChanged = true; - } - Enumeration keys = values.keys(); - while (keys.hasMoreElements()) { - String key = (String) keys.nextElement(); - Object newValue = values.get(key); - Object existingValue = config.get(key); - if (existingValue == null || (existingValue != null && !existingValue.equals(newValue))) { - config.put(key, newValue); - configChanged = true; - } - } - if (configNeedsToBeAdded) { - this.configs.put(pid, config); - } - if (configChanged) { - this.saveConfigMapToFile(); - } - } - } - - private void parseJsonToConfigMap(JsonArray jConfigArray) { - int nextPid = 0; - synchronized (this.configs) { - for (JsonElement jConfigElement : jConfigArray) { - try { - JsonObject jConfig = JsonUtils.getAsJsonObject(jConfigElement); - String pid = JsonUtils.getAsOptionalString(jConfig, "service.pid").orElse("pid" + nextPid++); - String id = JsonUtils.getAsOptionalString(jConfig, "id").orElse(""); - Config thisConfig = new Config(pid, id); - for (Entry thisConfigEntry : jConfig.entrySet()) { - String key = thisConfigEntry.getKey(); - JsonElement jValue = thisConfigEntry.getValue(); - try { - thisConfig.put(key, JsonUtils.getAsBestType(jValue)); - } catch (OpenemsException e) { - log.error("Config failed [" + key + ":" + jValue + "]: " + e.getMessage()); - } - /* - * Find configuration keys in the form "{name}.id" or "{name}.ids". If found, a - * new configuration property for "{name}.target" is created. This automates the - * mapping of "@Reference"s to OpenemsComponents. Example: - items.ids = ['id0', - * 'id1'] creates target filter '(|(id=id0)(id=id1))' - item.id = 'id0' creates - * target filter '(id=id0)' - */ - if (key.endsWith(".ids") || key.endsWith(".id")) { - // create target filter - String target; - if (jValue.isJsonArray()) { - StringBuilder targetBuilder = new StringBuilder("(|"); - for (JsonElement j : jValue.getAsJsonArray()) { - targetBuilder.append("(id=" + j.getAsString() + ")"); - } - targetBuilder.append(")"); - target = targetBuilder.toString(); - } else { - target = "(id=" + jValue.getAsString() + ")"; - } - // remove suffix - if (key.endsWith(".ids")) { - key = key.substring(0, key.length() - 4); - } else { - key = key.substring(0, key.length() - 3); - } - // add config - thisConfig.put(key + ".target", target); - } - } - this.configs.put(pid, thisConfig); - } catch (OpenemsException e) { - log.warn("Unable to parse config [" + jConfigElement + "]: " + e.getMessage()); - } - } - } - } - - private void saveConfigMapToFile() { - synchronized (this.configs) { - try { - ConfigUtils.writeConfigToFile(JsonPersistenceManager.CONFIG_FILE, this.configs.values()); - } catch (IOException e) { - log.error("Unable to write config to file: " + e.getMessage()); - } - } - } - - private void loadDefaultConfig() { - synchronized (this.configs) { - Config log4j = new Config("org.ops4j.pax.logging", true); - log4j.put("log4j.rootLogger", "DEBUG, CONSOLE"); - log4j.put("log4j.appender.CONSOLE", "org.apache.log4j.ConsoleAppender"); - log4j.put("log4j.appender.CONSOLE.layout", "org.apache.log4j.PatternLayout"); - log4j.put("log4j.appender.CONSOLE.layout.ConversionPattern", "%d{ISO8601} [%-8.8t] %-5p [%-30.30c] - %m%n"); - // set minimum log levels for some verbose packages - log4j.put("log4j.logger.org.eclipse.osgi", "WARN"); - log4j.put("log4j.logger.org.apache.felix.configadmin", "INFO"); - log4j.put("log4j.logger.sun.net.www.protocol.http.HttpURLConnection", "INFO"); - log4j.put("log4j.logger.com.ghgande.j2mod", "INFO"); - this.configs.put(log4j.getPid(), log4j); - } - } -} diff --git a/io.openems.common/src/io/openems/common/websocket/DefaultMessages.java b/io.openems.common/src/io/openems/common/websocket/DefaultMessages.java index 1fce0421965..b481d5213c8 100644 --- a/io.openems.common/src/io/openems/common/websocket/DefaultMessages.java +++ b/io.openems.common/src/io/openems/common/websocket/DefaultMessages.java @@ -43,6 +43,7 @@ private static JsonObject newMessage(JsonObject jMessageId) { * name: String, * comment: String, * producttype: String, + * version: String, * role: "admin" | "installer" | "owner" | "guest", * online: boolean * }] diff --git a/io.openems.edge.application/EdgeApp.bndrun b/io.openems.edge.application/EdgeApp.bndrun index 17910bfd19c..78c665706c9 100644 --- a/io.openems.edge.application/EdgeApp.bndrun +++ b/io.openems.edge.application/EdgeApp.bndrun @@ -45,7 +45,6 @@ JPM-Command: openems-edge -resolve: auto -runbundles: \ com.google.gson;version='[2.8.2,2.8.3)',\ - com.google.guava;version='[19.0.0,19.0.1)',\ com.sun.jna;version='[4.2.2,4.2.3)',\ io.openems.common;version=snapshot,\ io.openems.edge.application;version=snapshot,\ @@ -97,4 +96,5 @@ JPM-Command: openems-edge osgi.enroute.bostock.d3.webresource;version='[3.5.6,3.5.7)',\ osgi.enroute.executor.simple.provider;version='[2.1.0,2.1.1)',\ osgi.enroute.web.simple.provider;version='[2.1.0,2.1.1)',\ - osgi.enroute.webconsole.xray.provider;version='[2.1.0,2.1.1)' \ No newline at end of file + osgi.enroute.webconsole.xray.provider;version='[2.1.0,2.1.1)',\ + com.google.guava;version='[23.6.0,23.6.1)' \ No newline at end of file diff --git a/io.openems.edge.application/bnd.bnd b/io.openems.edge.application/bnd.bnd index d35160e4191..ed60b471d54 100644 --- a/io.openems.edge.application/bnd.bnd +++ b/io.openems.edge.application/bnd.bnd @@ -2,8 +2,9 @@ Bundle-Name: OpenEMS Edge Bundle-Vendor: FENECON GmbH Bundle-License: https://opensource.org/licenses/EPL-2.0 Bundle-Version: 1.0.0.${tstamp} -Private-Package: \ - io.openems.edge.application +Private-Package: \ + io.openems.edge.application,\ + io.openems.edge.common.meta EnRoute-Application: io.openems.edge.application -includeresource: \ @@ -15,7 +16,8 @@ EnRoute-Application: io.openems.edge.application io.openems.common;version=latest,\ io.openems.edge.scheduler.api;version=latest,\ io.openems.edge.common;version=latest,\ - io.openems.wrapper.sdnotify;version=latest + io.openems.wrapper.sdnotify;version=latest,\ + com.google.guava -testpath: \ osgi.enroute.junit.wrapper;version=4.12 diff --git a/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java b/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java index db459d3c63c..9af641c2221 100644 --- a/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java +++ b/io.openems.edge.application/src/io/openems/edge/application/EdgeApp.java @@ -12,6 +12,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.base.Strings; + import info.faljse.SDNotify.SDNotify; import io.openems.common.OpenemsConstants; @@ -25,7 +27,11 @@ public class EdgeApp { @Activate void activate() { - log.info("OpenEMS version [" + OpenemsConstants.OPENEMS_VERSION + "] started"); + String message = "OpenEMS version [" + OpenemsConstants.OPENEMS_VERSION + "] started"; + String line = Strings.repeat("=", message.length()); + log.info(line); + log.info(message); + log.info(line); Configuration config; try { diff --git a/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs b/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs index fbe76c1cbb8..ac43d78d65c 100644 --- a/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs +++ b/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs @@ -4,6 +4,7 @@ encoding//src/io/openems/edge/common/channel/merger/package-info.java=UTF-8 encoding//src/io/openems/edge/common/channel/package-info.java=UTF-8 encoding//src/io/openems/edge/common/component/package-info.java=UTF-8 encoding//src/io/openems/edge/common/controllerexecutor/package-info.java=UTF-8 +encoding//src/io/openems/edge/common/meta/Meta.java=UTF-8 encoding//src/io/openems/edge/common/worker/package-info.java=UTF-8 encoding//test/.gitignore=UTF-8 encoding/bnd.bnd=UTF-8 diff --git a/io.openems.edge.common/bnd.bnd b/io.openems.edge.common/bnd.bnd index e13f0fac75e..627e8f4c21f 100644 --- a/io.openems.edge.common/bnd.bnd +++ b/io.openems.edge.common/bnd.bnd @@ -28,3 +28,4 @@ Export-Package: \ -testpath: \ osgi.enroute.junit.wrapper;version=4.12, \ osgi.enroute.hamcrest.wrapper;version=1.3 +Private-Package: io.openems.edge.common.meta \ No newline at end of file diff --git a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java index b1f5966c23c..9dc682b4c4a 100644 --- a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java +++ b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java @@ -15,6 +15,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import io.openems.common.OpenemsConstants; import io.openems.common.exceptions.OpenemsException; import io.openems.common.utils.JsonUtils; import io.openems.common.utils.SecureRandomSingleton; @@ -160,6 +161,7 @@ private void handleAuthenticationSuccessful(UiEdgeWebsocketHandler handler, User jEdge.addProperty("name", "fems0"); jEdge.addProperty("comment", "FEMS"); jEdge.addProperty("producttype", ""); + jEdge.addProperty("version", OpenemsConstants.OPENEMS_VERSION); jEdge.add("role", user.getRole().asJson()); jEdge.addProperty("online", true); JsonArray jEdges = new JsonArray(); From 0001116c7f653d42766c261f150878ae2091f6ae Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 27 May 2018 22:51:54 +0200 Subject: [PATCH 08/50] Improve callbacks --- .../edge/common/channel/AbstractReadChannel.java | 9 ++++----- .../src/io/openems/edge/common/channel/doc/Doc.java | 12 +++++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java b/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java index 9a1f56ed49b..5bd460c097b 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java +++ b/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java @@ -1,7 +1,6 @@ package io.openems.edge.common.channel; import java.util.List; -import java.util.Optional; import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Consumer; @@ -53,10 +52,10 @@ public AbstractReadChannel(OpenemsType type, OpenemsComponent component, Channel } } // call onInitCallback from Doc - Optional>> onInitCallback = this.channelId.doc().getOnInitCallback(); - if (onInitCallback.isPresent()) { - onInitCallback.get().accept(this); - } + this.channelId.doc().getOnInitCallback().forEach(callback -> { + callback.accept(this); + }); + // set initial value this.setNextValue(initialValue); } diff --git a/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Doc.java b/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Doc.java index 927435577dd..97b74fd4d35 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Doc.java +++ b/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Doc.java @@ -1,6 +1,8 @@ package io.openems.edge.common.channel.doc; +import java.util.List; import java.util.Optional; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Consumer; import com.google.common.base.CaseFormat; @@ -238,7 +240,7 @@ public boolean isDebug() { /* * On Channel initialisation Callback */ - private Optional>> onInitCallbackOpt = Optional.empty(); + private final List>> onInitCallback = new CopyOnWriteArrayList<>(); /** * Provides a callback on initialisation of the actual Channel @@ -246,12 +248,12 @@ public boolean isDebug() { * @param channel * @return */ - public Doc onInit(Consumer> channel) { - this.onInitCallbackOpt = Optional.ofNullable(channel); + public Doc onInit(Consumer> callback) { + this.onInitCallback.add(callback); return this; } - public Optional>> getOnInitCallback() { - return onInitCallbackOpt; + public List>> getOnInitCallback() { + return onInitCallback; } } From f5d49f8ceff42e8d23c695e19448dfcabe3ae5b2 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 27 May 2018 22:52:22 +0200 Subject: [PATCH 09/50] Fix Value toString() --- .../src/io/openems/edge/common/channel/value/Value.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java b/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java index 4883ae3d452..994cb130a04 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java +++ b/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java @@ -37,7 +37,11 @@ public String asString() { } public String toString() { - return this.parent.channelDoc().getUnit().format(this.value, this.parent.getType()); + if (this.value == null) { + return UNDEFINED_VALUE_STRING; + } else { + return this.parent.channelDoc().getUnit().format(this.value, this.parent.getType()); + } } /** From 660b4c6a0f956699831d4e431146ecbdb901626e Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 27 May 2018 22:52:55 +0200 Subject: [PATCH 10/50] Add OpenemsComponent "_meta"; active by default --- .../src/io/openems/edge/common/meta/Meta.java | 53 +++++++++++++++++++ .../io/openems/edge/common/meta/Utils.java | 30 +++++++++++ .../edge/common/meta/package-info.java | 2 + 3 files changed, 85 insertions(+) create mode 100644 io.openems.edge.common/src/io/openems/edge/common/meta/Meta.java create mode 100644 io.openems.edge.common/src/io/openems/edge/common/meta/Utils.java create mode 100644 io.openems.edge.common/src/io/openems/edge/common/meta/package-info.java diff --git a/io.openems.edge.common/src/io/openems/edge/common/meta/Meta.java b/io.openems.edge.common/src/io/openems/edge/common/meta/Meta.java new file mode 100644 index 00000000000..4db8566278e --- /dev/null +++ b/io.openems.edge.common/src/io/openems/edge/common/meta/Meta.java @@ -0,0 +1,53 @@ +package io.openems.edge.common.meta; + +import java.util.Map; + +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; + +import io.openems.common.types.OpenemsType; +import io.openems.edge.common.channel.doc.Doc; +import io.openems.edge.common.component.AbstractOpenemsComponent; +import io.openems.edge.common.component.OpenemsComponent; + +@Component(name = "Core.Meta", immediate = true, property = { "id=_meta", "enabled=true" }) +public class Meta extends AbstractOpenemsComponent implements OpenemsComponent { + + public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { + /** + * OpenEMS Version + * + *
        + *
      • Interface: Meta + *
      • Type: String + *
      + */ + VERSION(new Doc().type(OpenemsType.STRING)); + + private final Doc doc; + + private ChannelId(Doc doc) { + this.doc = doc; + } + + public Doc doc() { + return this.doc; + } + } + + public Meta() { + Utils.initializeChannels(this).forEach(channel -> this.addChannel(channel)); + } + + @Activate + void activate(ComponentContext context, Map properties) { + super.activate(context, "_meta", "_meta", true); + } + + @Deactivate + protected void deactivate() { + super.deactivate(); + } +} diff --git a/io.openems.edge.common/src/io/openems/edge/common/meta/Utils.java b/io.openems.edge.common/src/io/openems/edge/common/meta/Utils.java new file mode 100644 index 00000000000..ba525f85289 --- /dev/null +++ b/io.openems.edge.common/src/io/openems/edge/common/meta/Utils.java @@ -0,0 +1,30 @@ +package io.openems.edge.common.meta; + +import java.util.Arrays; +import java.util.stream.Stream; + +import io.openems.common.OpenemsConstants; +import io.openems.edge.common.channel.AbstractReadChannel; +import io.openems.edge.common.channel.StateChannel; +import io.openems.edge.common.channel.StringReadChannel; +import io.openems.edge.common.component.OpenemsComponent; + +public class Utils { + public static Stream> initializeChannels(Meta c) { + return Stream.of( // + Arrays.stream(OpenemsComponent.ChannelId.values()).map(channelId -> { + switch (channelId) { + case STATE: + return new StateChannel(c, channelId); + } + return null; + }), Arrays.stream(Meta.ChannelId.values()).map(channelId -> { + switch (channelId) { + case VERSION: + return new StringReadChannel(c, channelId, OpenemsConstants.OPENEMS_VERSION); + } + return null; + }) // + ).flatMap(channel -> channel); + } +} diff --git a/io.openems.edge.common/src/io/openems/edge/common/meta/package-info.java b/io.openems.edge.common/src/io/openems/edge/common/meta/package-info.java new file mode 100644 index 00000000000..5fba8bfe572 --- /dev/null +++ b/io.openems.edge.common/src/io/openems/edge/common/meta/package-info.java @@ -0,0 +1,2 @@ +@org.osgi.annotation.versioning.Version("1.0.0") +package io.openems.edge.common.meta; From b01aa18885035ac589356c50e86f0cbbbc51f5c8 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 27 May 2018 22:53:48 +0200 Subject: [PATCH 11/50] Handle Edge version in UI. Provide 'isVersionAtLeast()' helper function for version-aware features --- ui/package-lock.json | 5 +++++ ui/package.json | 1 + ui/src/app/shared/edge/edge.ts | 13 +++++++++++++ ui/src/app/shared/service/websocket.ts | 1 + 4 files changed, 20 insertions(+) diff --git a/ui/package-lock.json b/ui/package-lock.json index 8e05b82163d..69a4fb1fec3 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -12046,6 +12046,11 @@ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true }, + "semver-compare-multi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/semver-compare-multi/-/semver-compare-multi-1.0.3.tgz", + "integrity": "sha1-PhaVtL2MStvQGsHEb6CEZtNp3Ug=" + }, "semver-dsl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", diff --git a/ui/package.json b/ui/package.json index 09b3577ae21..e58e8688953 100644 --- a/ui/package.json +++ b/ui/package.json @@ -55,6 +55,7 @@ "ngx-loading": "^1.0.14", "roboto-fontface": "0.8.0", "rxjs": "^5.5.6", + "semver-compare-multi": "^1.0.3", "web-animations-js": "^2.3.1", "zone.js": "^0.8.19" }, diff --git a/ui/src/app/shared/edge/edge.ts b/ui/src/app/shared/edge/edge.ts index 309d30d8c32..f4cb24f9735 100644 --- a/ui/src/app/shared/edge/edge.ts +++ b/ui/src/app/shared/edge/edge.ts @@ -5,6 +5,7 @@ import { Observer } from 'rxjs/Observer'; import { Observable } from 'rxjs/Observable'; import { UUID } from 'angular2-uuid'; import 'rxjs/add/operator/combineLatest'; +import { cmp } from 'semver-compare-multi'; import { Websocket } from '../shared'; import { ConfigImpl } from './config'; @@ -30,6 +31,7 @@ export class Edge { public readonly name: string, public readonly comment: string, public readonly producttype: string, + public readonly version: string, public readonly role: Role, public online: boolean, private replyStreams: { [messageId: string]: Subject }, @@ -182,4 +184,15 @@ export class Edge { }); }) } + + /** + * Returns whether the given version is higher than the Edge' version + * + * Example: {{ edge.isVersionAtLeast('2018.9') }} + * + * @param version + */ + public isVersionAtLeast(version: string): boolean { + return cmp(this.version, version) >= 0; + } } \ No newline at end of file diff --git a/ui/src/app/shared/service/websocket.ts b/ui/src/app/shared/service/websocket.ts index b3a4b504166..79332188d3f 100644 --- a/ui/src/app/shared/service/websocket.ts +++ b/ui/src/app/shared/service/websocket.ts @@ -214,6 +214,7 @@ export class Websocket { edge.name, edge.comment, edge.producttype, + ("version" in edge) ? edge["version"] : "0.0.0", Role.getRole(edge.role), edge.online, replyStream, From 562d39a39aeb97f270d3aa930ecded7172251408 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Mon, 28 May 2018 09:21:31 +0200 Subject: [PATCH 12/50] Improve .gitgnore definitions (thanks to gitignore.io) --- .gitignore | 212 ++++++++++++++++++++++++++++++++++++++++++++- cnf/src/.gitignore | 0 edge/.gitignore | 13 --- ui/.gitignore | 46 ---------- 4 files changed, 209 insertions(+), 62 deletions(-) delete mode 100644 cnf/src/.gitignore delete mode 100644 edge/.gitignore delete mode 100644 ui/.gitignore diff --git a/.gitignore b/.gitignore index ca6309369f9..a776abee952 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,211 @@ + +# Created by https://www.gitignore.io/api/java,maven,gradle,angular,eclipse,node + +### Angular ### +## Angular ## +# compiled output +/dist +/tmp +/app/**/*.js +/app/**/*.js.map + +# dependencies +/node_modules +/bower_components + +# IDEs and editors +/.idea + +# misc +/.sass-cache +/connect.lock +/coverage/* +/libpeerconnection.log +npm-debug.log +testem.log +/typings + +# e2e +/e2e/*.js +/e2e/*.map + +#System Files .DS_Store -.gradle/ -/generated/ -enroute.zip + +### Eclipse ### + .metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +### Eclipse Patch ### +# Eclipse Core +.project + +# JDT-specific (Eclipse Java Development Tools) +.classpath + +# Annotation Processing +.apt_generated + +### Java ### +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +### Maven ### +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties + +# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored) +!/.mvn/wrapper/maven-wrapper.jar + +### Node ### +# Logs +logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +### Gradle ### +.gradle +**/build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 +# gradle/wrapper/gradle-wrapper.properties + + +# End of https://www.gitignore.io/api/java,maven,gradle,angular,eclipse,node diff --git a/cnf/src/.gitignore b/cnf/src/.gitignore deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/edge/.gitignore b/edge/.gitignore deleted file mode 100644 index 0a2eec20c36..00000000000 --- a/edge/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -*.class - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* -/target/ -/openems diff --git a/ui/.gitignore b/ui/.gitignore deleted file mode 100644 index 5747e84395d..00000000000 --- a/ui/.gitignore +++ /dev/null @@ -1,46 +0,0 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. - -# compiled output -/dist -/dist-server -/tmp -/out-tsc - -# dependencies -/node_modules - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - -# misc -/.sass-cache -/connect.lock -/coverage -/libpeerconnection.log -npm-debug.log -testem.log -/typings -yarn-error.log -/node -/target - -# e2e -/e2e/*.js -/e2e/*.map - -# System Files -.DS_Store -Thumbs.db From 507c1c3af83b16f4ade7392a919a72a8c9372e46 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Mon, 28 May 2018 10:18:24 +0200 Subject: [PATCH 13/50] Improve gitignore --- cnf/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cnf/.gitignore b/cnf/.gitignore index bb3d1dda901..efdb0ff90d8 100644 --- a/cnf/.gitignore +++ b/cnf/.gitignore @@ -2,3 +2,5 @@ /bin/ /cache/ local/index.* +index.xml.sha +index.xml \ No newline at end of file From cf97ad80bf2aec59590998ddb0c65aab8b239324 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Mon, 28 May 2018 17:49:10 +0200 Subject: [PATCH 14/50] Remove old, outdated config templates. --- setup/templates/FENECON Commercial AC.json | 83 -------------- setup/templates/FENECON Commercial DC.json | 93 --------------- .../templates/FENECON Commercial Hybrid.json | 103 ----------------- setup/templates/FENECON Mini.json | 61 ---------- setup/templates/FENECON Pro 9-12.json | 106 ----------------- setup/templates/FENECON Pro AC-Insel.json | 96 ---------------- setup/templates/FENECON Pro Cluster.json | 94 --------------- setup/templates/FENECON Pro Heizstab.json | 107 ------------------ .../FENECON Pro W\303\244rmepumpe.json" | 103 ----------------- 9 files changed, 846 deletions(-) delete mode 100644 setup/templates/FENECON Commercial AC.json delete mode 100644 setup/templates/FENECON Commercial DC.json delete mode 100644 setup/templates/FENECON Commercial Hybrid.json delete mode 100644 setup/templates/FENECON Mini.json delete mode 100644 setup/templates/FENECON Pro 9-12.json delete mode 100644 setup/templates/FENECON Pro AC-Insel.json delete mode 100644 setup/templates/FENECON Pro Cluster.json delete mode 100644 setup/templates/FENECON Pro Heizstab.json delete mode 100644 "setup/templates/FENECON Pro W\303\244rmepumpe.json" diff --git a/setup/templates/FENECON Commercial AC.json b/setup/templates/FENECON Commercial AC.json deleted file mode 100644 index 3fbeadf5560..00000000000 --- a/setup/templates/FENECON Commercial AC.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusTcp", - "ip": "10.4.0.15", - "devices": [ - { - "class": "io.openems.impl.device.commercial.FeneconCommercialAC", - "modbusUnitId": 100, - "ess": { - "id": "ess0", - "minSoc": 15, - "chargeSoc": 10 - } - } - ] - }, - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 5, - "meter": { - "id": "meter0", - "type": "grid" - } - }, - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 6, - "meter": { - "id": "meter1", - "type": "production" - } - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "controllers": [ - { - "priority": 150, - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": "ess0", - "meters": "meter0" - }, - { - "priority": 100, - "class": "io.openems.impl.controller.symmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "esss": "ess0" - }, - { - "priority": 50, - "class": "io.openems.impl.controller.symmetric.balancing.BalancingController", - "esss": "ess0", - "meter": "meter0" - }, - { - "priority": 0, - "class": "io.openems.impl.controller.symmetric.commercialenergysaver.EnergysavingController", - "esss": "ess0" - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} \ No newline at end of file diff --git a/setup/templates/FENECON Commercial DC.json b/setup/templates/FENECON Commercial DC.json deleted file mode 100644 index 41416fcbc27..00000000000 --- a/setup/templates/FENECON Commercial DC.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusTcp", - "ip": "10.4.0.15", - "cycleTime": 500, - "devices": [ - { - "id": "_device0", - "class": "io.openems.impl.device.commercial.FeneconCommercialDC", - "modbusUnitId": 100, - "ess": { - "id": "ess0", - "minSoc": 15, - "chargeSoc": 10 - }, - "charger": { - "id": "charger0" - } - } - ] - }, - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "databits": 8, - "serialinterface": "/dev/ttyUSB0", - "parity": "none", - "baudrate": 9600, - "stopbits": 1, - "cycleTime": 500, - "devices": [ - { - "id": "_device1", - "class": "io.openems.impl.device.socomec.Socomec", - "meter": { - "id": "meter0", - "type": "grid" - }, - "modbusUnitId": 5 - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "cycleTime": 500, - "controllers": [ - { - "class": "io.openems.impl.controller.symmetric.commercialworkstate.AlwaysOnController", - "priority": 0, - "esss": [ - "ess0" - ] - }, - { - "class": "io.openems.impl.controller.symmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "priority": 100, - "esss": [ - "ess0" - ] - }, - { - "class": "io.openems.impl.controller.symmetric.balancing.BalancingController", - "esss": [ - "ess0" - ], - "meter": "meter0", - "priority": 50 - }, - { - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": [ - "ess0" - ], - "priority": 150, - "meters": [ - "meter0" - ] - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} \ No newline at end of file diff --git a/setup/templates/FENECON Commercial Hybrid.json b/setup/templates/FENECON Commercial Hybrid.json deleted file mode 100644 index 993beb25323..00000000000 --- a/setup/templates/FENECON Commercial Hybrid.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusTcp", - "ip": "10.4.0.15", - "port": 502, - "devices": [ - { - "class": "io.openems.impl.device.commercial.FeneconCommercialDC", - "ess": { - "id": "ess0", - "minSoc": 15, - "chargeSoc": 10 - }, - "charger": { - "id": "charger0" - }, - "modbusUnitId": 100 - } - ] - }, - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 5, - "meter": { - "id": "meter0", - "type": "grid" - } - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "controllers": [ - { - "class": "io.openems.impl.controller.symmetric.commercialworkstate.AlwaysOnController", - "priority": 0, - "esss": [ - "ess0" - ] - }, - { - "class": "io.openems.impl.controller.symmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "priority": 100, - "esss": [ - "ess0" - ], - "maxSoc": 95 - }, - { - "class": "io.openems.impl.controller.symmetric.balancingsurplus.BalancingSurplusController", - "meter": "meter0", - "ess": "ess0", - "priority": 50, - "surplusMinSoc": 85, - "chargers": [ - "charger0" - ] - }, - { - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "priority": 151, - "esss": [ - "ess0" - ], - "meters": [ - "meter0", - "meter1" - ] - }, - { - "class": "io.openems.impl.controller.api.websocket.WebsocketApiController", - "port": 8085, - "priority": -2147483648 - }, - { - "class": "io.openems.impl.controller.api.rest.RestApiController", - "priority": -2147483648, - "port": 8084 - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} \ No newline at end of file diff --git a/setup/templates/FENECON Mini.json b/setup/templates/FENECON Mini.json deleted file mode 100644 index 61ddfa0694a..00000000000 --- a/setup/templates/FENECON Mini.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.minireadonly.FeneconMini", - "modbusUnitId": 4, - "ess": { - "id": "ess0", - "minSoc": 15 - }, - "gridMeter": { - "id": "meter0" - }, - "productionMeter": { - "id": "meter1" - }, - "consumptionMeter": { - "id": "meter2" - } - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "cycleTime": 10000, - "controllers": [ - { - "priority": 150, - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": [ - "ess0" - ], - "meters": [ - "meter0", - "meter1", - "meter2" - ] - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} - diff --git a/setup/templates/FENECON Pro 9-12.json b/setup/templates/FENECON Pro 9-12.json deleted file mode 100644 index fa58051aa3a..00000000000 --- a/setup/templates/FENECON Pro 9-12.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.system.SystemBridge", - "devices": [ - { - "class": "io.openems.impl.device.system.System", - "system": { - "id": "system0", - "class": "io.openems.impl.device.system.SystemNature" - } - }, - { - "class": "io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEss", - "wrapper": { - "id": "ess1", - "class": "io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEssNature", - "ess": "ess0", - "chargeSoc": 0, - "minSoc": 0 - } - } - ] - }, - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.pro.FeneconPro", - "modbusUnitId": 4, - "ess": { - "id": "ess0", - "minSoc": 15 - }, - "meter": { - "id": "meter1" - } - }, - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 5, - "meter": { - "id": "meter0", - "type": "grid" - } - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "controllers": [ - { - "priority": 150, - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": [ - "ess0" - ], - "meters": [ - "meter0", - "meter1" - ], - "rtc": "ess0" - }, - { - "priority": 100, - "class": "io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "esss": "ess0" - }, - { - "priority": 50, - "class": "io.openems.impl.controller.symmetric.balancing.BalancingController", - "esss": "ess1", - "meter": "meter0" - }, - { - "class": "io.openems.impl.controller.systemstate.alwayson.AlwaysOnController", - "priority": 0, - "esss": [ - "ess0" - ] - }, - { - "priority": 1, - "class": "io.openems.impl.controller.clocksync.ClockSyncController", - "rtc": "ess0" - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} \ No newline at end of file diff --git a/setup/templates/FENECON Pro AC-Insel.json b/setup/templates/FENECON Pro AC-Insel.json deleted file mode 100644 index b4407b765fd..00000000000 --- a/setup/templates/FENECON Pro AC-Insel.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.pro.FeneconPro", - "modbusUnitId": 4, - "ess": { - "id": "ess0", - "minSoc": 15 - }, - "meter": { - "id": "meter1" - } - }, - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 5, - "meter": { - "id": "meter0", - "type": "grid" - } - }, - { - "class": "io.openems.impl.device.kmtronic.KMTronicRelay", - "output": { - "id": "output0" - }, - "modbusUnitId": 1 - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "controllers": [ - { - "priority": 150, - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": [ "ess0" ], - "meters": [ "meter0", "meter1" ], - "rtc": "ess0" - }, - { - "priority": 100, - "class": "io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "esss": "ess0" - }, - { - "priority": 50, - "class": "io.openems.impl.controller.asymmetric.balancing.BalancingController", - "esss": "ess0", - "meter": "meter0" - }, - { - "priority": 1, - "class": "io.openems.impl.controller.clocksync.ClockSyncController", - "rtc": "ess0" - }, - { - "priority": 0, - "class": "io.openems.impl.controller.feneconprosetup.FeneconProSetupController", - "esss": "ess0" - }, - { - "class": "io.openems.impl.controller.acisland.AcIsland", - "minSoc": 90, - "onGridOutputChannelAddress": "output0/2", - "offGridOutputChannelAddress": "output0/3", - "maxSoc": 95, - "switchDelay": 10000, - "ess": "ess0", - "priority": 0 - } - - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} - diff --git a/setup/templates/FENECON Pro Cluster.json b/setup/templates/FENECON Pro Cluster.json deleted file mode 100644 index 2a9d1445910..00000000000 --- a/setup/templates/FENECON Pro Cluster.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.pro.FeneconPro", - "modbusUnitId": 4, - "ess": { - "id": "ess0", - "minSoc": 15 - }, - "meter": { - "id": "meter1" - } - }, - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 5, - "meter": { - "id": "meter0", - "type": "grid" - } - } - ] - }, - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB1", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.pro.FeneconPro", - "modbusUnitId": 4, - "ess": { - "id": "ess1", - "minSoc": 15 - }, - "meter": { - "id": "meter2" - } - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "controllers": [ - { - "priority": 150, - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": [ "ess0", "ess1" ], - "meters": [ "meter0", "meter1", "meter2" ], - "rtc": "ess0" - }, - { - "priority": 100, - "class": "io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "esss": [ "ess0", "ess1" ] - }, - { - "priority": 50, - "class": "io.openems.impl.controller.asymmetric.balancing.BalancingController", - "esss": [ "ess0", "ess1" ], - "meter": "meter0" - }, - { - "priority": 1, - "class": "io.openems.impl.controller.clocksync.ClockSyncController", - "rtc": "ess0" - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} - diff --git a/setup/templates/FENECON Pro Heizstab.json b/setup/templates/FENECON Pro Heizstab.json deleted file mode 100644 index 203b385b971..00000000000 --- a/setup/templates/FENECON Pro Heizstab.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.pro.FeneconPro", - "modbusUnitId": 4, - "ess": { - "id": "ess0", - "minSoc": 15 - }, - "meter": { - "id": "meter1" - } - }, - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 5, - "meter": { - "id": "meter0", - "type": "grid" - } - }, - { - "class": "io.openems.impl.device.kmtronic.KMTronicRelayRev1", - "output": { - "id": "output0" - }, - "modbusUnitId": 1 - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "controllers": [ - { - "priority": 150, - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": [ "ess0" ], - "meters": [ "meter0", "meter1" ], - "rtc": "ess0" - }, - { - "priority": 100, - "class": "io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "esss": "ess0" - }, - { - "priority": 50, - "class": "io.openems.impl.controller.asymmetric.balancing.BalancingController", - "esss": "ess0", - "meter": "meter0" - }, - { - "priority": 1, - "class": "io.openems.impl.controller.clocksync.ClockSyncController", - "rtc": "ess0" - }, - { - "class": "io.openems.impl.controller.channelthreshold.ChannelThresholdController", - "priority": 60, - "thresholdChannelAddress": "ess0/Soc", - "outputChannelAddress": "output0/2", - "lowerThreshold": 92, - "upperThreshold": 100, - "hysteresis": 5 - }, - { - "class": "io.openems.impl.controller.channelthreshold.ChannelThresholdController", - "priority": 59, - "thresholdChannelAddress": "ess0/Soc", - "outputChannelAddress": "output0/3", - "lowerThreshold": 94, - "upperThreshold": 100, - "hysteresis": 5 - }, - { - "class": "io.openems.impl.controller.channelthreshold.ChannelThresholdController", - "priority": 58, - "thresholdChannelAddress": "ess0/Soc", - "outputChannelAddress": "output0/4", - "lowerThreshold": 96, - "upperThreshold": 100, - "hysteresis": 5 - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} - diff --git "a/setup/templates/FENECON Pro W\303\244rmepumpe.json" "b/setup/templates/FENECON Pro W\303\244rmepumpe.json" deleted file mode 100644 index 7cb313fccbd..00000000000 --- "a/setup/templates/FENECON Pro W\303\244rmepumpe.json" +++ /dev/null @@ -1,103 +0,0 @@ -{ - "things": [ - { - "class": "io.openems.impl.protocol.modbus.ModbusRtu", - "serialinterface": "/dev/ttyUSB0", - "baudrate": 9600, - "databits": 8, - "parity": "none", - "stopbits": 1, - "devices": [ - { - "class": "io.openems.impl.device.pro.FeneconPro", - "modbusUnitId": 4, - "ess": { - "id": "ess0", - "minSoc": 15 - }, - "meter": { - "id": "meter1" - } - }, - { - "class": "io.openems.impl.device.socomec.Socomec", - "modbusUnitId": 5, - "meter": { - "id": "meter0", - "type": "grid" - } - }, - { - "class": "io.openems.impl.device.kmtronic.KMTronicRelayRev1", - "output": { - "id": "output0" - }, - "modbusUnitId": 1 - } - ] - } - ], - "scheduler": { - "class": "io.openems.impl.scheduler.SimpleScheduler", - "controllers": [ - { - "priority": 150, - "class": "io.openems.impl.controller.debuglog.DebugLogController", - "esss": [ - "ess0" - ], - "meters": [ - "meter0", - "meter1" - ], - "rtc": "ess0" - }, - { - "priority": 100, - "class": "io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController", - "esss": "ess0" - }, - { - "priority": 50, - "class": "io.openems.impl.controller.asymmetric.balancing.BalancingController", - "esss": "ess0", - "meter": "meter0" - }, - { - "priority": 1, - "class": "io.openems.impl.controller.clocksync.ClockSyncController", - "rtc": "ess0" - }, - { - "class": "io.openems.impl.controller.channelthreshold.ChannelThresholdController", - "priority": 60, - "thresholdChannelAddress": "ess0/Soc", - "outputChannelAddress": "output0/2", - "lowerThreshold": 0, - "upperThreshold": 40, - "hysteresis": 5 - }, - { - "class": "io.openems.impl.controller.channelthreshold.ChannelThresholdController", - "priority": 65, - "thresholdChannelAddress": "ess0/Soc", - "outputChannelAddress": "output0/3", - "lowerThreshold": 75, - "upperThreshold": 100, - "hysteresis": 5 - } - ] - }, - "persistence": [ - { - "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", - "ip": "127.0.0.1", - "fems": "###FEMS_ID###" - }, - { - "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", - "apikey": "###APIKEY###" - } - ] -} - From 4e9803ab8057391b5dca9f6f3c2543e95c8f0a03 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 29 May 2018 23:29:04 +0200 Subject: [PATCH 15/50] Rename ControllerExecutor to 'Cycle' and move it together with Meta to new io.openems.edge.core package --- io.openems.edge.application/EdgeApp.bndrun | 6 ++++-- io.openems.edge.application/bnd.bnd | 7 +++---- .../bridge/modbus/AbstractModbusBridge.java | 2 +- .../bridge/modbus/BridgeModbusSerial.java | 2 +- .../edge/bridge/modbus/BridgeModbusTcp.java | 2 +- .../org.eclipse.core.resources.prefs | 3 +-- io.openems.edge.common/bnd.bnd | 3 +-- .../controllerexecutor/package-info.java | 2 -- .../EdgeEventConstants.java | 2 +- .../edge/common/event/package-info.java | 2 ++ io.openems.edge.core/.gitignore | 1 + io.openems.edge.core/bnd.bnd | 19 +++++++++++++++++++ .../src/io/openems/edge/core}/meta/Meta.java | 2 +- .../src/io/openems/edge/core}/meta/Utils.java | 2 +- .../openems/edge/core}/meta/package-info.java | 2 +- .../src/io/openems/edge/cycle/Cycle.java | 8 ++++---- .../src/io/openems/edge/cycle}/Utils.java | 2 +- .../symmetric/EssSymmetricPowerManager.java | 2 +- .../commercial40/EssFeneconCommercial40.java | 2 +- .../evcs/keba/kecontact/KebaKeContact.java | 2 +- .../StandardLoadProfileDatasource.java | 2 +- .../timedata/influxdb/InfluxTimedata.java | 2 +- 22 files changed, 48 insertions(+), 29 deletions(-) delete mode 100644 io.openems.edge.common/src/io/openems/edge/common/controllerexecutor/package-info.java rename io.openems.edge.common/src/io/openems/edge/common/{controllerexecutor => event}/EdgeEventConstants.java (97%) create mode 100644 io.openems.edge.common/src/io/openems/edge/common/event/package-info.java create mode 100644 io.openems.edge.core/.gitignore create mode 100644 io.openems.edge.core/bnd.bnd rename {io.openems.edge.common/src/io/openems/edge/common => io.openems.edge.core/src/io/openems/edge/core}/meta/Meta.java (97%) rename {io.openems.edge.common/src/io/openems/edge/common => io.openems.edge.core/src/io/openems/edge/core}/meta/Utils.java (96%) rename {io.openems.edge.common/src/io/openems/edge/common => io.openems.edge.core/src/io/openems/edge/core}/meta/package-info.java (56%) rename io.openems.edge.application/src/io/openems/edge/application/ControllerExecutor.java => io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java (95%) rename {io.openems.edge.application/src/io/openems/edge/application => io.openems.edge.core/src/io/openems/edge/cycle}/Utils.java (98%) diff --git a/io.openems.edge.application/EdgeApp.bndrun b/io.openems.edge.application/EdgeApp.bndrun index 78c665706c9..cb75d94a5d5 100644 --- a/io.openems.edge.application/EdgeApp.bndrun +++ b/io.openems.edge.application/EdgeApp.bndrun @@ -40,7 +40,8 @@ JPM-Command: openems-edge osgi.identity;filter:='(osgi.identity=io.openems.edge.controller.api.backend)',\ osgi.identity;filter:='(osgi.identity=io.openems.edge.io.kmtronic)',\ osgi.identity;filter:='(osgi.identity=io.openems.edge.controller.channelthreshold)',\ - osgi.identity;filter:='(osgi.identity=io.openems.edge.evcs.keba.kecontact)' + osgi.identity;filter:='(osgi.identity=io.openems.edge.evcs.keba.kecontact)',\ + bnd.identity;id='io.openems.edge.core' -resolve: auto -runbundles: \ @@ -97,4 +98,5 @@ JPM-Command: openems-edge osgi.enroute.executor.simple.provider;version='[2.1.0,2.1.1)',\ osgi.enroute.web.simple.provider;version='[2.1.0,2.1.1)',\ osgi.enroute.webconsole.xray.provider;version='[2.1.0,2.1.1)',\ - com.google.guava;version='[23.6.0,23.6.1)' \ No newline at end of file + com.google.guava;version='[23.6.0,23.6.1)',\ + io.openems.edge.core;version=snapshot \ No newline at end of file diff --git a/io.openems.edge.application/bnd.bnd b/io.openems.edge.application/bnd.bnd index ed60b471d54..739fd5d026d 100644 --- a/io.openems.edge.application/bnd.bnd +++ b/io.openems.edge.application/bnd.bnd @@ -3,8 +3,7 @@ Bundle-Vendor: FENECON GmbH Bundle-License: https://opensource.org/licenses/EPL-2.0 Bundle-Version: 1.0.0.${tstamp} Private-Package: \ - io.openems.edge.application,\ - io.openems.edge.common.meta + io.openems.edge.application EnRoute-Application: io.openems.edge.application -includeresource: \ @@ -16,8 +15,8 @@ EnRoute-Application: io.openems.edge.application io.openems.common;version=latest,\ io.openems.edge.scheduler.api;version=latest,\ io.openems.edge.common;version=latest,\ - io.openems.wrapper.sdnotify;version=latest,\ - com.google.guava + com.google.guava,\ + io.openems.wrapper.sdnotify;version=latest -testpath: \ osgi.enroute.junit.wrapper;version=4.12 diff --git a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/AbstractModbusBridge.java b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/AbstractModbusBridge.java index aced1c655f5..4b7cda4664a 100644 --- a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/AbstractModbusBridge.java +++ b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/AbstractModbusBridge.java @@ -26,7 +26,7 @@ import io.openems.edge.common.channel.StateChannel; import io.openems.edge.common.component.AbstractOpenemsComponent; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.common.worker.AbstractWorker; /** diff --git a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusSerial.java b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusSerial.java index a91956dd744..ba507fca19e 100644 --- a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusSerial.java +++ b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusSerial.java @@ -18,7 +18,7 @@ import io.openems.common.exceptions.OpenemsException; import io.openems.edge.bridge.modbus.api.BridgeModbus; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; /** * Provides a service for connecting to, querying and writing to a Modbus/RTU diff --git a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusTcp.java b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusTcp.java index a03d4d3011b..b6d71f8bfa0 100644 --- a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusTcp.java +++ b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/BridgeModbusTcp.java @@ -20,7 +20,7 @@ import io.openems.common.exceptions.OpenemsException; import io.openems.edge.bridge.modbus.api.BridgeModbus; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; /** * Provides a service for connecting to, querying and writing to a Modbus/TCP diff --git a/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs b/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs index ac43d78d65c..94d597eefd5 100644 --- a/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs +++ b/io.openems.edge.common/.settings/org.eclipse.core.resources.prefs @@ -3,8 +3,7 @@ encoding//src/io/openems/edge/common/channel/doc/package-info.java=UTF-8 encoding//src/io/openems/edge/common/channel/merger/package-info.java=UTF-8 encoding//src/io/openems/edge/common/channel/package-info.java=UTF-8 encoding//src/io/openems/edge/common/component/package-info.java=UTF-8 -encoding//src/io/openems/edge/common/controllerexecutor/package-info.java=UTF-8 -encoding//src/io/openems/edge/common/meta/Meta.java=UTF-8 +encoding//src/io/openems/edge/common/event/package-info.java=UTF-8 encoding//src/io/openems/edge/common/worker/package-info.java=UTF-8 encoding//test/.gitignore=UTF-8 encoding/bnd.bnd=UTF-8 diff --git a/io.openems.edge.common/bnd.bnd b/io.openems.edge.common/bnd.bnd index 627e8f4c21f..e3f7b2b74c5 100644 --- a/io.openems.edge.common/bnd.bnd +++ b/io.openems.edge.common/bnd.bnd @@ -7,7 +7,7 @@ Export-Package: \ io.openems.edge.common.component,\ io.openems.edge.common.worker,\ io.openems.edge.common.channel.doc,\ - io.openems.edge.common.controllerexecutor,\ + io.openems.edge.common.event,\ io.openems.edge.common.channel.merger,\ io.openems.edge.common.converter,\ io.openems.edge.common.channel.value,\ @@ -28,4 +28,3 @@ Export-Package: \ -testpath: \ osgi.enroute.junit.wrapper;version=4.12, \ osgi.enroute.hamcrest.wrapper;version=1.3 -Private-Package: io.openems.edge.common.meta \ No newline at end of file diff --git a/io.openems.edge.common/src/io/openems/edge/common/controllerexecutor/package-info.java b/io.openems.edge.common/src/io/openems/edge/common/controllerexecutor/package-info.java deleted file mode 100644 index bef3aa4b949..00000000000 --- a/io.openems.edge.common/src/io/openems/edge/common/controllerexecutor/package-info.java +++ /dev/null @@ -1,2 +0,0 @@ -@org.osgi.annotation.versioning.Version("1.0.0") -package io.openems.edge.common.controllerexecutor; diff --git a/io.openems.edge.common/src/io/openems/edge/common/controllerexecutor/EdgeEventConstants.java b/io.openems.edge.common/src/io/openems/edge/common/event/EdgeEventConstants.java similarity index 97% rename from io.openems.edge.common/src/io/openems/edge/common/controllerexecutor/EdgeEventConstants.java rename to io.openems.edge.common/src/io/openems/edge/common/event/EdgeEventConstants.java index e9bc73f1ca8..acfefdc3c57 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/controllerexecutor/EdgeEventConstants.java +++ b/io.openems.edge.common/src/io/openems/edge/common/event/EdgeEventConstants.java @@ -1,4 +1,4 @@ -package io.openems.edge.common.controllerexecutor; +package io.openems.edge.common.event; public final class EdgeEventConstants { diff --git a/io.openems.edge.common/src/io/openems/edge/common/event/package-info.java b/io.openems.edge.common/src/io/openems/edge/common/event/package-info.java new file mode 100644 index 00000000000..3272859f979 --- /dev/null +++ b/io.openems.edge.common/src/io/openems/edge/common/event/package-info.java @@ -0,0 +1,2 @@ +@org.osgi.annotation.versioning.Version("1.0.0") +package io.openems.edge.common.event; diff --git a/io.openems.edge.core/.gitignore b/io.openems.edge.core/.gitignore new file mode 100644 index 00000000000..9e0adcc107c --- /dev/null +++ b/io.openems.edge.core/.gitignore @@ -0,0 +1 @@ +/generated/ diff --git a/io.openems.edge.core/bnd.bnd b/io.openems.edge.core/bnd.bnd new file mode 100644 index 00000000000..ca57e340223 --- /dev/null +++ b/io.openems.edge.core/bnd.bnd @@ -0,0 +1,19 @@ +Bundle-Name: OpenEMS Edge Core +Bundle-Vendor: FENECON GmbH +Bundle-License: https://opensource.org/licenses/EPL-2.0 +Bundle-Version: 1.0.0.${tstamp} +Private-Package: \ + io.openems.edge.core.meta,\ + io.openems.edge.core.sum,\ + io.openems.edge.core.sum.internal,\ + io.openems.edge.cycle + +-buildpath: \ + osgi.enroute.base.api;version=2.1,\ + io.openems.common;version=latest,\ + io.openems.edge.common;version=latest,\ + io.openems.edge.ess.api;version=latest,\ + io.openems.edge.meter.api;version=latest,\ + io.openems.wrapper.sdnotify;version=latest,\ + io.openems.edge.scheduler.api;version=latest,\ + io.openems.edge.controller.api;version=latest \ No newline at end of file diff --git a/io.openems.edge.common/src/io/openems/edge/common/meta/Meta.java b/io.openems.edge.core/src/io/openems/edge/core/meta/Meta.java similarity index 97% rename from io.openems.edge.common/src/io/openems/edge/common/meta/Meta.java rename to io.openems.edge.core/src/io/openems/edge/core/meta/Meta.java index 4db8566278e..8468be4d6f7 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/meta/Meta.java +++ b/io.openems.edge.core/src/io/openems/edge/core/meta/Meta.java @@ -1,4 +1,4 @@ -package io.openems.edge.common.meta; +package io.openems.edge.core.meta; import java.util.Map; diff --git a/io.openems.edge.common/src/io/openems/edge/common/meta/Utils.java b/io.openems.edge.core/src/io/openems/edge/core/meta/Utils.java similarity index 96% rename from io.openems.edge.common/src/io/openems/edge/common/meta/Utils.java rename to io.openems.edge.core/src/io/openems/edge/core/meta/Utils.java index ba525f85289..dea7ac22336 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/meta/Utils.java +++ b/io.openems.edge.core/src/io/openems/edge/core/meta/Utils.java @@ -1,4 +1,4 @@ -package io.openems.edge.common.meta; +package io.openems.edge.core.meta; import java.util.Arrays; import java.util.stream.Stream; diff --git a/io.openems.edge.common/src/io/openems/edge/common/meta/package-info.java b/io.openems.edge.core/src/io/openems/edge/core/meta/package-info.java similarity index 56% rename from io.openems.edge.common/src/io/openems/edge/common/meta/package-info.java rename to io.openems.edge.core/src/io/openems/edge/core/meta/package-info.java index 5fba8bfe572..476a9ec2f26 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/meta/package-info.java +++ b/io.openems.edge.core/src/io/openems/edge/core/meta/package-info.java @@ -1,2 +1,2 @@ @org.osgi.annotation.versioning.Version("1.0.0") -package io.openems.edge.common.meta; +package io.openems.edge.core.meta; diff --git a/io.openems.edge.application/src/io/openems/edge/application/ControllerExecutor.java b/io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java similarity index 95% rename from io.openems.edge.application/src/io/openems/edge/application/ControllerExecutor.java rename to io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java index 7e05ce3d673..7918086baa0 100644 --- a/io.openems.edge.application/src/io/openems/edge/application/ControllerExecutor.java +++ b/io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java @@ -1,4 +1,4 @@ -package io.openems.edge.application; +package io.openems.edge.cycle; import java.util.HashMap; import java.util.List; @@ -19,14 +19,14 @@ import info.faljse.SDNotify.SDNotify; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.common.worker.AbstractWorker; import io.openems.edge.scheduler.api.Scheduler; @Component(immediate = true) -public class ControllerExecutor extends AbstractWorker { +public class Cycle extends AbstractWorker { - private final Logger log = LoggerFactory.getLogger(ControllerExecutor.class); + private final Logger log = LoggerFactory.getLogger(Cycle.class); @Reference(policy = ReferencePolicy.STATIC) private EventAdmin eventAdmin; diff --git a/io.openems.edge.application/src/io/openems/edge/application/Utils.java b/io.openems.edge.core/src/io/openems/edge/cycle/Utils.java similarity index 98% rename from io.openems.edge.application/src/io/openems/edge/application/Utils.java rename to io.openems.edge.core/src/io/openems/edge/cycle/Utils.java index cfc17db64f2..38236f613c1 100644 --- a/io.openems.edge.application/src/io/openems/edge/application/Utils.java +++ b/io.openems.edge.core/src/io/openems/edge/cycle/Utils.java @@ -1,4 +1,4 @@ -package io.openems.edge.application; +package io.openems.edge.cycle; import java.util.Optional; import java.util.TreeMap; diff --git a/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/EssSymmetricPowerManager.java b/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/EssSymmetricPowerManager.java index 5f653f1c559..040acc287d8 100644 --- a/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/EssSymmetricPowerManager.java +++ b/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/EssSymmetricPowerManager.java @@ -13,7 +13,7 @@ import org.osgi.service.event.EventConstants; import org.osgi.service.event.EventHandler; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.ess.symmetric.api.SymmetricEss; /** diff --git a/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java b/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java index 55fea52faa5..19defc51a3f 100644 --- a/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java +++ b/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java @@ -38,7 +38,7 @@ import io.openems.edge.common.channel.doc.Level; import io.openems.edge.common.channel.doc.Unit; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.common.type.TypeUtils; import io.openems.edge.ess.api.Ess; import io.openems.edge.ess.power.symmetric.PGreaterEqualLimitation; diff --git a/io.openems.edge.evcs.keba.kecontact/src/io/openems/edge/evcs/keba/kecontact/KebaKeContact.java b/io.openems.edge.evcs.keba.kecontact/src/io/openems/edge/evcs/keba/kecontact/KebaKeContact.java index f2b0ce99af2..11f75215cdd 100644 --- a/io.openems.edge.evcs.keba.kecontact/src/io/openems/edge/evcs/keba/kecontact/KebaKeContact.java +++ b/io.openems.edge.evcs.keba.kecontact/src/io/openems/edge/evcs/keba/kecontact/KebaKeContact.java @@ -28,7 +28,7 @@ import io.openems.edge.common.channel.doc.Unit; import io.openems.edge.common.component.AbstractOpenemsComponent; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.evcs.api.Evcs; import io.openems.edge.evcs.keba.kecontact.core.KebaKeContactCore; diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/datasource/standardloadprofile/StandardLoadProfileDatasource.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/datasource/standardloadprofile/StandardLoadProfileDatasource.java index ae62c87f4d4..eeb5a3d4b77 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/datasource/standardloadprofile/StandardLoadProfileDatasource.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/datasource/standardloadprofile/StandardLoadProfileDatasource.java @@ -13,7 +13,7 @@ import io.openems.common.types.OpenemsType; import io.openems.edge.common.component.AbstractOpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.common.type.TypeUtils; import io.openems.edge.simulator.datasource.api.SimulatorDatasource; diff --git a/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java b/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java index cd5d3f9fff1..606634bd7fa 100644 --- a/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java +++ b/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java @@ -48,7 +48,7 @@ import io.openems.edge.common.channel.doc.Level; import io.openems.edge.common.component.AbstractOpenemsComponent; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.timedata.api.Timedata; /** From 82fea9964388aacb5f42cb7699e18999bd0b2659 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 29 May 2018 23:29:36 +0200 Subject: [PATCH 16/50] Add OpenemsType DOUBLE --- .../io/openems/common/types/OpenemsType.java | 2 +- .../ElementToChannelScaleFactorConverter.java | 4 + .../openems/edge/common/channel/doc/Unit.java | 1 + .../common/converter/StaticConverters.java | 11 +++ .../openems/edge/common/type/TypeUtils.java | 90 ++++++++++++++++--- .../timedata/influxdb/InfluxTimedata.java | 11 ++- 6 files changed, 102 insertions(+), 17 deletions(-) diff --git a/io.openems.common/src/io/openems/common/types/OpenemsType.java b/io.openems.common/src/io/openems/common/types/OpenemsType.java index 0fb50125ecb..87682b2472e 100644 --- a/io.openems.common/src/io/openems/common/types/OpenemsType.java +++ b/io.openems.common/src/io/openems/common/types/OpenemsType.java @@ -2,6 +2,6 @@ public enum OpenemsType { BOOLEAN, SHORT, INTEGER, LONG, // - FLOAT, // + FLOAT, DOUBLE, // STRING } diff --git a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/api/ElementToChannelScaleFactorConverter.java b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/api/ElementToChannelScaleFactorConverter.java index c5c3779e797..46128d4d7a1 100644 --- a/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/api/ElementToChannelScaleFactorConverter.java +++ b/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/api/ElementToChannelScaleFactorConverter.java @@ -39,6 +39,7 @@ private static Object apply(Object value, int scaleFactor) { case INTEGER: case LONG: case FLOAT: + case DOUBLE: case STRING: if (value instanceof Boolean) { return (boolean) value; @@ -73,6 +74,9 @@ private static Object apply(Object value, int scaleFactor) { return Double.valueOf(result); } } + if (value instanceof Double) { + return Double.valueOf(((Double) value) * factor); + } if (value instanceof String) { return (String) value; } diff --git a/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Unit.java b/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Unit.java index 5d6cec708db..b911e0435f7 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Unit.java +++ b/io.openems.edge.common/src/io/openems/edge/common/channel/doc/Unit.java @@ -165,6 +165,7 @@ public String formatAsBaseUnit(Object value, OpenemsType type) { case INTEGER: case LONG: case FLOAT: + case DOUBLE: return this.baseUnit.formatAsBaseUnit(this.getAsBaseUnit((int) value), type); case BOOLEAN: case STRING: diff --git a/io.openems.edge.common/src/io/openems/edge/common/converter/StaticConverters.java b/io.openems.edge.common/src/io/openems/edge/common/converter/StaticConverters.java index b5af7189fa7..7501f476d6b 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/converter/StaticConverters.java +++ b/io.openems.edge.common/src/io/openems/edge/common/converter/StaticConverters.java @@ -22,6 +22,7 @@ public class StaticConverters { case INTEGER: case LONG: case FLOAT: + case DOUBLE: case STRING: if (value instanceof Boolean || value instanceof String) { return value; // impossible @@ -53,6 +54,13 @@ public class StaticConverters { } else { return 0; } + } else if (value instanceof Double) { + double doubleValue = (Double) value; + if (doubleValue > 0) { + return doubleValue; + } else { + return 0; + } } } break; @@ -77,6 +85,7 @@ public class StaticConverters { case INTEGER: case LONG: case FLOAT: + case DOUBLE: case STRING: if (value instanceof String) { return value; // impossible @@ -90,6 +99,8 @@ public class StaticConverters { return Long.valueOf((long) value * -1); } else if (value instanceof Float) { return Float.valueOf((float) value * -1); + } else if (value instanceof Double) { + return Double.valueOf((double) value * -1); } } break; diff --git a/io.openems.edge.common/src/io/openems/edge/common/type/TypeUtils.java b/io.openems.edge.common/src/io/openems/edge/common/type/TypeUtils.java index d48268ba691..ab7dba604df 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/type/TypeUtils.java +++ b/io.openems.edge.common/src/io/openems/edge/common/type/TypeUtils.java @@ -44,7 +44,8 @@ public static T getAsType(OpenemsType type, Object value) { if (intValue >= Short.MIN_VALUE && intValue <= Short.MAX_VALUE) { return (T) Short.valueOf((short) intValue); } else { - throw new IllegalArgumentException("Cannot convert Integer [" + value + "] to Short"); + throw new IllegalArgumentException( + "Cannot convert. Integer [" + value + "] is not fitting in Short range."); } } else if (value instanceof Long) { @@ -52,15 +53,28 @@ public static T getAsType(OpenemsType type, Object value) { if (longValue >= Short.MIN_VALUE && longValue <= Short.MAX_VALUE) { return (T) Short.valueOf((short) longValue); } else { - throw new IllegalArgumentException("Cannot convert Long [" + value + "] to Short"); + throw new IllegalArgumentException( + "Cannot convert. Long [" + value + "] is not fitting in Short range."); } } else if (value instanceof Float) { - int intValue = ((Float) value).intValue(); + float floatValue = (Float) value; + int intValue = Math.round(floatValue); if (intValue >= Short.MIN_VALUE && intValue <= Short.MAX_VALUE) { return (T) Short.valueOf((short) intValue); } else { - throw new IllegalArgumentException("Cannot convert Float [" + value + "] to Short"); + throw new IllegalArgumentException( + "Cannot convert. Float [" + value + "] is not fitting in Short range."); + } + + } else if (value instanceof Double) { + double doubleValue = (Double) value; + long longValue = Math.round(doubleValue); + if (longValue >= Integer.MIN_VALUE && longValue <= Integer.MAX_VALUE) { + return (T) Integer.valueOf((int) longValue); + } else { + throw new IllegalArgumentException( + "Cannot convert. Double [" + value + "] is not fitting in Short range."); } } break; @@ -89,7 +103,18 @@ public static T getAsType(OpenemsType type, Object value) { } } else if (value instanceof Float) { - return (T) (Integer) ((Float) value).intValue(); + float floatValue = (Float) value; + return (T) (Integer) Math.round(floatValue); + + } else if (value instanceof Double) { + double doubleValue = (Double) value; + long longValue = Math.round(doubleValue); + if (longValue >= Integer.MIN_VALUE && longValue <= Integer.MAX_VALUE) { + return (T) Integer.valueOf((int) longValue); + } else { + throw new IllegalArgumentException( + "Cannot convert. Double [" + value + "] is not fitting in Integer range."); + } } break; @@ -111,7 +136,10 @@ public static T getAsType(OpenemsType type, Object value) { return (T) (Long) value; } else if (value instanceof Float) { - return (T) (Long) ((Float) value).longValue(); + return (T) (Long) Math.round(Double.valueOf((Float) value)); + + } else if (value instanceof Double) { + return (T) (Long) Math.round((Double) value); } break; @@ -132,13 +160,48 @@ public static T getAsType(OpenemsType type, Object value) { } else if (value instanceof Long) { long longValue = (Long) value; if (longValue >= Integer.MIN_VALUE && longValue <= Integer.MAX_VALUE) { - return (T) (Float) Long.valueOf(longValue).floatValue(); + return (T) (Float) Float.valueOf((int) longValue); } else { - throw new IllegalArgumentException("Cannot convert Long [" + value + "] to Integer"); + throw new IllegalArgumentException( + "Cannot convert. Long [" + value + "] is not fitting in Float range."); } } else if (value instanceof Float) { return (T) (Float) value; + + } else if (value instanceof Double) { + double doubleValue = (Double) value; + if (doubleValue >= Float.MIN_VALUE && doubleValue <= Float.MAX_VALUE) { + return (T) (Float) Float.valueOf((float) doubleValue); + } else { + throw new IllegalArgumentException( + "Cannot convert. Double [" + value + "] is not fitting in Integer range."); + } + } + break; + + case DOUBLE: + if (value == null) { + return (T) (Double) value; + + } else if (value instanceof Boolean) { + boolean boolValue = (Boolean) value; + return (T) Double.valueOf((boolValue ? 1l : 0l)); + + } else if (value instanceof Short) { + return (T) Double.valueOf((Short) value); + + } else if (value instanceof Integer) { + return (T) Double.valueOf((Integer) value); + + } else if (value instanceof Long) { + return (T) Double.valueOf((Long) value); + + } else if (value instanceof Float) { + return (T) Double.valueOf((Float) value); + + } else if (value instanceof Double) { + return (T) (Double) value; } break; @@ -153,6 +216,7 @@ public static T getAsType(OpenemsType type, Object value) { } throw new IllegalArgumentException( "Converter for value [" + value + "] to type [" + type + "] is not implemented."); + } public static JsonElement getAsJson(OpenemsType type, Object originalValue) { @@ -163,14 +227,16 @@ public static JsonElement getAsJson(OpenemsType type, Object originalValue) { switch (type) { case BOOLEAN: return new JsonPrimitive(((Boolean) value) ? 1 : 0); - case FLOAT: - return new JsonPrimitive((Float) value); + case SHORT: + return new JsonPrimitive((Short) value); case INTEGER: return new JsonPrimitive((Integer) value); case LONG: return new JsonPrimitive((Long) value); - case SHORT: - return new JsonPrimitive((Short) value); + case FLOAT: + return new JsonPrimitive((Float) value); + case DOUBLE: + return new JsonPrimitive((Double) value); case STRING: return new JsonPrimitive((String) value); } diff --git a/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java b/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java index 606634bd7fa..ba3fa7e39e7 100644 --- a/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java +++ b/io.openems.edge.timedata.influxdb/src/io/openems/edge/timedata/influxdb/InfluxTimedata.java @@ -295,8 +295,8 @@ protected synchronized void collectAndWriteChannelValues() { case BOOLEAN: point.addField(address, (Boolean) value); break; - case FLOAT: - point.addField(address, (Float) value); + case SHORT: + point.addField(address, (Short) value); break; case INTEGER: point.addField(address, (Integer) value); @@ -304,8 +304,11 @@ protected synchronized void collectAndWriteChannelValues() { case LONG: point.addField(address, (Long) value); break; - case SHORT: - point.addField(address, (Short) value); + case FLOAT: + point.addField(address, (Float) value); + break; + case DOUBLE: + point.addField(address, (Double) value); break; case STRING: point.addField(address, (String) value); From 88e0773fb1e7bf053ed13b638d10cba4d0ba6f14 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 29 May 2018 23:30:37 +0200 Subject: [PATCH 17/50] Start implementing '_sum' component for sum/average data --- .../src/io/openems/edge/core/sum/Sum.java | 180 ++++++++++++++++++ .../src/io/openems/edge/core/sum/Utils.java | 31 +++ .../core/sum/internal/AverageInteger.java | 23 +++ .../core/sum/internal/ChannelsFunction.java | 43 +++++ .../edge/core/sum/internal/SumInteger.java | 22 +++ .../openems/edge/core/sum/package-info.java | 2 + .../ess/symmetric/reacting/EssSymmetric.java | 6 +- .../meter/grid/acting/GridMeter.java | 5 +- 8 files changed, 308 insertions(+), 4 deletions(-) create mode 100644 io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java create mode 100644 io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java create mode 100644 io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java create mode 100644 io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java create mode 100644 io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java create mode 100644 io.openems.edge.core/src/io/openems/edge/core/sum/package-info.java diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java new file mode 100644 index 00000000000..733a0844cfd --- /dev/null +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java @@ -0,0 +1,180 @@ +package io.openems.edge.core.sum; + +import java.util.Map; + +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; +import org.osgi.service.component.annotations.ReferencePolicyOption; + +import io.openems.common.types.OpenemsType; +import io.openems.edge.common.channel.Channel; +import io.openems.edge.common.channel.doc.Doc; +import io.openems.edge.common.channel.doc.Unit; +import io.openems.edge.common.component.AbstractOpenemsComponent; +import io.openems.edge.common.component.OpenemsComponent; +import io.openems.edge.core.sum.internal.AverageInteger; +import io.openems.edge.core.sum.internal.SumInteger; +import io.openems.edge.ess.api.Ess; +import io.openems.edge.ess.symmetric.api.SymmetricEss; +import io.openems.edge.ess.symmetric.readonly.api.SymmetricEssReadonly; +import io.openems.edge.meter.api.Meter; +import io.openems.edge.meter.symmetric.api.SymmetricMeter; + +/** + * Enables access to sum/average data. + */ +@Component(name = "Core.Sum", immediate = true, property = { "id=_sum", "enabled=true" }) +public class Sum extends AbstractOpenemsComponent implements OpenemsComponent { + + public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { + /** + * Ess: Average State of Charge + * + *
        + *
      • Interface: Sum (origin: Ess) + *
      • Type: Integer + *
      • Unit: % + *
      • Range: 0..100 + *
      + */ + ESS_SOC(new Doc().type(OpenemsType.INTEGER).unit(Unit.PERCENT)), + /** + * Ess: Active Power + * + *
        + *
      • Interface: Sum (origin: Ess Symmetric Readonly) + *
      • Type: Integer + *
      • Unit: W + *
      • Range: negative values for Charge; positive for Discharge + *
      + */ + ESS_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT) // + .text(SymmetricEss.POWER_DOC_TEXT)), + /** + * Grid-Meter: Active Power + * + *
        + *
      • Interface: Sum (origin: Meter Symmetric) + *
      • Type: Integer + *
      • Unit: W + *
      • Range: negative values for Consumption (power that is 'leaving the + * system', e.g. feed-to-grid); positive for Production (power that is 'entering + * the system') + *
      + */ + GRIDMETER_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT) // + .text(SymmetricMeter.POWER_DOC_TEXT)); + + private final Doc doc; + + private ChannelId(Doc doc) { + this.doc = doc; + } + + public Doc doc() { + return this.doc; + } + } + + /* + * Ess + */ + private final AverageInteger essSoc; + private final SumInteger essActivePower; + + /* + * Grid-Meter + */ + private final SumInteger gridmeterActivePower; + + @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) + private void addEss(Ess ess) { + this.essSoc.addComponent(ess); + if (ess instanceof SymmetricEss) { + this.essActivePower.addComponent(ess); + } + } + + protected void removeEss(Ess ess) { + this.essSoc.removeComponent(ess); + this.essActivePower.removeComponent(ess); + } + + @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) + private void addMeter(Meter meter) { + switch (meter.getMeterType()) { + case CONSUMPTION: + // TODO + break; + + case GRID: + /* + * Grid-Meter + */ + if (meter instanceof SymmetricMeter) { + this.gridmeterActivePower.addComponent(meter); + } + break; + + case PRODUCTION: + // TODO + break; + } + } + + protected void removeMeter(Meter meter) { + this.gridmeterActivePower.removeComponent(meter); + } + + public Sum() { + Utils.initializeChannels(this).forEach(channel -> this.addChannel(channel)); + this.essSoc = new AverageInteger(this, ChannelId.ESS_SOC, Ess.ChannelId.SOC); + this.essActivePower = new SumInteger(this, ChannelId.ESS_ACTIVE_POWER, + SymmetricEssReadonly.ChannelId.ACTIVE_POWER); + this.gridmeterActivePower = new SumInteger(this, ChannelId.GRIDMETER_ACTIVE_POWER, + SymmetricMeter.ChannelId.ACTIVE_POWER); + } + + @Activate + void activate(ComponentContext context, Map properties) { + super.activate(context, "_sum", "_sum", true); + } + + @Deactivate + protected void deactivate() { + super.deactivate(); + } + + @Override + public String debugLog() { + return "ESS SoC:" + this.getEssSoc().value().asString() // + + "|L:" + this.getEssActivePower().value().asString() // + + " Grid-Meter L:" + this.getGridmeterActivePower().value().asString() // + // + "|Allowed:" + + // this.channel(ChannelId.ALLOWED_CHARGE).value().asStringWithoutUnit() + ";" + // + this.channel(ChannelId.ALLOWED_DISCHARGE).value().asString() // + // + "|" + this.getGridMode().value().asOptionString(); + ; + } + + public Channel getEssSoc() { + return this.channel(ChannelId.ESS_SOC); + } + + public Channel getEssActivePower() { + return this.channel(ChannelId.ESS_ACTIVE_POWER); + } + + public Channel getGridmeterActivePower() { + return this.channel(ChannelId.GRIDMETER_ACTIVE_POWER); + } +} diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java new file mode 100644 index 00000000000..be30aff9cfe --- /dev/null +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java @@ -0,0 +1,31 @@ +package io.openems.edge.core.sum; + +import java.util.Arrays; +import java.util.stream.Stream; + +import io.openems.edge.common.channel.AbstractReadChannel; +import io.openems.edge.common.channel.IntegerReadChannel; +import io.openems.edge.common.channel.StateChannel; +import io.openems.edge.common.component.OpenemsComponent; + +public class Utils { + public static Stream> initializeChannels(Sum c) { + return Stream.of( // + Arrays.stream(OpenemsComponent.ChannelId.values()).map(channelId -> { + switch (channelId) { + case STATE: + return new StateChannel(c, channelId); + } + return null; + }), Arrays.stream(Sum.ChannelId.values()).map(channelId -> { + switch (channelId) { + case ESS_SOC: + case ESS_ACTIVE_POWER: + case GRIDMETER_ACTIVE_POWER: + return new IntegerReadChannel(c, channelId); + } + return null; + }) // + ).flatMap(channel -> channel); + } +} diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java new file mode 100644 index 00000000000..7bba0e317de --- /dev/null +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java @@ -0,0 +1,23 @@ +package io.openems.edge.core.sum.internal; + +import java.util.NoSuchElementException; + +import io.openems.edge.core.sum.Sum; +import io.openems.edge.core.sum.Sum.ChannelId; + +public class AverageInteger extends ChannelsFunction { + + public AverageInteger(Sum parent, ChannelId targetChannelId, + io.openems.edge.common.channel.doc.ChannelId sourceChannelId) { + super(parent, targetChannelId, sourceChannelId); + } + + protected double calculate() throws NoSuchElementException { + return this.valueMap.values() // + .stream() // + .filter(v -> v.asOptional().isPresent()) // + .mapToDouble(v -> v.get()) // + .average() // + .getAsDouble(); + } +} diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java new file mode 100644 index 00000000000..100ede6cbfc --- /dev/null +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java @@ -0,0 +1,43 @@ +package io.openems.edge.core.sum.internal; + +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.concurrent.ConcurrentHashMap; + +import io.openems.edge.common.channel.Channel; +import io.openems.edge.common.channel.doc.ChannelId; +import io.openems.edge.common.channel.value.Value; +import io.openems.edge.common.component.OpenemsComponent; +import io.openems.edge.core.sum.Sum; + +public abstract class ChannelsFunction { + + private final Channel targetChannel; + private final ChannelId sourceChannelId; + + protected final Map> valueMap = new ConcurrentHashMap<>(); + + public ChannelsFunction(Sum parent, io.openems.edge.core.sum.Sum.ChannelId targetChannelId, + ChannelId sourceChannelId) { + this.targetChannel = parent.channel(targetChannelId); + this.sourceChannelId = sourceChannelId; + } + + public void addComponent(OpenemsComponent component) { + Channel channel = component.channel(this.sourceChannelId); + channel.onSetNextValue(value -> { + this.valueMap.put(component.id(), value); + try { + this.targetChannel.setNextValue(this.calculate()); + } catch (NoSuchElementException e) { + this.targetChannel.setNextValue(null); + } + }); + } + + public void removeComponent(OpenemsComponent component) { + this.valueMap.remove(component.id()); + } + + protected abstract double calculate() throws NoSuchElementException; +} diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java new file mode 100644 index 00000000000..59f8b6dcece --- /dev/null +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java @@ -0,0 +1,22 @@ +package io.openems.edge.core.sum.internal; + +import java.util.NoSuchElementException; + +import io.openems.edge.core.sum.Sum; +import io.openems.edge.core.sum.Sum.ChannelId; + +public class SumInteger extends ChannelsFunction { + + public SumInteger(Sum parent, ChannelId targetChannelId, + io.openems.edge.common.channel.doc.ChannelId sourceChannelId) { + super(parent, targetChannelId, sourceChannelId); + } + + protected double calculate() throws NoSuchElementException { + return this.valueMap.values() // + .stream() // + .filter(v -> v.asOptional().isPresent()) // + .mapToDouble(v -> v.get()) // + .sum(); + } +} diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/package-info.java b/io.openems.edge.core/src/io/openems/edge/core/sum/package-info.java new file mode 100644 index 00000000000..b5a87dada3a --- /dev/null +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/package-info.java @@ -0,0 +1,2 @@ +@org.osgi.annotation.versioning.Version("1.0.0") +package io.openems.edge.core.sum; diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java index b9ab4ad9405..e2406b017a6 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java @@ -19,7 +19,8 @@ import io.openems.edge.common.channel.doc.Doc; import io.openems.edge.common.component.AbstractOpenemsComponent; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; +import io.openems.edge.ess.api.Ess; import io.openems.edge.ess.power.symmetric.PGreaterEqualLimitation; import io.openems.edge.ess.power.symmetric.PSmallerEqualLimitation; import io.openems.edge.ess.power.symmetric.SymmetricPower; @@ -31,7 +32,8 @@ @Component(name = "Simulator.EssSymmetric.Reacting", // immediate = true, configurationPolicy = ConfigurationPolicy.REQUIRE, // property = EventConstants.EVENT_TOPIC + "=" + EdgeEventConstants.TOPIC_CYCLE_BEFORE_CONTROLLERS) -public class EssSymmetric extends AbstractOpenemsComponent implements SymmetricEss, OpenemsComponent, EventHandler { +public class EssSymmetric extends AbstractOpenemsComponent + implements SymmetricEss, Ess, OpenemsComponent, EventHandler { // private final Logger log = LoggerFactory.getLogger(EssSymmetric.class); diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java index 87d44a12762..34dfaea8ad2 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java @@ -25,8 +25,9 @@ import io.openems.edge.common.channel.doc.Unit; import io.openems.edge.common.component.AbstractOpenemsComponent; import io.openems.edge.common.component.OpenemsComponent; -import io.openems.edge.common.controllerexecutor.EdgeEventConstants; +import io.openems.edge.common.event.EdgeEventConstants; import io.openems.edge.ess.symmetric.api.SymmetricEss; +import io.openems.edge.meter.api.Meter; import io.openems.edge.meter.api.MeterType; import io.openems.edge.meter.asymmetric.api.AsymmetricMeter; import io.openems.edge.meter.symmetric.api.SymmetricMeter; @@ -38,7 +39,7 @@ immediate = true, configurationPolicy = ConfigurationPolicy.REQUIRE, // property = EventConstants.EVENT_TOPIC + "=" + EdgeEventConstants.TOPIC_CYCLE_BEFORE_PROCESS_IMAGE) public class GridMeter extends AbstractOpenemsComponent - implements SymmetricMeter, AsymmetricMeter, OpenemsComponent, EventHandler { + implements SymmetricMeter, AsymmetricMeter, Meter, OpenemsComponent, EventHandler { // private final Logger log = LoggerFactory.getLogger(GridMeter.class); From b5c6c02465850fb5570bc772b944765057891124 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 31 May 2018 08:50:50 +0200 Subject: [PATCH 18/50] Handle Edge state in Odoo + merge changes from old_master - Set state 'ACTIVE' automatically on connection --- .../impl/EdgeWebsocketServer.java | 35 ++++++++----- .../io/openems/backend/metadata/api/Edge.java | 52 ++++++++++++++----- .../openems/backend/metadata/dummy/Dummy.java | 3 +- .../backend/metadata/file/provider/File.java | 9 ++-- .../metadata/file/provider/MyEdge.java | 6 +-- .../openems/backend/metadata/odoo/Field.java | 1 + .../openems/backend/metadata/odoo/Odoo.java | 17 ++++++ 7 files changed, 91 insertions(+), 32 deletions(-) diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java index 150ddfc8d9a..c2706b51494 100644 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java @@ -60,7 +60,7 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { if (this.websocketsMap.containsKey(edgeId)) { WebSocket oldWebsocket = this.websocketsMap.get(edgeId); oldWebsocket.closeConnection(CloseFrame.REFUSE, - "Another device with this apikey [" + apikey + "] connected."); + "Another Edge with this apikey [" + apikey + "] connected."); } // add websocket to local cache this.websocketsMap.put(edgeId, websocket); @@ -74,7 +74,7 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { JsonObject jReply = DefaultMessages.openemsConnectionSuccessfulReply(); WebSocketUtils.send(websocket, jReply); - // announce device as online + // announce Edge as online for (int edgeId : edgeIds) { Map properties = new HashMap<>(); properties.put(BackendEventConstants.PROPERTY_KEY_EDGE_ID, edgeId); @@ -86,9 +86,15 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { for (int edgeId : edgeIds) { Optional edgeOpt = this.parent.metadataService.getEdgeOpt(edgeId); if (edgeOpt.isPresent()) { - log.info("Device [" + edgeOpt.get().getName() + "] connected."); + Edge edge = edgeOpt.get(); + log.info("Edge [" + edge.getName() + "]" // + + (edgeIds.length > 1 ? ", ID [" + edgeId + "]" : "") // + + " connected."); + // set last update timestamps in MetadataService + edge.setLastMessage(); } else { - log.info("Device [ID:" + edgeId + "] connected."); + log.info("Edge [ID:" + edgeId + "] connected. Apikey [" + apikey + "]. Websocket [" + websocket + + "]."); } } } catch (OpenemsException e) { @@ -97,19 +103,28 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { WebSocketUtils.sendOrLogError(websocket, jReply); // close websocket websocket.closeConnection(CloseFrame.REFUSE, - "OpenEMS connection failed. Apikey [" + apikey + "]. Error: " + e.getMessage()); + "Connection to backend failed. Apikey [" + apikey + "]. Error: " + e.getMessage()); } } /** - * Message event of websocket. Handles a new message. At this point the device - * is already authenticated. + * Message event of websocket. Handles a new message. At this point the Edge is + * already authenticated. */ @Override protected void _onMessage(WebSocket websocket, JsonObject jMessage) { // get edgeIds from websocket int[] edgeIds = websocket.getAttachment(); + // set last update timestamps in MetadataService + for (int edgeId : edgeIds) { + Optional edgeOpt = this.parent.metadataService.getEdgeOpt(edgeId); + if (edgeOpt.isPresent()) { + Edge edge = edgeOpt.get(); + edge.setLastMessage(); + } + } + // get MessageId from message JsonObject jMessageId = JsonUtils.getAsOptionalJsonObject(jMessage, "messageId").orElse(new JsonObject()); @@ -189,7 +204,7 @@ protected void _onClose(WebSocket websocket) { } } - // announce device as offline + // announce Edge as offline for (int edgeId : edgeIds) { Map properties = new HashMap<>(); properties.put(BackendEventConstants.PROPERTY_KEY_EDGE_ID, edgeId); @@ -226,10 +241,6 @@ private void timedata(int[] edgeIds, JsonObject jTimedata) { } catch (Exception e) { log.error("Unable to write Timedata: " + e.getClass().getSimpleName() + ": " + e.getMessage()); } - /* - * set last update timestamps in MetadataService - */ - edge.setLastMessage(); for (Entry jTimedataEntry : jTimedata.entrySet()) { try { diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java index 48f67e5216f..78b69dead67 100644 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java +++ b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java @@ -9,9 +9,14 @@ import com.google.gson.JsonObject; public class Edge { + public enum State { + ACTIVE, INACTIVE, TEST, INSTALLED_ON_STOCK, OFFLINE; + } + private final int id; private String name; private String comment; + private State state; private String version; private String producttype; private JsonObject jConfig; @@ -21,10 +26,12 @@ public class Edge { private String ipv4 = null; private boolean isOnline; - public Edge(int id, String name, String comment, String version, String producttype, JsonObject jConfig) { + public Edge(int id, String name, String comment, State state, String version, String producttype, + JsonObject jConfig) { this.id = id; this.name = name; this.comment = comment; + this.state = state; this.version = version; this.producttype = producttype; this.jConfig = jConfig; @@ -38,13 +45,6 @@ public String getName() { return name; } - /* - * Marks this Edge as being online. This is called by an event listener. - */ - public void setOnline(boolean isOnline) { - this.isOnline = isOnline; - } - public JsonObject getConfig() { return this.jConfig; } @@ -57,10 +57,6 @@ public String getProducttype() { return producttype; } - public boolean isOnline() { - return this.isOnline; - } - public JsonObject toJsonObject() { JsonObject j = new JsonObject(); j.addProperty("id", this.id); @@ -78,6 +74,27 @@ public String toString() { + ", isOnline=" + isOnline + "]"; } + /* + * Online + */ + private final List> onSetOnline = new CopyOnWriteArrayList<>(); + + public void onSetOnline(Consumer listener) { + this.onSetOnline.add(listener); + } + + public boolean isOnline() { + return this.isOnline; + } + + /** + * Marks this Edge as being online. This is called by an event listener. + */ + public void setOnline(boolean isOnline) { + this.isOnline = isOnline; + this.onSetOnline.forEach(listener -> listener.accept(isOnline)); + } + /* * Config */ @@ -94,6 +111,17 @@ public void setConfig(JsonObject jConfig) { } } + /* + * State + */ + public void setState(State state) { + this.state = state; + } + + public State getState() { + return state; + } + /* * Last Message */ diff --git a/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java index 101b233879b..f9574ce1505 100644 --- a/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java +++ b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java @@ -17,6 +17,7 @@ import io.openems.backend.edgewebsocket.api.EdgeWebsocketService; import io.openems.backend.metadata.api.Edge; +import io.openems.backend.metadata.api.Edge.State; import io.openems.backend.metadata.api.MetadataService; import io.openems.backend.metadata.api.User; import io.openems.common.OpenemsConstants; @@ -79,7 +80,7 @@ public Optional getEdgeOpt(int edgeId) { Edge edge = this.edges.get(edgeId); if (edge == null) { int id = this.nextEdgeId++; - edge = new Edge(id, "EDGE:" + id, "comment [" + id + "]", OpenemsConstants.OPENEMS_VERSION, + edge = new Edge(id, "EDGE:" + id, "comment [" + id + "]", State.ACTIVE, OpenemsConstants.OPENEMS_VERSION, "producttype [" + id + "]", new JsonObject()); edge.onSetConfig(jConfig -> { log.debug("Edge [" + edgeId + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); diff --git a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java index f018423721c..cdc34e487e0 100644 --- a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java @@ -24,6 +24,7 @@ import io.openems.backend.edgewebsocket.api.EdgeWebsocketService; import io.openems.backend.metadata.api.Edge; +import io.openems.backend.metadata.api.Edge.State; import io.openems.backend.metadata.api.MetadataService; import io.openems.backend.metadata.api.User; import io.openems.common.OpenemsConstants; @@ -47,7 +48,7 @@ public class File implements MetadataService { private final Logger log = LoggerFactory.getLogger(File.class); - + private String path = ""; private User user = null; @@ -84,8 +85,8 @@ private void refreshData() { Role role = Role.getRole(parameters[3]); int edgeId = Integer.parseInt(parameters[4]); String apikey = parameters[5]; - MyEdge edge = new MyEdge(edgeId, name, comment, OpenemsConstants.OPENEMS_VERSION, producttype, - role, apikey, new JsonObject()); + MyEdge edge = new MyEdge(edgeId, name, comment, State.ACTIVE, OpenemsConstants.OPENEMS_VERSION, + producttype, role, apikey, new JsonObject()); edge.onSetConfig(jConfig -> { log.debug( "Edge [" + edgeId + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); @@ -118,7 +119,7 @@ private void refreshData() { @Override public User authenticate() throws OpenemsException { this.refreshData(); - return this.user; + return this.user; } @Override diff --git a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java index 2079cb77131..14615feb4f3 100644 --- a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java @@ -10,9 +10,9 @@ public class MyEdge extends Edge { private final String apikey; private final Role role; - public MyEdge(int id, String name, String comment, String producttype, String version, Role role, String apikey, - JsonObject jConfig) { - super(id, name, comment, version, producttype, jConfig); + public MyEdge(int id, String name, String comment, State state, String producttype, String version, Role role, + String apikey, JsonObject jConfig) { + super(id, name, comment, state, version, producttype, jConfig); this.role = role; this.apikey = apikey; } diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java index 43a7be1da75..bec752426a6 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java @@ -7,6 +7,7 @@ public enum FemsDevice implements Field { ID("id"), // NAME("name"), // COMMENT("comment"), // + STATE("state"), // OPENEMS_VERSION("openems_version"), // PRODUCT_TYPE("producttype"), // OPENEMS_CONFIG("openems_config"), // diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java index ed325911d9a..b78a3c1227f 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java @@ -31,6 +31,7 @@ import io.openems.backend.edgewebsocket.api.EdgeWebsocketService; import io.openems.backend.metadata.api.Edge; +import io.openems.backend.metadata.api.Edge.State; import io.openems.backend.metadata.api.MetadataService; import io.openems.backend.metadata.api.User; import io.openems.common.exceptions.OpenemsException; @@ -218,6 +219,14 @@ private Optional getEdgeForceRefresh(int edgeId) { String comment = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.COMMENT.n())); String openemsVersion = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_VERSION.n())); String productType = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.PRODUCT_TYPE.n())); + // parse State + String stateString = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.STATE.n())); + State state; + try { + state = State.valueOf(stateString.toUpperCase()); + } catch (IllegalArgumentException e) { + state = State.INACTIVE; // Default + } /* * Create instance of Edge and register listeners */ @@ -225,9 +234,17 @@ private Optional getEdgeForceRefresh(int edgeId) { (Integer) edgeMap.get(Field.FemsDevice.ID.n()), // name, // comment, // + state, // openemsVersion, // productType, // jOpenemsConfig); + edge.onSetOnline(isOnline -> { + if (isOnline && edge.getState().equals(State.INACTIVE)) { + // Update Edge state to active + this.write(edge, new FieldValue(Field.FemsDevice.STATE, "active")); + edge.setState(State.ACTIVE); + } + }); edge.onSetConfig(jConfig -> { // Update Edge config in Odoo String config = new GsonBuilder().setPrettyPrinting().create().toJson(jConfig); From 2d542a7ab80e0c5e1cebba3f95484a494d73ed7e Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 31 May 2018 14:11:49 +0200 Subject: [PATCH 19/50] Improve compatibilty of UI with new Edge - use '_sum' component for UI - send new config & meta --- .../common/channel/AbstractReadChannel.java | 5 + .../openems/edge/common/channel/Channel.java | 9 + .../component/AbstractOpenemsComponent.java | 7 + .../common/component/OpenemsComponent.java | 6 + .../EdgeWebsocketHandler.java | 18 +- .../api/apicontrollerutils/Utils.java | 114 ++++++++- .../src/io/openems/edge/core/sum/Sum.java | 102 ++++++-- .../src/io/openems/edge/core/sum/Utils.java | 6 +- .../io/openems/edge/meter/api/MeterType.java | 34 ++- .../openems/edge/timedata/api/Timedata.java | 3 +- ui/src/app/app.component.html | 3 +- .../energychart/energychart.component.ts | 2 +- .../energytable/energytable.component.html | 32 ++- .../app/edge/overview/overview.component.html | 2 +- ui/src/app/shared/edge/config.ts | 235 ++++++++++-------- ui/src/app/shared/edge/currentdata.ts | 107 +++++++- ui/src/app/shared/edge/edge.ts | 4 +- ui/src/app/shared/service/defaulttypes.ts | 16 +- 18 files changed, 550 insertions(+), 155 deletions(-) diff --git a/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java b/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java index 5bd460c097b..90fcbb5e1c9 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java +++ b/io.openems.edge.common/src/io/openems/edge/common/channel/AbstractReadChannel.java @@ -100,6 +100,11 @@ public final void _setNextValue(T value) { this.onSetNextValueCallbacks.forEach(callback -> callback.accept(this.nextValue)); } + @Override + public Value getNextValue() { + return this.nextValue; + } + @Override public Value value() { return this.activeValue; diff --git a/io.openems.edge.common/src/io/openems/edge/common/channel/Channel.java b/io.openems.edge.common/src/io/openems/edge/common/channel/Channel.java index 27da30179ce..f84944399f0 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/channel/Channel.java +++ b/io.openems.edge.common/src/io/openems/edge/common/channel/Channel.java @@ -96,6 +96,15 @@ public default void setNextValue(Object value) { } } + /** + * Gets the NextValue. + * + * Note that usually you should prefer the value() method. + * + * @return + */ + public Value getNextValue(); + /** * Add an onSetNextValue callback. It is called, after a new NextValue was set. * Note that usually you should prefer the onUpdate() callback. diff --git a/io.openems.edge.common/src/io/openems/edge/common/component/AbstractOpenemsComponent.java b/io.openems.edge.common/src/io/openems/edge/common/component/AbstractOpenemsComponent.java index bdc304a9dfa..3575aa04d74 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/component/AbstractOpenemsComponent.java +++ b/io.openems.edge.common/src/io/openems/edge/common/component/AbstractOpenemsComponent.java @@ -33,6 +33,7 @@ public abstract class AbstractOpenemsComponent implements OpenemsComponent { private String id = null; private String servicePid = null; + private ComponentContext componentContext = null; private boolean enabled = true; /** @@ -48,6 +49,7 @@ protected void activate(ComponentContext context, String service_pid, String id, } this.servicePid = service_pid; this.enabled = enabled; + this.componentContext = context; if (isEnabled()) { this.logMessage("Activate"); } else { @@ -74,6 +76,11 @@ public String servicePid() { return this.servicePid; } + @Override + public ComponentContext componentContext() { + return this.componentContext; + } + private void logMessage(String reason) { String packageName = this.getClass().getPackage().getName(); if (packageName.startsWith("io.openems.")) { diff --git a/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java b/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java index 0a1a9a6b3e1..c6b83bbd7c9 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java +++ b/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java @@ -6,6 +6,7 @@ import org.osgi.service.cm.Configuration; import org.osgi.service.cm.ConfigurationAdmin; +import org.osgi.service.component.ComponentContext; import io.openems.edge.common.channel.Channel; import io.openems.edge.common.channel.StateChannel; @@ -54,6 +55,11 @@ public interface OpenemsComponent { */ String servicePid(); + /** + * Returns the ComponentContext + */ + ComponentContext componentContext(); + /** * Returns an undefined Channel defined by its ChannelId string representation. * diff --git a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java index af038c1d211..2fcbad5f75c 100644 --- a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java +++ b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java @@ -194,23 +194,17 @@ private synchronized void config(Role role, JsonObject jMessageId, JsonObject jC /* * Query current config */ - // TODO: this should not be static - JsonObject jReplyConfig = new JsonObject(); - jReplyConfig.add("meta", Utils.DEPRECATED_CONFIG_META); - try { - jReplyConfig.add("things", // - Utils.toDeprecatedJsonConfig( // - this.parent.getConfigurationAdmin().listConfigurations("(enabled=true)"))); - } catch (IOException | InvalidSyntaxException e) { - e.printStackTrace(); - } try { + JsonObject jReplyConfig = new JsonObject(); + jReplyConfig.add("meta", Utils.getComponentsMeta(this.parent.getComponents())); + jReplyConfig.add("components", + Utils.getComponents(this.parent.getConfigurationAdmin().listConfigurations("(enabled=true)"))); WebSocketUtils.send(this.websocket, DefaultMessages.configQueryReply(jMessageId, jReplyConfig)); - return; - } catch (OpenemsException e) { + } catch (IOException | InvalidSyntaxException | OpenemsException e) { WebSocketUtils.sendNotificationOrLogError(this.websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, Notification.UNABLE_TO_READ_CURRENT_CONFIG, e.getMessage()); } + break; case "update": /* diff --git a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java index 908d100efc0..403bb8190bf 100644 --- a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java +++ b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java @@ -1,19 +1,125 @@ package io.openems.edge.controller.api.apicontrollerutils; +import java.util.Arrays; +import java.util.Collections; +import java.util.Dictionary; +import java.util.List; + import org.osgi.service.cm.Configuration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import com.google.gson.JsonParser; +import com.google.gson.JsonPrimitive; + +import io.openems.edge.common.component.OpenemsComponent; public class Utils { private final static Logger log = LoggerFactory.getLogger(Utils.class); - protected final static JsonObject DEPRECATED_CONFIG_META = new JsonParser().parse( - "{\"io.openems.impl.protocol.modbus.ModbusRtu\":{\"class\":\"io.openems.impl.protocol.modbus.ModbusRtu\",\"title\":\"Modbus/RTU\",\"text\":\"\",\"channels\":{\"baudrate\":{\"name\":\"baudrate\",\"title\":\"Baudrate\",\"description\":\"Sets the baudrate (e.g. 9600).\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"stopbits\":{\"name\":\"stopbits\",\"title\":\"Stopbits\",\"description\":\"Sets the stopbits (e.g. 1).\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"parity\":{\"name\":\"parity\",\"title\":\"Parity\",\"description\":\"Sets the parity (e.g. 'even').\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"databits\":{\"name\":\"databits\",\"title\":\"Databits\",\"description\":\"Sets the databits (e.g. 8).\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"serialinterface\":{\"name\":\"serialinterface\",\"title\":\"Serial interface\",\"description\":\"Sets the serial interface (e.g. /dev/ttyUSB0).\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.protocol.modbus.ModbusRtu\",\"io.openems.api.bridge.Bridge\",\"io.openems.impl.protocol.modbus.ModbusBridge\"]},\"io.openems.impl.protocol.simulator.SimulatorBridge\":{\"class\":\"io.openems.impl.protocol.simulator.SimulatorBridge\",\"title\":\"Simulator\",\"text\":\"\",\"channels\":{},\"implements\":[\"io.openems.impl.protocol.simulator.SimulatorBridge\",\"io.openems.api.bridge.Bridge\"]},\"io.openems.impl.protocol.keba.KebaBridge\":{\"class\":\"io.openems.impl.protocol.keba.KebaBridge\",\"title\":\"KEBA KeContact Bridge\",\"text\":\"\",\"channels\":{},\"implements\":[\"io.openems.impl.protocol.keba.KebaBridge\",\"io.openems.api.bridge.Bridge\"]},\"io.openems.impl.protocol.system.SystemBridge\":{\"class\":\"io.openems.impl.protocol.system.SystemBridge\",\"title\":\"Operating system\",\"text\":\"\",\"channels\":{},\"implements\":[\"io.openems.impl.protocol.system.SystemBridge\",\"io.openems.api.bridge.Bridge\"]},\"io.openems.impl.protocol.studer.StuderBridge\":{\"class\":\"io.openems.impl.protocol.studer.StuderBridge\",\"title\":\"Studer\",\"text\":\"\",\"channels\":{\"address\":{\"name\":\"address\",\"title\":\"Source address\",\"description\":\"Sets the source address (e.g. 1).\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"1\",\"jsonSchema\":\"\"},\"serialinterface\":{\"name\":\"serialinterface\",\"title\":\"Serial interface\",\"description\":\"Sets the serial interface (e.g. /dev/ttyUSB0).\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.bridge.Bridge\",\"io.openems.impl.protocol.studer.StuderBridge\"]},\"io.openems.impl.protocol.modbus.ModbusBridge\":{\"class\":\"io.openems.impl.protocol.modbus.ModbusBridge\",\"title\":\"Modbus\",\"text\":\"\",\"channels\":{},\"implements\":[\"io.openems.api.bridge.Bridge\",\"io.openems.impl.protocol.modbus.ModbusBridge\"]},\"io.openems.impl.protocol.modbus.ModbusTcp\":{\"class\":\"io.openems.impl.protocol.modbus.ModbusTcp\",\"title\":\"Modbus/TCP\",\"text\":\"\",\"channels\":{\"port\":{\"name\":\"port\",\"title\":\"Port\",\"description\":\"Sets the port (e.g. 502).\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"502\",\"jsonSchema\":\"\"},\"ip\":{\"name\":\"ip\",\"title\":\"IP address\",\"description\":\"Sets the IP address (e.g. 10.0.0.15).\",\"type\":\"Inet4Address\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.bridge.Bridge\",\"io.openems.impl.protocol.modbus.ModbusBridge\",\"io.openems.impl.protocol.modbus.ModbusTcp\"]},\"io.openems.impl.controller.symmetric.avoidtotaldischargesoctimeline.AvoidTotalDischargeSocTimeLineController\":{\"class\":\"io.openems.impl.controller.symmetric.avoidtotaldischargesoctimeline.AvoidTotalDischargeSocTimeLineController\",\"title\":\"Avoid total discharge of battery (Symmetric)\",\"text\":\"Makes sure the battery is not going into critically low state of charge. For symmetric Ess.\",\"channels\":{\"dischargePeriod\":{\"name\":\"dischargePeriod\",\"title\":\"Discharge Period\",\"description\":\"The Period of time between two Discharges.https://docs.oracle.com/javase/8/docs/api/java/time/Period.html#parse-java.lang.CharSequence-\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"P4W\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"dischargeTime\":{\"name\":\"dischargeTime\",\"title\":\"Discharge Start Time\",\"description\":\"The time of the Day to start Discharging.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"12:00:00\",\"jsonSchema\":\"\"},\"nextDischarge\":{\"name\":\"nextDischarge\",\"title\":\"Next Discharge\",\"description\":\"Next Time, the ess will discharge completely.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"2018-03-09\",\"jsonSchema\":\"\"},\"socTimeline\":{\"name\":\"socTimeline\",\"title\":\"Soc timeline\",\"description\":\"This option configures an minsoc at a time for an ess. If no minsoc for an ess is configured the controller uses the minsoc of the ess.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"enableDischarge\":{\"name\":\"enableDischarge\",\"title\":\"Enable Discharge\",\"description\":\"This option allowes the system to discharge the ess according to the nextDischarge completely. This improves the soc calculation.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"false\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.avoidtotaldischargesoctimeline.AvoidTotalDischargeSocTimeLineController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.refuworkstate.WorkStateController\":{\"class\":\"io.openems.impl.controller.symmetric.refuworkstate.WorkStateController\",\"title\":\"REFU Workstate (Symmetric)\",\"text\":\"Sends the Ess to Standby if no power is required. Do not use if Off-Grid functionality is required. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"AsymmetricEssNature\",\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"RefuEss\",\"ModbusDeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"start\":{\"name\":\"start\",\"title\":\"Start/Stop\",\"description\":\"Indicates if the Ess should be started (true) or stopped (false).\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.refuworkstate.WorkStateController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.powerbyfrequency.PowerByFrequencyController\":{\"class\":\"io.openems.impl.controller.symmetric.powerbyfrequency.PowerByFrequencyController\",\"title\":\"Power by frequency (Symmetric)\",\"text\":\"Tries to keep the grid meter at a given frequency. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"The meter for the frequency meassurement.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"highSocLimit\":{\"name\":\"highSocLimit\",\"title\":\"High SOC-Limit\",\"description\":\"The upper soc limit. Above this limit the Ess will discharge with more power by the same frequency.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"70\",\"jsonSchema\":\"\"},\"lowSocLimit\":{\"name\":\"lowSocLimit\",\"title\":\"Low SOC-Limit\",\"description\":\"The low soc limit. Below this limit the Ess will charge with more power by the same frequency.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"30\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.powerbyfrequency.PowerByFrequencyController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.testwrite.TestWriteController\":{\"class\":\"io.openems.impl.controller.testwrite.TestWriteController\",\"title\":\"Test write\",\"text\":\"\",\"channels\":{\"in\":{\"name\":\"in\",\"title\":\"Input\",\"description\":\"\",\"type\":[\"InputNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"out\":{\"name\":\"out\",\"title\":\"Output\",\"description\":\"\",\"type\":[\"OutputNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.testwrite.TestWriteController\"]},\"io.openems.impl.controller.onGridIndication.OnGridIndicationController\":{\"class\":\"io.openems.impl.controller.onGridIndication.OnGridIndicationController\",\"title\":\"OnGridIndicationController\",\"text\":\"indicates with an digitalOutput if the system is On-Grid.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"switchDelay\":{\"name\":\"switchDelay\",\"title\":\"time to wait before switch output on.\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"onGridOutputChannelAddress\":{\"name\":\"onGridOutputChannelAddress\",\"title\":\"the address of the Digital Output to singal on-Grid.\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"The ess where the grid state should be read from.\",\"description\":\"\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.onGridIndication.OnGridIndicationController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.capacitytest.CapacityTestController\":{\"class\":\"io.openems.impl.controller.asymmetric.capacitytest.CapacityTestController\",\"title\":\"Battery capacity test (Asymmetric)\",\"text\":\"Executes a capacity test. For asymmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"logPath\":{\"name\":\"logPath\",\"title\":\"Log-File\",\"description\":\"Path to save the logfile.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"power\":{\"name\":\"power\",\"title\":\"Power\",\"description\":\"Discharge power of Ess.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"750\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.capacitytest.CapacityTestController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.avoidtotalcharge.AvoidTotalChargeController\":{\"class\":\"io.openems.impl.controller.asymmetric.avoidtotalcharge.AvoidTotalChargeController\",\"title\":\"Avoid total charge of battery. (Asymmetric)\",\"text\":\"Provides control over the battery's maximum state of charge at a specific time of day. For symmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"gridMeter\":{\"name\":\"gridMeter\",\"title\":\"Grid Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"criticalPercentage\":{\"name\":\"criticalPercentage\",\"title\":\"Critical Percentage\",\"description\":\"If the productionMeter's power raises above this percentage of its peak value, the graph-value may be neglected.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"100\",\"jsonSchema\":\"\"},\"graph2\":{\"name\":\"graph2\",\"title\":\"Graph 2\",\"description\":\"Sets the socMaxVals.\",\"type\":\"Long[]\",\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"[100,100,100,100,100,60,60,60,60,60,60,60,60,60,70,80,90,100,100,100,100,100,100,100]\",\"jsonSchema\":\"\"},\"graph1\":{\"name\":\"graph1\",\"title\":\"Graph 1\",\"description\":\"Sets the socMaxVals.\",\"type\":\"Long[]\",\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"[100,100,100,100,100,60,60,60,60,60,60,60,70,80,90,100,100,100,100,100,100,100,100,100]\",\"jsonSchema\":\"\"},\"graph1active\":{\"name\":\"graph1active\",\"title\":\"Graph 1 active\",\"description\":\"Activate Graph 1 (If no graph is activated, all values are set to 100)\",\"type\":\"Boolean\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"true\",\"jsonSchema\":\"\"},\"maximumProductionPower\":{\"name\":\"maximumProductionPower\",\"title\":\"Maximum Production Power\",\"description\":\"Theoretical peak value of all the photovoltaic panels\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"graph2active\":{\"name\":\"graph2active\",\"title\":\"Graph 2 active\",\"description\":\"Activate Graph 2 (If no graph is activated, all values are set to 100)\",\"type\":\"Boolean\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"false\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.avoidtotalcharge.AvoidTotalChargeController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.channelthreshold.ChannelThresholdController\":{\"class\":\"io.openems.impl.controller.channelthreshold.ChannelThresholdController\",\"title\":\"Switch channel on threshold\",\"text\":\"\",\"channels\":{\"upperThreshold\":{\"name\":\"upperThreshold\",\"title\":\"High threshold\",\"description\":\"High threshold where the output should be switched off.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"invertOutput\":{\"name\":\"invertOutput\",\"title\":\"Invert-Output\",\"description\":\"True if the digital output should be inverted.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"outputChannelAddress\":{\"name\":\"outputChannelAddress\",\"title\":\"Output\",\"description\":\"Address of the digital output channel that should be switched.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"thresholdChannelAddress\":{\"name\":\"thresholdChannelAddress\",\"title\":\"Channel\",\"description\":\"Address of the channel that indicates the switching by the min and max threshold.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"lowerThreshold\":{\"name\":\"lowerThreshold\",\"title\":\"Low threshold\",\"description\":\"Low threshold where the output should be switched on.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"hysteresis\":{\"name\":\"hysteresis\",\"title\":\"Hysteresis\",\"description\":\"Hysteresis for lower and upper threshold\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.channelthreshold.ChannelThresholdController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.fixvalue.FixValueReactivePowerController\":{\"class\":\"io.openems.impl.controller.asymmetric.fixvalue.FixValueReactivePowerController\",\"title\":\"Fixed active and reactive power (Asymmetric)\",\"text\":\"Charges or discharges the battery with a predefined, fixed power. For asymmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"reactivePowerL1\":{\"name\":\"reactivePowerL1\",\"title\":\"ReactivePower L1\",\"description\":\"Fixed reactive power for phase L1.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"reactivePowerL2\":{\"name\":\"reactivePowerL2\",\"title\":\"ReactivePower L2\",\"description\":\"Fixed reactive power for phase L2.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"reactivePowerL3\":{\"name\":\"reactivePowerL3\",\"title\":\"ReactivePower L3\",\"description\":\"Fixed reactive power for phase L3.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.fixvalue.FixValueReactivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.timelinecharge.TimelineChargeController\":{\"class\":\"io.openems.impl.controller.symmetric.timelinecharge.TimelineChargeController\",\"title\":\"Timeline charge (Symmetric)\",\"text\":\"\",\"channels\":{\"sunday\":{\"name\":\"sunday\",\"title\":\"Sunday\",\"description\":\"Sets the soc limits for sunday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"saturday\":{\"name\":\"saturday\",\"title\":\"Saturday\",\"description\":\"Sets the soc limits for saturday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"tuesday\":{\"name\":\"tuesday\",\"title\":\"Tuesday\",\"description\":\"Sets the soc limits for tuesday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"wednesday\":{\"name\":\"wednesday\",\"title\":\"Wednesday\",\"description\":\"Sets the soc limits for wednesday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"thursday\":{\"name\":\"thursday\",\"title\":\"Thursday\",\"description\":\"Sets the soc limits for thursday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"friday\":{\"name\":\"friday\",\"title\":\"Friday\",\"description\":\"Sets the soc limits for friday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"chargers\":{\"name\":\"chargers\",\"title\":\"Charger\",\"description\":\"Sets the Chargers connected to the ess.\",\"type\":[\"ChargerNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"allowedApparent\":{\"name\":\"allowedApparent\",\"title\":\"Max-ApparentPower\",\"description\":\"How much apparent power the grid connection can take.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"monday\":{\"name\":\"monday\",\"title\":\"Monday\",\"description\":\"Sets the soc limits for monday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.timelinecharge.TimelineChargeController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.phaserectification.PhaseRectificationActivePowerController\":{\"class\":\"io.openems.impl.controller.asymmetric.phaserectification.PhaseRectificationActivePowerController\",\"title\":\"PhaseRectificationActivePowerController\",\"text\":\"Sets the ess to the required activepower to get all three phases on the meter to the same level.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.asymmetric.phaserectification.PhaseRectificationActivePowerController\"]},\"io.openems.impl.controller.symmetric.offGridPowerStation.OffGridPowerStationController\":{\"class\":\"io.openems.impl.controller.symmetric.offGridPowerStation.OffGridPowerStationController\",\"title\":\"External power station control\",\"text\":\"Starts an thermal power station in case of off-Grid and empty ess.\",\"channels\":{\"invertOutput\":{\"name\":\"invertOutput\",\"title\":\"Invert-Output\",\"description\":\"True if the digital output should be inverted.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"switchDelay\":{\"name\":\"switchDelay\",\"title\":\"time to wait before switch output on.\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-meter\",\"description\":\"Sets the grid-meter to detect if the system is Off-Grid or On-Grid.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"onGridOutputOn\":{\"name\":\"onGridOutputOn\",\"title\":\"On-Grid output on\",\"description\":\"This value indicates if the system is On-Grid to start(true) or stop(false) the generator.\",\"type\":\"Boolean\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"outputChannelAddress\":{\"name\":\"outputChannelAddress\",\"title\":\"the address of the Digital Output where the generator is connected to.\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxSoc\":{\"name\":\"maxSoc\",\"title\":\"Max-SOC\",\"description\":\"If the system is Off-Grid and the generator is running, the generator stops if the SOC level increases over the Max-SOC.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"If the SOC falls under this value and the system is Off-Grid the generator starts.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.symmetric.offGridPowerStation.OffGridPowerStationController\"]},\"io.openems.impl.controller.symmetric.balancingcurrent.BalancingCurrentController\":{\"class\":\"io.openems.impl.controller.symmetric.balancingcurrent.BalancingCurrentController\",\"title\":\"Balancing current (Symmetric)\",\"text\":\"Tries to keep the grid meter at a given current. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"currentOffset\":{\"name\":\"currentOffset\",\"title\":\"Current offset\",\"description\":\"The current to hold on the grid-meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.balancingcurrent.BalancingCurrentController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.powerramp.PowerRampController\":{\"class\":\"io.openems.impl.controller.symmetric.powerramp.PowerRampController\",\"title\":\"Power ramp (Symmetric)\",\"text\":\"Follows a power ramp. For symmetric Ess.\",\"channels\":{\"pMax\":{\"name\":\"pMax\",\"title\":\"Max-ActivePower\",\"description\":\"The limit where the powerRamp stops. (pos/neg)\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"sleep\":{\"name\":\"sleep\",\"title\":\"Step-Wait\",\"description\":\"Wait till next step in milliseconds.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"pStep\":{\"name\":\"pStep\",\"title\":\"Step\",\"description\":\"Step to increase power.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.powerramp.PowerRampController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.voltagecharacteristic.ActivePowerVoltageCharacteristicController\":{\"class\":\"io.openems.impl.controller.symmetric.voltagecharacteristic.ActivePowerVoltageCharacteristicController\",\"title\":\"Voltage characteristics (Symmetric)\",\"text\":\"\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"The meter to measure the Voltage.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"pByUCharacteristicPoints\":{\"name\":\"pByUCharacteristicPoints\",\"title\":\"ActivePower characteristics\",\"description\":\"Characteristic points for active power.\",\"type\":\"Long[]\",\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"uNenn\":{\"name\":\"uNenn\",\"title\":\"Nominal voltage\",\"description\":\"The nominal voltage of the grid.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.voltagecharacteristic.ActivePowerVoltageCharacteristicController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.cosphi.CosPhiController\":{\"class\":\"io.openems.impl.controller.symmetric.cosphi.CosPhiController\",\"title\":\"Ess Cos-Phi (Symmetric)\",\"text\":\"Keeps the Ess at a given cos-phi. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"cosPhi\":{\"name\":\"cosPhi\",\"title\":\"Cos-Phi\",\"description\":\"The cos-phi to hold on the storage.\",\"type\":\"Double\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"capacitive\":{\"name\":\"capacitive\",\"title\":\"Capacitive CosPhi\",\"description\":\"if this value is true the cosPhi is capacitive otherwise inductive.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.cosphi.CosPhiController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.gridfeedinlimitation.GridFeedInLimitationController\":{\"class\":\"io.openems.impl.controller.symmetric.gridfeedinlimitation.GridFeedInLimitationController\",\"title\":\"\",\"text\":\"Calulates maximal Ess power to avoid grid feed in.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxGridFeedIn\":{\"name\":\"maxGridFeedIn\",\"title\":\"Max GridFeedIn\",\"description\":\"The max allowed power feed in to grid.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.gridfeedinlimitation.GridFeedInLimitationController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.kippzonenpyranometer.KippZonenPyranometerController\":{\"class\":\"io.openems.impl.controller.kippzonenpyranometer.KippZonenPyranometerController\",\"title\":\"Output debugging information on systemlog\",\"text\":\"\",\"channels\":{\"pyra\":{\"name\":\"pyra\",\"title\":\"PyranometerNature\",\"description\":\"Sets the Pyra device.\",\"type\":[\"DeviceNature\",\"PyranometerNature\"],\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.kippzonenpyranometer.KippZonenPyranometerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.supplybusswitch.SupplyBusSwitchController\":{\"class\":\"io.openems.impl.controller.supplybusswitch.SupplyBusSwitchController\",\"title\":\"Supply Bus Switch\",\"text\":\"\",\"channels\":{\"supplyBusConfig\":{\"name\":\"supplyBusConfig\",\"title\":\"Supply-bus\",\"description\":\"Collection of the switches for the supplyBus each array represents the switches for one supply bus.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"switchDelay\":{\"name\":\"switchDelay\",\"title\":\"Switch-Delay\",\"description\":\"delay to expire between ess disconnected and next ess connected.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"10000\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.supplybusswitch.SupplyBusSwitchController\"]},\"io.openems.impl.controller.api.websocket.WebsocketApiController\":{\"class\":\"io.openems.impl.controller.api.websocket.WebsocketApiController\",\"title\":\"Websocket-API\",\"text\":\"Required by OpenEMS-UI.\",\"channels\":{\"port\":{\"name\":\"port\",\"title\":\"Port\",\"description\":\"Sets the port of the Websocket-Api Server.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"8085\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"channelTimeout\":{\"name\":\"channelTimeout\",\"title\":\"ChannelTimeout\",\"description\":\"Sets the timeout for updates to channels.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"10\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.api.websocket.WebsocketApiController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.fixvalue.FixValueActivePowerController\":{\"class\":\"io.openems.impl.controller.asymmetric.fixvalue.FixValueActivePowerController\",\"title\":\"Fixed active and reactive power (Asymmetric)\",\"text\":\"Charges or discharges the battery with a predefined, fixed power. For asymmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerL3\":{\"name\":\"activePowerL3\",\"title\":\"ActivePower L3\",\"description\":\"Fixed active power for phase L3.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerL2\":{\"name\":\"activePowerL2\",\"title\":\"ActivePower L2\",\"description\":\"Fixed active power for phase L2.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerL1\":{\"name\":\"activePowerL1\",\"title\":\"ActivePower L1\",\"description\":\"Fixed active power for phase L1.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.fixvalue.FixValueActivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.debuglogforkaco.DebugLogController\":{\"class\":\"io.openems.impl.controller.debuglogforkaco.DebugLogController\",\"title\":\"Output debugging information on systemlog\",\"text\":\"\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"SymmetricEssNature\",\"FeneconBlueplanet50TL3Ess\",\"EssNature\",\"DeviceNature\",\"ModbusDeviceNature\"],\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.debuglogforkaco.DebugLogController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.fixvalue.FixValueReactivePowerController\":{\"class\":\"io.openems.impl.controller.symmetric.fixvalue.FixValueReactivePowerController\",\"title\":\"Fixed active and reactive power (Symmetric)\",\"text\":\"Charges or discharges the battery with a predefined, fixed power. For symmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"q\":{\"name\":\"q\",\"title\":\"ReactivePower\",\"description\":\"The reactive power to set for each Ess.\",\"type\":\"Long\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.fixvalue.FixValueReactivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.balancing.BalancingController\":{\"class\":\"io.openems.impl.controller.asymmetric.balancing.BalancingController\",\"title\":\"Self-consumption optimization (Asymmetric)\",\"text\":\"Tries to keep the grid meter on zero. For asymmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"cosPhi\":{\"name\":\"cosPhi\",\"title\":\"Cos-Phi\",\"description\":\"\",\"type\":\"Double\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0.95\",\"jsonSchema\":\"\"},\"capacitive\":{\"name\":\"capacitive\",\"title\":\"Capacitive CosPhi\",\"description\":\"if this value is true the cosPhi is capacitive otherwise inductive.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"false\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.asymmetric.balancing.BalancingController\"]},\"io.openems.impl.controller.symmetric.balancingbandgap.BalancingBandgapReactivePowerController\":{\"class\":\"io.openems.impl.controller.symmetric.balancingbandgap.BalancingBandgapReactivePowerController\",\"title\":\"Balancing bandgap (Symmetric)\",\"text\":\"Tries to keep the grid meter within a bandgap. For symmetric Ess.\",\"channels\":{\"minReactivePower\":{\"name\":\"minReactivePower\",\"title\":\"Min-ReactivePower\",\"description\":\"Low boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxReactivePower\":{\"name\":\"maxReactivePower\",\"title\":\"Max-ReactivePower\",\"description\":\"High boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.symmetric.balancingbandgap.BalancingBandgapReactivePowerController\"]},\"io.openems.impl.controller.symmetric.capacitytest.CapacityTestController\":{\"class\":\"io.openems.impl.controller.symmetric.capacitytest.CapacityTestController\",\"title\":\"Battery capacity test (Symmetric)\",\"text\":\"Executes a capacity test. For symmetric Ess.\",\"channels\":{\"sleep\":{\"name\":\"sleep\",\"title\":\"Sleep\",\"description\":\"Time to sleep after empty ess before start capacityTest.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"750\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"logPath\":{\"name\":\"logPath\",\"title\":\"Log-File\",\"description\":\"Path to save the logfile.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"power\":{\"name\":\"power\",\"title\":\"Power\",\"description\":\"Discharge power of Ess.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"750\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.symmetric.capacitytest.CapacityTestController\"]},\"io.openems.impl.controller.symmetric.balancingbandgap.BalancingBandgapActivePowerController\":{\"class\":\"io.openems.impl.controller.symmetric.balancingbandgap.BalancingBandgapActivePowerController\",\"title\":\"Balancing bandgap (Symmetric)\",\"text\":\"Tries to keep the grid meter within a bandgap. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"Max-ActivePower\",\"description\":\"High boundary of active power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"Min-ActivePower\",\"description\":\"Low boundary of active power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.symmetric.balancingbandgap.BalancingBandgapActivePowerController\"]},\"io.openems.impl.controller.asymmetricsymmetriccombination.AsymmetricSymmetricCombinationController\":{\"class\":\"io.openems.impl.controller.asymmetricsymmetriccombination.AsymmetricSymmetricCombinationController\",\"title\":\"starts power calculation of AsymmetricSymmetricCombination Ess device\",\"text\":\"\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"SymmetricEssNature\",\"AsymmetricSymmetricCombinationEssNature\",\"EssNature\",\"DeviceNature\",\"SystemDeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.asymmetricsymmetriccombination.AsymmetricSymmetricCombinationController\"]},\"io.openems.impl.controller.feneconprosetup.FeneconProSetupController\":{\"class\":\"io.openems.impl.controller.feneconprosetup.FeneconProSetupController\",\"title\":\"Initial setup for FENECON Pro\",\"text\":\"Sets the correct factory settings for FENECON Pro energy storage systems.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"FeneconProEss\",\"RealTimeClockNature\",\"ModbusDeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.feneconprosetup.FeneconProSetupController\"]},\"io.openems.impl.controller.symmetric.commercialworkstate.AlwaysOnController\":{\"class\":\"io.openems.impl.controller.symmetric.commercialworkstate.AlwaysOnController\",\"title\":\"Keep always running (Symmetric)\",\"text\":\"Tries to keep the Ess always running. Use if Off-Grid functionality is required. For symmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.symmetric.commercialworkstate.AlwaysOnController\"]},\"io.openems.impl.controller.debuglog.DebugLogController\":{\"class\":\"io.openems.impl.controller.debuglog.DebugLogController\",\"title\":\"Output debugging information on systemlog\",\"text\":\"\",\"channels\":{\"rtc\":{\"name\":\"rtc\",\"title\":\"Real-time clock\",\"description\":\"Sets the real-time clock.\",\"type\":[\"DeviceNature\",\"RealTimeClockNature\"],\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"outputs\":{\"name\":\"outputs\",\"title\":\"Outputs\",\"description\":\"Sets the outputs.\",\"type\":[\"OutputNature\",\"DeviceNature\"],\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"evcss\":{\"name\":\"evcss\",\"title\":\"EVCSs\",\"description\":\"Sets the evcs.\",\"type\":[\"DeviceNature\",\"EvcsNature\"],\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meters\":{\"name\":\"meters\",\"title\":\"Meters\",\"description\":\"Sets the meters.\",\"type\":[\"MeterNature\",\"DeviceNature\"],\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.debuglog.DebugLogController\"]},\"io.openems.impl.controller.api.rest.RestApiController\":{\"class\":\"io.openems.impl.controller.api.rest.RestApiController\",\"title\":\"REST-Api\",\"text\":\"Use for external access to OpenEMS.\",\"channels\":{\"port\":{\"name\":\"port\",\"title\":\"Port\",\"description\":\"Sets the port of the REST-Api Server.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"8084\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"channelTimeout\":{\"name\":\"channelTimeout\",\"title\":\"ChannelTimeout\",\"description\":\"Sets the timeout for updates to channels.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"10\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.api.rest.RestApiController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.balancingBandgap.BalancingBandgapActivePowerController\":{\"class\":\"io.openems.impl.controller.asymmetric.balancingBandgap.BalancingBandgapActivePowerController\",\"title\":\"Self-consumption optimization (Asymmetric)\",\"text\":\"Tries to keep the grid meter on zero. For asymmetric Ess.\",\"channels\":{\"maxActivePowerL1\":{\"name\":\"maxActivePowerL1\",\"title\":\"Max-ActivePowerL1\",\"description\":\"High boundary of active power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxActivePowerL2\":{\"name\":\"maxActivePowerL2\",\"title\":\"Max-ActivePowerL2\",\"description\":\"High boundary of active power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minActivePowerL2\":{\"name\":\"minActivePowerL2\",\"title\":\"Min-ReactivePowerL2\",\"description\":\"Low boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxActivePowerL3\":{\"name\":\"maxActivePowerL3\",\"title\":\"Max-ActivePowerL3\",\"description\":\"High boundary of active power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minActivePowerL1\":{\"name\":\"minActivePowerL1\",\"title\":\"Min-ReactivePowerL1\",\"description\":\"Low boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minActivePowerL3\":{\"name\":\"minActivePowerL3\",\"title\":\"Min-ReactivePowerL3\",\"description\":\"Low boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.balancingBandgap.BalancingBandgapActivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.cosphicharacteristic.CosPhiCharacteristicController\":{\"class\":\"io.openems.impl.controller.symmetric.cosphicharacteristic.CosPhiCharacteristicController\",\"title\":\"Cos-Phi Characteristics (Symmetric)\",\"text\":\"\",\"channels\":{\"cosPhiPoints\":{\"name\":\"cosPhiPoints\",\"title\":\"Cos-Phi characteristic\",\"description\":\"The points of the characteristic (x = signed activePower, y = cosPhi IEEE Power Factor Sign Convention ).\",\"type\":\"Double[]\",\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.cosphicharacteristic.CosPhiCharacteristicController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.balancingsurplus.BalancingSurplusController\":{\"class\":\"io.openems.impl.controller.symmetric.balancingsurplus.BalancingSurplusController\",\"title\":\"Self-consumption optimization with surplus feed-in (Symmetric)\",\"text\":\"Tries to keep the grid meter on zero. For symmetric Ess. If ess is over the surplusMinSoc, the ess discharges with the power of the chargers. \",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"surplusMinSoc\":{\"name\":\"surplusMinSoc\",\"title\":\"Surplus min soc\",\"description\":\"The required Soc to start surplus feed-in.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"chargers\":{\"name\":\"chargers\",\"title\":\"Charger\",\"description\":\"Sets the Chargers connected to the ess.\",\"type\":[\"ChargerNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"surplusOffTime\":{\"name\":\"surplusOffTime\",\"title\":\"Surplus Off Time\",\"description\":\"The time to stop grid feed in.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"17:00:00\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.symmetric.balancingsurplus.BalancingSurplusController\"]},\"io.openems.impl.controller.symmetric.powerlimitation.ActivePowerLimitationController\":{\"class\":\"io.openems.impl.controller.symmetric.powerlimitation.ActivePowerLimitationController\",\"title\":\"Power limitation (Symmetric)\",\"text\":\"Limits the active and reactive power of the Ess. For symmetric Ess.\",\"channels\":{\"pMax\":{\"name\":\"pMax\",\"title\":\"Max-Charge ActivePower\",\"description\":\"The maximum allowed active power for discharge. Value is positive.\",\"type\":\"Long\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"pMin\":{\"name\":\"pMin\",\"title\":\"Min-Charge ActivePower\",\"description\":\"The minimum allowed active power for discharge. Value is negative.\",\"type\":\"Long\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.powerlimitation.ActivePowerLimitationController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController\":{\"class\":\"io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController\",\"title\":\"Avoid total discharge of battery (Asymmetric)\",\"text\":\"Makes sure the battery is not going into critically low state of charge. For asymmetric Ess.\",\"channels\":{\"dischargePeriod\":{\"name\":\"dischargePeriod\",\"title\":\"Discharge Period\",\"description\":\"The Period of time between two Discharges.https://docs.oracle.com/javase/8/docs/api/java/time/Period.html#parse-java.lang.CharSequence-\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"P4W\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"nextDischarge\":{\"name\":\"nextDischarge\",\"title\":\"Next Discharge\",\"description\":\"Next Time, the ess will discharge completely.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"2018-03-09\",\"jsonSchema\":\"\"},\"maxSoc\":{\"name\":\"maxSoc\",\"title\":\"Max Soc\",\"description\":\"If the System is full the charge is blocked untill the soc decrease below the maxSoc.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"95\",\"jsonSchema\":\"\"},\"enableDischarge\":{\"name\":\"enableDischarge\",\"title\":\"Enable Discharge\",\"description\":\"This option allowes the system to discharge the ess according to the nextDischarge completely. This improves the soc calculation.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"false\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.avoidtotaldischarge.AvoidTotalDischargeController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.delaycharge.DelayChargeController\":{\"class\":\"io.openems.impl.controller.symmetric.delaycharge.DelayChargeController\",\"title\":\"Delay Charge (Symmetric)\",\"text\":\"Delays the time of 100 % SoC to a set time of the day. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"targetHour\":{\"name\":\"targetHour\",\"title\":\"Hour of day\",\"description\":\"Hour of day, when SoC should be 100 %.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"15\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.delaycharge.DelayChargeController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.avoidtotalcharge.AvoidTotalChargeController\":{\"class\":\"io.openems.impl.controller.symmetric.avoidtotalcharge.AvoidTotalChargeController\",\"title\":\"Avoid total charge of battery. (Symmetric)\",\"text\":\"Provides control over the battery's maximum state of charge at a specific time of day. For symmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"gridMeter\":{\"name\":\"gridMeter\",\"title\":\"Grid Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"criticalPercentage\":{\"name\":\"criticalPercentage\",\"title\":\"Critical Percentage\",\"description\":\"If the productionMeter's power raises above this percentage of its peak value, the graph-value may be neglected.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"100\",\"jsonSchema\":\"\"},\"graph2\":{\"name\":\"graph2\",\"title\":\"Graph 2\",\"description\":\"Sets the socMaxVals.\",\"type\":\"Long[]\",\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"[100,100,100,100,100,60,60,60,60,60,60,60,60,60,70,80,90,100,100,100,100,100,100,100]\",\"jsonSchema\":\"\"},\"graph1\":{\"name\":\"graph1\",\"title\":\"Graph 1\",\"description\":\"Sets the socMaxVals.\",\"type\":\"Long[]\",\"optional\":true,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"[100,100,100,100,100,60,60,60,60,60,60,60,70,80,90,100,100,100,100,100,100,100,100,100]\",\"jsonSchema\":\"\"},\"graph1active\":{\"name\":\"graph1active\",\"title\":\"Graph 1 active\",\"description\":\"Activate Graph 1 (If no graph is activated, all values are set to 100)\",\"type\":\"Boolean\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"true\",\"jsonSchema\":\"\"},\"maximumProductionPower\":{\"name\":\"maximumProductionPower\",\"title\":\"Maximum Production Power\",\"description\":\"Theoretical peak value of all the photovoltaic panels\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"graph2active\":{\"name\":\"graph2active\",\"title\":\"Graph 2 active\",\"description\":\"Activate Graph 2 (If no graph is activated, all values are set to 100)\",\"type\":\"Boolean\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"installer\",\"owner\",\"admin\"],\"defaultValue\":\"false\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.avoidtotalcharge.AvoidTotalChargeController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.voltagecharacteristic.ReactivePowerVoltageCharacteristicController\":{\"class\":\"io.openems.impl.controller.symmetric.voltagecharacteristic.ReactivePowerVoltageCharacteristicController\",\"title\":\"Voltage characteristics (Symmetric)\",\"text\":\"\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"The meter to measure the Voltage.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"qByUCharacteristicPoints\":{\"name\":\"qByUCharacteristicPoints\",\"title\":\"ReactivePower characteristics\",\"description\":\"Characteristic points for reactive power.\",\"type\":\"Long[]\",\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"uNenn\":{\"name\":\"uNenn\",\"title\":\"Nominal voltage\",\"description\":\"The nominal voltage of the grid.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.voltagecharacteristic.ReactivePowerVoltageCharacteristicController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.balancing.BalancingController\":{\"class\":\"io.openems.impl.controller.symmetric.balancing.BalancingController\",\"title\":\"Self-consumption optimization (Symmetric)\",\"text\":\"Tries to keep the grid meter on zero. For symmetric Ess. Ess-Cluster is supported.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.balancing.BalancingController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.balancingoffset.BalancingOffsetActivePowerController\":{\"class\":\"io.openems.impl.controller.symmetric.balancingoffset.BalancingOffsetActivePowerController\",\"title\":\"Balancing offset (Symmetric)\",\"text\":\"Tries to keep the grid meter within an offset. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerOffset\":{\"name\":\"activePowerOffset\",\"title\":\"Offset ActivePower\",\"description\":\"The offset of the active power from zero to hold on the grid meter.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.balancingoffset.BalancingOffsetActivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.clocksync.ClockSyncController\":{\"class\":\"io.openems.impl.controller.clocksync.ClockSyncController\",\"title\":\"Sychronizes system clocks\",\"text\":\"Synchronizes the sytem clocks of OpenEMS and a connected real-time clock device.\",\"channels\":{\"rtc\":{\"name\":\"rtc\",\"title\":\"Real-time clock\",\"description\":\"Sets the real-time clock device.\",\"type\":[\"DeviceNature\",\"RealTimeClockNature\"],\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.clocksync.ClockSyncController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.balancingcosphi.BalancingCosPhiController\":{\"class\":\"io.openems.impl.controller.symmetric.balancingcosphi.BalancingCosPhiController\",\"title\":\"Balancing Cos-Phi (Symmetric)\",\"text\":\"Tries to keep the grid meter at a given cos-phi. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"cosPhi\":{\"name\":\"cosPhi\",\"title\":\"Cos-Phi\",\"description\":\"Cos-phi which the grid-meter is trying to hold.\",\"type\":\"Double\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"capacitive\":{\"name\":\"capacitive\",\"title\":\"Capacitive CosPhi\",\"description\":\"if this value is true the cosPhi is capacitive otherwise inductive.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.balancingcosphi.BalancingCosPhiController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.systemstate.alwayson.AlwaysOnController\":{\"class\":\"io.openems.impl.controller.systemstate.alwayson.AlwaysOnController\",\"title\":\"Keep always running\",\"text\":\"Tries to keep the Ess always running. Use if Off-Grid functionality is required.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.systemstate.alwayson.AlwaysOnController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.phaserectification.PhaseRectificationReactivePowerController\":{\"class\":\"io.openems.impl.controller.asymmetric.phaserectification.PhaseRectificationReactivePowerController\",\"title\":\"PhaseRectificationReactivePowerController\",\"text\":\"Sets the ess to the required reactivepower to get all three phases on the meter to the same level.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.asymmetric.phaserectification.PhaseRectificationReactivePowerController\"]},\"io.openems.impl.controller.offGridIndication.OffGridIndicationController\":{\"class\":\"io.openems.impl.controller.offGridIndication.OffGridIndicationController\",\"title\":\"OffGridIndicationController\",\"text\":\"indicates with an digitalOutput if the system is Off-Grid.\",\"channels\":{\"switchDelay\":{\"name\":\"switchDelay\",\"title\":\"time to wait before switch output on.\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"offGridOutputChannelAddress\":{\"name\":\"offGridOutputChannelAddress\",\"title\":\"the address of the Digital Output to signal off-Grid.\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"The ess where the grid state should be read from.\",\"description\":\"\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.offGridIndication.OffGridIndicationController\"]},\"io.openems.impl.controller.thermalpowerstation.ThermalPowerStationController\":{\"class\":\"io.openems.impl.controller.thermalpowerstation.ThermalPowerStationController\",\"title\":\"Thermal power station\",\"text\":\"\",\"channels\":{\"invertOutput\":{\"name\":\"invertOutput\",\"title\":\"Invert Output\",\"description\":\"True if the digital output should be inverted.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"outputChannelAddress\":{\"name\":\"outputChannelAddress\",\"title\":\"the address of the Digital Output where the generator is connected to.\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxSoc\":{\"name\":\"maxSoc\",\"title\":\"Max-SOC\",\"description\":\"If the SOC rises above max-SOC the thermalpowerstation will stop.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"limitTimeRange\":{\"name\":\"limitTimeRange\",\"title\":\"Production limit period\",\"description\":\"Indicates how long the production power must be below production-limit to start the powerstation. Time in minutes.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"If SOC falls below this min-SOC and power production is below production-limit, thermalpowerstation will start.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"productionLimit\":{\"name\":\"productionLimit\",\"title\":\"Production limit\",\"description\":\"If SOC falls below this min-SOC and power production is below production-limit, thermalpowerstation will start.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meters\":{\"name\":\"meters\",\"title\":\"Meters\",\"description\":\"Meters of power producers (e.g. PV).\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.thermalpowerstation.ThermalPowerStationController\"]},\"io.openems.impl.controller.asymmetric.balancingcurrent.BalancingCurrentController\":{\"class\":\"io.openems.impl.controller.asymmetric.balancingcurrent.BalancingCurrentController\",\"title\":\"Balancing current (Asymmetric)\",\"text\":\"Tries to keep the grid meter at a given current. For asymmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"currentOffset\":{\"name\":\"currentOffset\",\"title\":\"Current offset\",\"description\":\"The current to hold on the grid-meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.balancingcurrent.BalancingCurrentController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.evcs.EvcsController\":{\"class\":\"io.openems.impl.controller.evcs.EvcsController\",\"title\":\"Electric Vehicle Charging Station control\",\"text\":\"Controls an EVCS for optimized energy self-consumption.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minCurrent\":{\"name\":\"minCurrent\",\"title\":\"MinCurrent\",\"description\":\"Sets the minimum current.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"evcs\":{\"name\":\"evcs\",\"title\":\"Evcs\",\"description\":\"Sets the EVCS device.\",\"type\":[\"DeviceNature\",\"EvcsNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"forceCharge\":{\"name\":\"forceCharge\",\"title\":\"ForceCharge\",\"description\":\"Activates the force-charge mode.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.evcs.EvcsController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.riedmann.RiedmannController\":{\"class\":\"io.openems.impl.controller.riedmann.RiedmannController\",\"title\":\"Sps parameter Controller\",\"text\":\"\",\"channels\":{\"setWaterLevelBorehole1Off\":{\"name\":\"setWaterLevelBorehole1Off\",\"title\":\"Waterlevel Borehole 1 Off\",\"description\":\"This configuration sets the waterlevel to stop Borehole Pump 1\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"setWaterLevelBorehole2Off\":{\"name\":\"setWaterLevelBorehole2Off\",\"title\":\"Waterlevel Borehole 2 Off\",\"description\":\"This configuration sets the waterlevel to stop Borehole Pump 2\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"ESS\",\"description\":\"The ess to stop on system stop. Also used for Off-Grid indication for the SPS. \",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"setWaterLevelBorehole3Off\":{\"name\":\"setWaterLevelBorehole3Off\",\"title\":\"Waterlevel Borehole 3 Off\",\"description\":\"This configuration sets the waterlevel to stop Borehole Pump 3\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"setWaterLevelBorehole1On\":{\"name\":\"setWaterLevelBorehole1On\",\"title\":\"Waterlevel Borehole 1 On\",\"description\":\"This configuration sets the waterlevel to start Borehole Pump 1\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"setWaterLevelBorehole2On\":{\"name\":\"setWaterLevelBorehole2On\",\"title\":\"Waterlevel Borehole 2 On\",\"description\":\"This configuration sets the waterlevel to start Borehole Pump 2\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"setWaterLevelBorehole3On\":{\"name\":\"setWaterLevelBorehole3On\",\"title\":\"Waterlevel Borehole 3 On\",\"description\":\"This configuration sets the waterlevel to start Borehole Pump 3\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"socHysteresis\":{\"name\":\"socHysteresis\",\"title\":\"Soc Hysteresis\",\"description\":\"hysteresis for the switching of the loads.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"socLoad1Off\":{\"name\":\"socLoad1Off\",\"title\":\"Soc Load 1 Off\",\"description\":\"Below this Soc the Load 1(Clima1&Clima2) will be disconnected.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"socLoad4Off\":{\"name\":\"socLoad4Off\",\"title\":\"Soc Load 4 Off\",\"description\":\"Below this Soc the Load 4(office&traineeCenter) will be disconnected.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"socLoad2Off\":{\"name\":\"socLoad2Off\",\"title\":\"Soc Load 2 Off\",\"description\":\"Below this Soc the Load 2(Pivot) will be disconnected.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"socLoad3Off\":{\"name\":\"socLoad3Off\",\"title\":\"Soc Load 3 Off\",\"description\":\"Below this Soc the Load 3(Borehole1,2&3) will be disconnected.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"sps\":{\"name\":\"sps\",\"title\":\"SPS\",\"description\":\"The sps which should be controlled.\",\"type\":[\"DeviceNature\",\"RiedmannNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.riedmann.RiedmannController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.riedmann.SystemStopController\":{\"class\":\"io.openems.impl.controller.riedmann.SystemStopController\",\"title\":\"SystemStopController\",\"text\":\"\",\"channels\":{\"signalSystemStop\":{\"name\":\"signalSystemStop\",\"title\":\"System Stop\",\"description\":\"This configuration stops the system.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"ESS\",\"description\":\"The ess to stop on system stop. Also used for Off-Grid indication for the SPS. \",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"sps\":{\"name\":\"sps\",\"title\":\"SPS\",\"description\":\"The sps which should be controlled.\",\"type\":[\"DeviceNature\",\"RiedmannNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.riedmann.SystemStopController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.systemstate.powerthreshold.ThresholdOnController\":{\"class\":\"io.openems.impl.controller.systemstate.powerthreshold.ThresholdOnController\",\"title\":\"Stop if not useable\",\"text\":\"Starts the ess if the GridFeed power is lager than a defined threshold. The ess will be stoped if the ess are empty and the GridFeed power is below a defined threshold.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"offTimelag\":{\"name\":\"offTimelag\",\"title\":\"Time Lag Stop\",\"description\":\"The time,in minutes, the power has to be below the offThreshold to stop the ess.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"onThreshold\":{\"name\":\"onThreshold\",\"title\":\"Power Threshold Start\",\"description\":\"If the Grid-Feed Power is lager than this Threshold, the System will be started\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"offThreshold\":{\"name\":\"offThreshold\",\"title\":\"Power Threshold Stop\",\"description\":\"If the Grid-Feed Power is smaler than this Threshold and the ess is empty, the System will be stopped.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"onTimelag\":{\"name\":\"onTimelag\",\"title\":\"Time Lag Start\",\"description\":\"The time the power has to be above the onThreshold to start the ess.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.systemstate.powerthreshold.ThresholdOnController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.avoidtotaldischarge.AvoidTotalDischargeController\":{\"class\":\"io.openems.impl.controller.symmetric.avoidtotaldischarge.AvoidTotalDischargeController\",\"title\":\"Avoid total discharge of battery (Symmetric)\",\"text\":\"Makes sure the battery is not going into critically low state of charge. For symmetric Ess.\",\"channels\":{\"dischargePeriod\":{\"name\":\"dischargePeriod\",\"title\":\"Discharge Period\",\"description\":\"The Period of time between two Discharges.https://docs.oracle.com/javase/8/docs/api/java/time/Period.html#parse-java.lang.CharSequence-\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"P4W\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"nextDischarge\":{\"name\":\"nextDischarge\",\"title\":\"Next Discharge\",\"description\":\"Next Time, the ess will discharge completely.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"2018-03-09\",\"jsonSchema\":\"\"},\"maxSoc\":{\"name\":\"maxSoc\",\"title\":\"Max Soc\",\"description\":\"If the System is full the charge is blocked untill the soc decrease below the maxSoc.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"95\",\"jsonSchema\":\"\"},\"enableDischarge\":{\"name\":\"enableDischarge\",\"title\":\"Enable Discharge\",\"description\":\"This option allowes the system to discharge the ess according to the nextDischarge completely. This improves the soc calculation.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"false\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.avoidtotaldischarge.AvoidTotalDischargeController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.fixvalue.FixValueActivePowerController\":{\"class\":\"io.openems.impl.controller.symmetric.fixvalue.FixValueActivePowerController\",\"title\":\"Fixed active and reactive power (Symmetric)\",\"text\":\"Charges or discharges the battery with a predefined, fixed power. For symmetric Ess.\",\"channels\":{\"p\":{\"name\":\"p\",\"title\":\"ActivePower\",\"description\":\"The active power to set for each Ess.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.fixvalue.FixValueActivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.powerlimitation.PowerLimitationController\":{\"class\":\"io.openems.impl.controller.asymmetric.powerlimitation.PowerLimitationController\",\"title\":\"Power limitation (Asymmetric)\",\"text\":\"Limits the active and reactive power of the Ess. For Asymmetric Ess.\",\"channels\":{\"pMax\":{\"name\":\"pMax\",\"title\":\"Max-Charge ActivePower\",\"description\":\"The maximum allowed active power for discharge. Value is positive.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"qMin\":{\"name\":\"qMin\",\"title\":\"Min-Charge ReactivePower\",\"description\":\"The minimum allowed reactive power for discharge. Value is negative.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"pMin\":{\"name\":\"pMin\",\"title\":\"Min-Charge ActivePower\",\"description\":\"The minimum allowed active power for discharge. Value is negative.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"qMax\":{\"name\":\"qMax\",\"title\":\"Max-Charge ReactivePower\",\"description\":\"The maximum allowed reactive power for discharge. Value is positive.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.powerlimitation.PowerLimitationController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.asymmetric.balancingBandgap.BalancingBandgapReactivePowerController\":{\"class\":\"io.openems.impl.controller.asymmetric.balancingBandgap.BalancingBandgapReactivePowerController\",\"title\":\"Self-consumption optimization (Asymmetric)\",\"text\":\"Tries to keep the grid meter on zero. For asymmetric Ess.\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxReactivePowerL3\":{\"name\":\"maxReactivePowerL3\",\"title\":\"Max-RectivePowerL3\",\"description\":\"High boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxReactivePowerL2\":{\"name\":\"maxReactivePowerL2\",\"title\":\"Max-RectivePowerL2\",\"description\":\"High boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"AsymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxReactivePowerL1\":{\"name\":\"maxReactivePowerL1\",\"title\":\"Max-RectivePowerL1\",\"description\":\"High boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minReactivePowerL3\":{\"name\":\"minReactivePowerL3\",\"title\":\"Min-ReactivePowerL3\",\"description\":\"Low boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minReactivePowerL2\":{\"name\":\"minReactivePowerL2\",\"title\":\"Min-ReactivePowerL2\",\"description\":\"Low boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minReactivePowerL1\":{\"name\":\"minReactivePowerL1\",\"title\":\"Min-ReactivePowerL1\",\"description\":\"Low boundary of reactive power bandgap.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.asymmetric.balancingBandgap.BalancingBandgapReactivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.symmetric.balancingoffset.BalancingOffsetReactivePowerController\":{\"class\":\"io.openems.impl.controller.symmetric.balancingoffset.BalancingOffsetReactivePowerController\",\"title\":\"Balancing offset (Symmetric)\",\"text\":\"Tries to keep the grid meter within an offset. For symmetric Ess.\",\"channels\":{\"reactivePowerOffset\":{\"name\":\"reactivePowerOffset\",\"title\":\"Offset ReactivePower\",\"description\":\"The offset of the reactive power from zero to hold on the grid meter.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.symmetric.balancingoffset.BalancingOffsetReactivePowerController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.api.modbustcp.ModbusTcpApiController\":{\"class\":\"io.openems.impl.controller.api.modbustcp.ModbusTcpApiController\",\"title\":\"Modbus/TCP API\",\"text\":\"Modbus/TCP slave implementation.\",\"channels\":{\"mapping\":{\"name\":\"mapping\",\"title\":\"Mapping\",\"description\":\"Defines the Modbus-to-Channel-mapping.\",\"type\":\"JsonObject\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"{ '0': 'system0/OpenemsVersionMajor' }\",\"jsonSchema\":\"\"},\"port\":{\"name\":\"port\",\"title\":\"Port\",\"description\":\"Sets the port of the Modbus/TCP slave.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"502\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"channelTimeout\":{\"name\":\"channelTimeout\",\"title\":\"ChannelTimeout\",\"description\":\"Sets the timeout for updates to channels.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"10\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.controller.api.modbustcp.ModbusTcpApiController\",\"io.openems.api.controller.Controller\"]},\"io.openems.impl.controller.emergencygenerator.EmergencyGeneratorController\":{\"class\":\"io.openems.impl.controller.emergencygenerator.EmergencyGeneratorController\",\"title\":\"External generator control\",\"text\":\"Starts an external generator in case of emergency.\",\"channels\":{\"invertOutput\":{\"name\":\"invertOutput\",\"title\":\"Invert-Output\",\"description\":\"True if the digital output should be inverted.\",\"type\":\"Boolean\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Grid-meter\",\"description\":\"Sets the grid-meter to detect if the system is Off-Grid or On-Grid.\",\"type\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"onGridOutputOn\":{\"name\":\"onGridOutputOn\",\"title\":\"On-Grid output on\",\"description\":\"This value indicates if the system is On-Grid to start(true) or stop(false) the generator.\",\"type\":\"Boolean\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"outputChannelAddress\":{\"name\":\"outputChannelAddress\",\"title\":\"the address of the Digital Output where the generator is connected to.\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxSoc\":{\"name\":\"maxSoc\",\"title\":\"Max-SOC\",\"description\":\"If the system is Off-Grid and the generator is running, the generator stops if the SOC level increases over the Max-SOC.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"If the SOC falls under this value and the system is Off-Grid the generator starts.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.emergencygenerator.EmergencyGeneratorController\"]},\"io.openems.impl.controller.systemstate.time.TimeOnController\":{\"class\":\"io.openems.impl.controller.systemstate.time.TimeOnController\",\"title\":\"Keep always running\",\"text\":\"Tries to keep the Ess always running. Use if Off-Grid functionality is required.\",\"channels\":{\"timeOn\":{\"name\":\"timeOn\",\"title\":\"Time-On\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":true,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"timeOff\":{\"name\":\"timeOff\",\"title\":\"Time-Off\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"owner\",\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.systemstate.time.TimeOnController\"]},\"io.openems.impl.controller.symmetric.powerlimitation.ReactivePowerLimitationController\":{\"class\":\"io.openems.impl.controller.symmetric.powerlimitation.ReactivePowerLimitationController\",\"title\":\"Power limitation (Symmetric)\",\"text\":\"Limits the active and reactive power of the Ess. For symmetric Ess.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices.\",\"type\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"qMin\":{\"name\":\"qMin\",\"title\":\"Min-Charge ReactivePower\",\"description\":\"The minimum allowed reactive power for discharge. Value is negative.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"qMax\":{\"name\":\"qMax\",\"title\":\"Max-Charge ReactivePower\",\"description\":\"The maximum allowed reactive power for discharge. Value is positive.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.symmetric.powerlimitation.ReactivePowerLimitationController\"]},\"io.openems.impl.controller.asymmetric.socband.SocBandController\":{\"class\":\"io.openems.impl.controller.asymmetric.socband.SocBandController\",\"title\":\"State-of-charge band\",\"text\":\"controlling storage system to keep it within a certain state-of-charge band.\",\"channels\":{\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess device.\",\"type\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\"],\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxSoc\":{\"name\":\"maxSoc\",\"title\":\"Max Soc\",\"description\":\".\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"priority\":{\"name\":\"priority\",\"title\":\"Priority of this controller\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerL3\":{\"name\":\"activePowerL3\",\"title\":\"ActivePower L3\",\"description\":\"Fixed active power for phase L3.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerL2\":{\"name\":\"activePowerL2\",\"title\":\"ActivePower L2\",\"description\":\"Fixed active power for phase L2.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min SOC\",\"description\":\".\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerL1\":{\"name\":\"activePowerL1\",\"title\":\"ActivePower L1\",\"description\":\"Fixed active power for phase L1.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.controller.Controller\",\"io.openems.impl.controller.asymmetric.socband.SocBandController\"]},\"io.openems.impl.device.socomec.Socomec\":{\"class\":\"io.openems.impl.device.socomec.Socomec\",\"title\":\"Socomec\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.socomec.SocomecMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.socomec.Socomec\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.minireadonly.FeneconMini\":{\"class\":\"io.openems.impl.device.minireadonly.FeneconMini\",\"title\":\"FENECON Mini\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"gridMeter\":{\"name\":\"gridMeter\",\"title\":\"GridMeter\",\"description\":\"Sets the GridMeter nature.\",\"type\":\"io.openems.impl.device.minireadonly.FeneconMiniGridMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"consumptionMeter\":{\"name\":\"consumptionMeter\",\"title\":\"ConsumptionMeter\",\"description\":\"Sets the ConsumptionMeter nature.\",\"type\":\"io.openems.impl.device.minireadonly.FeneconMiniConsumptionMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.minireadonly.FeneconMiniEss\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"productionMeter\":{\"name\":\"productionMeter\",\"title\":\"ProductionMeter\",\"description\":\"Sets the ProductionMeter nature.\",\"type\":\"io.openems.impl.device.minireadonly.FeneconMiniProductionMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.minireadonly.FeneconMini\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.kippzonen.KippZonen\":{\"class\":\"io.openems.impl.device.kippzonen.KippZonen\",\"title\":\"KippZonen\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"pyra\":{\"name\":\"pyra\",\"title\":\"Pyra\",\"description\":\"Sets the Pyranometer nature.\",\"type\":\"io.openems.impl.device.kippzonen.KippZonenPyranometer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\",\"io.openems.impl.device.kippzonen.KippZonen\"]},\"io.openems.impl.device.commercial.FeneconCommercialDC\":{\"class\":\"io.openems.impl.device.commercial.FeneconCommercialDC\",\"title\":\"FENECON Commercial DC/Hybrid\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"charger\":{\"name\":\"charger\",\"title\":\"Charger\",\"description\":\"Sets the inverter nature.\",\"type\":\"io.openems.impl.device.commercial.FeneconCommercialCharger\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.commercial.FeneconCommercialEss\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.commercial.FeneconCommercialDC\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.socomec.SocomecB30\":{\"class\":\"io.openems.impl.device.socomec.SocomecB30\",\"title\":\"Socomec B30\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.socomec.SocomecB30Meter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.socomec.SocomecB30\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.refu.Refu\":{\"class\":\"io.openems.impl.device.refu.Refu\",\"title\":\"REFU battery inverter\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.refu.RefuEss\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.refu.Refu\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.custom.riedmann.Riedmann\":{\"class\":\"io.openems.impl.device.custom.riedmann.Riedmann\",\"title\":\"Custom: Riedmann PLC\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"device\":{\"name\":\"device\",\"title\":\"\",\"description\":\"\",\"type\":\"io.openems.impl.device.custom.riedmann.RiedmannNatureImpl\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.custom.riedmann.Riedmann\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.system.esscluster.EssCluster\":{\"class\":\"io.openems.impl.device.system.esscluster.EssCluster\",\"title\":\"Ess Cluster\",\"text\":\"\",\"channels\":{\"cluster\":{\"name\":\"cluster\",\"title\":\"EssCluster\",\"description\":\"Sets the cluster nature.\",\"type\":\"io.openems.impl.device.system.esscluster.EssClusterNature\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.protocol.system.SystemDevice\",\"io.openems.impl.device.system.esscluster.EssCluster\",\"io.openems.api.device.Device\"]},\"io.openems.impl.device.byd.Bem125ktla01\":{\"class\":\"io.openems.impl.device.byd.Bem125ktla01\",\"title\":\"BYD BEM 125 KTLA01\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.byd.Bem125ktla01Ess\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.byd.Bem125ktla01\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.pro.FeneconPro\":{\"class\":\"io.openems.impl.device.pro.FeneconPro\",\"title\":\"FENECON Pro\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.pro.FeneconProEss\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.pro.FeneconProPvMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\",\"io.openems.impl.device.pro.FeneconPro\"]},\"io.openems.impl.device.sma.SunnyIsland6\":{\"class\":\"io.openems.impl.device.sma.SunnyIsland6\",\"title\":\"SMA SunnyIsland 6.0H\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.sma.SunnyIsland6Ess\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\",\"io.openems.impl.device.sma.SunnyIsland6\"]},\"io.openems.impl.device.blueplanet50tl3.FeneconBlueplanet50TL3\":{\"class\":\"io.openems.impl.device.blueplanet50tl3.FeneconBlueplanet50TL3\",\"title\":\"FENECON FeneconBlueplanet50TL3\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.blueplanet50tl3.FeneconBlueplanet50TL3Ess\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.blueplanet50tl3.FeneconBlueplanet50TL3\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.studer.StuderVs70\":{\"class\":\"io.openems.impl.device.studer.StuderVs70\",\"title\":\"Studer VS-70\",\"text\":\"\",\"channels\":{\"charger\":{\"name\":\"charger\",\"title\":\"Charger\",\"description\":\"Sets the charger nature.\",\"type\":\"io.openems.impl.device.studer.StuderVs70Charger\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"address\":{\"name\":\"address\",\"title\":\"Address\",\"description\":\"Sets the device address (e.g. 701).\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.studer.StuderVs70\",\"io.openems.impl.protocol.studer.StuderDevice\",\"io.openems.api.device.Device\"]},\"io.openems.impl.device.spanner.BHKW\":{\"class\":\"io.openems.impl.device.spanner.BHKW\",\"title\":\"Spanner BHKW\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.spanner.BHKWMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.spanner.BHKW\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEss\":{\"class\":\"io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEss\",\"title\":\"Ess Asymmetric-Symmetric-Combination\",\"text\":\"\",\"channels\":{\"wrapper\":{\"name\":\"wrapper\",\"title\":\"AsymmetricSymmetricCombinationEss\",\"description\":\"Sets the wrapper nature to use asymmetric and symmetric controller together.\",\"type\":\"io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEssNature\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEss\",\"io.openems.impl.protocol.system.SystemDevice\",\"io.openems.api.device.Device\"]},\"io.openems.impl.device.pqplus.PqPlusUMD97\":{\"class\":\"io.openems.impl.device.pqplus.PqPlusUMD97\",\"title\":\"PQ Plus UMD 97\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.pqplus.PqPlusUMD97Meter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.pqplus.PqPlusUMD97\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.system.System\":{\"class\":\"io.openems.impl.device.system.System\",\"title\":\"Operating system\",\"text\":\"\",\"channels\":{\"system\":{\"name\":\"system\",\"title\":\"System\",\"description\":\"Sets the system nature.\",\"type\":\"io.openems.impl.device.system.SystemNature\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"debug\":{\"name\":\"debug\",\"title\":\"Debug\",\"description\":\"Enables DebugChannels to write into database\",\"type\":\"Boolean\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"false\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.protocol.system.SystemDevice\",\"io.openems.impl.device.system.System\",\"io.openems.api.device.Device\"]},\"io.openems.impl.device.carlogavazzi.em300series.EM300\":{\"class\":\"io.openems.impl.device.carlogavazzi.em300series.EM300\",\"title\":\"Carlog Gavazzi EM300\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.carlogavazzi.em300series.EM300Meter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.device.carlogavazzi.em300series.EM300\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.bcontrol.BControl\":{\"class\":\"io.openems.impl.device.bcontrol.BControl\",\"title\":\"B-Control Energy Meter\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.bcontrol.BControlMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\",\"io.openems.impl.device.bcontrol.BControl\"]},\"io.openems.impl.device.kmtronic.KMTronicRelayRev1\":{\"class\":\"io.openems.impl.device.kmtronic.KMTronicRelayRev1\",\"title\":\"KMTronic Relay board\",\"text\":\"\",\"channels\":{\"output\":{\"name\":\"output\",\"title\":\"Output\",\"description\":\"Sets the output nature.\",\"type\":\"io.openems.impl.device.kmtronic.KMTronicRelayOutputRev1\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.kmtronic.KMTronicRelayRev1\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.system.metercluster.MeterCluster\":{\"class\":\"io.openems.impl.device.system.metercluster.MeterCluster\",\"title\":\"Meter Cluster\",\"text\":\"\",\"channels\":{\"cluster\":{\"name\":\"cluster\",\"title\":\"EssCluster\",\"description\":\"Sets the cluster nature.\",\"type\":\"io.openems.impl.device.system.metercluster.MeterClusterNature\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.system.metercluster.MeterCluster\",\"io.openems.impl.protocol.system.SystemDevice\",\"io.openems.api.device.Device\"]},\"io.openems.impl.device.janitza.JanitzaUMG96RME\":{\"class\":\"io.openems.impl.device.janitza.JanitzaUMG96RME\",\"title\":\"Janitza UMG96RM E\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.janitza.JanitzaUMG96RMEMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.janitza.JanitzaUMG96RME\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.simulator.Simulator\":{\"class\":\"io.openems.impl.device.simulator.Simulator\",\"title\":\"Simulator\",\"text\":\"\",\"channels\":{\"output\":{\"name\":\"output\",\"title\":\"Output\",\"description\":\"Sets the output nature.\",\"type\":\"io.openems.impl.device.simulator.SimulatorOutput\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"gridMeter\":{\"name\":\"gridMeter\",\"title\":\"Grid-Meter\",\"description\":\"Sets the grid meter nature.\",\"type\":\"io.openems.impl.device.simulator.SimulatorGridMeter\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"charger\":{\"name\":\"charger\",\"title\":\"Charger\",\"description\":\"Sets the Charger nature.\",\"type\":\"io.openems.impl.device.simulator.SimulatorCharger\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"asymmetricEss\":{\"name\":\"asymmetricEss\",\"title\":\"asymmetric Ess\",\"description\":\"Sets the asymmetric Ess nature.\",\"type\":\"io.openems.impl.device.simulator.SimulatorAsymmetricEss\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"sps\":{\"name\":\"sps\",\"title\":\"Sps\",\"description\":\"Sets the Riedmann sps nature.\",\"type\":\"io.openems.impl.device.simulator.SimulatorRiedmannNature\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"symmetricEss\":{\"name\":\"symmetricEss\",\"title\":\"symmetric Ess\",\"description\":\"Sets the symmetric Ess nature.\",\"type\":\"io.openems.impl.device.simulator.SimulatorSymmetricEss\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"productionMeter\":{\"name\":\"productionMeter\",\"title\":\"Production-Meter\",\"description\":\"Sets the production meter nature.\",\"type\":\"io.openems.impl.device.simulator.SimulatorProductionMeter\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.simulator.Simulator\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.simulator.SimulatorDevice\"]},\"io.openems.impl.device.wago.WagoFB\":{\"class\":\"io.openems.impl.device.wago.WagoFB\",\"title\":\"WAGO I/O\",\"text\":\"\",\"channels\":{\"output\":{\"name\":\"output\",\"title\":\"Output\",\"description\":\"Sets the output nature.\",\"type\":\"io.openems.impl.device.wago.WagoFBOutput\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"input\":{\"name\":\"input\",\"title\":\"Input\",\"description\":\"Sets the input nature.\",\"type\":\"io.openems.impl.device.wago.WagoFBInput\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.wago.WagoFB\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.streetscooter.Streetscooter\":{\"class\":\"io.openems.impl.device.streetscooter.Streetscooter\",\"title\":\"FENECON Pro\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess1\":{\"name\":\"ess1\",\"title\":\"Ess 1\",\"description\":\"Sets the second Ess nature.\",\"type\":\"io.openems.impl.device.streetscooter.StreetscooterEss2\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess0\":{\"name\":\"ess0\",\"title\":\"Ess 0\",\"description\":\"Sets the first Ess nature.\",\"type\":\"io.openems.impl.device.streetscooter.StreetscooterEss1\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.streetscooter.Streetscooter\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.commercial.FeneconCommercialAC\":{\"class\":\"io.openems.impl.device.commercial.FeneconCommercialAC\",\"title\":\"FENECON Commercial AC\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.commercial.FeneconCommercialEss\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.commercial.FeneconCommercialAC\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.kmtronic.KMTronicRelay\":{\"class\":\"io.openems.impl.device.kmtronic.KMTronicRelay\",\"title\":\"KMTronic Relay board\",\"text\":\"\",\"channels\":{\"output\":{\"name\":\"output\",\"title\":\"Output\",\"description\":\"Sets the output nature.\",\"type\":\"io.openems.impl.device.kmtronic.KMTronicRelayOutput\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.device.kmtronic.KMTronicRelay\",\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\"]},\"io.openems.impl.device.mini.FeneconMini\":{\"class\":\"io.openems.impl.device.mini.FeneconMini\",\"title\":\"FENECON Mini\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the Ess nature.\",\"type\":\"io.openems.impl.device.mini.FeneconMiniEss\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\",\"io.openems.impl.device.mini.FeneconMini\"]},\"io.openems.impl.device.socomec.SocomecSinglePhase\":{\"class\":\"io.openems.impl.device.socomec.SocomecSinglePhase\",\"title\":\"Socomec\",\"text\":\"\",\"channels\":{\"modbusUnitId\":{\"name\":\"modbusUnitId\",\"title\":\"Unit-ID\",\"description\":\"Sets the Modbus unit-id.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the meter nature.\",\"type\":\"io.openems.impl.device.socomec.SocomecSinglePhaseMeter\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.protocol.modbus.ModbusDevice\",\"io.openems.impl.device.socomec.SocomecSinglePhase\"]},\"io.openems.impl.device.keba.Keba\":{\"class\":\"io.openems.impl.device.keba.Keba\",\"title\":\"KEBA KeContact\",\"text\":\"\",\"channels\":{\"ip\":{\"name\":\"ip\",\"title\":\"IP address\",\"description\":\"Sets the IP address (e.g. 192.168.25.11).\",\"type\":\"Inet4Address\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"evcs\":{\"name\":\"evcs\",\"title\":\"evcs\",\"description\":\"Sets the EVCS nature.\",\"type\":\"io.openems.impl.device.keba.KebaEvcs\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.device.Device\",\"io.openems.impl.protocol.keba.KebaDevice\",\"io.openems.impl.device.keba.Keba\"]},\"io.openems.impl.device.minireadonly.FeneconMiniEss\":{\"class\":\"io.openems.impl.device.minireadonly.FeneconMiniEss\",\"title\":\"FENECON Mini ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"FeneconMiniEss\",\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.commercial.FeneconCommercialEss\":{\"class\":\"io.openems.impl.device.commercial.FeneconCommercialEss\",\"title\":\"FENECON Commercial ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SymmetricEssNature\",\"FeneconCommercialEss\",\"EssNature\",\"DeviceNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.simulator.SimulatorProductionMeter\":{\"class\":\"io.openems.impl.device.simulator.SimulatorProductionMeter\",\"title\":\"Simulated Production Meter\",\"text\":\"\",\"channels\":{\"reactivePowerGeneratorConfig\":{\"name\":\"reactivePowerGeneratorConfig\",\"title\":\"ReactivePowerGeneratorConfig\",\"description\":\"\",\"type\":\"JsonObject\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"},\"activePowerGeneratorConfig\":{\"name\":\"activePowerGeneratorConfig\",\"title\":\"ActivePowerGeneratorConfig\",\"description\":\"\",\"type\":\"JsonObject\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"frequency\":{\"name\":\"frequency\",\"title\":\"Frequency\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"voltage\":{\"name\":\"voltage\",\"title\":\"Voltage\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SimulatorDeviceNature\",\"MeterNature\",\"SimulatorProductionMeter\",\"DeviceNature\",\"SymmetricMeterNature\",\"SimulatorMeter\"]},\"io.openems.impl.device.janitza.JanitzaUMG96RMEMeter\":{\"class\":\"io.openems.impl.device.janitza.JanitzaUMG96RMEMeter\",\"title\":\"Janitza UMG96RM Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"JanitzaUMG96RMEMeter\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.pro.FeneconProEss\":{\"class\":\"io.openems.impl.device.pro.FeneconProEss\",\"title\":\"FENECON Pro ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"AsymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"FeneconProEss\",\"RealTimeClockNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.system.esscluster.EssClusterNature\":{\"class\":\"io.openems.impl.device.system.esscluster.EssClusterNature\",\"title\":\"Ess Cluster\",\"text\":\"\",\"channels\":{\"esss\":{\"name\":\"esss\",\"title\":\"Ess\",\"description\":\"Sets the Ess devices for the cluster.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"EssClusterNature\",\"SystemDeviceNature\"]},\"io.openems.impl.device.pro.FeneconProPvMeter\":{\"class\":\"io.openems.impl.device.pro.FeneconProPvMeter\",\"title\":\"FENECON Pro Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"FeneconProPvMeter\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.socomec.SocomecSinglePhaseMeter\":{\"class\":\"io.openems.impl.device.socomec.SocomecSinglePhaseMeter\",\"title\":\"Socomec Single Phase Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"SocomecSinglePhaseMeter\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.spanner.BHKWMeter\":{\"class\":\"io.openems.impl.device.spanner.BHKWMeter\",\"title\":\"BHKW Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"BHKWMeter\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.wago.WagoFBOutput\":{\"class\":\"io.openems.impl.device.wago.WagoFBOutput\",\"title\":\"WAGO I/O Output\",\"text\":\"\",\"channels\":{\"ip\":{\"name\":\"ip\",\"title\":\"IP\",\"description\":\"IP address of the WAGO device.\",\"type\":\"Inet4Address\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"OutputNature\",\"DeviceNature\",\"WagoFBOutput\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.custom.riedmann.RiedmannNatureImpl\":{\"class\":\"io.openems.impl.device.custom.riedmann.RiedmannNatureImpl\",\"title\":\"Custom: Riedmann PLC\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"DeviceNature\",\"RiedmannNature\",\"RiedmannNatureImpl\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.sma.SunnyIsland6Ess\":{\"class\":\"io.openems.impl.device.sma.SunnyIsland6Ess\",\"title\":\"SMA SunnyIsland 6.0H\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"SunnyIsland6Ess\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.simulator.SimulatorSymmetricEss\":{\"class\":\"io.openems.impl.device.simulator.SimulatorSymmetricEss\",\"title\":\"Simulator ESS\",\"text\":\"\",\"channels\":{\"reactivePowerGeneratorConfig\":{\"name\":\"reactivePowerGeneratorConfig\",\"title\":\"ReactivePowerGeneratorConfig\",\"description\":\"\",\"type\":\"JsonObject\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"charger\":{\"name\":\"charger\",\"title\":\"charger\",\"description\":\"\",\"type\":\"JsonArray\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"gridMode\":{\"name\":\"gridMode\",\"title\":\"GridMode\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"systemState\":{\"name\":\"systemState\",\"title\":\"SystemState\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"activePowerGeneratorConfig\":{\"name\":\"activePowerGeneratorConfig\",\"title\":\"ActivePowerGeneratorConfig\",\"description\":\"\",\"type\":\"JsonObject\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SimulatorDeviceNature\",\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"SimulatorSymmetricEss\"]},\"io.openems.impl.device.simulator.SimulatorAsymmetricEss\":{\"class\":\"io.openems.impl.device.simulator.SimulatorAsymmetricEss\",\"title\":\"Simulator ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"charger\":{\"name\":\"charger\",\"title\":\"charger\",\"description\":\"\",\"type\":\"JsonArray\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"power\":{\"name\":\"power\",\"title\":\"Power\",\"description\":\"\",\"type\":\"Long\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"AsymmetricEssNature\",\"SimulatorDeviceNature\",\"EssNature\",\"DeviceNature\",\"SimulatorAsymmetricEss\"]},\"io.openems.impl.device.simulator.SimulatorRiedmannNature\":{\"class\":\"io.openems.impl.device.simulator.SimulatorRiedmannNature\",\"title\":\"Simulator ESS\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SimulatorDeviceNature\",\"DeviceNature\",\"RiedmannNature\",\"SimulatorRiedmannNature\"]},\"io.openems.impl.device.streetscooter.StreetscooterEss1\":{\"class\":\"io.openems.impl.device.streetscooter.StreetscooterEss1\",\"title\":\"Streetscooter ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"StreetscooterEss1\",\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.carlogavazzi.em300series.EM300Meter\":{\"class\":\"io.openems.impl.device.carlogavazzi.em300series.EM300Meter\",\"title\":\"Socomec Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"EM300Meter\",\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.system.SystemNature\":{\"class\":\"io.openems.impl.device.system.SystemNature\",\"title\":\"Operating system\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SystemNature\",\"SystemNature\",\"DeviceNature\",\"SystemDeviceNature\"]},\"io.openems.impl.device.blueplanet50tl3.FeneconBlueplanet50TL3Ess\":{\"class\":\"io.openems.impl.device.blueplanet50tl3.FeneconBlueplanet50TL3Ess\",\"title\":\"FENECON Commercial ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SymmetricEssNature\",\"FeneconBlueplanet50TL3Ess\",\"EssNature\",\"DeviceNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.streetscooter.StreetscooterEss2\":{\"class\":\"io.openems.impl.device.streetscooter.StreetscooterEss2\",\"title\":\"Streetscooter ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SymmetricEssNature\",\"StreetscooterEss2\",\"EssNature\",\"DeviceNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.socomec.SocomecB30Meter\":{\"class\":\"io.openems.impl.device.socomec.SocomecB30Meter\",\"title\":\"Socomec B30 Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"SocomecB30Meter\",\"DeviceNature\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.socomec.SocomecMeter\":{\"class\":\"io.openems.impl.device.socomec.SocomecMeter\",\"title\":\"Socomec Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"SocomecMeter\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.custom.riedmann.RiedmannNature\":{\"class\":\"io.openems.impl.device.custom.riedmann.RiedmannNature\",\"title\":\"Custom: Riedmann PLC\",\"text\":\"\",\"channels\":{},\"implements\":[\"DeviceNature\",\"RiedmannNature\"]},\"io.openems.impl.device.byd.Bem125ktla01Ess\":{\"class\":\"io.openems.impl.device.byd.Bem125ktla01Ess\",\"title\":\"BYD BEM 125 KTLA01 ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"Bem125ktla01Ess\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.system.metercluster.MeterClusterNature\":{\"class\":\"io.openems.impl.device.system.metercluster.MeterClusterNature\",\"title\":\"Meter Cluster\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"meter\":{\"name\":\"meter\",\"title\":\"Meter\",\"description\":\"Sets the Meter devices for the cluster.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"SimulatorDeviceNature\",\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"MeterClusterNature\"]},\"io.openems.impl.device.mini.FeneconMiniEss\":{\"class\":\"io.openems.impl.device.mini.FeneconMiniEss\",\"title\":\"FENECON Mini ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"RealTimeClockNature\",\"FeneconMiniEss\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.refu.RefuEss\":{\"class\":\"io.openems.impl.device.refu.RefuEss\",\"title\":\"REFU battery inverter ESS\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"AsymmetricEssNature\",\"SymmetricEssNature\",\"EssNature\",\"DeviceNature\",\"RefuEss\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.kmtronic.KMTronicRelayOutput\":{\"class\":\"io.openems.impl.device.kmtronic.KMTronicRelayOutput\",\"title\":\"KMTronic Relay board Output\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"OutputNature\",\"DeviceNature\",\"ModbusDeviceNature\",\"KMTronicRelayOutput\"]},\"io.openems.impl.device.minireadonly.FeneconMiniConsumptionMeter\":{\"class\":\"io.openems.impl.device.minireadonly.FeneconMiniConsumptionMeter\",\"title\":\"FENECON Mini Consumption-Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"FeneconMiniConsumptionMeter\",\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.simulator.SimulatorCharger\":{\"class\":\"io.openems.impl.device.simulator.SimulatorCharger\",\"title\":\"Simulator Charger\",\"text\":\"\",\"channels\":{\"powerConfig\":{\"name\":\"powerConfig\",\"title\":\"PowerConfig\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxActualPower\":{\"name\":\"maxActualPower\",\"title\":\"maxActualPower\",\"description\":\"Holds the maximum ever actual power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"ChargerNature\",\"SimulatorDeviceNature\",\"SimulatorCharger\",\"DeviceNature\"]},\"io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEssNature\":{\"class\":\"io.openems.impl.device.system.asymmetricsymmetriccombinationess.AsymmetricSymmetricCombinationEssNature\",\"title\":\"Ess Asymmetric-Symmetric-Combination\",\"text\":\"\",\"channels\":{\"chargeSoc\":{\"name\":\"chargeSoc\",\"title\":\"Charge-SOC\",\"description\":\"Sets the force charge SOC.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"ess\":{\"name\":\"ess\",\"title\":\"Ess\",\"description\":\"Sets the ess device for the combinationEss.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"minSoc\":{\"name\":\"minSoc\",\"title\":\"Min-SOC\",\"description\":\"Sets the minimal SOC.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"AsymmetricEssNature\",\"SymmetricEssNature\",\"AsymmetricSymmetricCombinationEssNature\",\"EssNature\",\"DeviceNature\",\"SystemDeviceNature\"]},\"io.openems.impl.device.kmtronic.KMTronicRelayOutputRev1\":{\"class\":\"io.openems.impl.device.kmtronic.KMTronicRelayOutputRev1\",\"title\":\"KMTronic Relay board Output\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"OutputNature\",\"DeviceNature\",\"KMTronicRelayOutputRev1\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.wago.WagoFBInput\":{\"class\":\"io.openems.impl.device.wago.WagoFBInput\",\"title\":\"WAGO I/O Input\",\"text\":\"\",\"channels\":{\"ip\":{\"name\":\"ip\",\"title\":\"IP address\",\"description\":\"IP address of the WAGO device.\",\"type\":\"Inet4Address\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"InputNature\",\"DeviceNature\",\"WagoFBInput\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.pqplus.PqPlusUMD97Meter\":{\"class\":\"io.openems.impl.device.pqplus.PqPlusUMD97Meter\",\"title\":\"PQ Plus UMD 97 Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"PqPlusUMD97Meter\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.keba.KebaEvcs\":{\"class\":\"io.openems.impl.device.keba.KebaEvcs\",\"title\":\"KEBA KeContact EVCS\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"DeviceNature\",\"EvcsNature\",\"KebaDeviceNature\",\"KebaEvcs\"]},\"io.openems.impl.device.bcontrol.BControlMeter\":{\"class\":\"io.openems.impl.device.bcontrol.BControlMeter\",\"title\":\"B-Control Energy Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"BControlMeter\",\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.studer.StuderVs70Charger\":{\"class\":\"io.openems.impl.device.studer.StuderVs70Charger\",\"title\":\"Studer VS-70 Charger\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"StuderDeviceNature\",\"StuderVs70Charger\",\"DeviceNature\"]},\"io.openems.impl.device.kippzonen.KippZonenPyranometer\":{\"class\":\"io.openems.impl.device.kippzonen.KippZonenPyranometer\",\"title\":\"KippZonen Pyranometer\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"DeviceNature\",\"KippZonenPyranometer\",\"PyranometerNature\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.simulator.SimulatorGridMeter\":{\"class\":\"io.openems.impl.device.simulator.SimulatorGridMeter\",\"title\":\"Simulated Grid Meter\",\"text\":\"\",\"channels\":{\"reactivePowerGeneratorConfig\":{\"name\":\"reactivePowerGeneratorConfig\",\"title\":\"ReactivePowerGeneratorConfig\",\"description\":\"\",\"type\":\"JsonObject\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"esss\":{\"name\":\"esss\",\"title\":\"esss\",\"description\":\"\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"producer\":{\"name\":\"producer\",\"title\":\"producer\",\"description\":\"\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"},\"activePowerGeneratorConfig\":{\"name\":\"activePowerGeneratorConfig\",\"title\":\"ActivePowerGeneratorConfig\",\"description\":\"\",\"type\":\"JsonObject\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"frequency\":{\"name\":\"frequency\",\"title\":\"Frequency\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"voltage\":{\"name\":\"voltage\",\"title\":\"Voltage\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SimulatorDeviceNature\",\"MeterNature\",\"DeviceNature\",\"SimulatorGridMeter\",\"SymmetricMeterNature\",\"AsymmetricMeterNature\",\"SimulatorMeter\"]},\"io.openems.impl.device.simulator.SimulatorOutput\":{\"class\":\"io.openems.impl.device.simulator.SimulatorOutput\",\"title\":\"Simulator Output\",\"text\":\"\",\"channels\":{\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SimulatorDeviceNature\",\"OutputNature\",\"DeviceNature\",\"SimulatorOutput\"]},\"io.openems.impl.device.commercial.FeneconCommercialCharger\":{\"class\":\"io.openems.impl.device.commercial.FeneconCommercialCharger\",\"title\":\"FENECON Commercial DC-Charger\",\"text\":\"\",\"channels\":{\"maxActualPower\":{\"name\":\"maxActualPower\",\"title\":\"maxActualPower\",\"description\":\"Holds the maximum ever actual power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"ChargerNature\",\"DeviceNature\",\"FeneconCommercialCharger\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.simulator.SimulatorMeter\":{\"class\":\"io.openems.impl.device.simulator.SimulatorMeter\",\"title\":\"Simulator Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"},\"frequency\":{\"name\":\"frequency\",\"title\":\"Frequency\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"voltage\":{\"name\":\"voltage\",\"title\":\"Voltage\",\"description\":\"\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"SimulatorDeviceNature\",\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"SimulatorMeter\"]},\"io.openems.impl.device.minireadonly.FeneconMiniGridMeter\":{\"class\":\"io.openems.impl.device.minireadonly.FeneconMiniGridMeter\",\"title\":\"FENECON Mini Grid-Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"FeneconMiniGridMeter\",\"ModbusDeviceNature\"]},\"io.openems.impl.device.minireadonly.FeneconMiniProductionMeter\":{\"class\":\"io.openems.impl.device.minireadonly.FeneconMiniProductionMeter\",\"title\":\"FENECON Mini Production-Meter\",\"text\":\"\",\"channels\":{\"maxActivePower\":{\"name\":\"maxActivePower\",\"title\":\"maxActivePower\",\"description\":\"Holds the maximum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"minActivePower\":{\"name\":\"minActivePower\",\"title\":\"minActivePower\",\"description\":\"Holds the minimum ever active power.\",\"type\":\"Long\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"0\",\"jsonSchema\":\"\"},\"alias\":{\"name\":\"alias\",\"title\":\"Alias\",\"description\":\"The Alias to display for the device.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"type\":{\"name\":\"type\",\"title\":\"Type\",\"description\":\"Used to distinct the meters. Use e.g. 'grid' or 'production'.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"production\",\"jsonSchema\":\"\"}},\"implements\":[\"MeterNature\",\"DeviceNature\",\"SymmetricMeterNature\",\"ModbusDeviceNature\",\"FeneconMiniProductionMeter\"]},\"io.openems.impl.scheduler.time.WeekTimeScheduler\":{\"class\":\"io.openems.impl.scheduler.time.WeekTimeScheduler\",\"title\":\"Weekly App-Planner\",\"text\":\"Define recurring weekly plans.\",\"channels\":{\"always\":{\"name\":\"always\",\"title\":\"Always\",\"description\":\"Sets the controllers that are always activated.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"sunday\":{\"name\":\"sunday\",\"title\":\"Sunday\",\"description\":\"Sets the controllers for sunday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"definitions\\\": {},\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"time\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Starting time\\\",\\n \\\"default\\\": \\\"\\\"\\n },\\n \\\"controllers\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Controllers to start at the given time\\\",\\n \\\"default\\\": \\\"\\\"\\n }\\n }\\n }\\n }\\n}\"},\"saturday\":{\"name\":\"saturday\",\"title\":\"Saturday\",\"description\":\"Sets the controllers for saturday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"definitions\\\": {},\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"time\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Starting time\\\",\\n \\\"default\\\": \\\"\\\"\\n },\\n \\\"controllers\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Controllers to start at the given time\\\",\\n \\\"default\\\": \\\"\\\"\\n }\\n }\\n }\\n }\\n}\"},\"tuesday\":{\"name\":\"tuesday\",\"title\":\"Tuesday\",\"description\":\"Sets the controllers for tuesday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"definitions\\\": {},\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"time\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Starting time\\\",\\n \\\"default\\\": \\\"\\\"\\n },\\n \\\"controllers\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Controllers to start at the given time\\\",\\n \\\"default\\\": \\\"\\\"\\n }\\n }\\n }\\n }\\n}\"},\"wednesday\":{\"name\":\"wednesday\",\"title\":\"Wednesday\",\"description\":\"Sets the controllers for wednesday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"definitions\\\": {},\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"time\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Starting time\\\",\\n \\\"default\\\": \\\"\\\"\\n },\\n \\\"controllers\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Controllers to start at the given time\\\",\\n \\\"default\\\": \\\"\\\"\\n }\\n }\\n }\\n }\\n}\"},\"thursday\":{\"name\":\"thursday\",\"title\":\"Thursday\",\"description\":\"Sets the controllers for thursday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"definitions\\\": {},\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"time\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Starting time\\\",\\n \\\"default\\\": \\\"\\\"\\n },\\n \\\"controllers\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Controllers to start at the given time\\\",\\n \\\"default\\\": \\\"\\\"\\n }\\n }\\n }\\n }\\n}\"},\"friday\":{\"name\":\"friday\",\"title\":\"Friday\",\"description\":\"Sets the controllers for friday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"definitions\\\": {},\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"time\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Starting time\\\",\\n \\\"default\\\": \\\"\\\"\\n },\\n \\\"controllers\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Controllers to start at the given time\\\",\\n \\\"default\\\": \\\"\\\"\\n }\\n }\\n }\\n }\\n}\"},\"cycleTime\":{\"name\":\"cycleTime\",\"title\":\"Sets the duration of each cycle in milliseconds\",\"description\":\"\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"monday\":{\"name\":\"monday\",\"title\":\"Monday\",\"description\":\"Sets the controllers for monday.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"{\\n \\\"type\\\": \\\"array\\\",\\n \\\"definitions\\\": {},\\n \\\"items\\\": {\\n \\\"type\\\": \\\"object\\\",\\n \\\"properties\\\": {\\n \\\"time\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Starting time\\\",\\n \\\"default\\\": \\\"\\\"\\n },\\n \\\"controllers\\\": {\\n \\\"type\\\": \\\"array\\\",\\n \\\"items\\\": {\\n \\\"type\\\": \\\"string\\\",\\n \\\"title\\\": \\\"Controllers to start at the given time\\\",\\n \\\"default\\\": \\\"\\\"\\n }\\n }\\n }\\n }\\n}\"}},\"implements\":[\"io.openems.impl.scheduler.time.WeekTimeScheduler\",\"io.openems.api.scheduler.Scheduler\"]},\"io.openems.impl.scheduler.SimpleScheduler\":{\"class\":\"io.openems.impl.scheduler.SimpleScheduler\",\"title\":\"App-Planner\",\"text\":\"\",\"channels\":{\"cycleTime\":{\"name\":\"cycleTime\",\"title\":\"Sets the duration of each cycle in milliseconds\",\"description\":\"\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.scheduler.Scheduler\",\"io.openems.impl.scheduler.SimpleScheduler\"]},\"io.openems.impl.scheduler.channelthreshold.ChannelThresholdScheduler\":{\"class\":\"io.openems.impl.scheduler.channelthreshold.ChannelThresholdScheduler\",\"title\":\"Channel threshold app-planer\",\"text\":\"app-planer with thresholds on configured channel to run different controllers by threshold on channel.\",\"channels\":{\"always\":{\"name\":\"always\",\"title\":\"Always\",\"description\":\"Sets the controllers that are always activated.\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"thresholds\":{\"name\":\"thresholds\",\"title\":\"Configures the Controllers \",\"description\":\"\",\"type\":\"JsonArray\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"cycleTime\":{\"name\":\"cycleTime\",\"title\":\"Sets the duration of each cycle in milliseconds\",\"description\":\"\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"thresholdChannelAddress\":{\"name\":\"thresholdChannelAddress\",\"title\":\"the address of the channel to switch the controllers by thresholds.\",\"description\":\"\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.api.scheduler.Scheduler\",\"io.openems.impl.scheduler.channelthreshold.ChannelThresholdScheduler\"]},\"io.openems.impl.persistence.fenecon.FeneconPersistence\":{\"class\":\"io.openems.impl.persistence.fenecon.FeneconPersistence\",\"title\":\"FENECON Persistence\",\"text\":\"Establishes the connection to FENECON Cloud.\",\"channels\":{\"proxyPort\":{\"name\":\"proxyPort\",\"title\":\"ProxyPort\",\"description\":\"Sets the proxy port.\",\"type\":\"Integer\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"apikey\":{\"name\":\"apikey\",\"title\":\"Apikey\",\"description\":\"Sets the apikey for FENECON Cloud.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"admin\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"proxyAddress\":{\"name\":\"proxyAddress\",\"title\":\"ProxyAddress\",\"description\":\"Sets the proxy address IP or hostname.\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"proxyType\":{\"name\":\"proxyType\",\"title\":\"ProxyType\",\"description\":\"Sets the proxy type (e.g. 'http').\",\"type\":\"String\",\"optional\":true,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"cycleTime\":{\"name\":\"cycleTime\",\"title\":\"Sets the duration of each cycle in milliseconds\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"uri\":{\"name\":\"uri\",\"title\":\"Uri\",\"description\":\"Sets the connection Uri to FENECON Cloud.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\\\"wss://fenecon.de:443/openems-backend2\\\"\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.persistence.fenecon.FeneconPersistence\",\"io.openems.api.persistence.Persistence\"]},\"io.openems.impl.persistence.influxdb.InfluxdbPersistence\":{\"class\":\"io.openems.impl.persistence.influxdb.InfluxdbPersistence\",\"title\":\"InfluxDB Persistence\",\"text\":\"Persists data in an InfluxDB time-series database.\",\"channels\":{\"password\":{\"name\":\"password\",\"title\":\"Password\",\"description\":\"Password for InfluxDB.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"root\",\"jsonSchema\":\"\"},\"database\":{\"name\":\"database\",\"title\":\"Database\",\"description\":\"Database name for InfluxDB.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"db\",\"jsonSchema\":\"\"},\"ip\":{\"name\":\"ip\",\"title\":\"IP address\",\"description\":\"IP address of InfluxDB.\",\"type\":\"Inet4Address\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"fems\":{\"name\":\"fems\",\"title\":\"FEMS\",\"description\":\"Sets FEMS-number.\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"cycleTime\":{\"name\":\"cycleTime\",\"title\":\"Sets the duration of each cycle in milliseconds\",\"description\":\"\",\"type\":\"Integer\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"\",\"jsonSchema\":\"\"},\"username\":{\"name\":\"username\",\"title\":\"Username\",\"description\":\"Username for InfluxDB.\",\"type\":\"String\",\"optional\":false,\"array\":false,\"readRoles\":[\"owner\",\"admin\",\"installer\",\"guest\"],\"writeRoles\":[\"admin\"],\"defaultValue\":\"root\",\"jsonSchema\":\"\"}},\"implements\":[\"io.openems.impl.persistence.influxdb.InfluxdbPersistence\",\"io.openems.api.persistence.QueryablePersistence\",\"io.openems.api.persistence.Persistence\"]}}") - .getAsJsonObject(); + /** + * Gets Meta information about active components. + * + * @param components + * @return a JsonObject in the form + * + *
      +	 * {
      +	 *   "Controller.Symmetric.Balancing": {
      +	 *     "implements":[ "Controller" ]
      +	 *   },
      +	 *   "Simulator.EssSymmetric.Reacting": {
      +	 *     "implements":[ "Ess", "SymmetricEss" ]
      +	 *   }
      +	 * }
      +	 *         
      + */ + protected static JsonObject getComponentsMeta(List components) { + JsonObject j = new JsonObject(); + components.stream() // + // sort by Component ID + .sorted((c1, c2) -> c1.id().compareTo(c2.id())) // + .forEach(component -> { + JsonObject jComponent = new JsonObject(); + + JsonArray jImplements = new JsonArray(); + Arrays.stream(component.getClass().getInterfaces()) // + // filter interesting Interfaces + .filter(iface -> !(iface.equals(OpenemsComponent.class)) + && OpenemsComponent.class.isAssignableFrom(iface)) + // sort by SimpleName + .sorted((i1, i2) -> i1.getSimpleName().compareTo(i2.getSimpleName())) // + .forEach(iface -> { + jImplements.add(iface.getSimpleName()); + }); + jComponent.add("implements", jImplements); + + j.add(component.componentContext().getProperties().get("component.name").toString(), jComponent); + }); + return j; + } + + /** + * Get the configuration of active components. + * + * @param configs + * @return a JsonObject in the form + * + *
      +	 * {
      +	 *   "ess0": {
      +	 *     "enabled": "true",
      +	 *     "modbus.id": "modbus0",
      +	 *     "service.factoryPid": "Ess.Fenecon.Commercial40",
      +	 *     "service.pid": "Ess.Fenecon.Commercial40.bcd5e8da-33c8-4258-ade5-480b5c0bbd2e"
      +	 * }
      +	 *         
      + */ + protected static JsonObject getComponents(Configuration[] configs) { + JsonObject j = new JsonObject(); + for (Configuration config : configs) { + Dictionary properties = config.getProperties(); + String id = (String) properties.get("id"); + if (id == null) { + continue; + } + JsonObject jComponent = new JsonObject(); + Collections.list(properties.keys()).stream() // + // filter interesting config properties + .filter(key -> !key.equals("id") && !key.endsWith(".target")) // + // sort by key (property name) + .sorted() // + .forEach(key -> { + Object obj = properties.get(key); + if (obj instanceof String[]) { + jComponent.addProperty(key, String.join(",", (String[]) obj)); + } else { + jComponent.add(key, toJson(obj)); + } + }); + + j.add(id, jComponent); + } + return j; + } + + /** + * Converts an object to a JsonPrimitive + * + * @param value + * @return + */ + private static JsonPrimitive toJson(Object value) { + if (value instanceof Number) { + return new JsonPrimitive((Number) value); + } else if (value instanceof Boolean) { + return new JsonPrimitive((Boolean) value); + } else { + return new JsonPrimitive(value.toString()); + } + } protected static JsonObject toDeprecatedJsonConfig(Configuration[] configs) { JsonObject jResult = new JsonObject(); diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java index 733a0844cfd..5d67e586a9b 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java @@ -1,6 +1,7 @@ package io.openems.edge.core.sum; import java.util.Map; +import java.util.function.Consumer; import org.osgi.service.component.ComponentContext; import org.osgi.service.component.annotations.Activate; @@ -15,6 +16,7 @@ import io.openems.edge.common.channel.Channel; import io.openems.edge.common.channel.doc.Doc; import io.openems.edge.common.channel.doc.Unit; +import io.openems.edge.common.channel.value.Value; import io.openems.edge.common.component.AbstractOpenemsComponent; import io.openems.edge.common.component.OpenemsComponent; import io.openems.edge.core.sum.internal.AverageInteger; @@ -47,7 +49,7 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { * Ess: Active Power * *
        - *
      • Interface: Sum (origin: Ess Symmetric Readonly) + *
      • Interface: Sum (origin: @see {@link SymmetricEssReadonly}) *
      • Type: Integer *
      • Unit: W *
      • Range: negative values for Charge; positive for Discharge @@ -58,10 +60,10 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { .unit(Unit.WATT) // .text(SymmetricEss.POWER_DOC_TEXT)), /** - * Grid-Meter: Active Power + * Grid: Active Power * *
          - *
        • Interface: Sum (origin: Meter Symmetric) + *
        • Interface: Sum (origin: @see {@link SymmetricMeter})) *
        • Type: Integer *
        • Unit: W *
        • Range: negative values for Consumption (power that is 'leaving the @@ -69,10 +71,38 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { * the system') *
        */ - GRIDMETER_ACTIVE_POWER(new Doc() // + GRID_ACTIVE_POWER(new Doc() // .type(OpenemsType.INTEGER) // .unit(Unit.WATT) // - .text(SymmetricMeter.POWER_DOC_TEXT)); + .text(SymmetricMeter.POWER_DOC_TEXT)), + /** + * Production: Active Power + * + *
          + *
        • Interface: Sum (origin: Meter Symmetric) + *
        • Type: Integer + *
        • Unit: W + *
        • Range: should be only positive + *
        + */ + PRODUCTION_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT)), + /** + * Consumption: Active Power + * + *
          + *
        • Interface: Sum + *
        • Type: Integer + *
        • Unit: W + *
        • Range: should be only positive + *
        • Note: the value is calculated using the data from Grid-Meter, + * Production-Meter and charge/discharge of battery. + *
        + */ + CONSUMPTION_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT)); private final Doc doc; @@ -92,9 +122,14 @@ public Doc doc() { private final SumInteger essActivePower; /* - * Grid-Meter + * Grid */ - private final SumInteger gridmeterActivePower; + private final SumInteger gridActivePower; + + /* + * Production + */ + private final SumInteger productionActivePower; @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) private void addEss(Ess ess) { @@ -112,7 +147,11 @@ protected void removeEss(Ess ess) { @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) private void addMeter(Meter meter) { switch (meter.getMeterType()) { - case CONSUMPTION: + case CONSUMPTION_METERED: + // TODO + break; + + case CONSUMPTION_NOT_METERED: // TODO break; @@ -121,18 +160,23 @@ private void addMeter(Meter meter) { * Grid-Meter */ if (meter instanceof SymmetricMeter) { - this.gridmeterActivePower.addComponent(meter); + this.gridActivePower.addComponent(meter); } break; case PRODUCTION: - // TODO + /* + * Production-Meter + */ + if (meter instanceof SymmetricMeter) { + this.productionActivePower.addComponent(meter); + } break; } } protected void removeMeter(Meter meter) { - this.gridmeterActivePower.removeComponent(meter); + this.gridActivePower.removeComponent(meter); } public Sum() { @@ -140,8 +184,22 @@ public Sum() { this.essSoc = new AverageInteger(this, ChannelId.ESS_SOC, Ess.ChannelId.SOC); this.essActivePower = new SumInteger(this, ChannelId.ESS_ACTIVE_POWER, SymmetricEssReadonly.ChannelId.ACTIVE_POWER); - this.gridmeterActivePower = new SumInteger(this, ChannelId.GRIDMETER_ACTIVE_POWER, + this.gridActivePower = new SumInteger(this, ChannelId.GRID_ACTIVE_POWER, SymmetricMeter.ChannelId.ACTIVE_POWER); + this.productionActivePower = new SumInteger(this, ChannelId.PRODUCTION_ACTIVE_POWER, SymmetricMeter.ChannelId.ACTIVE_POWER); + /* + * calculate consumption + */ + Consumer> calculateConsumption = ignoreValue -> { + int ess = this.getEssActivePower().getNextValue().asOptional().orElse(0); + int grid = this.getGridActivePower().getNextValue().asOptional().orElse(0); + int production = this.getProductionActivePower().getNextValue().asOptional().orElse(0); + int consumption = ess + grid + production; + this.getConsumptionActivePower().setNextValue(consumption); + }; + this.getEssActivePower().onSetNextValue(calculateConsumption); + this.getGridActivePower().onSetNextValue(calculateConsumption); + this.getProductionActivePower().onSetNextValue(calculateConsumption); } @Activate @@ -158,11 +216,9 @@ protected void deactivate() { public String debugLog() { return "ESS SoC:" + this.getEssSoc().value().asString() // + "|L:" + this.getEssActivePower().value().asString() // - + " Grid-Meter L:" + this.getGridmeterActivePower().value().asString() // - // + "|Allowed:" + - // this.channel(ChannelId.ALLOWED_CHARGE).value().asStringWithoutUnit() + ";" - // + this.channel(ChannelId.ALLOWED_DISCHARGE).value().asString() // - // + "|" + this.getGridMode().value().asOptionString(); + + " Grid L:" + this.getGridActivePower().value().asString() // + + " Production L:" + this.getProductionActivePower().value().asString() // + + " Consumption L:" + this.getConsumptionActivePower().value().asString() // ; } @@ -174,7 +230,15 @@ public Channel getEssActivePower() { return this.channel(ChannelId.ESS_ACTIVE_POWER); } - public Channel getGridmeterActivePower() { - return this.channel(ChannelId.GRIDMETER_ACTIVE_POWER); + public Channel getGridActivePower() { + return this.channel(ChannelId.GRID_ACTIVE_POWER); + } + + public Channel getProductionActivePower() { + return this.channel(ChannelId.PRODUCTION_ACTIVE_POWER); + } + + public Channel getConsumptionActivePower() { + return this.channel(ChannelId.CONSUMPTION_ACTIVE_POWER); } } diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java index be30aff9cfe..fe48d514594 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java @@ -21,8 +21,10 @@ public static Stream> initializeChannels(Sum c) switch (channelId) { case ESS_SOC: case ESS_ACTIVE_POWER: - case GRIDMETER_ACTIVE_POWER: - return new IntegerReadChannel(c, channelId); + case GRID_ACTIVE_POWER: + case PRODUCTION_ACTIVE_POWER: + case CONSUMPTION_ACTIVE_POWER: + return new IntegerReadChannel(c, channelId, 0); } return null; }) // diff --git a/io.openems.edge.meter.api/src/io/openems/edge/meter/api/MeterType.java b/io.openems.edge.meter.api/src/io/openems/edge/meter/api/MeterType.java index 63c523edab9..e658aa55535 100644 --- a/io.openems.edge.meter.api/src/io/openems/edge/meter/api/MeterType.java +++ b/io.openems.edge.meter.api/src/io/openems/edge/meter/api/MeterType.java @@ -1,5 +1,37 @@ package io.openems.edge.meter.api; +/** + * Defines the type of the Meter + */ public enum MeterType { - GRID, PRODUCTION, CONSUMPTION; + /** + * Defines a Grid-Meter, i.e. a meter that is measuring at the grid connection + * point (German: "Netzanschlusspunkt") + */ + GRID, // + /** + * Defines a Production-Meter, i.e. a meter that is measuring an electric + * producer like a photovoltaics installation + */ + PRODUCTION, + /** + * Defines a Consumption-Meter that is metered, i.e. a meter that is measuring + * an electric consumer like a heating-element or electric car. + * + * Note: Consumption is generally calculated using the data from Grid-Meter, + * Production-Meter and charge/discharge of battery. The value of + * CONSUMPTION_METERED is _not added_ to this calculated consumption as it is + * expected to be already measured by the Grid-Meter. + */ + CONSUMPTION_METERED, + /** + * Defines a Consumption-Meter that is NOT metered, i.e. a meter that is + * measuring an electric consumer like a heating-element or electric car. + * + * Note: Consumption is generally calculated using the data from Grid-Meter, + * Production-Meter and charge/discharge of battery. The value of + * CONSUMPTION_NOT_METERED is _added_ to this calculated consumption as it is + * expected to be NOT already measured by the Grid-Meter. + */ + CONSUMPTION_NOT_METERED; } diff --git a/io.openems.edge.timedata.api/src/io/openems/edge/timedata/api/Timedata.java b/io.openems.edge.timedata.api/src/io/openems/edge/timedata/api/Timedata.java index 88f5ea38295..90831e5119e 100644 --- a/io.openems.edge.timedata.api/src/io/openems/edge/timedata/api/Timedata.java +++ b/io.openems.edge.timedata.api/src/io/openems/edge/timedata/api/Timedata.java @@ -13,9 +13,10 @@ import io.openems.common.exceptions.OpenemsException; import io.openems.common.utils.JsonUtils; import io.openems.edge.common.channel.doc.Doc; +import io.openems.edge.common.component.OpenemsComponent; @ProviderType -public interface Timedata { +public interface Timedata extends OpenemsComponent { // TODO merge this Service with the corresponding Backend Service diff --git a/ui/src/app/app.component.html b/ui/src/app/app.component.html index e5bfd3091c6..e7c859e1060 100644 --- a/ui/src/app/app.component.html +++ b/ui/src/app/app.component.html @@ -33,7 +33,8 @@ ({{ currentEdge.name }})
      -
      +
      + diff --git a/ui/src/app/edge/history/chart/energychart/energychart.component.ts b/ui/src/app/edge/history/chart/energychart/energychart.component.ts index b0ebeb9158c..f75cfef01f9 100644 --- a/ui/src/app/edge/history/chart/energychart/energychart.component.ts +++ b/ui/src/app/edge/history/chart/energychart/energychart.component.ts @@ -111,7 +111,7 @@ export class EnergyChartComponent implements OnChanges { let labels: Date[] = []; for (let record of historicData.data) { labels.push(new Date(record.time)); - let data = new CurrentDataAndSummary(record.channels, this.config); + let data = new CurrentDataAndSummary(this.edge, record.channels, this.config); activePowers.gridBuy.push(Utils.divideSafely(data.summary.grid.buyActivePower, 1000)); // convert to kW activePowers.gridSell.push(Utils.divideSafely(data.summary.grid.sellActivePower, 1000)); // convert to kW activePowers.production.push(Utils.divideSafely(data.summary.production.activePower, 1000)); // convert to kW diff --git a/ui/src/app/edge/overview/energytable/energytable.component.html b/ui/src/app/edge/overview/energytable/energytable.component.html index fd2ae9fd469..fd2de4f104f 100644 --- a/ui/src/app/edge/overview/energytable/energytable.component.html +++ b/ui/src/app/edge/overview/energytable/energytable.component.html @@ -9,6 +9,7 @@ + @@ -30,16 +31,28 @@ AC - {{ sum.chargeActivePowerAC }} - W + + {{ sum.chargeActivePowerAC }} + W + + + - + + General.DischargePower AC - {{ sum.dischargeActivePowerAC }} - W + + {{ sum.dischargeActivePowerAC }} + W + + + - + + @@ -271,9 +284,14 @@ General.Production AC - - {{ sum.activePowerAC }} - W + + {{ sum.activePowerAC }} + W + + + - + + diff --git a/ui/src/app/edge/overview/overview.component.html b/ui/src/app/edge/overview/overview.component.html index 6490f1aec93..56bf0a485d1 100644 --- a/ui/src/app/edge/overview/overview.component.html +++ b/ui/src/app/edge/overview/overview.component.html @@ -1,4 +1,4 @@ -
      +
      diff --git a/ui/src/app/shared/edge/config.ts b/ui/src/app/shared/edge/config.ts index 0197a22f603..7ef1273142f 100644 --- a/ui/src/app/shared/edge/config.ts +++ b/ui/src/app/shared/edge/config.ts @@ -1,11 +1,22 @@ import { DefaultTypes } from '../service/defaulttypes' import { Role } from '../type/role' import { Widget } from '../type/widget' +import { Edge } from './edge'; export class ConfigImpl implements DefaultTypes.Config { - // Attributes from Config interface - public readonly things: { + // FROM VERSION 2018.8 + public readonly components?: { + [id: string]: { + 'service.pid': string, // unique pid of configuration + 'service.factoryPid': string, // link to 'meta' + enabled: boolean, + [channel: string]: string | number | boolean + } + } + + // BEVORE VERSION 2018.8 + public readonly things?: { [id: string]: { id: string, alias: string, @@ -13,10 +24,11 @@ export class ConfigImpl implements DefaultTypes.Config { [channel: string]: any } }; + public readonly meta: { - [clazz: string]: { + [factoryPid: string]: { implements: string[], - channels: { + channels?: { [channel: string]: { name: string, title: string, @@ -45,104 +57,116 @@ export class ConfigImpl implements DefaultTypes.Config { public readonly simulatorDevices: string[] = []; public readonly evcsDevices: string[] = []; - constructor(private readonly config: DefaultTypes.Config) { - // convert role-strings to Role-objects - for (let clazz in config.meta) { - for (let channel in config.meta[clazz].channels) { - let roles: Role[] = []; - for (let roleString of config.meta[clazz].channels[channel].readRoles) { - roles.push(Role.getRole("" + roleString /* convert to string */)); + constructor(private readonly edge: Edge, private readonly config: DefaultTypes.Config) { + if (edge.isVersionAtLeast("2018.8")) { + /* + * FROM VERSION 2018.8 + */ + Object.assign(this, config); + + } else { + /* + * VERSION BEFORE 2018.8 + */ + + // convert role-strings to Role-objects + for (let clazz in config.meta) { + for (let channel in config.meta[clazz].channels) { + let roles: Role[] = []; + for (let roleString of config.meta[clazz].channels[channel].readRoles) { + roles.push(Role.getRole("" + roleString /* convert to string */)); + } + config.meta[clazz].channels[channel].readRoles = roles; } - config.meta[clazz].channels[channel].readRoles = roles; } - } - Object.assign(this, config); + Object.assign(this, config); - let storageThings: string[] = [] - let chargers: string[] = []; - let gridMeters: string[] = []; - let productionMeters: string[] = []; - let consumptionMeters: string[] = []; - let otherMeters: string[] = []; - let bridges: string[] = []; - let scheduler: string = null; - let controllers: string[] = []; - let persistences: string[] = []; - let simulatorDevices: string[] = []; - let evcsDevices: string[] = []; + let storageThings: string[] = [] + let chargers: string[] = []; + let gridMeters: string[] = []; + let productionMeters: string[] = []; + let consumptionMeters: string[] = []; + let otherMeters: string[] = []; + let bridges: string[] = []; + let scheduler: string = null; + let controllers: string[] = []; + let persistences: string[] = []; + let simulatorDevices: string[] = []; + let evcsDevices: string[] = []; - for (let thingId in config.things) { - let thing = config.things[thingId]; - let i = this.getImplements(thing); + for (let thingId in config.things) { + let thing = config.things[thingId]; + let i = this.getImplements(thing); - /* - * Natures - */ - // Ess - if (i.includes("EssNature") - && !i.includes("EssClusterNature") /* ignore cluster */ - && !i.includes("AsymmetricSymmetricCombinationEssNature") /* ignore symmetric Ess of Pro 9-12 */) { - storageThings.push(thingId); - } - // Meter - if (i.includes("MeterNature")) { - if ("type" in thing) { - if (thing.type == 'grid') { - gridMeters.push(thingId); - } else if (thing.type === "production") { - productionMeters.push(thingId); - } else if (thing.type === "consumption") { - consumptionMeters.push(thingId); - } else { - otherMeters.push(thingId); + /* + * Natures + */ + // Ess + if (i.includes("EssNature") + && !i.includes("EssClusterNature") /* ignore cluster */ + && !i.includes("AsymmetricSymmetricCombinationEssNature") /* ignore symmetric Ess of Pro 9-12 */) { + storageThings.push(thingId); + } + // Meter + if (i.includes("MeterNature")) { + if ("type" in thing) { + if (thing.type == 'grid') { + gridMeters.push(thingId); + } else if (thing.type === "production") { + productionMeters.push(thingId); + } else if (thing.type === "consumption") { + consumptionMeters.push(thingId); + } else { + otherMeters.push(thingId); + } } } + // Charger + if (i.includes("ChargerNature")) { + productionMeters.push(thingId); + chargers.push(thingId); + } + /* + * Other Things + */ + // Bridge + if (i.includes("io.openems.api.bridge.Bridge")) { + bridges.push(thingId); + } + // Scheduler + if (i.includes("io.openems.api.scheduler.Scheduler")) { + scheduler = thingId; + } + // Controller + if (i.includes("io.openems.api.controller.Controller")) { + controllers.push(thingId); + } + // Persistence + if (i.includes("io.openems.api.persistence.Persistence")) { + persistences.push(thingId); + } + // Simulator Devices + if (i.includes("io.openems.impl.device.simulator.Simulator")) { + simulatorDevices.push(thingId); + } + // Simulator Devices + if (i.includes("KebaDeviceNature")) { + evcsDevices.push(thingId); + } } - // Charger - if (i.includes("ChargerNature")) { - productionMeters.push(thingId); - chargers.push(thingId); - } - /* - * Other Things - */ - // Bridge - if (i.includes("io.openems.api.bridge.Bridge")) { - bridges.push(thingId); - } - // Scheduler - if (i.includes("io.openems.api.scheduler.Scheduler")) { - scheduler = thingId; - } - // Controller - if (i.includes("io.openems.api.controller.Controller")) { - controllers.push(thingId); - } - // Persistence - if (i.includes("io.openems.api.persistence.Persistence")) { - persistences.push(thingId); - } - // Simulator Devices - if (i.includes("io.openems.impl.device.simulator.Simulator")) { - simulatorDevices.push(thingId); - } - // Simulator Devices - if (i.includes("KebaDeviceNature")) { - evcsDevices.push(thingId); - } - } - this.storageThings = storageThings.sort(); - this.chargers = chargers.sort(); - this.gridMeters = gridMeters.sort(); - this.productionMeters = productionMeters.sort(); - this.bridges = bridges.sort(); - this.scheduler = scheduler; - this.controllers = controllers; - this.persistences = persistences; - this.simulatorDevices = simulatorDevices; - this.evcsDevices = evcsDevices; + this.storageThings = storageThings.sort(); + this.chargers = chargers.sort(); + this.gridMeters = gridMeters.sort(); + this.productionMeters = productionMeters.sort(); + this.bridges = bridges.sort(); + this.scheduler = scheduler; + this.controllers = controllers; + this.persistences = persistences; + this.simulatorDevices = simulatorDevices; + this.evcsDevices = evcsDevices; + } } public getStateChannels(): DefaultTypes.ChannelAddresses { @@ -250,12 +274,27 @@ export class ConfigImpl implements DefaultTypes.Config { } } } - // basic channels - merge(this.getStateChannels()); - merge(this.getPowerChannels()); - merge(this.getEssSocChannels()); - // widget channels - merge(this.getEvcsWidgetChannels()); + if (this.edge.isVersionAtLeast("2018.8")) { + return { + '_sum': [ + // Ess + 'EssSoc', 'EssActivePower', 'EssChargeActivePower', 'EssDischargeActivePower', + // Grid + 'GridActivePower', 'GridBuyActivePower', 'GridSellActivePower', + // Production + 'ProductionActivePower', + // Consumption + 'ConsumptionActivePower' + ] + } + } else { + // basic channels + merge(this.getStateChannels()); + merge(this.getPowerChannels()); + merge(this.getEssSocChannels()); + // widget channels + merge(this.getEvcsWidgetChannels()); + } return channels; } diff --git a/ui/src/app/shared/edge/currentdata.ts b/ui/src/app/shared/edge/currentdata.ts index f0f7feda1fb..8501cd4886e 100644 --- a/ui/src/app/shared/edge/currentdata.ts +++ b/ui/src/app/shared/edge/currentdata.ts @@ -1,15 +1,116 @@ import { DefaultTypes } from '../service/defaulttypes'; import { ConfigImpl } from './config'; import { Utils } from '../service/utils'; +import { Edge } from './edge'; export class CurrentDataAndSummary { public readonly summary: DefaultTypes.Summary; - constructor(public data: DefaultTypes.Data, config: ConfigImpl) { - this.summary = this.calculateSummary(data, config); + constructor(private edge: Edge, public data: DefaultTypes.Data, config: ConfigImpl) { + if (edge.isVersionAtLeast('2018.8')) { + this.summary = this.getSummary(data, config); + } else { + this.summary = this.calculateSummaryBefore2018_8(data, config); + } + } + + private getSummary(d: DefaultTypes.Data, config: ConfigImpl): DefaultTypes.Summary { + let result: DefaultTypes.Summary = { + storage: { + soc: null, + isAsymmetric: false, + hasDC: false, + chargeActivePower: null, // sum of chargeActivePowerAC and chargeActivePowerDC + chargeActivePowerAC: null, + chargeActivePowerACL1: null, + chargeActivePowerACL2: null, + chargeActivePowerACL3: null, + chargeActivePowerDC: null, + maxChargeActivePower: null, + dischargeActivePower: null, // sum of dischargeActivePowerAC and dischargeActivePowerDC + dischargeActivePowerAC: null, + dischargeActivePowerACL1: null, + dischargeActivePowerACL2: null, + dischargeActivePowerACL3: null, + dischargeActivePowerDC: null, + maxDischargeActivePower: null + }, production: { + isAsymmetric: false, + hasDC: false, + powerRatio: null, + activePower: null, // sum of activePowerAC and activePowerDC + activePowerAC: null, + activePowerACL1: null, + activePowerACL2: null, + activePowerACL3: null, + activePowerDC: null, + maxActivePower: null + }, grid: { + powerRatio: null, + buyActivePower: null, + maxBuyActivePower: null, + sellActivePower: null, + maxSellActivePower: null + }, consumption: { + powerRatio: null, + activePower: null + } + }; + + const sum = d['_sum']; + { + /* + * Storage + * > 0 => Discharge + * < 0 => Charge + */ + result.storage.soc = sum['EssSoc']; + const essActivePower: number = sum['EssActivePower']; + result.storage.chargeActivePowerAC = essActivePower < 0 ? essActivePower * -1 : 0; + result.storage.chargeActivePower = result.storage.chargeActivePowerAC; // TODO + result.storage.maxChargeActivePower = result.storage.chargeActivePower; // TODO + result.storage.dischargeActivePowerAC = essActivePower > 0 ? essActivePower : 0; + result.storage.dischargeActivePower = result.storage.dischargeActivePowerAC; // TODO + result.storage.maxDischargeActivePower = result.storage.dischargeActivePowerAC; // TODO + } + + { + /* + * Grid + * > 0 => Buy from grid + * < 0 => Sell to grid + */ + const gridActivePower: number = sum['GridActivePower']; + result.grid.buyActivePower = gridActivePower > 0 ? gridActivePower : 0; + result.grid.maxBuyActivePower = result.grid.buyActivePower; // TODO + result.grid.sellActivePower = gridActivePower < 0 ? gridActivePower * -1 : 0; + result.grid.maxSellActivePower = result.grid.sellActivePower; // TODO + result.grid.powerRatio = 100 // TODO + } + + { + /* + * Production + */ + const productionActivePower: number = sum['ProductionActivePower']; + result.production.activePowerAC = productionActivePower; + result.production.activePower = result.production.activePowerAC; // TODO + result.production.maxActivePower = result.production.activePowerAC; // TODO + result.production.powerRatio = 100; + } + + { + /* + * Consumption + */ + const consumptionActivePower: number = sum['ConsumptionActivePower']; + result.consumption.activePower = consumptionActivePower; + result.consumption.powerRatio = 100; + } + return result; } - private calculateSummary(currentData: DefaultTypes.Data, config: ConfigImpl): DefaultTypes.Summary { + private calculateSummaryBefore2018_8(currentData: DefaultTypes.Data, config: ConfigImpl): DefaultTypes.Summary { let result: DefaultTypes.Summary = { storage: { soc: null, diff --git a/ui/src/app/shared/edge/edge.ts b/ui/src/app/shared/edge/edge.ts index f4cb24f9735..d911ec15914 100644 --- a/ui/src/app/shared/edge/edge.ts +++ b/ui/src/app/shared/edge/edge.ts @@ -80,7 +80,7 @@ export class Edge { // wait for reply this.replyStreams[messageId].first().subscribe(reply => { let config = (reply).config; - let configImpl = new ConfigImpl(config) + let configImpl = new ConfigImpl(this, config) this.config.next(configImpl); this.replyStreams[messageId].unsubscribe(); delete this.replyStreams[messageId]; @@ -117,7 +117,7 @@ export class Edge { let replyStream = this.sendMessageWithReply(DefaultMessages.currentDataSubscribe(this.edgeId, channels)); let obs = replyStream .map(message => (message as DefaultMessages.CurrentDataReply).currentData) - .combineLatest(this.config, (currentData, config) => new CurrentDataAndSummary(currentData, config)); + .combineLatest(this.config, (currentData, config) => new CurrentDataAndSummary(this, currentData, config)); // TODO send "unsubscribe" to websocket when nobody is subscribed on this observable anymore return obs; } diff --git a/ui/src/app/shared/service/defaulttypes.ts b/ui/src/app/shared/service/defaulttypes.ts index f60c59346a0..15e5dc124a3 100644 --- a/ui/src/app/shared/service/defaulttypes.ts +++ b/ui/src/app/shared/service/defaulttypes.ts @@ -11,6 +11,13 @@ export module DefaultTypes { [thing: string]: string[]; } + export interface ComponentConfig { + 'service.pid': string, // unique pid of configuration + 'service.factoryPid': string, // link to 'meta' + enabled: boolean, + [channel: string]: string | number | boolean + } + export interface ThingConfig { id: string, class: string | string[], @@ -18,13 +25,16 @@ export module DefaultTypes { } export interface Config { - things: { + components?: { // FROM VERSION 2018.8 + [id: string]: ComponentConfig + }, + things?: { // BEVORE VERSION 2018.8 [id: string]: ThingConfig }, meta: { - [clazz: string]: { + [factoryPid: string]: { implements: string[], - channels: { + channels?: { [channel: string]: { name: string, title: string, From 89d3aa07baef62a488e56f7080149a49de4de782 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 31 May 2018 14:41:09 +0200 Subject: [PATCH 20/50] Fix subscribe/unsubscribe of Log in UI --- .../api/apicontrollerutils/EdgeWebsocketHandler.java | 2 +- ui/src/app/edge/config/log/log.component.ts | 7 +++++-- ui/src/app/shared/edge/edge.ts | 11 ++++++----- ui/src/app/shared/service/defaultmessages.ts | 4 ++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java index 2fcbad5f75c..39f975cba82 100644 --- a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java +++ b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeWebsocketHandler.java @@ -468,8 +468,8 @@ public void sendLog(PaxLoggingEvent event) { this.send(j); } catch (OpenemsException e) { // Error while sending: remove subscriber - log.error("Error while sending log. Removing subscriber [" + entry.getKey() + "]"); this.logSubscribers.remove(entry.getKey()); + log.error("Error while sending log. Removing subscriber [" + entry.getKey() + "]"); } } } diff --git a/ui/src/app/edge/config/log/log.component.ts b/ui/src/app/edge/config/log/log.component.ts index e3ea5ebbe2f..6360acfc2c4 100644 --- a/ui/src/app/edge/config/log/log.component.ts +++ b/ui/src/app/edge/config/log/log.component.ts @@ -20,6 +20,7 @@ export class LogComponent implements OnInit, OnDestroy { private MAX_LOG_ENTRIES = 200; private stopOnDestroy: Subject = new Subject(); + private messageId = null; constructor( private route: ActivatedRoute, @@ -56,7 +57,9 @@ export class LogComponent implements OnInit, OnDestroy { } if (this.edge != null) { - this.edge.subscribeLog().takeUntil(this.stopOnDestroy).subscribe(log => { + const result = this.edge.subscribeLog(); + this.messageId = result.messageId; + result.logs.takeUntil(this.stopOnDestroy).subscribe(log => { log.time = format(new Date(log.time * 1000), "DD.MM.YYYY HH:mm:ss"); switch (log.level) { case 'INFO': @@ -83,7 +86,7 @@ export class LogComponent implements OnInit, OnDestroy { public unsubscribeLog() { if (this.edge != null) { - this.edge.unsubscribeLog(); + this.edge.unsubscribeLog(this.messageId); } this.stopOnDestroy.next(); this.stopOnDestroy.complete(); diff --git a/ui/src/app/shared/edge/edge.ts b/ui/src/app/shared/edge/edge.ts index d911ec15914..90b5e8537e0 100644 --- a/ui/src/app/shared/edge/edge.ts +++ b/ui/src/app/shared/edge/edge.ts @@ -157,16 +157,17 @@ export class Edge { /** * Subscribe to log */ - public subscribeLog(): Observable { - let replyStream = this.sendMessageWithReply(DefaultMessages.logSubscribe(this.edgeId)); - return replyStream.map(message => message.log as DefaultTypes.Log); + public subscribeLog(): { messageId: string, logs: Observable } { + const message = DefaultMessages.logSubscribe(this.edgeId); + let replyStream = this.sendMessageWithReply(message); + return { messageId: message.messageId.ui, logs: replyStream.map(message => message.log as DefaultTypes.Log) }; } /** * Unsubscribe from log */ - public unsubscribeLog() { - let message = DefaultMessages.logUnsubscribe(this.edgeId); + public unsubscribeLog(messageId: string) { + let message = DefaultMessages.logUnsubscribe(messageId, this.edgeId); this.send(message); } diff --git a/ui/src/app/shared/service/defaultmessages.ts b/ui/src/app/shared/service/defaultmessages.ts index 72319b0918d..a16482819d4 100644 --- a/ui/src/app/shared/service/defaultmessages.ts +++ b/ui/src/app/shared/service/defaultmessages.ts @@ -97,10 +97,10 @@ export class DefaultMessages { } }; - public static logUnsubscribe(edgeId: number): DefaultTypes.IdentifiedMessage { + public static logUnsubscribe(messageId: string, edgeId: number): DefaultTypes.IdentifiedMessage { return { messageId: { - ui: UUID.UUID() + ui: messageId }, edgeId: edgeId, log: { From 40c0cbb6cf9124355d38a03bc5134de1263ae990 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 31 May 2018 21:37:16 +0200 Subject: [PATCH 21/50] Handle Min/MaxActivePower values in Edge and UI --- .../src/io/openems/common/utils/IntUtils.java | 29 +++++ .../io/openems/common/utils/IntUtilsTest.java | 24 ++++ .../edge/common/channel/value/Value.java | 10 ++ .../common/component/OpenemsComponent.java | 37 ++++++ .../api/apicontrollerutils/Utils.java | 69 ---------- .../src/io/openems/edge/core/sum/Sum.java | 120 +++++++++++++++++- .../src/io/openems/edge/core/sum/Utils.java | 4 + .../core/sum/internal/ChannelsFunction.java | 9 +- .../src/io/openems/edge/ess/api/Ess.java | 21 ++- .../ess/power/symmetric/SymmetricPower.java | 13 +- .../commercial40/EssFeneconCommercial40.java | 2 +- .../edge/ess/fenecon/commercial40/Utils.java | 2 + .../meter/symmetric/api/SymmetricMeter.java | 104 +++++++++++++++ .../edge/meter/janitza/umg96rme/Config.java | 6 + .../umg96rme/MeterJanitzaUmg96rme.java | 4 + .../edge/meter/janitza/umg96rme/Utils.java | 2 + .../edge/meter/socomec/dirisa14/Config.java | 6 + .../dirisa14/MeterSocomecDirisA14.java | 4 + .../edge/meter/socomec/dirisa14/Utils.java | 2 + .../openems/edge/simulator/ess/EssUtils.java | 1 + .../ess/symmetric/reacting/EssSymmetric.java | 1 + .../edge/simulator/meter/MeterUtils.java | 2 + .../simulator/meter/grid/acting/Config.java | 6 + .../meter/grid/acting/GridMeter.java | 4 + ui/src/app/shared/edge/config.ts | 6 +- ui/src/app/shared/edge/currentdata.ts | 25 ++-- ui/src/app/shared/service/defaulttypes.ts | 4 +- 27 files changed, 417 insertions(+), 100 deletions(-) create mode 100644 io.openems.common/src/io/openems/common/utils/IntUtils.java create mode 100644 io.openems.common/test/io/openems/common/utils/IntUtilsTest.java diff --git a/io.openems.common/src/io/openems/common/utils/IntUtils.java b/io.openems.common/src/io/openems/common/utils/IntUtils.java new file mode 100644 index 00000000000..526f18a62f1 --- /dev/null +++ b/io.openems.common/src/io/openems/common/utils/IntUtils.java @@ -0,0 +1,29 @@ +package io.openems.common.utils; + +public class IntUtils { + + public enum Round { + UP, DOWN + } + + /** + * Rounds a value to a defined precision. + * + * Example: roundToPrecision(1234, Round.UP, 100) -> 1300 + * + * @param value + * @param round + * @param precision + * @return + */ + public static int roundToPrecision(int value, Round round, int precision) { + switch (round) { + case DOWN: + return (int) (Math.floor(value / precision) * precision); + case UP: + return (int) ((Math.floor(value / precision) + (value % precision > 0 ? 1 : 0)) * precision); + } + return 0; + } + +} diff --git a/io.openems.common/test/io/openems/common/utils/IntUtilsTest.java b/io.openems.common/test/io/openems/common/utils/IntUtilsTest.java new file mode 100644 index 00000000000..b256e3418a2 --- /dev/null +++ b/io.openems.common/test/io/openems/common/utils/IntUtilsTest.java @@ -0,0 +1,24 @@ +package io.openems.common.utils; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import io.openems.common.utils.IntUtils.Round; + +public class IntUtilsTest { + + @Test + public void testRoundToPrecision() { + assertEquals(1300, IntUtils.roundToPrecision(1300, Round.UP, 100)); + + assertEquals(1400, IntUtils.roundToPrecision(1301, Round.UP, 100)); + + assertEquals(1300, IntUtils.roundToPrecision(1300, Round.UP, 10)); + + assertEquals(1300, IntUtils.roundToPrecision(1300, Round.DOWN, 100)); + + assertEquals(1200, IntUtils.roundToPrecision(1299, Round.DOWN, 100)); + } + +} diff --git a/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java b/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java index 994cb130a04..230b6f0f0ed 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java +++ b/io.openems.edge.common/src/io/openems/edge/common/channel/value/Value.java @@ -88,6 +88,16 @@ public Optional asOptional() { return Optional.ofNullable(this.get()); }; + /** + * Gets the value or the given alternativeValue. This is short for + * '.asOptional().or()'. + * + * @return + */ + public T orElse(T alternativeValue) { + return Optional.ofNullable(this.get()).orElse(alternativeValue); + }; + /** * Gets the value as its String option. Enum options are converted to Strings. * diff --git a/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java b/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java index c6b83bbd7c9..83665055fb7 100644 --- a/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java +++ b/io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java @@ -225,4 +225,41 @@ public static boolean updateReferenceFilter(ConfigurationAdmin cm, String pid, S } return false; } + + /** + * Update a configuration property. + * + * Usage: + * + *
      +	 * updateConfigurationProperty(cm, servicePid, "propertyName", "propertyValue");
      +	 * 
      + * + * @param cm + * a ConfigurationAdmin instance. Get one using + * + *
      +	 *            @Reference
      +	 *            ConfigurationAdmin cm;
      +	 *            
      + * + * @param pid + * PID of the calling component (use 'config.service_pid()' or + * '(String)prop.get(Constants.SERVICE_PID)' + * @param property + * Name of the configuration property + * @param value + * New configuration value + */ + public static void updateConfigurationProperty(ConfigurationAdmin cm, String pid, String property, int value) { + Configuration c; + try { + c = cm.getConfiguration(pid, "?"); + Dictionary properties = c.getProperties(); + properties.put(property, value); + c.update(properties); + } catch (IOException | SecurityException e) { + System.out.println("ERROR: " + e.getMessage()); + } + } } diff --git a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java index 403bb8190bf..268dbc573c3 100644 --- a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java +++ b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/Utils.java @@ -6,8 +6,6 @@ import java.util.List; import org.osgi.service.cm.Configuration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import com.google.gson.JsonArray; import com.google.gson.JsonObject; @@ -17,8 +15,6 @@ public class Utils { - private final static Logger log = LoggerFactory.getLogger(Utils.class); - /** * Gets Meta information about active components. * @@ -120,69 +116,4 @@ private static JsonPrimitive toJson(Object value) { return new JsonPrimitive(value.toString()); } } - - protected static JsonObject toDeprecatedJsonConfig(Configuration[] configs) { - JsonObject jResult = new JsonObject(); - for (Configuration config : configs) { - String id = (String) config.getProperties().get("id"); - if (id == null) { - continue; - } - JsonObject j = new JsonObject(); - j.addProperty("id", id); - j.addProperty("alias", id); - switch (config.getFactoryPid()) { - case "Bridge.Modbus.Tcp": - j.addProperty("class", "io.openems.impl.protocol.modbus.ModbusTcp"); - break; - case "Bridge.Modbus.Serial": - j.addProperty("class", "io.openems.impl.protocol.modbus.ModbusRtu"); - break; - case "Ess.Fenecon.Commercial40": - j.addProperty("class", "io.openems.impl.device.commercial.FeneconCommercialEss"); - j.addProperty("chargeSoc", 10); - j.addProperty("minSoc", 15); - break; - case "EssDcCharger.Fenecon.Commercial40": - j.addProperty("class", "io.openems.impl.device.commercial.FeneconCommercialCharger"); - j.addProperty("maxActualPower", 48000); - break; - case "Meter.SOCOMEC.DirisA14": - j.addProperty("class", "io.openems.impl.device.socomec.SocomecMeter"); - j.addProperty("type", "grid"); // TODO set correct type - j.addProperty("minActivePower", -40000); // set correct values - j.addProperty("maxActivePower", 40000); // set correct values - break; - case "Evcs.Keba.KeContact": - j.addProperty("class", "io.openems.impl.device.keba.KebaEvcs"); - break; - case "Simulator.EssSymmetric.Reacting": - j.addProperty("class", "io.openems.impl.device.simulator.SimulatorSymmetricEss"); - break; - case "Simulator.GridMeter.Acting": - j.addProperty("class", "io.openems.impl.device.simulator.SimulatorGridMeter"); - j.addProperty("type", "grid"); - break; - case "Controller.Symmetric.Balancing": - j.addProperty("class", "io.openems.impl.controller.symmetric.balancing.BalancingController"); - break; - case "Controller.Debug.Log": - j.addProperty("class", "io.openems.impl.controller.debuglog.DebugLogController"); - break; - case "Controller.Api.Websocket": - j.addProperty("class", "io.openems.impl.controller.api.websocket.WebsocketApiController"); - break; - case "Simulator.Datasource.SLP": - case "Scheduler.AllAlphabetically": - case "Timedata.InfluxDB": - // ignore - continue; - default: - log.warn("FactoryPID [" + config.getFactoryPid() + "] has no Config converter"); - continue; - } - jResult.add(id, j); - } - return jResult; - } } diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java index 5d67e586a9b..06373e5054e 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java @@ -1,6 +1,8 @@ package io.openems.edge.core.sum; import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentSkipListSet; import java.util.function.Consumer; import org.osgi.service.component.ComponentContext; @@ -75,6 +77,32 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { .type(OpenemsType.INTEGER) // .unit(Unit.WATT) // .text(SymmetricMeter.POWER_DOC_TEXT)), + /** + * Grid: Minimum Ever Active Power + * + *
        + *
      • Interface: Sum (origin: @see {@link SymmetricMeter})) + *
      • Type: Integer + *
      • Unit: W + *
      • Range: negative values or '0' + *
      + */ + GRID_MIN_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT)), + /** + * Grid: Maximum Ever Active Power + * + *
        + *
      • Interface: Sum (origin: @see {@link SymmetricMeter})) + *
      • Type: Integer + *
      • Unit: W + *
      • Range: positive values or '0' + *
      + */ + GRID_MAX_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT)), /** * Production: Active Power * @@ -88,6 +116,19 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { PRODUCTION_ACTIVE_POWER(new Doc() // .type(OpenemsType.INTEGER) // .unit(Unit.WATT)), + /** + * Production: Maximum Ever Active Power + * + *
        + *
      • Interface: Sum (origin: @see {@link SymmetricMeter})) + *
      • Type: Integer + *
      • Unit: W + *
      • Range: positive values or '0' + *
      + */ + PRODUCTION_MAX_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT)), /** * Consumption: Active Power * @@ -101,6 +142,19 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { * */ CONSUMPTION_ACTIVE_POWER(new Doc() // + .type(OpenemsType.INTEGER) // + .unit(Unit.WATT)), + /** + * Consumption: Maximum Ever Active Power + * + *
        + *
      • Interface: Sum (origin: @see {@link SymmetricMeter})) + *
      • Type: Integer + *
      • Unit: W + *
      • Range: positive values or '0' + *
      + */ + CONSUMPTION_MAX_ACTIVE_POWER(new Doc() // .type(OpenemsType.INTEGER) // .unit(Unit.WATT)); @@ -118,6 +172,7 @@ public Doc doc() { /* * Ess */ + private final Set esss = new ConcurrentSkipListSet<>(); private final AverageInteger essSoc; private final SumInteger essActivePower; @@ -125,25 +180,41 @@ public Doc doc() { * Grid */ private final SumInteger gridActivePower; + private final SumInteger gridMinActivePower; + private final SumInteger gridMaxActivePower; /* * Production */ private final SumInteger productionActivePower; + private final SumInteger productionMaxActivePower; @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) private void addEss(Ess ess) { + this.esss.add(ess); this.essSoc.addComponent(ess); if (ess instanceof SymmetricEss) { this.essActivePower.addComponent(ess); } + this.calculateMaxConsumption.accept(null /* ignored */); } protected void removeEss(Ess ess) { + this.esss.remove(ess); this.essSoc.removeComponent(ess); this.essActivePower.removeComponent(ess); } + private final Consumer> calculateMaxConsumption = ignoreValue -> { + int maxPower = 0; + for (Ess ess : this.esss) { + maxPower += ess.getMaxActivePower().value().orElse(0); + } + maxPower += this.getGridMaxActivePower().value().orElse(0); + maxPower += this.getProductionMaxActivePower().value().orElse(0); + this.getConsumptionMaxActivePower().setNextValue(maxPower); + }; + @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) private void addMeter(Meter meter) { switch (meter.getMeterType()) { @@ -161,6 +232,8 @@ private void addMeter(Meter meter) { */ if (meter instanceof SymmetricMeter) { this.gridActivePower.addComponent(meter); + this.gridMinActivePower.addComponent(meter); + this.gridMaxActivePower.addComponent(meter); } break; @@ -170,6 +243,7 @@ private void addMeter(Meter meter) { */ if (meter instanceof SymmetricMeter) { this.productionActivePower.addComponent(meter); + this.productionMaxActivePower.addComponent(meter); } break; } @@ -177,23 +251,43 @@ private void addMeter(Meter meter) { protected void removeMeter(Meter meter) { this.gridActivePower.removeComponent(meter); + this.gridMinActivePower.removeComponent(meter); + this.gridMaxActivePower.removeComponent(meter); + this.productionMaxActivePower.removeComponent(meter); } public Sum() { Utils.initializeChannels(this).forEach(channel -> this.addChannel(channel)); + /* + * Ess + */ this.essSoc = new AverageInteger(this, ChannelId.ESS_SOC, Ess.ChannelId.SOC); this.essActivePower = new SumInteger(this, ChannelId.ESS_ACTIVE_POWER, SymmetricEssReadonly.ChannelId.ACTIVE_POWER); + /* + * Grid + */ this.gridActivePower = new SumInteger(this, ChannelId.GRID_ACTIVE_POWER, SymmetricMeter.ChannelId.ACTIVE_POWER); + this.gridMinActivePower = new SumInteger(this, ChannelId.GRID_MIN_ACTIVE_POWER, + SymmetricMeter.ChannelId.MIN_ACTIVE_POWER); + this.gridMaxActivePower = new SumInteger(this, ChannelId.GRID_MAX_ACTIVE_POWER, + SymmetricMeter.ChannelId.MAX_ACTIVE_POWER); + /* + * Production + */ this.productionActivePower = new SumInteger(this, ChannelId.PRODUCTION_ACTIVE_POWER, SymmetricMeter.ChannelId.ACTIVE_POWER); + this.productionMaxActivePower = new SumInteger(this, ChannelId.PRODUCTION_MAX_ACTIVE_POWER, + SymmetricMeter.ChannelId.MAX_ACTIVE_POWER); /* - * calculate consumption + * Consumption */ - Consumer> calculateConsumption = ignoreValue -> { - int ess = this.getEssActivePower().getNextValue().asOptional().orElse(0); - int grid = this.getGridActivePower().getNextValue().asOptional().orElse(0); - int production = this.getProductionActivePower().getNextValue().asOptional().orElse(0); + this.getGridMaxActivePower().onSetNextValue(calculateMaxConsumption); + this.getProductionMaxActivePower().onSetNextValue(calculateMaxConsumption); + final Consumer> calculateConsumption = ignoreValue -> { + int ess = this.getEssActivePower().getNextValue().orElse(0); + int grid = this.getGridActivePower().getNextValue().orElse(0); + int production = this.getProductionActivePower().getNextValue().orElse(0); int consumption = ess + grid + production; this.getConsumptionActivePower().setNextValue(consumption); }; @@ -234,11 +328,27 @@ public Channel getGridActivePower() { return this.channel(ChannelId.GRID_ACTIVE_POWER); } + public Channel getGridMinActivePower() { + return this.channel(ChannelId.GRID_MIN_ACTIVE_POWER); + } + + public Channel getGridMaxActivePower() { + return this.channel(ChannelId.GRID_MAX_ACTIVE_POWER); + } + public Channel getProductionActivePower() { return this.channel(ChannelId.PRODUCTION_ACTIVE_POWER); } + public Channel getProductionMaxActivePower() { + return this.channel(ChannelId.PRODUCTION_MAX_ACTIVE_POWER); + } + public Channel getConsumptionActivePower() { return this.channel(ChannelId.CONSUMPTION_ACTIVE_POWER); } + + public Channel getConsumptionMaxActivePower() { + return this.channel(ChannelId.CONSUMPTION_MAX_ACTIVE_POWER); + } } diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java index fe48d514594..9d56986d697 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Utils.java @@ -22,8 +22,12 @@ public static Stream> initializeChannels(Sum c) case ESS_SOC: case ESS_ACTIVE_POWER: case GRID_ACTIVE_POWER: + case GRID_MAX_ACTIVE_POWER: + case GRID_MIN_ACTIVE_POWER: case PRODUCTION_ACTIVE_POWER: + case PRODUCTION_MAX_ACTIVE_POWER: case CONSUMPTION_ACTIVE_POWER: + case CONSUMPTION_MAX_ACTIVE_POWER: return new IntegerReadChannel(c, channelId, 0); } return null; diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java index 100ede6cbfc..99be1188a35 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java @@ -3,6 +3,7 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Consumer; import io.openems.edge.common.channel.Channel; import io.openems.edge.common.channel.doc.ChannelId; @@ -24,15 +25,17 @@ public ChannelsFunction(Sum parent, io.openems.edge.core.sum.Sum.ChannelId targe } public void addComponent(OpenemsComponent component) { - Channel channel = component.channel(this.sourceChannelId); - channel.onSetNextValue(value -> { + final Consumer> handler = value -> { this.valueMap.put(component.id(), value); try { this.targetChannel.setNextValue(this.calculate()); } catch (NoSuchElementException e) { this.targetChannel.setNextValue(null); } - }); + }; + Channel channel = component.channel(this.sourceChannelId); + handler.accept(channel.value()); // handle current value + channel.onSetNextValue(handler); // and every upcoming value } public void removeComponent(OpenemsComponent component) { diff --git a/io.openems.edge.ess.api/src/io/openems/edge/ess/api/Ess.java b/io.openems.edge.ess.api/src/io/openems/edge/ess/api/Ess.java index f4d68918aa2..8ec19a38e09 100644 --- a/io.openems.edge.ess.api/src/io/openems/edge/ess/api/Ess.java +++ b/io.openems.edge.ess.api/src/io/openems/edge/ess/api/Ess.java @@ -40,7 +40,17 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { .option(GridMode.UNDEFINED) // .option(GridMode.ON_GRID) // .option(GridMode.OFF_GRID) // - ); + ), + /** + * Max Active Power + * + *
        + *
      • Interface: Ess + *
      • Type: Integer + *
      • Unit: W + *
      + */ + MAX_ACTIVE_POWER(new Doc().type(OpenemsType.INTEGER).unit(Unit.WATT)); private final Doc doc; @@ -71,4 +81,13 @@ default Channel getSoc() { default Channel getGridMode() { return this.channel(ChannelId.GRID_MODE); } + + /** + * Gets the maximum Active Power + * + * @return + */ + default Channel getMaxActivePower() { + return this.channel(ChannelId.MAX_ACTIVE_POWER); + } } diff --git a/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/SymmetricPower.java b/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/SymmetricPower.java index 6c978534ccf..2d9ca41c07a 100644 --- a/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/SymmetricPower.java +++ b/io.openems.edge.ess.api/src/io/openems/edge/ess/power/symmetric/SymmetricPower.java @@ -16,6 +16,8 @@ import com.vividsolutions.jts.operation.distance.GeometryLocation; import com.vividsolutions.jts.util.GeometricShapeFactory; +import io.openems.common.utils.IntUtils; +import io.openems.common.utils.IntUtils.Round; import io.openems.edge.ess.power.PowerException; import io.openems.edge.ess.symmetric.api.SymmetricEss; @@ -278,18 +280,17 @@ protected void writePower() { *
    1. if SoC < 50 %: round up (more discharge) * */ - boolean roundUp = false; + Round round = Round.DOWN; Optional socOpt = this.parent.getSoc().value().asOptional(); if (socOpt.isPresent()) { int soc = socOpt.get(); if (activePower > 0 && soc > 50 || activePower < 0 && soc < 50) { - roundUp = true; + round = Round.UP; } } - activePower = (int) ((Math.floor( // - (activePower + (roundUp ? -0.1 : 0.1)) / powerPrecision) + (roundUp ? 1 : 0)) * powerPrecision); - reactivePower = (int) ((Math.floor( // - (reactivePower + (roundUp ? -0.1 : 0.1)) / powerPrecision) + (roundUp ? 1 : 0)) * powerPrecision); + activePower = IntUtils.roundToPrecision(activePower, round, powerPrecision); + reactivePower = IntUtils.roundToPrecision(reactivePower, round, powerPrecision); + // set debug channels on parent this.parent.channel(SymmetricEss.ChannelId.DEBUG_SET_ACTIVE_POWER).setNextValue(activePower); this.parent.channel(SymmetricEss.ChannelId.DEBUG_SET_REACTIVE_POWER).setNextValue(reactivePower); diff --git a/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java b/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java index 19defc51a3f..f32d6eb66bc 100644 --- a/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java +++ b/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/EssFeneconCommercial40.java @@ -66,7 +66,7 @@ public class EssFeneconCommercial40 extends AbstractOpenemsModbusComponent private final Logger log = LoggerFactory.getLogger(AbstractOpenemsModbusComponent.class); private final static int UNIT_ID = 100; - private final static int MAX_APPARENT_POWER = 40000; + protected final static int MAX_APPARENT_POWER = 40000; private final static int MIN_REACTIVE_POWER = -10000; private final static int MAX_REACTIVE_POWER = 10000; private final static int POWER_PRECISION = 100; diff --git a/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/Utils.java b/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/Utils.java index 322d88cc645..73bed63e793 100644 --- a/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/Utils.java +++ b/io.openems.edge.ess.fenecon.commercial40/src/io/openems/edge/ess/fenecon/commercial40/Utils.java @@ -29,6 +29,8 @@ public static Stream> initializeChannels(EssFen switch (channelId) { case SOC: return new IntegerReadChannel(c, channelId); + case MAX_ACTIVE_POWER: + return new IntegerReadChannel(c, channelId, EssFeneconCommercial40.MAX_APPARENT_POWER); case GRID_MODE: return new IntegerReadChannel(c, channelId, Ess.GridMode.UNDEFINED.ordinal()); } diff --git a/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java b/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java index 49647021a84..c7173fc1374 100644 --- a/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java +++ b/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java @@ -1,9 +1,14 @@ package io.openems.edge.meter.symmetric.api; +import org.osgi.service.cm.ConfigurationAdmin; + import io.openems.common.types.OpenemsType; +import io.openems.common.utils.IntUtils; +import io.openems.common.utils.IntUtils.Round; import io.openems.edge.common.channel.Channel; import io.openems.edge.common.channel.doc.Doc; import io.openems.edge.common.channel.doc.Unit; +import io.openems.edge.common.component.OpenemsComponent; import io.openems.edge.common.converter.StaticConverters; import io.openems.edge.meter.api.Meter; @@ -49,6 +54,30 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { * */ PRODUCTION_ACTIVE_POWER(new Doc().type(OpenemsType.INTEGER).unit(Unit.WATT)), // + /** + * Minimum Ever Active Power + * + *
        + *
      • Interface: Meter Symmetric + *
      • Type: Integer + *
      • Unit: W + *
      • Range: negative or '0' + *
      • Implementation Note: value is automatically derived from ACTIVE_POWER + *
      + */ + MIN_ACTIVE_POWER(new Doc().type(OpenemsType.INTEGER).unit(Unit.WATT)), // + /** + * Maximum Ever Active Power + * + *
        + *
      • Interface: Meter Symmetric + *
      • Type: Integer + *
      • Unit: W + *
      • Range: positive or '0' + *
      • Implementation Note: value is automatically derived from ACTIVE_POWER + *
      + */ + MAX_ACTIVE_POWER(new Doc().type(OpenemsType.INTEGER).unit(Unit.WATT)), // /** * Active Power * @@ -72,6 +101,35 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { Object chargeValue = StaticConverters.INVERT.andThen(StaticConverters.KEEP_POSITIVE) .apply(value.get()); channel.getComponent().channel(ChannelId.CONSUMPTION_ACTIVE_POWER).setNextValue(chargeValue); + /* + * Fill Min/Max Active Power channels + */ + if (value.asOptional().isPresent()) { + int newValue = (int) value.get(); + { + Channel minActivePowerChannel = channel.getComponent() + .channel(ChannelId.MIN_ACTIVE_POWER); + int minActivePower = minActivePowerChannel.value().orElse(0); + int minNextActivePower = minActivePowerChannel.getNextValue().orElse(0); + if (newValue < Math.min(minActivePower, minNextActivePower)) { + // avoid getting called too often -> round to 100 + newValue = IntUtils.roundToPrecision(newValue, Round.DOWN, 100); + minActivePowerChannel.setNextValue(newValue); + } + } + { + Channel maxActivePowerChannel = channel.getComponent() + .channel(ChannelId.MAX_ACTIVE_POWER); + int maxActivePower = maxActivePowerChannel.value().orElse(0); + int maxNextActivePower = maxActivePowerChannel.getNextValue().orElse(0); + if (newValue > Math.max(maxActivePower, maxNextActivePower)) { + // avoid getting called too often -> round to 100 + newValue = IntUtils.roundToPrecision(newValue, Round.UP, 100); + System.out.println("set new maxAP for " + channel.address() + ": " + newValue); + maxActivePowerChannel.setNextValue(newValue); + } + } + } }); })), // /** @@ -216,4 +274,50 @@ default Channel getProductionReactivePower() { return this.channel(ChannelId.PRODUCTION_REACTIVE_POWER); } + /** + * Gets the Minimum Ever Active Power. + * + * @return + */ + default Channel getMinActivePower() { + return this.channel(ChannelId.MIN_ACTIVE_POWER); + } + + /** + * Gets the Maximum Ever Active Power. + * + * @return + */ + default Channel getMaxActivePower() { + return this.channel(ChannelId.MAX_ACTIVE_POWER); + } + + /** + * Internal helper method to handle storing Min/MaxActivePower in config + * properties 'minActivePower' and 'maxActivePower' + * + * @param cm + * @param servicePid + * @param minActivePowerConfig + * @param maxActivePowerConfig + */ + default void _initializeMinMaxActivePower(ConfigurationAdmin cm, String servicePid, int minActivePowerConfig, + int maxActivePowerConfig) { + /* + * Update min/max active power channels + */ + this.getMinActivePower().setNextValue(minActivePowerConfig); + this.getMaxActivePower().setNextValue(maxActivePowerConfig); + + this.getMinActivePower().onUpdate(value -> { + if (value.get() != minActivePowerConfig) { + OpenemsComponent.updateConfigurationProperty(cm, servicePid, "minActivePower", value.get()); + } + }); + this.getMaxActivePower().onUpdate(value -> { + if (value.get() != maxActivePowerConfig) { + OpenemsComponent.updateConfigurationProperty(cm, servicePid, "maxActivePower", value.get()); + } + }); + } } diff --git a/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Config.java b/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Config.java index 3d023f73fb7..4bf8ea0cc13 100644 --- a/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Config.java +++ b/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Config.java @@ -19,6 +19,12 @@ @AttributeDefinition(name = "Modbus-ID", description = "ID of Modbus brige.") String modbus_id(); + @AttributeDefinition(name = "Minimum Ever Active Power", description = "This is automatically updated.") + int minActivePower(); + + @AttributeDefinition(name = "Maximum Ever Active Power", description = "This is automatically updated.") + int maxActivePower(); + @AttributeDefinition(name = "Modbus target filter", description = "This is auto-generated by 'Modbus-ID'.") String Modbus_target() default ""; diff --git a/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/MeterJanitzaUmg96rme.java b/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/MeterJanitzaUmg96rme.java index 0b5267e2744..99555a2e20a 100644 --- a/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/MeterJanitzaUmg96rme.java +++ b/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/MeterJanitzaUmg96rme.java @@ -67,6 +67,10 @@ void activate(ComponentContext context, Config config) { super.activate(context, config.service_pid(), config.id(), config.enabled(), UNIT_ID, this.cm, "Modbus", config.modbus_id()); + + // Initialize Min/MaxActivePower channels + this._initializeMinMaxActivePower(this.cm, config.service_pid(), config.minActivePower(), + config.maxActivePower()); } @Deactivate diff --git a/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Utils.java b/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Utils.java index 5d88d1240c1..14c732f8339 100644 --- a/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Utils.java +++ b/io.openems.edge.meter.janitza.umg96rme/src/io/openems/edge/meter/janitza/umg96rme/Utils.java @@ -29,6 +29,8 @@ public static Stream> initializeChannels(MeterJ }), Arrays.stream(SymmetricMeter.ChannelId.values()).map(channelId -> { switch (channelId) { case ACTIVE_POWER: + case MAX_ACTIVE_POWER: + case MIN_ACTIVE_POWER: case REACTIVE_POWER: case CONSUMPTION_ACTIVE_POWER: case CONSUMPTION_REACTIVE_POWER: diff --git a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Config.java b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Config.java index fd29d13e369..18adb33329f 100644 --- a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Config.java +++ b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Config.java @@ -25,5 +25,11 @@ @AttributeDefinition(name = "Modbus target filter", description = "This is auto-generated by 'Modbus-ID'.") String Modbus_target() default ""; + @AttributeDefinition(name = "Minimum Ever Active Power", description = "This is automatically updated.") + int minActivePower(); + + @AttributeDefinition(name = "Maximum Ever Active Power", description = "This is automatically updated.") + int maxActivePower(); + String webconsole_configurationFactory_nameHint() default "Meter SOCOMEC Diris A14 [{id}]"; } \ No newline at end of file diff --git a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java index 22ba9643cd9..d19bde73b7d 100644 --- a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java +++ b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java @@ -61,6 +61,10 @@ void activate(ComponentContext context, Config config) { super.activate(context, config.service_pid(), config.id(), config.enabled(), config.modbusUnitId(), this.cm, "Modbus", config.modbus_id()); + + // Initialize Min/MaxActivePower channels + this._initializeMinMaxActivePower(this.cm, config.service_pid(), config.minActivePower(), + config.maxActivePower()); } @Deactivate diff --git a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Utils.java b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Utils.java index ee9e740efda..bade7be6d16 100644 --- a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Utils.java +++ b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/Utils.java @@ -29,6 +29,8 @@ public static Stream> initializeChannels(MeterS }), Arrays.stream(SymmetricMeter.ChannelId.values()).map(channelId -> { switch (channelId) { case ACTIVE_POWER: + case MAX_ACTIVE_POWER: + case MIN_ACTIVE_POWER: case REACTIVE_POWER: case CONSUMPTION_ACTIVE_POWER: case CONSUMPTION_REACTIVE_POWER: diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/EssUtils.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/EssUtils.java index e38291375a7..77f7d07230e 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/EssUtils.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/EssUtils.java @@ -24,6 +24,7 @@ public static Stream> initializeChannels(Openem }), Arrays.stream(Ess.ChannelId.values()).map(channelId -> { switch (channelId) { case SOC: + case MAX_ACTIVE_POWER: return new IntegerReadChannel(c, channelId); case GRID_MODE: return new IntegerReadChannel(c, channelId, GridMode.ON_GRID); diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java index e2406b017a6..e267e0d6bc1 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java @@ -68,6 +68,7 @@ public Doc doc() { void activate(ComponentContext context, Config config) throws IOException { super.activate(context, config.service_pid(), config.id(), config.enabled()); this.soc = config.initialSoc(); + this.getMaxActivePower().setNextValue(config.maxApparentPower()); /* * Initialize Power */ diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/MeterUtils.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/MeterUtils.java index 302de5eb48b..c1af7ac866c 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/MeterUtils.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/MeterUtils.java @@ -30,6 +30,8 @@ public static Stream> initializeChannels(Openem }), Arrays.stream(SymmetricMeter.ChannelId.values()).map(channelId -> { switch (channelId) { case ACTIVE_POWER: + case MAX_ACTIVE_POWER: + case MIN_ACTIVE_POWER: case REACTIVE_POWER: case CONSUMPTION_ACTIVE_POWER: case CONSUMPTION_REACTIVE_POWER: diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/Config.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/Config.java index 72181adbcda..4c992d4b015 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/Config.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/Config.java @@ -16,6 +16,12 @@ @AttributeDefinition(name = "Datasource-ID", description = "ID of Simulator Datasource.") String datasource_id(); + @AttributeDefinition(name = "Minimum Ever Active Power", description = "This is automatically updated.") + int minActivePower(); + + @AttributeDefinition(name = "Maximum Ever Active Power", description = "This is automatically updated.") + int maxActivePower(); + @AttributeDefinition(name = "Datasource target filter", description = "This is auto-generated by 'Datasource-ID'.") String datasource_target() default ""; diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java index 34dfaea8ad2..769dec29b14 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/meter/grid/acting/GridMeter.java @@ -77,6 +77,10 @@ void activate(ComponentContext context, Config config) throws IOException { if (OpenemsComponent.updateReferenceFilter(cm, config.service_pid(), "Datasource", config.datasource_id())) { return; } + + // Initialize Min/MaxActivePower channels + this._initializeMinMaxActivePower(this.cm, config.service_pid(), config.minActivePower(), + config.maxActivePower()); } @Deactivate diff --git a/ui/src/app/shared/edge/config.ts b/ui/src/app/shared/edge/config.ts index 7ef1273142f..ee62b55ff7e 100644 --- a/ui/src/app/shared/edge/config.ts +++ b/ui/src/app/shared/edge/config.ts @@ -280,11 +280,11 @@ export class ConfigImpl implements DefaultTypes.Config { // Ess 'EssSoc', 'EssActivePower', 'EssChargeActivePower', 'EssDischargeActivePower', // Grid - 'GridActivePower', 'GridBuyActivePower', 'GridSellActivePower', + 'GridActivePower', 'GridMinActivePower', 'GridMaxActivePower', // Production - 'ProductionActivePower', + 'ProductionActivePower', 'ProductionMaxActivePower', // Consumption - 'ConsumptionActivePower' + 'ConsumptionActivePower', 'ConsumptionMaxActivePower' ] } } else { diff --git a/ui/src/app/shared/edge/currentdata.ts b/ui/src/app/shared/edge/currentdata.ts index 8501cd4886e..58f2f717ab5 100644 --- a/ui/src/app/shared/edge/currentdata.ts +++ b/ui/src/app/shared/edge/currentdata.ts @@ -68,10 +68,8 @@ export class CurrentDataAndSummary { const essActivePower: number = sum['EssActivePower']; result.storage.chargeActivePowerAC = essActivePower < 0 ? essActivePower * -1 : 0; result.storage.chargeActivePower = result.storage.chargeActivePowerAC; // TODO - result.storage.maxChargeActivePower = result.storage.chargeActivePower; // TODO result.storage.dischargeActivePowerAC = essActivePower > 0 ? essActivePower : 0; result.storage.dischargeActivePower = result.storage.dischargeActivePowerAC; // TODO - result.storage.maxDischargeActivePower = result.storage.dischargeActivePowerAC; // TODO } { @@ -81,11 +79,17 @@ export class CurrentDataAndSummary { * < 0 => Sell to grid */ const gridActivePower: number = sum['GridActivePower']; - result.grid.buyActivePower = gridActivePower > 0 ? gridActivePower : 0; - result.grid.maxBuyActivePower = result.grid.buyActivePower; // TODO - result.grid.sellActivePower = gridActivePower < 0 ? gridActivePower * -1 : 0; - result.grid.maxSellActivePower = result.grid.sellActivePower; // TODO - result.grid.powerRatio = 100 // TODO + result.grid.maxBuyActivePower = sum['GridMaxActivePower']; + result.grid.maxSellActivePower = sum['GridMinActivePower'] * -1; + if (gridActivePower > 0) { + result.grid.sellActivePower = 0; + result.grid.buyActivePower = gridActivePower; + result.grid.powerRatio = Math.round(result.grid.buyActivePower / result.grid.maxBuyActivePower * 100); + } else { + result.grid.sellActivePower = gridActivePower * -1; + result.grid.buyActivePower = 0; + result.grid.powerRatio = Math.round(result.grid.buyActivePower / result.grid.maxSellActivePower * -100); + } } { @@ -95,8 +99,8 @@ export class CurrentDataAndSummary { const productionActivePower: number = sum['ProductionActivePower']; result.production.activePowerAC = productionActivePower; result.production.activePower = result.production.activePowerAC; // TODO - result.production.maxActivePower = result.production.activePowerAC; // TODO - result.production.powerRatio = 100; + result.production.maxActivePower = sum['ProductionMaxActivePower']; + result.production.powerRatio = Math.round(result.production.activePower / result.production.maxActivePower * 100); } { @@ -105,7 +109,8 @@ export class CurrentDataAndSummary { */ const consumptionActivePower: number = sum['ConsumptionActivePower']; result.consumption.activePower = consumptionActivePower; - result.consumption.powerRatio = 100; + const consumptionMaxActivePower = sum['ConsumptionMaxActivePower']; + result.consumption.powerRatio = Math.round(result.consumption.activePower / consumptionMaxActivePower * 100); } return result; } diff --git a/ui/src/app/shared/service/defaulttypes.ts b/ui/src/app/shared/service/defaulttypes.ts index 15e5dc124a3..28ddb034a1d 100644 --- a/ui/src/app/shared/service/defaulttypes.ts +++ b/ui/src/app/shared/service/defaulttypes.ts @@ -73,14 +73,14 @@ export module DefaultTypes { chargeActivePowerACL2: number, chargeActivePowerACL3: number, chargeActivePowerDC: number, - maxChargeActivePower: number, + maxChargeActivePower?: number, dischargeActivePower: number, dischargeActivePowerAC: number, dischargeActivePowerACL1: number, dischargeActivePowerACL2: number, dischargeActivePowerACL3: number, dischargeActivePowerDC: number, - maxDischargeActivePower: number + maxDischargeActivePower?: number }, production: { powerRatio: number, isAsymmetric: boolean, From 78ad69098019d1a7d02bc6368a58e6c70435a6b1 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 31 May 2018 21:37:40 +0200 Subject: [PATCH 22/50] Selectively show settings for new Edge --- ui/src/app/app.component.html | 3 +-- .../app/edge/config/overview/overview.component.html | 11 ++++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ui/src/app/app.component.html b/ui/src/app/app.component.html index e7c859e1060..e5bfd3091c6 100644 --- a/ui/src/app/app.component.html +++ b/ui/src/app/app.component.html @@ -33,8 +33,7 @@ ({{ currentEdge.name }})
    2. -
      - +
      diff --git a/ui/src/app/edge/config/overview/overview.component.html b/ui/src/app/edge/config/overview/overview.component.html index a5a848316c3..d9fb26c1bcb 100644 --- a/ui/src/app/edge/config/overview/overview.component.html +++ b/ui/src/app/edge/config/overview/overview.component.html @@ -1,7 +1,7 @@
      -
      +
      device_hub @@ -20,7 +20,7 @@
      -
      +
      schedule @@ -39,7 +39,7 @@
      -
      +
      apps @@ -58,7 +58,7 @@
      -
      +
      apps @@ -116,7 +116,8 @@
      -
      +
      more_horiz From 40e13dcf140e0e09db43477ebb62b0c4a5b2f23b Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 31 May 2018 21:41:00 +0200 Subject: [PATCH 23/50] Fix cannot be cast to comparable bug --- io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java index 06373e5054e..bd3f8b740b1 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java @@ -1,8 +1,8 @@ package io.openems.edge.core.sum; +import java.util.List; import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentSkipListSet; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Consumer; import org.osgi.service.component.ComponentContext; @@ -172,7 +172,7 @@ public Doc doc() { /* * Ess */ - private final Set esss = new ConcurrentSkipListSet<>(); + private final List esss = new CopyOnWriteArrayList<>(); private final AverageInteger essSoc; private final SumInteger essActivePower; From 56ba0c4eca4113716e1cdac6cec71160d6a04cf9 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Fri, 1 Jun 2018 11:44:30 +0200 Subject: [PATCH 24/50] Improve metadata handling in backend --- .../io/openems/backend/metadata/api/Edge.java | 41 ++++++++++++------- .../openems/backend/metadata/dummy/Dummy.java | 2 +- .../metadata/file/provider/MyEdge.java | 2 +- .../openems/backend/metadata/odoo/Odoo.java | 24 ++++++++--- .../backend/metadata/odoo/OdooUtils.java | 25 +++++++++++ 5 files changed, 73 insertions(+), 21 deletions(-) diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java index 78b69dead67..f9dee99fd94 100644 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java +++ b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java @@ -6,9 +6,15 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Consumer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import com.google.gson.JsonObject; public class Edge { + + private final Logger log = LoggerFactory.getLogger(Edge.class); + public enum State { ACTIVE, INACTIVE, TEST, INSTALLED_ON_STOCK, OFFLINE; } @@ -27,7 +33,7 @@ public enum State { private boolean isOnline; public Edge(int id, String name, String comment, State state, String version, String producttype, - JsonObject jConfig) { + JsonObject jConfig, Integer soc, String ipv4) { this.id = id; this.name = name; this.comment = comment; @@ -35,6 +41,8 @@ public Edge(int id, String name, String comment, State state, String version, St this.version = version; this.producttype = producttype; this.jConfig = jConfig; + this.soc = soc; + this.ipv4 = ipv4; } public int getId() { @@ -70,8 +78,10 @@ public JsonObject toJsonObject() { @Override public String toString() { - return "Edge [id=" + id + ", name=" + name + ", comment=" + comment + ", producttype=" + producttype - + ", isOnline=" + isOnline + "]"; + return "Edge [id=" + id + ", name=" + name + ", comment=" + comment + ", state=" + state + ", version=" + + version + ", producttype=" + producttype + ", jConfig=" + + (jConfig.toString().isEmpty() ? "NOT_SET" : "set") + ", lastMessage=" + lastMessage + ", lastUpdate=" + + lastUpdate + ", soc=" + soc + ", ipv4=" + ipv4 + ", isOnline=" + isOnline + "]"; } /* @@ -90,7 +100,7 @@ public boolean isOnline() { /** * Marks this Edge as being online. This is called by an event listener. */ - public void setOnline(boolean isOnline) { + public synchronized void setOnline(boolean isOnline) { this.isOnline = isOnline; this.onSetOnline.forEach(listener -> listener.accept(isOnline)); } @@ -104,8 +114,8 @@ public void onSetConfig(Consumer listener) { this.onSetConfig.add(listener); } - public void setConfig(JsonObject jConfig) { - if (!jConfig.equals(this.jConfig)) { // on change + public synchronized void setConfig(JsonObject jConfig) { + if (this.jConfig == null || !jConfig.equals(this.jConfig)) { // on change this.jConfig = jConfig; this.onSetConfig.forEach(listener -> listener.accept(jConfig)); } @@ -131,7 +141,7 @@ public void onSetLastMessage(Runnable listener) { this.onSetLastMessage.add(listener); } - public void setLastMessage() { + public synchronized void setLastMessage() { ZonedDateTime now = ZonedDateTime.now(ZoneOffset.UTC); this.lastMessage = now; this.onSetLastMessage.forEach(listener -> listener.run()); @@ -150,7 +160,7 @@ public void onSetLastUpdate(Runnable listener) { this.onSetLastUpdate.add(listener); } - public void setLastUpdate() { + public synchronized void setLastUpdate() { ZonedDateTime now = ZonedDateTime.now(ZoneOffset.UTC); this.lastUpdate = now; this.onSetLastUpdate.forEach(listener -> listener.run()); @@ -169,8 +179,9 @@ public void onSetVersion(Consumer listener) { this.onSetVersion.add(listener); } - public void setVersion(String version) { - if (!version.equals(this.version)) { // on change + public synchronized void setVersion(String version) { + if (this.version == null || !version.equals(this.version)) { // on change + log.info("Edge [" + this.getId() + "]: Update version to [" + version + "]. It was [" + this.version + "]"); this.version = version; this.onSetVersion.forEach(listener -> listener.accept(version)); } @@ -185,8 +196,9 @@ public void onSetSoc(Consumer listener) { this.onSetSoc.add(listener); } - public void setSoc(int soc) { - if (Integer.valueOf(soc) != this.soc) { // on change + public synchronized void setSoc(int soc) { + if (this.soc == null || this.soc.intValue() != this.soc) { // on change + log.info("Edge [" + this.getId() + "]: Update SoC to [" + soc + "]. It was [" + this.soc + "]"); this.soc = soc; this.onSetSoc.forEach(listener -> listener.accept(soc)); } @@ -201,8 +213,9 @@ public void onSetIpv4(Consumer listener) { this.onSetIpv4.add(listener); } - public void setIpv4(String ipv4) { - if (!ipv4.equals(this.ipv4)) { // on change + public synchronized void setIpv4(String ipv4) { + if (this.ipv4 == null || !ipv4.equals(this.ipv4)) { // on change + log.info("Edge [" + this.getId() + "]: Update IPv4 to [" + ipv4 + "]. It was [" + this.ipv4 + "]"); this.ipv4 = ipv4; this.onSetIpv4.forEach(listener -> listener.accept(ipv4)); } diff --git a/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java index f9574ce1505..3fd3a4655d3 100644 --- a/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java +++ b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java @@ -81,7 +81,7 @@ public Optional getEdgeOpt(int edgeId) { if (edge == null) { int id = this.nextEdgeId++; edge = new Edge(id, "EDGE:" + id, "comment [" + id + "]", State.ACTIVE, OpenemsConstants.OPENEMS_VERSION, - "producttype [" + id + "]", new JsonObject()); + "producttype [" + id + "]", new JsonObject(), null, null); edge.onSetConfig(jConfig -> { log.debug("Edge [" + edgeId + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); }); diff --git a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java index 14615feb4f3..11065ca3605 100644 --- a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java @@ -12,7 +12,7 @@ public class MyEdge extends Edge { public MyEdge(int id, String name, String comment, State state, String producttype, String version, Role role, String apikey, JsonObject jConfig) { - super(id, name, comment, state, version, producttype, jConfig); + super(id, name, comment, state, version, producttype, jConfig, null, null); this.role = role; this.apikey = apikey; } diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java index b78a3c1227f..0306e89a20d 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java @@ -11,6 +11,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; @@ -158,14 +160,18 @@ public User authenticate(String sessionId) throws OpenemsException { } } + private final ExecutorService executor = Executors.newCachedThreadPool(); + @Override public int[] getEdgeIdsForApikey(String apikey) { try { int[] edgeIds = OdooUtils.search(this.url, this.database, this.uid, this.password, "fems.device", new Domain("apikey", "=", apikey)); - // refresh Edge cache + // refresh Edge cache in background for (int edgeId : edgeIds) { - this.getEdgeForceRefresh(edgeId); + this.executor.submit(() -> { + this.getEdgeForceRefresh(edgeId); + }); } return edgeIds; } catch (OpenemsException e) { @@ -200,11 +206,13 @@ public Optional getUser(int userId) { * @param edgeId * @return */ + // TODO reuse existing edgeId; otherwise duplicates get generated often private Optional getEdgeForceRefresh(int edgeId) { try { Map edgeMap = OdooUtils.readOne(this.url, this.database, this.uid, this.password, "fems.device", edgeId, Field.FemsDevice.NAME, Field.FemsDevice.COMMENT, - Field.FemsDevice.OPENEMS_VERSION, Field.FemsDevice.PRODUCT_TYPE, Field.FemsDevice.OPENEMS_CONFIG); + Field.FemsDevice.OPENEMS_VERSION, Field.FemsDevice.PRODUCT_TYPE, Field.FemsDevice.OPENEMS_CONFIG, + Field.FemsDevice.SOC, Field.FemsDevice.IPV4, Field.FemsDevice.STATE); /* * parse fields from Odoo */ @@ -219,12 +227,15 @@ private Optional getEdgeForceRefresh(int edgeId) { String comment = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.COMMENT.n())); String openemsVersion = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_VERSION.n())); String productType = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.PRODUCT_TYPE.n())); + String initialIpv4 = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.IPV4.n())); + Integer initialSoc = OdooUtils.getAsInteger(edgeMap.get(Field.FemsDevice.SOC.n())); // parse State String stateString = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.STATE.n())); State state; try { state = State.valueOf(stateString.toUpperCase()); } catch (IllegalArgumentException e) { + log.warn("Edge [" + name + "]. Unable to get State from [" + stateString + "]: " + e.getMessage()); state = State.INACTIVE; // Default } /* @@ -237,12 +248,15 @@ private Optional getEdgeForceRefresh(int edgeId) { state, // openemsVersion, // productType, // - jOpenemsConfig); + jOpenemsConfig, // + initialSoc, // + initialIpv4); edge.onSetOnline(isOnline -> { if (isOnline && edge.getState().equals(State.INACTIVE)) { // Update Edge state to active - this.write(edge, new FieldValue(Field.FemsDevice.STATE, "active")); + log.info("Mark Edge [" + edge.getId() + "] as ACTIVE. It was [" + edge.getState().name() + "]"); edge.setState(State.ACTIVE); + this.write(edge, new FieldValue(Field.FemsDevice.STATE, "active")); } }); edge.onSetConfig(jConfig -> { diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java index f623d5b3588..a1045603793 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java @@ -265,6 +265,17 @@ protected static Map[] searchRead(String url, String database, i */ protected static void write(String url, String database, int uid, String password, String model, Integer[] ids, FieldValue... fieldValues) throws OpenemsException { + // // for debugging: + // StringBuilder b = new StringBuilder("Odoo Write: " + model + "; "); + // for (int id : ids) { + // b.append(id + ","); + // } + // b.append(";"); + // for (FieldValue fieldValue : fieldValues) { + // b.append(fieldValue.getField().n() + ","); + // } + // System.out.println(b.toString()); + // Create request params String action = "write"; // Add fieldValues @@ -299,4 +310,18 @@ protected static String getAsString(Object object) { return ""; } } + + /** + * Return the Object type-safe as a Integer; or otherwise null + * + * @param object + * @return + */ + protected static Integer getAsInteger(Object object) { + if (object != null && object instanceof Integer) { + return (Integer) object; + } else { + return null; + } + } } From 1126c6d68d7d17014085e98dd6a8b82e180da7d2 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Fri, 1 Jun 2018 11:45:20 +0200 Subject: [PATCH 25/50] Start Apache Felix Web Console for Backend on port 8079 by default to avoid using the same port as Edge --- io.openems.backend.application/BackendApp.bndrun | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/io.openems.backend.application/BackendApp.bndrun b/io.openems.backend.application/BackendApp.bndrun index 77b9945f678..d9ba6b411e4 100644 --- a/io.openems.backend.application/BackendApp.bndrun +++ b/io.openems.backend.application/BackendApp.bndrun @@ -19,7 +19,8 @@ JPM-Command: openems-backend bnd.identity;id='osgi.enroute.webconsole.xray.provider' -runproperties: \ felix.cm.dir=c:/openems-backend-config,\ - org.ops4j.pax.logging.service.frameworkEventsLogLevel="DISABLED" + org.ops4j.pax.logging.service.frameworkEventsLogLevel="DISABLED",\ + org.osgi.service.http.port=8079 -runfw: org.eclipse.osgi;version='[3.10.100.v20150529-1857,3.10.100.v20150529-1857]' -runee: JavaSE-1.8 From bf641ab16cc53fb572ced3fa0876b90d8539cecc Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sat, 2 Jun 2018 09:52:35 +0200 Subject: [PATCH 26/50] Disable websocket connection lost detection --- .../src/io/openems/edge/controller/api/backend/BackendApi.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/io.openems.edge.controller.api.backend/src/io/openems/edge/controller/api/backend/BackendApi.java b/io.openems.edge.controller.api.backend/src/io/openems/edge/controller/api/backend/BackendApi.java index 0cff5a075c7..c2ead3a3485 100644 --- a/io.openems.edge.controller.api.backend/src/io/openems/edge/controller/api/backend/BackendApi.java +++ b/io.openems.edge.controller.api.backend/src/io/openems/edge/controller/api/backend/BackendApi.java @@ -115,6 +115,8 @@ void activate(ComponentContext context, Config config) { log.error("Disconnected from OpenEMS Backend [" + config.uri() + (proxy.isPresent() ? " via Proxy" : "") + "]"); }); + // TODO: re-enable connection lost detection + this.websocket.setConnectionLostTimeout(0); this.websocket.connect(); this.backendWorker.activate(config.id()); } From 14d25fbf76741924d9b9383c8c86c5979c9646aa Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sat, 2 Jun 2018 16:35:51 +0200 Subject: [PATCH 27/50] Improve Backend performance by caching Edge metadata --- .../edgewebsocket/impl/Attachment.java | 24 ++ .../impl/EdgeWebsocketServer.java | 34 ++- .../io/openems/backend/metadata/api/Edge.java | 8 +- .../openems/backend/metadata/odoo/Field.java | 1 + .../openems/backend/metadata/odoo/Odoo.java | 256 ++++++++++-------- .../backend/metadata/odoo/OdooUtils.java | 75 ++++- 6 files changed, 266 insertions(+), 132 deletions(-) create mode 100644 io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java new file mode 100644 index 00000000000..55ddccfecdc --- /dev/null +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java @@ -0,0 +1,24 @@ +package io.openems.backend.edgewebsocket.impl; + +public class Attachment { + + private final String apikey; + private int[] edgeIds = {}; + + public Attachment(String apikey) { + this.apikey = apikey; + } + + public synchronized String getApikey() { + return apikey; + } + + public synchronized void setEdgeIds(int[] edgeIds) { + this.edgeIds = edgeIds; + } + + public synchronized int[] getEdgeIds() { + return edgeIds; + } + +} diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java index c2706b51494..0e0f5cd7de8 100644 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java @@ -51,9 +51,21 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { } apikey = apikeyOpt.get(); + // add attachment to websocket + Attachment attachment = new Attachment(apikey); + websocket.setAttachment(attachment); + // get edgeId for apikey int[] edgeIds = this.parent.metadataService.getEdgeIdsForApikey(apikey); + // verify apikey (is also empty, when Odoo is not initialized) + if (edgeIds.length == 0) { + throw new OpenemsException("Unable to authenticate this Apikey."); + } + + // add edgeIds to websocket attachment + attachment.setEdgeIds(edgeIds); + // if existing: close existing websocket for this apikey synchronized (this.websocketsMap) { for (int edgeId : edgeIds) { @@ -67,9 +79,6 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { } } - // store edgeIds together with WebSocket - websocket.setAttachment(edgeIds); - // send successful reply to openems JsonObject jReply = DefaultMessages.openemsConnectionSuccessfulReply(); WebSocketUtils.send(websocket, jReply); @@ -98,6 +107,7 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { } } } catch (OpenemsException e) { + log.warn(e.getMessage()); // send connection failed to OpenEMS JsonObject jReply = DefaultMessages.openemsConnectionFailedReply(e.getMessage()); WebSocketUtils.sendOrLogError(websocket, jReply); @@ -113,8 +123,14 @@ protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { */ @Override protected void _onMessage(WebSocket websocket, JsonObject jMessage) { - // get edgeIds from websocket - int[] edgeIds = websocket.getAttachment(); + Attachment attachment = websocket.getAttachment(); + int[] edgeIds = attachment.getEdgeIds(); + if (edgeIds.length == 0) { + log.info("Closed by onMessage"); + // close websocket + websocket.closeConnection(CloseFrame.REFUSE, + "Connection to backend failed. Apikey [" + attachment.getApikey() + "] is not authenticated"); + } // set last update timestamps in MetadataService for (int edgeId : edgeIds) { @@ -182,10 +198,11 @@ protected void _onMessage(WebSocket websocket, JsonObject jMessage) { @Override protected void _onError(WebSocket websocket, Exception ex) { - if (websocket == null) { + Attachment attachment = websocket.getAttachment(); + int[] edgeIds = attachment.getEdgeIds(); + if (websocket == null || edgeIds.length == 0) { log.warn("Edge [UNKNOWN] websocket error: " + ex.getMessage()); } else { - int[] edgeIds = websocket.getAttachment(); for (String edgeName : getEdgeNames(edgeIds)) { log.warn("Edge [" + edgeName + "] websocket error: " + ex.getMessage()); } @@ -195,7 +212,8 @@ protected void _onError(WebSocket websocket, Exception ex) { @Override protected void _onClose(WebSocket websocket) { // get edgeIds from websocket - int[] edgeIds = websocket.getAttachment(); + Attachment attachment = websocket.getAttachment(); + int[] edgeIds = attachment.getEdgeIds(); // remove websocket from local map for (int edgeId : edgeIds) { diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java index f9dee99fd94..ff2421ba613 100644 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java +++ b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java @@ -20,6 +20,7 @@ public enum State { } private final int id; + private final String apikey; private String name; private String comment; private State state; @@ -32,9 +33,10 @@ public enum State { private String ipv4 = null; private boolean isOnline; - public Edge(int id, String name, String comment, State state, String version, String producttype, + public Edge(int id, String apikey, String name, String comment, State state, String version, String producttype, JsonObject jConfig, Integer soc, String ipv4) { this.id = id; + this.apikey = apikey; this.name = name; this.comment = comment; this.state = state; @@ -49,6 +51,10 @@ public int getId() { return id; } + public String getApikey() { + return apikey; + } + public String getName() { return name; } diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java index bec752426a6..ebbe8ff4e19 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Field.java @@ -5,6 +5,7 @@ public interface Field { public enum FemsDevice implements Field { ID("id"), // + APIKEY("apikey"), // NAME("name"), // COMMENT("comment"), // STATE("state"), // diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java index 0306e89a20d..b0403d596dc 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java @@ -13,6 +13,8 @@ import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.atomic.AtomicBoolean; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; @@ -45,6 +47,10 @@ public class Odoo implements MetadataService { private final Logger log = LoggerFactory.getLogger(Odoo.class); + private final int READ_BATCH_SIZE = 100; + private final AtomicBoolean isInitialized = new AtomicBoolean(false); + private final ExecutorService readEdgeExecutor = Executors.newSingleThreadExecutor(); + private Future readEdgeFuture = null; protected String url; protected String database; @@ -67,12 +73,143 @@ void activate(Config config) { this.uid = config.uid(); this.password = config.password(); this.writeWorker = new OdooWriteWorker(this); + this.readEdgeFuture = this.readEdgeExecutor.submit((Runnable) () -> { + /* + * Initialize Edge map + */ + int[] edgeIds; + try { + edgeIds = OdooUtils.search(this.url, this.database, this.uid, this.password, "fems.device"); + } catch (OpenemsException e) { + log.error("Unable to search Edges from Odoo: " + e.getMessage()); + e.printStackTrace(); + return; + } + for (int firstIndex = 0; firstIndex < edgeIds.length; firstIndex += READ_BATCH_SIZE) { + /* + * read batches of 100 Edges + */ + int lastIndex = firstIndex + READ_BATCH_SIZE - 1 > edgeIds.length ? edgeIds.length + : firstIndex + READ_BATCH_SIZE - 1; + Integer[] batchEdgeIds = new Integer[lastIndex - firstIndex + 1]; + for (int i = 0; i <= lastIndex - firstIndex; i++) { + batchEdgeIds[i] = edgeIds[firstIndex + i]; + } + Map[] edgeMaps; + try { + edgeMaps = OdooUtils.readMany(this.url, this.database, this.uid, this.password, "fems.device", // + batchEdgeIds, // + new Field[] { Field.FemsDevice.ID, Field.FemsDevice.APIKEY, Field.FemsDevice.NAME, + Field.FemsDevice.COMMENT, Field.FemsDevice.OPENEMS_VERSION, + Field.FemsDevice.PRODUCT_TYPE, Field.FemsDevice.OPENEMS_CONFIG, + Field.FemsDevice.SOC, Field.FemsDevice.IPV4, Field.FemsDevice.STATE }); + } catch (OpenemsException e) { + log.error("Unable to read Edges from Odoo: " + e.getMessage()); + e.printStackTrace(); + continue; + } + /* + * parse fields from Odoo + */ + for (Map edgeMap : edgeMaps) { + Integer edgeId = OdooUtils.getAsInteger(edgeMap.get(Field.FemsDevice.ID.n())); + try { + String openemsConfig = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_CONFIG.n())); + JsonObject jOpenemsConfig; + if (openemsConfig.isEmpty()) { + jOpenemsConfig = new JsonObject(); + } else { + jOpenemsConfig = JsonUtils.getAsJsonObject(JsonUtils.parse(openemsConfig)); + } + String apikey = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.APIKEY.n())); + String name = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.NAME.n())); + String comment = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.COMMENT.n())); + String openemsVersion = OdooUtils + .getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_VERSION.n())); + String productType = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.PRODUCT_TYPE.n())); + String initialIpv4 = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.IPV4.n())); + Integer initialSoc = OdooUtils.getAsInteger(edgeMap.get(Field.FemsDevice.SOC.n())); + // parse State + String stateString = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.STATE.n())); + State state; + try { + state = State.valueOf(stateString.toUpperCase()); + } catch (IllegalArgumentException e) { + log.warn("Edge [" + name + "]. Unable to get State from [" + stateString + "]: " + + e.getMessage()); + state = State.INACTIVE; // Default + } + /* + * Create instance of Edge and register listeners + */ + Edge edge = new Edge( // + edgeId, // + apikey, // + name, // + comment, // + state, // + openemsVersion, // + productType, // + jOpenemsConfig, // + initialSoc, // + initialIpv4); + edge.onSetOnline(isOnline -> { + if (isOnline && edge.getState().equals(State.INACTIVE)) { + // Update Edge state to active + log.info("Mark Edge [" + edge.getId() + "] as ACTIVE. It was [" + edge.getState().name() + + "]"); + edge.setState(State.ACTIVE); + this.write(edge, new FieldValue(Field.FemsDevice.STATE, "active")); + } + }); + edge.onSetConfig(jConfig -> { + // Update Edge config in Odoo + String conf = new GsonBuilder().setPrettyPrinting().create().toJson(jConfig); + this.write(edge, new FieldValue(Field.FemsDevice.OPENEMS_CONFIG, conf)); + }); + edge.onSetLastMessage(() -> { + // Set LastMessage timestamp in Odoo + this.writeWorker.onLastMessage(edgeId); + }); + edge.onSetLastUpdate(() -> { + // Set LastUpdate timestamp in Odoo + this.writeWorker.onLastUpdate(edgeId); + }); + edge.onSetVersion(version -> { + // Set Version in Odoo + this.write(edge, new FieldValue(Field.FemsDevice.OPENEMS_VERSION, version)); + }); + edge.onSetSoc(soc -> { + // Set SoC in Odoo + this.write(edge, new FieldValue(Field.FemsDevice.SOC, String.valueOf(soc))); + }); + edge.onSetIpv4(ipv4 -> { + // Set IPv4 in Odoo + this.write(edge, new FieldValue(Field.FemsDevice.IPV4, String.valueOf(ipv4))); + }); + edge.setOnline(this.edgeWebsocketService.isOnline(edge.getId())); + + // store in cache + synchronized (this.edges) { + this.edges.put(edgeId, edge); + } + } catch (OpenemsException e) { + log.error("Unable to read Edge [ID:" + edgeId + "]: " + e.getMessage()); + } + } + log.info("Odoo: add batch from [" + firstIndex + "] to [" + lastIndex + "] to cache"); + } + this.isInitialized.set(true); + }); } @Deactivate void deactivate() { log.info("Deactivate Metadata.Odoo"); this.writeWorker.dispose(); + this.readEdgeFuture.cancel(true); + this.readEdgeExecutor.shutdown(); + this.isInitialized.set(false); } /** @@ -160,24 +297,10 @@ public User authenticate(String sessionId) throws OpenemsException { } } - private final ExecutorService executor = Executors.newCachedThreadPool(); - @Override public int[] getEdgeIdsForApikey(String apikey) { - try { - int[] edgeIds = OdooUtils.search(this.url, this.database, this.uid, this.password, "fems.device", - new Domain("apikey", "=", apikey)); - // refresh Edge cache in background - for (int edgeId : edgeIds) { - this.executor.submit(() -> { - this.getEdgeForceRefresh(edgeId); - }); - } - return edgeIds; - } catch (OpenemsException e) { - log.error("Unable to get EdgeIds for Apikey: " + e.getMessage()); - return new int[] {}; - } + return this.edges.values().stream().filter(edge -> apikey.equals(edge.getApikey())) + .mapToInt(edge -> edge.getId()).toArray(); } @Override @@ -189,7 +312,10 @@ public Optional getEdgeOpt(int edgeId) { } } // if it was not in cache: - return this.getEdgeForceRefresh(edgeId); + if (this.isInitialized.get()) { + log.error("Edge [" + edgeId + "] is not in Cache!"); + } + return Optional.empty(); } @Override @@ -200,102 +326,6 @@ public Optional getUser(int userId) { } } - /** - * Reads the Edge object from Odoo and stores it in the cache - * - * @param edgeId - * @return - */ - // TODO reuse existing edgeId; otherwise duplicates get generated often - private Optional getEdgeForceRefresh(int edgeId) { - try { - Map edgeMap = OdooUtils.readOne(this.url, this.database, this.uid, this.password, - "fems.device", edgeId, Field.FemsDevice.NAME, Field.FemsDevice.COMMENT, - Field.FemsDevice.OPENEMS_VERSION, Field.FemsDevice.PRODUCT_TYPE, Field.FemsDevice.OPENEMS_CONFIG, - Field.FemsDevice.SOC, Field.FemsDevice.IPV4, Field.FemsDevice.STATE); - /* - * parse fields from Odoo - */ - String openemsConfig = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_CONFIG.n())); - JsonObject jOpenemsConfig; - if (openemsConfig.isEmpty()) { - jOpenemsConfig = new JsonObject(); - } else { - jOpenemsConfig = JsonUtils.getAsJsonObject(JsonUtils.parse(openemsConfig)); - } - String name = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.NAME.n())); - String comment = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.COMMENT.n())); - String openemsVersion = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.OPENEMS_VERSION.n())); - String productType = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.PRODUCT_TYPE.n())); - String initialIpv4 = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.IPV4.n())); - Integer initialSoc = OdooUtils.getAsInteger(edgeMap.get(Field.FemsDevice.SOC.n())); - // parse State - String stateString = OdooUtils.getAsString(edgeMap.get(Field.FemsDevice.STATE.n())); - State state; - try { - state = State.valueOf(stateString.toUpperCase()); - } catch (IllegalArgumentException e) { - log.warn("Edge [" + name + "]. Unable to get State from [" + stateString + "]: " + e.getMessage()); - state = State.INACTIVE; // Default - } - /* - * Create instance of Edge and register listeners - */ - Edge edge = new Edge( // - (Integer) edgeMap.get(Field.FemsDevice.ID.n()), // - name, // - comment, // - state, // - openemsVersion, // - productType, // - jOpenemsConfig, // - initialSoc, // - initialIpv4); - edge.onSetOnline(isOnline -> { - if (isOnline && edge.getState().equals(State.INACTIVE)) { - // Update Edge state to active - log.info("Mark Edge [" + edge.getId() + "] as ACTIVE. It was [" + edge.getState().name() + "]"); - edge.setState(State.ACTIVE); - this.write(edge, new FieldValue(Field.FemsDevice.STATE, "active")); - } - }); - edge.onSetConfig(jConfig -> { - // Update Edge config in Odoo - String config = new GsonBuilder().setPrettyPrinting().create().toJson(jConfig); - this.write(edge, new FieldValue(Field.FemsDevice.OPENEMS_CONFIG, config)); - }); - edge.onSetLastMessage(() -> { - // Set LastMessage timestamp in Odoo - this.writeWorker.onLastMessage(edgeId); - }); - edge.onSetLastUpdate(() -> { - // Set LastUpdate timestamp in Odoo - this.writeWorker.onLastUpdate(edgeId); - }); - edge.onSetVersion(version -> { - // Set Version in Odoo - this.write(edge, new FieldValue(Field.FemsDevice.OPENEMS_VERSION, version)); - }); - edge.onSetSoc(soc -> { - // Set SoC in Odoo - this.write(edge, new FieldValue(Field.FemsDevice.SOC, String.valueOf(soc))); - }); - edge.onSetIpv4(ipv4 -> { - // Set IPv4 in Odoo - this.write(edge, new FieldValue(Field.FemsDevice.IPV4, String.valueOf(ipv4))); - }); - edge.setOnline(this.edgeWebsocketService.isOnline(edge.getId())); - // store in cache - synchronized (this.edges) { - this.edges.put(edge.getId(), edge); - } - return Optional.ofNullable(edge); - } catch (OpenemsException e) { - log.error("Unable to read Edge [ID:" + edgeId + "]: " + e.getMessage()); - return Optional.empty(); - } - } - private void write(Edge edge, FieldValue fieldValue) { try { OdooUtils.write(this.url, this.database, this.uid, this.password, "fems.device", diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java index a1045603793..5c3bbc4f33b 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java @@ -131,6 +131,60 @@ protected static Map readOne(String url, String database, int ui } } + /** + * Executes a Search and read on Odoo + * + * @see https://www.odoo.com/documentation/10.0/api_integration.html + * + * @param url + * URL of Odoo instance + * @param database + * Database name + * @param uid + * UID of user (e.g. '1' for admin) + * @param password + * Password of user + * @param model + * Odoo model to query (e.g. 'res.partner') + * @param domains + * Odoo domain filters + * @return Odoo object ids + * @throws OpenemsException + */ + // TODO this method is not yet functional + protected static Map[] searchAndRead(String url, String database, int uid, String password, + String model, Domain[] domains, Field[] fields) throws OpenemsException { + // Add domain filter + Object[] domain = new Object[domains.length]; + for (int i = 0; i < domains.length; i++) { + Domain filter = domains[i]; + domain[i] = new Object[] { filter.field, filter.operator, filter.value }; + } + Object[] paramsDomain = new Object[] { domain }; + // Add fields + String[] fieldStrings = new String[fields.length]; + for (int i = 0; i < fields.length; i++) { + fieldStrings[i] = fields[i].n(); + } + Map paramsFields = new HashMap<>(); + paramsFields.put("fields", fieldStrings); + // Create request params + String action = "search_read"; + Object[] params = new Object[] { database, uid, password, model, action, paramsDomain, paramsFields }; + try { + // Execute XML request + Object[] resultObjs = (Object[]) executeKw(url, params); + // Parse results + // int[] results = new int[resultObjs.length]; + // for (int i = 0; i < resultObjs.length; i++) { + // results[i] = (int) resultObjs[i]; + // } + return null; + } catch (Throwable e) { + throw new OpenemsException("Unable to search and read from Odoo: " + e.getMessage()); + } + } + /** * Reads multiple records from Odoo * @@ -152,23 +206,24 @@ protected static Map readOne(String url, String database, int ui * @throws OpenemsException */ protected static Map[] readMany(String url, String database, int uid, String password, String model, - int[] ids, Field... fields) throws OpenemsException { + Integer[] ids, Field... fields) throws OpenemsException { // Create request params String action = "read"; // Add ids - Object[] paramsIds = new Object[ids.length]; - for (int i = 0; i < ids.length; i++) { - paramsIds[i] = ids[i]; - } + // Object[] paramsIds = Arrays.stream(ids).mapToObj(id -> (Integer) + // id).toArray(); + // Object[] paramsIds = new Object[2]; + // paramsIds[0] = ids[0]; + // paramsIds[1] = ids[1]; // Add fields String[] fieldStrings = new String[fields.length]; for (int i = 0; i < fields.length; i++) { - fieldStrings[i] = fields[i].toString(); + fieldStrings[i] = fields[i].n(); } - Map paramsFields = new HashMap<>(); - paramsFields.put("fields", fieldStrings); + // Map paramsFields = new HashMap<>(); + // paramsFields.put("fields", fieldStrings); // Create request params - Object[] params = new Object[] { database, uid, password, model, action, paramsIds, paramsFields }; + Object[] params = new Object[] { database, uid, password, model, action, new Object[] { ids, fieldStrings } }; try { // Execute XML request Object[] resultObjs = (Object[]) executeKw(url, params); @@ -178,7 +233,7 @@ protected static Map[] readMany(String url, String database, int for (int i = 0; i < resultObjs.length; i++) { @SuppressWarnings("unchecked") Map result = (Map) resultObjs[i]; - results[0] = result; + results[i] = result; } return results; } catch (Throwable e) { From 8e987205f29f9f8f4a20c6a77286baf6ea8086c9 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sat, 2 Jun 2018 16:37:29 +0200 Subject: [PATCH 28/50] Fix MaxActivePower handling and SoC-Chart in UI --- .../src/io/openems/edge/core/sum/Sum.java | 17 +- .../core/sum/internal/ChannelsFunction.java | 20 ++- .../meter/symmetric/api/SymmetricMeter.java | 1 - .../dirisa14/MeterSocomecDirisA14.java | 2 +- .../chart/socchart/socchart.component.ts | 35 ++-- ui/src/app/shared/edge/config.ts | 163 ++++++++++++------ 6 files changed, 169 insertions(+), 69 deletions(-) diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java index bd3f8b740b1..593f9d6b5df 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java @@ -206,13 +206,14 @@ protected void removeEss(Ess ess) { } private final Consumer> calculateMaxConsumption = ignoreValue -> { - int maxPower = 0; - for (Ess ess : this.esss) { - maxPower += ess.getMaxActivePower().value().orElse(0); + int ess = 0; + for (Ess e : this.esss) { + ess += e.getMaxActivePower().getNextValue().orElse(0); } - maxPower += this.getGridMaxActivePower().value().orElse(0); - maxPower += this.getProductionMaxActivePower().value().orElse(0); - this.getConsumptionMaxActivePower().setNextValue(maxPower); + int grid = this.getGridMaxActivePower().getNextValue().orElse(0); + int production = this.getProductionMaxActivePower().getNextValue().orElse(0); + int consumption = ess + grid + production; + this.getConsumptionMaxActivePower().setNextValue(consumption); }; @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) @@ -270,7 +271,7 @@ public Sum() { this.gridActivePower = new SumInteger(this, ChannelId.GRID_ACTIVE_POWER, SymmetricMeter.ChannelId.ACTIVE_POWER); this.gridMinActivePower = new SumInteger(this, ChannelId.GRID_MIN_ACTIVE_POWER, SymmetricMeter.ChannelId.MIN_ACTIVE_POWER); - this.gridMaxActivePower = new SumInteger(this, ChannelId.GRID_MAX_ACTIVE_POWER, + this.gridMaxActivePower = (SumInteger) new SumInteger(this, ChannelId.GRID_MAX_ACTIVE_POWER, SymmetricMeter.ChannelId.MAX_ACTIVE_POWER); /* * Production @@ -308,7 +309,7 @@ protected void deactivate() { @Override public String debugLog() { - return "ESS SoC:" + this.getEssSoc().value().asString() // + return "Ess SoC:" + this.getEssSoc().value().asString() // + "|L:" + this.getEssActivePower().value().asString() // + " Grid L:" + this.getGridActivePower().value().asString() // + " Production L:" + this.getProductionActivePower().value().asString() // diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java index 99be1188a35..013d00c56dc 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java @@ -5,6 +5,9 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.Consumer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import io.openems.edge.common.channel.Channel; import io.openems.edge.common.channel.doc.ChannelId; import io.openems.edge.common.channel.value.Value; @@ -13,9 +16,12 @@ public abstract class ChannelsFunction { + private final Logger log = LoggerFactory.getLogger(ChannelsFunction.class); private final Channel targetChannel; private final ChannelId sourceChannelId; + protected boolean debug = false; + protected final Map> valueMap = new ConcurrentHashMap<>(); public ChannelsFunction(Sum parent, io.openems.edge.core.sum.Sum.ChannelId targetChannelId, @@ -25,6 +31,9 @@ public ChannelsFunction(Sum parent, io.openems.edge.core.sum.Sum.ChannelId targe } public void addComponent(OpenemsComponent component) { + if (this.debug) { + log.info("Add Component [" + component.id() + "] of type [" + component.getClass().getSimpleName() + "]"); + } final Consumer> handler = value -> { this.valueMap.put(component.id(), value); try { @@ -34,13 +43,22 @@ public void addComponent(OpenemsComponent component) { } }; Channel channel = component.channel(this.sourceChannelId); - handler.accept(channel.value()); // handle current value + handler.accept(channel.getNextValue()); // handle current value channel.onSetNextValue(handler); // and every upcoming value } public void removeComponent(OpenemsComponent component) { + if (this.debug) { + log.info( + "Remove Component [" + component.id() + "] of type [" + component.getClass().getSimpleName() + "]"); + } this.valueMap.remove(component.id()); } + public ChannelsFunction debug() { + this.debug = true; + return this; + } + protected abstract double calculate() throws NoSuchElementException; } diff --git a/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java b/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java index c7173fc1374..54654275df3 100644 --- a/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java +++ b/io.openems.edge.meter.api/src/io/openems/edge/meter/symmetric/api/SymmetricMeter.java @@ -125,7 +125,6 @@ public enum ChannelId implements io.openems.edge.common.channel.doc.ChannelId { if (newValue > Math.max(maxActivePower, maxNextActivePower)) { // avoid getting called too often -> round to 100 newValue = IntUtils.roundToPrecision(newValue, Round.UP, 100); - System.out.println("set new maxAP for " + channel.address() + ": " + newValue); maxActivePowerChannel.setNextValue(newValue); } } diff --git a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java index d19bde73b7d..21c186973d5 100644 --- a/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java +++ b/io.openems.edge.meter.socomec.dirisa14/src/io/openems/edge/meter/socomec/dirisa14/MeterSocomecDirisA14.java @@ -34,7 +34,7 @@ @Designate(ocd = Config.class, factory = true) @Component(name = "Meter.SOCOMEC.DirisA14", immediate = true, configurationPolicy = ConfigurationPolicy.REQUIRE) public class MeterSocomecDirisA14 extends AbstractOpenemsModbusComponent - implements SymmetricMeter, AsymmetricMeter, OpenemsComponent { + implements SymmetricMeter, AsymmetricMeter, Meter, OpenemsComponent { private MeterType meterType = MeterType.PRODUCTION; diff --git a/ui/src/app/edge/history/chart/socchart/socchart.component.ts b/ui/src/app/edge/history/chart/socchart/socchart.component.ts index 7155ee76c13..3db27b421d8 100644 --- a/ui/src/app/edge/history/chart/socchart/socchart.component.ts +++ b/ui/src/app/edge/history/chart/socchart/socchart.component.ts @@ -86,32 +86,47 @@ export class SocChartComponent implements OnInit, OnChanges { this._edge.historicDataQuery(this.fromDate, this.toDate, this.channels).then(historicData => { // prepare datas array and prefill with each device let tmpData: { - [thing: string]: number[]; + [componentId: string]: number[]; } = {}; let labels: Date[] = []; - for (let thing in this.channels) { - tmpData[thing] = []; + for (let componentId in this.channels) { + tmpData[componentId] = []; } for (let record of historicData.data) { // read timestamp and soc of each device labels.push(new Date(record.time)); - for (let thing in this.channels) { + for (let componentId in this.channels) { let soc = null; - if (thing in record.channels && "Soc" in record.channels[thing] && record.channels[thing]["Soc"] != null) { - soc = Math.round(record.channels[thing].Soc); + if (componentId in record.channels + && "Soc" in record.channels[componentId] + && record.channels[componentId]["Soc"] != null) { + soc = Math.round(record.channels[componentId].Soc); } if (soc > 100 || soc < 0) { soc = null; } - tmpData[thing].push(soc); + tmpData[componentId].push(soc); } } // refresh global datasets and labels let datasets = []; - for (let device in tmpData) { + for (let componentId in tmpData) { + let label; + if (this.edge.isVersionAtLeast("2018.8")) { + /* + * AFTER VERSION 2018.8 + */ + label = this.translate.instant('General.Soc') + } else { + /* + * BEFORE VERSION 2018.8 + */ + label = this.translate.instant('General.Soc') + " (" + (this.config === null ? componentId : this.config.things[componentId].alias) + ")" + } + datasets.push({ - label: this.translate.instant('General.Soc') + " (" + (this.config === null ? device : this.config.things[device].alias) + ")", - data: tmpData[device] + label: label, + data: tmpData[componentId] }); } this.datasets = datasets; diff --git a/ui/src/app/shared/edge/config.ts b/ui/src/app/shared/edge/config.ts index ee62b55ff7e..4f64394d43f 100644 --- a/ui/src/app/shared/edge/config.ts +++ b/ui/src/app/shared/edge/config.ts @@ -58,12 +58,23 @@ export class ConfigImpl implements DefaultTypes.Config { public readonly evcsDevices: string[] = []; constructor(private readonly edge: Edge, private readonly config: DefaultTypes.Config) { + let storageThings: string[] = [] + if (edge.isVersionAtLeast("2018.8")) { /* * FROM VERSION 2018.8 */ Object.assign(this, config); + for (let componentId in config.components) { + const i = this.getImplements2(componentId); + + // Ess + if (i.includes("Ess")) { + storageThings.push(componentId); + } + } + } else { /* * VERSION BEFORE 2018.8 @@ -82,7 +93,6 @@ export class ConfigImpl implements DefaultTypes.Config { Object.assign(this, config); - let storageThings: string[] = [] let chargers: string[] = []; let gridMeters: string[] = []; let productionMeters: string[] = []; @@ -156,7 +166,6 @@ export class ConfigImpl implements DefaultTypes.Config { } } - this.storageThings = storageThings.sort(); this.chargers = chargers.sort(); this.gridMeters = gridMeters.sort(); this.productionMeters = productionMeters.sort(); @@ -167,6 +176,8 @@ export class ConfigImpl implements DefaultTypes.Config { this.simulatorDevices = simulatorDevices; this.evcsDevices = evcsDevices; } + + this.storageThings = storageThings.sort(); } public getStateChannels(): DefaultTypes.ChannelAddresses { @@ -184,49 +195,80 @@ export class ConfigImpl implements DefaultTypes.Config { * Return ChannelAddresses of power channels */ public getPowerChannels(): DefaultTypes.ChannelAddresses { - let ignoreNatures = { EssClusterNature: true }; let result: DefaultTypes.ChannelAddresses = {} - // Set "ignoreNatures" - for (let thingId of this.storageThings) { - let i = this.getImplements(this.config.things[thingId]); - - if (i.includes("FeneconCommercialEss")) { // workaround to ignore asymmetric meter for commercial - ignoreNatures["AsymmetricMeterNature"] = true; + if (this.edge.isVersionAtLeast("2018.8")) { + /* + * FROM VERSION 2018.8 + */ + return { + "_sum": [ + 'EssActivePower', 'GridActivePower', 'ProductionActivePower', 'ConsumptionActivePower' + ] } - } - // Parse all things - for (let thingId in this.config.things) { - let clazz = this.config.things[thingId].class; // TODO casting - let i = this.getImplements(this.config.things[thingId]); - let channels = []; - // ESS - if (i.includes("EssNature") - && !i.includes("EssClusterNature") /* ignore cluster */ - && !i.includes("AsymmetricSymmetricCombinationEssNature") /* ignore symmetric Ess of Pro 9-12 */) { - if (i.includes("FeneconMiniEss")) { - channels.push("ActivePowerL1"); - } else if (i.includes("AsymmetricEssNature")) { - channels.push("ActivePowerL1", "ActivePowerL2", "ActivePowerL3"); - } else if (i.includes("SymmetricEssNature")) { - channels.push("ActivePower"); + + // for (let componentId of this.storageThings) { + // const i = this.getImplements2(componentId); + // let channels = []; + + // // Ess + // if (i.includes("SymmetricEss")) { + // channels.push("ActivePower"); + // } + + // // store result + // if (channels.length > 0) { + // result[componentId] = channels; + // } + // } + + } else { + /* + * VERSION BEFORE 2018.8 + */ + let ignoreNatures = { EssClusterNature: true }; + + // Set "ignoreNatures" + for (let thingId of this.storageThings) { + let i = this.getImplements(this.config.things[thingId]); + + if (i.includes("FeneconCommercialEss")) { // workaround to ignore asymmetric meter for commercial + ignoreNatures["AsymmetricMeterNature"] = true; } } - // Meter - if (i.includes("MeterNature")) { - if (i.includes("AsymmetricMeterNature") && !ignoreNatures["AsymmetricMeterNature"]) { - channels.push("ActivePowerL1", "ActivePowerL2", "ActivePowerL3"); - } else if (i.includes("SymmetricMeterNature")) { - channels.push("ActivePower"); + // Parse all things + for (let thingId in this.config.things) { + let clazz = this.config.things[thingId].class; // TODO casting + let i = this.getImplements(this.config.things[thingId]); + let channels = []; + // ESS + if (i.includes("EssNature") + && !i.includes("EssClusterNature") /* ignore cluster */ + && !i.includes("AsymmetricSymmetricCombinationEssNature") /* ignore symmetric Ess of Pro 9-12 */) { + if (i.includes("FeneconMiniEss")) { + channels.push("ActivePowerL1"); + } else if (i.includes("AsymmetricEssNature")) { + channels.push("ActivePowerL1", "ActivePowerL2", "ActivePowerL3"); + } else if (i.includes("SymmetricEssNature")) { + channels.push("ActivePower"); + } + } + // Meter + if (i.includes("MeterNature")) { + if (i.includes("AsymmetricMeterNature") && !ignoreNatures["AsymmetricMeterNature"]) { + channels.push("ActivePowerL1", "ActivePowerL2", "ActivePowerL3"); + } else if (i.includes("SymmetricMeterNature")) { + channels.push("ActivePower"); + } + } + // Charger + if (i.includes("ChargerNature")) { + channels.push("ActualPower"); + } + // store result + if (channels.length > 0) { + result[thingId] = channels; } - } - // Charger - if (i.includes("ChargerNature")) { - channels.push("ActualPower"); - } - // store result - if (channels.length > 0) { - result[thingId] = channels; } } return result; @@ -236,17 +278,31 @@ export class ConfigImpl implements DefaultTypes.Config { * Returns ChannelAddresses of ESS Soc channels */ public getEssSocChannels(): DefaultTypes.ChannelAddresses { - let result: DefaultTypes.ChannelAddresses = {} - for (let thingId of this.storageThings) { - let channels = []; - // ESS - channels.push("Soc"); - // store result - if (channels.length > 0) { - result[thingId] = channels; + if (this.edge.isVersionAtLeast("2018.8")) { + /* + * FROM VERSION 2018.8 + */ + return { + "_sum": [ + 'EssSoc' + ] + } + } else { + /* + * VERSION BEFORE 2018.8 + */ + let result: DefaultTypes.ChannelAddresses = {} + for (let thingId of this.storageThings) { + let channels = []; + // ESS + channels.push("Soc"); + // store result + if (channels.length > 0) { + result[thingId] = channels; + } } + return result; } - return result; } /** @@ -306,6 +362,17 @@ export class ConfigImpl implements DefaultTypes.Config { return widgets; } + private getImplements2(componentId: string): string[] { + let component = this.config.components[componentId]; + let i; + if (component["service.factoryPid"] in this.meta) { + i = this.meta[component["service.factoryPid"]].implements; + } else { + i = []; + } + return i; + } + private getImplements(thing: DefaultTypes.ThingConfig): string | string[] { if (thing.class in this.meta) { // TODO casting // get implements from meta From 8b5eb134b67d98229933a2a34c3c9d6a84e336e4 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 3 Jun 2018 18:02:23 +0200 Subject: [PATCH 29/50] Starting to Improve websocket performance by handling everything in async workers --- .../edgewebsocket/impl/Attachment.java | 7 +- .../impl/EdgeWebsocketServer.java | 294 ++---------------- .../backend/edgewebsocket/impl/OnClose.java | 52 ++++ .../backend/edgewebsocket/impl/OnError.java | 32 ++ .../backend/edgewebsocket/impl/OnMessage.java | 156 ++++++++++ .../backend/edgewebsocket/impl/OnOpen.java | 111 +++++++ .../backend/edgewebsocket/impl/Utils.java | 20 +- .../openems/backend/metadata/dummy/Dummy.java | 40 +-- .../backend/metadata/file/provider/File.java | 5 +- .../metadata/file/provider/MyEdge.java | 12 +- .../uiwebsocket/impl/provider/OnClose.java | 38 +++ .../uiwebsocket/impl/provider/OnError.java | 26 ++ .../uiwebsocket/impl/provider/OnMessage.java | 193 ++++++++++++ .../uiwebsocket/impl/provider/OnOpen.java | 86 +++++ .../impl/provider/UiWebsocketServer.java | 280 ++--------------- .../common/websocket/AbstractOnClose.java | 35 +++ .../common/websocket/AbstractOnError.java | 32 ++ .../common/websocket/AbstractOnMessage.java | 35 +++ .../common/websocket/AbstractOnOpen.java | 50 +++ .../websocket/AbstractWebsocketServer.java | 91 ++---- .../controller/api/websocket/OnClose.java | 42 +++ .../controller/api/websocket/OnError.java | 25 ++ .../controller/api/websocket/OnMessage.java | 160 ++++++++++ .../edge/controller/api/websocket/OnOpen.java | 79 +++++ .../api/websocket/WebsocketApiServer.java | 241 ++------------ tools/pom.xml | 8 +- 26 files changed, 1303 insertions(+), 847 deletions(-) create mode 100644 io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnClose.java create mode 100644 io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnError.java create mode 100644 io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java create mode 100644 io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java create mode 100644 io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java create mode 100644 io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnError.java create mode 100644 io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java create mode 100644 io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java create mode 100644 io.openems.common/src/io/openems/common/websocket/AbstractOnClose.java create mode 100644 io.openems.common/src/io/openems/common/websocket/AbstractOnError.java create mode 100644 io.openems.common/src/io/openems/common/websocket/AbstractOnMessage.java create mode 100644 io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java create mode 100644 io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnClose.java create mode 100644 io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnError.java create mode 100644 io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnMessage.java create mode 100644 io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java index 55ddccfecdc..6b346881715 100644 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Attachment.java @@ -2,10 +2,13 @@ public class Attachment { - private final String apikey; + private String apikey; private int[] edgeIds = {}; - public Attachment(String apikey) { + public Attachment() { + } + + public synchronized void setApikey(String apikey) { this.apikey = apikey; } diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java index 0e0f5cd7de8..349794b8254 100644 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/EdgeWebsocketServer.java @@ -2,297 +2,37 @@ import java.util.HashMap; import java.util.Map; -import java.util.Map.Entry; import java.util.Optional; import org.java_websocket.WebSocket; -import org.java_websocket.framing.CloseFrame; import org.java_websocket.handshake.ClientHandshake; -import org.osgi.service.event.Event; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import io.openems.backend.common.events.BackendEventConstants; import io.openems.backend.metadata.api.Edge; import io.openems.common.exceptions.OpenemsException; -import io.openems.common.utils.JsonUtils; -import io.openems.common.utils.StringUtils; +import io.openems.common.websocket.AbstractOnClose; +import io.openems.common.websocket.AbstractOnError; +import io.openems.common.websocket.AbstractOnMessage; +import io.openems.common.websocket.AbstractOnOpen; import io.openems.common.websocket.AbstractWebsocketServer; -import io.openems.common.websocket.DefaultMessages; -import io.openems.common.websocket.LogBehaviour; -import io.openems.common.websocket.Notification; import io.openems.common.websocket.WebSocketUtils; public class EdgeWebsocketServer extends AbstractWebsocketServer { - private final EdgeWebsocket parent; - private final Map websocketsMap = new HashMap<>(); - private final Logger log = LoggerFactory.getLogger(EdgeWebsocketServer.class); + protected final EdgeWebsocket parent; + protected final Map websocketsMap = new HashMap<>(); public EdgeWebsocketServer(EdgeWebsocket parent, int port) { super(port); this.parent = parent; } - /** - * Open event of websocket. Parses the "apikey" and to authenticate Edge. - */ - @Override - protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { - String apikey = ""; - try { - // get apikey from handshake - Optional apikeyOpt = Utils.parseApikeyFromHandshake(handshake); - if (!apikeyOpt.isPresent()) { - throw new OpenemsException("Apikey is missing in handshake"); - } - apikey = apikeyOpt.get(); - - // add attachment to websocket - Attachment attachment = new Attachment(apikey); - websocket.setAttachment(attachment); - - // get edgeId for apikey - int[] edgeIds = this.parent.metadataService.getEdgeIdsForApikey(apikey); - - // verify apikey (is also empty, when Odoo is not initialized) - if (edgeIds.length == 0) { - throw new OpenemsException("Unable to authenticate this Apikey."); - } - - // add edgeIds to websocket attachment - attachment.setEdgeIds(edgeIds); - - // if existing: close existing websocket for this apikey - synchronized (this.websocketsMap) { - for (int edgeId : edgeIds) { - if (this.websocketsMap.containsKey(edgeId)) { - WebSocket oldWebsocket = this.websocketsMap.get(edgeId); - oldWebsocket.closeConnection(CloseFrame.REFUSE, - "Another Edge with this apikey [" + apikey + "] connected."); - } - // add websocket to local cache - this.websocketsMap.put(edgeId, websocket); - } - } - - // send successful reply to openems - JsonObject jReply = DefaultMessages.openemsConnectionSuccessfulReply(); - WebSocketUtils.send(websocket, jReply); - - // announce Edge as online - for (int edgeId : edgeIds) { - Map properties = new HashMap<>(); - properties.put(BackendEventConstants.PROPERTY_KEY_EDGE_ID, edgeId); - Event event = new Event(BackendEventConstants.TOPIC_EDGE_ONLINE, properties); - this.parent.eventAdmin.postEvent(event); - } - - // log - for (int edgeId : edgeIds) { - Optional edgeOpt = this.parent.metadataService.getEdgeOpt(edgeId); - if (edgeOpt.isPresent()) { - Edge edge = edgeOpt.get(); - log.info("Edge [" + edge.getName() + "]" // - + (edgeIds.length > 1 ? ", ID [" + edgeId + "]" : "") // - + " connected."); - // set last update timestamps in MetadataService - edge.setLastMessage(); - } else { - log.info("Edge [ID:" + edgeId + "] connected. Apikey [" + apikey + "]. Websocket [" + websocket - + "]."); - } - } - } catch (OpenemsException e) { - log.warn(e.getMessage()); - // send connection failed to OpenEMS - JsonObject jReply = DefaultMessages.openemsConnectionFailedReply(e.getMessage()); - WebSocketUtils.sendOrLogError(websocket, jReply); - // close websocket - websocket.closeConnection(CloseFrame.REFUSE, - "Connection to backend failed. Apikey [" + apikey + "]. Error: " + e.getMessage()); - } - } - - /** - * Message event of websocket. Handles a new message. At this point the Edge is - * already authenticated. - */ - @Override - protected void _onMessage(WebSocket websocket, JsonObject jMessage) { - Attachment attachment = websocket.getAttachment(); - int[] edgeIds = attachment.getEdgeIds(); - if (edgeIds.length == 0) { - log.info("Closed by onMessage"); - // close websocket - websocket.closeConnection(CloseFrame.REFUSE, - "Connection to backend failed. Apikey [" + attachment.getApikey() + "] is not authenticated"); - } - - // set last update timestamps in MetadataService - for (int edgeId : edgeIds) { - Optional edgeOpt = this.parent.metadataService.getEdgeOpt(edgeId); - if (edgeOpt.isPresent()) { - Edge edge = edgeOpt.get(); - edge.setLastMessage(); - } - } - - // get MessageId from message - JsonObject jMessageId = JsonUtils.getAsOptionalJsonObject(jMessage, "messageId").orElse(new JsonObject()); - - /* - * Config? -> store in Metadata - */ - Optional jConfigOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "config"); - if (jConfigOpt.isPresent()) { - JsonObject jConfig = jConfigOpt.get(); - for (int edgeId : edgeIds) { - Edge edge; - try { - edge = this.parent.metadataService.getEdge(edgeId); - edge.setConfig(jConfig); - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.METADATA_ERROR, e.getMessage()); - } - } - return; - } - - /* - * Is this a reply? -> forward to UI - */ - if (jMessage.has("messageId")) { - for (int edgeId : edgeIds) { - try { - this.parent.uiWebsocketService.handleEdgeReply(edgeId, jMessage); - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.EDGE_UNABLE_TO_FORWARD, "ID:" + edgeId, e.getMessage()); - } - } - return; - } - - /* - * New timestamped data - */ - Optional jTimedataOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "timedata"); - if (jTimedataOpt.isPresent()) { - timedata(edgeIds, jTimedataOpt.get()); - return; - } - - /* - * Unknown message - */ - for (String edgeName : getEdgeNames(edgeIds)) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.UNKNOWN_MESSAGE, edgeName, StringUtils.toShortString(jMessage, 100)); - } - } - - @Override - protected void _onError(WebSocket websocket, Exception ex) { - Attachment attachment = websocket.getAttachment(); - int[] edgeIds = attachment.getEdgeIds(); - if (websocket == null || edgeIds.length == 0) { - log.warn("Edge [UNKNOWN] websocket error: " + ex.getMessage()); - } else { - for (String edgeName : getEdgeNames(edgeIds)) { - log.warn("Edge [" + edgeName + "] websocket error: " + ex.getMessage()); - } - } - } - - @Override - protected void _onClose(WebSocket websocket) { - // get edgeIds from websocket - Attachment attachment = websocket.getAttachment(); - int[] edgeIds = attachment.getEdgeIds(); - - // remove websocket from local map - for (int edgeId : edgeIds) { - synchronized (this.websocketsMap) { - this.websocketsMap.remove(edgeId, websocket); - } - } - - // announce Edge as offline - for (int edgeId : edgeIds) { - Map properties = new HashMap<>(); - properties.put(BackendEventConstants.PROPERTY_KEY_EDGE_ID, edgeId); - Event event = new Event(BackendEventConstants.TOPIC_EDGE_OFFLINE, properties); - this.parent.eventAdmin.postEvent(event); - } - - // log - for (String edgeName : getEdgeNames(edgeIds)) { - log.info("Edge [" + edgeName + "] disconnected."); - } - } - public boolean isOnline(int edgeId) { return this.websocketsMap.containsKey(edgeId); } - private void timedata(int[] edgeIds, JsonObject jTimedata) { - for (int edgeId : edgeIds) { - Edge edge; - try { - edge = this.parent.metadataService.getEdge(edgeId); - } catch (OpenemsException e) { - log.warn(e.getMessage()); - continue; - } - /* - * write data to timedataService - */ - try { - this.parent.timedataService.write(edgeId, jTimedata); - log.debug("Edge [" + edge.getName() + "] wrote " + jTimedata.entrySet().size() + " timestamps " - + StringUtils.toShortString(jTimedata, 120)); - } catch (Exception e) { - log.error("Unable to write Timedata: " + e.getClass().getSimpleName() + ": " + e.getMessage()); - } - - for (Entry jTimedataEntry : jTimedata.entrySet()) { - try { - JsonObject jChannels = JsonUtils.getAsJsonObject(jTimedataEntry.getValue()); - // set Odoo last update timestamp only for those channels - for (String channel : jChannels.keySet()) { - if (channel.endsWith("ActivePower") - || channel.endsWith("ActivePowerL1") | channel.endsWith("ActivePowerL2") - | channel.endsWith("ActivePowerL3") | channel.endsWith("Soc")) { - edge.setLastUpdate(); - } - } - - // set specific Odoo values - if (jChannels.has("ess0/Soc")) { - int soc = JsonUtils.getAsPrimitive(jChannels, "ess0/Soc").getAsInt(); - edge.setSoc(soc); - } - if (jChannels.has("system0/PrimaryIpAddress")) { - String ipv4 = JsonUtils.getAsPrimitive(jChannels, "system0/PrimaryIpAddress").getAsString(); - edge.setIpv4(ipv4); - } - if (jChannels.has("_meta/Version")) { - String version = JsonUtils.getAsPrimitive(jChannels, "_meta/Version").getAsString(); - edge.setVersion(version); - } - } catch (OpenemsException e) { - log.error("Edgde [" + edge.getName() + "] error: " + e.getMessage()); - } - } - } - } - - private String[] getEdgeNames(int[] edgeIds) { + protected String[] getEdgeNames(int[] edgeIds) { String[] edgeNames = new String[edgeIds.length]; for (int i = 0; i < edgeIds.length; i++) { Optional edgeOpt = this.parent.metadataService.getEdgeOpt(edgeIds[i]); @@ -311,4 +51,24 @@ public void forwardMessageFromUi(int edgeId, JsonObject jMessage) throws Openems WebSocketUtils.send(websocket, jMessage); } } + + @Override + protected AbstractOnMessage _onMessage(WebSocket websocket, String message) { + return new OnMessage(this, websocket, message); + } + + @Override + protected AbstractOnOpen _onOpen(WebSocket websocket, ClientHandshake handshake) { + return new OnOpen(this, websocket, handshake); + } + + @Override + protected AbstractOnError _onError(WebSocket websocket, Exception ex) { + return new OnError(this, websocket, ex); + } + + @Override + protected AbstractOnClose _onClose(WebSocket websocket, int code, String reason, boolean remote) { + return new OnClose(this, websocket, code, reason, remote); + } } diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnClose.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnClose.java new file mode 100644 index 00000000000..269caf92629 --- /dev/null +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnClose.java @@ -0,0 +1,52 @@ +package io.openems.backend.edgewebsocket.impl; + +import java.util.HashMap; +import java.util.Map; + +import org.java_websocket.WebSocket; +import org.osgi.service.event.Event; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.openems.backend.common.events.BackendEventConstants; +import io.openems.common.websocket.AbstractOnClose; + +public class OnClose extends AbstractOnClose { + + private final Logger log = LoggerFactory.getLogger(OnClose.class); + + private final EdgeWebsocketServer parent; + + public OnClose(EdgeWebsocketServer parent, WebSocket websocket, int code, String reason, boolean remote) { + super(websocket, code, reason, remote); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, int code, String reason, boolean remote) { + // get edgeIds from websocket + Attachment attachment = websocket.getAttachment(); + int[] edgeIds = attachment.getEdgeIds(); + + // remove websocket from local map + for (int edgeId : edgeIds) { + synchronized (this.parent.websocketsMap) { + this.parent.websocketsMap.remove(edgeId, websocket); + } + } + + // announce Edge as offline + for (int edgeId : edgeIds) { + Map properties = new HashMap<>(); + properties.put(BackendEventConstants.PROPERTY_KEY_EDGE_ID, edgeId); + Event event = new Event(BackendEventConstants.TOPIC_EDGE_OFFLINE, properties); + this.parent.parent.eventAdmin.postEvent(event); + } + + // log + for (String edgeName : this.parent.getEdgeNames(edgeIds)) { + log.info("Edge [" + edgeName + "] disconnected."); + } + } + +} diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnError.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnError.java new file mode 100644 index 00000000000..d5683712941 --- /dev/null +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnError.java @@ -0,0 +1,32 @@ +package io.openems.backend.edgewebsocket.impl; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.openems.common.websocket.AbstractOnError; + +public class OnError extends AbstractOnError { + + private final Logger log = LoggerFactory.getLogger(OnError.class); + private final EdgeWebsocketServer parent; + + public OnError(EdgeWebsocketServer parent, WebSocket websocket, Exception ex) { + super(websocket, ex); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, Exception ex) { + Attachment attachment = websocket.getAttachment(); + int[] edgeIds = attachment.getEdgeIds(); + if (websocket == null || edgeIds.length == 0) { + log.warn("Edge [UNKNOWN] websocket error: " + ex.getMessage()); + } else { + for (String edgeName : this.parent.getEdgeNames(edgeIds)) { + log.warn("Edge [" + edgeName + "] websocket error: " + ex.getMessage()); + } + } + } + +} diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java new file mode 100644 index 00000000000..3b2103132a5 --- /dev/null +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java @@ -0,0 +1,156 @@ +package io.openems.backend.edgewebsocket.impl; + +import java.util.Map.Entry; +import java.util.Optional; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import io.openems.backend.metadata.api.Edge; +import io.openems.common.exceptions.OpenemsException; +import io.openems.common.utils.JsonUtils; +import io.openems.common.utils.StringUtils; +import io.openems.common.websocket.AbstractOnMessage; +import io.openems.common.websocket.LogBehaviour; +import io.openems.common.websocket.Notification; +import io.openems.common.websocket.WebSocketUtils; + +public class OnMessage extends AbstractOnMessage { + + private final Logger log = LoggerFactory.getLogger(OnMessage.class); + private final EdgeWebsocketServer parent; + + public OnMessage(EdgeWebsocketServer parent, WebSocket websocket, String message) { + super(websocket, message); + this.parent = parent; + } + + protected void run(WebSocket websocket, JsonObject jMessage) { + Attachment attachment = websocket.getAttachment(); + int[] edgeIds = attachment.getEdgeIds(); + if (edgeIds.length == 0) { + log.warn("websocket was not fully handled by OnOpen yet"); + this.parent.executorTryAgain(this); + } + + // set last update timestamps in MetadataService + for (int edgeId : edgeIds) { + Optional edgeOpt = this.parent.parent.metadataService.getEdgeOpt(edgeId); + if (edgeOpt.isPresent()) { + Edge edge = edgeOpt.get(); + edge.setLastMessage(); + } + } + + // get MessageId from message + JsonObject jMessageId = JsonUtils.getAsOptionalJsonObject(jMessage, "messageId").orElse(new JsonObject()); + + /* + * Config? -> store in Metadata + */ + Optional jConfigOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "config"); + if (jConfigOpt.isPresent()) { + JsonObject jConfig = jConfigOpt.get(); + for (int edgeId : edgeIds) { + Edge edge; + try { + edge = this.parent.parent.metadataService.getEdge(edgeId); + edge.setConfig(jConfig); + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.METADATA_ERROR, e.getMessage()); + } + } + return; + } + + /* + * Is this a reply? -> forward to UI + */ + if (jMessage.has("messageId")) { + for (int edgeId : edgeIds) { + try { + this.parent.parent.uiWebsocketService.handleEdgeReply(edgeId, jMessage); + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.EDGE_UNABLE_TO_FORWARD, "ID:" + edgeId, e.getMessage()); + } + } + return; + } + + /* + * New timestamped data + */ + Optional jTimedataOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "timedata"); + if (jTimedataOpt.isPresent()) { + timedata(edgeIds, jTimedataOpt.get()); + return; + } + + /* + * Unknown message + */ + for (String edgeName : this.parent.getEdgeNames(edgeIds)) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.UNKNOWN_MESSAGE, edgeName, StringUtils.toShortString(jMessage, 100)); + } + } + + private void timedata(int[] edgeIds, JsonObject jTimedata) { + for (int edgeId : edgeIds) { + Edge edge; + try { + edge = this.parent.parent.metadataService.getEdge(edgeId); + } catch (OpenemsException e) { + log.warn(e.getMessage()); + continue; + } + /* + * write data to timedataService + */ + try { + this.parent.parent.timedataService.write(edgeId, jTimedata); + log.debug("Edge [" + edge.getName() + "] wrote " + jTimedata.entrySet().size() + " timestamps " + + StringUtils.toShortString(jTimedata, 120)); + } catch (Exception e) { + log.error("Unable to write Timedata: " + e.getClass().getSimpleName() + ": " + e.getMessage()); + } + + for (Entry jTimedataEntry : jTimedata.entrySet()) { + try { + JsonObject jChannels = JsonUtils.getAsJsonObject(jTimedataEntry.getValue()); + // set Odoo last update timestamp only for those channels + for (String channel : jChannels.keySet()) { + if (channel.endsWith("ActivePower") + || channel.endsWith("ActivePowerL1") | channel.endsWith("ActivePowerL2") + | channel.endsWith("ActivePowerL3") | channel.endsWith("Soc")) { + edge.setLastUpdate(); + } + } + + // set specific Odoo values + if (jChannels.has("ess0/Soc")) { + int soc = JsonUtils.getAsPrimitive(jChannels, "ess0/Soc").getAsInt(); + edge.setSoc(soc); + } + if (jChannels.has("system0/PrimaryIpAddress")) { + String ipv4 = JsonUtils.getAsPrimitive(jChannels, "system0/PrimaryIpAddress").getAsString(); + edge.setIpv4(ipv4); + } + if (jChannels.has("_meta/Version")) { + String version = JsonUtils.getAsPrimitive(jChannels, "_meta/Version").getAsString(); + edge.setVersion(version); + } + } catch (OpenemsException e) { + log.error("Edgde [" + edge.getName() + "] error: " + e.getMessage()); + } + } + } + } + +} diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java new file mode 100644 index 00000000000..68726791633 --- /dev/null +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java @@ -0,0 +1,111 @@ +package io.openems.backend.edgewebsocket.impl; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +import org.java_websocket.WebSocket; +import org.java_websocket.framing.CloseFrame; +import org.java_websocket.handshake.ClientHandshake; +import org.osgi.service.event.Event; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonObject; + +import io.openems.backend.common.events.BackendEventConstants; +import io.openems.backend.metadata.api.Edge; +import io.openems.common.exceptions.OpenemsException; +import io.openems.common.utils.JsonUtils; +import io.openems.common.websocket.AbstractOnOpen; +import io.openems.common.websocket.DefaultMessages; +import io.openems.common.websocket.WebSocketUtils; + +public class OnOpen extends AbstractOnOpen { + + private final Logger log = LoggerFactory.getLogger(OnOpen.class); + private final EdgeWebsocketServer parent; + + public OnOpen(EdgeWebsocketServer parent, WebSocket websocket, ClientHandshake handshake) { + super(websocket, handshake); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, JsonObject jHandshake) { + String apikey = ""; + try { + // create websocket attachment + Attachment attachment = new Attachment(); + websocket.setAttachment(attachment); + + // get apikey from handshake + Optional apikeyOpt = JsonUtils.getAsOptionalString(jHandshake, "apikey"); + if (!apikeyOpt.isPresent()) { + throw new OpenemsException("Apikey is missing in handshake"); + } + apikey = apikeyOpt.get(); + attachment.setApikey(apikey); + + // get edgeId for apikey + int[] edgeIds = this.parent.parent.metadataService.getEdgeIdsForApikey(apikey); + + // verify apikey (is also empty, when Odoo is not initialized) + if (edgeIds.length == 0) { + throw new OpenemsException("Unable to authenticate this Apikey."); + } + + // add edgeIds to websocket attachment + attachment.setEdgeIds(edgeIds); + + // if existing: close existing websocket for this apikey + synchronized (this.parent.websocketsMap) { + for (int edgeId : edgeIds) { + if (this.parent.websocketsMap.containsKey(edgeId)) { + WebSocket oldWebsocket = this.parent.websocketsMap.get(edgeId); + oldWebsocket.closeConnection(CloseFrame.REFUSE, + "Another Edge with this apikey [" + apikey + "] connected."); + } + // add websocket to local cache + this.parent.websocketsMap.put(edgeId, websocket); + } + } + + // send successful reply to openems + JsonObject jReply = DefaultMessages.openemsConnectionSuccessfulReply(); + WebSocketUtils.send(websocket, jReply); + + // announce Edge as online + for (int edgeId : edgeIds) { + Map properties = new HashMap<>(); + properties.put(BackendEventConstants.PROPERTY_KEY_EDGE_ID, edgeId); + Event event = new Event(BackendEventConstants.TOPIC_EDGE_ONLINE, properties); + this.parent.parent.eventAdmin.postEvent(event); + } + + // log + for (int edgeId : edgeIds) { + Optional edgeOpt = this.parent.parent.metadataService.getEdgeOpt(edgeId); + if (edgeOpt.isPresent()) { + Edge edge = edgeOpt.get(); + log.info("Edge [" + edge.getName() + "]" // + + (edgeIds.length > 1 ? ", ID [" + edgeId + "]" : "") // + + " connected."); + // set last update timestamps in MetadataService + edge.setLastMessage(); + } else { + log.info("Edge [ID:" + edgeId + "] connected. Apikey [" + apikey + "]. Websocket [" + websocket + + "]."); + } + } + } catch (OpenemsException e) { + log.warn(e.getMessage()); + // send connection failed to OpenEMS + JsonObject jReply = DefaultMessages.openemsConnectionFailedReply(e.getMessage()); + WebSocketUtils.sendOrLogError(websocket, jReply); + // close websocket + websocket.closeConnection(CloseFrame.REFUSE, + "Connection to backend failed. Apikey [" + apikey + "]. Error: " + e.getMessage()); + } + } +} diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java index 0a0574fdf9e..e01c24600f0 100644 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java @@ -1,27 +1,9 @@ package io.openems.backend.edgewebsocket.impl; -import java.util.Optional; - -import org.java_websocket.handshake.ClientHandshake; - public class Utils { private Utils() { - - } - - /** - * Parses the apikey from websocket onOpen handshake - * - * @param handshake - * @return - */ - protected static Optional parseApikeyFromHandshake(ClientHandshake handshake) { - if (handshake.hasFieldValue("apikey")) { - String apikey = handshake.getFieldValue("apikey"); - return Optional.ofNullable(apikey); - } - return Optional.empty(); } + } diff --git a/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java index 3fd3a4655d3..a88fe226af9 100644 --- a/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java +++ b/io.openems.backend.metadata.dummy/src/io/openems/backend/metadata/dummy/Dummy.java @@ -71,29 +71,33 @@ public User authenticate(String sessionId) throws OpenemsException { @Override public int[] getEdgeIdsForApikey(String apikey) { - Optional edgeOpt = this.getEdgeOpt(this.nextEdgeId); - return new int[] { edgeOpt.get().getId() }; + int[] edgeIds = this.edges.values().stream() // + .filter(edge -> apikey.equals(edge.getApikey())) // + .mapToInt(edge -> edge.getId()).toArray(); + if (edgeIds.length > 0) { + return edgeIds; + } + // not found -> create + int id = this.nextEdgeId++; + Edge edge = new Edge(id, apikey, "EDGE:" + id, "comment [" + id + "]", State.ACTIVE, + OpenemsConstants.OPENEMS_VERSION, "producttype [" + id + "]", new JsonObject(), null, null); + edge.onSetConfig(jConfig -> { + log.debug("Edge [" + id + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); + }); + edge.onSetSoc(soc -> { + log.debug("Edge [" + id + "]. Set SoC: " + soc); + }); + edge.onSetIpv4(ipv4 -> { + log.debug("Edge [" + id + "]. Set IPv4: " + ipv4); + }); + edge.setOnline(this.edgeWebsocketService.isOnline(edge.getId())); + this.edges.put(id, edge); + return new int[] { id }; } @Override public Optional getEdgeOpt(int edgeId) { Edge edge = this.edges.get(edgeId); - if (edge == null) { - int id = this.nextEdgeId++; - edge = new Edge(id, "EDGE:" + id, "comment [" + id + "]", State.ACTIVE, OpenemsConstants.OPENEMS_VERSION, - "producttype [" + id + "]", new JsonObject(), null, null); - edge.onSetConfig(jConfig -> { - log.debug("Edge [" + edgeId + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); - }); - edge.onSetSoc(soc -> { - log.debug("Edge [" + edgeId + "]. Set SoC: " + soc); - }); - edge.onSetIpv4(ipv4 -> { - log.debug("Edge [" + edgeId + "]. Set IPv4: " + ipv4); - }); - edge.setOnline(this.edgeWebsocketService.isOnline(edge.getId())); - this.edges.put(id, edge); - } return Optional.of(edge); } diff --git a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java index cdc34e487e0..6b9bc87ffa7 100644 --- a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/File.java @@ -85,8 +85,8 @@ private void refreshData() { Role role = Role.getRole(parameters[3]); int edgeId = Integer.parseInt(parameters[4]); String apikey = parameters[5]; - MyEdge edge = new MyEdge(edgeId, name, comment, State.ACTIVE, OpenemsConstants.OPENEMS_VERSION, - producttype, role, apikey, new JsonObject()); + MyEdge edge = new MyEdge(edgeId, apikey, name, comment, State.ACTIVE, + OpenemsConstants.OPENEMS_VERSION, producttype, new JsonObject(), role); edge.onSetConfig(jConfig -> { log.debug( "Edge [" + edgeId + "]. Update config: " + StringUtils.toShortString(jConfig, 100)); @@ -114,6 +114,7 @@ private void refreshData() { this.user.addEdgeRole(edgeId, Role.ADMIN); } } + } @Override diff --git a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java index 11065ca3605..bc5be65f575 100644 --- a/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java +++ b/io.openems.backend.metadata.file/src/io/openems/backend/metadata/file/provider/MyEdge.java @@ -7,18 +7,12 @@ public class MyEdge extends Edge { - private final String apikey; private final Role role; - public MyEdge(int id, String name, String comment, State state, String producttype, String version, Role role, - String apikey, JsonObject jConfig) { - super(id, name, comment, state, version, producttype, jConfig, null, null); + public MyEdge(int id, String apikey, String name, String comment, State state, String version, String producttype, + JsonObject jConfig, Role role) { + super(id, apikey, name, comment, state, version, producttype, jConfig, null, null); this.role = role; - this.apikey = apikey; - } - - public String getApikey() { - return apikey; } public Role getRole() { diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java new file mode 100644 index 00000000000..981f5e04ee6 --- /dev/null +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java @@ -0,0 +1,38 @@ +package io.openems.backend.uiwebsocket.impl.provider; + +import java.util.Optional; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.openems.common.websocket.AbstractOnClose; + +public class OnClose extends AbstractOnClose { + + private final Logger log = LoggerFactory.getLogger(OnClose.class); + + private final UiWebsocketServer parent; + + public OnClose(UiWebsocketServer parent, WebSocket websocket, int code, String reason, boolean remote) { + super(websocket, code, reason, remote); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, int code, String reason, boolean remote) { + // get current User + WebsocketData data = websocket.getAttachment(); + log.info("User [" + this.parent.getUserName(data) + "] disconnected."); + + // stop CurrentDataWorker + Optional currentDataWorkerOpt = data.getCurrentDataWorker(); + if (currentDataWorkerOpt.isPresent()) { + currentDataWorkerOpt.get().dispose(); + } + // remove websocket from local cache + synchronized (this.parent.websocketsMap) { + this.parent.websocketsMap.remove(data.getUuid()); + } + } +} diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnError.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnError.java new file mode 100644 index 00000000000..8de73424c00 --- /dev/null +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnError.java @@ -0,0 +1,26 @@ +package io.openems.backend.uiwebsocket.impl.provider; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.openems.common.websocket.AbstractOnError; + +public class OnError extends AbstractOnError { + + private final Logger log = LoggerFactory.getLogger(OnError.class); + private final UiWebsocketServer parent; + + public OnError(UiWebsocketServer parent, WebSocket websocket, Exception ex) { + super(websocket, ex); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, Exception ex) { + WebsocketData data = websocket.getAttachment(); + log.warn("User [" + this.parent.getUserName(data) + "] websocket error. " + ex.getClass().getSimpleName() + ": " + + ex.getMessage()); + } + +} diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java new file mode 100644 index 00000000000..3823eb5a74b --- /dev/null +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java @@ -0,0 +1,193 @@ +package io.openems.backend.uiwebsocket.impl.provider; + +import java.util.Optional; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; + +import io.openems.backend.metadata.api.Edge; +import io.openems.backend.metadata.api.User; +import io.openems.common.exceptions.OpenemsException; +import io.openems.common.session.Role; +import io.openems.common.utils.JsonUtils; +import io.openems.common.utils.StringUtils; +import io.openems.common.websocket.AbstractOnMessage; +import io.openems.common.websocket.DefaultMessages; +import io.openems.common.websocket.LogBehaviour; +import io.openems.common.websocket.Notification; +import io.openems.common.websocket.WebSocketUtils; + +public class OnMessage extends AbstractOnMessage { + + private final Logger log = LoggerFactory.getLogger(OnMessage.class); + private final UiWebsocketServer parent; + + public OnMessage(UiWebsocketServer parent, WebSocket websocket, String message) { + super(websocket, message); + this.parent = parent; + } + + protected void run(WebSocket websocket, JsonObject jMessage) { + // get current User + WebsocketData data = websocket.getAttachment(); + int userId = data.getUserId(); + Optional userOpt = this.parent.parent.metadataService.getUser(userId); + if (!userOpt.isPresent()) { + WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject(), LogBehaviour.WRITE_TO_LOG, + Notification.BACKEND_UNABLE_TO_READ_USER_DETAILS, userId); + return; + } + User user = userOpt.get(); + + // get MessageId from message + Optional jMessageIdOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "messageId"); + + // get EdgeId from message + Optional edgeIdOpt = JsonUtils.getAsOptionalInt(jMessage, "edgeId"); + + if (jMessageIdOpt.isPresent() && edgeIdOpt.isPresent()) { + JsonObject jMessageId = jMessageIdOpt.get(); + int edgeId = edgeIdOpt.get(); + + // get Edge + Edge edge; + try { + edge = this.parent.parent.metadataService.getEdge(edgeId); + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.BACKEND_UNABLE_TO_READ_EDGE_DETAILS, edgeId, e.getMessage()); + return; + } + + /* + * verify that User is allowed to access Edge + */ + if (!user.getEdgeRole(edgeId).isPresent()) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.BACKEND_FORWARD_TO_EDGE_NOT_ALLOWED, edge.getName(), user.getName()); + return; + } + + /* + * Query historic data + */ + Optional jHistoricDataOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "historicData"); + if (jHistoricDataOpt.isPresent()) { + JsonObject jHistoricData = jHistoricDataOpt.get(); + log.info("User [" + user.getName() + "] queried historic data for Edge [" + edge.getName() + "]: " + + StringUtils.toShortString(jHistoricData, 50)); + this.historicData(websocket, jMessageId, edgeId, jHistoricData); + return; + } + + /* + * Subscribe to currentData + */ + Optional jCurrentDataOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "currentData"); + if (jCurrentDataOpt.isPresent()) { + JsonObject jCurrentData = jCurrentDataOpt.get(); + log.info("User [" + user.getName() + "] subscribed to current data for Edge [" + edge.getName() + "]: " + + StringUtils.toShortString(jCurrentData, 50)); + this.currentData(websocket, data, jMessageId, edgeId, jCurrentData); + return; + } + + /* + * Serve "Config -> Query" from cache + */ + Optional jConfigOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "config"); + if (jConfigOpt.isPresent()) { + JsonObject jConfig = jConfigOpt.get(); + switch (JsonUtils.getAsOptionalString(jConfig, "mode").orElse("")) { + case "query": + /* + * Query current config + */ + log.info("User [" + user.getName() + "] queried config for Edge [" + edge.getName() + "]: " + + StringUtils.toShortString(jConfig, 50)); + JsonObject jReply = DefaultMessages.configQueryReply(jMessageId, edge.getConfig()); + WebSocketUtils.sendOrLogError(websocket, jReply); + return; + } + } + + /* + * Forward to OpenEMS Edge + */ + if (jMessage.has("config") || jMessage.has("log") || jMessage.has("system")) { + try { + log.info("User [" + user.getName() + "] forward message to Edge [" + edge.getName() + "]: " + + StringUtils.toShortString(jMessage, 100)); + Optional roleOpt = user.getEdgeRole(edgeId); + JsonObject j = DefaultMessages.prepareMessageForForwardToEdge(jMessage, data.getUuid(), roleOpt); + this.parent.parent.edgeWebsocketService.forwardMessageFromUi(edgeId, j); + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.EDGE_UNABLE_TO_FORWARD, edge.getName(), e.getMessage()); + } + } + } + } + + /** + * Handle current data subscriptions + * + * @param j + */ + private synchronized void currentData(WebSocket websocket, WebsocketData data, JsonObject jMessageId, int edgeId, + JsonObject jCurrentData) { + try { + String mode = JsonUtils.getAsString(jCurrentData, "mode"); + + if (mode.equals("subscribe")) { + /* + * Subscribe to channels + */ + + // remove old worker if it existed + Optional workerOpt = data.getCurrentDataWorker(); + if (workerOpt.isPresent()) { + data.setCurrentDataWorker(null); + workerOpt.get().dispose(); + } + + // set new worker + JsonObject jSubscribeChannels = JsonUtils.getAsJsonObject(jCurrentData, "channels"); + BackendCurrentDataWorker worker = new BackendCurrentDataWorker(this.parent, websocket, edgeId); + worker.setChannels(jSubscribeChannels, jMessageId); + data.setCurrentDataWorker(worker); + } + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.SUBSCRIBE_CURRENT_DATA_FAILED, "Edge [ID:" + edgeId + "] " + e.getMessage()); + } + } + + /** + * Query history command + * + * @param j + */ + private void historicData(WebSocket websocket, JsonObject jMessageId, int edgeId, JsonObject jHistoricData) { + try { + String mode = JsonUtils.getAsString(jHistoricData, "mode"); + + if (mode.equals("query")) { + /* + * Query historic data + */ + JsonArray jData = this.parent.parent.timeDataService.queryHistoricData(edgeId, jHistoricData); + WebSocketUtils.sendOrLogError(websocket, DefaultMessages.historicDataQueryReply(jMessageId, jData)); + return; + } + } catch (Exception e) { + WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, + Notification.UNABLE_TO_QUERY_HISTORIC_DATA, "Edge [ID:" + edgeId + "] " + e.getMessage()); + } + } + +} diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java new file mode 100644 index 00000000000..155f5e26e7e --- /dev/null +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java @@ -0,0 +1,86 @@ +package io.openems.backend.uiwebsocket.impl.provider; + +import java.util.Map.Entry; +import java.util.Optional; +import java.util.UUID; + +import org.java_websocket.WebSocket; +import org.java_websocket.framing.CloseFrame; +import org.java_websocket.handshake.ClientHandshake; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; + +import io.openems.backend.metadata.api.Edge; +import io.openems.backend.metadata.api.User; +import io.openems.common.exceptions.OpenemsException; +import io.openems.common.session.Role; +import io.openems.common.utils.JsonUtils; +import io.openems.common.websocket.AbstractOnOpen; +import io.openems.common.websocket.DefaultMessages; +import io.openems.common.websocket.WebSocketUtils; + +public class OnOpen extends AbstractOnOpen { + + private final Logger log = LoggerFactory.getLogger(OnOpen.class); + private final UiWebsocketServer parent; + + public OnOpen(UiWebsocketServer parent, WebSocket websocket, ClientHandshake handshake) { + super(websocket, handshake); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, JsonObject jHandshake) { + User user; + + // login using session_id from the cookie + Optional sessionIdOpt = JsonUtils.getAsOptionalString(jHandshake, "session_id"); + try { + if (sessionIdOpt.isPresent()) { + // authenticate with Session-ID + user = this.parent.parent.metadataService.authenticate(sessionIdOpt.get()); + } else { + // authenticate without Session-ID + user = this.parent.parent.metadataService.authenticate(); + } + } catch (OpenemsException e) { + // send connection failed to browser + WebSocketUtils.sendOrLogError(websocket, DefaultMessages.uiLogoutReply()); + log.warn("User connection failed. Session [" + sessionIdOpt.orElse("") + "] Error [" + e.getMessage() + + "]."); + websocket.closeConnection(CloseFrame.REFUSE, e.getMessage()); + return; + } + + UUID uuid = UUID.randomUUID(); + synchronized (this.parent.websocketsMap) { + // add websocket to local cache + this.parent.websocketsMap.put(uuid, websocket); + } + // store userId together with the websocket + websocket.setAttachment(new WebsocketData(user.getId(), uuid)); + + // send connection successful to browser + JsonArray jEdges = new JsonArray(); + for (Entry edgeRole : user.getEdgeRoles().entrySet()) { + int edgeId = edgeRole.getKey(); + Role role = edgeRole.getValue(); + Edge edge; + try { + edge = this.parent.parent.metadataService.getEdge(edgeId); + JsonObject jEdge = edge.toJsonObject(); + jEdge.addProperty("role", role.toString()); + jEdges.add(jEdge); + } catch (OpenemsException e) { + log.warn("Unable to get Edge from MetadataService [ID:" + edgeId + "]: " + e.getMessage()); + } + } + log.info("User [" + user.getName() + "] connected with Session [" + sessionIdOpt.orElse("") + "]."); + JsonObject jReply = DefaultMessages.uiLoginSuccessfulReply("" /* empty token? */, jEdges); + WebSocketUtils.sendOrLogError(websocket, jReply); + } + +} diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java index 09ea10f5c11..74ec4dc7071 100644 --- a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java @@ -2,295 +2,73 @@ import java.util.HashMap; import java.util.Map; -import java.util.Map.Entry; import java.util.Optional; import java.util.UUID; import org.java_websocket.WebSocket; -import org.java_websocket.framing.CloseFrame; import org.java_websocket.handshake.ClientHandshake; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import io.openems.backend.metadata.api.Edge; import io.openems.backend.metadata.api.User; import io.openems.common.exceptions.OpenemsException; -import io.openems.common.session.Role; import io.openems.common.utils.JsonUtils; -import io.openems.common.utils.StringUtils; +import io.openems.common.websocket.AbstractOnClose; +import io.openems.common.websocket.AbstractOnError; +import io.openems.common.websocket.AbstractOnMessage; +import io.openems.common.websocket.AbstractOnOpen; import io.openems.common.websocket.AbstractWebsocketServer; import io.openems.common.websocket.DefaultMessages; -import io.openems.common.websocket.LogBehaviour; -import io.openems.common.websocket.Notification; import io.openems.common.websocket.WebSocketUtils; public class UiWebsocketServer extends AbstractWebsocketServer { protected final UiWebsocket parent; - private final Logger log = LoggerFactory.getLogger(UiWebsocketServer.class); - private final Map websocketsMap = new HashMap<>(); + protected final Map websocketsMap = new HashMap<>(); public UiWebsocketServer(UiWebsocket parent, int port) { super(port); this.parent = parent; } - @Override - protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { - User user; - - // login using session_id from the cookie - Optional sessionIdOpt = getFieldFromHandshakeCookie(handshake, "session_id"); - try { - if (sessionIdOpt.isPresent()) { - // authenticate with Session-ID - user = this.parent.metadataService.authenticate(sessionIdOpt.get()); - } else { - // authenticate without Session-ID - user = this.parent.metadataService.authenticate(); - } - } catch (OpenemsException e) { - // send connection failed to browser - WebSocketUtils.sendOrLogError(websocket, DefaultMessages.uiLogoutReply()); - log.warn("User connection failed. Session [" + sessionIdOpt.orElse("") + "] Error [" + e.getMessage() - + "]."); - websocket.closeConnection(CloseFrame.REFUSE, e.getMessage()); + protected void handleEdgeReply(int edgeId, JsonObject jMessage) throws OpenemsException { + JsonObject jMessageId = JsonUtils.getAsJsonObject(jMessage, "messageId"); + String backendId = JsonUtils.getAsString(jMessageId, "backend"); + WebSocket websocket = this.websocketsMap.get(UUID.fromString(backendId)); + if (websocket != null) { + JsonObject j = DefaultMessages.prepareMessageForForwardToUi(jMessage); + WebSocketUtils.send(websocket, j); return; } + throw new OpenemsException("No websocket found for UUID [" + backendId + "]"); + } - UUID uuid = UUID.randomUUID(); - synchronized (this.websocketsMap) { - // add websocket to local cache - this.websocketsMap.put(uuid, websocket); - } - // store userId together with the websocket - websocket.setAttachment(new WebsocketData(user.getId(), uuid)); - - // send connection successful to browser - JsonArray jEdges = new JsonArray(); - for (Entry edgeRole : user.getEdgeRoles().entrySet()) { - int edgeId = edgeRole.getKey(); - Role role = edgeRole.getValue(); - Edge edge; - try { - edge = this.parent.metadataService.getEdge(edgeId); - JsonObject jEdge = edge.toJsonObject(); - jEdge.addProperty("role", role.toString()); - jEdges.add(jEdge); - } catch (OpenemsException e) { - log.warn("Unable to get Edge from MetadataService [ID:" + edgeId + "]: " + e.getMessage()); - } + protected String getUserName(WebsocketData data) { + Optional userOpt = this.parent.metadataService.getUser(data.getUserId()); + if (userOpt.isPresent()) { + return userOpt.get().getName(); + } else { + return "ID:" + data.getUserId(); } - log.info("User [" + user.getName() + "] connected with Session [" + sessionIdOpt.orElse("") + "]."); - JsonObject jReply = DefaultMessages.uiLoginSuccessfulReply("" /* empty token? */, jEdges); - WebSocketUtils.sendOrLogError(websocket, jReply); } @Override - protected void _onError(WebSocket websocket, Exception ex) { - WebsocketData data = websocket.getAttachment(); - log.warn("User [" + getUserName(data) + "] websocket error. " + ex.getClass().getSimpleName() + ": " - + ex.getMessage()); + protected AbstractOnMessage _onMessage(WebSocket websocket, String message) { + return new OnMessage(this, websocket, message); } @Override - protected void _onClose(WebSocket websocket) { - // get current User - WebsocketData data = websocket.getAttachment(); - log.info("User [" + getUserName(data) + "] disconnected."); - - // stop CurrentDataWorker - Optional currentDataWorkerOpt = data.getCurrentDataWorker(); - if (currentDataWorkerOpt.isPresent()) { - currentDataWorkerOpt.get().dispose(); - } - // remove websocket from local cache - synchronized (this.websocketsMap) { - this.websocketsMap.remove(data.getUuid()); - } + protected AbstractOnOpen _onOpen(WebSocket websocket, ClientHandshake handshake) { + return new OnOpen(this, websocket, handshake); } @Override - protected void _onMessage(WebSocket websocket, JsonObject jMessage) { - // get current User - WebsocketData data = websocket.getAttachment(); - int userId = data.getUserId(); - Optional userOpt = this.parent.metadataService.getUser(userId); - if (!userOpt.isPresent()) { - WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject(), LogBehaviour.WRITE_TO_LOG, - Notification.BACKEND_UNABLE_TO_READ_USER_DETAILS, userId); - return; - } - User user = userOpt.get(); - - // get MessageId from message - Optional jMessageIdOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "messageId"); - - // get EdgeId from message - Optional edgeIdOpt = JsonUtils.getAsOptionalInt(jMessage, "edgeId"); - - if (jMessageIdOpt.isPresent() && edgeIdOpt.isPresent()) { - JsonObject jMessageId = jMessageIdOpt.get(); - int edgeId = edgeIdOpt.get(); - - // get Edge - Edge edge; - try { - edge = this.parent.metadataService.getEdge(edgeId); - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.BACKEND_UNABLE_TO_READ_EDGE_DETAILS, edgeId, e.getMessage()); - return; - } - - /* - * verify that User is allowed to access Edge - */ - if (!user.getEdgeRole(edgeId).isPresent()) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.BACKEND_FORWARD_TO_EDGE_NOT_ALLOWED, edge.getName(), user.getName()); - return; - } - - /* - * Query historic data - */ - Optional jHistoricDataOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "historicData"); - if (jHistoricDataOpt.isPresent()) { - JsonObject jHistoricData = jHistoricDataOpt.get(); - log.info("User [" + user.getName() + "] queried historic data for Edge [" + edge.getName() + "]: " - + StringUtils.toShortString(jHistoricData, 50)); - this.historicData(websocket, jMessageId, edgeId, jHistoricData); - return; - } - - /* - * Subscribe to currentData - */ - Optional jCurrentDataOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "currentData"); - if (jCurrentDataOpt.isPresent()) { - JsonObject jCurrentData = jCurrentDataOpt.get(); - log.info("User [" + user.getName() + "] subscribed to current data for Edge [" + edge.getName() + "]: " - + StringUtils.toShortString(jCurrentData, 50)); - this.currentData(websocket, data, jMessageId, edgeId, jCurrentData); - return; - } - - /* - * Serve "Config -> Query" from cache - */ - Optional jConfigOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "config"); - if (jConfigOpt.isPresent()) { - JsonObject jConfig = jConfigOpt.get(); - switch (JsonUtils.getAsOptionalString(jConfig, "mode").orElse("")) { - case "query": - /* - * Query current config - */ - log.info("User [" + user.getName() + "] queried config for Edge [" + edge.getName() + "]: " - + StringUtils.toShortString(jConfig, 50)); - JsonObject jReply = DefaultMessages.configQueryReply(jMessageId, edge.getConfig()); - WebSocketUtils.sendOrLogError(websocket, jReply); - return; - } - } - - /* - * Forward to OpenEMS Edge - */ - if (jMessage.has("config") || jMessage.has("log") || jMessage.has("system")) { - try { - log.info("User [" + user.getName() + "] forward message to Edge [" + edge.getName() + "]: " - + StringUtils.toShortString(jMessage, 100)); - Optional roleOpt = user.getEdgeRole(edgeId); - JsonObject j = DefaultMessages.prepareMessageForForwardToEdge(jMessage, data.getUuid(), roleOpt); - this.parent.edgeWebsocketService.forwardMessageFromUi(edgeId, j); - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.EDGE_UNABLE_TO_FORWARD, edge.getName(), e.getMessage()); - } - } - } - } - - /** - * Handle current data subscriptions - * - * @param j - */ - private synchronized void currentData(WebSocket websocket, WebsocketData data, JsonObject jMessageId, int edgeId, - JsonObject jCurrentData) { - try { - String mode = JsonUtils.getAsString(jCurrentData, "mode"); - - if (mode.equals("subscribe")) { - /* - * Subscribe to channels - */ - - // remove old worker if it existed - Optional workerOpt = data.getCurrentDataWorker(); - if (workerOpt.isPresent()) { - data.setCurrentDataWorker(null); - workerOpt.get().dispose(); - } - - // set new worker - JsonObject jSubscribeChannels = JsonUtils.getAsJsonObject(jCurrentData, "channels"); - BackendCurrentDataWorker worker = new BackendCurrentDataWorker(this, websocket, edgeId); - worker.setChannels(jSubscribeChannels, jMessageId); - data.setCurrentDataWorker(worker); - } - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.SUBSCRIBE_CURRENT_DATA_FAILED, "Edge [ID:" + edgeId + "] " + e.getMessage()); - } - } - - /** - * Query history command - * - * @param j - */ - private void historicData(WebSocket websocket, JsonObject jMessageId, int edgeId, JsonObject jHistoricData) { - try { - String mode = JsonUtils.getAsString(jHistoricData, "mode"); - - if (mode.equals("query")) { - /* - * Query historic data - */ - JsonArray jData = this.parent.timeDataService.queryHistoricData(edgeId, jHistoricData); - WebSocketUtils.sendOrLogError(websocket, DefaultMessages.historicDataQueryReply(jMessageId, jData)); - return; - } - } catch (Exception e) { - WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, - Notification.UNABLE_TO_QUERY_HISTORIC_DATA, "Edge [ID:" + edgeId + "] " + e.getMessage()); - } - } - - private String getUserName(WebsocketData data) { - Optional userOpt = this.parent.metadataService.getUser(data.getUserId()); - if (userOpt.isPresent()) { - return userOpt.get().getName(); - } else { - return "ID:" + data.getUserId(); - } + protected AbstractOnError _onError(WebSocket websocket, Exception ex) { + return new OnError(this, websocket, ex); } - public void handleEdgeReply(int edgeId, JsonObject jMessage) throws OpenemsException { - JsonObject jMessageId = JsonUtils.getAsJsonObject(jMessage, "messageId"); - String backendId = JsonUtils.getAsString(jMessageId, "backend"); - WebSocket websocket = this.websocketsMap.get(UUID.fromString(backendId)); - if (websocket != null) { - JsonObject j = DefaultMessages.prepareMessageForForwardToUi(jMessage); - WebSocketUtils.send(websocket, j); - return; - } - throw new OpenemsException("No websocket found for UUID [" + backendId + "]"); + @Override + protected AbstractOnClose _onClose(WebSocket websocket, int code, String reason, boolean remote) { + return new OnClose(this, websocket, code, reason, remote); } } diff --git a/io.openems.common/src/io/openems/common/websocket/AbstractOnClose.java b/io.openems.common/src/io/openems/common/websocket/AbstractOnClose.java new file mode 100644 index 00000000000..09f809be570 --- /dev/null +++ b/io.openems.common/src/io/openems/common/websocket/AbstractOnClose.java @@ -0,0 +1,35 @@ +package io.openems.common.websocket; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public abstract class AbstractOnClose implements Runnable { + + private final Logger log = LoggerFactory.getLogger(AbstractOnClose.class); + + protected final WebSocket websocket; + private final int code; + private final String reason; + private final boolean remote; + + public AbstractOnClose(WebSocket websocket, int code, String reason, boolean remote) { + this.websocket = websocket; + this.code = code; + this.reason = reason; + this.remote = remote; + } + + @Override + public final void run() { + try { + this.run(this.websocket, this.code, this.reason, this.remote); + } catch (Throwable e) { + log.error("onClose-Error. Code [" + this.code + "] Reason [" + this.reason + "]: " + e.getMessage()); + e.printStackTrace(); + } + } + + protected abstract void run(WebSocket websocket, int code, String reason, boolean remote); + +} diff --git a/io.openems.common/src/io/openems/common/websocket/AbstractOnError.java b/io.openems.common/src/io/openems/common/websocket/AbstractOnError.java new file mode 100644 index 00000000000..8f5884c2b6e --- /dev/null +++ b/io.openems.common/src/io/openems/common/websocket/AbstractOnError.java @@ -0,0 +1,32 @@ +package io.openems.common.websocket; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public abstract class AbstractOnError implements Runnable { + + private final Logger log = LoggerFactory.getLogger(AbstractOnError.class); + + protected final WebSocket websocket; + protected final Exception ex; + + public AbstractOnError(WebSocket websocket, Exception ex) { + this.websocket = websocket; + this.ex = ex; + } + + @Override + public final void run() { + try { + this.run(this.websocket, this.ex); + } catch (Throwable e) { + log.error("onError handling of Exception [" + ex.getMessage() + "] failed: " + e.getMessage()); + ex.printStackTrace(); + e.printStackTrace(); + } + } + + protected abstract void run(WebSocket websocket, Exception ex); + +} diff --git a/io.openems.common/src/io/openems/common/websocket/AbstractOnMessage.java b/io.openems.common/src/io/openems/common/websocket/AbstractOnMessage.java new file mode 100644 index 00000000000..51f40954c7b --- /dev/null +++ b/io.openems.common/src/io/openems/common/websocket/AbstractOnMessage.java @@ -0,0 +1,35 @@ +package io.openems.common.websocket; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +public abstract class AbstractOnMessage implements Runnable { + + private final Logger log = LoggerFactory.getLogger(AbstractOnMessage.class); + + protected final WebSocket websocket; + protected final String message; + + public AbstractOnMessage(WebSocket websocket, String message) { + this.websocket = websocket; + this.message = message; + } + + @Override + public final void run() { + try { + JsonObject jMessage = (new JsonParser()).parse(this.message).getAsJsonObject(); + this.run(this.websocket, jMessage); + } catch (Throwable e) { + log.error("onMessage-Error [" + this.message + "]: "); + e.printStackTrace(); + } + } + + protected abstract void run(WebSocket websocket, JsonObject jMessage); + +} diff --git a/io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java b/io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java new file mode 100644 index 00000000000..eb7da4e5d4d --- /dev/null +++ b/io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java @@ -0,0 +1,50 @@ +package io.openems.common.websocket; + +import java.util.Iterator; + +import org.java_websocket.WebSocket; +import org.java_websocket.handshake.ClientHandshake; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonObject; + +public abstract class AbstractOnOpen implements Runnable { + + private final Logger log = LoggerFactory.getLogger(AbstractOnOpen.class); + + protected final WebSocket websocket; + protected final JsonObject jHandshake; + + public AbstractOnOpen(WebSocket websocket, ClientHandshake handshake) { + this.websocket = websocket; + this.jHandshake = this.handshakeToJsonObject(handshake); + } + + @Override + public final void run() { + try { + this.run(this.websocket, this.jHandshake); + } catch (Throwable e) { + log.error("onOpen-Error [" + this.jHandshake + "]: "); + e.printStackTrace(); + } + } + + protected abstract void run(WebSocket websocket, JsonObject jHandshake); + + /** + * Converts a Handshake to a JsonObject + * + * @param handshake + * @return + */ + protected JsonObject handshakeToJsonObject(ClientHandshake handshake) { + JsonObject j = new JsonObject(); + for (Iterator iter = handshake.iterateHttpFields(); iter.hasNext();) { + String field = iter.next(); + j.addProperty(field, handshake.getFieldValue(field)); + } + return j; + } +} diff --git a/io.openems.common/src/io/openems/common/websocket/AbstractWebsocketServer.java b/io.openems.common/src/io/openems/common/websocket/AbstractWebsocketServer.java index 27536a18329..100dbd7819d 100644 --- a/io.openems.common/src/io/openems/common/websocket/AbstractWebsocketServer.java +++ b/io.openems.common/src/io/openems/common/websocket/AbstractWebsocketServer.java @@ -1,8 +1,8 @@ package io.openems.common.websocket; import java.net.InetSocketAddress; -import java.util.Iterator; -import java.util.Optional; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import org.java_websocket.WebSocket; import org.java_websocket.drafts.Draft_6455; @@ -14,26 +14,34 @@ import com.google.common.collect.Lists; import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import io.openems.common.utils.JsonUtils; import io.openems.common.utils.StringUtils; public abstract class AbstractWebsocketServer extends WebSocketServer { private final Logger log = LoggerFactory.getLogger(AbstractWebsocketServer.class); - protected abstract void _onMessage(WebSocket websocket, JsonObject jMessage); + private final static int MAX_CONCURRENT_THREADS = 20; - protected abstract void _onOpen(WebSocket websocket, ClientHandshake handshake); + private final ExecutorService executor = Executors.newFixedThreadPool(MAX_CONCURRENT_THREADS); - protected abstract void _onError(WebSocket websocket, Exception ex); + protected abstract AbstractOnMessage _onMessage(WebSocket websocket, String message); - protected abstract void _onClose(WebSocket websocket); + protected abstract AbstractOnOpen _onOpen(WebSocket websocket, ClientHandshake handshake); + + protected abstract AbstractOnError _onError(WebSocket websocket, Exception ex); + + protected abstract AbstractOnClose _onClose(WebSocket websocket, int code, String reason, boolean remote); public AbstractWebsocketServer(int port) { super(new InetSocketAddress(port), Lists.newArrayList(new Draft_6455())); } + @Override + public void stop(int arg0) throws InterruptedException { + this.executor.shutdown(); + super.stop(arg0); + } + @Override public final void onStart() { // nothing to do @@ -44,12 +52,7 @@ public final void onStart() { */ @Override public final void onOpen(WebSocket websocket, ClientHandshake handshake) { - try { - this._onOpen(websocket, handshake); - } catch (Throwable e) { - log.error("onOpen-Error [" + this.handshakeToJsonObject(handshake) + "]: "); - e.printStackTrace(); - } + this.executor.submit(this._onOpen(websocket, handshake)); } /** @@ -57,13 +60,7 @@ public final void onOpen(WebSocket websocket, ClientHandshake handshake) { */ @Override public final void onMessage(WebSocket websocket, String message) { - try { - JsonObject jMessage = (new JsonParser()).parse(message).getAsJsonObject(); - this._onMessage(websocket, jMessage); - } catch (Throwable e) { - log.error("onMessage-Error [" + message + "]: " + e.getMessage()); - e.printStackTrace(); - } + this.executor.submit(this._onMessage(websocket, message)); } /** @@ -72,11 +69,7 @@ public final void onMessage(WebSocket websocket, String message) { */ @Override public final void onClose(WebSocket websocket, int code, String reason, boolean remote) { - try { - this._onClose(websocket); - } catch (Throwable e) { - log.error("onClose-Error. Code [" + code + "] Reason [" + reason + "]: " + e.getMessage()); - } + this.executor.submit(this._onClose(websocket, code, reason, remote)); } /** @@ -84,26 +77,7 @@ public final void onClose(WebSocket websocket, int code, String reason, boolean */ @Override public final void onError(WebSocket websocket, Exception ex) { - try { - this._onError(websocket, ex); - } catch (Throwable e) { - log.error("onError handling of Exception [" + ex.getMessage() + "] failed: " + e.getMessage()); - } - } - - /** - * Converts a Handshake to a JsonObject - * - * @param handshake - * @return - */ - protected JsonObject handshakeToJsonObject(ClientHandshake handshake) { - JsonObject j = new JsonObject(); - for (Iterator iter = handshake.iterateHttpFields(); iter.hasNext();) { - String field = iter.next(); - j.addProperty(field, handshake.getFieldValue(field)); - } - return j; + this.executor.submit(this._onError(websocket, ex)); } /** @@ -122,24 +96,13 @@ public boolean send(WebSocket websocket, JsonObject j) { return false; } } - - /** - * Get field from cookie in the handshake - * - * @param handshake - * @return value as optional - */ - protected Optional getFieldFromHandshakeCookie(ClientHandshake handshake, String fieldname) { - JsonObject jCookie = new JsonObject(); - if (handshake.hasFieldValue("cookie")) { - String cookieString = handshake.getFieldValue("cookie"); - for (String cookieVariable : cookieString.split("; ")) { - String[] keyValue = cookieVariable.split("="); - if (keyValue.length == 2) { - jCookie.addProperty(keyValue[0], keyValue[1]); - } - } + + public void executorTryAgain(Runnable runnable) { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); } - return JsonUtils.getAsOptionalString(jCookie, fieldname); + this.executor.submit(runnable); } } diff --git a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnClose.java b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnClose.java new file mode 100644 index 00000000000..3f11ee59b7f --- /dev/null +++ b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnClose.java @@ -0,0 +1,42 @@ +package io.openems.edge.controller.api.websocket; + +import java.util.UUID; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.openems.common.exceptions.OpenemsException; +import io.openems.common.websocket.AbstractOnClose; + +public class OnClose extends AbstractOnClose { + + private final Logger log = LoggerFactory.getLogger(OnClose.class); + + private final WebsocketApiServer parent; + + public OnClose(WebsocketApiServer parent, WebSocket websocket, int code, String reason, boolean remote) { + super(websocket, code, reason, remote); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, int code, String reason, boolean remote) { + this.parent.parent.logInfo(this.log, + "User [" + this.parent.getUserName(websocket) + "] closed websocket connection"); + this.disposeHandler(websocket); + } + + private void disposeHandler(WebSocket websocket) { + UiEdgeWebsocketHandler handler; + try { + handler = this.parent.getHandlerOrCloseWebsocket(websocket); + UUID uuid = handler.getUuid(); + this.parent.handlers.remove(uuid); + handler.dispose(); + } catch (OpenemsException e) { + this.parent.parent.log.warn("Unable to dispose Handler: " + e.getMessage()); + } + } + +} diff --git a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnError.java b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnError.java new file mode 100644 index 00000000000..a3bb71192c2 --- /dev/null +++ b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnError.java @@ -0,0 +1,25 @@ +package io.openems.edge.controller.api.websocket; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import io.openems.common.websocket.AbstractOnError; + +public class OnError extends AbstractOnError { + + private final Logger log = LoggerFactory.getLogger(OnError.class); + private final WebsocketApiServer parent; + + public OnError(WebsocketApiServer parent, WebSocket websocket, Exception ex) { + super(websocket, ex); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, Exception ex) { + this.parent.parent.logWarn(this.log, + "User [" + this.parent.getUserName(websocket) + "] error: " + ex.getMessage()); + } + +} diff --git a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnMessage.java b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnMessage.java new file mode 100644 index 00000000000..2828e03fdcb --- /dev/null +++ b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnMessage.java @@ -0,0 +1,160 @@ +package io.openems.edge.controller.api.websocket; + +import java.util.Optional; + +import org.java_websocket.WebSocket; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonObject; + +import io.openems.common.exceptions.OpenemsException; +import io.openems.common.utils.JsonUtils; +import io.openems.common.websocket.AbstractOnMessage; +import io.openems.common.websocket.DefaultMessages; +import io.openems.common.websocket.LogBehaviour; +import io.openems.common.websocket.Notification; +import io.openems.common.websocket.WebSocketUtils; +import io.openems.edge.common.user.User; + +public class OnMessage extends AbstractOnMessage { + + private final Logger log = LoggerFactory.getLogger(OnMessage.class); + private final WebsocketApiServer parent; + + public OnMessage(WebsocketApiServer parent, WebSocket websocket, String message) { + super(websocket, message); + this.parent = parent; + } + + protected void run(WebSocket websocket, JsonObject jMessage) { + /* + * Authenticate + */ + Optional jAuthenticateOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "authenticate"); + if (jAuthenticateOpt.isPresent()) { + // authenticate by username/password + try { + authenticate(jAuthenticateOpt.get(), websocket); + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, + LogBehaviour.WRITE_TO_LOG, Notification.ERROR, e.getMessage()); + } + return; + } + + // get handler + UiEdgeWebsocketHandler handler; + try { + handler = this.parent.getHandlerOrCloseWebsocket(websocket); + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, + LogBehaviour.WRITE_TO_LOG, Notification.ERROR, "onMessage Error: " + e.getMessage()); + return; + } + + // get session Token from handler + String token = handler.getSessionToken(); + if (!this.parent.sessionTokens.containsKey(token)) { + WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, + LogBehaviour.WRITE_TO_LOG, Notification.ERROR, "Token [" + token + "] is not anymore valid."); + websocket.close(); + return; + } + + // From here authentication was successful + + /* + * Rest -> forward to websocket handler + */ + handler.onMessage(jMessage); + } + + /** + * Authenticates a user according to the "authenticate" message. Stores the User + * if valid. + * + * @param jAuthenticateElement + * @param handler + * @throws OpenemsException + */ + private void authenticate(JsonObject jAuthenticate, WebSocket websocket) throws OpenemsException { + if (jAuthenticate.has("mode")) { + String mode = JsonUtils.getAsString(jAuthenticate, "mode"); + switch (mode) { + case "login": + try { + /* + * Authenticate using password (and optionally username) + */ + String password = JsonUtils.getAsString(jAuthenticate, "password"); + Optional usernameOpt = JsonUtils.getAsOptionalString(jAuthenticate, "username"); + Optional userOpt; + if (usernameOpt.isPresent()) { + userOpt = this.parent.parent.userService.authenticate(usernameOpt.get(), password); + } else { + userOpt = this.parent.parent.userService.authenticate(password); + } + + if (!userOpt.isPresent()) { + throw new OpenemsException("Authentication failed"); + } + // authentication successful + User user = userOpt.get(); + UiEdgeWebsocketHandler handler = this.parent.getHandlerOrCloseWebsocket(websocket); + this.parent.sessionTokens.put(handler.getSessionToken(), user); + this.parent.handleAuthenticationSuccessful(handler, user); + + } catch (OpenemsException e) { + /* + * send authentication failed reply + */ + JsonObject jReply = DefaultMessages.uiLogoutReply(); + WebSocketUtils.send(websocket, jReply); + this.parent.parent.logInfo(this.log, e.getMessage()); + return; + } + break; + case "logout": + /* + * Logout and close session + */ + String sessionToken = "none"; + String username = "UNKNOWN"; + try { + UiEdgeWebsocketHandler handler = this.parent.getHandlerOrCloseWebsocket(websocket); + Optional thisUserOpt = handler.getUserOpt(); + if (thisUserOpt.isPresent()) { + username = thisUserOpt.get().getName(); + handler.unsetRole(); + } + sessionToken = handler.getSessionToken(); + this.parent.sessionTokens.remove(sessionToken); + this.parent.parent.logInfo(this.log, + "User [" + username + "] logged out. Invalidated token [" + sessionToken + "]"); + + // find and close all websockets for this user + if (thisUserOpt.isPresent()) { + User thisUser = thisUserOpt.get(); + for (UiEdgeWebsocketHandler h : this.parent.handlers.values()) { + Optional otherUserOpt = h.getUserOpt(); + if (otherUserOpt.isPresent()) { + if (otherUserOpt.get().equals(thisUser)) { + JsonObject jReply = DefaultMessages.uiLogoutReply(); + h.send(jReply); + h.dispose(); + } + } + } + } + JsonObject jReply = DefaultMessages.uiLogoutReply(); + WebSocketUtils.send(websocket, jReply); + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, + LogBehaviour.WRITE_TO_LOG, Notification.ERROR, + "Unable to close session [" + sessionToken + "]: " + e.getMessage()); + } + } + } + } +} diff --git a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java new file mode 100644 index 00000000000..8c79a1fd43d --- /dev/null +++ b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java @@ -0,0 +1,79 @@ +package io.openems.edge.controller.api.websocket; + +import java.math.BigInteger; +import java.security.SecureRandom; +import java.util.Optional; +import java.util.UUID; + +import org.java_websocket.WebSocket; +import org.java_websocket.handshake.ClientHandshake; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.JsonObject; + +import io.openems.common.exceptions.OpenemsException; +import io.openems.common.utils.JsonUtils; +import io.openems.common.utils.SecureRandomSingleton; +import io.openems.common.websocket.AbstractOnOpen; +import io.openems.common.websocket.LogBehaviour; +import io.openems.common.websocket.Notification; +import io.openems.common.websocket.WebSocketUtils; +import io.openems.edge.common.user.User; + +public class OnOpen extends AbstractOnOpen { + + private final Logger log = LoggerFactory.getLogger(OnOpen.class); + private final WebsocketApiServer parent; + + public OnOpen(WebsocketApiServer parent, WebSocket websocket, ClientHandshake handshake) { + super(websocket, handshake); + this.parent = parent; + } + + @Override + protected void run(WebSocket websocket, JsonObject jHandshake) { + // generate UUID for this websocket (browser tab) + UUID uuid = UUID.randomUUID(); + + // get token from cookie or generate new token + String token; + Optional cookieTokenOpt = JsonUtils.getAsOptionalString(jHandshake, "token"); + if (cookieTokenOpt.isPresent()) { + token = cookieTokenOpt.get(); + } else { + // Generate token (source: http://stackoverflow.com/a/41156) + SecureRandom sr = SecureRandomSingleton.getInstance(); + token = new BigInteger(WebsocketApiServer.TOKEN_LENGTH, sr).toString(32); + } + + // create new Handler and store it + UiEdgeWebsocketHandler handler = new UiEdgeWebsocketHandler(this.parent.parent, websocket, token, uuid); + this.parent.handlers.put(uuid, handler); + websocket.setAttachment(uuid); + + // login using token from the cookie + if (cookieTokenOpt.isPresent()) { + User user = this.parent.sessionTokens.get(token); + if (user != null) { + /* + * token from cookie is valid -> authentication successful + */ + // send reply and log + try { + this.parent.handleAuthenticationSuccessful(handler, user); + this.parent.parent.logInfo(this.log, "User [" + user.getName() + "] logged in by token"); + return; + } catch (OpenemsException e) { + WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, + LogBehaviour.WRITE_TO_LOG, Notification.ERROR, e.getMessage()); + } + } + } + + // if we are here, automatic authentication was not possible -> notify client + WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, + LogBehaviour.WRITE_TO_LOG, Notification.EDGE_AUTHENTICATION_BY_TOKEN_FAILED, cookieTokenOpt.orElse("")); + + } +} diff --git a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java index 9dc682b4c4a..1034b8e97c5 100644 --- a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java +++ b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/WebsocketApiServer.java @@ -1,8 +1,5 @@ package io.openems.edge.controller.api.websocket; -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.UUID; @@ -17,141 +14,37 @@ import io.openems.common.OpenemsConstants; import io.openems.common.exceptions.OpenemsException; -import io.openems.common.utils.JsonUtils; -import io.openems.common.utils.SecureRandomSingleton; +import io.openems.common.websocket.AbstractOnClose; +import io.openems.common.websocket.AbstractOnError; +import io.openems.common.websocket.AbstractOnMessage; +import io.openems.common.websocket.AbstractOnOpen; import io.openems.common.websocket.AbstractWebsocketServer; import io.openems.common.websocket.DefaultMessages; -import io.openems.common.websocket.LogBehaviour; -import io.openems.common.websocket.Notification; -import io.openems.common.websocket.WebSocketUtils; import io.openems.edge.common.user.User; final class WebsocketApiServer extends AbstractWebsocketServer { - private final static int TOKEN_LENGTH = 130; + protected final static int TOKEN_LENGTH = 130; - private final WebsocketApi parent; + protected final WebsocketApi parent; /** * Stores valid session tokens for authentication via Cookie (this maps to a * browser window) */ - private final Map sessionTokens = new ConcurrentHashMap<>(); + protected final Map sessionTokens = new ConcurrentHashMap<>(); /** * Stores handlers per websocket (this maps to a browser tab). The handler lives * while the websocket is connected. Independently of the login/logout state. */ - private final Map handlers = new HashMap<>(); + protected final Map handlers = new ConcurrentHashMap<>(); WebsocketApiServer(WebsocketApi parent, int port) { super(port); this.parent = parent; } - /** - * Open event of websocket. - */ - @Override - protected void _onOpen(WebSocket websocket, ClientHandshake handshake) { - // generate UUID for this websocket (browser tab) - UUID uuid = UUID.randomUUID(); - - // get token from cookie or generate new token - String token; - Optional cookieTokenOpt = getFieldFromHandshakeCookie(handshake, "token"); - if (cookieTokenOpt.isPresent()) { - token = cookieTokenOpt.get(); - } else { - // Generate token (source: http://stackoverflow.com/a/41156) - SecureRandom sr = SecureRandomSingleton.getInstance(); - token = new BigInteger(TOKEN_LENGTH, sr).toString(32); - } - - // create new Handler and store it - UiEdgeWebsocketHandler handler = new UiEdgeWebsocketHandler(this.parent, websocket, token, uuid); - this.handlers.put(uuid, handler); - websocket.setAttachment(uuid); - - // login using token from the cookie - if (cookieTokenOpt.isPresent()) { - User user = this.sessionTokens.get(token); - if (user != null) { - /* - * token from cookie is valid -> authentication successful - */ - // send reply and log - try { - this.handleAuthenticationSuccessful(handler, user); - this.parent.log.info("User [" + user.getName() + "] logged in by token"); - return; - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, - LogBehaviour.WRITE_TO_LOG, Notification.ERROR, e.getMessage()); - } - } - } - - // if we are here, automatic authentication was not possible -> notify client - WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, - LogBehaviour.WRITE_TO_LOG, Notification.EDGE_AUTHENTICATION_BY_TOKEN_FAILED, cookieTokenOpt.orElse("")); - } - - @Override - protected void _onMessage(WebSocket websocket, JsonObject jMessage) { - /* - * Authenticate - */ - Optional jAuthenticateOpt = JsonUtils.getAsOptionalJsonObject(jMessage, "authenticate"); - if (jAuthenticateOpt.isPresent()) { - // authenticate by username/password - try { - authenticate(jAuthenticateOpt.get(), websocket); - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, - LogBehaviour.WRITE_TO_LOG, Notification.ERROR, e.getMessage()); - } - return; - } - - // get handler - UiEdgeWebsocketHandler handler; - try { - handler = getHandlerOrCloseWebsocket(websocket); - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, - LogBehaviour.WRITE_TO_LOG, Notification.ERROR, "onMessage Error: " + e.getMessage()); - return; - } - - // get session Token from handler - String token = handler.getSessionToken(); - if (!this.sessionTokens.containsKey(token)) { - WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, - LogBehaviour.WRITE_TO_LOG, Notification.ERROR, "Token [" + token + "] is not anymore valid."); - websocket.close(); - return; - } - - // From here authentication was successful - - /* - * Rest -> forward to websocket handler - */ - handler.onMessage(jMessage); - } - - @Override - protected void _onError(WebSocket websocket, Exception ex) { - this.parent.logWarn(this.parent.log, "User [" + getUserName(websocket) + "] error: " + ex.getMessage()); - } - - @Override - protected void _onClose(WebSocket websocket) { - this.parent.logInfo(this.parent.log, "User [" + getUserName(websocket) + "] closed websocket connection"); - this.disposeHandler(websocket); - } - - private void handleAuthenticationSuccessful(UiEdgeWebsocketHandler handler, User user) throws OpenemsException { + protected void handleAuthenticationSuccessful(UiEdgeWebsocketHandler handler, User user) throws OpenemsException { // add user to handler handler.setUser(user); @@ -178,7 +71,7 @@ protected void sendLog(PaxLoggingEvent event) { } } - private String getUserName(WebSocket websocket) { + protected String getUserName(WebSocket websocket) { Optional handlerOpt = getHandlerOpt(websocket); if (handlerOpt.isPresent()) { UiEdgeWebsocketHandler handler = handlerOpt.get(); @@ -191,13 +84,13 @@ private String getUserName(WebSocket websocket) { return "UNKNOWN"; } - private Optional getHandlerOpt(WebSocket websocket) { + protected Optional getHandlerOpt(WebSocket websocket) { UUID uuid = websocket.getAttachment(); return Optional.ofNullable(this.handlers.get(uuid)); } - private UiEdgeWebsocketHandler getHandlerOrCloseWebsocket(WebSocket websocket) throws OpenemsException { - Optional handlerOpt = getHandlerOpt(websocket); + protected UiEdgeWebsocketHandler getHandlerOrCloseWebsocket(WebSocket websocket) throws OpenemsException { + Optional handlerOpt = this.getHandlerOpt(websocket); UUID uuid = websocket.getAttachment(); UiEdgeWebsocketHandler handler = this.handlers.get(uuid); if (!handlerOpt.isPresent()) { @@ -208,103 +101,23 @@ private UiEdgeWebsocketHandler getHandlerOrCloseWebsocket(WebSocket websocket) t return handler; } - private void disposeHandler(WebSocket websocket) { - UiEdgeWebsocketHandler handler; - try { - handler = getHandlerOrCloseWebsocket(websocket); - UUID uuid = handler.getUuid(); - this.handlers.remove(uuid); - handler.dispose(); - } catch (OpenemsException e) { - this.parent.log.warn("Unable to dispose Handler: " + e.getMessage()); - } + @Override + protected AbstractOnMessage _onMessage(WebSocket websocket, String message) { + return new OnMessage(this, websocket, message); } - /** - * Authenticates a user according to the "authenticate" message. Stores the User - * if valid. - * - * @param jAuthenticateElement - * @param handler - * @throws OpenemsException - */ - private void authenticate(JsonObject jAuthenticate, WebSocket websocket) throws OpenemsException { - if (jAuthenticate.has("mode")) { - String mode = JsonUtils.getAsString(jAuthenticate, "mode"); - switch (mode) { - case "login": - try { - /* - * Authenticate using password (and optionally username) - */ - String password = JsonUtils.getAsString(jAuthenticate, "password"); - Optional usernameOpt = JsonUtils.getAsOptionalString(jAuthenticate, "username"); - Optional userOpt; - if (usernameOpt.isPresent()) { - userOpt = this.parent.userService.authenticate(usernameOpt.get(), password); - } else { - userOpt = this.parent.userService.authenticate(password); - } - - if (!userOpt.isPresent()) { - throw new OpenemsException("Authentication failed"); - } - // authentication successful - User user = userOpt.get(); - UiEdgeWebsocketHandler handler = getHandlerOrCloseWebsocket(websocket); - this.sessionTokens.put(handler.getSessionToken(), user); - this.handleAuthenticationSuccessful(handler, user); + @Override + protected AbstractOnOpen _onOpen(WebSocket websocket, ClientHandshake handshake) { + return new OnOpen(this, websocket, handshake); + } - } catch (OpenemsException e) { - /* - * send authentication failed reply - */ - JsonObject jReply = DefaultMessages.uiLogoutReply(); - WebSocketUtils.send(websocket, jReply); - this.parent.log.info(e.getMessage()); - return; - } - break; - case "logout": - /* - * Logout and close session - */ - String sessionToken = "none"; - String username = "UNKNOWN"; - try { - UiEdgeWebsocketHandler handler = this.getHandlerOrCloseWebsocket(websocket); - Optional thisUserOpt = handler.getUserOpt(); - if (thisUserOpt.isPresent()) { - username = thisUserOpt.get().getName(); - handler.unsetRole(); - } - sessionToken = handler.getSessionToken(); - this.sessionTokens.remove(sessionToken); - this.parent.log - .info("User [" + username + "] logged out. Invalidated token [" + sessionToken + "]"); + @Override + protected AbstractOnError _onError(WebSocket websocket, Exception ex) { + return new OnError(this, websocket, ex); + } - // find and close all websockets for this user - if (thisUserOpt.isPresent()) { - User thisUser = thisUserOpt.get(); - for (UiEdgeWebsocketHandler h : this.handlers.values()) { - Optional otherUserOpt = h.getUserOpt(); - if (otherUserOpt.isPresent()) { - if (otherUserOpt.get().equals(thisUser)) { - JsonObject jReply = DefaultMessages.uiLogoutReply(); - h.send(jReply); - h.dispose(); - } - } - } - } - JsonObject jReply = DefaultMessages.uiLogoutReply(); - WebSocketUtils.send(websocket, jReply); - } catch (OpenemsException e) { - WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject() /* empty message id */, - LogBehaviour.WRITE_TO_LOG, Notification.ERROR, - "Unable to close session [" + sessionToken + "]: " + e.getMessage()); - } - } - } + @Override + protected AbstractOnClose _onClose(WebSocket websocket, int code, String reason, boolean remote) { + return new OnClose(this, websocket, code, reason, remote); } } \ No newline at end of file diff --git a/tools/pom.xml b/tools/pom.xml index 3983c8f9ccb..0cc04180a89 100644 --- a/tools/pom.xml +++ b/tools/pom.xml @@ -1,4 +1,5 @@ - 4.0.0 tools @@ -43,5 +44,10 @@ j2mod 2.4.1 + + org.java-websocket + Java-WebSocket + 1.3.8 + \ No newline at end of file From 8b2d7771586099384a506e0d697585a39d48a32f Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 5 Jun 2018 19:30:44 +0200 Subject: [PATCH 30/50] Finalize completely async websocket handling --- .../backend/edgewebsocket/impl/OnMessage.java | 2 +- .../backend/edgewebsocket/impl/OnOpen.java | 19 ++++++++-- .../backend/edgewebsocket/impl/Utils.java | 9 ----- .../backend/metadata/odoo/OdooUtils.java | 3 +- .../uiwebsocket/impl/provider/OnClose.java | 8 +++-- .../uiwebsocket/impl/provider/OnMessage.java | 8 +++-- .../uiwebsocket/impl/provider/OnOpen.java | 11 +++--- .../impl/provider/UiWebsocketServer.java | 9 +++-- .../impl/provider/WebsocketData.java | 19 +++++----- .../common/websocket/AbstractOnOpen.java | 35 +++++++++++++++---- .../edge/controller/api/websocket/OnOpen.java | 5 ++- .../EdgeCurrentDataWorker.java | 5 +-- 12 files changed, 88 insertions(+), 45 deletions(-) delete mode 100644 io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java index 3b2103132a5..cf251b8000d 100644 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnMessage.java @@ -33,7 +33,7 @@ protected void run(WebSocket websocket, JsonObject jMessage) { Attachment attachment = websocket.getAttachment(); int[] edgeIds = attachment.getEdgeIds(); if (edgeIds.length == 0) { - log.warn("websocket was not fully handled by OnOpen yet"); + log.warn("Websocket was not fully handled by OnOpen yet. Apikey [" + attachment.getApikey() + "]"); this.parent.executorTryAgain(this); } diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java index 68726791633..a80a9602726 100644 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java +++ b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/OnOpen.java @@ -16,7 +16,6 @@ import io.openems.backend.common.events.BackendEventConstants; import io.openems.backend.metadata.api.Edge; import io.openems.common.exceptions.OpenemsException; -import io.openems.common.utils.JsonUtils; import io.openems.common.websocket.AbstractOnOpen; import io.openems.common.websocket.DefaultMessages; import io.openems.common.websocket.WebSocketUtils; @@ -32,7 +31,7 @@ public OnOpen(EdgeWebsocketServer parent, WebSocket websocket, ClientHandshake h } @Override - protected void run(WebSocket websocket, JsonObject jHandshake) { + protected void run(WebSocket websocket, ClientHandshake handshake) { String apikey = ""; try { // create websocket attachment @@ -40,7 +39,7 @@ protected void run(WebSocket websocket, JsonObject jHandshake) { websocket.setAttachment(attachment); // get apikey from handshake - Optional apikeyOpt = JsonUtils.getAsOptionalString(jHandshake, "apikey"); + Optional apikeyOpt = OnOpen.parseApikeyFromHandshake(handshake); if (!apikeyOpt.isPresent()) { throw new OpenemsException("Apikey is missing in handshake"); } @@ -108,4 +107,18 @@ protected void run(WebSocket websocket, JsonObject jHandshake) { "Connection to backend failed. Apikey [" + apikey + "]. Error: " + e.getMessage()); } } + + /** + * Parses the apikey from websocket onOpen handshake + * + * @param handshake + * @return + */ + private static Optional parseApikeyFromHandshake(ClientHandshake handshake) { + if (handshake.hasFieldValue("apikey")) { + String apikey = handshake.getFieldValue("apikey"); + return Optional.ofNullable(apikey); + } + return Optional.empty(); + } } diff --git a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java b/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java deleted file mode 100644 index e01c24600f0..00000000000 --- a/io.openems.backend.edgewebsocket.impl/src/io/openems/backend/edgewebsocket/impl/Utils.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.openems.backend.edgewebsocket.impl; - -public class Utils { - - private Utils() { - - } - -} diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java index 5c3bbc4f33b..fd89242c069 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/OdooUtils.java @@ -173,7 +173,8 @@ protected static Map[] searchAndRead(String url, String database Object[] params = new Object[] { database, uid, password, model, action, paramsDomain, paramsFields }; try { // Execute XML request - Object[] resultObjs = (Object[]) executeKw(url, params); + executeKw(url, params); + // Object[] resultObjs = (Object[]) executeKw(url, params); // Parse results // int[] results = new int[resultObjs.length]; // for (int i = 0; i < resultObjs.length; i++) { diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java index 981f5e04ee6..0c880fe94e6 100644 --- a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnClose.java @@ -1,6 +1,7 @@ package io.openems.backend.uiwebsocket.impl.provider; import java.util.Optional; +import java.util.UUID; import org.java_websocket.WebSocket; import org.slf4j.Logger; @@ -31,8 +32,11 @@ protected void run(WebSocket websocket, int code, String reason, boolean remote) currentDataWorkerOpt.get().dispose(); } // remove websocket from local cache - synchronized (this.parent.websocketsMap) { - this.parent.websocketsMap.remove(data.getUuid()); + UUID uuid = data.getUuid(); + if (uuid != null) { + synchronized (this.parent.websocketsMap) { + this.parent.websocketsMap.remove(uuid); + } } } } diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java index 3823eb5a74b..bc18352b061 100644 --- a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnMessage.java @@ -1,5 +1,6 @@ package io.openems.backend.uiwebsocket.impl.provider; +import java.util.NoSuchElementException; import java.util.Optional; import org.java_websocket.WebSocket; @@ -34,7 +35,10 @@ public OnMessage(UiWebsocketServer parent, WebSocket websocket, String message) protected void run(WebSocket websocket, JsonObject jMessage) { // get current User WebsocketData data = websocket.getAttachment(); - int userId = data.getUserId(); + Integer userId = data.getUserId(); + if (userId == null) { + return; + } Optional userOpt = this.parent.parent.metadataService.getUser(userId); if (!userOpt.isPresent()) { WebSocketUtils.sendNotificationOrLogError(websocket, new JsonObject(), LogBehaviour.WRITE_TO_LOG, @@ -125,7 +129,7 @@ protected void run(WebSocket websocket, JsonObject jMessage) { Optional roleOpt = user.getEdgeRole(edgeId); JsonObject j = DefaultMessages.prepareMessageForForwardToEdge(jMessage, data.getUuid(), roleOpt); this.parent.parent.edgeWebsocketService.forwardMessageFromUi(edgeId, j); - } catch (OpenemsException e) { + } catch (OpenemsException | NoSuchElementException e) { WebSocketUtils.sendNotificationOrLogError(websocket, jMessageId, LogBehaviour.WRITE_TO_LOG, Notification.EDGE_UNABLE_TO_FORWARD, edge.getName(), e.getMessage()); } diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java index 155f5e26e7e..bb1417a47a8 100644 --- a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/OnOpen.java @@ -17,7 +17,6 @@ import io.openems.backend.metadata.api.User; import io.openems.common.exceptions.OpenemsException; import io.openems.common.session.Role; -import io.openems.common.utils.JsonUtils; import io.openems.common.websocket.AbstractOnOpen; import io.openems.common.websocket.DefaultMessages; import io.openems.common.websocket.WebSocketUtils; @@ -33,11 +32,15 @@ public OnOpen(UiWebsocketServer parent, WebSocket websocket, ClientHandshake han } @Override - protected void run(WebSocket websocket, JsonObject jHandshake) { + protected void run(WebSocket websocket, ClientHandshake handshake) { + // create websocket attachment + WebsocketData attachment = new WebsocketData(); + websocket.setAttachment(attachment); + User user; // login using session_id from the cookie - Optional sessionIdOpt = JsonUtils.getAsOptionalString(jHandshake, "session_id"); + Optional sessionIdOpt = AbstractOnOpen.getFieldFromHandshakeCookie(handshake, "session_id"); try { if (sessionIdOpt.isPresent()) { // authenticate with Session-ID @@ -61,7 +64,7 @@ protected void run(WebSocket websocket, JsonObject jHandshake) { this.parent.websocketsMap.put(uuid, websocket); } // store userId together with the websocket - websocket.setAttachment(new WebsocketData(user.getId(), uuid)); + attachment.initialize(user.getId(), uuid); // send connection successful to browser JsonArray jEdges = new JsonArray(); diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java index 74ec4dc7071..8de220e96dc 100644 --- a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/UiWebsocketServer.java @@ -44,12 +44,15 @@ protected void handleEdgeReply(int edgeId, JsonObject jMessage) throws OpenemsEx } protected String getUserName(WebsocketData data) { - Optional userOpt = this.parent.metadataService.getUser(data.getUserId()); + Integer userId = data.getUserId(); + if (userId == null) { + return "ID:UNKNOWN"; + } + Optional userOpt = this.parent.metadataService.getUser(userId); if (userOpt.isPresent()) { return userOpt.get().getName(); - } else { - return "ID:" + data.getUserId(); } + return "ID:" + data.getUserId(); } @Override diff --git a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java index d56a6bd47e8..f00aa45c593 100644 --- a/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java +++ b/io.openems.backend.uiwebsocket.impl/src/io/openems/backend/uiwebsocket/impl/provider/WebsocketData.java @@ -4,17 +4,13 @@ import java.util.UUID; public class WebsocketData { - private final int userId; - private final UUID uuid; + // @Nullable + private Integer userId; + // @Nullable + private UUID uuid; private Optional currentDataWorker = Optional.empty(); - public WebsocketData(int userId, UUID uuid) { - super(); - this.userId = userId; - this.uuid = uuid; - } - - public int getUserId() { + public Integer getUserId() { return userId; } @@ -29,4 +25,9 @@ public void setCurrentDataWorker(BackendCurrentDataWorker currentDataWorker) { public Optional getCurrentDataWorker() { return currentDataWorker; } + + public void initialize(int userId, UUID uuid) { + this.userId = userId; + this.uuid = uuid; + } } diff --git a/io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java b/io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java index eb7da4e5d4d..9499ef3c2e8 100644 --- a/io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java +++ b/io.openems.common/src/io/openems/common/websocket/AbstractOnOpen.java @@ -1,6 +1,7 @@ package io.openems.common.websocket; import java.util.Iterator; +import java.util.Optional; import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; @@ -9,29 +10,31 @@ import com.google.gson.JsonObject; +import io.openems.common.utils.JsonUtils; + public abstract class AbstractOnOpen implements Runnable { private final Logger log = LoggerFactory.getLogger(AbstractOnOpen.class); protected final WebSocket websocket; - protected final JsonObject jHandshake; + protected final ClientHandshake handshake; public AbstractOnOpen(WebSocket websocket, ClientHandshake handshake) { this.websocket = websocket; - this.jHandshake = this.handshakeToJsonObject(handshake); + this.handshake = handshake; } @Override public final void run() { try { - this.run(this.websocket, this.jHandshake); + this.run(this.websocket, handshake); } catch (Throwable e) { - log.error("onOpen-Error [" + this.jHandshake + "]: "); + log.error("onOpen-Error [" + this.handshakeToJsonObject(handshake).toString() + "]: "); e.printStackTrace(); } } - protected abstract void run(WebSocket websocket, JsonObject jHandshake); + protected abstract void run(WebSocket websocket, ClientHandshake handshake); /** * Converts a Handshake to a JsonObject @@ -39,7 +42,7 @@ public final void run() { * @param handshake * @return */ - protected JsonObject handshakeToJsonObject(ClientHandshake handshake) { + private JsonObject handshakeToJsonObject(ClientHandshake handshake) { JsonObject j = new JsonObject(); for (Iterator iter = handshake.iterateHttpFields(); iter.hasNext();) { String field = iter.next(); @@ -47,4 +50,24 @@ protected JsonObject handshakeToJsonObject(ClientHandshake handshake) { } return j; } + + /** + * Get field from cookie in the handshake + * + * @param handshake + * @return value as optional + */ + protected static Optional getFieldFromHandshakeCookie(ClientHandshake handshake, String fieldname) { + JsonObject jCookie = new JsonObject(); + if (handshake.hasFieldValue("cookie")) { + String cookieString = handshake.getFieldValue("cookie"); + for (String cookieVariable : cookieString.split("; ")) { + String[] keyValue = cookieVariable.split("="); + if (keyValue.length == 2) { + jCookie.addProperty(keyValue[0], keyValue[1]); + } + } + } + return JsonUtils.getAsOptionalString(jCookie, fieldname); + } } diff --git a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java index 8c79a1fd43d..b657af79180 100644 --- a/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java +++ b/io.openems.edge.controller.api.websocket/src/io/openems/edge/controller/api/websocket/OnOpen.java @@ -13,7 +13,6 @@ import com.google.gson.JsonObject; import io.openems.common.exceptions.OpenemsException; -import io.openems.common.utils.JsonUtils; import io.openems.common.utils.SecureRandomSingleton; import io.openems.common.websocket.AbstractOnOpen; import io.openems.common.websocket.LogBehaviour; @@ -32,13 +31,13 @@ public OnOpen(WebsocketApiServer parent, WebSocket websocket, ClientHandshake ha } @Override - protected void run(WebSocket websocket, JsonObject jHandshake) { + protected void run(WebSocket websocket, ClientHandshake handshake) { // generate UUID for this websocket (browser tab) UUID uuid = UUID.randomUUID(); // get token from cookie or generate new token String token; - Optional cookieTokenOpt = JsonUtils.getAsOptionalString(jHandshake, "token"); + Optional cookieTokenOpt = AbstractOnOpen.getFieldFromHandshakeCookie(handshake, "token"); if (cookieTokenOpt.isPresent()) { token = cookieTokenOpt.get(); } else { diff --git a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeCurrentDataWorker.java b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeCurrentDataWorker.java index e6f3950b46e..d3f1f8e1fdd 100644 --- a/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeCurrentDataWorker.java +++ b/io.openems.edge.controller.api/src/io/openems/edge/controller/api/apicontrollerutils/EdgeCurrentDataWorker.java @@ -16,14 +16,15 @@ public class EdgeCurrentDataWorker extends CurrentDataWorker { /** * The access level Role of this worker */ - private final Role role; + // TODO + // private final Role role; private final EdgeWebsocketHandler parent; public EdgeCurrentDataWorker(EdgeWebsocketHandler parent, Role role, WebSocket websocket) { super(websocket); this.parent = parent; - this.role = role; + // this.role = role; } @Override From edf5d9812522302913afd6e953693fd828a1493b Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 5 Jun 2018 21:16:39 +0200 Subject: [PATCH 31/50] Improve documentation: Getting Started --- README.md | 7 +- doc/OpenEMS_EN.adoc | 187 ++- doc/OpenEMS_EN.html | 1095 +++++++++++++++++ doc/OpenEMS_EN.pdf | Bin 0 -> 1452870 bytes .../apache-felix-console-configuration.png | Bin 0 -> 39697 bytes doc/img/config-controller-api-websocket.png | Bin 0 -> 28251 bytes .../config-controller-balancing-symmetric.png | Bin 0 -> 35730 bytes doc/img/config-controller-debug-log.png | Bin 0 -> 20751 bytes .../config-scheduler-all-alphabetically.png | Bin 0 -> 25585 bytes ...lator-datasource-standard-load-profile.png | Bin 0 -> 24481 bytes ...config-simulator-esssymmetric-reacting.png | Bin 0 -> 27467 bytes .../config-simulator-grid-meter-acting.png | Bin 0 -> 35572 bytes doc/img/eclipse-edge-initial-log-output.png | Bin 0 -> 77227 bytes .../eclipse-io.openems.edge.application.png | Bin 0 -> 14423 bytes doc/img/eclipse-no-problems.png | Bin 0 -> 7595 bytes doc/img/eclipse-resolve-osgi.png | Bin 0 -> 5536 bytes doc/img/openems-ui-edge-overview.png | Bin 0 -> 78342 bytes doc/img/openems-ui-login.png | Bin 0 -> 11993 bytes doc/img/openems-ui-overview.png | Bin 0 -> 20428 bytes 19 files changed, 1280 insertions(+), 9 deletions(-) create mode 100644 doc/OpenEMS_EN.html create mode 100644 doc/OpenEMS_EN.pdf create mode 100644 doc/img/apache-felix-console-configuration.png create mode 100644 doc/img/config-controller-api-websocket.png create mode 100644 doc/img/config-controller-balancing-symmetric.png create mode 100644 doc/img/config-controller-debug-log.png create mode 100644 doc/img/config-scheduler-all-alphabetically.png create mode 100644 doc/img/config-simulator-datasource-standard-load-profile.png create mode 100644 doc/img/config-simulator-esssymmetric-reacting.png create mode 100644 doc/img/config-simulator-grid-meter-acting.png create mode 100644 doc/img/eclipse-edge-initial-log-output.png create mode 100644 doc/img/eclipse-io.openems.edge.application.png create mode 100644 doc/img/eclipse-no-problems.png create mode 100644 doc/img/eclipse-resolve-osgi.png create mode 100644 doc/img/openems-ui-edge-overview.png create mode 100644 doc/img/openems-ui-login.png create mode 100644 doc/img/openems-ui-overview.png diff --git a/README.md b/README.md index 36afd818f1c..792bac6927d 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ The OpenEMS software architecture was designed to leverage some features that ar ## System architecture OpenEMS is generally used in combination with external hardware and software components -(the exception is a simulated development environment - see [Getting Started](https://github.com/OpenEMS/openems/blob/old_master/README.md#get-started)). As a brief overview, this is how OpenEMS is used in production setups: +(the exception is a simulated development environment - see [Getting Started](/doc/OpenEMS_EN.adoc#getting-started)). As a brief overview, this is how OpenEMS is used in production setups: @@ -41,7 +41,10 @@ OpenEMS is generally used in combination with external hardware and software com Indepth documentation is currently in progress. Please find the latest documents here: - * [Latest draft of documentation](http://htmlpreview.github.io/?https://github.com/OpenEMS/openems/blob/feature/improve_doc/doc/openems.html) + * [Latest version of documentation](/doc/OpenEMS_EN.adoc) + * [Latest version of documentation in HTML format](http://htmlpreview.github.io/?https://github.com/OpenEMS/openems/blob/develop/doc/OpenEMS_EN.html) + * [Latest version of documentation in PDF format](/doc/OpenEMS_EN.pdf) + * [Documentation of previous version of OpenEMS](http://htmlpreview.github.io/?https://github.com/OpenEMS/openems/blob/feature/improve_doc/doc/openems.html) * [Previous version readme](https://github.com/OpenEMS/openems/blob/old_master/README.md) ## Open Source philosophy diff --git a/doc/OpenEMS_EN.adoc b/doc/OpenEMS_EN.adoc index f891ef21252..57ca4ab6631 100644 --- a/doc/OpenEMS_EN.adoc +++ b/doc/OpenEMS_EN.adoc @@ -69,7 +69,7 @@ For handling git we recommend https://www.sourcetreeapp.com/[Sourctree by Atlass === System architecture OpenEMS is generally used in combination with external hardware and software components -(the exception is a simulated development environment - see [Getting Started](https://github.com/OpenEMS/openems/blob/old_master/README.md#get-started)). +(the exception is a simulated development environment - see https://github.com/OpenEMS/openems/blob/old_master/README.md#get-started[Getting Started]) As a brief overview, this is how OpenEMS is used in production setups: .OpenEMS system architecture @@ -91,8 +91,7 @@ This quick 'Getting Started' should help you setup up a complete development env ... enter the git repository path `https://github.com/OpenEMS/openems.git` ... select a target directory, for example `C:\Users\your.user\git\openems` ... and press btn:[Clone]. -// TODO + - ++ .Cloning the git repository using Sourcetree image::sourcetree.png[Cloning the git repository using Sourcetree] @@ -110,9 +109,9 @@ image::sourcetree.png[Cloning the git repository using Sourcetree] .. Download https://www.eclipse.org[Eclipse for Java icon:external-link[]], install and start it .. On first start you will get asked to create a workspace. Select a directory - for example `C:\Users\your.user\git\openems-workspace` - and press btn:[Lauch]. _The directory needs to be different from your source code directory selected above._ -//TODO + -// .Creating a workspace in Eclipse IDE -// image::eclipse-workspace.png[Creating a workspace in Eclipse IDE] ++ +.Creating a workspace in Eclipse IDE +image::eclipse-workspace.png[Creating a workspace in Eclipse IDE] .. Install http://bndtools.org[BndTools icon:external-link[]] in Eclipse: + @@ -122,4 +121,178 @@ Menu: btn:[Help] → btn:[Eclipse Marketplace...] → btn:[Find:] → enter btn + Menu: btn:[File] → btn:[Import...] → btn:[Bndtools] → btn:[Existing Bnd Workspace] → Root directory: btn:[Browse...] → select the directory with the source code - for example `C:\Users\your.user\git\openems` → btn:[OK] → btn:[Finish] → "Switch to Bndtools perspective?" btn:[yes] -. Eclipse should have successfully built OpenEMS Edge and Backend. \ No newline at end of file +. Eclipse should have successfully built OpenEMS Edge and Backend, showing no entry in Problems. ++ +.Eclipse IDE showing 'no problems' +image::eclipse-no-problems.png[Eclipse IDE showing 'no problems'] + +=== Run OpenEMS Edge and start Simulator + +. Run OpenEMS Edge +.. In Eclipse IDE open the project btn:[io.openems.edge.application] and double click on btn:[EdgeApp.run]. ++ +.io.openems.edge.application project in Eclipse IDE +image::eclipse-io.openems.edge.application.png[io.openems.edge.application project in Eclipse IDE] + +.. Click on btn:[Resolve] to resolve all dependencies and accept the 'Resolution Results' popup window with btn:[Finish]. ++ +.Resolve OSGi in Eclipse IDE +image::eclipse-resolve-osgi.png[Resolve OSGi in Eclipse IDE] + +.. Click on btn:[Run OSGi] to run OpenEMS Edge. You should see log outputs on the console inside Eclipse IDE. ++ +.OpenEMS Edge initial log output +image::eclipse-edge-initial-log-output.png[OpenEMS Edge initial log output] + +. Configure and start the Simulator +.. Open the http://localhost:8080/system/console/configMgr[Apache Felix Web Console Configuration icon:external-link[]] ++ +.Apache Felix Web Console Configuration +image::apache-felix-console-configuration.png[Apache Felix Web Console Configuration] + +.. Configure a Scheduler ++ +NOTE: The Scheduler is responsible for executing the control algorithms (Controllers) and defines the OpenEMS Edge application cycle +// TODO: link to Scheduler description + +... Click on "Scheduler All Alphabetically" ++ +.Configuration of All Alphabetically Scheduler +image::config-scheduler-all-alphabetically.png[Configuration of All Alphabetically Scheduler] + +... Accept the default values and click btn:[Save] + +... You created your first instance of an OpenEMS Component with ID "scheduler0". The log shows: ++ +`INFO [onent.AbstractOpenemsComponent] [scheduler0] Activate AllAlphabetically [edge.scheduler.allalphabetically]` ++ +Add any other OpenEMS Components in the same way: + +.. Configure debug outputs on the console: "Controller Debug Log". The default values can be accepted without changes. ++ +.Configuration of Controller Debug Log +image::config-controller-debug-log.png[Configuration of Controller Debug Log] ++ +The log shows: ++ +`INFO [onent.AbstractOpenemsComponent] [ctrlDebugLog0] Activate DebugLog [edge.controller.debuglog]`, ++ +followed once per second by ++ +`INFO [e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:0 %|L:0 W Grid L:0 W Production L:0 W Consumption L:0 W]`. ++ +NOTE: It is once per second because you accepted the default value of "1000 ms" for "Cycle time" in the Scheduler configuration. + +.. Configure the standard-load-profile datasource: "Simulator DataSource: Standard Load Profile". The default values can be accepted without changes. ++ +.Configuration of Simulator DataSource: Standard Load Profile +image::config-simulator-datasource-standard-load-profile.png[Configuration of Simulator DataSource: Standard Load Profile] ++ +The log shows: ++ +`INFO [onent.AbstractOpenemsComponent] [datasource0] Activate StandardLoadProfileDatasource [edge.simulator.datasource.standardloadprofile]`, ++ +NOTE: The data source was configured with the OpenEMS Component ID "datasource0" which will be used in the next step as reference. + +.. Configure a simulated grid meter: "Simulator GridMeter Acting". Configure the Datasource-ID "datasource0" to refer to the data source configured above. ++ +.Configuration of Simulator GridMeter Acting +image::config-simulator-grid-meter-acting.png[Configuration of Simulator GridMeter Acting] ++ +This time some more logs will show up. Most importantly they show, that the Grid meter now shows a power value. ++ +---- +INFO [onent.AbstractOpenemsComponent] [meter0] Activate GridMeter [edge.simulator.meter.grid.acting] +[onent.AbstractOpenemsComponent] [meter0] Deactivate GridMeter [edge.simulator.meter.grid.acting] +[onent.AbstractOpenemsComponent] [meter0] Activate GridMeter [edge.simulator.meter.grid.acting] +[e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:0 %|L:0 W Grid L:1423 W Production L:0 W Consumption L:1423 W] meter0[1423 W] +---- ++ +NOTE: This setup causes the simulated grid-meter to take the standardized load-profiles data as input parameter. ++ +NOTE: 'Acting' referrs to the fact, that this meter actively provides data - in opposite to a 'Reacting' device that is reacting on other components: for example the 'Simulator.EssSymmetric.Reacting' configured below. + +.. Configure a simulated reacting energy storage system: "Simulator EssSymmetric Reacting". The default values can be accepted without changes. ++ +.Configuration of Simulator EssSymmetric Reacting +image::config-simulator-esssymmetric-reacting.png[Configuration of Simulator EssSymmetric Reacting] ++ +The log shows: ++ +`INFO [e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:50 %|L:0 W Grid L:864 W Production L:0 W Consumption L:864 W] ess0[SoC:50 %|L:0 W|OnGrid] meter0[864 W]` ++ +Note, that the DebugLog now shows data for the battery, but the charge/discharge power stays at "0 W" and the state of charge stays at "50 %" as configured. Next step is to configure a control algorithm that tells the battery to charge or discharge. + +.. Configure the self-consumption optimization algorithm: "Controller Balancing Symmetric". Configure the Ess-ID "ess0" and Grid-Meter-ID "meter0" to refer to the components configured above. ++ +.Configuration of Symmetric Balancing Controller +image::config-controller-balancing-symmetric.png[Configuration of Symmetric Balancing Controller] ++ +The log shows: ++ +`INFO [e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:49 %|L:1167 W Grid L:-39 W Production L:0 W Consumption L:1128 W] ess0[SoC:49 %|L:1167 W|OnGrid] meter0[-39 W]` ++ +NOTE: Note, how the Controller now tells the battery to discharge (`Ess SoC:49 %|L:1167 W`), trying to balance the Grid power to "0 W" (`Grid L:-39 W`): + +.. Configure the websocket Api Controller: "Controller Api Websocket". The default values can be accepted without changes. ++ +.Configuration of Controller Api Websocket +image::config-controller-api-websocket.png[Configuration of Controller Api Websocket] ++ +The log shows: ++ +---- +INFO [onent.AbstractOpenemsComponent] [ctrlApiWebsocket0] Activate WebsocketApi [edge.controller.api.websocket] +INFO [ler.api.websocket.WebsocketApi] [ctrlApiWebsocket0] Websocket-Api started on port [8085]. +---- ++ +NOTE: The Controller Api Websocket is required to enable access to OpenEMS Edge by a local OpenEMS UI. + +=== Setup Visual Studio Code for OpenEMS UI + +. Download https://nodejs.org[node.js LTS icon:external-link[]] and install it. +. Download https://code.visualstudio.com/[Visual Studio Code icon:external-link[]], install and start it. +. Open OpenEMS UI source code in Visual Studio Code: ++ +Menu: btn:[File] → btn:[Open directory...] → Select the `ui` directory inside the downloaded source code (for example `C:\Users\your.user\git\openems\ui`) → btn:[Select directory] + +. Open the integrated terminal: ++ +Menu: btn:[Show] → btn:[Integrated terminal] + +. Install https://cli.angular.io/[Angular CLI icon:external-link[]]: ++ +`npm install -g @angular/cli` + +. Resolve and download dependencies: ++ +`npm install` + +=== Run OpenEMS UI + +. In Visual Studios integrated terminal type... ++ +`ng serve` ++ +The log shows: ++ +`NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/` + +. Open a browser at http://localhost:4200 + +. You should see OpenEMS UI. Log in as user "guest" by clicking on the tick mark. Alternatively type "admin" in the password field to log in with extended permissions. ++ +.OpenEMS UI Login screen +image::openems-ui-login.png[OpenEMS UI Login screen] + +. Change to the Energymonitor by clicking on the arrow. ++ +.OpenEMS UI Overview screen +image::openems-ui-overview.png[OpenEMS UI Overview screen] + +. You should see the Energymonitor showing the same data as the DebugLog output on the console. ++ +.OpenEMS UI Energymonitor screen +image::openems-ui-edge-overview.png[OpenEMS UI Energymonitor screen] ++ +NOTE: OpenEMS UI will complain that "no timedata source is available". Because of this the historic chart is not yet functional. diff --git a/doc/OpenEMS_EN.html b/doc/OpenEMS_EN.html new file mode 100644 index 00000000000..ab33c0668c8 --- /dev/null +++ b/doc/OpenEMS_EN.html @@ -0,0 +1,1095 @@ + + + + + + + + + +OpenEMS: Open Energy Management System + + + + + + +
      +
      +

      1. Introduction

      +
      +
      +

      OpenEMS is a modular platform for energy management applications. +It was developed around the requirements of controlling, monitoring and integrating energy storage systems together with renewable energy sources and complementary devices and services.

      +
      +
      +

      1.1. OpenEMS IoT stack

      +
      +

      The OpenEMS 'Internet of Things' stack contains three main components:

      +
      +
      +
        +
      • +

        OpenEMS Edge runs on site and actually controls the devices

        +
      • +
      • +

        OpenEMS UI is the generic user interface

        +
      • +
      • +

        OpenEMS Backend runs on a (cloud) server, connects the decentralized Edge systems and provides aggregation, monitoring and control via internet

        +
      • +
      +
      +
      +
      +

      1.2. Features

      +
      +

      The OpenEMS software architecture was designed to leverage some features that are required by a modern and flexible Energy Management System:

      +
      +
      +
        +
      • +

        Fast, PLC-like control of battery inverters and other devices

        +
      • +
      • +

        Easily extendable due to the use of modern programming languages and modular architecture

        +
      • +
      • +

        Wide range of supported devices - (battery) inverters, meters, etc. - and protocols

        +
      • +
      • +

        Modern web-based real-time user interface

        +
      • +
      +
      +
      +
      +Screenshots of OpenEMS UI +
      +
      Figure 1. Screenshots of OpenEMS UI
      +
      +
      +
      +Screenshots of OpenEMS UI +
      +
      Figure 2. Screenshots of OpenEMS UI
      +
      +
      +
      +

      1.3. Open Source philosophy

      +
      +

      OpenEMS development was started by FENECON GmbH , a German company specialized in manufacturing and project development of energy storage systems. It is the software stack behind FEMS - FENECON Energy Management System and widely used in private, commercial and industrial applications.

      +
      +
      +

      We are inviting third parties - like universities, hardware manufacturers, software companies, commercial and private owners,…​ - to use OpenEMS for their own projects and are glad to support them with their first steps. In any case if you are interested in OpenEMS our development team would be glad to hear from you at fems@fenecon.de.

      +
      +
      +

      OpenEMS is funded by several federal and EU funding projects. If you are a developer and you would like to get hired by one of the partner companies or universities for working on OpenEMS, please send your motivation letter to fems@fenecon.de.

      +
      +
      +
      +

      1.4. License

      +
      +
        +
      • +

        OpenEMS Edge

        +
      • +
      • +

        OpenEMS Backend

        +
      • +
      +
      +
      +

      Copyright © 2016-2018 FENECON GmbH.

      +
      +
      +

      This product includes software developed at FENECON GmbH: you can +redistribute it and/or modify it under the terms of the [Eclipse Public License version 2.0](LICENSE-EPL-2.0).

      +
      +
      +
        +
      • +

        OpenEMS UI

        +
      • +
      +
      +
      +

      Copyright © 2016-2018 FENECON GmbH.

      +
      +
      +

      This product includes software developed at FENECON GmbH: you can +redistribute it and/or modify it under the terms of the [GNU Affero General Public License version 3](LICENSE-AGPL-3.0).

      +
      +
      +
      +

      1.5. Development guidelines

      +
      +

      Development follows the Agile Manifesto and is driven by the Scrum methodology. +The source code is available online at http://openems.io and on GitHub . +New versions are released after every Scrum Sprint and tagged accordingly. +Version numbers are built using the pattern year.number of sprint, e.g. version 2018.4 is the result of the fourth sprint in 2018. +Git development follows the Gitflow Workflow, so the master branch always holds the stable release, while active development is happening on the develop branch or in separate feature branches.

      +
      +
      +

      For Edge and Backend Java development we recommend the Eclipse IDE . +For the UI (TypeScript + Angular.io) we recommend Visual Studio Code . +The documentation is generated using AsciiDoc . +For handling git we recommend Sourctree by Atlassian .

      +
      +
      +
      +

      1.6. System architecture

      +
      +

      OpenEMS is generally used in combination with external hardware and software components +(the exception is a simulated development environment - see Getting Started) +As a brief overview, this is how OpenEMS is used in production setups:

      +
      +
      +
      +OpenEMS system architecture +
      +
      Figure 3. OpenEMS system architecture
      +
      +
      +
      +
      +
      +

      2. Getting Started

      +
      +
      +

      This quick 'Getting Started' should help you setup up a complete development environment. On finishing you will have a working instance of OpenEMS Edge, with simulated energy storage and photovoltaic system, as well as an OpenEMS UI for monitoring the simulator inside your web browser.

      +
      +
      +

      2.1. Download the source code

      +
      +
        +
      1. +

        Download any git client and install it. Our recommendation is Sourctree by Atlassian

        +
      2. +
      3. +

        Clone the OpenEMS git repository

        +
        +
          +
        1. +

          In Sourcetree:

          +
          +
            +
          1. +

            press FileClone

            +
          2. +
          3. +

            enter the git repository path https://github.com/OpenEMS/openems.git

            +
          4. +
          5. +

            select a target directory, for example C:\Users\your.user\git\openems

            +
          6. +
          7. +

            and press Clone.

            +
            +
            +Cloning the git repository using Sourcetree +
            +
            Figure 4. Cloning the git repository using Sourcetree
            +
            +
          8. +
          +
          +
        2. +
        3. +

          Alternatively: with the git command line utility

          +
          +
            +
          1. +

            open a console

            +
          2. +
          3. +

            change to the target directory

            +
          4. +
          5. +

            execute git clone https://github.com/OpenEMS/openems.git

            +
          6. +
          +
          +
        4. +
        +
        +
      4. +
      5. +

        Git is downloading the complete source code for you.

        +
      6. +
      +
      +
      +
      +

      2.2. Setup Eclipse IDE for OpenEMS Edge and Backend

      +
      +
        +
      1. +

        Prepare Eclipse IDE

        +
        +
          +
        1. +

          Download Eclipse for Java , install and start it

          +
        2. +
        3. +

          On first start you will get asked to create a workspace. +Select a directory - for example C:\Users\your.user\git\openems-workspace - and press Lauch. The directory needs to be different from your source code directory selected above.

          +
          +
          +Creating a workspace in Eclipse IDE +
          +
          Figure 5. Creating a workspace in Eclipse IDE
          +
          +
        4. +
        5. +

          Install BndTools in Eclipse:

          +
          +

          Menu: HelpEclipse Marketplace…​Find: → enter Bndtools → press Install

          +
          +
        6. +
        +
        +
      2. +
      3. +

        Import OpenEMS component projects (OSGi bundles):

        +
        +

        Menu: FileImport…​BndtoolsExisting Bnd Workspace → Root directory: Browse…​ → select the directory with the source code - for example C:\Users\your.user\git\openemsOKFinish → "Switch to Bndtools perspective?" yes

        +
        +
      4. +
      5. +

        Eclipse should have successfully built OpenEMS Edge and Backend, showing no entry in Problems.

        +
        +
        +Eclipse IDE showing 'no problems' +
        +
        Figure 6. Eclipse IDE showing 'no problems'
        +
        +
      6. +
      +
      +
      +
      +

      2.3. Run OpenEMS Edge and start Simulator

      +
      +
        +
      1. +

        Run OpenEMS Edge

        +
        +
          +
        1. +

          In Eclipse IDE open the project io.openems.edge.application and double click on EdgeApp.run.

          +
          +
          +io.openems.edge.application project in Eclipse IDE +
          +
          Figure 7. io.openems.edge.application project in Eclipse IDE
          +
          +
        2. +
        3. +

          Click on Resolve to resolve all dependencies and accept the 'Resolution Results' popup window with Finish.

          +
          +
          +Resolve OSGi in Eclipse IDE +
          +
          Figure 8. Resolve OSGi in Eclipse IDE
          +
          +
        4. +
        5. +

          Click on Run OSGi to run OpenEMS Edge. You should see log outputs on the console inside Eclipse IDE.

          +
          +
          +OpenEMS Edge initial log output +
          +
          Figure 9. OpenEMS Edge initial log output
          +
          +
        6. +
        +
        +
      2. +
      3. +

        Configure and start the Simulator

        +
        +
          +
        1. +

          Open the Apache Felix Web Console Configuration

          +
          +
          +Apache Felix Web Console Configuration +
          +
          Figure 10. Apache Felix Web Console Configuration
          +
          +
        2. +
        3. +

          Configure a Scheduler

          +
          + + + + + +
          + + +The Scheduler is responsible for executing the control algorithms (Controllers) and defines the OpenEMS Edge application cycle +
          +
          +
          +
            +
          1. +

            Click on "Scheduler All Alphabetically"

            +
            +
            +Configuration of All Alphabetically Scheduler +
            +
            Figure 11. Configuration of All Alphabetically Scheduler
            +
            +
          2. +
          3. +

            Accept the default values and click Save

            +
          4. +
          5. +

            You created your first instance of an OpenEMS Component with ID "scheduler0". The log shows:

            +
            +

            INFO [onent.AbstractOpenemsComponent] [scheduler0] Activate AllAlphabetically [edge.scheduler.allalphabetically]

            +
            +
            +

            Add any other OpenEMS Components in the same way:

            +
            +
          6. +
          +
          +
        4. +
        5. +

          Configure debug outputs on the console: "Controller Debug Log". The default values can be accepted without changes.

          +
          +
          +Configuration of Controller Debug Log +
          +
          Figure 12. Configuration of Controller Debug Log
          +
          +
          +

          The log shows:

          +
          +
          +

          INFO [onent.AbstractOpenemsComponent] [ctrlDebugLog0] Activate DebugLog [edge.controller.debuglog],

          +
          +
          +

          followed once per second by

          +
          +
          +

          INFO [e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:0 %|L:0 W Grid L:0 W Production L:0 W Consumption L:0 W].

          +
          +
          + + + + + +
          + + +It is once per second because you accepted the default value of "1000 ms" for "Cycle time" in the Scheduler configuration. +
          +
          +
        6. +
        7. +

          Configure the standard-load-profile datasource: "Simulator DataSource: Standard Load Profile". The default values can be accepted without changes.

          +
          +
          +Configuration of Simulator DataSource: Standard Load Profile +
          +
          Figure 13. Configuration of Simulator DataSource: Standard Load Profile
          +
          +
          +

          The log shows:

          +
          +
          +

          INFO [onent.AbstractOpenemsComponent] [datasource0] Activate StandardLoadProfileDatasource [edge.simulator.datasource.standardloadprofile],

          +
          +
          + + + + + +
          + + +The data source was configured with the OpenEMS Component ID "datasource0" which will be used in the next step as reference. +
          +
          +
        8. +
        9. +

          Configure a simulated grid meter: "Simulator GridMeter Acting". Configure the Datasource-ID "datasource0" to refer to the data source configured above.

          +
          +
          +Configuration of Simulator GridMeter Acting +
          +
          Figure 14. Configuration of Simulator GridMeter Acting
          +
          +
          +

          This time some more logs will show up. Most importantly they show, that the Grid meter now shows a power value.

          +
          +
          +
          +
          INFO  [onent.AbstractOpenemsComponent] [meter0] Activate GridMeter [edge.simulator.meter.grid.acting]
          +[onent.AbstractOpenemsComponent] [meter0] Deactivate GridMeter [edge.simulator.meter.grid.acting]
          +[onent.AbstractOpenemsComponent] [meter0] Activate GridMeter [edge.simulator.meter.grid.acting]
          +[e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:0 %|L:0 W Grid L:1423 W Production L:0 W Consumption L:1423 W] meter0[1423 W]
          +
          +
          +
          + + + + + +
          + + +This setup causes the simulated grid-meter to take the standardized load-profiles data as input parameter. +
          +
          +
          + + + + + +
          + + +'Acting' referrs to the fact, that this meter actively provides data - in opposite to a 'Reacting' device that is reacting on other components: for example the 'Simulator.EssSymmetric.Reacting' configured below. +
          +
          +
        10. +
        11. +

          Configure a simulated reacting energy storage system: "Simulator EssSymmetric Reacting". The default values can be accepted without changes.

          +
          +
          +Configuration of Simulator EssSymmetric Reacting +
          +
          Figure 15. Configuration of Simulator EssSymmetric Reacting
          +
          +
          +

          The log shows:

          +
          +
          +

          INFO [e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:50 %|L:0 W Grid L:864 W Production L:0 W Consumption L:864 W] ess0[SoC:50 %|L:0 W|OnGrid] meter0[864 W]

          +
          +
          +

          Note, that the DebugLog now shows data for the battery, but the charge/discharge power stays at "0 W" and the state of charge stays at "50 %" as configured. Next step is to configure a control algorithm that tells the battery to charge or discharge.

          +
          +
        12. +
        13. +

          Configure the self-consumption optimization algorithm: "Controller Balancing Symmetric". Configure the Ess-ID "ess0" and Grid-Meter-ID "meter0" to refer to the components configured above.

          +
          +
          +Configuration of Symmetric Balancing Controller +
          +
          Figure 16. Configuration of Symmetric Balancing Controller
          +
          +
          +

          The log shows:

          +
          +
          +

          INFO [e.controller.debuglog.DebugLog] [ctrlDebugLog0] _sum[Ess SoC:49 %|L:1167 W Grid L:-39 W Production L:0 W Consumption L:1128 W] ess0[SoC:49 %|L:1167 W|OnGrid] meter0[-39 W]

          +
          +
          + + + + + +
          + + +Note, how the Controller now tells the battery to discharge (Ess SoC:49 %|L:1167 W), trying to balance the Grid power to "0 W" (Grid L:-39 W): +
          +
          +
        14. +
        15. +

          Configure the websocket Api Controller: "Controller Api Websocket". The default values can be accepted without changes.

          +
          +
          +Configuration of Controller Api Websocket +
          +
          Figure 17. Configuration of Controller Api Websocket
          +
          +
          +

          The log shows:

          +
          +
          +
          +
          INFO  [onent.AbstractOpenemsComponent] [ctrlApiWebsocket0] Activate WebsocketApi [edge.controller.api.websocket]
          +INFO  [ler.api.websocket.WebsocketApi] [ctrlApiWebsocket0] Websocket-Api started on port [8085].
          +
          +
          +
          + + + + + +
          + + +The Controller Api Websocket is required to enable access to OpenEMS Edge by a local OpenEMS UI. +
          +
          +
        16. +
        +
        +
      4. +
      +
      +
      +
      +

      2.4. Setup Visual Studio Code for OpenEMS UI

      +
      +
        +
      1. +

        Download node.js LTS and install it.

        +
      2. +
      3. +

        Download Visual Studio Code , install and start it.

        +
      4. +
      5. +

        Open OpenEMS UI source code in Visual Studio Code:

        +
        +

        Menu: FileOpen directory…​ → Select the ui directory inside the downloaded source code (for example C:\Users\your.user\git\openems\ui) → Select directory

        +
        +
      6. +
      7. +

        Open the integrated terminal:

        +
        +

        Menu: ShowIntegrated terminal

        +
        +
      8. +
      9. +

        Install Angular CLI :

        +
        +

        npm install -g @angular/cli

        +
        +
      10. +
      11. +

        Resolve and download dependencies:

        +
        +

        npm install

        +
        +
      12. +
      +
      +
      +
      +

      2.5. Run OpenEMS UI

      +
      +
        +
      1. +

        In Visual Studios integrated terminal type…​

        +
        +

        ng serve

        +
        +
        +

        The log shows:

        +
        +
        +

        NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/

        +
        +
      2. +
      3. +

        Open a browser at http://localhost:4200

        +
      4. +
      5. +

        You should see OpenEMS UI. Log in as user "guest" by clicking on the tick mark. Alternatively type "admin" in the password field to log in with extended permissions.

        +
        +
        +OpenEMS UI Login screen +
        +
        Figure 18. OpenEMS UI Login screen
        +
        +
      6. +
      7. +

        Change to the Energymonitor by clicking on the arrow.

        +
        +
        +OpenEMS UI Overview screen +
        +
        Figure 19. OpenEMS UI Overview screen
        +
        +
      8. +
      9. +

        You should see the Energymonitor showing the same data as the DebugLog output on the console.

        +
        +
        +OpenEMS UI Energymonitor screen +
        +
        Figure 20. OpenEMS UI Energymonitor screen
        +
        +
        + + + + + +
        + + +OpenEMS UI will complain that "no timedata source is available". Because of this the historic chart is not yet functional. +
        +
        +
      10. +
      +
      +
      +
      +
      +
      + + + + + + \ No newline at end of file diff --git a/doc/OpenEMS_EN.pdf b/doc/OpenEMS_EN.pdf new file mode 100644 index 0000000000000000000000000000000000000000..77e2b35d1d61372ac3bd44ae169858bea87a559f GIT binary patch literal 1452870 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%0AP#M3|TrqnS-SdP<0rXmm~pb`$j)z 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»K)-odv?k<;C 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

      X<{AX;GgF!Pj-o`_@%xqR#5f@ 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%0ASrXx48*X#cfGX7 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

      ~Qn#HIQ8=uFfYW${vMq(D*|MK-5 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

      *(}W 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

      eDXSRvqYeA)vOO>Q{DS^fZR!A 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

      l%XTZNPeSj4bC|7dIMJ-vmi zTeJ-bx*fcY&M{RR4hinrytMS#{1FIDdg;*;w1wsj_*JC!c?e_$TrV}EZ3ZfRE>TUl zo;ms7T@%%Rl^ze&>pOaWh8=PyN&zfo1paL?_&aCxn2a02kbBb6kO)Y$WPieJ#*BX~lB%J(e_4&>yR%`|xZI0X7 zq_e3dAzpbUCnv*}2}CBNuDkOrwhd7D8IDe6&J_Tl_8|J~xwgc@Kcl|~jg|<#Q6k~< zyB&>18gVzo`FXkW9X^lh_UNWO(Q>98;EbNuzXY1DZF#!?0_ zddh*}60mj%4{=Y$R&##+dbtIgtk$|4`Sp?ytiWIZHW{Wo4#F&Zk#ZA5KadsTmBq%8E>7X&F13JEiAg3LA4cEl*rj%N*#jOf zw|tQV0&RV4H;O5)b#iuH4K@)A^0Ko7j;XYi@?{w+E4wfJG4UM7+sJ7N{oidq3*IJ? z_BsO|??zUr<_dW3p3e5{U(-b4G`|${vb+=+y-hNGzEhQ3H76v*5ea=bO6Z(F&EV}B z4S1VKfbCv|J1t1LO40v)942(=z7C~}5_nBv>Sn=WoZ)=mOftK!*Yo|VLzqAyplO-9 z=46uT{qjYV-FR zzt`57q9OOobWuUS%XwZ}tXAM*djW!c<;+3FX@Ga?UjCc_1{3BqI+iBubD6`*XDf+%5@Mbf=V^6^Sii1wj^?p@D4((MyHR-3Hmn0DLgfW-M z`}}R-L7494P0r}esK9R@+cy38<72^kN76gW6k%RAub#$8Kz(Z2ZAV)=q)3=uI_3Pml zW92BMT)}g>u71T=0WTRb!;+DyI_imU?M0e1C$FEouQTRz-H!f#b1Lh$9Y#=v@F9f* zl7`201Ejwl6@+6-%KAL>CFji;j!wXdpp>$!Y?O4qg%C@~$_9YZB+C}X#S_D_J`001 zx)_WNBkF)j)t~`okSJBU{Eu!IgV8QvyD#-;@VZePq=U)g{+`ZXd6);?^RMLhtrWu- zzEddXKbIJ2|39LjOrZep;zZw{27vgdhuxm|sj5x6s^P(Xl(L(6aFHLZzGiMdKUC*| zemK=@JA9K(6mh21eKc$ybuuM`_YaTXwDh)8QFCkE(zFa5VO!eSJ2Lg<0lIyN!Jof! zzS&du6bnlV8i{P&5o|AkSa#zjxsA6Kx_mTv$g~BOAg!|8#lmRK#er&t+|Tm>FiFhr zU`6yu844{J6#1A7a|Urm+e1l|QtO2cB8T%Ca|I6$DwSh#qd9GR%2B_@KO8vjmb`_P8x=sWy1>dTLZzmU`b!=sHabS~M$Qw(Qf8xZC~h8T79g7e^4MR8v$EgU-aGe0^%$REx#bQDpRlC|Esd#!~IN$4iv0MIz3`>*(J)r!!-i zCQT#dx+cB1ZIXupO_&hy+%=_3LiSCMOKUc0&$+mb@b$G1f}gY1${qee+NykKwX)?$ z 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ä_!#y14f(zgcY}@l8HQ2KR;WAx0+W9>p{0~ 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 u^WB!-%i}immDqWrmw#h z!8by773s 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 z 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∨V=$k9T^>4!yF@IBq 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�p;Y*#zcx$j*@ca~||2X3xSJEGvjif#f~s!i`` z&2$f?qzhBpls$heFnPDmF54>S=(Co2Z0NlpZYcE}Gm$9d4o@1pu4ZHEfvf*8hU=!H z4A;4$s+qJj8@WDlI|iFvpF>H@ecfwYE;|M&8lnk#*PNkI`fF1~H)L!ijca8(M z8&OCHHapAqLn7t#5xcELYwlD@u}LqmT;IOL-@)_GRALKb3mARCuiF4P#2Bod3To)^ zcGzUAY17<)m{CN!!XA!OlT=_$S!=qTF&w7LxA7vlORfGPSB{3WV?6=X)x(nRaHbWn zUrQ(^RqPb2_xxhT-Beu0_wCVTG3}pyU<(VCTT7^}xS|4rr$?0aZ*t>k81X-j??^xl z9H`8uuWiuY8@lY4^MWI4hs;O*#=hc{3aKX=UPqp{$G_JPC*R$>Dy+I>Dn3?6YchzORU%NJe2f0KFG;Z)e5(sb$9V z!&mGzx%@V*QM1cpaULwqtC@A&dY?O*&jR>T>=+>QK6JPW z*!0x2vO`+6sDu2pevpUYN}h2h%k8Nc>xiYuq)6RpPd3>b1^s*l7d~T|S5;>{KoZ-) z%Lkt&Jd2UGdO&$!6PK4!TNuG#E@y7~V2%fI<|)Bb>1Q?pAJ2DiECmt3YEPxg87l9v zOAB+nqodf>#7AhHx)uoGr~1LWGod|aMLG6lY}1w|Td8pa`@lll+HhQAS>0o|yoPxn zwy}I0x9SG=j_6?=>5l^W>L|;EQ`0)TBz2!6v^Lb@8D~5^DJYCc8+=*b6fnuiJo?6U z>59%Gr8w?I+|SkZ68W;W(T#jTLUCEwUk&+ww#D^c8Rt6}S>2Gi%DkC+(2?%DN11Vf z+pkaJK{Uy0ONrRWU-+Rk*YV4`EqA5bCGSP!jaOLp2pQk!CnMuJ6G~|;e^vdlZVoBL z?fUt=0PUNBi>f#qO%~n$`#Ch}_BaI1RbJed(zL47vW-N^-wL1f$Bzm~A_Gqcr)}V* zS{u^)wVv^JA*`^zbt~I7fyOZT8B4j&Eh_AKw4t8A)R(u-FR584WeoK~O6^}3GX!cH zCIa8EV)r`+@U;NyL*WTX_PihLreJuL}`|Yhi`iBA|44(gY~^63=ognWB5WTxU@d(nWXK6PV4lztfpJ}@$hd&GxWt&mu#$k4 z?rk7+UT#^EY^U9tO2_7-fu1Nkw(wUl<@RVs8>MqO*YF zy?&U)7Mw9Ossn+EiHPDSJvlX>mYciYn|{f57=^`kjq+-!%C&D>#McMTRfRYqQ%)tu zNkvm(-*+GpK2I7#5?DJD#biYKrjMzHc!qdXK$>~f;LTD0*iLAizWVWVQh z%W(H+S;Bx{w|e7XtWTZS6yEsu6`FL~OF%eyp8ydb3VzXxubpzBl#FK^{MX4M;%Xy( zi}~1s5pUEbsh5IYgenpUy^e^_!%CxuwS<>KEBQ!5zgNoLd6cW{H#qtDY}NL4nLTd+ z!@4g7YTeD(qDe_@)Y45&I0(Ct3}u5^U+sG{if!;Ul-lSH&gVQMXW{0CwtW*8vM>?9*2}roLQDuf2Y$ZM@u$~gp9=BS`AK%Y1rEHABR8zR!ev10N z$lMvF?l8WV(F5mG9+4DRN$v2>Kqh9zPg~KY$U^^~UdfLv*ur<-&ZFd*l(8n_gM0mH-jfnM*!Y< zFf{U)Hy%V#05BIVtes69nRNK&tPPz_WK4|gj7{_~E)!19jwXgS1a3*6HLjV{X;2?^ zELoQhKQ9}!yRvGq@YOlE;gNMpsjPMvpZS*!w006h}(wg8V9*# zF;hCJ-Mxh-KfJJXUjpB;x@g~L0c?kJ%U4Q+f@}6-cjou%R`wSN>LK*_N!-;`Y3eu;q}KW81mXjvgCMpLW9!o4R}77Ow|xghi(kEp<>| zv!I!6;0PXgsd2D(=;4a(<-3vS5N%48y8A`(ePT3s8h!Q7Sj`b~_S*e4{9bf+L&KHS z%+c}9n#<;}`%u0>d+WY$(=LaM1ucbPn=P*4X84%}@*fPp7bMRn$2jJd-t8tJK8Fe{BG;EV-@q~2$hrKY`Mk2F8Ua6P zL*Ck@^+9qmfB48lZQ|*q?ZRFfIh9YEZb3rCtzW{$6KLJ-9|-b18)Q;oM2I;{E$S+B%h*qOpN=xexEE9?H$>po*)Ok76v zQLg7}l^fy&tsz=9OhOE{3Ng`2?sUF1u!QV$x-Jvw?Il@{?V8aCGpU{5Glj(|D&LWQ za=;O;VNEwZO8zE0(M~?HMDuw_Ih8vsZi2EzK@PblbQmL~=;>J*`gCx#-!9;i)3U*R z7nLy^?@wujJ*+pcm%(+MrMigWA0zMB)0d1dqYrNar(yTApBjEzQf0x@D|t*2wh6$Gm4qwMrG>Be$o7jn*e3jG=7~;c9AA*gHns z*FQhWj2A>AKS(_Oem$J0RK!qd<1q1 zuB5H`ib~d!m%oGmML$*6CdZl7!Ie$RNVMTqUek(k4<+M-0KqU^P4DDs=dM?t9pxKW z#f_B*bt63 zg#YC<8YW8n@wM*X#AgSv@BS5^{l5R(NJf*gF`dhu2hHpzxZuG1!1wFxKbTPLl3*p;u0_llqV=0&dA`;|Dg=0hx8*3!&e%aVX`%{`Y~Ez|Pg)V*zcj=zxv z_)nL@KVUpzC+)l6=E8r^TmakFzj^NELy`VhgFgepQ+|toZ`TDBqNW@k>V)UDslzz0<~X# z6{;tRfvcj`WqomOL}1~cKFfTS?$i{q#Hk>C60|)o%X5Vb;-vNT*XY1T)NhvSjZ7^T>TJe6Xm*1}L#+$v1#o6!c(~LxjJjjej?qW8McRi%+yUfmwc>BwhcIf3;O9ZShK4cMa^N(Z6Rxq@n!-OM} zcK3(G6ajtOHP)18WaVt@r=Ro^lU}>=kUq*S^2d;3Q1%y&S4`{V=ZlkCKILR5=m?9x zKUI^J?6_3e(%0X`pdg}RHq=GB`b^A(T@z0D+&Xwr- z2Cgoq&$s#AjcaDp)cj1qf~q!^<<+IDwxfRBAgj)7)_?H87=*X#~6EP&f(~ewKcG`t@SByMBd* zq_Thfo>%HL z{iTFEIM|<0&rM(XLDh4V7R)538+NdQhCB0w$!D!FOeB-BQ>W&#-#|3Y&V5su*XX)i zdzRud&4)|3^ETORN&=90*$PV~1Q&IllL`>rx&4TGy4-(l|Gx2KJXRxlRTK3-!Upra z*zj8do;UN&6yMEBv`~C@!6t6fOiq?sz3n@dn zHQc+RPVoU7G4RaN>KlmyLx7-URL=gXA5C)34pkW@DTj_3J7sa9p*9@J77kCm_V!*8 z-<8`RSAA=GPjR$z<2&seRCLVW*-<~e@&AcMZDeX>B={GL`j|2Ohk`uz;)oaar!fsf zU?9g4zYb>r`v?E=a0UQW4#c$o^X(A~a|H0$+ao9f3H<%@^$`?;M*a1K2K=N)Gq7y| z)cT({D)hp;EL)gJ-mHqX(p3e@P8Tpq4eL98VSKuc9TJ+`okQ*P?vtx?9Pc-XALID` z!>-A=b@!08Q$GA{S8p{1ej%{6;HNZv!zzPRuy6X9xcIq{4Ssda*_vVy`s1_`^iXn6 zvmHB|J{fs0477G9V08uIg-~vphOn=fa!8$M>Cfh%0a3BH&m?i*3pa9bZVZaQ4 z`TQlXpx}w}Fq0BE9TbHCb{CH4g+UR(-V=xh$AB4uXb3d8UMLI#pfVg!2Zafs!EFYr z1&|v+=};)lOm?geC<-NbG94Q8g70`bG$u;N37P=7Z%{Py1g`+v$+n;Y?~&u>!BJ2F zaQonB6dH5j^RI1zqtOsFh*yF@pacNM;#fLCv;Y!-!8k@kL1383BVZaDI4=mI!66V3 zpHUD1MFYe?fCdNfIly@ZFtN5UpP%vqq(cH8RbUzlK>PsF5D+jAP!I&{WLtpqR3I4w z*oVMu`(ZwR)(Zu|JHY*bA_3nWa5?~%1k4vG5&=I^2NH<^WI0|35@72I8u~=vpn^~U z-2{|Z5Dq}5fN27lKy1hB5EKMpOTaV~0B-`Kp#aLfCh7{4m2R8V7UiqXfUq;PC>xW5}-i=m>E!ch!f)oNGAa1 zDL_M_Pv$-GjL<-L0mK?m9YEM1kS+nzVPXh@(+L2vg}^jG08h}+K(M6a>7Zx~)Xs4l zpza|c*#M+P0D#~DrxOJ07mQSabrTxs1p?d_7z~a%M~?aY9Q$ZE{KPy1(2(GH215g) zFM;!-z;ghQ4hrwBm=5VPrcy#jDd3?~o`7^>j%1OT>x zc@L;Mus%Q|A%MmQl_v;;fag451R_rK7ntFZC-S0z4j(HI3Mf-JNWTCyv>-^v0pmab zEE^b_AgB%u4Vbw=bs&&X&|C`zIsvvBpb!)UDhSF87@=?g&ET&*g+d`PLCjkZ%;(?o z0);|RXcU+R142|D=Q9*AH;^D%187JHfDU!MJYe{O=6EO+0r2WLPocoH1)ldYG&E=& z0nLL0odeZ@5rMcI0s#e$Hw+DIOJQih#0shd1%yWfJr5X401z#3 zIzT5LA6r0qfQWq7GmP{tXRvvOGXdfa^t`kPX0qgM;P@DBv3c*6jcdcyA5904@2 z?gY{SvC%-!2%rHY30yB4ezJYQqzvLIkQWJBYhdaCOyd*f0gVCC(14x50NhHYL1*fL)+tV-*3|C1ANnAOO_~?i(=Gf@KXzhX#;2 z|18hh(GWnAawNdK@KCe3XY$7;6#or7J7*?9>M=)O6m3oIn1GUj>pvVA4IQ2T*slV* Qg#wmU1gxyG*W?KP7l^_41poj5 literal 0 HcmV?d00001 diff --git a/doc/img/apache-felix-console-configuration.png b/doc/img/apache-felix-console-configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..54945c6f4c948f647dc893708f65b579758a727e GIT binary patch literal 39697 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 RWj9tyPs`|b`K^b~{|g~k0nPvb literal 0 HcmV?d00001 diff --git a/doc/img/config-controller-balancing-symmetric.png b/doc/img/config-controller-balancing-symmetric.png new file mode 100644 index 0000000000000000000000000000000000000000..c884932735ed04f65ea5372c2c3df981c57e514b GIT binary patch literal 35730 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 Rd;OhsGz@Q*-njeZ{{wxV-xB}; literal 0 HcmV?d00001 diff --git a/doc/img/config-controller-debug-log.png b/doc/img/config-controller-debug-log.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0fb5ec6f0dd181f9556d0cb899df14d6992e82 GIT binary patch literal 20751 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 literal 0 HcmV?d00001 diff --git a/doc/img/config-scheduler-all-alphabetically.png b/doc/img/config-scheduler-all-alphabetically.png new file mode 100644 index 0000000000000000000000000000000000000000..c362455b9b6911f6cab998acad0c3045fd143e95 GIT binary patch literal 25585 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 KCS_-@-u*9hEIvH| literal 0 HcmV?d00001 diff --git a/doc/img/config-simulator-esssymmetric-reacting.png b/doc/img/config-simulator-esssymmetric-reacting.png new file mode 100644 index 0000000000000000000000000000000000000000..1837b4953661995fe2669d5ade85a5c477fe3c5e GIT binary patch literal 27467 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 literal 0 HcmV?d00001 diff --git a/doc/img/config-simulator-grid-meter-acting.png b/doc/img/config-simulator-grid-meter-acting.png new file mode 100644 index 0000000000000000000000000000000000000000..dbf2e3e08658d2e17da71218a1064762dfbf01d4 GIT binary patch literal 35572 zcmd43XH-*N+b)V-^s!7x5OQnWboRa)Zm(Xy^OC2tGU7G*;t{Vb4~9_3`k(Jtk{bDYeb91`!qsv(#I|58InOc%af2Jd%7~Df;1)SL`^I zUtSHewB@-8k01dJQ9;b=u^Pb+xD2td%iL=6ilv#QSH$M@6??PMf7KTwEg!!rb`7$pAk{>Xnb8!X$ACipiLNAlRg$D zk3avudYipTf#jL`FE!FoxjNMAAm*82CZ?k5!I&dHMRwuV5$Sv6sgQ)vvfKzIS$eYg zKuH*>6l9w??u3J#`^MkUCRSId;K%&kFc;Uo=5y{58ges&xJ}AJ?T^1|9W0UD@DviS zBr?hBhAf>Xq4uO*y?t(G#?XqZ@)i)@t4!X;|`1NvVb7*y7ypR}C){+E>MN?2qPJtm_`LvL@K^n93^QJcZR{VZ* zr3P*oUxouBfJu^@%{^9;&3VhOpH`drptogvPwJak#G-^daw#CQTO*qI6pedxk#^Ge zP|;@5k7JzXv(cCp+9ze{YrJq;sv(&gHVb9WulI z31@9$#kY?Jz+% z0z+p?77&Z;xu95R>!%c(nyI;&oHUKfsdg{;0>#~{&(wQn(7n_1pGIn6sMrT_5sXxn zx)cP%$NIih;Wq8Nxg*a^J;#q!FPkVPR|(VglxeZBoi{KLCHg+k3G65c4q%#$C^iQPN88~8jcT$(LF z%JpS!vlq5gZw?(MFL_~u{PTb4HI2`;OLVHg`)tjpd6v9Dgosr=TAg8Sbc+RkF|S<8 zT9tRaMK}3ugReY^wRCw-stHE5MUD5o8NoXVrYT~4)|hG@Eh4Kb3)@C+%Bn(<{rVN z?tgs&_`J(I@$pGR)%Wt6-5qM}H{=yaZr^?o8$b|ujd0K|%69tftb_OcoDE zur}q}J%qx14ce%6(8>4H;dnPMerVFPbh@$lSncrq9SLLiimC8>GS3tOiYIsHtk)X` zj$`lO?|{UOr7hF^d#vbb#jCXy>Xfk(_JMpV}T)Aar53mr4Su?UvD2<5iK)ZRA>%LbZT^dMWgk+xtV+NFi@N*08rD zkFzX0obsx7;>qvDdruu18hPfX1^vq$PtQk_K`Dk;NvK!5Ga@v8@6 zDyVx=EMC4oHbl}wwW=m8G{}+JU%7Tk#H~rB`w@Q0gIa+XKj)Qjtw*SKU4qqqZlTkq zS{;R(z%6RTz{=~%WavBE8y=b506(nf9%h@`isj}w_y~V<$zt2 zMqP?3+E(%`LJ9QEDpBI2JDrAU#?kUYdTrK*{D2_CGs4D5lTF6YjcMOeo9#Le(%i3Q z6{d5;ZD_wA%cs86u3BUv;$LHeu4HdeJ(n7}xg#W;nuXv>hSrXjj`%?X50(OUD%H+^ zj3*24OWUUGg&2K;c}y{U+I%hR@ww{seL2w~v3mmqJ4q&FTjmnLA-)5rGhOA9+Bq)`#O ztKJ>o=cl?!P}<^0C<(bLl#*1HzCbIdn!}N%(#;k8Q1*=k*U2TZ*c*G%BNt@~s<+KO zNj3>H<_pn>nM&o~ocEqRkD;n!4nvdAK9R-8`eWs%jq95EKz}wvwq8G8iB>m^yXi?9 z=?r4iRi-pgk&=IoJ1wSm&Ma@g16i2O^(+1=oEklNTDG1aiWMT1$beioBtRA|wlMEs zqX*GH4j(z3d?h2j2jXZZ>Fp5;zJa}&{FPESq>>*JDr1LpFBT=f4IhNfeLiLkGHhRe zSNy*CiTP4O7%CG=`c=Zmzv+)pUwz1fgY30hb%QD6l^zSM4`?!akO2+$8Z)kw^eE?F z`!;4m)-cjr%@Z3(Ah*G=Op~TyR4_EjTDsxD^dd@D6BX8ey`i1_vLX{im!V0_80A4o$DN?&FCxwh~r*#&4g{f?rrz|6*96v$50` zFflEkw(3JJZM*0Z?I>WcKNN7Q;Z@a~ zwQq4egS)qO?b>B{1;P{5d6x70`R)ikb-#e5ET3 z@ms39UTc58T;&o3A}=nkqdWgkuYlPF1`gD)Hmzr6n6a*u zW`I|!u7}VQBg1avEw8sN`E*1y%hB@^@d8|2Z?9OnNjnk?gU_7bY_3(eX-Urp@1mKs zJnHQpwq$pP`WFj7-sPO%;#0WCp`jG~RMuN2%3nb$yE-$afew8;Ds{8P=9m7_g|MS> z`u!*95FnC?wSJu}HE=K`kRjidZ$w8D_{?xRSu~Tx8xXs|d4GCPV&-tpD-3U3Q6jRq zpW3RNknF3U8(HuOc>5EdpHke3q%+7Jd10m&Leix(%nofmz1ZdZch>#co{!RG_F`tt zMG1-#=a_%x7J+JOBJCbUovkZ0R8Z*1FCW7VoZsv~L5J3uTJu3q^XCm)qQ$DTM4Xpm z#yzN#%5(HxDp4Ztvdz1R`lpQXb(;4mMkJGB;;}HCp)JEf#8Y`-?B)btINIaN2&evzg}%|GeJ?&_tEWB^$$RUxh2e(K>Wctjn6M)ptXG{?Rq+s$u`Wj!gYbz+JeD5{W_ zZyahrJ&1IwaL$QjqDSSC_H8Z89dM8BH?P|^LmspE7d6|m{L51M>LQO#9Q#nBbnjJw zcSz4C1giL#qHp~-7URgiv>ZA7FS)I$TNJl@UPk$22MUFp*LPdrXuGl6SqCWZ@+mO_ zwZ{-tDaIaKMRqEs%&}s|D^q5^G1fXya&e8dP3pU(+R#Pd-lVOzNegKK`AZL_An5#M zm$|Evx!835UEjncIunuanb@_8^pB^|g4JgQ$?L~4hWX3K>N9?A6D!IL6=>7Pu<`^K zHleW=SES>v8NGo?vNv3)`{?Co_{siO9?^ca3iGWfsqB)2N|jaMHKtX=hVr!$;}^p+ zi}_Er1KzXRU}VEuy>3L`=LmW>XH!GC6=sznltS>P5vR`8rtU53eogIh{@DB6T9s0(IWy7?_Yap> zdt%!lT@Tahbda6pQ`cg@$_lue(57^;?t8et3Lex&HAScFBCZIJwJ zbImkMbG&lC4%sZ>#l6vaZ;j0~7r%@+2ZV;!_`-_}TSYryp4RKUKg^czu-giBfSc#kPJbtL+i>m$eYS@lz&%Dp6*K_p6@)Vtr3F7Jph}TFH4K%%i0aNNAPncPm1*=JBu?~*wY%i2}+a6Fe1?^VtlO1rhbr>%C&<_dnjaIMd&Q9TA&1rn(d>&F;S9?+B zhm%O>Es?%ij~2kl?$3&ei4pFoci|CB>bDxz<=Ir9lW{F6p~*h@$nAlf*E#+n@$IfD z(5Jlv+&Ci(~FUTvETy-czn8c+T$&yZ^b~0zvj2;a3M-62PXjpSl0W zG%kJ+mleKtP31pI?{@q)^}$>mX}Gw8xjJ|`;KhaAxw0HH{qkrDDIWYYJ1Nm+)Q(3& zyhA_l6u&)q8r$int)=Cb1?zVny~5+C zUgKby7RCY{)-Z7UEsM5c_IQMCB&WlpJ3aRQM*1%PBgx&Sai=Lff}0}-*N?i0^RNFp zbm)r5{xTPeoZRkvLud>J+X>uy*`lwnKc(1~7E{V3K5+{Pdmf7_D8{y)=QIcE1pKSV z6w^Stq!`pC+R;qoNSnyXAWoCo-+umd$4*4)Vn_Bl_738nd3p~P@YU96;fyg@_h92! zAc*wRb?qb`!RJ8juR0Y>89t8|{h+KbDADefZj{H?OwLS$`*7Cz$M~)*eS_K6fwfHt zZ8`t7k`Qn(72WUJP z&-{ki=wn98c@ACkU2lY-p&L6WsEvy(TCF)X%l`4~G>p!mW=B%#Smwb1Eg8 zRT#hnx10|xl#2XS|D`fn%1Z`|wwIpmrA6&^lgM14ctzvcTi(5!5X1@Yvj#5rIr zpAVL^*7TF*x6gIJz0;%8WVL(J1a#;aV+KiR8!X_*hHvzy2O_GxV*^(Rd{X{>=aXeU z3>FaXh4?|Aid0j&(m=U=EKh9FyBL&<6p@jiS76R!Njr7$9%#$h_--@YbvoWpN-s@o zp7Owm?@W|RE@e6U5l=y?^Xl{)udU_BJ?)N3>(ENW;p$C!TKR(A{4WrtpiS5Ni+tN# z0lf_VE>>?UAZKv5m4eu8+`O2>0zQGU5$=cf+icq)K0wYSnTASLtVVDAYTD<~M)T`^ zG3Y{JjfVMV%sHL+b*VFx9qkzK?LFr$5{vYSLD4kOebRRJdGZlE(Pq9C##W5Twyf=q z7^2``+vY`{lM-Qr5U*KZ`Jpglj~3{_3htZi#`u(|e&g8$s=n7&8NIumTKJ>CIQ|=b z&_1o(()$K5VF%uTo6OcTRPd<*Dt;Yf7ZI62J9eKouVFq9|rokd@L^lT33V?i__ zBtS)kjB%tM_Qskw!8EnU9y=f32dwnh9=~*PD=VTb7?nPNV#pq11%@*fR#Of$*-xQ= z4I#g6$vksqXHO4&GeQt{D8 zBY%W3`D8TGC(PujC>_`_pFf+d=;u%uhu&<^d*sXA>C&t~3X+k7V+u7yc*UOl^y%T) zv(@<13*y!XBxO;iGvvcc1G-b5S>{-sHn?v`3HjoaoXV-fL{p#CVuMYQfDsGtexFGi ze5{`A)g-_8LlXM4W)Jq^YAylJUfk9VKQ%K7qj8|<`x97d@y`fSz1-5cVY1g(6a0B` zVj=AV(2nN^EMa=1(M3Wz=fMX_I_M-0Dk8mIB;UJM zrRIT^2izpC5w|AtP`(&DC@xuX>LosKwc3OD+MU64TgAksZ8ex2PM)gUL=cI6j`OJs z8fBAr%=zX!F5KwgRa5WZ?VKDo1B#LsuLrzNX~G?Q0Mm(sMHp7NAUHtv;T`K;0|WX0 z(oAlv%@FVDsD;5IkX-1J`>HHeucq&icu zx(82-dZbQitEjZZOMA&pCuQZ|`}mpQf6Ga1w@vP-zv{?RKA7ayUNgTE{L#e#r4M~}yL6@DE5 z+pw&raFp-e9T)z#0sr&$!E})!s)-w@^*Qll%EjJUD%Eoy-6v;}#<3cW@5lf8!uY!D zNNzzv+xZy!U=*kH{jrv__o;aK1rL51=YjFyiOAojhk()+b4O|SNp+zc4jj$?v=Fdh z#uYB${m(D0IsRbIk;Z~U2RK3BiHwLAQlTO0_|7v>Y9CUwvd`(;>pdDibCU8$I1j4Z z5#Rl++L$e%K%TK!ERD52Q=B(Ba31L6ieaQdiDAay4e`WC1gnLr3N1E77~zVX^DQy8NjBNKkmZ)mw#sW z{sk*&q$ZFJxDSm4k}0=wQkND^i5QJ5whdj5zB8)GY4SVLy3llHmB|FgBwB%arseE1 z9t5cpG_JyPhFKk>-g35s*9uE8Alk7tL6mY2<_FA)xhwIqf$UQEX9NZy$P+y(i9L_B}F#Xtgu{QZD7^&p&(YeLTmQ5hcftbIBqdNI4|AMT0GQ%t% zir{e$L;g1TPNLD$p*KwPC&0KR&j4W*sKKd%QXQQTWP_%h8n&k|yMoIHO1U_l~iQ4$}wENt6yZ z+yge{YcR&`5ywq@dH?<&Z}H-XYqD_P^RI!&xbE)%_(wPG|M35lE3gVME|g>rn#T2V z3)r9?$x^}>Uxs09J9vdSWtPf-o;3;xz!l?|MnZG$K-p&lKxdZo`~2DgEd8nnZmDEf zp!BZzCD{jd6xb93Kb8%KrCn%_nC-55#D1LeWv0KPf z6}`)+oQTt3m>k957z}9bm_p?n{e@i*{`A8Q^pgeTBLm_Me|rgB7W$UoL3Tar>N2jJ z$j7N};y)vwmgC;PLyQlR|Bh@*R_Ff-0kr;(M(+MIx8kz$K8w%q1O0PxEk`H+0UTdN zv>2+WsQgFi4u}5?blCeD+L{V+i~HX zZsXtH$W2Wt^=+AN51i*A1TDAtu1vxy7lEe?JjWLIc(oY#Ir=Yt+Xo0|TI~f);)0W# z7eQCQ>cNkSku8UU>xqKZEY9ftQC=YB9F2F>d_w-($u~x<3l6C}C zkp$1qyE|Z$XAf=HE7|o2(s`b=OQ!_YN)LL(ib`|d`mXpHUSExh!BSP3t>=-+)iU|C zC_m5o1pR#PHa+jC7s5aN@Oyjpw6n`@1@-1Se?_FU+=V+h473})2UqY~O?26X6pF_a zGJSQ-E9c~msE04g)DLfEA2#>-5)#CA_f}8u8Q!urMF-++11E%e+1&|}P6BmIsY5|y ze7r7>J&VzSnIpOdDHEac@=`U#6mBx?M>e=SRx>#v9(HWL|Kj|R2yP?aWASq}pru}h z{U63&O}3E_9z5Xg;O#3iKKf_~@Hsvaxg zzuG%&H7U)+(oG)l!!4O?A z+RF@D`=+BKIdB0dH<}(khz1s2W<|h@9L4nor5^ZXEf|_4qaEbhWImlYe5aU&oa=ek zobnmLhp`)iK^z)G)jV^(5oTtqR`W_1a1%%*v04G5p6I2kc_ z$G6JFGg5N8Dz;l?wu}|Yg6=49HO?Jq_;&Z){)Rvq<-Y_J&xNy?OFu83@2}S1$6gV_)w<^}q2z29 z4mVH-Lz&5Ju57$HGRu&1T=9Jz%A|NEFj;*;GjZ|@y)F_p^u9XckTKMg$QYz|!f^mm z>W2n7Iw-4(-q}?H6PjI1l8|Dp-;;t?>!t-P53iI?)#Yi5%=RVu$;>=9$33g}rhG|y z5Xu;mZJuq9^rn)ew#Pht?X1d9K6A5uq@zpDsC8z-0P9cF531uc1t5G?5 z5!3M%52|%pdW?ZbB--fAr9-X|IKRDrZC_!cDy1dT3 zv3?cmn0&3~p&`s>wGQPYGPu=T@8a^Jw@x4_XK*b(a5l;-CV{VJscY@Ew)hFKgD-}X zab#erO#mzb?H!n4+XG<0P>}&QnJLEOWH$4AQYy*D#Pd+cZ~oMLoZpWmdBz$TtDjIn z`#$|ybgP7y@s6fh1HO?Z6S$#`3;eccV7mx1(lI_& zRJccAh#|_F#4YIdg(?;L6=PMmS$Udy&ZJwcMfbEGvEn+jy3Lgw&&O67w6*4-UcM>B z6hB8**hVvIa`iEFxj1=qB2|n=pv{X>jgR26AztT+gF{NQZ}|(CYBxxFUT?OD<)n>_5hKI#abZ zo!=nyo{P3B?2~_J^g&B0mq){5;TN)0le-UZ#vpaV5JlcWGnHeKw;@rfiknU>i>^y7uO&-QLhm#r zXtM&_BWN^SwWQ4I6*Q`oDlN)W*;GFVwX8kMcI44dn(Bia*d8wrS_=*O8K-ZS2a<5I z8mj3kp8`C0?YRGYgu%MSutJXPsB1&#hdU8eib{=g^a#oj-fNVaEH(7NS^X>xnX}6> zuyfw%S|fRx^tgbbK+@u{X1s{G;oC+I8WCQgJq!W7*!L88-2Hsm6ke}!0Lqy+uaTUU zlg7qqs~q3sn1EEp5+6TF*S2X%slZwe4Fr%PWORdy>>J)@4HsZAdID=- z_pQ*p>x`#T+@my_X0F<#^9@8mIN87IoTBuNs#xR84u5 ztcLnpEe0N9c+Y$T*Y!4<;;<1h(wIm*tDYMLAXY<)mja{DiD1DpoLE9w{K z&1-5|v!x7go|dzp>HS-0hSN%)Xz5u%VvCHk;!2H#f{KjpVqsIJ>0XdQn9&$Wg$;@x zb16j<@rQ(D&t2Zk`bN+0^!sM%(3b1km z13RQPmLN(6+tO{`Nj~2j!a-4z;>`^^c?52`Mur7#0b3o&J?GSIR@e2|B$#GD5llZQ zR`V1Zv`O|Hu+Nzh0aeK_|F}#M0o?ouWH@`)|x|4nqA({vW{bv83btiy@sm;g4cmE z`C8-nC*Ps&Cum>l;1cM%d_H>6rJiWwsasG_4sErKtMHXFI7X1URvW~27UD5U0H>tf z=oAdbv!FvhDAwe%B-*qqQ+VJ+H}z#h>r*|8kzNOd*`YR@+frb~@Xqknfio!>XNcw0 z*=v&l00>2~p1Tv!D5zYw5v17@KmUM+ksk&BwQqqCRHy)k;5|dp4|bLM_3R`cK2Y2y z4Jlv!{s+b?3bww9QKFxkK2FKdgAUYh>x&p=hPyja^v%p@y*db+FPmT!RNpNkenB^JdVsZ_W*+E6UUUrx4@~2^An3_Z4=@Qv0YKn@*ZVVNp`tNr1>N?-M<@A7Gs)pdO>`w{W%IX@>=T9@N!B zljI2inpK2b(VChWO_D%+MbEbk-I3uQFxvDh1~{%@J^c*;Yk50f=N{r;$~~|k;QNH$ zv9D8havi=?=}f@ZY8`SW!JKv&Sa~P1l@zNVc>7PeIK!Ay=Wnloil}RD9e1bIZ!rT)Hf-8bc+1kHC8w9Z9=WsNv-F6Ql(;+MOE#X$Uyt8Qp{J$w z;kG@sJu<=Vg#fUp(omBfVc`U%5B91bgZlQsS5jAN9&ayJb;=_A3$Zjg)(DcVN>yCB zh#LvK$&m-~|A?T0dJB-X`9niy9f{)gGfy}OjO*Z^NaxXezu%$7XRiPEi1p$MvCwdg z^VHM!C-|cd3V_%-`aaj_YYK(16jAJBu%|SnS|M+0OaOxrbuET2mH9X93TCERt?1sS?** z2xQXot2YS4bw+Axl&-+i@s87_1+DLlHjLZ1W53e$!Eo8v{%5U7lL0~BTWdtAzJ%Vm zQASKr`VFMh@DZ@!=Q?gYI8Zc0q}FxOxwmJAB6Yqhn+O1M0z>^zQWv^ zHTul1U9&~GdV(YO2hHV=I^`2`o0`_VoV0q*pNU!)gX{@axa^2Z-*j=@N+$I56spQA z2HsVfM9=v;^b#k*otUOe2AHZj&3stK)Y2vspZ(h6{wqppGzB|C^tFn2^0Iv4!k(OHK4dY|F1ZFN2 zEFFI5KU)3wYyRVBXxkq9wK_)LfUB%SPKV0Qh_c@5pZ+FzbO0sb!!TIoJteaWA zNqOJjt}8pD`GdydntJ+&r&RkGb;xBe|1{nj=T+}K>}9ZJ+E-#Z@w&K-1ohyYdy%}2 zLxMim%{4AQzb2>i({*5G-vBd<3S?~r`*obUVel)sSp!8^f9D)9t6~=t5BjKfse9Da zgjw(f*o%|}H&A$5mmoYpyb=!ostAH`h{1+Nr zV;aC9&`?*!s+JDoC8Q~{PDhA#<7o-GXde`*1f0AuYfg5YT_27!+Gl zdJdwh(ke}6m1?!i|I`};oo1$D0zIX4bNfyyH(C8CYcKqToh$8+{FB!IFxar#+-|cl z&+Cd;060F6E{J<$#;6xSmFC*$np<(xEXR+n`#FQFD70w2;|mtMp$Q0f@9lX=BYtCi#>$c96`d{E}pFfz}? zY^JqQ>L=x*?ql`5oxs*m{ja%_;CbGK-8@3hq%s>ISwaHH=6@$kbhWiJQd7&li48hB zI(Cd%0`2J2{c{O>rR~p;Eu?^9m~-;FaoSUo01RFGUl1m6y_r;LXG0**J{3II^GmX; zp`_IPDnFHljD(BzXr{ZkPVoOjVgtbIzY`q)0ujeQrQlX#iUK&`H`ll^u_X!IF74F+ zi(`TSSn68ActpeR+(?st)4#r&Hx;kcu^Gr_Yncw+ouFo$- zOe%i{#KXn6@kt3Oq=va*9*tk#zpcUZ6U)o;5Hm{-jKg(C03f2#@$#Ayw(UQ^z1fH0 z6mpH50~B@g9ZB>qcYd}U>&!Pl|8{pR`C7Z!|+jeqA0zK$0Z6u75N zXl5V22RxyvxNd#ljoHAX3BZ8=f|h{hzmAizp48mxHccUIH@$`q-s<0IekZ{G;q)F% z`d??so5pXXINjIHE^BJ|1fUBM;a7|}Y45~si59Qguu*>F3p+zOXQRGC=AqKlF@P0) z05Q#+$%4$R^=S5lP1UN&N2O$_6<2}1S^kmoIUZ|^7Kh;b;X8|E3!Xk&IDkG>`DT~1 zQI}&=)tk3PdPOYO?CK*mpR&h5n-_F2M`*ou7-(-EU8Ac_OtB!K=g4#_;mC~lD$7U= zEU)#r6OLR^WMDCOn8Ch!MZFs~;bgW^gY;orBo|Kfhf-hf8I)pQHRd-R& zUx(V=v{GPCzVDif)aWphbg(ouom@|sa+`@qDOab?9V#aX7Kua@wF%}*(KdK0#6M$_ zdC_PoY|qvv$A3G4!3b=tx=*ELz~~yiOA-)=4f-30A+G|(&GEV!tIiVK1Ax)cWX_-tZdSF=Qa@2 zTAs~iJ{{@4y@UD_8V9u{GyqATJMmLt&yY?*&-}b=3;WCm3n*lBVg0 zq>I72DMF8Z7+gIWF2|UJ&ZgIeozOrv0f_CDhimG#(D2#;nVd<7og7>Kn?}WS;5*T# zf&is@a^vI%{CcM+jsaaZ($eeXOhZ@sd(+Z}z98TgGpp3VBBgn>(nZ^Hc!39b=g+2$ zXys;D^hLlf$^S-l`N^5xL#mU~m*>hOkI}EJD?n18=oY~u(FM{(jqY124*Ida)X_E_ z>4avu76;9KH2dEY>UWd98=MgSzk;V5s%bIOE}v+%#t!yjAlrkd9hO?-jB0#JCDaT6 z-YNVCK%MMp@Zfn2PqeVi=Jt~mI&|nz5s>Vp5{r6%Cp#}F0cytcH#!Y;bk_w-3wlyf zv=yn5Vwl~xO6wWf1)c6&6>-nul^M!KCz#FNF}>rSO{9@{0$h%lqaFL?I&r(5f#yI# z#?yB?bN*4_nC-yoT^L{JZ^^YUM`>|X;4)86e7j@o82}Rg!wP=ix54Oku6QKB zd+9j(!)U6+f6aZnc9KqL;yL-uynGevdw|^w5PzPHpMTvy-s;6SY?o?d0r=rk&dY(x zPX2+Ho$oqJEz#x>znYtXnq1aT`&*J&BU1x<=m7zn!@6wkFWJR`jMc{(x}N#=;W@#a zN=J2mwitRtRzedIKpk5MCca(YPq&Bpav)x+AScH#u5{prG5u7LC!bxx*=O|xid}+x zZ2mE7n3W0nR}eHhfXUbSU%vdypr|RU|C(tXhI}qNm5k z@njcIOkci*eIC80v`q7m3)mniC?Q`yejSq#rIM`oF!qU1X+D)f$VaPsx*Yccki3<{ z58);Qy!RNn8RWx3H__%J=JENT~{Z9bz7~}XBKJ!<3(Nm~)faEvVm@F?sqeJ0!!eGy3i%qu(pc%%S{>_hjNQG){x109?w_^yt} z>gOA}&>IXqlEgcV?8#RKK(D{qMh&q{6arKYM|80|hcNCRo9=eNdz{Kd1A`JR7IqyR zOpiBwQRmdt&haWQ%NZCM6*IAN3^}RSUDica#fB3YmCQIK>*~?}7R!~QR#&pHLSmG1 z9c7gIMLz1%Mnc+L8T{RRv?U)Nm$$U3fs*N(kR?rt4bLsD(e~`+dj9&PwcDh}?(Pyv zGx+#bLigSZtD~{jMYMdq$A$J^RD7KFj)TlKP+w031t9Q`1}J_FmX{o69JHW_3PodW z{o-K5vSWit)mR^Nv4;9i-D3r%!cru|x9d|^pfGauPS^h${bilTeO+$7dhvLm>cyn4 zt(xyXTY?V`Fl!ruSOjtzBm1hE?-Y*_ZIVG9gwJj|{V*z?YVt!`Cq0jBbG)doq+}W0 zJao`Rom+_O^9S`MfiKDiB;GR3z~xxHyRn1=DO{TBH@ulTv|76=+bMxMo%T(DS5vz9 zZh!cgP4_b4o0w43v!RL^vF#Sc(}pfV>NX$9;sXPVt+gS?5T_y!8b9bWoY)$C4ADIW z&TO7wa56zzrPjU7Pt}%z`tjiJ^v={bHb#o}`6|C&p~Jzo_$Z3@ATso~9z?sHT>9*DnmFaOqir6c^_>i1!U zJj!{5@!9^amMC(Z8(-4Hg&c5URp-Q=$)|^v4T7Sq%Yp(MFh=jZe(dJ@+5qH?rwh&N z6i3WZdk&tuJyO~;cgM;~G@)Q{^JH~R)bpL~jphjd^Cji+IWu2+;uyEGjIaZU=8zr} zLYkAHRXjKQTrh4?ok9OA>X)mYoRr{_#X_a_yk?9u=;rCh%Ym5h{4Z$Dr&+S$zZ8;& zIt|BLy$8M0l5uG%H#hmNB8?z{!U?xZnh~=Qk#6V9vCgy9JaD&;ESY}h)1;?Mo6IMr z$CfeKE$sD=-CA)u)kzdQVrWO5w1%xSubvak7Gk{@) zuy+d?f$+YM=b(2nn<+Gi$Sr3p9k<)j+*|Z3wfK65yWrLqke@#FZ$c1c4h=cmf7m3Y zp+pryYc%~#AU+|9TE)JU%OimAxEGk7-M2oJ_N=&*So^73333eS*%Iv*+mIPYRXn}Y zX%sv^^<-@wFzz@0%_!>ZckJv&trk7x5hlMeuEQo@@0CyY6?vx7)~ol(@#KvuzCa~& zu-S{`x+>j}G{_GXEK7yZAY2*X{)~T<^uD|~LA9Kjg|}8IHA?u@{ps0G_;i)c=o}I` zWBQ`XsqF%#)5y9%#2uL!^ldjMYOH=;5j0`?W$Ty5wZ^_IP{gDd!~>CCRH=YTliRE@rUYgld;+N2{cFEC`s z7(g4sWXAzP*-hEMiB8;q6Npc|1UO;<`lwlUoG<_TGe;}LcTeq{ojubyW;qsF zT#OHhSMtb;e*Hhwlv&2MGe6@3fBPSH?0rD}r%yscQhP+a3%d^~8Dvb-BJ-=q%qWW! zakG>%0^;%@hl0tilhn$~qn%4rmT+kg(|sty5}DjCc@Zsj^wk4S8`!Rg=;b23?Al(hVHpl5)D_1O$s5*7&={-2aTf8nga; z{PkSRSzs_P$ay$ddkT@BVD7KCnJw^Bp+KN}fwqY@OZLi)N|iAm4w&_HhRty^3XSp@ zZKoXPJ;Tv6&BMe+e)9L5=MGdFT2=A#wi0S?8NHSKN%^uIvR8sA0Yp{fXz(s)DcgSY z`cp-SeAinFL8zu_x^j-PD6dzl-62!|+pTpeQUeU@PT43ybZDt(QZTy7G-y=XiPW20 zRMdr#CJrbA@Be)H{~N-yh?Se3mR8KsFUL7Kn;exJSaey25rZ48!qKGqsuc?|vs~*IFxuj#u(@^2m%8VmM^jl4(du#P z=MG~pM|_Q}QOWaH0L{F_5&xI5pU#jrjd*Ikzo9+vDE)Y{UhJr#oK@h+@Rw70s}2-k zCJghV)>^+{q%M957xDzUzI#k|G2hJBH-TNlfX$OOQbGdj9&M)jY3%b0%9Yu>(DyVb zfq!sC&2*4Zz^50epA%R2pr?2}T?4lc$4)~pNjkQtN#cZwdX3HUQYwldSixMbUP8|x z@|Gq}fa&nnQToi_kk2*K{Ez`JPwC`&g7nq+3^}kO^>|db?L-{z31YYeS;0S;ci=uly4kM!XPH@WT-v_nBces7gbk#0VpY0f!UOjs5!&S{+4 zB>GSE*MWwc^rodJXA-J9MS;VI?y#C`SAf@lDp*`iJJ6A+P{^a1nq|K)6ZW{B*s@RK zokk5+)P78PhE|;wA8%)gdGX~G(j>1j{IonOILk1j=m3g)K$52ie9qZ2BrFLu*Ok&s zCRYQ8Jnk_2t^Q{5J$7^iXw0+Me-pfZfcscSW-xJeU11V!D;q-ra{j*#u{LULXgXs} zd}wC38X_kgg6|zr@JsImzs7jY8%%on*6{MFvj z);l|?L)+MEa@`55q@|;83qIdaJMAQZ`T2b30$P&J@c>Y>TdyEa(xg2&Xh!S@Osk* zla7v9#tM_c{u!|Nx38oLz2(=2ECQ2WNN-HMh ze7()f?O$4huJ`s5kZiVH|FAJ18Jf$n6<56gi*=Jqi(oI7(J!}un`A`Irhtkn5_#@i;94fJV0ZQr$mH{LoW3O%B4a}o`Sib+!+FQpp)&KwhTy}zr zUWk+mg3>vp6$6oyZjf$9!x&+LNJ+y+sC4(pfe12*fiP+em`HaFMhv#!8C+iP&pUp% z_xF4IeEGwvEY3MQ=e(Zrc-)^B3ndqE87ypUf+X$q?JS3~Av!|~n|M3IK$?})P2f{r zJi9$I*~xK-#}}>z#&J-~(G54_JMXrsSOw=y|A(Z6q!+gP9TjX>?A^-x zf2o_A7CRIp2TqfyGUnSl|F4rqGw9EkC;R&Qr)b+C&ZuzXdWnT6b6J_fFsn0Iy~x4F zJfe777rg|_^X+khN}yLHZM#dwI{4#>Dh*oynsxpx7K2N;XVL3;RoW0=wJQx9sw55M z0fuQ7zfqcTbGQ~4s3Y~>r@24Gm1V|;tqI6d&J{q&AP)bCW&4QGZ7f%gP11Y*%bZ>* z2>3w`)k6rYdD{6wFV~23YJtAh6%~CURI~bN@Q`Z9n18c)+?XYKD>R~RE^Btz5io^u zDHEm}yT#S)>^5B-5y#T?vjA)Gu$<}Ks!D0fx#e9ji?-K-CO`cL4~w2HUh z_#;RcO@l`h3aW7Pg?L>ZucUb$5g<6Uupsb=cbDzNqw5^WRs=zKBukVh8Vd+OK4g>p zUu^t~jySc{4yZtbr|asW=a1GhX>;La0t%<>BwxB(A(g59$(hpezIWF4l2-AjiFfVc zahdaf^j(zhdg{q3v#dpmv4o$ljoApB-*AZ`tUZD%p9hgPeU;I1E7eP~Vo)T^SLMV6 z#y(}I(5U?jt9M?iCgyi0slg;WK(OubriNDNj%Lt<3YC)!89I2GQbhd&>`~`azV&>3 z+K^h#HK1XlsME#>h?08&h0Ky{=zEjfn{^M=n;>p8bu%x#Pytw&4huAn*@=RRElSJA#vBU9hRj586KBa(II0t8;(UwG*Ot!V_ zIh)R6m$aR?g(r=C>yOhYs{l@qKyzZl7P8y_L|CMyn0b?RcxvfjY9_bNy_)h%Uzy2oJF7|%FK+*F)K;~3NiC1lxM>LfX@4O=fsXSIua$GBGew2>Eo7f1adyu@<)}V*?VBnu^sNx$)djON)b~BUfWI z&2k=RXf5BJIQ`iR5(Hi?H{tC4wQ+9-tvg^>lsl>jy6?)(TyJemwrgTl5ZR=G6?%~9 zN3u*^NTA#@-F9GmWejl|X49&s4)IxG%;YQw1a})BeR*TYlD}>nktbVNu&v5nErff5?kj=Y^Nu!W2G^ ziPO5W2rk9$n||7f0s4DabAOns0XM@tcka~mN-u)eqEAEdUHP2Eq#^LH=dCai`%W6= z#Frqxvtw}4sfT^N21V0P1B>B_%s>gdKOAssyaF5~iB`p&|hncXV~E{ZS5{%T8p{9B~*pKT4) zMVe+Oq4dEAYR(LJav=ok|LDmT+WL1(ZX`0rp<;9@`vLgC`J46T)2A7a4wih6X1al# z8fg0ba<#6wA0*Sa>hfbeBd`RY&ne7Owz4AUP_-`-F$eKgQsw2SHpwh=UL{~lE+_xr zrMPFRrwim&jQ8hPwm#qYkF&~alYBruQqRu)?;DDb`U-^pmSO*RJWwR&RX34vSlaih z7ZL8SS04>0+cjLPU4D%Bp$H!;d7yjEUWV2zPGe=uK88o940UMf+obJ@`!DW*=QTrjJ*UT1c6)Te zeXGXaw$ne%kltOTlI|0uzFugGEx>J2RYu&bo8kSOHw^UL%Da^+Jt~W>3-c9`o*=B? zKcpo}9O(KW#V_-H*U|Rfj1ek4P--iYf6$yb%mI#L$s-o#k6_=i z;ImJFar?%3%d639jm(j4Q4lu!Q3=fzg|a1T6^4GHG?ihqoybt>J=5X4{|z~e+_&;y z_%yiDS=0=}kre!0CXUuxZOPc*b*@?t0JwnaUI<#5D$`=-HESms`-r;uHr)}HSKGi< z4p)(kew+t6U{*+qjHx&RL@T!sKx-h^=|``IRPQ=hP?Aa-bwp3aM|X@7+6%wkYOKRco5?G z`|WLvfE)g#rM%%v|E~Sg$oITg+zAuit+rd#^X@A6q)ES$+DdO)m29z$VH)PgN|i0% zy?gHY3f*Sw&;4ujE4{Db0lA@dzMjqPEAtiW-nPSHrhU2Mftn2aDsQaAcWhP`@&IE4 z(p=(!llESXCTRkL$$s-b?J|M3qQAN=5t&_RN+nFNTy=5i(`kWUrLC}gbZ8UH*YyG^ zxZv(Ld15U}nZmVl5lH?UjA1Kkm-JaRHM(Ry9y^@mD<>eAF=3>OBmBVj3clpu&Bu89 ztlZzhWHaY2euc2;(08v5ye{IIrJuCPG{tt6n(e#e{fVm~X%`CaVR?ulKCP z@d|$4<@^Q!PnIkJ^{ir6%v92wA2qt2Okf1wh_#UMT>E%pv~Y(2cs^X**l1u}wWN1Z z!KDt^;4jDOmTP%LEr=zm(vbKpmJiea#anE$*m)`5I-Jwr;}UT9&w}3_ZlRjmhSDYe z3GYBPIX&tCg&GN&8s{f)W1Vbw2L8$9i}^p4Ms}ypy2pGhG_D(fEZ?#P3_W5yIQbcf zY+P)tksYfSykvh1$5PS{J;Xv(OC7sUd&GDJN9yOiEkr$oTJzR_ZO!9MNm5A9t`9-k zD?ggjO+B)&atdL7ew4ak!syVI3Mio8z^IJKXqd<(%KpVW`{&Cz0N>+Jz+W^1JdNgpGjP*C6ba5fr5ft)Mcw{Rd%u=xq0gBtA?LT) z7lzFW127J9hIIo4sj1f5yMfoS16h#KZ}1#D!hFA@?z))0gM&x*@j>e6(oAGucj&sw zSC|Lr5dp_(+Im&>(@GCW3^zBd&uYe@G@MoCk}fv;gw*0gYOC{3d|K{7QYyNvPd&JT zu4gLrCvJOsw>pd@=lu3$_jiLZm8}id zv0{ykY`sD2V z_M(4Y)1Y47!y6%=WfI6+X$j2Xr3KN#xZDM8&4i`WK^C!V-+Wj(7ZM*k4hDb_Pdz!> zXg(DFDw5y<%2@_gjOj5iljJT_ldw?J>wumh|2?eySuG$;NXV_;sukxtp?D{OJi<0>$tL#j?lkZU{o<0+t zAOg6Qu7BRmGAT^#T{%tj-2?!A3>F!mzDU~yJ412#Rq-SgdgEuMvFK^s{Lr_T=fPtd ze8w`Z;O9}|WP|b~5gSP}D^s8eXJa9)7-@Q)6ZCeTh>me0c?CtZc;Ha^}G9s zE<+VlWVxW&6i~MWm-}SX`=#P}jVLFd2>X;Ze+fp|qMFq6jG;?0LqIg4vJd#1`kr&dBvId@sYDNoA0de59W(bu#@= z-h5@N1@Vu|5v=_u8ugWSd=sC}+!(ZIcV-g~ROP@qYuRNO%$KbA(cA-3kyLMxyD3(m zI{^Vc16)s7R8({^QafMg{LzUeOd5H^#m+95UZ8QWjDD;nB_2r%0&^qV_Ev0AakTi! z@I^37Q3QGdPHBJ#DOrdxS`W!x6^B_J(O7!jEbcgy@6597-OAME*56!MdeO^-;_}R; zHqfwXiAYza10@XG>BlBDHzxZ#cNx~ouNL$8_}L9QWoJspfBZt`;$_lP`&ybgflqk2 zH9CopR~xoCzuFC-_nhja=RHbs-HB`ls8aRE+M8&lFs~OB{YPA}0x@L;y=RK>Ps=Fm z)2>%YkndB8Wuw7Edv-+jDX-TZG++9x{w={2+5{rS*}{KqRcbPUy9}p?9r?VtWS!- z8M*W?5JvUXiHnZ@mU+oIIOf!}Tfy8k3)(>_O(W%XPkrm9?RI-<>e1vF+%n>v z*iJq6A~)jDlk3l8T12flriV9Sd8mBJOw5OuyIZxww7>>rFgDqsjO`dad;i-HR%Vr)8jC zS`Lt)yq5(DAr(2=2uQ3HIJ?HnjSG8L4%b;!BivTedyg)I2;VER_w*s?0C9kr%K4zA zK!_%|Ua_}~*87ze|6PTCxLrg?rWEn#TBf1*s@|n`LB>E$Uc>MYda4&SXRlbFujz+v zwsgnPQ>`eb`AE-6w*tFqm7UtBP%@@IBKmYu2dAp4SJcA7O_;|cc*Bll)ORf%i96aE zwem~kMc&Z`v%HjG=7>AF&-JZI5*J5`96sWBOgdG?ae$01zRb znes2@_m(l#iAhrxm2h9*-m&wSG}YBV_2=u>J-B)WH)8kA&vT9bXjc`bqrxw??FeV8 z$`Pkm;;`x1?`?^)T#Jx-Ep2(a4jMtv-@$-S+Z(5A#NTiUz_M@$fpdf&ZIsIS307B8 zM_7cm(`vhaGSy3l=B}?k=sWd&aOPpfpZ&a@GIlgSZ~m1meveIdJ>)z71N!t|ffSyZ zjsMmcZ9YsM@10tevZ1cF&uBO^rWb+!g9dOjlcHAVY2G?Le|~+Y{`O_`H77UFuvZfG zKQDj~YTNRnvXTaSdyerv2#ATdCNT-(c%t>gzt1 zEREEN%+$|L!@&(5(nFSup7fv_QqO;V2oYCiPA!>S?9){9{QcD7N}iQA>>Du$X@KQ@ z;J2o^?Fdji_(z~!V>?~mwGU$E%tp!M@ct=jIn6Z3{aRVcZpM46w-tboQg#Bc7kYq{ zifSX1iXD4Sve}$lp_Y?YD80zqae43O=U5x|FO9mT1^RQgRZsponl0?Vjx*I=%D8p4 zjcAd)wKR_N4BVdI~;$G=Ld_GtG#^pOpCa8R+t=;CYr$nuo4nMviaCoMlz}RlV5JlU!UuiqA8uUuUZ+gl}l~L*M?24IZuI zu)6Zz4LE(iXkjoI%@#46*WHf=;?>gfCEBv+jw5nFAQ!iBrKSD zr{*}z-1SSBGM=Z9jk`7oOv^v;36Eyp`StJylBT-6q`N>TaFv~H(tEgf>%`_5`@52@ ziwP?Cn7#IxjRWe8)0n*Xkcubk{i`tbOR;k+D}orNF151dQkFnR%8_wK3H}7P&U$cL z$E^~+Y@JK8y8SKv5xpvk>LiJTH4}M!2r;^by{d*u_WPo zD`H$lJkl>7Ta4LAbNA69e1UO ztVm9iB?igk2)(f!?v5G?@fw;?@ecllu}B}8Qs|tZ-9?Nm$^pW3Hu~U{p;b>~Vq@U* zOCh0~Z=uUQGFyI4(xFc)Q==wE?u#s{L`JT6gHP@^kFB>g$2ccTT{cv6Y+iP8jQ1c- zhm}M&Ko)&;+s!C$H~19}_~56^?Z5e)QY&wjVC&H)K7|74;VtM1i;0sfJIS&(!3@S% zkrx^Rk)XR6knR4ySIf6r7j+Ml$f^PqQ$+Y$&}%|xs`$2TKpybr@@s=s+E*IGdIYpn|a6-$pYcTqr$K6nWLVQSJ^Le#A;P)dh zFT}GSGUkOU&83y~+~UItas*BPF(V1Oy;Wah*Kb!;jVR53q{t3>wYW6M64=!Pl}NH7w=?eF37N}7$b(m0Nz%u2>MgLvp&oC^fwsW*@hT#QhMkuobKfZmh7 zbITEDIFV$NI!Alug94yS15pgP_oe)iQ|z#b2&%O}uo6qYdj?U}`c*I^O*}vgForUL zgfRG=kOMozm%DJ_&d{r|WqloZGRz-67C>TBQS#6x}R^E@VkjEzO^L3T=G$z|a-t=7q3 z{qx8n9`JfvS;GwQPF%^)4J8i*I_rG-lZ*9)E=(Ash{x*B``!m`hwEuT1sx;=?Jyhz z2wK#SYkkl<*$J}Zy>lmoDia3)N5DHBIwJyr=K>kR*J6o<1CDRwvoI8S8j>;^{+Dkq z+1o3yqfhTH*ZF%VM#HV9-J4r|0=%B@sZ8SgJaDk@``>l0ZsqDdDyC2Fj)j5NqF%`} ze4ca!RK8RYpL~Cm3H1lB=a+6dqYw`9xNxdmv;VTq8o$3#2VxK)p6;W1f;59 z8dqWEvf#5J`GJDcuST;txuG6g?G*d>L<|?qqYoBXm~^T2!!=vOPsHI9;zEQB$>7`w zaaS^#d}32O{&*MkK!)FBdh_F{8U`IzpR|k1tMi#pw|#(@O^93`Z-$)sV3Y$Fdz@$A zPgM~=cYyfeuYHsIuqgf%NS4dd3yT%A;wo#_BA|M3;-a|5+O@(f@J@n?YgP9|;LAWc>*v)tBR+Cq{XyYcC?IMV?$)i_#x+-S2h!Z?9@jPoD|&EZQAU)aDIE}Fgv7}mx$ZH%Z)BiP z#Y(WF=~;F5;?l*TKCAdOqfBTa%_EMMwj{{WVq0$kGWw)E;D#{AU-itbZKk~JOP_Aw z_BIH;IsH0QwQ#v4WWX(ayHiP0EjOMYtnuhkOzmQIyd%PiY@}6#sfA@s$61G10(*^( z2lg8mzfbIpS=qlTQRrd!+8(FdGH54zO1EM#??$P8XQhh2Oy$!w_)fPOKNb6=C~cFO z$-OcsVt8E8b8@#vH@E9z+G|#PJvr0>+QhIuqMhP>!|ph61iHKW$Lcvdy?p6m##~*2 zo~mj2_aS@dR4zzoF}F)t$$uy^THFP26Fd`cHZ#3WgUU)fTY^cGq(mGZSi8&GHVnQG z_@vBuJSGL4YM9wu5lV|4G|TPa^(~V0Us%wwSv0cp4L|aY-4cBb9c-StRrn-RGOzA3 zI#Lpix(^Vt@QHx&4n=vX^(o62A3V%R(C#s@nRb`sVCU=E+_n;ljB~{`9Lp5_JpbP0 zd>FC$tFyyHk^6&h7K5E+ZFzD&pYBR`$Kg+)=a!vn>OwY>)8+alB3cqz6IGRmx$ji;uZS8@i4|XemvsW$Inic?o3J}VYz}bOUiPD( zrnGW1*mao=e8xpk#%Tnt!Y5`-Y7~FESqtzkTy7NLw+L4)O3RPgV1!vnMBc7bj}5gr z(zTLEDass1^{|$+`vvkSYz92J)i0(KBpf=VJS?LNiY$uQCfXe-dig@|ls*~&ZE^P_ z25)hwA)MUuEV*UTh_+>2YMbt;=~6}t3h&2{a^m`4$(Tw|i79@H-^uzeWt(%2GN%o;Wwwt=CPtlHOyRHBM62ExxZlvlaB%`&JF(dCTi_ z#cRXDRSAsKoets60U3$bjWv0KhN_e$^W2;LSM0kbrIg(2X#+8|RD^)TWYs&spGD*m zE!U>eMBSF#iguG*NG>rQt&{u1T=t}{H^2-aF$27{8gag)C!v_~)GE1Cc zNcI7yL#yjfdzXMQb+-%B2Wy7a%10{#>0%TcBhv*aqNKa+gYv#RlHEPi$)#407Y$R# z=_ly{>dK`La&^>@$)rZ5nzx3X6*DH7-TN9lbrg5 z`MQ5a*6p*KQ|?WYn^KtSQdG4i05$Gy55!3j&K1=nrU={X{;(*g+njY*Ht=lK9_m39 zS*22iQ@2xhFm~@W?Pb6i^Y2(-K?^h%SnZQ8+;*c%VjX8vG#>I5PT3c2Y)!_3iIMO2 zbs}5N-R4~C68|}|gS~hYxTD@&xlOrgQ%v7Eqd3|k#(lh1vlUhj@Y#ThFkp)Miw!Js z&HWHn_&XOn@Ho4No54m9RJN5{O^yv z8;2x8fy)!6jW0cED{`|6fWDuYJ=4|TB~S6%1+QSUAvbLr{%MK~&Ymux;U zH``t&l>TwgSw1!yOJ@UZS_*}Mru_UJ1x6IgM{=l;`;u-*qi=XlX5+WLw8sq*5);0A zGq%i>4-rFjfsBd5rURemsYadRf!sk=D*Re&+4R4}lTM)9}?=$YJR30+(!-7P6veq0yMJC+WiNUzK4 zmhJgHAu-a?Xc~UE@3QY71`E`V>LIndHeGYH6VL8!%U0#7iaj!%x`ez}?Ae8}+`loJ z)sX5I7lAoz@zLq+umjUbOQ)uCafjB7;NJ_rNe95i*t9>c{r)Pw`wi1M|E6DWAu0%O zYi~2t>nDcowGieFwdN?>bR`ue&$8CT4TIH|hp9jO-PjYE_XYY(SYC8ZPwa__^ zBVRa9LCRaB@UvWg>Q}dkm03$bf&TZx51#%~m9XYHv^khlh=z~lP!NI7V*HqroW5Sk z&C^!HBWAz6+YjBp!cuBn_ieT+)x<}PfymUhT@}SXBed|;tMg73i?L}sSf?B9pS`{*@webx%2@QR!84s@4kLGEL?& z?TRJ^p$k;7JzE$gs50IBI5mXd^E8Y#O3Mo9#9 zcP)2$&A4L%x++eVmlw#=iKGz{zwAZ_#vi?B2FN2lfJRWKu)4MR%aBkNUPfS!2N6Y; z453g|c~CrU!tSpu(uiUzd0>3L7v7m1pVH`CU5RHD>?|?<(xo{n$;`CGOP?qJ8j%|@ za6-hDeEQ-`k6^S+*eaH)ZJ3>3^xf;&nNcYlB{^Rck~Wvgoj%R#KJ0|EYbe`f!@t|) zpf{>wAtt;G^lc!rk4l!0nnVk;-Keg&LVYuhc}uCSSgh5E(**biXIQ~5`q#aQo>R!Q zJcatzy<#Df^tMFQFL!n`37+cI%f*J&nFc~gHRGo4`3wzY_dbbv#B0^ZFS09u3yzwA zrk#uw8Ld~`!f=@xd&%UscL+Co$=Fqa)3T*dx$VaQ4l=rUM7m?z5VTUZlYnk^l=XTD z#F&VoV)cDIGf=MMl1$&v6Rxf??eklLj7Qv!H4;M zrdR?=^zEDB)N7_r9N7Co-69y2i zti&}(Y1uU)XORE zD8Q0rqa9K8W7Oay`pDxpP6hU{*qz;*Uvx>!fu<)ieJKX%erb|hO%Rk-bSdBrnMO(m zkv{eMBRER}>7qS;#Lf|1Vgp4kMU+D`Vf~_I7H(Yyce)L0%K}Lh( z6>En%U>}771?ymahBHfP`;SYdr@jR*+1@yeO&q1Bq?@SwD8xQMe;N5a5)|kvAlWJ0 z6MDhhknAq%Op0p1UB#f8_r&wtcc$UjXLdc4CYdGo(AS*`e(V)Ri8+U;B)(98*O#9= zxJ3>@j?WYaTt$j?S5jG?$b9<8Xoh36(D0D!n33DjXN) zW3zG>yvz@;A3FPOk^c+l@MHtO6V@Z|J)Zr@g%gNB2gpYE@9)*0rg`{}5^@VGeKBmv z#=J4)^*DIoE+fz+D8TAmSap@#{7ZmDQ6b$B$}R4&4Tl>j0s^H!afOY#XKlU)a6~2k zaa$N@DYF8=N+5s$+|Mc@hgziX*+PSdPQ~eJ>F9u_k2!TB#fHIR`|2ephP5otR1_3Eb~;KG@@Q2_*|{mV z%7%Ht$x~mSdC{Ed|M~M{gv9h!7GOFgRmb(CT+D_D9&kmm%v9`N1&;$docM=376olz z00XdRPAwItpI=!a3P_0ld^D0v|CJR$@L=h?eHLF!bitluv6g))$q7!X^4LFaUn3Eh z+@s5TaG9t&HgSqteA`&SJLGWj=IH4BvPm&nxA~cBG7rs;1spUyy*=^Uz%r3nr*0Kz za_LHB5zvEuXLB{Z1V~t?xcNL!h8nzu?M)2=@-r)P#swPANGDde$tVGi8ruNv{e`7R zNU3*6EV}UY0<*Da+223p*T9Bpda6z`r_8ISTmVTJ;a4i?-oxJb(>$x7PSRwN^&4Wj zCU+x`T97d=R^)X=$4j+SuL>O~yVH@Gd`9~)?c7IjoEWGzyTAIhvA0FaFuGAvYAhFd zMikAYZkUjFIxTQ$K%*ZBJ#cJN0hVZO4~iq&xZKwlrfr9kVn4dT`pwlU|Fh(0+qs>p zBs1h`l0`>%OtYj$JP*ys>iWDvB5S_IlJNq~3-z;VXzZ64zC3wX6m{#Y1c)iex_~W+ zo8LndmCvY8sV>+@!*nIv?qy_ZS5BMevjA8gc#e&I=ESX5jxHv6fmyw+gRdaQO(?tnu(M~Pf+2M1d6v2hVi7Q)uO z0>xIPGWoew_E{!TKF_X>H8Q+v&8NVZf2aj5muv<-y|CCrSf0($aK;xhE^cLUIXEYn z$(f^19K|exESSm`-VNSs7;X%Bi2asfmvXz3rof zTj#iVM5MYJS;4?T8x-$1tJ;P+-C}E5Y%U~a>3De% z(sx`U``*ULS!>VoXl)zpCIo%KDbdXj%^S0JHF^b~J2T|Ab5?t3jUi5AR2CIJ0#pc? zZ|GTzXn93dvC>`I>Q1{bCSd%jOQnoK-G^P3J@b2!Je;}g3=1DDH)deu2|)_ zKzC;Ta^a`5Do*OugmfOAn0e$&%TOcb!(Z;YlNsfk09=jh##q4n6qf>3*|yl94g#~^{JG{P zHB~{mtBlsGy}p1 zB$};R3Ei@a+qf8y;j_a?($$#0q!|#u&MJoZx$>F>DHjP_L z%g85Q!_Fy}na1*MK*Xn0XFYdIo2ELWZ5nmKTh8Xgq%e?dt?`&Z&vy2bzjZq6=(4I1 z$)!wR(SvCYk>Fgzq2Vm&n$nhukNjDS9zJS?Fjh#LNgFKaU{d8QX|Pb0QahV|GWpk4 z;S>f+Ma%dbVbPFDp<EY7 z{MH^JCsb&Jr)EgwpGwn3adHp$H!Js>`DO>?KuVBd?VfW`6vG^Ttu24a z=zk_2f?)1>3E#32Jun6SL-_t%0RP_}zb7UG#ze6j)WbrvgQ5=Bc;V^}d@F$BK(iQ0 zgwe7}&qnacDzHK_B4l@M(Wx?qm~5O51>N5~L|J~!O0T&!9k-i-v%q1i##a}wKcVoD9Z z1uSRx?sR1gb=-sxLS?CCyce#eV7%WN%usb|@#gp|gUkw??E;jAh#gzJ${F<|F=YQ(S1uaSkkr0@a)uRikd_R}0LRRv_Uq-(Gf{ zL5(mgWh3gws8nj3;%ziW!F*~}&7gYC`pSw}9!1Z|=yQsAq`Un43&M)?@3tt}o=rh2 zn$sNsQj$9EX8P+Q?!olU{m|VXj^42j#NdV;0ZDd+fwC6*c-y7stphp zzW(iJNrjp-)oLCc$4PDYYM8v)kPfm|(~{jsFfm z8(5B<-A<`(F-+5ZFr{=#-XaF%l$edpu6;d6#2Hxz8m4)n;M*I_h81@4LRPzUYyd@_ ztw#>KmUd2wz52L;OVjfpe{buJwyCRUr$(R}NCY3g;<*O=I-1nHW6seKaW;94-jNvW z(Z($PQWbVDGl0@f{&DN&H4rJa=3c^G)A`F?HHYWAHHEy7MZJ7*ja4?|Xj|5fMYFd# zK41{P=YD>^gjNzm3$qE`h-mbfky;b*TpnS$wwG>foetvNeZeo=lY*cKcy9IwGO~cl z{y0O^ee~|m&yQY?RfM5U$U>K_h9U?&fA`~q=GVJB=&=B&J}I4%%Xo?h$^X|KSlu|z zdc?b;sf(1LyI^m~ITzoCSUeh~TDB7tEHhxnA}Q!L+|=AV{(2gMn7NZ+pCywy5M)9vKn`p=S7dLos^mGi_Iw6QLx`m z-B8^6<@D{n8mt2?WU$dT^z9=dF zot@MN-Cx>8?myu(?oOJq&J6A9uQQ)u!>~6jg$-qi`_1RVNKdlC$jCVbIbY>lE0VgQ ztUIXz8;Rl#54$}pTY?k{1VW$O!q(fdBRU6TUBf<>Y@1eNWS7{!oVJmE<J+D5i?Fa)eVdF+rL76QBq^$ zw2!7t{sbn#KCU6v%(884M#5#DR^pr1+y(j>$ZJR4fKk4B{!{aXa%bBj`rDU$mP!L2 zHNIPk71B)zX!2gvIXtsPz=(DC20kb=-ZMJU1)pJb26Vk=m!g8jppNM{D5S z_uiK-jp<^UfYmC1FC&0b2ckSn6BB9a_#&n{BdN>TR(I%D3z6ZZQZ?T=i9dI zg{phC-^s3ipoyY-MK_LAUhTMvEj7@b8&S(7q$rjqJjxq{^8a3mCtC3wws{Y^+ot(8 zo^WCJzFp1bfL9GsFTFp_l@F#%3pz&||GW&Pe%whrV>mC@{5O4KZn8#8GV4!Xvr2SVh-_AprZe{USnHhK=&u8Y|wjSERr5iq`Ve? zj3J>Zp~>b}a4Bk8N^+?JBkEs^%(#}T*M1XjQTcx7?_-WA-qKnGryG0pJeprw@eWe@ zYa&>po{2dkV1IXr&ei5=*I(!xNGz{V$BDxbaIy^;>e-Q&eE#HD&?*1sgFx&0>*way z!5!`GBe}G2Q>-*kB2*%}KY52<yf0gLoGG7t_1`>n1*STy#%pi$!eHa7z7@FVb%i#xK z*91NoU@>6#+Vf=yZpC`C)8K*Gw{k+z(Ss*^;exkxG7(F6;^giVX3W?DW+9`a82tR< zc0Ku;_RdOVaXnf@U}oL^2lFlGA ^k8AvSSE~0J+?(?IsLp;0F22ifQcIBy|@i` zffQcc=ey)oKP|f~Zia$}z+y5WZAs?^uw|!V2`?bPA0=2{*HBC{UMdSQ=N_M!VL#e^>=JYKK@*1(n4JKwl=IBuRx|q&DHY1H#1RsR>>Lza1 zkkg3?Zy??K&8d2B*2n4j1Q-deClAK+(L@t22?#Kj*UyZVpcqx-0S-<5lXmI{T!%J2 f?Ccg-*`@q}sEXY6vIl@?z>nf1)rUp$&tLt2nD0Vb literal 0 HcmV?d00001 diff --git a/doc/img/eclipse-edge-initial-log-output.png b/doc/img/eclipse-edge-initial-log-output.png new file mode 100644 index 0000000000000000000000000000000000000000..96a418ebeb37c6d8973d08eaa6a1474d69ba5cc9 GIT binary patch literal 77227 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 e#_=A9Xj~mvRjN literal 0 HcmV?d00001 diff --git a/doc/img/eclipse-io.openems.edge.application.png b/doc/img/eclipse-io.openems.edge.application.png new file mode 100644 index 0000000000000000000000000000000000000000..fe345faea39c7f983fb2272a87cc608529368e57 GIT binary patch literal 14423 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 iIS~Ox$3&Lyv5!W6u>*{evC-e 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 OfEVie&udj*NB#%X691h5 literal 0 HcmV?d00001 diff --git a/doc/img/openems-ui-edge-overview.png b/doc/img/openems-ui-edge-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..a072b5a5cc1cd4e8278d029d1c883ca3175c5d6e GIT binary patch literal 78342 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/img/openems-ui-overview.png b/doc/img/openems-ui-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..8275c89a3714f9038da8904ee09983025c98fbe6 GIT binary patch literal 20428 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 NIoP_KdT`R`#$Qx=Q(^!B literal 0 HcmV?d00001 From 434097693ffb8310b2c9f97ff7f215c3a0b54f62 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 5 Jun 2018 21:20:27 +0200 Subject: [PATCH 32/50] Set initial Soc on Simulated Ess --- .../edge/simulator/ess/symmetric/reacting/EssSymmetric.java | 1 + 1 file changed, 1 insertion(+) diff --git a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java index e267e0d6bc1..129b62b32b7 100644 --- a/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java +++ b/io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java @@ -67,6 +67,7 @@ public Doc doc() { @Activate void activate(ComponentContext context, Config config) throws IOException { super.activate(context, config.service_pid(), config.id(), config.enabled()); + this.getSoc().setNextValue(config.initialSoc()); this.soc = config.initialSoc(); this.getMaxActivePower().setNextValue(config.maxApparentPower()); /* From 32208b77ab4c76dab15f654c58a233941a273e1d Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 5 Jun 2018 21:36:21 +0200 Subject: [PATCH 33/50] Fix gitignore to keep empty test folders --- cnf/release/index.xml | 2 -- cnf/release/index.xml.sha | 1 - io.openems.backend.common/test/{.gitignore => .gitkeep} | 0 .../test/{.gitignore => .gitkeep} | 0 io.openems.backend.metadata.api/test/{.gitignore => .gitkeep} | 0 .../test/.gitignore | 0 io.openems.edge.core/.gitignore | 1 - io.openems.edge.core/generated/.gitignore | 2 ++ io.openems.edge.core/test/.gitignore | 0 io.openems.edge.ess.fenecon.commercial40/test/.gitignore | 0 io.openems.wrapper/test/.gitignore | 0 11 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 cnf/release/index.xml delete mode 100644 cnf/release/index.xml.sha rename io.openems.backend.common/test/{.gitignore => .gitkeep} (100%) rename io.openems.backend.edgewebsocket.api/test/{.gitignore => .gitkeep} (100%) rename io.openems.backend.metadata.api/test/{.gitignore => .gitkeep} (100%) rename {io.openems.common => io.openems.edge.controller.api}/test/.gitignore (100%) delete mode 100644 io.openems.edge.core/.gitignore create mode 100644 io.openems.edge.core/generated/.gitignore create mode 100644 io.openems.edge.core/test/.gitignore create mode 100644 io.openems.edge.ess.fenecon.commercial40/test/.gitignore create mode 100644 io.openems.wrapper/test/.gitignore diff --git a/cnf/release/index.xml b/cnf/release/index.xml deleted file mode 100644 index 66f4db8fa48..00000000000 --- a/cnf/release/index.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/cnf/release/index.xml.sha b/cnf/release/index.xml.sha deleted file mode 100644 index c9fe49626b3..00000000000 --- a/cnf/release/index.xml.sha +++ /dev/null @@ -1 +0,0 @@ -7870f9fe95d85770c7eb2029271365dc5a602fe254f6449152d4d4ab0fc3395f \ No newline at end of file diff --git a/io.openems.backend.common/test/.gitignore b/io.openems.backend.common/test/.gitkeep similarity index 100% rename from io.openems.backend.common/test/.gitignore rename to io.openems.backend.common/test/.gitkeep diff --git a/io.openems.backend.edgewebsocket.api/test/.gitignore b/io.openems.backend.edgewebsocket.api/test/.gitkeep similarity index 100% rename from io.openems.backend.edgewebsocket.api/test/.gitignore rename to io.openems.backend.edgewebsocket.api/test/.gitkeep diff --git a/io.openems.backend.metadata.api/test/.gitignore b/io.openems.backend.metadata.api/test/.gitkeep similarity index 100% rename from io.openems.backend.metadata.api/test/.gitignore rename to io.openems.backend.metadata.api/test/.gitkeep diff --git a/io.openems.common/test/.gitignore b/io.openems.edge.controller.api/test/.gitignore similarity index 100% rename from io.openems.common/test/.gitignore rename to io.openems.edge.controller.api/test/.gitignore diff --git a/io.openems.edge.core/.gitignore b/io.openems.edge.core/.gitignore deleted file mode 100644 index 9e0adcc107c..00000000000 --- a/io.openems.edge.core/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/generated/ diff --git a/io.openems.edge.core/generated/.gitignore b/io.openems.edge.core/generated/.gitignore new file mode 100644 index 00000000000..70af97e985e --- /dev/null +++ b/io.openems.edge.core/generated/.gitignore @@ -0,0 +1,2 @@ +/.index +/buildfiles diff --git a/io.openems.edge.core/test/.gitignore b/io.openems.edge.core/test/.gitignore new file mode 100644 index 00000000000..e69de29bb2d diff --git a/io.openems.edge.ess.fenecon.commercial40/test/.gitignore b/io.openems.edge.ess.fenecon.commercial40/test/.gitignore new file mode 100644 index 00000000000..e69de29bb2d diff --git a/io.openems.wrapper/test/.gitignore b/io.openems.wrapper/test/.gitignore new file mode 100644 index 00000000000..e69de29bb2d From f8f10bd5e67ecfd25418b592b4e730a409a55396 Mon Sep 17 00:00:00 2001 From: Wolfgang Gerbl Date: Wed, 6 Jun 2018 08:55:07 +0200 Subject: [PATCH 34/50] fix import in eclipse --- io.openems.edge.controller.debug.detailedlog/test/.gitkeep | 0 io.openems.edge.core/.gitignore | 2 ++ io.openems.edge.core/generated/.gitignore | 2 -- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 io.openems.edge.controller.debug.detailedlog/test/.gitkeep create mode 100644 io.openems.edge.core/.gitignore delete mode 100644 io.openems.edge.core/generated/.gitignore diff --git a/io.openems.edge.controller.debug.detailedlog/test/.gitkeep b/io.openems.edge.controller.debug.detailedlog/test/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/io.openems.edge.core/.gitignore b/io.openems.edge.core/.gitignore new file mode 100644 index 00000000000..c2b941a96de --- /dev/null +++ b/io.openems.edge.core/.gitignore @@ -0,0 +1,2 @@ +/bin_test/ +/generated/ diff --git a/io.openems.edge.core/generated/.gitignore b/io.openems.edge.core/generated/.gitignore deleted file mode 100644 index 70af97e985e..00000000000 --- a/io.openems.edge.core/generated/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/.index -/buildfiles From 8b686a878727531a0a621504ef989bb56d5bd64f Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Wed, 6 Jun 2018 09:17:55 +0200 Subject: [PATCH 35/50] Improve doc --- doc/OpenEMS_EN.adoc | 6 +++++- doc/img/sourcetree.png | Bin 17276 -> 28299 bytes 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/OpenEMS_EN.adoc b/doc/OpenEMS_EN.adoc index 57ca4ab6631..dba1c91a545 100644 --- a/doc/OpenEMS_EN.adoc +++ b/doc/OpenEMS_EN.adoc @@ -90,22 +90,26 @@ This quick 'Getting Started' should help you setup up a complete development env ... press btn:[File] -> btn:[Clone] ... enter the git repository path `https://github.com/OpenEMS/openems.git` ... select a target directory, for example `C:\Users\your.user\git\openems` +... open btn:[Advanced Settings] +... select the branch btn:[develop] ... and press btn:[Clone]. + .Cloning the git repository using Sourcetree image::sourcetree.png[Cloning the git repository using Sourcetree] + .. Alternatively: with the git command line utility ... open a console ... change to the target directory -... execute `git clone https://github.com/OpenEMS/openems.git` +... execute `git clone https://github.com/OpenEMS/openems.git --branch develop` . Git is downloading the complete source code for you. === Setup Eclipse IDE for OpenEMS Edge and Backend . Prepare Eclipse IDE +.. Download http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html[Java SE Development Kit 8 icon:external-link[]] and install it .. Download https://www.eclipse.org[Eclipse for Java icon:external-link[]], install and start it .. On first start you will get asked to create a workspace. Select a directory - for example `C:\Users\your.user\git\openems-workspace` - and press btn:[Lauch]. _The directory needs to be different from your source code directory selected above._ diff --git a/doc/img/sourcetree.png b/doc/img/sourcetree.png index 45b38b78c6657087cb43fee9c69d09e18c8adccb..26ae5780641b9c5539e06303fc0d44f3dc10442b 100644 GIT binary patch literal 28299 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 Icoy+L01wkQZvX%Q From b1055121a0b8162c4c34df164f0d67e5f1223884 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Wed, 6 Jun 2018 09:28:10 +0200 Subject: [PATCH 36/50] Update doc html and pdf --- doc/OpenEMS_EN.html | 13 +++++++++++-- doc/OpenEMS_EN.pdf | Bin 1452870 -> 1466529 bytes 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/OpenEMS_EN.html b/doc/OpenEMS_EN.html index ab33c0668c8..44f5ee008ad 100644 --- a/doc/OpenEMS_EN.html +++ b/doc/OpenEMS_EN.html @@ -622,6 +622,12 @@

      2.1. Download the source code

      select a target directory, for example C:\Users\your.user\git\openems

    3. +

      open Advanced Settings

      +
    4. +
    5. +

      select the branch develop

      +
    6. +
    7. and press Clone.

      @@ -644,7 +650,7 @@

      2.1. Download the source code

      change to the target directory

    8. -

      execute git clone https://github.com/OpenEMS/openems.git

      +

      execute git clone https://github.com/OpenEMS/openems.git --branch develop

    @@ -667,6 +673,9 @@

    2.2. Setup Eclipse IDE
    1. +

      Download Java SE Development Kit 8 and install it

      +
    2. +
    3. Download Eclipse for Java , install and start it

    4. @@ -1085,7 +1094,7 @@

      2.5. Run OpenEMS UI

    diff --git a/doc/OpenEMS_EN.pdf b/doc/OpenEMS_EN.pdf index 77e2b35d1d61372ac3bd44ae169858bea87a559f..1a686e139e6c10141d85702abd59deebf2c8e344 100644 GIT binary patch delta 48879 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 delta 37175 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 From f813b6023f1c144da3f3be2d51e51413e7659e7d Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Wed, 6 Jun 2018 09:33:47 +0200 Subject: [PATCH 37/50] Doc: add apache felix console login credentials --- doc/OpenEMS_EN.adoc | 4 +++- doc/OpenEMS_EN.html | 7 +++++-- doc/OpenEMS_EN.pdf | Bin 1466529 -> 1467305 bytes 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/OpenEMS_EN.adoc b/doc/OpenEMS_EN.adoc index dba1c91a545..a7e7aa9f23a 100644 --- a/doc/OpenEMS_EN.adoc +++ b/doc/OpenEMS_EN.adoc @@ -149,7 +149,9 @@ image::eclipse-resolve-osgi.png[Resolve OSGi in Eclipse IDE] image::eclipse-edge-initial-log-output.png[OpenEMS Edge initial log output] . Configure and start the Simulator -.. Open the http://localhost:8080/system/console/configMgr[Apache Felix Web Console Configuration icon:external-link[]] +.. Open the http://localhost:8080/system/console/configMgr[Apache Felix Web Console Configuration icon:external-link[]]. ++ +Login with username *admin* and password *admin*. + .Apache Felix Web Console Configuration image::apache-felix-console-configuration.png[Apache Felix Web Console Configuration] diff --git a/doc/OpenEMS_EN.html b/doc/OpenEMS_EN.html index 44f5ee008ad..a068af027d3 100644 --- a/doc/OpenEMS_EN.html +++ b/doc/OpenEMS_EN.html @@ -758,7 +758,10 @@

    1.1. OpenEMS IoT stack

    • -

      OpenEMS Edge runs on site and actually controls the devices

      +

      OpenEMS Edge runs on-site and actually controls the devices

    • OpenEMS UI is the generic user interface

      @@ -1091,13 +1148,292 @@

      2.5. Run OpenEMS UI

    + + + +
    +

    3. Core concepts & terminology

    +
    +
    +

    This chapter describes some of the core concepts and commonly used terms in OpenEMS:

    +
    +
    +

    3.1. Bundle

    +
    +

    OpenEMS Edge is using the OSGi platform to provide a completely modular and dynamic service oriented system.

    +
    +
    +

    Logical groups of source code are put into one OSGi Bundle. Every directory in the source code root directory starting with 'io.openems.*' is a bundle.

    +
    +
    +
    +

    3.2. Component

    +
    +

    OpenEMS Edge is built of Components, i.e. every main component implements the OpenemsComponent interface .

    +
    +
    +

    By definition each Component has a unique ID. Those Component-IDs are typically:

    +
    +
    +
      +
    • +

      ess0 for the first storage system or battery inverter

      +
    • +
    • +

      ess1 for the second storage system or battery inverter

      +
    • +
    • +

      …​

      +
    • +
    • +

      meter0 for the first meter in the system

      +
    • +
    • +

      …​

      +
    • +
    +
    +
    +

    If you receive your OpenEMS together with a FENECON energy storage system, you will find the following Component-IDs:

    +
    +
    +
      +
    • +

      FENECON Pro

      +
      +
        +
      • +

        ess0: FENECON Pro Ess

        +
      • +
      • +

        meter0: Socomec grid meter

        +
      • +
      • +

        meter1: FENECON Pro production meter

        +
      • +
      +
      +
    • +
    • +

      FENECON Mini

      +
      +
        +
      • +

        ess0: FENECON Mini

        +
      • +
      • +

        meter0: FENECON Mini grid meter

        +
      • +
      • +

        meter1: FENECON Mini production meter

        +
      • +
      +
      +
    • +
    +
    +
    +
    +

    3.3. Channel

    +
    +

    Each OpenemsComponent provides a number of Channels. Each represents a single piece of information. Each Channel implements the Channel interface . By definition each Channel has a unique ID within its parent Component.

    +
    +
    +
    +

    3.4. Nature

    +
    +

    Natures extend normal Java interfaces with 'Channels'. If a Component implements a Nature it also needs to provide the required Channels. For example the Energy Storage System (ESS) Simulator Simulator.EssSymmetric.Reacting implements the Ess interface and therefor needs to provide a Soc Channel that provides the current 'State of Charge' of the battery.

    +
    +
    +

    Controllers are written against Nature implementations. Example: A Controller can be used with any ESS, because it can be sure that it provides all the data the Controller requires for its algorithm.

    +
    +
    +
    +

    3.5. Channel Address

    +
    +

    By combining the unique Component-ID and Channel-ID each Channel in the system can be addressed by a distinct 'Channel Address' in the form Component-ID/Channel-ID.

    +
    +
    +

    Example: the state of charge ("Soc") of the first energy storage system ("ess0") has the channel address ess0/Soc.

    +
    +
    +
    +

    3.6. Scheduler

    + +
    +
    +

    3.7. Controller

    +
    +

    The actual business logic or algorithms are wrapped as 'Controllers'. i.e. they implement the Controller interface . Each Controller holds one specific, encapsulated task.

    +
    +
    +
    +
    +
    +

    4. OpenEMS Edge

    +
    +
    +

    OpenEMS Edge is the core component of the energy management that runs on-site and is responsible for communicating with and controling of external hardware like battery systems, inverters, meters and so on.

    +
    +
    +

    4.1. Architecture

    +
    +

    The OpenEMS Edge software architecture is carefully designed to abstract device communication and control algorithms in a way to provide maximum flexibility, predictability and stability, while simplifying the process of implementing new components.

    +
    +
    +

    4.1.1. Input-Process-Output

    +
    +

    OpenEMS Edge is built around the well-known IPO (input-process-output) model which defines the internal execution cycle.

    +
    +
    +
    +Input-Process-Output model +
    +
    Figure 21. Input-Process-Output model
    +
    +
    +
    +
    Input
    +
    +

    During the input phase all relevant information - e.g. the current 'state of charge' of a battery - is collected and provided as a process image. This process image is guaranteed to never change during the cycle.

    +
    +
    Process
    +
    +

    The process phase runs algorithms and tasks based on the process image - e.g. an algorithm uses the 'state of charge' information to evaluate whether a digital output should be turned on.

    +
    +
    Output
    +
    +

    The output phase takes the results from the process phase and applies it - e.g. it turns the digital output on or off.

    +
    +
    +
    +
    +
    +

    4.1.2. Scheduler and Controller

    +
    +

    During the 'process' phase different algorithms (Controllers) might try to access the same resources - e.g. two Controllers try to switch the same digital output. It is therefor necessary to prioritize their execution and restrict access according to priority.

    +
    +
    +

    OpenEMS Edge uses Scheduler implementations to receive a sorted list of Controllers. The Controllers are then executed in order. Later executed Controllers are not allowed to overwrite a previously written result.

    +
    +
    +
    +IPO model with Scheduler and Controllers +
    +
    Figure 22. IPO model with Scheduler and Controllers
    +
    +
    +
    +

    4.1.3. Cycle

    +
    +

    The input-process-output model in OpenEMS Edge is executed in a Cycle - implemented by the Cycle component ). It handles the setting of a process image in the input phase and executes the Controllers in the process phase. Furthermore it emits Cycle Events that can be used in other Components to synchronize with the Cycle.

    +
    +
    +
    +OpenEMS Edge Cycle +
    +
    Figure 23. OpenEMS Edge Cycle
    +
    +
    +
    +

    4.1.4. Asynchronous threads and Cycle synchronization

    +
    +

    Communication with external hardware and services needs to be executed in asynchronous threads to not block the system. At the same time, those threads need to synchronize with the Cycle.

    +
    +
    +

    The following example shows, how the Modbus implementation uses Cycle Events to synchronize with the Cycle:

    +
    +
    +
    +Synchronize Cycle with Modbus read/write +
    +
    Figure 24. Synchronize Cycle with Modbus read/write
    +
    +
    +
    +
    +

    4.2. Configuration

    + +
    +
    +

    4.3. Hardware

    +
    +

    4.3.1. Natures

    + +
    +
    +

    4.3.2. Bridges

    + +
    +
    +

    4.3.3. Devices & Services

    + +
    +
    +

    4.3.4. Implementing a Device

    + +
    +
    +
    +

    4.4. Scheduler

    +
    +

    4.4.1. Existing Schedulers

    + +
    +
    +

    4.4.2. Developing a Scheduler

    + +
    +
    +
    +

    4.5. Controller

    +
    +

    4.5.1. Existing Controllers

    + +
    +
    +

    4.5.2. Developing a Controller

    + +
    +
    +
    +
    +
    +

    5. OpenEMS UI

    +
    +
    +

    5.1. Architecture

    + +
    +
    +

    5.2. Configuration

    + +
    +
    +

    5.3. FAQ

    + +
    +
    +
    +
    +

    6. OpenEMS Backend

    +
    +
    +

    6.1. Architecture

    + +
    +
    +

    6.2. Configuration

    +
    diff --git a/doc/OpenEMS_EN.pdf b/doc/OpenEMS_EN.pdf index c82695b281d5570c41f3aec5ae8105e59d7f8828..56a7b10c1343fbb21163822f6bfab4a7eb12626a 100644 GIT binary patch delta 135521 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
    `WQe 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 ia;sW-njJlXK*W7J&fSEXb% delta 36883 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 WsECgH3KT93C=Su}>+>* +|ActivePowerL1 |Watt | +|ActivePowerL2 |Watt | +|ActivePowerL3 |Watt | +|ReactivePowerL1 |var | +|ReactivePowerL2 |var | +|ReactivePowerL3 |var | \ No newline at end of file diff --git a/doc/_old/devices/_include/AsymmetricMeterNature.adoc b/doc/_old/devices/_include/AsymmetricMeterNature.adoc new file mode 100644 index 00000000000..9da8e9bfe34 --- /dev/null +++ b/doc/_old/devices/_include/AsymmetricMeterNature.adoc @@ -0,0 +1,15 @@ +3+|*<>* +|ActivePowerL1 |Watt | +|ActivePowerL2 |Watt | +|ActivePowerL3 |Watt | +|ReactivePowerL1 |var | +|ReactivePowerL2 |var | +|ReactivePowerL3 |var | +|CurrentL1 |mA | +|CurrentL2 |mA | +|CurrentL3 |mA | +|VoltageL1 |mV | +|VoltageL2 |mV | +|VoltageL3 |mV | +|maxActivePower |Watt |Holds the maximum ever recorded active power sum over L1, L2 and L3 +|minActivePower |Watt |Holds the minimum ever recorded active power sum over L1, L2 and L3 \ No newline at end of file diff --git a/doc/_old/devices/_include/ChargerNature.adoc b/doc/_old/devices/_include/ChargerNature.adoc new file mode 100644 index 00000000000..8df8defbe10 --- /dev/null +++ b/doc/_old/devices/_include/ChargerNature.adoc @@ -0,0 +1,5 @@ +3+|*<>* +|ActualPower |Watt | +|NominalPower |var | +|InputVoltage |VA | +|maxActualPower |Watt |Holds the maximum ever recorded actual power \ No newline at end of file diff --git a/doc/_old/devices/_include/EssNature.adoc b/doc/_old/devices/_include/EssNature.adoc new file mode 100644 index 00000000000..c8a90a36885 --- /dev/null +++ b/doc/_old/devices/_include/EssNature.adoc @@ -0,0 +1,9 @@ +3+|*<>* +|GridMode | 1=Off-Grid, 2=On-Grid | +|Soc |% | State of Charge +|SystemState | | +|AllowedCharge |W | +|AllowedDischarge |W | +|AllowedApparent |VA | +|capacity |Wh | +|maxNominalPower |W | \ No newline at end of file diff --git a/doc/_old/devices/_include/EvcsNature.adoc b/doc/_old/devices/_include/EvcsNature.adoc new file mode 100644 index 00000000000..a9461ad0587 --- /dev/null +++ b/doc/_old/devices/_include/EvcsNature.adoc @@ -0,0 +1,4 @@ +3+|*<>* +|CurrUser |mA |Current preset value of the user via UDP; Default = 63000mA. +|SetCurrent |mA | +|SetEnabled | | \ No newline at end of file diff --git a/doc/_old/devices/_include/MeterNature.adoc b/doc/_old/devices/_include/MeterNature.adoc new file mode 100644 index 00000000000..9b69386f84c --- /dev/null +++ b/doc/_old/devices/_include/MeterNature.adoc @@ -0,0 +1,2 @@ +3+|*<>* +|Type |`production`, `grid` | \ No newline at end of file diff --git a/doc/_old/devices/_include/SymmetricEssNature.adoc b/doc/_old/devices/_include/SymmetricEssNature.adoc new file mode 100644 index 00000000000..7e1ed8d0ea0 --- /dev/null +++ b/doc/_old/devices/_include/SymmetricEssNature.adoc @@ -0,0 +1,4 @@ +3+|*<>* +|ActivePower |W | +|ReactivePower |var | +|ApparentPower |VA | \ No newline at end of file diff --git a/doc/_old/devices/_include/SymmetricMeterNature.adoc b/doc/_old/devices/_include/SymmetricMeterNature.adoc new file mode 100644 index 00000000000..95230fc0ea0 --- /dev/null +++ b/doc/_old/devices/_include/SymmetricMeterNature.adoc @@ -0,0 +1,8 @@ +3+|*<>* +|ActivePower |Watt | +|ReactivePower |var | +|ApparentPower |VA | +|Frequency |mHz | +|Voltage |mV | +|maxActivePower |Watt |Holds the maximum ever recorded active power +|minActivePower |Watt |Holds the minimum ever recorded active power diff --git a/doc/_old/devices/_include/Thing.adoc b/doc/_old/devices/_include/Thing.adoc new file mode 100644 index 00000000000..975a413b9ef --- /dev/null +++ b/doc/_old/devices/_include/Thing.adoc @@ -0,0 +1,2 @@ +3+|*Thing* +|State |0=Ok, 1=Warning, 2=Fault | \ No newline at end of file diff --git a/doc/_old/devices/b-control/b-control.adoc b/doc/_old/devices/b-control/b-control.adoc new file mode 100644 index 00000000000..f8cb2f7a277 --- /dev/null +++ b/doc/_old/devices/b-control/b-control.adoc @@ -0,0 +1,59 @@ += B-Control Energy Meter +include::../../../../_include/header.adoc[] + +== Details +|=== +2+|Bridge |<<_modbus_tcp>> +1.3+|Implemented Natures |meter | <> +| | <> +| | <> +2+|More information |https://www.b-control.com/en/products/em-300.html[Manufacturer icon:external-link[]] +|=== + +== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +include::../_include/MeterNature.adoc[] +include::../_include/AsymmetricMeterNature.adoc[] +include::../_include/SymmetricMeterNature.adoc[] +3+|*Specific to BControlMeter* +|ActivePowerPos |W | +|ActivePowerNeg |W | +|ReactivePowerPos |Var | +|ReactivePowerNeg |Var | +|ApparentPowerPos |VA | +|ApparentPowerNeg |VA | +|ActivePowerL2Pos |W | +|ActivePowerL2Neg |W | +|ReactivePowerL2Pos |Var | +|ReactivePowerL2Neg |Var | +|ActivePowerL1Pos |W | +|ActivePowerL1Neg |W | +|ReactivePowerL1Pos |Var | +|ReactivePowerL1Neg |Var | +|ActivePowerL3Pos |W | +|ActivePowerL3Neg |W | +|ReactivePowerL3Pos |Var | +|ReactivePowerL3Neg |Var | +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.bcontrol.BControl", + "modbusUnitId": 1, + "meter": { + "id": "meter0", + "type": "grid" + } + } + ] +}, +---- \ No newline at end of file diff --git a/doc/_old/devices/carlo_gavazzi_em300/carlo_gavazzi_em300.adoc b/doc/_old/devices/carlo_gavazzi_em300/carlo_gavazzi_em300.adoc new file mode 100644 index 00000000000..a76cbd73877 --- /dev/null +++ b/doc/_old/devices/carlo_gavazzi_em300/carlo_gavazzi_em300.adoc @@ -0,0 +1,45 @@ += Carlo Gavazzi EM300 +include::../../../../_include/header.adoc[] + +== Details +|=== +2+|Bridge |<<_modbus_tcp>> +1.3+|Implemented Natures |meter | <> +| | <> +| | <> +2+|More information |http://www.gavazzi.de/index.php/13-control/47-em100-und-em300-serie[Manufacturer icon:external-link[]] +|=== + +== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +include::../_include/MeterNature.adoc[] +include::../_include/AsymmetricMeterNature.adoc[] +include::../_include/SymmetricMeterNature.adoc[] +3+|*Specific to EM300Meter* +|ActivePositiveEnergy |kWh | +|ActiveNegativeEnergy |kWh | +|ReactivePositiveEnergy |kvarh | +|ReactiveNegativeEnergy |kvarh | +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.carlogavazzi.em300series.EM300", + "modbusUnitId": 1, + "meter": { + "id": "meter0", + "type": "grid" + } + } + ] +}, +---- diff --git a/doc/_old/devices/devices.adoc b/doc/_old/devices/devices.adoc new file mode 100644 index 00000000000..cf874bb1c50 --- /dev/null +++ b/doc/_old/devices/devices.adoc @@ -0,0 +1,685 @@ += Implemented devices +include::../../../_include/header.adoc[] + +The following devices are already implemented in OpenEMS Edge: + +include::b-control/b-control.adoc[leveloffset=1] + +== KACO Blueplanet 50 TL.3 + +// TODO + +== BYD BEM 125 KTLA01 ESS + +// TODO + +include::carlo_gavazzi_em300/carlo_gavazzi_em300.adoc[leveloffset=1] + +include::fenecon_commercial/fenecon_commercial.adoc[leveloffset=1] + +== Riedmann PLC + +// TODO + +include::janitza_umg96rm/janitza_umg96rm.adoc[leveloffset=1] + +include::keba_kecontact/keba_kecontact.adoc[leveloffset=1] + +include::kippzonen_pyranometer/kippzonen_pyranometer.adoc[leveloffset=1] + +include::kmtronic_relay/kmtronic_relay.adoc[leveloffset=1] + +include::fenecon_mini/fenecon_mini.adoc[leveloffset=1] + +== PQ Plus UMD 97 Meter + +=== Details +|=== +2+|Bridge |<<_modbus_tcp>> +1.2+|Implemented Natures |meter | <> +| | <> +2+|More information |http://www.pq-plus.de/news/pqplus/umd-97-messgeraet.html[Manufacturer icon:external-link[]] +|=== + +=== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/MeterNature.adoc[] +include::sections/channels/SymmetricMeterNature.adoc[] +3+|*Specific to PQ Plus UMD 97 Meter* +|CosPhiL1 | | +|CosPhiL2 | | +|CosPhiL3 | | +|=== + +=== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.pqplus.PqPlusUMD97Meter", + "modbusUnitId": 1, + "meter": { + "id": "meter0", + "type": "grid" + } + } + ] +}, +---- + +== FENECON Pro 9-12 + +=== Details +|=== +2+|Bridge |<<_modbus_rtu>> +1.6+|Implemented Natures 1.3+|ess |<> +|<> +|<> +1.3+|meter | <> +|<> +|<> +2+|More information |https://fenecon.de/page/fenecon-pro[Manufacturer icon:external-link[]] +|=== + +=== Channels for ess +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/EssNature.adoc[] +include::sections/channels/AsymmetricEssNature.adoc[] +3+|*Specific to FENECON Pro ESS* +|ControlMode | | +|WorkMode | | +|TotalBatteryChargeEnergy |Wh | +|TotalBatteryDischargeEnergy |Wh | +|BatteryGroupState | | +|BatteryVoltage |mV | +|BatteryCurrent |mA | +|BatteryPower |W | +|BatteryGroupAlarm | | +|PcsOperationState | | +|CurrentL1 |mA | +|CurrentL2 |mA | +|CurrentL3 |mA | +|VoltageL1 |mV | +|VoltageL2 |mV | +|VoltageL3 |mV | +|FrequencyL1 |mHz | +|FrequencyL2 |mHz | +|FrequencyL3 |mHz | +|PhaseAllowedApparentPower |VA | +|AllowedCharge |W | +|AllowedDischarge |W | +|Year | | +|Month | | +|Day | | +|Hour | | +|Minute | | +|Second | | +|SetWorkState | | +|BatteryVoltageSection1 |mV | +|BatteryVoltageSection2 |mV | +|BatteryVoltageSection3 |mV | +|BatteryVoltageSection4 |mV | +|BatteryVoltageSection5 |mV | +|BatteryVoltageSection6 |mV | +|BatteryVoltageSection7 |mV | +|BatteryVoltageSection8 |mV | +|BatteryVoltageSection9 |mV | +|BatteryVoltageSection10 |mV | +|BatteryVoltageSection11 |mV | +|BatteryVoltageSection12 |mV | +|BatteryVoltageSection13 |mV | +|BatteryVoltageSection14 |mV | +|BatteryVoltageSection15 |mV | +|BatteryVoltageSection16 |mV | +|BatteryTemperatureSection1 |°C | +|BatteryTemperatureSection2 |°C | +|BatteryTemperatureSection3 |°C | +|BatteryTemperatureSection4 |°C | +|BatteryTemperatureSection5 |°C | +|BatteryTemperatureSection6 |°C | +|BatteryTemperatureSection7 |°C | +|BatteryTemperatureSection8 |°C | +|BatteryTemperatureSection9 |°C | +|BatteryTemperatureSection10 |°C | +|BatteryTemperatureSection11 |°C | +|BatteryTemperatureSection12 |°C | +|BatteryTemperatureSection13 |°C | +|BatteryTemperatureSection14 |°C | +|BatteryTemperatureSection15 |°C | +|BatteryTemperatureSection16 |°C | +|SetupMode | | +|PcsMode | | +|SetActivePowerL1 |W | +|SetReactivePowerL1 |Var | +|SetActivePowerL2 |W | +|SetReactivePowerL2 |Var | +|SetActivePowerL3 |W | +|SetReactivePowerL3 |Var | +|SetSetupMode | | +|SetPcsMode | | +|=== + +=== Fault channels for ess +[options="header"] +|=== +|Channel-ID |Comment +|Fault/0 |ControlCurrentOverload100PercentL1 +|Fault/1 |ControlCurrentOverload110PercentL1 +|Fault/2 |ControlCurrentOverload150PercentL1 +|Fault/3 |ControlCurrentOverload200PercentL1 +|Fault/4 |ControlCurrentOverload120PercentL1 +|Fault/5 |ControlCurrentOverload300PercentL1 +|Fault/6 |ControlTransientLoad300PercentL1 +|Fault/7 |GridOverCurrentL1 +|Fault/8 |LockingWaveformTooManyTimesL1 +|Fault/9 |InverterVoltageZeroDriftErrorL1 +|Fault/10 |GridVoltageZeroDriftErrorL1 +|Fault/11 |ControlCurrentZeroDriftErrorL1 +|Fault/12 |InverterCurrentZeroDriftErrorL1 +|Fault/13 |GridCurrentZeroDriftErrorL1 +|Fault/14 |PDPProtectionL1 +|Fault/15 |HardwareControlCurrentProtectionL1 +|Fault/16 |HardwareACVoltageProtectionL1 +|Fault/17 |HardwareDCCurrentProtectionL1 +|Fault/18 |HardwareTemperatureProtectionL1 +|Fault/19 |NoCapturingSignalL1 +|Fault/20 |DCOvervoltageL1 +|Fault/21 |DCDisconnectedL1 +|Fault/22 |InverterUndervoltageL1 +|Fault/23 |InverterOvervoltageL1 +|Fault/24 |CurrentSensorFailL1 +|Fault/25 |VoltageSensorFailL1 +|Fault/26 |PowerUncontrollableL1 +|Fault/27 |CurrentUncontrollableL1 +|Fault/28 |FanErrorL1 +|Fault/29 |PhaseLackL1 +|Fault/30 |InverterRelayFaultL1 +|Fault/31 |GridRealyFaultL1 +|Fault/32 |ControlPanelOvertempL1 +|Fault/33 |PowerPanelOvertempL1 +|Fault/34 |DCInputOvercurrentL1 +|Fault/35 |CapacitorOvertempL1 +|Fault/36 |RadiatorOvertempL1 +|Fault/37 |TransformerOvertempL1 +|Fault/38 |CombinationCommErrorL1 +|Fault/39 |EEPROMErrorL1 +|Fault/40 |LoadCurrentZeroDriftErrorL1 +|Fault/41 |CurrentLimitRErrorL1 +|Fault/42 |PhaseSyncErrorL1 +|Fault/43 |ExternalPVCurrentZeroDriftErrorL1 +|Fault/44 |ExternalGridCurrentZeroDriftErrorL1 +|Fault/45 |ControlCurrentOverload100PercentL2 +|Fault/46 |ControlCurrentOverload110PercentL2 +|Fault/47 |ControlCurrentOverload150PercentL2 +|Fault/48 |ControlCurrentOverload200PercentL2 +|Fault/49 |ControlCurrentOverload120PercentL2 +|Fault/50 |ControlCurrentOverload300PercentL2 +|Fault/51 |ControlTransientLoad300PercentL2 +|Fault/52 |GridOverCurrentL2 +|Fault/53 |LockingWaveformTooManyTimesL2 +|Fault/54 |InverterVoltageZeroDriftErrorL2 +|Fault/55 |GridVoltageZeroDriftErrorL2 +|Fault/56 |ControlCurrentZeroDriftErrorL2 +|Fault/57 |InverterCurrentZeroDriftErrorL2 +|Fault/58 |GridCurrentZeroDriftErrorL2 +|Fault/59 |PDPProtectionL2 +|Fault/60 |HardwareControlCurrentProtectionL2 +|Fault/61 |HardwareACVoltageProtectionL2 +|Fault/62 |HardwareDCCurrentProtectionL2 +|Fault/63 |HardwareTemperatureProtectionL2 +|Fault/64 |NoCapturingSignalL2 +|Fault/65 |DCOvervoltageL2 +|Fault/66 |DCDisconnectedL2 +|Fault/67 |InverterUndervoltageL2 +|Fault/68 |InverterOvervoltageL2 +|Fault/69 |CurrentSensorFailL2 +|Fault/70 |VoltageSensorFailL2 +|Fault/71 |PowerUncontrollableL2 +|Fault/72 |CurrentUncontrollableL2 +|Fault/73 |FanErrorL2 +|Fault/74 |PhaseLackL2 +|Fault/75 |InverterRelayFaultL2 +|Fault/76 |GridRealyFaultL2 +|Fault/77 |ControlPanelOvertempL2 +|Fault/78 |PowerPanelOvertempL2 +|Fault/79 |DCInputOvercurrentL2 +|Fault/80 |CapacitorOvertempL2 +|Fault/81 |RadiatorOvertempL2 +|Fault/82 |TransformerOvertempL2 +|Fault/83 |CombinationCommErrorL2 +|Fault/84 |EEPROMErrorL2 +|Fault/85 |LoadCurrentZeroDriftErrorL2 +|Fault/86 |CurrentLimitRErrorL2 +|Fault/87 |PhaseSyncErrorL2 +|Fault/88 |ExternalPVCurrentZeroDriftErrorL2 +|Fault/89 |ExternalGridCurrentZeroDriftErrorL2 +|Fault/90 |ControlCurrentOverload100PercentL3 +|Fault/91 |ControlCurrentOverload110PercentL3 +|Fault/92 |ControlCurrentOverload150PercentL3 +|Fault/93 |ControlCurrentOverload200PercentL3 +|Fault/94 |ControlCurrentOverload120PercentL3 +|Fault/95 |ControlCurrentOverload300PercentL3 +|Fault/96 |ControlTransientLoad300PercentL3 +|Fault/97 |GridOverCurrentL3 +|Fault/98 |LockingWaveformTooManyTimesL3 +|Fault/99 |InverterVoltageZeroDriftErrorL3 +|Fault/100 |GridVoltageZeroDriftErrorL3 +|Fault/101 |ControlCurrentZeroDriftErrorL3 +|Fault/102 |InverterCurrentZeroDriftErrorL3 +|Fault/103 |GridCurrentZeroDriftErrorL3 +|Fault/104 |PDPProtectionL3 +|Fault/105 |HardwareControlCurrentProtectionL3 +|Fault/106 |HardwareACVoltageProtectionL3 +|Fault/107 |HardwareDCCurrentProtectionL3 +|Fault/108 |HardwareTemperatureProtectionL3 +|Fault/109 |NoCapturingSignalL3 +|Fault/110 |DCOvervoltageL3 +|Fault/111 |DCDisconnectedL3 +|Fault/112 |InverterUndervoltageL3 +|Fault/113 |InverterOvervoltageL3 +|Fault/114 |CurrentSensorFailL3 +|Fault/115 |VoltageSensorFailL3 +|Fault/116 |PowerUncontrollableL3 +|Fault/117 |CurrentUncontrollableL3 +|Fault/118 |FanErrorL3 +|Fault/119 |PhaseLackL3 +|Fault/120 |InverterRelayFaultL3 +|Fault/121 |GridRealyFaultL3 +|Fault/122 |ControlPanelOvertempL3 +|Fault/123 |PowerPanelOvertempL3 +|Fault/124 |DCInputOvercurrentL3 +|Fault/125 |CapacitorOvertempL3 +|Fault/126 |RadiatorOvertempL3 +|Fault/127 |TransformerOvertempL3 +|Fault/128 |CombinationCommErrorL3 +|Fault/129 |EEPROMErrorL3 +|Fault/130 |LoadCurrentZeroDriftErrorL3 +|Fault/131 |CurrentLimitRErrorL3 +|Fault/132 |PhaseSyncErrorL3 +|Fault/133 |ExternalPVCurrentZeroDriftErrorL3 +|Fault/134 |ExternalGridCurrentZeroDriftErrorL3 +|Fault/135 |SystemFault +|Fault/136 |BatteryFault +|Fault/137 |PCSFault +|=== + +=== Warning channels for ess +[options="header"] +|=== +|Channel-ID |Comment +|Warning/0 |FailTheSystemShouldBeStopped +|Warning/1 |CommonLowVoltageAlarm +|Warning/2 |CommonHighVoltageAlarm +|Warning/3 |ChargingOverCurrentAlarm +|Warning/4 |DischargingOverCurrentAlarm +|Warning/5 |OverTemperatureAlarm +|Warning/6 |InteralCommunicationAbnormal +|Warning/7 |GridUndervoltageL1 +|Warning/8 |GridOvervoltageL1 +|Warning/9 |GridUnderFrequencyL1 +|Warning/10 |GridOverFrequencyL1 +|Warning/11 |GridPowerSupplyOffL1 +|Warning/12 |GridConditionUnmeetL1 +|Warning/13 |DCUnderVoltageL1 +|Warning/14 |InputOverResistanceL1 +|Warning/15 |CombinationErrorL1 +|Warning/16 |CommWithInverterErrorL1 +|Warning/17 |TmeErrorL1 +|Warning/18 |GridUndervoltageL2 +|Warning/19 |GridOvervoltageL2 +|Warning/20 |GridUnderFrequencyL2 +|Warning/21 |GridOverFrequencyL2 +|Warning/22 |GridPowerSupplyOffL2 +|Warning/23 |GridConditionUnmeetL2 +|Warning/24 |DCUnderVoltageL2 +|Warning/25 |InputOverResistanceL2 +|Warning/26 |CombinationErrorL2 +|Warning/27 |CommWithInverterErrorL2 +|Warning/28 |TmeErrorL2 +|Warning/29 |GridUndervoltageL3 +|Warning/30 |GridOvervoltageL3 +|Warning/31 |GridUnderFrequencyL3 +|Warning/32 |GridOverFrequencyL3 +|Warning/33 |GridPowerSupplyOffL3 +|Warning/34 |GridConditionUnmeetL3 +|Warning/35 |DCUnderVoltageL3 +|Warning/36 |InputOverResistanceL3 +|Warning/37 |CombinationErrorL3 +|Warning/38 |CommWithInverterErrorL3 +|Warning/39 |TmeErrorL3 +|Warning/40 |OFFGrid +|=== + +=== Channels for meter +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/MeterNature.adoc[] +include::sections/channels/AsymmetricMeterNature.adoc[] +include::sections/channels/SymmetricMeterNature.adoc[] +|=== + +=== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusRtu", + "serialinterface": "/dev/ttyUSB0", + "baudrate": 9600, + "databits": 8, + "parity": "none", + "stopbits": 1, + "devices": [ + { + "class": "io.openems.impl.device.pro.FeneconPro", + "modbusUnitId": 4, + "ess": { + "id": "ess0", + "minSoc": 15 + }, + "meter": { + "id": "meter1" + } + } + ] +} +---- + +== REFU battery inverter + +// TODO + +== Simulator + +// TODO + +== SMA SunnyIsland 6.0H + +// TODO + +== Socomec Meter + +=== Details +|=== +2+|Bridge |<<_modbus_rtu>> +1.3+|Implemented Natures |meter | <> +| | <> +| | <> +2+|More information |https://www.socomec.com/single-circuit-multifunction-meters_en.html[Manufacturer icon:external-link[]] +|=== + +=== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/MeterNature.adoc[] +include::sections/channels/AsymmetricMeterNature.adoc[] +include::sections/channels/SymmetricMeterNature.adoc[] +3+|*Specific to Socomec Meter* +|ActivePositiveEnergy |kWh | +|ReactivePositiveEnergy |kvarh | +|ApparentEnergy |kVAh | +|ActiveNegativeEnergy |kWh | +|ReactiveNegativeEnergy |kvarh | +|Current |mA | +|=== + +=== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusRtu", + "serialinterface": "/dev/ttyUSB0", + "baudrate": 9600, + "databits": 8, + "parity": "none", + "stopbits": 1, + "devices": [ + { + "class": "io.openems.impl.device.socomec.Socomec", + "modbusUnitId": 5, + "meter": { + "id": "meter0", + "type": "grid" + } + } + ] +} +---- + +== Spanner re² + +// TODO + +== Studer VS-70 Charger + +// TODO + +== System + +// TODO + +== WAGO-I/O-SYSTEM 750 Fieldbus + +=== Details +|=== +2+|Bridge |<<_modbus_tcp>> +1.2+|Implemented Natures |output | <> +|input | <> +2+|More information |https://www.wago.com/de/automatisierungstechnik/io-systeme-entdecken[Manufacturer icon:external-link[]] +|=== + +=== Channels for output +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +3+|*Specific to WAGO I/O Output* +|1 | |Each digital output, dynamically read from fieldbus coupler (EA-config.xml) +|=== + +=== Channels for input +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +3+|*Specific to WAGO I/O Input* +|1 | |Each digital input, dynamically read from fieldbus coupler (EA-config.xml) +|=== + +=== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.wago.WagoFB", + "output": { + "id": "output0", + "ip": "192.168.0.1" + }, + "input": { + "id": "input0", + "ip": "192.168.0.1" + }, + "modbusUnitId": 1 + } + ] +} +---- + += Tutorial: Connecting a Modbus Device + +Connecting a Modbus Device includes five sections as bridge, device, deviceNature, channel, and controllers as determined in architecture part. +This tutorial is about how to implement a modbus device to the openEMS system. To implement a device we will follow the openEMS architecture. + +First of all, it needs to be created a new project in .../impl/device/newDeviceName... + +Then needs to be created a new device file as seen at the link:https://github.com/OpenEMS/openems/blob/master/doc/architecture.md[architecture] + +.../impl/device/newDeviceName/newDeviceName.java + +This file, consist from constructor,config and method parts, and it defines about the device that what kind of nature,bridge and methods it has. +After then, needs to determined which modbus protocol should use for make a communication which is seen at the bridge part of architecture. +In this part, it only needs to writen that lines what is given below, inside of device file ; +.../impl/device/newDeviceName/newDeviceName.java + +[source,java] +---- +public Socomec(Bridge parent) throws OpenemsException { + super(parent); +} +---- + +It can be given this file as an example link:../edge/src/io/openems/impl/device/socomec/Socomec.java[Socomec icon:code[]]. + +And the config part is about channel configuration and definition of nature, and it must be include this lines; + +[source,java] +---- + @ChannelInfo(title = "nature", description = "Sets the 'nature' nature.", type = DeviceNameNature.class) + public final ConfigChannel nature = new ConfigChannel("nature", this).addChangeListener(this); +---- +You can examine the config part of this file as an example link:../edge/src/io/openems/impl/device/socomec/Socomec.java[Socomec icon:code[]]. + +And at the method part; +Needs to just write like as socomec device. + +[source,java] +---- + @Override + protected Set getDeviceNatures() { + Set natures = new HashSet<>(); + if (meter.valueOptional().isPresent()) { + natures.add(meter.valueOptional().get()); + } + return natures; + } +---- + +And next step would be create a new file as a device nature at -> ../edge/src/io/openems/impl/device/newDeviceName/newDeviceNameNature.java + +for example; link:../edge/src/io/openems/impl/device/socomec/SocomecMeter.java[Socomec icon:code[]] + +It can be found more details about the DeviceNature on architecture section. +When the devices using the Modbus communication protocol are integrated into the OpenEMS system, the method part of the DeviceNature file is created considering the bit length, type and whether if they are just read, write or both,of the register and/or coils. +To make a clear registers and coils are classified as follows; +And Method part of DeviceNature file and the important points are; + +First of all deviceNature file have to extends deviceNature; +Extends and implements Modbus Device Nature and device nature +Ex; +[source,java] +---- +@ThingInfo(title = "Device Name") +public class DeviceName extends ModbusDeviceNature implements deviceNature{ + + public deviceName(String thingId, Device parent) throws ConfigException { + super(thingId, parent); + } + +private ThingStateChannels thingState = new ThingStateChannels(this); +---- + + +[source,java] +---- + ModbusProtocol protocol = new ModbusProtocol( // + new ModbusRegisterRange(startAddress, elements) + +Ex; ModbusProtocol protocol = new ModbusProtocol( // + new ModbusRegisterRange(0, // + ); + Return protocol; + ) +---- + + +[source,java] +---- +Unsigned Word Element(u16); + +new UnsignedWordElement(address,channel) +ex; new UnsignedWordElement(address, registerName = ModbusReadLongChannel("Description", nature(must be =this))), // +---- + +[source,java] +---- +Signed Word Element(s16) + +new SignedWordElement(address, channel) +ex; new SignedWordElement(address, registerName= new ModbusReadLongChannel("Description", this))),// +---- + +[source,java] +---- +Ignoring the read registers; + +new DummyElement(number), // or new DummyElement(number, number),// +---- + +[source,java] +---- +Unsigned Double Element(u32); + +new UnsignedDoublewordElement(address, channel) +ex; new UnsignedDoublewordElement(address, registerName= new ModbusReadLongChannel("Description", this),// +---- + +[source,java] +---- +Signed Double Element(s32); + +new SignedWordElement(address, channel),// +ex; new SignedDoublewordElement(address, registerName= new ModbusReadLongChannel("Description", this),// +---- + +[source,java] +---- +Define Coil Range + +new ModbusCoilRange(startAddress, elements) +ex;new ModbusCoilRange(2, // +); +---- + +[source,java] +---- +Define Coil Element; + +Ex; new CoilElement(address, coilName= new ModbusCoilReadChannel("Description", this)), // +---- + +[source,java] +---- +Ignoring the coils + +Ex; new DummyCoilElement(11, 17), // +---- + +[source,java] +---- +And channels can be define as follows; + +/*Channels */ + public ModbusReadLongChannel registerName; + public ModbusWriteLongChannel registerName; + public ModbusCoilReadChannel coilName; + public ModbusCoilWriteChannel coilName; +---- + +And Later on, need to create a controller; The actual business logic is in the "Controller", where each of them holds specific, encapsulated tasks.For more details have a look at architecture section.As an example; +link:../edge/src/io/openems/impl/controller/feneconprosetup/FeneconProSetupController.java diff --git a/doc/_old/devices/fenecon_commercial/fenecon_commercial.adoc b/doc/_old/devices/fenecon_commercial/fenecon_commercial.adoc new file mode 100644 index 00000000000..f033785c8d4 --- /dev/null +++ b/doc/_old/devices/fenecon_commercial/fenecon_commercial.adoc @@ -0,0 +1,846 @@ += FENECON Commercial +include::../../../../_include/header.adoc[] + +== Details +|=== +2+|Bridge |<<_modbus_tcp>> +1.3+|Implemented Natures |ess | <> +| | <> +|charger _(only for CommercialDC)_ |<> +2+|More information |https://fenecon.de/page/fenecon-commercial[Manufacturer icon:external-link[]] +|=== + +== Channels for ess +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +include::../_include/EssNature.adoc[] +include::../_include/SymmetricEssNature.adoc[] +3+|*Specific to FeneconCommercialEss* +|BatteryVoltage |mV | +|BatteryCurrent |mA | +|BatteryPower |W | +|AcChargeEnergy |Wh | +|AcDischargeEnergy |Wh | +|GridActivePower |W | +|CurrentL1 |mA | +|CurrentL2 |mA | +|CurrentL3 |mA | +|VoltageL1 |mV | +|VoltageL2 |mV | +|VoltageL3 |mV | +|Frequency |mHh | +|SetWorkState | | +|ControlMode |1=Remote, 2=Local | +|BatteryMaintenanceState |0=Off, 1=On | +|InverterState |0=Init, 2=Fault, 4=Stop, 8=Standby, 16=Grid-Monitor, 32=Ready, 64=Start, 128=Debug | +|ProtocolVersion | | +|SystemManufacturer | | +|SystemState |2=Stop, 4=PV-Charge, 8=Standby, 16=Start, 32=Fault, 64=Debug | +|SystemType | | +|BatteryStringSwitchState | | +|InverterVoltageL1 |mV | +|InverterVoltageL2 |mV | +|InverterVoltageL3 |mV | +|InverterCurrentL1 |mA | +|InverterCurrentL2 |mA | +|InverterCurrentL3 |mA | +|IpmTemperatureL1 |?C | +|IpmTemperatureL2 |?C | +|IpmTemperatureL3 |?C | +|TransformerTemperatureL2 |?C | +|Soh |% | +|BatteryCellAverageTemperature |°C | +|Cell1Voltage |mV 1.2+| from 1 to 224 +|Cell224Voltage |mV +|=== + +== Fault channels for ess +[options="header"] +|=== +|Channel-ID |Comment +|Fault/0 |DCPrechargeContactorCloseUnsuccessfully +|Fault/1 |ACPrechargeContactorCloseUnsuccessfully +|Fault/2 |ACMainContactorCloseUnsuccessfully +|Fault/3 |DCElectricalBreaker1CloseUnsuccessfully +|Fault/4 |DCMainContactorCloseUnsuccessfully +|Fault/5 |ACBreakerTrip +|Fault/6 |ACMainContactorOpenWhenRunning +|Fault/7 |DCMainContactorOpenWhenRunning +|Fault/8 |ACMainContactorOpenUnsuccessfully +|Fault/9 |DCElectricalBreaker1OpenUnsuccessfully +|Fault/10 |DCMainContactorOpenUnsuccessfully +|Fault/11 |HardwarePDPFault +|Fault/12 |MasterStopSuddenly +|Fault/13 |DCShortCircuitProtection +|Fault/14 |DCOvervoltageProtection +|Fault/15 |DCUndervoltageProtection +|Fault/16 |DCInverseNoConnectionProtection +|Fault/17 |DCDisconnectionProtection +|Fault/18 |CommutingVoltageAbnormityProtection +|Fault/19 |DCOvercurrentProtection +|Fault/20 |Phase1PeakCurrentOverLimitProtection +|Fault/21 |Phase2PeakCurrentOverLimitProtection +|Fault/22 |Phase3PeakCurrentOverLimitProtection +|Fault/23 |Phase1GridVoltageSamplingInvalidation +|Fault/24 |Phase2VirtualCurrentOverLimitProtection +|Fault/25 |Phase3VirtualCurrentOverLimitProtection +|Fault/26 |Phase1GridVoltageSamplingInvalidation2 +|Fault/27 |Phase2ridVoltageSamplingInvalidation +|Fault/28 |Phase3GridVoltageSamplingInvalidation +|Fault/29 |Phase1InvertVoltageSamplingInvalidation +|Fault/30 |Phase2InvertVoltageSamplingInvalidation +|Fault/31 |Phase3InvertVoltageSamplingInvalidation +|Fault/32 |ACCurrentSamplingInvalidation +|Fault/33 |DCCurrentSamplingInvalidation +|Fault/34 |Phase1OvertemperatureProtection +|Fault/35 |Phase2OvertemperatureProtection +|Fault/36 |Phase3OvertemperatureProtection +|Fault/37 |Phase1TemperatureSamplingInvalidation +|Fault/38 |Phase2TemperatureSamplingInvalidation +|Fault/39 |Phase3TemperatureSamplingInvalidation +|Fault/40 |Phase1PrechargeUnmetProtection +|Fault/41 |Phase2PrechargeUnmetProtection +|Fault/42 |Phase3PrechargeUnmetProtection +|Fault/43 |UnadaptablePhaseSequenceErrorProtection +|Fault/44 |DSPProtection +|Fault/45 |Phase1GridVoltageSevereOvervoltageProtection +|Fault/46 |Phase1GridVoltageGeneralOvervoltageProtection +|Fault/47 |Phase2GridVoltageSevereOvervoltageProtection +|Fault/48 |Phase2GridVoltageGeneralOvervoltageProtection +|Fault/49 |Phase3GridVoltageSevereOvervoltageProtection +|Fault/50 |Phase3GridVoltageGeneralOvervoltageProtection +|Fault/51 |Phase1GridVoltageSevereUndervoltageProtection +|Fault/52 |Phase1GridVoltageGeneralUndervoltageProtection +|Fault/53 |Phase2GridVoltageSevereUndervoltageProtection +|Fault/54 |Phase2GridVoltageGeneralUndervoltageProtection +|Fault/55 |Phase3GridVoltageSevereUndervoltageProtection +|Fault/56 |Phase3GridVoltageGeneralUndervoltageProtection +|Fault/57 |SevereOverfrequncyProtection +|Fault/58 |GeneralOverfrequncyProtection +|Fault/59 |SevereUnderfrequncyProtection +|Fault/60 |GeneralsUnderfrequncyProtection +|Fault/61 |Phase1Gridloss +|Fault/62 |Phase2Gridloss +|Fault/63 |Phase3Gridloss +|Fault/64 |IslandingProtection +|Fault/65 |Phase1UnderVoltageRideThrough +|Fault/66 |Phase2UnderVoltageRideThrough +|Fault/67 |Phase3UnderVoltageRideThrough +|Fault/68 |Phase1InverterVoltageSevereOvervoltageProtection +|Fault/69 |Phase1InverterVoltageGeneralOvervoltageProtection +|Fault/70 |Phase2InverterVoltageSevereOvervoltageProtection +|Fault/71 |Phase2InverterVoltageGeneralOvervoltageProtection +|Fault/72 |Phase3InverterVoltageSevereOvervoltageProtection +|Fault/73 |Phase3InverterVoltageGeneralOvervoltageProtection +|Fault/74 |InverterPeakVoltageHighProtectionCauseByACDisconnect +|=== + +== Warning channels for ess +[options="header"] +|=== +|Channel-ID |Comment +|Warning/0 |EmergencyStop +|Warning/1 |KeyManualStop +|Warning/2 |TransformerPhaseBTemperatureSensorInvalidation +|Warning/4 |SDMemoryCardInvalidation +|Warning/5 |InverterCommunicationAbnormity +|Warning/6 |BatteryStackCommunicationAbnormity +|Warning/7 |MultifunctionalAmmeterCommunicationAbnormity +|Warning/8 |RemoteCommunicationAbnormity +|Warning/9 |PVDC1CommunicationAbnormity +|Warning/10 |PVDC2CommunicationAbnormity +|Warning/11 |TransformerSevereOvertemperature +|Warning/12 |DCPrechargeContactorInspectionAbnormity +|Warning/13 |DCBreaker1InspectionAbnormity +|Warning/14 |DCBreaker2InspectionAbnormity +|Warning/15 |ACPrechargeContactorInspectionAbnormity +|Warning/16 |ACMainontactorInspectionAbnormity +|Warning/17 |ACBreakerInspectionAbnormity +|Warning/18 |DCBreaker1CloseUnsuccessfully +|Warning/19 |DCBreaker2CloseUnsuccessfully +|Warning/20 |ControlSignalCloseAbnormallyInspectedBySystem +|Warning/21 |ControlSignalOpenAbnormallyInspectedBySystem +|Warning/22 |NeutralWireContactorCloseUnsuccessfully +|Warning/23 |NeutralWireContactorOpenUnsuccessfully +|Warning/24 |WorkDoorOpen +|Warning/25 |Emergency1Stop +|Warning/26 |ACBreakerCloseUnsuccessfully +|Warning/27 |ControlSwitchStop +|Warning/28 |GeneralOverload +|Warning/29 |SevereOverload +|Warning/30 |BatteryCurrentOverLimit +|Warning/31 |PowerDecreaseCausedByOvertemperature +|Warning/32 |InverterGeneralOvertemperature +|Warning/33 |ACThreePhaseCurrentUnbalance +|Warning/34 |RestoreFactorySettingUnsuccessfully +|Warning/35 |PoleBoardInvalidation +|Warning/36 |SelfInspectionFailed +|Warning/37 |ReceiveBMSFaultAndStop +|Warning/38 |RefrigerationEquipmentinvalidation +|Warning/39 |LargeTemperatureDifferenceAmongIGBTThreePhases +|Warning/40 |EEPROMParametersOverRange +|Warning/41 |EEPROMParametersBackupFailed +|Warning/42 |DCBreakerCloseunsuccessfully +|Warning/43 |CommunicationBetweenInverterAndBSMUDisconnected +|Warning/44 |CommunicationBetweenInverterAndMasterDisconnected +|Warning/45 |CommunicationBetweenInverterAndUCDisconnected +|Warning/46 |BMSStartOvertimeControlledByPCS +|Warning/47 |BMSStopOvertimeControlledByPCS +|Warning/48 |SyncSignalInvalidation +|Warning/49 |SyncSignalContinuousCaputureFault +|Warning/50 |SyncSignalSeveralTimesCaputureFault +|=== + +== Channels for charger +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +include::../_include/ChargerNature.adoc[] +3+|*Specific to FeneconCommercialCharger* +|PvDCDCSwitchState | | +|PvDCDCWorkState | | +|PvDCDCWorkMode | | +|BmsDCDC1SwitchState | | +|BmsDCDC1WorkState | | +|BmsDCDC1WorkMode | | +|BmsDCDCSwitchState | | +|BmsDCDCWorkState |2=Initial, 4=Stop, 8=Ready, 16=Running, 32=Fault, 64=Debug, 128=Locked | +|BmsDCDCWorkMode | | +|PvDCDC1WorkState | | +|PvDCDC1WorkMode | | +|PvDCDC1SwitchState | | +|PvPowerLimitCommand |W | +|BmsDCDC1OutputVoltage |mV | +|BmsDCDC1OutputCurrent |mA | +|BmsDCDC1OutputPower |W | +|BmsDCDC1InputVoltage |mV | +|BmsDCDC1InputCurrent |mA | +|BmsDCDC1InputPower |W | +|BmsDCDC1InputEnergy |Wh | +|BmsDCDC1OutputEnergy |Wh | +|BmsDCDC1ReactorTemperature |°C | +|BmsDCDC1IgbtTemperature |°C | +|BmsDCDC1InputTotalChargeEnergy |Wh | +|BmsDCDC1InputTotalDischargeEnergy |Wh | +|BmsDCDC1OutputTotalChargeEnergy |Wh | +|BmsDCDC1OutputTotalDischargeEnergy |Wh | +|BmsDCDCOutputVoltage |mV | +|BmsDCDCOutputCurrent |mA | +|BmsDCDCOutputPower |W | +|BmsDCDCInputVoltage |mV | +|BmsDCDCInputCurrent |mA | +|BmsDCDCInputPower |W | +|BmsDCDCInputEnergy |Wh | +|BmsDCDCOutputEnergy |Wh | +|BmsDCDCReactorTemperature |°C | +|BmsDCDCIgbtTemperature |°C | +|BmsDCDCInputTotalChargeEnergy |Wh | +|BmsDCDCInputTotalDischargeEnergy |Wh | +|BmsDCDCOutputTotalChargeEnergy |Wh | +|BmsDCDCOutputTotalDischargeEnergy |Wh | +|PvDCDCOutputVoltage |mV | +|PvDCDCOutputCurrent |mA | +|PvDCDCOutputPower |W | +|PvDCDCInputVoltage |mV | +|PvDCDCInputCurrent |mA | +|PvDCDCInputPower |W | +|PvDCDCInputEnergy |Wh | +|PvDCDCOutputEnergy |Wh | +|PvDCDCReactorTemperature |°C | +|PvDCDCIgbtTemperature |°C | +|PvDCDCInputTotalChargeEnergy |Wh | +|PvDCDCInputTotalDischargeEnergy |Wh | +|PvDCDCOutputTotalChargeEnergy |Wh | +|PvDCDCOutputTotalDischargeEnergy |Wh | +|PvDCDC1OutputVoltage |mV | +|PvDCDC1OutputCurrent |mA | +|PvDCDC1OutputPower |W | +|PvDCDC1InputVoltage |mV | +|PvDCDC1InputCurrent |mA | +|PvDCDC1InputPower |W | +|PvDCDC1InputEnergy |Wh | +|PvDCDC1OutputEnergy |Wh | +|PvDCDC1ReactorTemperature |°C | +|PvDCDC1IgbtTemperature |°C | +|PvDCDC1InputTotalChargeEnergy |Wh | +|PvDCDC1InputTotalDischargeEnergy |Wh | +|PvDCDC1OutputTotalChargeEnergy |Wh | +|PvDCDC1OutputTotalDischargeEnergy |Wh | +|=== + +== Fault channels for charger +[options="header"] +|=== +|Channel-ID |Comment +|Fault/0 |HighVoltageSideOfDCConverterUndervoltage +|Fault/1 |HighVoltageSideOfDCConverterOvervoltage +|Fault/2 |LowVoltageSideOfDCConverterUndervoltage +|Fault/3 |LowVoltageSideOfDCConverterOvervoltage +|Fault/4 |HighVoltageSideOfDCConverterOvercurrentFault +|Fault/5 |LowVoltageSideOfDCConverterOvercurrentFault +|Fault/6 |DCConverterIGBTFault +|Fault/7 |DCConverterPrechargeUnmet +|Fault/8 |BECUCommunicationDisconnected +|Fault/9 |DCConverterCommunicationDisconnected +|Fault/10 |CurrentConfigurationOverRange +|Fault/11 |TheBatteryRequestStop +|Fault/12 |OvercurrentRelayFault +|Fault/13 |LightningProtectionDeviceFault +|Fault/14 |DCConverterPriamaryContactorDisconnectedAbnormally +|Fault/15 |DCDisconnectedAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/16 |DCConvetorEEPROMAbnormity1 +|Fault/17 |DCConvetorEEPROMAbnormity1Second +|Fault/18 |EDCConvetorEEPROMAbnormity1 +|Fault/19 |DCConvertorGeneralOverload +|Fault/20 |DCShortCircuit +|Fault/21 |PeakPulseCurrentProtection +|Fault/22 |DCDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/23 |EffectivePulseValueOverhigh +|Fault/24 |DCConverteSevereOverload +|Fault/25 |DCBreakerDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/26 |DCBreakerDisconnectAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/27 |DCConvetorPrechargeContactorCloseFailed +|Fault/28 |DCConvetorMainContactorCloseFailed +|Fault/29 |ACContactorStateAbnormityOfDCConvetor +|Fault/30 |DCConvetorEmergencyStop +|Fault/31 |DCConverterChargingGunDisconnected +|Fault/32 |DCCurrentAbnormityBeforeDCConvetorWork +|Fault/33 |FuSeDisconnected +|Fault/34 |DCConverterHardwareCurrentOrVoltageFault +|Fault/35 |DCConverterCrystalOscillatorCircuitInvalidation +|Fault/36 |DCConverterResetCircuitInvalidation +|Fault/37 |DCConverterSamplingCircuitInvalidation +|Fault/38 |DCConverterDigitalIOCircuitInvalidation +|Fault/39 |DCConverterPWMCircuitInvalidation +|Fault/40 |DCConverterX5045CircuitInvalidation +|Fault/41 |DCConverterCANCircuitInvalidation +|Fault/42 |DCConverterSoftwareANDHardwareProtectionCircuitInvalidation +|Fault/43 |DCConverterPowerCircuitInvalidation +|Fault/44 |DCConverterCPUInvalidation +|Fault/45 |DCConverterTINT0InterruptInvalidation +|Fault/46 |DCConverterADCInterruptInvalidation +|Fault/47 |DCConverterCAPITN4InterruptInvalidation +|Fault/48 |DCConverterCAPINT6InterruptInvalidation +|Fault/49 |DCConverterT3PINTinterruptInvalidation +|Fault/50 |DCConverterT4PINTinterruptInvalidation +|Fault/51 |DCConverterPDPINTAInterruptInvalidation +|Fault/52 |DCConverterT1PINTInterruptInvalidation +|Fault/53 |DCConverterRESVInterruptInvalidation +|Fault/54 |DCConverter100usTaskInvalidation +|Fault/55 |DCConverterClockInvalidation +|Fault/56 |DCConverterEMSMemoryInvalidation +|Fault/57 |DCConverterExteriorCommunicationInvalidation +|Fault/58 |DCConverterIOInterfaceInvalidation +|Fault/59 |DCConverterInputVoltageBoundFault +|Fault/60 |DCConverterOutterVoltageBoundFault +|Fault/61 |DCConverterOutputVoltageBoundFault +|Fault/62 |DCConverterInductCurrentBoundFault +|Fault/63 |DCConverterInputCurrentBoundFault +|Fault/64 |DCConverterOutputCurrentBoundFault +|Fault/65 |DCReactorOverTemperature +|Fault/66 |DCIGBTOverTemperature +|Fault/67 |DCConverterChanel3OverTemperature +|Fault/68 |DCConverterChanel4OverTemperature +|Fault/69 |DCConverterChanel5OverTemperature +|Fault/70 |DCConverterChanel6OverTemperature +|Fault/71 |DCConverterChanel7OverTemperature +|Fault/72 |DCConverterChanel8OverTemperature +|Fault/73 |DCReactorTemperatureSamplingInvalidation +|Fault/74 |DCIGBTTemperatureSamplingInvalidation +|Fault/75 |DCConverterChanel3TemperatureSamplingInvalidation +|Fault/76 |DCConverterChanel4TemperatureSamplingInvalidation +|Fault/77 |DCConverterChanel5TemperatureSamplingInvalidation +|Fault/78 |DCConverterChanel6TemperatureSamplingInvalidation +|Fault/79 |DCConverterChanel7TemperatureSamplingInvalidation +|Fault/80 |DCConverterChanel8TemperatureSamplingInvalidation +|Fault/81 |DCConverterInductanceCurrentSamplingInvalidation +|Fault/82 |CurrentSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/83 |VoltageSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/84 |InsulationInspectionFault +|Fault/85 |NegContactorCloseUnsuccessly +|Fault/86 |NegContactorCutWhenRunning +|Fault/87 |BmsDCDC1HighVoltageSideOfDCConverterUndervoltage +|Fault/88 |BmsDCDC1HighVoltageSideOfDCConverterOvervoltage +|Fault/89 |BmsDCDC1LowVoltageSideOfDCConverterUndervoltage +|Fault/90 |BmsDCDC1LowVoltageSideOfDCConverterOvervoltage +|Fault/91 |BmsDCDC1HighVoltageSideOfDCConverterOvercurrentFault +|Fault/92 |BmsDCDC1LowVoltageSideOfDCConverterOvercurrentFault +|Fault/93 |BmsDCDC1DCConverterIGBTFault +|Fault/94 |BmsDCDC1DCConverterPrechargeUnmet +|Fault/95 |BmsDCDC1BECUCommunicationDisconnected +|Fault/96 |BmsDCDC1DCConverterCommunicationDisconnected +|Fault/97 |BmsDCDC1CurrentConfigurationOverRange +|Fault/98 |BmsDCDC1TheBatteryRequestStop +|Fault/99 |BmsDCDC1OvercurrentRelayFault +|Fault/100 |BmsDCDC1LightningProtectionDeviceFault +|Fault/101 |BmsDCDC1DCConverterPriamaryContactorDisconnectedAbnormally +|Fault/102 |BmsDCDC1DCDisconnectedAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/103 |BmsDCDC1DCConvetorEEPROMAbnormity1 +|Fault/104 |BmsDCDC1DCConvetorEEPROMAbnormity1Second +|Fault/105 |BmsDCDC1EDCConvetorEEPROMAbnormity1 +|Fault/106 |BsmDCDC1DCConvertorGeneralOverload +|Fault/107 |BsmDCDC1DCShortCircuit +|Fault/108 |BsmDCDC1PeakPulseCurrentProtection +|Fault/109 |BsmDCDC1DCDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/110 |BsmDCDC1EffectivePulseValueOverhigh +|Fault/111 |BsmDCDC1DCConverteSevereOverload +|Fault/112 |BsmDCDC1DCBreakerDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/113 |BsmDCDC1DCBreakerDisconnectAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/114 |BsmDCDC1DCConvetorPrechargeContactorCloseFailed +|Fault/115 |BsmDCDC1DCConvetorMainContactorCloseFailed +|Fault/116 |BsmDCDC1ACContactorStateAbnormityOfDCConvetor +|Fault/117 |BsmDCDC1DCConvetorEmergencyStop +|Fault/118 |BsmDCDC1DCConverterChargingGunDisconnected +|Fault/119 |BsmDCDC1DCCurrentAbnormityBeforeDCConvetorWork +|Fault/120 |BsmDCDC1FuSeDisconnected +|Fault/121 |BsmDCDC1DCConverterHardwareCurrentOrVoltageFault +|Fault/122 |BmsDCDC1DCConverterCrystalOscillatorCircuitInvalidation +|Fault/123 |BmsDCDC1DCConverterResetCircuitInvalidation +|Fault/124 |BmsDCDC1DCConverterSamplingCircuitInvalidation +|Fault/125 |BmsDCDC1DCConverterDigitalIOCircuitInvalidation +|Fault/126 |BmsDCDC1DCConverterPWMCircuitInvalidation +|Fault/127 |BmsDCDC1DCConverterX5045CircuitInvalidation +|Fault/128 |BmsDCDC1DCConverterCANCircuitInvalidation +|Fault/129 |BmsDCDC1DCConverterSoftwareANDHardwareProtectionCircuitInvalidation +|Fault/130 |BmsDCDC1DCConverterPowerCircuitInvalidation +|Fault/131 |BmsDCDC1DCConverterCPUInvalidation +|Fault/132 |BmsDCDC1DCConverterTINT0InterruptInvalidation +|Fault/133 |BmsDCDC1DCConverterADCInterruptInvalidation +|Fault/134 |BmsDCDC1DCConverterCAPITN4InterruptInvalidation +|Fault/135 |BmsDCDC1DCConverterCAPINT6InterruptInvalidation +|Fault/136 |BmsDCDC1DCConverterT3PINTinterruptInvalidation +|Fault/137 |BmsDCDC1DCConverterT4PINTinterruptInvalidation +|Fault/138 |BmsDCDC1DCConverterPDPINTAInterruptInvalidation +|Fault/139 |BmsDCDC1DCConverterT1PINTInterruptInvalidationSecond +|Fault/140 |BmsDCDC1DCConverterRESVInterruptInvalidation +|Fault/141 |BmsDCDC1DCConverter100usTaskInvalidation +|Fault/142 |BmsDCDC1DCConverterClockInvalidation +|Fault/143 |BmsDCDC1DCConverterEMSMemoryInvalidation +|Fault/144 |BmsDCDC1DCConverterExteriorCommunicationInvalidation +|Fault/145 |BmsDCDC1DCConverterIOInterfaceInvalidation +|Fault/146 |BmsDCDC1DCConverterInputVoltageBoundFault +|Fault/147 |BmsDCDC1DCConverterOutterVoltageBoundFault +|Fault/148 |BmsDCDC1DCConverterOutputVoltageBoundFault +|Fault/149 |BmsDCDC1DCConverterInductCurrentBoundFault +|Fault/150 |BmsDCDC1DCConverterInputCurrentBoundFault +|Fault/151 |BmsDCDC1DCConverterOutputCurrentBoundFault +|Fault/152 |BmsDCDC1DCReactorOverTemperature +|Fault/153 |BmsDCDC1DCIGBTOverTemperature +|Fault/154 |BmsDCDC1DCConverterChanel3OverTemperature +|Fault/155 |BmsDCDC1DCConverterChanel4OverTemperature +|Fault/156 |BmsDCDC1DCConverterChanel5OverTemperature +|Fault/157 |BmsDCDC1DCConverterChanel6OverTemperature +|Fault/158 |BmsDCDC1DCConverterChanel7OverTemperature +|Fault/159 |BmsDCDC1DCConverterChanel8OverTemperature +|Fault/160 |BmsDCDC1DCReactorTemperatureSamplingInvalidation +|Fault/161 |BmsDCDC1DCIGBTTemperatureSamplingInvalidation +|Fault/162 |BmsDCDC1DCConverterChanel3TemperatureSamplingInvalidation +|Fault/163 |BmsDCDC1DCConverterChanel4TemperatureSamplingInvalidation +|Fault/164 |BmsDCDC1DCConverterChanel5TemperatureSamplingInvalidation +|Fault/165 |BmsDCDC1DCConverterChanel6TemperatureSamplingInvalidation +|Fault/166 |BmsDCDC1DCConverterChanel7TemperatureSamplingInvalidation +|Fault/167 |BmsDCDC1DCConverterChanel8TemperatureSamplingInvalidation +|Fault/168 |BmsDCDC1DCConverterInductanceCurrentSamplingInvalidation +|Fault/169 |BmsDCDC1CurrentSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/170 |BmsDCDC1VoltageSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/171 |BmsDCDC1InsulationInspectionFault +|Fault/172 |BmsDCDC1NegContactorCloseUnsuccessly +|Fault/173 |BmsDCDC1NegContactorCutWhenRunning +|Fault/174 |PvDCDCHighVoltageSideOfDCConverterUndervoltage +|Fault/175 |PvDCDCHighVoltageSideOfDCConverterOvervoltage +|Fault/176 |PvDCDCLowVoltageSideOfDCConverterUndervoltage +|Fault/177 |PvDCDCLowVoltageSideOfDCConverterOvervoltage +|Fault/178 |PvDCDCHighVoltageSideOfDCConverterOvercurrentFault +|Fault/179 |PvDCDCLowVoltageSideOfDCConverterOvercurrentFault +|Fault/180 |PvDCDCDCConverterIGBTFault +|Fault/181 |PvDCDCDCConverterPrechargeUnmet +|Fault/182 |PvDCDCBECUCommunicationDisconnected +|Fault/183 |PvDCDCDCConverterCommunicationDisconnected +|Fault/184 |PvDCDCCurrentConfigurationOverRange +|Fault/185 |PvDCDCTheBatteryRequestStop +|Fault/186 |PvDCDCOvercurrentRelayFault +|Fault/187 |PvDCDCLightningProtectionDeviceFault +|Fault/188 |PvDCDCDCConverterPriamaryContactorDisconnectedAbnormally +|Fault/189 |PvDCDCDCDisconnectedAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/190 |PvDCDCDCConvetorEEPROMAbnormity1 +|Fault/191 |PvDCDCDCConvetorEEPROMAbnormity1Second +|Fault/192 |PvDCDCEDCConvetorEEPROMAbnormity1 +|Fault/193 |PvDCDCDCConvertorGeneralOverload +|Fault/194 |PvDCDCDCShortCircuit +|Fault/195 |PvDCDCPeakPulseCurrentProtection +|Fault/196 |PvDCDCDCDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/197 |PvDCDCEffectivePulseValueOverhigh +|Fault/198 |PvDCDCDCConverteSevereOverload +|Fault/199 |PvDCDCDCBreakerDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/200 |PvDCDCDCBreakerDisconnectAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/201 |PvDCDCDCConvetorPrechargeContactorCloseFailed +|Fault/202 |PvDCDCDCConvetorMainContactorCloseFailed +|Fault/203 |PvDCDCACContactorStateAbnormityOfDCConvetor +|Fault/204 |PvDCDCDCConvetorEmergencyStop +|Fault/205 |PvDCDCDCConverterChargingGunDisconnected +|Fault/206 |PvDCDCDCCurrentAbnormityBeforeDCConvetorWork +|Fault/207 |PvDCDCFuSeDisconnected +|Fault/208 |PvDCDCDCConverterHardwareCurrentOrVoltageFault +|Fault/209 |PvDCDCDCConverterCrystalOscillatorCircuitInvalidation +|Fault/210 |PvDCDCDCConverterResetCircuitInvalidation +|Fault/211 |PvDCDCDCConverterSamplingCircuitInvalidation +|Fault/212 |PvDCDCDCConverterDigitalIOCircuitInvalidation +|Fault/213 |PvDCDCDCConverterPWMCircuitInvalidation +|Fault/214 |PvDCDCDCConverterX5045CircuitInvalidation +|Fault/215 |PvDCDCDCConverterCANCircuitInvalidation +|Fault/216 |PvDCDCDCConverterSoftwareANDHardwareProtectionCircuitInvalidation +|Fault/217 |PvDCDCDCConverterPowerCircuitInvalidation +|Fault/218 |PvDCDCDCConverterCPUInvalidation +|Fault/219 |PvDCDCDCConverterTINT0InterruptInvalidation +|Fault/220 |PvDCDCDCConverterADCInterruptInvalidation +|Fault/221 |PvDCDCDCConverterCAPITN4InterruptInvalidation +|Fault/222 |PvDCDCDCConverterCAPINT6InterruptInvalidation +|Fault/223 |PvDCDCDCConverterT3PINTinterruptInvalidation +|Fault/224 |PvDCDCDCConverterT4PINTinterruptInvalidation +|Fault/225 |PvDCDCConverterPDPINTAInterruptInvalidation +|Fault/226 |PvDCDCConverterT1PINTInterruptInvalidationSecond +|Fault/227 |PvDCDCConverterRESVInterruptInvalidation +|Fault/228 |PvDCDCConverter100usTaskInvalidation +|Fault/229 |PvDCDCConverterClockInvalidation +|Fault/230 |PvDCDCConverterEMSMemoryInvalidation +|Fault/231 |PvDCDCConverterExteriorCommunicationInvalidation +|Fault/232 |PvDCDCConverterIOInterfaceInvalidation +|Fault/233 |PvDCDCConverterInputVoltageBoundFault +|Fault/234 |PvDCDCConverterOutterVoltageBoundFault +|Fault/235 |PvDCDCConverterOutputVoltageBoundFault +|Fault/236 |PvDCDCConverterInductCurrentBoundFault +|Fault/237 |PvDCDCConverterInputCurrentBoundFault +|Fault/238 |PvDCDCConverterOutputCurrentBoundFault +|Fault/239 |PvDCDCDCReactorOverTemperature +|Fault/240 |PvDCDCDCIGBTOverTemperature +|Fault/241 |PvDCDCDCConverterChanel3OverTemperature +|Fault/242 |PvDCDCDCConverterChanel4OverTemperature +|Fault/243 |PvDCDCDCConverterChanel5OverTemperature +|Fault/244 |PvDCDCDCConverterChanel6OverTemperature +|Fault/245 |PvDCDCDCConverterChanel7OverTemperature +|Fault/246 |PvDCDCDCConverterChanel8OverTemperature +|Fault/247 |PvDCDCDCReactorTemperatureSamplingInvalidation +|Fault/248 |PvDCDCDCIGBTTemperatureSamplingInvalidation +|Fault/249 |PvDCDCDCConverterChanel3TemperatureSamplingInvalidation +|Fault/250 |PvDCDCDCConverterChanel4TemperatureSamplingInvalidation +|Fault/251 |PvDCDCDCConverterChanel5TemperatureSamplingInvalidation +|Fault/252 |PvDCDCDCConverterChanel6TemperatureSamplingInvalidation +|Fault/253 |PvDCDCDCConverterChanel7TemperatureSamplingInvalidation +|Fault/254 |PvDCDCDCConverterChanel8TemperatureSamplingInvalidation +|Fault/255 |PvDCDCDCConverterInductanceCurrentSamplingInvalidation +|Fault/256 |PvDCDCCurrentSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/257 |PvDCDCVoltageSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/258 |PvDCDCInsulationInspectionFault +|Fault/259 |PvDCDCNegContactorCloseUnsuccessly +|Fault/260 |PvDCDCNegContactorCutWhenRunning +|Fault/261 |PvDCDC1HighVoltageSideOfDCConverterUndervoltage +|Fault/262 |PvDCDC1HighVoltageSideOfDCConverterOvervoltage +|Fault/263 |PvDCDC1LowVoltageSideOfDCConverterUndervoltage +|Fault/264 |PvDCDC1LowVoltageSideOfDCConverterOvervoltage +|Fault/265 |PvDCDC1HighVoltageSideOfDCConverterOvercurrentFault +|Fault/266 |PvDCDC1LowVoltageSideOfDCConverterOvercurrentFault +|Fault/267 |PvDCDC1DCConverterIGBTFault +|Fault/268 |PvDCDC1DCConverterPrechargeUnmet +|Fault/269 |PvDCDC1BECUCommunicationDisconnected +|Fault/270 |PvDCDC1DCConverterCommunicationDisconnected +|Fault/271 |PvDCDC1CurrentConfigurationOverRange +|Fault/272 |PvDCDC1TheBatteryRequestStop +|Fault/273 |PvDCDC1OvercurrentRelayFault +|Fault/274 |PvDCDC1LightningProtectionDeviceFault +|Fault/275 |PvDCDC1DCConverterPriamaryContactorDisconnectedAbnormally +|Fault/276 |PvDCDC1DCDisconnectedAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/277 |PvDCDC1DCConvetorEEPROMAbnormity1 +|Fault/278 |PvDCDC1DCConvetorEEPROMAbnormity1Second +|Fault/279 |PvDCDC1EDCConvetorEEPROMAbnormity1 +|Fault/280 |PvDCDC1DCConvertorGeneralOverload +|Fault/281 |PvDCDC1DCShortCircuit +|Fault/282 |PvDCDC1PeakPulseCurrentProtection +|Fault/283 |PvDCDC1DCDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/284 |PvDCDC1EffectivePulseValueOverhigh +|Fault/285 |PvDCDC1DCConverteSevereOverload +|Fault/286 |PvDCDC1DCBreakerDisconnectAbnormallyOnHighVoltageSideOfDCConvetor +|Fault/287 |PvDCDC1DCBreakerDisconnectAbnormallyOnLowVoltageSideOfDCConvetor +|Fault/288 |PvDCDC1DCConvetorPrechargeContactorCloseFailed +|Fault/289 |PvDCDC1DCConvetorMainContactorCloseFailed +|Fault/290 |PvDCDC1ACContactorStateAbnormityOfDCConvetor +|Fault/291 |PvDCDC1DCConvetorEmergencyStop +|Fault/292 |PvDCDC1DCConverterChargingGunDisconnected +|Fault/293 |PvDCDC1DCCurrentAbnormityBeforeDCConvetorWork +|Fault/294 |PvDCDC1FuSeDisconnected +|Fault/295 |PvDCDC1DCConverterHardwareCurrentOrVoltageFault +|Fault/296 |PvDCDC1DCConverterCrystalOscillatorCircuitInvalidation +|Fault/297 |PvDCDC1DCConverterResetCircuitInvalidation +|Fault/298 |PvDCDC1DCConverterSamplingCircuitInvalidation +|Fault/299 |PvDCDC1DCConverterDigitalIOCircuitInvalidation +|Fault/300 |PvDCDC1DCConverterPWMCircuitInvalidation +|Fault/301 |PvDCDC1DCConverterX5045CircuitInvalidation +|Fault/302 |PvDCDC1DCConverterCANCircuitInvalidation +|Fault/303 |PvDCDC1DCConverterSoftwareANDHardwareProtectionCircuitInvalidation +|Fault/304 |PvDCDC1DCConverterPowerCircuitInvalidation +|Fault/305 |PvDCDC1DCConverterCPUInvalidation +|Fault/306 |PvDCDC1DCConverterTINT0InterruptInvalidation +|Fault/307 |PvDCDC1DCConverterADCInterruptInvalidation +|Fault/308 |PvDCDC1DCConverterCAPITN4InterruptInvalidation +|Fault/309 |PvDCDC1DCConverterCAPINT6InterruptInvalidation +|Fault/310 |PvDCDC1DCConverterT3PINTinterruptInvalidation +|Fault/311 |PvDCDC1DCConverterT4PINTinterruptInvalidation +|Fault/312 |PvDCDC1DCConverterPDPINTAInterruptInvalidation +|Fault/313 |PvDCDC1DCConverterT1PINTInterruptInvalidationSecond +|Fault/314 |PvDCDC1DCConverterRESVInterruptInvalidation +|Fault/315 |PvDCDC1DCConverter100usTaskInvalidation +|Fault/316 |PvDCDC1DCConverterClockInvalidation +|Fault/317 |PvDCDC1DCConverterEMSMemoryInvalidation +|Fault/318 |PvDCDC1DCConverterExteriorCommunicationInvalidation +|Fault/319 |PvDCDC1DCConverterIOInterfaceInvalidation +|Fault/320 |PvDCDC1DCConverterInputVoltageBoundFault +|Fault/321 |PvDCDC1DCConverterOutterVoltageBoundFault +|Fault/322 |PvDCDC1DCConverterOutputVoltageBoundFault +|Fault/323 |PvDCDC1DCConverterInductCurrentBoundFault +|Fault/324 |PvDCDC1DCConverterInputCurrentBoundFault +|Fault/325 |PvDCDC1DCConverterOutputCurrentBoundFault +|Fault/326 |PvDCDC1DCReactorOverTemperature +|Fault/327 |PvDCDC1DCIGBTOverTemperature +|Fault/328 |PvDCDC1DCConverterChanel3OverTemperature +|Fault/329 |PvDCDC1DCConverterChanel4OverTemperature +|Fault/330 |PvDCDC1DCConverterChanel5OverTemperature +|Fault/331 |PvDCDC1DCConverterChanel6OverTemperature +|Fault/332 |PvDCDC1DCConverterChanel7OverTemperature +|Fault/333 |PvDCDC1DCConverterChanel8OverTemperature +|Fault/334 |PvDCDC1DCReactorTemperatureSamplingInvalidation +|Fault/335 |PvDCDC1DCIGBTTemperatureSamplingInvalidation +|Fault/336 |PvDCDC1DCConverterChanel3TemperatureSamplingInvalidation +|Fault/337 |PvDCDC1DCConverterChanel4TemperatureSamplingInvalidation +|Fault/338 |PvDCDC1DCConverterChanel5TemperatureSamplingInvalidation +|Fault/339 |PvDCDC1DCConverterChanel6TemperatureSamplingInvalidation +|Fault/340 |PvDCDC1DCConverterChanel7TemperatureSamplingInvalidation +|Fault/341 |PvDCDC1DCConverterChanel8TemperatureSamplingInvalidation +|Fault/342 |PvDCDC1DCConverterInductanceCurrentSamplingInvalidation +|Fault/343 |PvDCDC1CurrentSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/344 |PvDCDC1VoltageSamplingInvalidationOnTheLowVoltageSideOfDCConverter +|Fault/345 |PvDCDC1InsulationInspectionFault +|Fault/346 |PvDCDC1NegContactorCloseUnsuccessly +|Fault/347 |PvDCDC1NegContactorCutWhenRunning +|=== + +== Warning channels for charger +[options="header"] +|=== +|Channel-ID |Comment +|Warning/0 |CurrentSamplingChannelAbnormityOnHighVoltageSide +|Warning/1 |CurrentSamplingChannelAbnormityOnLowVoltageSide +|Warning/2 |BmsDCDC1EEPROMParametersOverRange +|Warning/3 |EEPROMParametersOverRange +|Warning/4 |UpdateEEPROMFailed +|Warning/5 |ReadEEPROMFailed +|Warning/6 |CurrentSamplingChannelAbnormityBeforeInductance +|Warning/7 |ReactorPowerDecreaseCausedByOvertemperature +|Warning/8 |IGBTPowerDecreaseCausedByOvertemperature +|Warning/9 |TemperatureChanel3PowerDecreaseCausedByOvertemperature +|Warning/10 |TemperatureChanel4PowerDecreaseCausedByOvertemperature +|Warning/11 |TemperatureChanel5PowerDecreaseCausedByOvertemperature +|Warning/12 |TemperatureChanel6PowerDecreaseCausedByOvertemperature +|Warning/13 |TemperatureChanel7PowerDecreaseCausedByOvertemperature +|Warning/14 |TemperatureChanel8PowerDecreaseCausedByOvertemperature +|Warning/15 |Fan1StopFailed +|Warning/16 |Fan2StopFailed +|Warning/17 |Fan3StopFailed +|Warning/18 |Fan4StopFailed +|Warning/19 |Fan1StartupFailed +|Warning/20 |Fan2StartupFailed +|Warning/21 |Fan3StartupFailed +|Warning/22 |Fan4StartupFailed +|Warning/23 |HighVoltageSideOvervoltage +|Warning/24 |HighVoltageSideUndervoltage +|Warning/25 |HighVoltageSideVoltageChangeUnconventionally +|Warning/26 |CurrentAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/27 |CurrentAbnormityBeforeDCConverterWorkOnLowVoltageSXide +|Warning/28 |InitialDutyRatioAbnormityBeforeDCConverterWork +|Warning/29 |VoltageAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/30 |VoltageAbnormityBeforeDCConverterWorkOnLowVoltageSide +|Warning/31 |HighVoltageBreakerInspectionAbnormity +|Warning/32 |LowVoltageBreakerInspectionAbnormity +|Warning/33 |BsmDCDC5DCPrechargeContactorInspectionAbnormity +|Warning/34 |DCPrechargeContactorOpenUnsuccessfully +|Warning/35 |DCMainContactorInspectionAbnormity +|Warning/36 |DCMainContactorOpenUnsuccessfully +|Warning/37 |OutputContactorCloseUnsuccessfully +|Warning/38 |OutputContactorOpenUnsuccessfully +|Warning/39 |ACMainContactorCloseUnsuccessfully +|Warning/40 |ACMainContactorOpenUnsuccessfully +|Warning/41 |NegContactorOpenUnsuccessfully +|Warning/42 |NegContactorCloseUnsuccessfully +|Warning/43 |NegContactorStateAbnormal +|Warning/44 |BsmDCDC1CurrentSamplingChannelAbnormityOnHighVoltageSide +|Warning/45 |BsmDCDC1CurrentSamplingChannelAbnormityOnLowVoltageSide +|Warning/46 |BsmDCDC1EEPROMParametersOverRange +|Warning/47 |BsmDCDC1UpdateEEPROMFailed +|Warning/48 |BsmDCDC1ReadEEPROMFailed +|Warning/49 |BsmDCDC1CurrentSamplingChannelAbnormityBeforeInductance +|Warning/50 |BsmDCDC1ReactorPowerDecreaseCausedByOvertemperature +|Warning/51 |BsmDCDC1IGBTPowerDecreaseCausedByOvertemperature +|Warning/52 |BsmDCDC1TemperatureChanel3PowerDecreaseCausedByOvertemperature +|Warning/53 |BsmDCDC1TemperatureChanel4PowerDecreaseCausedByOvertemperature +|Warning/54 |BsmDCDC1TemperatureChanel5PowerDecreaseCausedByOvertemperature +|Warning/55 |BsmDCDC1TemperatureChanel6PowerDecreaseCausedByOvertemperature +|Warning/56 |BsmDCDC1TemperatureChanel7PowerDecreaseCausedByOvertemperature +|Warning/57 |BsmDCDC1TemperatureChanel8PowerDecreaseCausedByOvertemperature +|Warning/58 |BsmDCDC1Fan1StopFailed +|Warning/59 |BsmDCDC1Fan2StopFailed +|Warning/60 |BsmDCDC1Fan3StopFailed +|Warning/61 |BsmDCDC1Fan4StopFailed +|Warning/62 |BsmDCDC1Fan1StartupFailed +|Warning/63 |BsmDCDC1Fan2StartupFailed +|Warning/64 |BsmDCDC1Fan3StartupFailed +|Warning/65 |BsmDCDC1Fan4StartupFailed +|Warning/66 |BsmDCDC1HighVoltageSideOvervoltage +|Warning/67 |BsmDCDC1HighVoltageSideUndervoltage +|Warning/68 |BsmDCDC1HighVoltageSideVoltageChangeUnconventionally +|Warning/69 |BmsDCDC1CurrentAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/70 |BmsDCDC1CurrentAbnormityBeforeDCConverterWorkOnLowVoltageSXide +|Warning/71 |BmsDCDC1InitialDutyRatioAbnormityBeforeDCConverterWork +|Warning/72 |BmsDCDC1VoltageAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/73 |BmsDCDC1VoltageAbnormityBeforeDCConverterWorkOnLowVoltageSide +|Warning/74 |BmsDCDC1HighVoltageBreakerInspectionAbnormity +|Warning/75 |BmsDCDC1LowVoltageBreakerInspectionAbnormity +|Warning/76 |BmsDCDC1BsmDCDC5DCPrechargeContactorInspectionAbnormity +|Warning/77 |BmsDCDC1DCPrechargeContactorOpenUnsuccessfully +|Warning/78 |BmsDCDC1DCMainContactorInspectionAbnormity +|Warning/79 |BmsDCDC1DCMainContactorOpenUnsuccessfully +|Warning/80 |BmsDCDC1OutputContactorCloseUnsuccessfully +|Warning/81 |BmsDCDC1OutputContactorOpenUnsuccessfully +|Warning/82 |BmsDCDC1ACMainContactorCloseUnsuccessfully +|Warning/83 |BmsDCDC1ACMainContactorOpenUnsuccessfully +|Warning/84 |BmsDCDC1NegContactorOpenUnsuccessfully +|Warning/85 |BmsDCDC1NegContactorCloseUnsuccessfully +|Warning/86 |BmsDCDC1NegContactorStateAbnormal +|Warning/87 |PvDCDCCurrentSamplingChannelAbnormityOnHighVoltageSide +|Warning/88 |PvDCDCCurrentSamplingChannelAbnormityOnLowVoltageSide +|Warning/89 |PvDCDCEEPROMParametersOverRange +|Warning/90 |PvDCDCUpdateEEPROMFailed +|Warning/91 |PvDCDCReadEEPROMFailed +|Warning/92 |PvDCDCCurrentSamplingChannelAbnormityBeforeInductance +|Warning/93 |PvDCDCReactorPowerDecreaseCausedByOvertemperature +|Warning/94 |PvDCDCIGBTPowerDecreaseCausedByOvertemperature +|Warning/95 |PvDCDCTemperatureChanel3PowerDecreaseCausedByOvertemperature +|Warning/96 |PvDCDCTemperatureChanel4PowerDecreaseCausedByOvertemperature +|Warning/97 |PvDCDCTemperatureChanel5PowerDecreaseCausedByOvertemperature +|Warning/98 |PvDCDCTemperatureChanel6PowerDecreaseCausedByOvertemperature +|Warning/99 |PvDCDCTemperatureChanel7PowerDecreaseCausedByOvertemperature +|Warning/100 |PvDCDCTemperatureChanel8PowerDecreaseCausedByOvertemperature +|Warning/101 |PvDCDCFan1StopFailed +|Warning/102 |PvDCDCFan2StopFailed +|Warning/103 |PvDCDCFan3StopFailed +|Warning/104 |PvDCDCFan4StopFailed +|Warning/105 |PvDCDCFan1StartupFailed +|Warning/106 |PvDCDCFan2StartupFailed +|Warning/107 |PvDCDCFan3StartupFailed +|Warning/108 |PvDCDCFan4StartupFailed +|Warning/109 |PvDCDCHighVoltageSideOvervoltage +|Warning/110 |PvDCDCHighVoltageSideUndervoltage +|Warning/111 |PvDCDCHighVoltageSideVoltageChangeUnconventionally +|Warning/112 |PvDCDCCurrentAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/113 |PvDCDCCurrentAbnormityBeforeDCConverterWorkOnLowVoltageSXide +|Warning/114 |PvDCDCInitialDutyRatioAbnormityBeforeDCConverterWork +|Warning/115 |PvDCDCVoltageAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/116 |PvDCDCVoltageAbnormityBeforeDCConverterWorkOnLowVoltageSide +|Warning/117 |PvDCDCHighVoltageBreakerInspectionAbnormity +|Warning/118 |PvDCDCLowVoltageBreakerInspectionAbnormity +|Warning/119 |PvDCDCBsmDCDC5DCPrechargeContactorInspectionAbnormity +|Warning/120 |PvDCDCDCPrechargeContactorOpenUnsuccessfully +|Warning/121 |PvDCDCDCMainContactorInspectionAbnormity +|Warning/122 |PvDCDCDCMainContactorOpenUnsuccessfully +|Warning/123 |PvDCDCOutputContactorCloseUnsuccessfully +|Warning/124 |PvDCDCOutputContactorOpenUnsuccessfully +|Warning/125 |PvDCDCACMainContactorCloseUnsuccessfully +|Warning/126 |PvDCDCACMainContactorOpenUnsuccessfully +|Warning/127 |PvDCDCNegContactorOpenUnsuccessfully +|Warning/128 |PvDCDCNegContactorCloseUnsuccessfully +|Warning/129 |PvDCDCNegContactorStateAbnormal +|Warning/130 |PvDCDC1CurrentSamplingChannelAbnormityOnHighVoltageSide +|Warning/131 |PvDCDC1CurrentSamplingChannelAbnormityOnLowVoltageSide +|Warning/132 |PvDCDC1EEPROMParametersOverRange +|Warning/133 |PvDCDC1UpdateEEPROMFailed +|Warning/134 |PvDCDC1ReadEEPROMFailed +|Warning/135 |PvDCDC1CurrentSamplingChannelAbnormityBeforeInductance +|Warning/136 |PvDCDC1ReactorPowerDecreaseCausedByOvertemperature +|Warning/137 |PvDCDC1IGBTPowerDecreaseCausedByOvertemperature +|Warning/138 |PvDCDC1TemperatureChanel3PowerDecreaseCausedByOvertemperature +|Warning/139 |PvDCDC1TemperatureChanel4PowerDecreaseCausedByOvertemperature +|Warning/140 |PvDCDC1TemperatureChanel5PowerDecreaseCausedByOvertemperature +|Warning/141 |PvDCDC1TemperatureChanel6PowerDecreaseCausedByOvertemperature +|Warning/142 |PvDCDC1TemperatureChanel7PowerDecreaseCausedByOvertemperature +|Warning/143 |PvDCDC1TemperatureChanel8PowerDecreaseCausedByOvertemperature +|Warning/144 |PvDCDC1Fan1StopFailed +|Warning/145 |PvDCDC1Fan2StopFailed +|Warning/146 |PvDCDC1Fan3StopFailed +|Warning/147 |PvDCDC1Fan4StopFailed +|Warning/148 |PvDCDC1Fan1StartupFailed +|Warning/149 |PvDCDC1Fan2StartupFailed +|Warning/150 |PvDCDC1Fan3StartupFailed +|Warning/151 |PvDCDC1Fan4StartupFailed +|Warning/152 |PvDCDC1HighVoltageSideOvervoltage +|Warning/153 |PvDCDC1HighVoltageSideUndervoltage +|Warning/154 |PvDCDC1HighVoltageSideVoltageChangeUnconventionally +|Warning/155 |PvDCDC1CurrentAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/156 |PvDCDC1CurrentAbnormityBeforeDCConverterWorkOnLowVoltageSXide +|Warning/157 |PvDCDC1InitialDutyRatioAbnormityBeforeDCConverterWork +|Warning/158 |PvDCDC1VoltageAbnormityBeforeDCConverterWorkOnHighVoltageSide +|Warning/159 |PvDCDC1VoltageAbnormityBeforeDCConverterWorkOnLowVoltageSide +|Warning/160 |PvDCDC1HighVoltageBreakerInspectionAbnormity +|Warning/161 |PvDCDC1LowVoltageBreakerInspectionAbnormity +|Warning/162 |PvDCDC1BsmDCDC5DCPrechargeContactorInspectionAbnormity +|Warning/163 |PvDCDC1DCPrechargeContactorOpenUnsuccessfully +|Warning/164 |PvDCDC1DCMainContactorInspectionAbnormity +|Warning/165 |PvDCDC1DCMainContactorOpenUnsuccessfully +|Warning/166 |PvDCDC1OutputContactorCloseUnsuccessfully +|Warning/167 |PvDCDC1OutputContactorOpenUnsuccessfully +|Warning/168 |PvDCDC1ACMainContactorCloseUnsuccessfully +|Warning/169 |PvDCDC1ACMainContactorOpenUnsuccessfully +|Warning/170 |PvDCDC1NegContactorOpenUnsuccessfully +|Warning/171 |PvDCDC1NegContactorCloseUnsuccessfully +|Warning/172 |PvDCDC1NegContactorStateAbnormal +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.commercial.FeneconCommercialDC", + "modbusUnitId": 100, + "ess": { + "id": "ess0", + "minSoc": 15, + "chargeSoc": 10 + }, + "charger": { + "id": "charger0" + } + } + ] +} +---- +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.commercial.FeneconCommercialAC", + "modbusUnitId": 100, + "ess": { + "id": "ess0", + "minSoc": 15, + "chargeSoc": 10 + } + } + ] +} +---- \ No newline at end of file diff --git a/doc/_old/devices/fenecon_mini/fenecon_mini.adoc b/doc/_old/devices/fenecon_mini/fenecon_mini.adoc new file mode 100644 index 00000000000..b7b47dcb522 --- /dev/null +++ b/doc/_old/devices/fenecon_mini/fenecon_mini.adoc @@ -0,0 +1,272 @@ += FENECON Mini 3-3 + +== Details +|=== +2+|Bridge |<<_modbus_rtu>> +1.8+|Implemented Natures 1.2+|ess |<> +|<> +1.2+| gridMeter |<> +|<> +1.2+| productionMeter |<> +|<> +1.2+| consumptionMeter |<> +|<> +2+|More information |https://www.b-control.com/en/products/em-300.html[Manufacturer icon:external-link[]] +|=== + +== Channels for ess +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/EssNature.adoc[] +include::sections/channels/SymmetricEssNature.adoc[] +3+|*Specific to FENECON Mini ESS* +|ControlMode | | +|TotalBatteryChargeEnergy |Wh | +|TotalBatteryDischargeEnergy |Wh | +|BatteryGroupState | | +|BatteryVoltage |mV | +|BatteryCurrent |mA | +|BatteryPower |W | +|BatteryGroupAlarm | | +|PcsOperationState | | +|Current |mA | +|Voltage |mV | +|Frequency |mHz | +|PhaseAllowedApparentPower |VA | +|Year | | +|Month | | +|Day | | +|Hour | | +|Minute | | +|Second | | +|SetWorkState | | +|SetActivePower |W | +|SetReactivePower |Var | +|SetupMode | | +|PcsMode | | +|SetSetupMode | | +|SetPcsMode | | +|=== + +== Fault channels for ess +[options="header"] +|=== +|Channel-ID |Comment +|Fault/0 |BECU1DischargeSevereOvercurrent +|Fault/1 |BECU1ChargeSevereOvercurrent +|Fault/2 |BECU1GeneralUndervoltage +|Fault/3 |BECU1SevereOvervoltage +|Fault/4 |BECU1GeneralOvervoltage +|Fault/5 |BECU1SevereUndervoltage +|Fault/6 |BECU1InsideCANBroken +|Fault/7 |BECU1GeneralUndervoltageHighCurrentDischarge +|Fault/8 |BECU1BMUError +|Fault/9 |BECU1CurrentSamplingInvalidation +|Fault/10 |BECU1BatteryFail +|Fault/11 |BECU1TemperatureSamplingBroken +|Fault/12 |BECU1Contactor1TestBackIsAbnormalTurnOnAbnormity +|Fault/13 |BECU1Contactor1TestBackIsAbnormalTurnOffAbnormity +|Fault/14 |BECU1Contactor2TestBackIsAbnormalTurnOnAbnormity +|Fault/15 |BECU1Contactor2TestBackIsAbnormalTurnOffAbnormity +|Fault/16 |BECU1SevereHighTemperatureFault +|Fault/17 |BECU1HallInvalidation +|Fault/18 |BECU1ContactorInvalidation +|Fault/19 |BECU1OutsideCANBroken +|Fault/20 |BECU1CathodeContactorBroken +|Fault/21 |BECU2DischargeSevereOvercurrent +|Fault/22 |BECU2ChargeSevereOvercurrent +|Fault/23 |BECU2GeneralUndervoltage +|Fault/24 |BECU2SevereOvervoltage +|Fault/25 |BECU2GeneralOvervoltage +|Fault/26 |BECU2SevereUndervoltage +|Fault/27 |BECU2InsideCANBroken +|Fault/28 |BECU2GeneralUndervoltageHighCurrentDischarge +|Fault/29 |BECU2BMUError +|Fault/30 |BECU2CurrentSamplingInvalidation +|Fault/31 |BECU2BatteryFail +|Fault/32 |BECU2TemperatureSamplingBroken +|Fault/33 |BECU2Contactor1TestBackIsAbnormalTurnOnAbnormity +|Fault/34 |BECU2Contactor1TestBackIsAbnormalTurnOffAbnormity +|Fault/35 |BECU2Contactor2TestBackIsAbnormalTurnOnAbnormity +|Fault/36 |BECU2Contactor2TestBackIsAbnormalTurnOffAbnormity +|Fault/37 |BECU2SevereHighTemperatureFault +|Fault/38 |BECU2HallInvalidation +|Fault/39 |BECU2ContactorInvalidation +|Fault/40 |BECU2OutsideCANBroken +|Fault/41 |BECU2CathodeContactorBroken +|Fault/42 |NoAvailableBatteryGroup +|Fault/43 |StackGeneralLeakage +|Fault/44 |StackSevereLeakage +|Fault/45 |StackStartingFail +|Fault/46 |StackStoppingFail +|Fault/47 |BatteryProtection +|Fault/48 |StackAndGroup1CANCommunicationInterrupt +|Fault/49 |StackAndGroup2CANCommunicationInterrupt +|=== + +== Warning channels for ess +[options="header"] +|=== +|Channel-ID |Comment +|Warning/0 |BECU1GeneralChargeOverCurrentAlarm +|Warning/1 |BECU1GeneralDischargeOverCurrentAlarm +|Warning/2 |BECU1ChargeCurrentLimitAlarm +|Warning/3 |BECU1DischargeCurrentLimitAlarm +|Warning/4 |BECU1GeneralHighVoltageAlarm +|Warning/5 |BECU1GeneralLowVoltageAlarm +|Warning/6 |BECU1AbnormalVoltageChangeAlarm +|Warning/7 |BECU1GeneralHighTemperatureAlarm +|Warning/8 |BECU1GeneralLowTemperatureAlarm +|Warning/9 |BECU1AbnormalTemperatureChangeAlarm +|Warning/10 |BECU1SevereHighVoltageAlarm +|Warning/11 |BECU1SevereLowVoltageAlarm +|Warning/12 |BECU1SevereLowTemperatureAlarm +|Warning/13 |BECU1SeverveChargeOverCurrentAlarm +|Warning/14 |BECU1SeverveDischargeOverCurrentAlarm +|Warning/15 |BECU1AbnormalCellCapacityAlarm +|Warning/16 |BECU1BalancedSamplingAlarm +|Warning/17 |BECU1BalancedControlAlarm +|Warning/18 |BECU1HallSensorDoesNotWorkAccurately +|Warning/19 |BECU1Generalleakage +|Warning/20 |BECU1Severeleakage +|Warning/21 |BECU1Contactor1TurnOnAbnormity +|Warning/22 |BECU1Contactor1TurnOffAbnormity +|Warning/23 |BECU1Contactor2TurnOnAbnormity +|Warning/24 |BECU1Contactor2TurnOffAbnormity +|Warning/25 |BECU1Contactor4CheckAbnormity +|Warning/26 |BECU1ContactorCurrentUnsafe +|Warning/27 |BECU1Contactor5CheckAbnormity +|Warning/28 |BECU1HighVoltageOffset +|Warning/29 |BECU1LowVoltageOffset +|Warning/30 |BECU1HighTemperatureOffset +|Warning/31 |BECU2GeneralChargeOverCurrentAlarm +|Warning/32 |BECU2GeneralDischargeOverCurrentAlarm +|Warning/33 |BECU2ChargeCurrentLimitAlarm +|Warning/34 |BECU2DischargeCurrentLimitAlarm +|Warning/35 |BECU2GeneralHighVoltageAlarm +|Warning/36 |BECU2GeneralLowVoltageAlarm +|Warning/37 |BECU2AbnormalVoltageChangeAlarm +|Warning/38 |BECU2GeneralHighTemperatureAlarm +|Warning/39 |BECU2GeneralLowTemperatureAlarm +|Warning/40 |BECU2AbnormalTemperatureChangeAlarm +|Warning/41 |BECU2SevereHighVoltageAlarm +|Warning/42 |BECU2SevereLowVoltageAlarm +|Warning/43 |BECU2SevereLowTemperatureAlarm +|Warning/44 |BECU2SeverveChargeOverCurrentAlarm +|Warning/45 |BECU2SeverveDischargeOverCurrentAlarm +|Warning/46 |BECU2AbnormalCellCapacityAlarm +|Warning/47 |BECU2BalancedSamplingAlarm +|Warning/48 |BECU2BalancedControlAlarm +|Warning/49 |BECU2HallSensorDoesNotWorkAccurately +|Warning/50 |BECU2Generalleakage +|Warning/51 |BECU2Severeleakage +|Warning/52 |BECU2Contactor1TurnOnAbnormity +|Warning/53 |BECU2Contactor1TurnOffAbnormity +|Warning/54 |BECU2Contactor2TurnOnAbnormity +|Warning/55 |BECU2Contactor2TurnOffAbnormity +|Warning/56 |BECU2Contactor4CheckAbnormity +|Warning/57 |BECU2ContactorCurrentUnsafe +|Warning/58 |BECU2Contactor5CheckAbnormity +|Warning/59 |BECU2HighVoltageOffset +|Warning/60 |BECU2LowVoltageOffset +|Warning/61 |BECU2HighTemperatureOffset +|Warning/62 |GeneralOvercurrentAlarmAtCellStackCharge +|Warning/63 |GeneralOvercurrentAlarmAtCellStackDischarge +|Warning/64 |CurrentLimitAlarmAtCellStackCharge +|Warning/65 |CurrentLimitAlarmAtCellStackDischarge +|Warning/66 |GeneralCellStackHighVoltageAlarm +|Warning/67 |GeneralCellStackLowVoltageAlarm +|Warning/68 |AbnormalCellStackVoltageChangeAlarm +|Warning/69 |GeneralCellStackHighTemperatureAlarm +|Warning/70 |GeneralCellStackLowTemperatureAlarm +|Warning/71 |AbnormalCellStackTemperatureChangeAlarm +|Warning/72 |SevereCellStackHighVoltageAlarm +|Warning/73 |SevereCellStackLowVoltageAlarm +|Warning/74 |SevereCellStackLowTemperatureAlarm +|Warning/75 |SeverveOverCurrentAlarmAtCellStackDharge +|Warning/76 |SeverveOverCurrentAlarmAtCellStackDischarge +|Warning/77 |AbnormalCellStackCapacityAlarm +|Warning/78 |TheParameterOfEEPROMInCellStackLoseEffectiveness +|Warning/79 |IsolatingSwitchInConfluenceArkBreak +|Warning/80 |TheCommunicationBetweenCellStackAndTemperatureOfCollectorBreak +|Warning/81 |TheTemperatureOfCollectorFail +|Warning/82 |HallSensorDoNotWorkAccurately +|Warning/83 |TheCommunicationOfPCSBreak +|Warning/84 |AdvancedChargingOrMainContactorCloseAbnormally +|Warning/85 |AbnormalSampledVoltage +|Warning/86 |AbnormalAdvancedContactorOrAbnormalRS485GalleryOfPCS +|Warning/87 |AbnormalMainContactor +|Warning/88 |GeneralCellStackLeakage +|Warning/89 |SevereCellStackLeakage +|Warning/90 |SmokeAlarm +|Warning/91 |TheCommunicationWireToAmmeterBreak +|Warning/92 |TheCommunicationWireToDredBreak +|=== + +== Channels for FENECON Mini Grid-Meter +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/MeterNature.adoc[] +include::sections/channels/SymmetricMeterNature.adoc[] +3+|*Specific to BControlMeter* +|SellToGridEnergy |Wh | +|BuyFromGridEnergy |Wh | +|=== + +== Channels for FENECON Mini Production-Meter +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/MeterNature.adoc[] +include::sections/channels/SymmetricMeterNature.adoc[] +3+|*Specific to BControlMeter* +|Energy |Wh | +|=== + +== Channels for consumptionMeter +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +include::sections/channels/MeterNature.adoc[] +include::sections/channels/SymmetricMeterNature.adoc[] +3+|*Specific to FENECON Mini Consumption-Meter* +|Energy |Wh | +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusRtu", + "serialinterface": "/dev/ttyUSB0", + "baudrate": 9600, + "databits": 8, + "parity": "none", + "stopbits": 1, + "devices": [ + { + "class": "io.openems.impl.device.minireadonly.FeneconMini", + "modbusUnitId": 4, + "ess": { + "id": "ess0", + "minSoc": 15 + }, + "gridMeter": { + "id": "meter0" + }, + "productionMeter": { + "id": "meter1" + }, + "consumptionMeter": { + "id": "meter2" + } + } + ] +} +---- \ No newline at end of file diff --git a/doc/_old/devices/janitza_umg96rm/janitza_umg96rm.adoc b/doc/_old/devices/janitza_umg96rm/janitza_umg96rm.adoc new file mode 100644 index 00000000000..991e0c2f097 --- /dev/null +++ b/doc/_old/devices/janitza_umg96rm/janitza_umg96rm.adoc @@ -0,0 +1,41 @@ += Janitza UMG96RM Meter +include::../../../../_include/header.adoc[] + +== Details +|=== +2+|Bridge |<<_modbus_tcp>> +1.3+|Implemented Natures |meter | <> +| | <> +| | <> +2+|More information |https://www.janitza.de/umg-96rm-e.html[Manufacturer icon:external-link[]] +|=== + +== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +include::../_include/MeterNature.adoc[] +include::../_include/AsymmetricMeterNature.adoc[] +include::../_include/SymmetricMeterNature.adoc[] +3+|*Specific to Janitza UMG96RM Meter* +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.janitza.JanitzaUMG96RMEMeter", + "modbusUnitId": 1, + "meter": { + "id": "meter0", + "type": "grid" + } + } + ] +}, +---- \ No newline at end of file diff --git a/doc/_old/devices/keba_kecontact/keba_kecontact.adoc b/doc/_old/devices/keba_kecontact/keba_kecontact.adoc new file mode 100644 index 00000000000..bf44cfff7e8 --- /dev/null +++ b/doc/_old/devices/keba_kecontact/keba_kecontact.adoc @@ -0,0 +1,66 @@ += KEBA KeContact EVCS +include::../../../../_include/header.adoc[] + +== Details +|=== +2+|Bridge |<<_keba_kecontact>> +|Implemented Natures |evcs | <> +2+|More information |https://www.keba.com/de/emobility/products/product-overview/produktubersicht[Manufacturer icon:external-link[]] +|=== + +== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +include::../_include/EvcsNature.adoc[] +3+|*Specific to KEBA KeContact EVCS* +|Product | | Model name +|Serial | | Serial number +|Firmware | | Firmware version +|ComModule | | Communication module is installed; KeContact P30 only +|State |0=starting, 1=not ready for charging, 2=ready for charging, 3=charging, 4=error, 5=authentication rejected | +|Error1 | | +|Error2 | | +|Plug |0=unplugged, 1=plugged on charging station, 3=plugged on charging station + locked, 5=plugged on charging station + plugged on EV, 7=plugged on charging station + locked + plugged on EV | +|EnableSys | | Enable state for charging (contains Enable input, RFID, UDP,..) +|EnableUser | | Enable condition via UDP +|MaxCurr |mA | Current preset value via Control pilot in milliampere +|MaxCurrPercent |0.1 % | Current preset value via Control pilot in 0,1% of the PWM value +|CurrHardware | | Highest possible charging current of the charging connection. Contains device maximum, DIP-switch setting, cable coding and temperature reduction +|CurrFailsafe | | Current preset value for the Failsafe function +|TimeoutFailsafe | | Communication timeout before triggering the Failsafe function +|CurrTimer | | Shows the current preset value of currtime +|TimeoutCT | | Shows the remaining time until the current value is accepted +|EnergyLimit | | Shows the set energy limit +|Output | | State of the output X2 +|Input | | State of the potential free Enable input X1. When using the input, please pay attention to the information in the installation manual. +|VoltageL1 |V | +|VoltageL2 |V | +|VoltageL3 |V | +|CurrentL1 |mA | +|CurrentL2 |mA | +|CurrentL3 |mA | +|ActualPower |mW |Current power in mW (Real Power) +|CosPhi |0.1 % |Power factor in 0,1% (cosphi) +|EnergySession |0.1 Wh |Power consumption of the current loading session in 0,1Wh; Reset with new loading session (state = 2) +|EnergyTotal |0.1 Wh |Total power consumption (persistent) without current loading session 0,1Wh; Is summed up after each completed charging session (state = 0) +|SetDisplay | |Text shown on the display. Maximum 23 ASCII characters can be used +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.keba.KebaBridge", + "devices": [ + { + "class": "io.openems.impl.device.keba.Keba", + "ip": "192.168.25.11", + "evcs": { + "id": "evcs0" + } + } + ] +} +---- \ No newline at end of file diff --git a/doc/_old/devices/kippzonen_pyranometer/kippzonen_pyranometer.adoc b/doc/_old/devices/kippzonen_pyranometer/kippzonen_pyranometer.adoc new file mode 100644 index 00000000000..51964ef8da4 --- /dev/null +++ b/doc/_old/devices/kippzonen_pyranometer/kippzonen_pyranometer.adoc @@ -0,0 +1,74 @@ += KippZonen Pyranometer + +== Details +|=== +2+|Bridge |<<_modbus_tcp>> +|Implemented Natures |pyra | <> +2+|More information |http://www.kippzonen.com/ProductGroup/3/Pyranometers[Manufacturer icon:external-link[]] +|=== + +== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +3+|*Specific to KippZonen Pyranometer* +|DeviceTypeOfTheSensor | | +|DataModelVersion | | +|OperationalMode | | +|StatusFlags | | +|ScaleFactor | | +|NetRadiation |W/m2 | +|StandartDeviationSensor1 |W/m2 | +|BodyTemperature |C | +|ExternalPowerVoltage |V | +|DACOutputVoltage |V | +|DACSelectedInputVoltage | | +|InputVoltageSensor1 |µV | +|InputVoltageBodyTemperatureSensor |µV | +|IOVoidDataFlag | | +|IOOverFlowError | | +|IOUnderFlowError | | +|IOErrorFlag | | +|IOADCError | | +|IODACError | | +|IOCalibrationError | | +|IOUpdateFailed | | +|ProductionBatchNumber | | +|SerialNumber | | +|SoftwareVersion | | +|HardwareVersion | | +|ModbusDeviceAddressRS485 | | +|ActualErrorCode | | +|CommunicationError | | +|IOErrorCountPrio1 | | +|IOErrorCountPrio2 | | +|NumberOfControlledRestart | | +|NumberOfUncontrolledRestarts | | +|OnTimeInSecondsMSB | | +|OnTimeInSecondsLSB | | +|ClearError | | +|RestartModbus | | +|RoundOFF | | +|AutoRange | | +|FastResponse | | +|TrackingFilter | | +|=== + +=== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.kippzonen.KippZonenPyranometer", + "modbusUnitId": 1, + "pyra": { + "id": "pyra0" + } + } + ] +} +---- diff --git a/doc/_old/devices/kmtronic_relay/kmtronic_relay.adoc b/doc/_old/devices/kmtronic_relay/kmtronic_relay.adoc new file mode 100644 index 00000000000..27ce5bdec08 --- /dev/null +++ b/doc/_old/devices/kmtronic_relay/kmtronic_relay.adoc @@ -0,0 +1,47 @@ += KMTronic Relay board Output +include::../../../../_include/header.adoc[] + +== Details +|=== +2+|Bridge |<<_modbus_tcp>> +|Implemented Natures |meter | <> +2+|More information |https://www.kmtronic.com/[Manufacturer icon:external-link[]] +|=== + +== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +3+|*Specific to KMTronic Relay board Output* +|1 | 1.8+|Read or set the output relay +|2 | +|3 | +|4 | +|5 | +|6 | +|7 | +|8 | +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusRtu", + "serialinterface": "/dev/ttyUSB0", + "baudrate": 9600, + "databits": 8, + "parity": "none", + "stopbits": 1, + "devices": [ + { + "class": "io.openems.impl.device.kmtronic.KMTronicRelay", + "output": { + "id": "output0" + }, + "modbusUnitId": 1 + } + ] +} +---- \ No newline at end of file diff --git a/doc/_old/devices/socomec/socomec.adoc b/doc/_old/devices/socomec/socomec.adoc new file mode 100644 index 00000000000..06a5b0771ae --- /dev/null +++ b/doc/_old/devices/socomec/socomec.adoc @@ -0,0 +1,50 @@ += Socomec Meter + +== Details +|=== +2+|Bridge |<<_modbus_rtu>> +1.3+|Implemented Natures |meter | <> +| | <> +| | <> +2+|More information |https://www.socomec.com/single-circuit-multifunction-meters_en.html[Manufacturer icon:external-link[]] +|=== + +== Channels +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::../_include/Thing.adoc[] +include::../_include/MeterNature.adoc[] +include::../_include/AsymmetricMeterNature.adoc[] +include::../_include/SymmetricMeterNature.adoc[] +3+|*Specific to Socomec Meter* +|ActivePositiveEnergy |kWh | +|ReactivePositiveEnergy |kvarh | +|ApparentEnergy |kVAh | +|ActiveNegativeEnergy |kWh | +|ReactiveNegativeEnergy |kvarh | +|Current |mA | +|=== + +== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusRtu", + "serialinterface": "/dev/ttyUSB0", + "baudrate": 9600, + "databits": 8, + "parity": "none", + "stopbits": 1, + "devices": [ + { + "class": "io.openems.impl.device.socomec.Socomec", + "modbusUnitId": 5, + "meter": { + "id": "meter0", + "type": "grid" + } + } + ] +} +---- \ No newline at end of file diff --git a/doc/_old/devices/wago/wago.adoc b/doc/_old/devices/wago/wago.adoc new file mode 100644 index 00000000000..93c7cbecaf5 --- /dev/null +++ b/doc/_old/devices/wago/wago.adoc @@ -0,0 +1,50 @@ +== WAGO-I/O-SYSTEM 750 Fieldbus + +=== Details +|=== +2+|Bridge |<<_modbus_tcp>> +1.2+|Implemented Natures |output | <> +|input | <> +2+|More information |https://www.wago.com/de/automatisierungstechnik/io-systeme-entdecken[Manufacturer icon:external-link[]] +|=== + +=== Channels for output +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +3+|*Specific to WAGO I/O Output* +|1 | |Each digital output, dynamically read from fieldbus coupler (EA-config.xml) +|=== + +=== Channels for input +[options="header"] +|=== +|Channel-ID |Unit/Range |Comment +include::sections/channels/Thing.adoc[] +3+|*Specific to WAGO I/O Input* +|1 | |Each digital input, dynamically read from fieldbus coupler (EA-config.xml) +|=== + +=== Example Configuration +[source,json] +---- +{ + "class": "io.openems.impl.protocol.modbus.ModbusTcp", + "ip": "192.168.0.1", + "devices": [ + { + "class": "io.openems.impl.device.wago.WagoFB", + "output": { + "id": "output0", + "ip": "192.168.0.1" + }, + "input": { + "id": "input0", + "ip": "192.168.0.1" + }, + "modbusUnitId": 1 + } + ] +} +---- diff --git a/doc/img/cycle-modbus.png b/doc/img/cycle-modbus.png new file mode 100644 index 0000000000000000000000000000000000000000..e545f9ed70432efbb5694f58babfdaa75073198c GIT binary patch literal 45878 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 literal 0 HcmV?d00001 diff --git a/doc/img/edge-cycle.png b/doc/img/edge-cycle.png new file mode 100644 index 0000000000000000000000000000000000000000..6fc1534c4977c5ff5aef8caa2cfadd12e4125e1b GIT binary patch literal 25907 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 z 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 literal 0 HcmV?d00001 diff --git a/doc/img/input-process-scheduler-output.png b/doc/img/input-process-scheduler-output.png new file mode 100644 index 0000000000000000000000000000000000000000..1c29a73fce7ff38ed12ce485ece6f9a15c25bde2 GIT binary patch literal 8101 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 z z)NO8!cNaI@9vp0Fo}HC?KeTB)xQV5o%6sDJj4H`i6WpRGx)@!L!jf8AvfG;VvjGR; zG;OoKQD5)%<>)Jep{^GMGMHPF@jx&`tk+S7NRJ3kR)`B&BlyJ6<1sk;;@wsMOkAUlfx@KU8Z$ z5nID&uKvasvSpyb7H^kPt z?9#a5VK;5c24%<&2X&&iRJkt~giz+g!u~=|`0uV#Qr0M&#hRg=>eu645&)Dacyd(p z9XG-e6#ZkLDrqwP8twYd#6tjX{L z Date: Sun, 10 Jun 2018 21:31:29 +0200 Subject: [PATCH 44/50] UI: show consumption and other meters --- .../energytable/energytable.component.html | 90 ++++++++++++++++++ ui/src/app/shared/edge/config.ts | 9 +- ui/src/assets/img/blue.png | Bin 0 -> 405 bytes 3 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 ui/src/assets/img/blue.png diff --git a/ui/src/app/edge/overview/energytable/energytable.component.html b/ui/src/app/edge/overview/energytable/energytable.component.html index fd2de4f104f..cb4342315a2 100644 --- a/ui/src/app/edge/overview/energytable/energytable.component.html +++ b/ui/src/app/edge/overview/energytable/energytable.component.html @@ -405,5 +405,95 @@ + + + + + + + {{ config.things[thing].alias }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    General.Consumption{{ data.ActivePower }}W
    General.ConsumptionL1{{ data.ActivePowerL1 }}W
    L2{{ data.ActivePowerL2 }}W
    L3{{ data.ActivePowerL3 }}W
    +
    +
    +
    +
    + + + + + + + Andere + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {{ config.things[thing].alias }}{{ data.ActivePower }}W
    {{ config.things[thing].alias }}L1{{ data.ActivePowerL1 }}W
    L2{{ data.ActivePowerL2 }}W
    L3{{ data.ActivePowerL3 }}W
    +
    +
    +
    \ No newline at end of file diff --git a/ui/src/app/shared/edge/config.ts b/ui/src/app/shared/edge/config.ts index 4f64394d43f..d0a9cbb7fbd 100644 --- a/ui/src/app/shared/edge/config.ts +++ b/ui/src/app/shared/edge/config.ts @@ -59,6 +59,7 @@ export class ConfigImpl implements DefaultTypes.Config { constructor(private readonly edge: Edge, private readonly config: DefaultTypes.Config) { let storageThings: string[] = [] + let chargers: string[] = []; if (edge.isVersionAtLeast("2018.8")) { /* @@ -73,6 +74,9 @@ export class ConfigImpl implements DefaultTypes.Config { if (i.includes("Ess")) { storageThings.push(componentId); } + if (i.includes("EssDcCharger")) { + chargers.push(componentId); + } } } else { @@ -93,7 +97,6 @@ export class ConfigImpl implements DefaultTypes.Config { Object.assign(this, config); - let chargers: string[] = []; let gridMeters: string[] = []; let productionMeters: string[] = []; let consumptionMeters: string[] = []; @@ -166,9 +169,10 @@ export class ConfigImpl implements DefaultTypes.Config { } } - this.chargers = chargers.sort(); this.gridMeters = gridMeters.sort(); this.productionMeters = productionMeters.sort(); + this.consumptionMeters = consumptionMeters.sort(); + this.otherMeters = otherMeters.sort(); this.bridges = bridges.sort(); this.scheduler = scheduler; this.controllers = controllers; @@ -178,6 +182,7 @@ export class ConfigImpl implements DefaultTypes.Config { } this.storageThings = storageThings.sort(); + this.chargers = chargers.sort(); } public getStateChannels(): DefaultTypes.ChannelAddresses { diff --git a/ui/src/assets/img/blue.png b/ui/src/assets/img/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d55fa7b9a89dc54b71d74094199e363fa27b44 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}Y)RhkE)4%caKYZ?lYt_f1s;*b zKpodXn9)gNb_Gz7y~NYkmHiPLJBI~Rk#Ar;0|TRyr;B4q#jUrO3|kN;>FI3Q-~W9xpU!Tf1f8DNjRztmxRV<<8i*ZZN>0@2VLf&TC;${U5Ce)Q>Hx(L hMbJ|rz1(s}s{Ix7q{l6Nhkyad;OXk;vd$@?2>>URh=>3H literal 0 HcmV?d00001 From 733927d34d95e561c07002309c7467f9a9585782 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Mon, 11 Jun 2018 09:19:29 +0200 Subject: [PATCH 45/50] Add type safety to Core.Sum + require only SymmetricEssReadonly instead of SymmetricEss --- .../src/io/openems/edge/core/sum/Sum.java | 43 ++++++++++--------- .../core/sum/internal/AverageInteger.java | 3 +- .../core/sum/internal/ChannelsFunction.java | 6 +-- .../edge/core/sum/internal/SumInteger.java | 3 +- 4 files changed, 29 insertions(+), 26 deletions(-) diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java index 593f9d6b5df..7c51f615f82 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/Sum.java @@ -173,28 +173,28 @@ public Doc doc() { * Ess */ private final List esss = new CopyOnWriteArrayList<>(); - private final AverageInteger essSoc; - private final SumInteger essActivePower; + private final AverageInteger essSoc; + private final SumInteger essActivePower; /* * Grid */ - private final SumInteger gridActivePower; - private final SumInteger gridMinActivePower; - private final SumInteger gridMaxActivePower; + private final SumInteger gridActivePower; + private final SumInteger gridMinActivePower; + private final SumInteger gridMaxActivePower; /* * Production */ - private final SumInteger productionActivePower; - private final SumInteger productionMaxActivePower; + private final SumInteger productionActivePower; + private final SumInteger productionMaxActivePower; @Reference(policy = ReferencePolicy.DYNAMIC, policyOption = ReferencePolicyOption.GREEDY, cardinality = ReferenceCardinality.MULTIPLE) private void addEss(Ess ess) { this.esss.add(ess); this.essSoc.addComponent(ess); - if (ess instanceof SymmetricEss) { - this.essActivePower.addComponent(ess); + if (ess instanceof SymmetricEssReadonly) { + this.essActivePower.addComponent((SymmetricEssReadonly) ess); } this.calculateMaxConsumption.accept(null /* ignored */); } @@ -232,9 +232,9 @@ private void addMeter(Meter meter) { * Grid-Meter */ if (meter instanceof SymmetricMeter) { - this.gridActivePower.addComponent(meter); - this.gridMinActivePower.addComponent(meter); - this.gridMaxActivePower.addComponent(meter); + this.gridActivePower.addComponent((SymmetricMeter) meter); + this.gridMinActivePower.addComponent((SymmetricMeter) meter); + this.gridMaxActivePower.addComponent((SymmetricMeter) meter); } break; @@ -243,8 +243,8 @@ private void addMeter(Meter meter) { * Production-Meter */ if (meter instanceof SymmetricMeter) { - this.productionActivePower.addComponent(meter); - this.productionMaxActivePower.addComponent(meter); + this.productionActivePower.addComponent((SymmetricMeter) meter); + this.productionMaxActivePower.addComponent((SymmetricMeter) meter); } break; } @@ -262,23 +262,24 @@ public Sum() { /* * Ess */ - this.essSoc = new AverageInteger(this, ChannelId.ESS_SOC, Ess.ChannelId.SOC); - this.essActivePower = new SumInteger(this, ChannelId.ESS_ACTIVE_POWER, + this.essSoc = new AverageInteger(this, ChannelId.ESS_SOC, Ess.ChannelId.SOC); + this.essActivePower = new SumInteger(this, ChannelId.ESS_ACTIVE_POWER, SymmetricEssReadonly.ChannelId.ACTIVE_POWER); /* * Grid */ - this.gridActivePower = new SumInteger(this, ChannelId.GRID_ACTIVE_POWER, SymmetricMeter.ChannelId.ACTIVE_POWER); - this.gridMinActivePower = new SumInteger(this, ChannelId.GRID_MIN_ACTIVE_POWER, + this.gridActivePower = new SumInteger(this, ChannelId.GRID_ACTIVE_POWER, + SymmetricMeter.ChannelId.ACTIVE_POWER); + this.gridMinActivePower = new SumInteger(this, ChannelId.GRID_MIN_ACTIVE_POWER, SymmetricMeter.ChannelId.MIN_ACTIVE_POWER); - this.gridMaxActivePower = (SumInteger) new SumInteger(this, ChannelId.GRID_MAX_ACTIVE_POWER, + this.gridMaxActivePower = new SumInteger(this, ChannelId.GRID_MAX_ACTIVE_POWER, SymmetricMeter.ChannelId.MAX_ACTIVE_POWER); /* * Production */ - this.productionActivePower = new SumInteger(this, ChannelId.PRODUCTION_ACTIVE_POWER, + this.productionActivePower = new SumInteger(this, ChannelId.PRODUCTION_ACTIVE_POWER, SymmetricMeter.ChannelId.ACTIVE_POWER); - this.productionMaxActivePower = new SumInteger(this, ChannelId.PRODUCTION_MAX_ACTIVE_POWER, + this.productionMaxActivePower = new SumInteger(this, ChannelId.PRODUCTION_MAX_ACTIVE_POWER, SymmetricMeter.ChannelId.MAX_ACTIVE_POWER); /* * Consumption diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java index 7bba0e317de..1f5b7586217 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/AverageInteger.java @@ -2,10 +2,11 @@ import java.util.NoSuchElementException; +import io.openems.edge.common.component.OpenemsComponent; import io.openems.edge.core.sum.Sum; import io.openems.edge.core.sum.Sum.ChannelId; -public class AverageInteger extends ChannelsFunction { +public class AverageInteger extends ChannelsFunction { public AverageInteger(Sum parent, ChannelId targetChannelId, io.openems.edge.common.channel.doc.ChannelId sourceChannelId) { diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java index 013d00c56dc..90520b9b224 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/ChannelsFunction.java @@ -14,7 +14,7 @@ import io.openems.edge.common.component.OpenemsComponent; import io.openems.edge.core.sum.Sum; -public abstract class ChannelsFunction { +public abstract class ChannelsFunction { private final Logger log = LoggerFactory.getLogger(ChannelsFunction.class); private final Channel targetChannel; @@ -30,7 +30,7 @@ public ChannelsFunction(Sum parent, io.openems.edge.core.sum.Sum.ChannelId targe this.sourceChannelId = sourceChannelId; } - public void addComponent(OpenemsComponent component) { + public void addComponent(C component) { if (this.debug) { log.info("Add Component [" + component.id() + "] of type [" + component.getClass().getSimpleName() + "]"); } @@ -55,7 +55,7 @@ public void removeComponent(OpenemsComponent component) { this.valueMap.remove(component.id()); } - public ChannelsFunction debug() { + public ChannelsFunction debug() { this.debug = true; return this; } diff --git a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java index 59f8b6dcece..91a4aa4d93e 100644 --- a/io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java +++ b/io.openems.edge.core/src/io/openems/edge/core/sum/internal/SumInteger.java @@ -2,10 +2,11 @@ import java.util.NoSuchElementException; +import io.openems.edge.common.component.OpenemsComponent; import io.openems.edge.core.sum.Sum; import io.openems.edge.core.sum.Sum.ChannelId; -public class SumInteger extends ChannelsFunction { +public class SumInteger extends ChannelsFunction { public SumInteger(Sum parent, ChannelId targetChannelId, io.openems.edge.common.channel.doc.ChannelId sourceChannelId) { From f9b37e7dcb80c31361d6766b9ea0a13a836a1d6b Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Mon, 11 Jun 2018 16:48:20 +0200 Subject: [PATCH 46/50] UI: fix SoC chart from _sum component --- .../app/edge/history/chart/socchart/socchart.component.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ui/src/app/edge/history/chart/socchart/socchart.component.ts b/ui/src/app/edge/history/chart/socchart/socchart.component.ts index 3db27b421d8..0ec343fd516 100644 --- a/ui/src/app/edge/history/chart/socchart/socchart.component.ts +++ b/ui/src/app/edge/history/chart/socchart/socchart.component.ts @@ -97,6 +97,14 @@ export class SocChartComponent implements OnInit, OnChanges { labels.push(new Date(record.time)); for (let componentId in this.channels) { let soc = null; + if (this.edge.isVersionAtLeast("2018.8")) { + /* + * AFTER VERSION 2018.8 + */ + if (componentId == '_sum' && "EssSoc" in record.channels[componentId] + && record.channels[componentId]["EssSoc"] != null) + soc = Math.round(record.channels[componentId].EssSoc); + } if (componentId in record.channels && "Soc" in record.channels[componentId] && record.channels[componentId]["Soc"] != null) { From fa6dffe767282b1a73db577b07911663e0ffd51d Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Mon, 11 Jun 2018 21:47:07 +0200 Subject: [PATCH 47/50] Add OpenEMS Logo, remove pdf doc --- README.md | 11 ++++++++--- doc/OpenEMS_EN.pdf | Bin 1616526 -> 0 bytes doc/img/OpenEMS-Logo.png | Bin 0 -> 53537 bytes 3 files changed, 8 insertions(+), 3 deletions(-) delete mode 100644 doc/OpenEMS_EN.pdf create mode 100644 doc/img/OpenEMS-Logo.png diff --git a/README.md b/README.md index 792bac6927d..7c2abb92d16 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ -# OpenEMS -**Open Source Energy Management System** +
    +

    Open Source Energy Management System

    OpenEMS is a modular platform for energy management applications. It was developed around the requirements of controlling, monitoring and integrating energy storage systems together with renewable energy sources and complementary devices and services. @@ -43,7 +49,6 @@ Indepth documentation is currently in progress. Please find the latest documents * [Latest version of documentation](/doc/OpenEMS_EN.adoc) * [Latest version of documentation in HTML format](http://htmlpreview.github.io/?https://github.com/OpenEMS/openems/blob/develop/doc/OpenEMS_EN.html) - * [Latest version of documentation in PDF format](/doc/OpenEMS_EN.pdf) * [Documentation of previous version of OpenEMS](http://htmlpreview.github.io/?https://github.com/OpenEMS/openems/blob/feature/improve_doc/doc/openems.html) * [Previous version readme](https://github.com/OpenEMS/openems/blob/old_master/README.md) diff --git a/doc/OpenEMS_EN.pdf b/doc/OpenEMS_EN.pdf deleted file mode 100644 index 56a7b10c1343fbb21163822f6bfab4a7eb12626a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1616526 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

    XS$)O4jgSY)F3knI+ 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 z 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®j>=w;GindYr!dL3F; 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 diff --git a/doc/img/OpenEMS-Logo.png b/doc/img/OpenEMS-Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e09213fcf9443b2afa32d75a2038c7b944b92dad GIT binary patch literal 53537 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�T82UaJDZ?`6V^Wjwd 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

    |kWsN>ieA*7>+y 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 S0p}+`ppVkZAF3ryg8mOeQz_B_ literal 0 HcmV?d00001 From 80f7e278ccdeb9ae906944dba233d56a98e8f2e9 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Mon, 11 Jun 2018 21:50:36 +0200 Subject: [PATCH 48/50] Fix Readme.md formatting --- README.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7c2abb92d16..ad2d00d9845 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,7 @@

    -
    the Feneco - OpenEMS Logo -
    - OpenEMS -
    +
    Open Source Energy Management System

    -

    Open Source Energy Management System

    OpenEMS is a modular platform for energy management applications. It was developed around the requirements of controlling, monitoring and integrating energy storage systems together with renewable energy sources and complementary devices and services. @@ -75,4 +71,4 @@ redistribute it and/or modify it under the terms of the [Eclipse Public License Copyright (C) 2016-2018 FENECON GmbH. This product includes software developed at FENECON GmbH: you can -redistribute it and/or modify it under the terms of the [GNU Affero General Public License version 3](LICENSE-AGPL-3.0). \ No newline at end of file +redistribute it and/or modify it under the terms of the [GNU Affero General Public License version 3](LICENSE-AGPL-3.0). From 37f3aa8a4c3ee7f32c535a04a8a9359c465e20b9 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Tue, 12 Jun 2018 10:45:14 +0200 Subject: [PATCH 49/50] Add OpenEMS logo to asciidoc, html and pdf --- doc/OpenEMS_EN.adoc | 19 +++++++++++++++++-- doc/OpenEMS_EN.html | 6 +++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/doc/OpenEMS_EN.adoc b/doc/OpenEMS_EN.adoc index 0a752c47a42..0061d7d9bcb 100644 --- a/doc/OpenEMS_EN.adoc +++ b/doc/OpenEMS_EN.adoc @@ -1,6 +1,21 @@ -= OpenEMS: Open Energy Management System -include::_include/header.adoc[] +ifdef::backend-pdf[] += Open Energy Management System +endif::[] +ifndef::backend-pdf[] += image:OpenEMS-Logo.png[the Feneco - OpenEMS Logo,400,role="related right"] Open Energy Management System +endif::[] +Stefan Feilmeier (c) 2018 FENECON GmbH +Version 2018.8.0-SNAPSHOT +:sectnums: +:sectnumlevels: 4 +:toc: +:toclevels: 4 +:experimental: +:keywords: AsciiDoc +:source-highlighter: highlight.js +:icons: font :imagesdir: ./img +:title-logo-image: image:OpenEMS-Logo.png[pdfwidth=4.25in,align=center] == Introduction diff --git a/doc/OpenEMS_EN.html b/doc/OpenEMS_EN.html index 33e3d97e523..c49befc540a 100644 --- a/doc/OpenEMS_EN.html +++ b/doc/OpenEMS_EN.html @@ -7,7 +7,7 @@ -OpenEMS: Open Energy Management System +Open Energy Management System

    +
    + the Feneco - OpenEMS Logo
    +
    + OpenEMS +
    +

    2.3. Run OpenEMS Edge and start S
    1. -

      Open the Apache Felix Web Console Configuration

      +

      Open the Apache Felix Web Console Configuration .

      +
      +

      Login with username admin and password admin.

      +
      Apache Felix Web Console Configuration @@ -1094,7 +1097,7 @@

      2.5. Run OpenEMS UI

      diff --git a/doc/OpenEMS_EN.pdf b/doc/OpenEMS_EN.pdf index 1a686e139e6c10141d85702abd59deebf2c8e344..c82695b281d5570c41f3aec5ae8105e59d7f8828 100644 GIT binary patch delta 3155 zcmaJ@J8WD<6xGJR&Dy(u_Ij6JKud^efS0* zvzDim&Sv}kV7qf~yVKe!*c@ygwg6j%Ey235)36?F8MXrJ!v?U`{q0V5wLceP%zNJr z-pHTPaCQH$LA5(S{pk5~T`RF>XJWp(UOkh4eK2@Azx&1dOA9g9$?R^ejn2spf7=J2 z{4F*C&mcbHmkZXr!2XsefAjw5LzC}*)j!)$w)TN0a4+eGq za9BOJYE8|?`N@qtz4Nb=$@JrZmPqPoQ_Qru_F{f|qxxx)V*nZX(MI*&(eLS_i{pH0 zer+S~j;gnx3{;C1Ke^K*k(y<~mg*QJf3q{Xkl!3vrx(Q5VDk?@yq>=vSK|fekk)i7 zj`Cz_t(*TGSHCRSRD+JKIL^O6QT;q`LY;Ew)#3R5m;IduaC`Lc{*|YyPflg?aM;i9 zKO9!~x@THjgRR4cunpK~zk6o<)`iBCwG-2RChtsoco0f<;7wyeQh_CL3X6%zC@h&2 z6h`>O7HdufCbEu|LoBmiB?v48o(+Pnh6^m1qzWM+KAB(}p8&d~gLva(P(eH=uPaGp zN(_3`{!(&6%3n%Nf*xk5W+s8m6(+_;jRn#yphui27TCF{3t<;sIEah-AD=sWY*!fq z^IoyQQ6lMeF|g5vqzKuoq*F{Y>kyw9pi{JRf{=>MiK7mjph3-6N?y|se-Wk5vYNoZ zR;FzQp&SAu9T*s<;H*PyaK@@jER=4vKjLT(3u%t&w`57vZ#hv?6PRq;+FxKY@%zAZ9zzP8a^Hd~bgEXo-EJSnbWKc^HM9}iZ zI(Fq=t6N))ID4dp=CS$#dOc`>g;Y9Btj<%6Yww8}aRH+;u*20nv#tUC(9A5@V&16% z0xX&mgW_f!Vy`a*2aKH(CNLX)Q*3r6)jq_6>hK>G2P*XuY%2G<by(VxK3 zwK~B_hm-5y!6hc*uUO|wQOBr@Ys4hOYA^s}JwSkoD}tmD^|_NVp~Ucdq7rQHS(&u= z&xuON#G;)jdDdM*DO&B2iS>jNW;DDCj2u6T3Pof3f*og6?G8Bt5(HJgnO~0UXbajIFOHIE-qc1U$$nClV{*PyXL|3$;;BL}^ zT{|sQg1C6~dw@9SSy$}*3Hm3^!7GPx# delta 2912 zcmZuzJ&znk5Y_tbe6Y6f=DglL%!j`B#XcK_?EvxEN8qG@(wYD@0FTQsliDz`>>`0}6T<$iwHoL&@)ZIB1A<$2%8 z-UsK;f8JX3w|5V&^yl$>E%rZ@+3UNULYvL{=A-%h{g2n1 z#ZHzM37uYV{@StBYJ&Gg|Ht#q@7oev>p#0WTlBxZ(0sUlJnX+e-8(pW@5Sbu3;oZZ zU*5mBf1`mNz^=k(uxqgS$^MPSyEnTiDJ;YATYkEn;*Ua%Ddh?)Njzp`#bG&%sKZL2 z;xMA1VZgeLz(kzXIV4Ikr?Ep|rI^D+8LSR}G;Pd;*xs2Z^N+IfurS zeI+Gujd6+IU&+a$^H)ko>M~>wiCs&Wg^kBAGn;r8fF*M*aE#;&VRX2x;-dcZzO#`Q zmm#oR91AEnh(DK2*%wk!aD`~vi^C+E z7jP#DpKh)a#V%ZDc$T1I-aY+_$??@8mx_K(>@P9A8i#W${?|J|Q?5o4lURu>3cl1_ z(h# SUA%dTOl^8}bnEsT(|-XSAwjJG From de12a7ee640d29533338ecec9bdf8cf235a69059 Mon Sep 17 00:00:00 2001 From: Wolfgang Gerbl Date: Wed, 6 Jun 2018 10:32:06 +0200 Subject: [PATCH 38/50] updates build files --- cnf/central.xml | 2 +- ui/package-lock.json | 5790 ++++++++++++++++++++---------------------- 2 files changed, 2713 insertions(+), 3079 deletions(-) diff --git a/cnf/central.xml b/cnf/central.xml index e12207ed5a0..b85c1753aa2 100644 --- a/cnf/central.xml +++ b/cnf/central.xml @@ -40,7 +40,7 @@ com.google.guava guava - 23.6-jre + 25.1-jre com.squareup.moshi diff --git a/ui/package-lock.json b/ui/package-lock.json index 69a4fb1fec3..e5d24538424 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -10,10 +10,10 @@ "integrity": "sha512-BAYCVZ10ro6mgZQDZiNiVbX8ppygw4q7z/stpwG8WjMswgMRIcxsxYoC1VFuWcUPAf4UyfTIav6e8UZWA5+xnQ==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.7", - "typescript": "2.6.2", - "webpack-sources": "1.1.0" + "loader-utils": "^1.1.0", + "source-map": "^0.5.6", + "typescript": "~2.6.2", + "webpack-sources": "^1.0.1" }, "dependencies": { "typescript": { @@ -30,10 +30,10 @@ "integrity": "sha512-jtUBA0pIrkdXcVqDmDrGlniqwM7NFOKdo7vWFDmCVLBbC9rZHeYW5Xv/+4HyBhGLJ4wxsAkUjsHKWGJINPPpiw==", "dev": true, "requires": { - "ajv": "5.5.2", - "chokidar": "1.7.0", - "rxjs": "5.5.6", - "source-map": "0.5.7" + "ajv": "~5.5.1", + "chokidar": "^1.7.0", + "rxjs": "^5.5.6", + "source-map": "^0.5.6" } }, "@angular-devkit/schematics": { @@ -42,8 +42,8 @@ "integrity": "sha512-NtG8VB5aWtg0cw1Y7EJinJMuAnXsNdkQkkVe/i7CO6TPLyFQSFQCN1YojCr43l8jTWTRebRslrBawPCMOxsOgw==", "dev": true, "requires": { - "@ngtools/json-schema": "1.1.0", - "rxjs": "5.5.6" + "@ngtools/json-schema": "^1.1.0", + "rxjs": "^5.5.6" } }, "@angular/animations": { @@ -51,7 +51,7 @@ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.5.tgz", "integrity": "sha512-70ElCmaeDxLQc2OkgYhJjXj4zjtdjI4K1D5ZZm/uSPLlUcqC6uf6skCXlhMawQoPbsL/SXE5xw2HlMgEbhUysw==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/cdk": { @@ -59,7 +59,7 @@ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.2.1.tgz", "integrity": "sha512-8vsHeRymM+p82JeBzanrjmxp0koTU5W8cXO05ojECRsj6gUE/C950rMfFDga7fC8Pu5KTru/hWQoOcKErb3Uzg==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/cli": { @@ -74,57 +74,57 @@ "@ngtools/json-schema": "1.1.0", "@ngtools/webpack": "1.9.7", "@schematics/angular": "0.1.17", - "autoprefixer": "7.2.6", - "chalk": "2.2.2", - "circular-dependency-plugin": "4.4.0", - "common-tags": "1.7.2", - "copy-webpack-plugin": "4.4.1", - "core-object": "3.1.5", - "css-loader": "0.28.9", - "cssnano": "3.10.0", - "denodeify": "1.2.1", - "ember-cli-string-utils": "1.1.0", - "exports-loader": "0.6.4", - "extract-text-webpack-plugin": "3.0.2", - "file-loader": "1.1.6", - "fs-extra": "4.0.3", - "glob": "7.1.2", - "html-webpack-plugin": "2.30.1", - "istanbul-instrumenter-loader": "3.0.0", - "karma-source-map-support": "1.2.0", - "less": "2.7.3", - "less-loader": "4.0.5", - "license-webpack-plugin": "1.1.1", + "autoprefixer": "^7.2.3", + "chalk": "~2.2.0", + "circular-dependency-plugin": "^4.2.1", + "common-tags": "^1.3.1", + "copy-webpack-plugin": "^4.1.1", + "core-object": "^3.1.0", + "css-loader": "^0.28.1", + "cssnano": "^3.10.0", + "denodeify": "^1.2.1", + "ember-cli-string-utils": "^1.0.0", + "exports-loader": "^0.6.3", + "extract-text-webpack-plugin": "^3.0.2", + "file-loader": "^1.1.5", + "fs-extra": "^4.0.0", + "glob": "^7.0.3", + "html-webpack-plugin": "^2.29.0", + "istanbul-instrumenter-loader": "^3.0.0", + "karma-source-map-support": "^1.2.0", + "less": "^2.7.2", + "less-loader": "^4.0.5", + "license-webpack-plugin": "^1.0.0", "loader-utils": "1.1.0", - "lodash": "4.17.5", - "memory-fs": "0.4.1", - "minimatch": "3.0.4", - "node-modules-path": "1.0.1", - "node-sass": "4.7.2", - "nopt": "4.0.1", - "opn": "5.1.0", - "portfinder": "1.0.13", - "postcss-import": "11.1.0", - "postcss-loader": "2.1.0", - "postcss-url": "7.3.0", - "raw-loader": "0.5.1", - "resolve": "1.5.0", - "rxjs": "5.5.6", - "sass-loader": "6.0.6", - "semver": "5.5.0", - "silent-error": "1.1.0", - "source-map-support": "0.4.18", - "style-loader": "0.13.2", - "stylus": "0.54.5", - "stylus-loader": "3.0.1", - "uglifyjs-webpack-plugin": "1.1.8", - "url-loader": "0.6.2", - "webpack": "3.10.0", - "webpack-dev-middleware": "1.12.2", - "webpack-dev-server": "2.11.1", - "webpack-merge": "4.1.1", - "webpack-sources": "1.1.0", - "webpack-subresource-integrity": "1.0.4" + "lodash": "^4.11.1", + "memory-fs": "^0.4.1", + "minimatch": "^3.0.4", + "node-modules-path": "^1.0.0", + "node-sass": "^4.7.2", + "nopt": "^4.0.1", + "opn": "~5.1.0", + "portfinder": "~1.0.12", + "postcss-import": "^11.0.0", + "postcss-loader": "^2.0.10", + "postcss-url": "^7.1.2", + "raw-loader": "^0.5.1", + "resolve": "^1.1.7", + "rxjs": "^5.5.6", + "sass-loader": "^6.0.6", + "semver": "^5.1.0", + "silent-error": "^1.0.0", + "source-map-support": "^0.4.1", + "style-loader": "^0.13.1", + "stylus": "^0.54.5", + "stylus-loader": "^3.0.1", + "uglifyjs-webpack-plugin": "^1.1.5", + "url-loader": "^0.6.2", + "webpack": "~3.10.0", + "webpack-dev-middleware": "~1.12.0", + "webpack-dev-server": "~2.11.0", + "webpack-merge": "^4.1.0", + "webpack-sources": "^1.0.0", + "webpack-subresource-integrity": "^1.0.1" } }, "@angular/common": { @@ -132,7 +132,7 @@ "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.5.tgz", "integrity": "sha512-jagCxo+75pcTwjuO1ZheIiTlKBJ6REFKFWoUPTzaSS6fnzReFJ+VPf4Pb0bWtHL1lWvbvnzmITOJPB9wmuM3fg==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/compiler": { @@ -140,7 +140,7 @@ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.5.tgz", "integrity": "sha512-YU/r5omexkrrBF3bZaseWrc2Iotk6hIdUWkPIL3gPC0hKJ3wBeB3sHCBujPQXktWdMBbQRujNSMZtgra3Oh1xQ==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/compiler-cli": { @@ -149,10 +149,10 @@ "integrity": "sha512-jRFMxUKpodzOBKdZc6OMse+CjK6xfTJssZQrYeIyqz2daobaIsMZP2hZX8s/PCfV8Vxa7XFwCJb7Fq2uyZKfHg==", "dev": true, "requires": { - "chokidar": "1.7.0", - "minimist": "1.2.0", - "reflect-metadata": "0.1.12", - "tsickle": "0.26.0" + "chokidar": "^1.4.2", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "tsickle": "^0.26.0" }, "dependencies": { "minimist": { @@ -168,7 +168,7 @@ "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.5.tgz", "integrity": "sha512-Uo7R3LrsvA24JkRbwXWUZWp7NSEpwdTUxT1NScyjrBK+t8ybSL5/42Jo21md5M4pjeCsIgUXlGoCm1QtT5aYnQ==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/flex-layout": { @@ -176,7 +176,7 @@ "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-2.0.0-beta.12.tgz", "integrity": "sha512-QTOKZxehYTh8fj64V/pNVWNbfNtebSbssyMIXiGJuHTzfyF7GYdRmtjoR2pNpllycz3rE5NYX77EB140Y6BCnw==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/forms": { @@ -184,7 +184,7 @@ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.5.tgz", "integrity": "sha512-3feqqTuv9rIu7ZOsLCtM/ugNFz5RPujLHkE8bU1gsMM4/eMYruIFir2vbjnhMkD3K6KptEg4iO6tDW18diwXug==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/http": { @@ -192,7 +192,7 @@ "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.5.tgz", "integrity": "sha512-VqTCkAnebe+M9Bqrfp1QYpBQCTbXide/NxrQfwiJY87kjKFeRBuy9/XH/2S5wIwlF5Yx3bmlaIufd9VI5r/0aQ==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/language-service": { @@ -206,7 +206,7 @@ "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.2.1.tgz", "integrity": "sha512-94VmxclpIwXAxeudz9AfMg0m46/TEx/GsDZ7R9yOtrbptAr9xSgOumiEqET4Xjb35/mzgD/PKqlcMWyHJCkyVQ==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/platform-browser": { @@ -214,7 +214,7 @@ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.5.tgz", "integrity": "sha512-iPAuoG/c3pD3hnk1g0VgJu/pzNITvLQyT0W71MDMSuxLxs291kq+U2jklm40pStISd1mPbCNKmvz/7M+WbdLhg==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/platform-browser-dynamic": { @@ -222,7 +222,7 @@ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.5.tgz", "integrity": "sha512-IMEe2qUTC3CA3KoswmJJs+O2Lkyd5GXgl5ULupqhhm/TOL2FLk00kwv8k3Epaf2d1wXcjK3BMG7aAwc6RLH7QA==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@angular/platform-server": { @@ -230,9 +230,9 @@ "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-5.2.5.tgz", "integrity": "sha512-IpuEDNyoVfGO94jd1s+4IgoTBkWigwqD4YQTpcsC1mdY2Ax7NXXTAx28ZQF5EvPbSxsHGB5zG3oR7KE7GMNhYQ==", "requires": { - "domino": "1.0.30", - "tslib": "1.9.0", - "xhr2": "0.1.4" + "domino": "^1.0.29", + "tslib": "^1.7.1", + "xhr2": "^0.1.4" } }, "@angular/router": { @@ -240,7 +240,7 @@ "resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.5.tgz", "integrity": "sha512-I8U0iy59lz0dAxU4zxRQHagfUPWF+MikLNMirRL1lrA49PG+5K1tiuIQ6p+8fZFAJ5UXwNHyXqYuWqsKRiVBHQ==", "requires": { - "tslib": "1.9.0" + "tslib": "^1.7.1" } }, "@ngtools/json-schema": { @@ -255,14 +255,14 @@ "integrity": "sha512-D5QuaT9wENeM2j9g2qvW9Ls1tGqRz26Lp+jxwb2ZGFep7Ik1fFOX3ROLfgkxNlxZGVmbxJjsfrYUCyGlzj8gWg==", "dev": true, "requires": { - "chalk": "2.2.2", - "enhanced-resolve": "3.4.1", - "loader-utils": "1.1.0", - "magic-string": "0.22.4", - "semver": "5.5.0", - "source-map": "0.5.7", - "tree-kill": "1.2.0", - "webpack-sources": "1.1.0" + "chalk": "~2.2.0", + "enhanced-resolve": "^3.1.0", + "loader-utils": "^1.0.2", + "magic-string": "^0.22.3", + "semver": "^5.3.0", + "source-map": "^0.5.6", + "tree-kill": "^1.0.0", + "webpack-sources": "^1.1.0" } }, "@ngx-translate/core": { @@ -276,7 +276,7 @@ "integrity": "sha512-PHE5gk/ogPY/aN94dbbtauHMCq+/7w4Kdcl7tGmSS8mPKEI0wa6XJi//Wq/tHi55lb2fP58oEZU6n6w/wQascw==", "dev": true, "requires": { - "typescript": "2.6.2" + "typescript": "~2.6.2" }, "dependencies": { "typescript": { @@ -292,36 +292,36 @@ "resolved": "https://registry.npmjs.org/@types/d3/-/d3-4.12.0.tgz", "integrity": "sha512-F5lVj6c2G/WPbKFk4ZVxTS8F/6IRknWcheswQcycMjBh17iJ+bRfNUtn0yvtIHtRPQSanI9Dx2U8rSSA/I+ecQ==", "requires": { - "@types/d3-array": "1.2.1", - "@types/d3-axis": "1.0.9", - "@types/d3-brush": "1.0.7", - "@types/d3-chord": "1.0.6", - "@types/d3-collection": "1.0.5", - "@types/d3-color": "1.0.5", - "@types/d3-dispatch": "1.0.5", - "@types/d3-drag": "1.2.0", - "@types/d3-dsv": "1.0.31", - "@types/d3-ease": "1.0.7", - "@types/d3-force": "1.1.0", - "@types/d3-format": "1.2.1", - "@types/d3-geo": "1.9.4", - "@types/d3-hierarchy": "1.1.0", - "@types/d3-interpolate": "1.1.6", - "@types/d3-path": "1.0.6", - "@types/d3-polygon": "1.0.5", - "@types/d3-quadtree": "1.0.5", - "@types/d3-queue": "3.0.5", - "@types/d3-random": "1.1.0", - "@types/d3-request": "1.0.2", - "@types/d3-scale": "2.0.0", - "@types/d3-selection": "1.3.0", - "@types/d3-shape": "1.2.2", - "@types/d3-time": "1.0.7", - "@types/d3-time-format": "2.1.0", - "@types/d3-timer": "1.0.6", - "@types/d3-transition": "1.1.1", - "@types/d3-voronoi": "1.1.7", - "@types/d3-zoom": "1.7.0" + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-collection": "*", + "@types/d3-color": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-queue": "*", + "@types/d3-random": "*", + "@types/d3-request": "*", + "@types/d3-scale": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-voronoi": "*", + "@types/d3-zoom": "*" } }, "@types/d3-array": { @@ -334,7 +334,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-1.0.9.tgz", "integrity": "sha512-fNUnI2a0F3xiE/nGrTdDpZG4sdcRIB4X59p9jgY8O7RQiKrVqyb433YCCYSqVID4CVyoq5v3bSFliUEk0FOMsw==", "requires": { - "@types/d3-selection": "1.3.0" + "@types/d3-selection": "*" } }, "@types/d3-brush": { @@ -342,7 +342,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-1.0.7.tgz", "integrity": "sha1-BcMEQPTVN/0j+Xaw5sS6IjAB70U=", "requires": { - "@types/d3-selection": "1.3.0" + "@types/d3-selection": "*" } }, "@types/d3-chord": { @@ -370,7 +370,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-1.2.0.tgz", "integrity": "sha512-AePmm0sXj0Tpl0uQWvwmbAf1QR3yCy9aRhjJ9mRDDSZlHBdY0SCpUtdZC9uG9Q+pyHT/dEt1R2FT/sj+5k/bVA==", "requires": { - "@types/d3-selection": "1.3.0" + "@types/d3-selection": "*" } }, "@types/d3-dsv": { @@ -398,7 +398,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-1.9.4.tgz", "integrity": "sha512-DoigJorMGGIG9K4n980zz5g1XnvhDhNy7rk/0O8KCpFPpUZ9hyAgN0ZHXhbtIelxhJhMZxwMRe2soxx/Fhx4Hg==", "requires": { - "@types/geojson": "7946.0.1" + "@types/geojson": "*" } }, "@types/d3-hierarchy": { @@ -411,7 +411,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-1.1.6.tgz", "integrity": "sha1-ZAQbFcnAMsNI2hsiuqvFn6TRYTY=", "requires": { - "@types/d3-color": "1.0.5" + "@types/d3-color": "*" } }, "@types/d3-path": { @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-request/-/d3-request-1.0.2.tgz", "integrity": "sha1-2524FU9HgWWEcGxub3Ar5m8i9L4=", "requires": { - "@types/d3-dsv": "1.0.31" + "@types/d3-dsv": "*" } }, "@types/d3-scale": { @@ -452,7 +452,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-2.0.0.tgz", "integrity": "sha512-fFLSdP3p9qQQ3W6ouO3GBI4Qg94CSykTWVc61U8SI1V62dfBWtOigBj5voxDcOniwh9MjKzTHldMSsGJ5qAFpA==", "requires": { - "@types/d3-time": "1.0.7" + "@types/d3-time": "*" } }, "@types/d3-selection": { @@ -465,7 +465,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.2.2.tgz", "integrity": "sha512-Ydksrces8J5WP/NXhZ/CcDx/XZZ8b7MDX+u6WGQXwEWfmimJn9eYHiD7QR4BLe3zBiAOQmmiGAwRBKUDp5zb1g==", "requires": { - "@types/d3-path": "1.0.6" + "@types/d3-path": "*" } }, "@types/d3-time": { @@ -488,7 +488,7 @@ "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-1.1.1.tgz", "integrity": "sha512-GHTghl0YYB8gGgbyKxVLHyAp9Na0HqsX2U7M0u0lGw4IdfEaslooykweZ8fDHW13T+KZeZAuzhbmqBZVFO+6kg==", "requires": { - "@types/d3-selection": "1.3.0" + "@types/d3-selection": "*" } }, "@types/d3-voronoi": { @@ -501,8 +501,8 @@ "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-1.7.0.tgz", "integrity": "sha512-eIivt2ehMUXqS0guuVzRSMr5RGhO958g9EKxIJv3Z23suPnX4VQI9k1TC/bLuwKq0IWp9a1bEEcIy+PNJv9BtA==", "requires": { - "@types/d3-interpolate": "1.1.6", - "@types/d3-selection": "1.3.0" + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" } }, "@types/geojson": { @@ -522,7 +522,7 @@ "integrity": "sha512-hYDVmQZT5VA2kigd4H4bv7vl/OhlympwREUemqBdOqtrYTo5Ytm12a5W5/nGgGYdanGVxj0x/VhZ7J3hOg/YKg==", "dev": true, "requires": { - "@types/jasmine": "2.8.6" + "@types/jasmine": "*" } }, "@types/node": { @@ -561,8 +561,8 @@ "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", "dev": true, "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" } }, "abbrev": { @@ -577,7 +577,7 @@ "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", "dev": true, "requires": { - "mime-types": "2.1.17", + "mime-types": "~2.1.16", "negotiator": "0.6.1" } }, @@ -593,7 +593,7 @@ "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", "dev": true, "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.3" }, "dependencies": { "acorn": { @@ -610,8 +610,8 @@ "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==", "dev": true, "requires": { - "acorn": "5.4.1", - "xtend": "4.0.1" + "acorn": "^5.4.1", + "xtend": "^4.0.1" } }, "addressparser": { @@ -639,8 +639,8 @@ "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", "dev": true, "requires": { - "extend": "3.0.1", - "semver": "5.0.3" + "extend": "~3.0.0", + "semver": "~5.0.1" }, "dependencies": { "semver": { @@ -657,10 +657,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -675,9 +675,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "alphanum-sort": { @@ -699,11 +699,11 @@ "dev": true, "optional": true, "requires": { - "bitsyntax": "0.0.4", - "bluebird": "3.5.1", + "bitsyntax": "~0.0.4", + "bluebird": "^3.4.6", "buffer-more-ints": "0.0.2", - "readable-stream": "1.1.14", - "safe-buffer": "5.1.1" + "readable-stream": "1.x >=1.1.9", + "safe-buffer": "^5.0.1" }, "dependencies": { "isarray": { @@ -720,10 +720,10 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -763,7 +763,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" }, "dependencies": { "color-convert": { @@ -772,7 +772,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } } } @@ -783,8 +783,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" } }, "app-root-path": { @@ -799,7 +799,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "aproba": { @@ -809,13 +809,13 @@ "dev": true }, "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.4" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "argparse": { @@ -824,7 +824,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -833,7 +833,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -872,8 +872,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-map": { @@ -900,7 +900,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -946,9 +946,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -985,7 +985,7 @@ "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", "dev": true, "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.3" }, "dependencies": { "acorn": { @@ -1002,7 +1002,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } }, "async-each": { @@ -1042,12 +1042,12 @@ "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", "dev": true, "requires": { - "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000808", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.18", - "postcss-value-parser": "3.3.0" + "browserslist": "^2.11.3", + "caniuse-lite": "^1.0.30000805", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.17", + "postcss-value-parser": "^3.2.3" } }, "aws-sign2": { @@ -1078,9 +1078,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -1095,11 +1095,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -1116,14 +1116,14 @@ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -1140,7 +1140,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-runtime": { @@ -1149,8 +1149,8 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -1159,11 +1159,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -1172,15 +1172,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.5" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -1189,10 +1189,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -1219,13 +1219,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "isobject": { @@ -1267,7 +1267,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "better-assert": { @@ -1308,7 +1308,7 @@ "dev": true, "optional": true, "requires": { - "readable-stream": "2.0.6" + "readable-stream": "~2.0.5" }, "dependencies": { "process-nextick-args": { @@ -1325,12 +1325,12 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -1355,7 +1355,7 @@ "dev": true, "optional": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "blocking-proxy": { @@ -1364,7 +1364,7 @@ "integrity": "sha1-RikF4Nz76pcPQao3Ij3anAexkSs=", "dev": true, "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" }, "dependencies": { "minimist": { @@ -1394,15 +1394,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.2", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "~1.6.15" }, "dependencies": { "qs": { @@ -1419,12 +1419,12 @@ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.3", - "multicast-dns-service-types": "1.1.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, "boolbase": { @@ -1439,7 +1439,7 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "brace-expansion": { @@ -1448,7 +1448,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1458,9 +1458,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "brorand": { @@ -1475,12 +1475,12 @@ "integrity": "sha512-Q4Rvn7P6ObyWfc4stqLWHtG1MJ8vVtjgT24Zbu+8UTzxYuZouqZsmNRRTFVMY/Ux0eIKv1d+JWzsInTX+fdHPQ==", "dev": true, "requires": { - "JSONStream": "1.3.2", - "combine-source-map": "0.8.0", - "defined": "1.0.0", - "safe-buffer": "5.1.1", - "through2": "2.0.3", - "umd": "3.0.1" + "JSONStream": "^1.0.3", + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" } }, "browser-resolve": { @@ -1506,53 +1506,53 @@ "integrity": "sha512-gKfOsNQv/toWz+60nSPfYzuwSEdzvV2WdxrVPUbPD/qui44rAkB3t3muNtmmGYHqrG56FGwX9SUEQmzNLAeS7g==", "dev": true, "requires": { - "JSONStream": "1.3.2", - "assert": "1.4.1", - "browser-pack": "6.0.4", - "browser-resolve": "1.11.2", - "browserify-zlib": "0.2.0", - "buffer": "5.1.0", - "cached-path-relative": "1.0.1", - "concat-stream": "1.5.2", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "defined": "1.0.0", - "deps-sort": "2.0.0", - "domain-browser": "1.1.7", - "duplexer2": "0.1.4", - "events": "1.1.1", - "glob": "7.1.2", - "has": "1.0.1", - "htmlescape": "1.1.1", - "https-browserify": "1.0.0", - "inherits": "2.0.3", - "insert-module-globals": "7.0.1", - "labeled-stream-splicer": "2.0.0", - "module-deps": "4.1.1", - "os-browserify": "0.3.0", - "parents": "1.0.1", - "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "read-only-stream": "2.0.0", - "readable-stream": "2.3.4", - "resolve": "1.5.0", - "shasum": "1.0.2", - "shell-quote": "1.6.1", - "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.0.3", - "subarg": "1.0.0", - "syntax-error": "1.4.0", - "through2": "2.0.3", - "timers-browserify": "1.4.2", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4", - "xtend": "4.0.1" + "JSONStream": "^1.0.3", + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^1.11.0", + "browserify-zlib": "~0.2.0", + "buffer": "^5.0.2", + "cached-path-relative": "^1.0.0", + "concat-stream": "~1.5.1", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "~1.1.0", + "duplexer2": "~0.1.2", + "events": "~1.1.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "labeled-stream-splicer": "^2.0.0", + "module-deps": "^4.0.8", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^2.0.0", + "string_decoder": "~1.0.0", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "~0.0.0", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "~0.0.1", + "xtend": "^4.0.0" }, "dependencies": { "buffer": { @@ -1561,8 +1561,8 @@ "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", "dev": true, "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, "concat-stream": { @@ -1571,9 +1571,9 @@ "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" }, "dependencies": { "readable-stream": { @@ -1582,12 +1582,12 @@ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -1616,7 +1616,7 @@ "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", "dev": true, "requires": { - "process": "0.11.10" + "process": "~0.11.0" } } } @@ -1627,12 +1627,12 @@ "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "dev": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { @@ -1641,9 +1641,9 @@ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "dev": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { @@ -1652,9 +1652,9 @@ "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", "dev": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { @@ -1663,8 +1663,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -1673,13 +1673,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { @@ -1688,7 +1688,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "1.0.6" + "pako": "~1.0.5" } }, "browserslist": { @@ -1697,8 +1697,8 @@ "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" } }, "buffer": { @@ -1707,9 +1707,9 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "1.2.3", - "ieee754": "1.1.8", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-indexof": { @@ -1770,19 +1770,19 @@ "integrity": "sha512-dljb7dk1jqO5ogE+dRpoR9tpHYv5xz9vPSNunh1+0wRuNdYxmzp9WmsyokgW/DUF1FDRVA/TMsmxt027R8djbQ==", "dev": true, "requires": { - "bluebird": "3.5.1", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.1", - "mississippi": "1.3.1", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.2", - "ssri": "5.2.2", - "unique-filename": "1.1.0", - "y18n": "3.2.1" + "bluebird": "^3.5.0", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^1.3.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.1", + "ssri": "^5.0.0", + "unique-filename": "^1.1.0", + "y18n": "^3.2.1" } }, "cache-base": { @@ -1791,15 +1791,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "dependencies": { "isobject": { @@ -1828,8 +1828,8 @@ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, "camelcase": { @@ -1844,8 +1844,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "caniuse-api": { @@ -1854,10 +1854,10 @@ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000808", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" }, "dependencies": { "browserslist": { @@ -1866,8 +1866,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } } } @@ -1896,8 +1896,8 @@ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" }, "dependencies": { "lazy-cache": { @@ -1914,9 +1914,9 @@ "integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "chart.js": { @@ -1924,8 +1924,8 @@ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.1.tgz", "integrity": "sha512-pX1oQAY86MiuyZ2hY593Acbl4MLHKrBBhhmZ1YqSadzQbbsBE2rnd6WISoHjIsdf0WDeC0hbePYCz2ZxkV8L+g==", "requires": { - "chartjs-color": "2.2.0", - "moment": "2.18.1" + "chartjs-color": "~2.2.0", + "moment": "~2.18.0" } }, "chartjs-color": { @@ -1933,8 +1933,8 @@ "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.2.0.tgz", "integrity": "sha1-hKL7dVeH7YXDndbdjHsdiEKbrq4=", "requires": { - "chartjs-color-string": "0.5.0", - "color-convert": "0.5.3" + "chartjs-color-string": "^0.5.0", + "color-convert": "^0.5.3" } }, "chartjs-color-string": { @@ -1942,7 +1942,7 @@ "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz", "integrity": "sha512-amWNvCOXlOUYxZVDSa0YOab5K/lmEhbFNKI55PWc4mlv28BDzA7zaoQTGxSBgJMHIW+hGX8YUrvw/FH4LyhwSQ==", "requires": { - "color-name": "1.1.3" + "color-name": "^1.0.0" } }, "chokidar": { @@ -1951,15 +1951,15 @@ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" } }, "chownr": { @@ -1974,8 +1974,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "circular-dependency-plugin": { @@ -1996,7 +1996,7 @@ "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "dev": true, "requires": { - "chalk": "1.1.3" + "chalk": "^1.1.3" }, "dependencies": { "ansi-styles": { @@ -2011,11 +2011,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -2032,10 +2032,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -2044,7 +2044,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -2053,7 +2053,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2062,7 +2062,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2073,7 +2073,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -2082,7 +2082,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -2093,9 +2093,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "isobject": { @@ -2123,7 +2123,7 @@ "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "0.5.x" } }, "cliui": { @@ -2132,9 +2132,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "clone": { @@ -2149,10 +2149,10 @@ "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", "dev": true, "requires": { - "for-own": "1.0.0", - "is-plain-object": "2.0.4", - "kind-of": "3.2.2", - "shallow-clone": "0.1.2" + "for-own": "^1.0.0", + "is-plain-object": "^2.0.1", + "kind-of": "^3.2.2", + "shallow-clone": "^0.1.2" }, "dependencies": { "for-own": { @@ -2161,7 +2161,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } } } @@ -2178,7 +2178,7 @@ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "dev": true, "requires": { - "q": "1.5.1" + "q": "^1.1.2" } }, "code-point-at": { @@ -2193,12 +2193,12 @@ "integrity": "sha512-a3FCIAS3FNQIACvj7KA4iKvH3c6r7X6t6zXsrtV797QGYPQyCwD1fIEd9yV+ZDamijF3YaZ5fbB7QbUMOJGC/g==", "dev": true, "requires": { - "app-root-path": "2.0.1", - "css-selector-tokenizer": "0.7.0", - "cssauron": "1.4.0", - "semver-dsl": "1.0.1", - "source-map": "0.5.7", - "sprintf-js": "1.0.3" + "app-root-path": "^2.0.1", + "css-selector-tokenizer": "^0.7.0", + "cssauron": "^1.4.0", + "semver-dsl": "^1.0.1", + "source-map": "^0.5.6", + "sprintf-js": "^1.0.3" } }, "collection-visit": { @@ -2207,8 +2207,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color": { @@ -2217,9 +2217,9 @@ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "dev": true, "requires": { - "clone": "1.0.3", - "color-convert": "1.9.1", - "color-string": "0.3.0" + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" }, "dependencies": { "color-convert": { @@ -2228,7 +2228,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } } } @@ -2249,7 +2249,7 @@ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.0.0" } }, "colormin": { @@ -2258,9 +2258,9 @@ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "dev": true, "requires": { - "color": "0.11.4", + "color": "^0.11.0", "css-color-names": "0.0.4", - "has": "1.0.1" + "has": "^1.0.1" } }, "colors": { @@ -2275,7 +2275,7 @@ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.5.0" } }, "combine-source-map": { @@ -2284,10 +2284,10 @@ "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", "dev": true, "requires": { - "convert-source-map": "1.1.3", - "inline-source-map": "0.6.2", - "lodash.memoize": "3.0.4", - "source-map": "0.5.7" + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" }, "dependencies": { "convert-source-map": { @@ -2310,7 +2310,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -2324,7 +2324,7 @@ "integrity": "sha512-joj9ZlUOjCrwdbmiLqafeUSgkUM74NqhLsZtSqDmhKudaIY197zTrb8JMl31fMnCUuxwFT23eC/oWvrZzDLRJQ==", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.26.0" } }, "commondir": { @@ -2357,7 +2357,7 @@ "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", "dev": true, "requires": { - "mime-db": "1.30.0" + "mime-db": ">= 1.30.0 < 2" } }, "compression": { @@ -2366,13 +2366,13 @@ "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "bytes": "3.0.0", - "compressible": "2.0.12", + "compressible": "~2.0.11", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.1", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "concat-map": { @@ -2387,9 +2387,9 @@ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "typedarray": "0.0.6" + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "connect": { @@ -2400,7 +2400,7 @@ "requires": { "debug": "2.6.9", "finalhandler": "1.1.0", - "parseurl": "1.3.2", + "parseurl": "~1.3.2", "utils-merge": "1.0.1" } }, @@ -2416,7 +2416,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "console-control-strings": { @@ -2467,12 +2467,12 @@ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "aproba": "1.2.0", - "fs-write-stream-atomic": "1.0.10", - "iferr": "0.1.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, "copy-descriptor": { @@ -2487,14 +2487,14 @@ "integrity": "sha512-ojaz8MpS3zoLJT/JbYMusYM+dCEArhW24hGAUPYPydTCS+87NFh2TWr85sywG3So4Q4E68QoerqQ+Ns1g0fhDg==", "dev": true, "requires": { - "cacache": "10.0.2", - "find-cache-dir": "1.0.0", - "globby": "7.1.1", - "is-glob": "4.0.0", - "loader-utils": "0.2.17", - "minimatch": "3.0.4", - "p-limit": "1.2.0", - "serialize-javascript": "1.4.0" + "cacache": "^10.0.1", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^0.2.15", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" }, "dependencies": { "is-extglob": { @@ -2509,7 +2509,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "loader-utils": { @@ -2518,10 +2518,10 @@ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" } } } @@ -2537,7 +2537,7 @@ "integrity": "sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==", "dev": true, "requires": { - "chalk": "2.2.2" + "chalk": "^2.0.0" } }, "core-util-is": { @@ -2552,13 +2552,13 @@ "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", "dev": true, "requires": { - "is-directory": "0.3.1", - "js-yaml": "3.7.0", - "minimist": "1.2.0", - "object-assign": "4.1.1", - "os-homedir": "1.0.2", - "parse-json": "2.2.0", - "require-from-string": "1.2.1" + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" }, "dependencies": { "minimist": { @@ -2575,8 +2575,8 @@ "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "dev": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-hash": { @@ -2585,10 +2585,10 @@ "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", "dev": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" } }, "create-hmac": { @@ -2597,12 +2597,12 @@ "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", "dev": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "cross-spawn": { @@ -2612,8 +2612,8 @@ "dev": true, "optional": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "cryptiles": { @@ -2622,7 +2622,7 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "crypto-browserify": { @@ -2631,17 +2631,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.6", - "randomfill": "1.0.3" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "css-color-names": { @@ -2656,20 +2656,20 @@ "integrity": "sha512-r3dgelMm/mkPz5Y7m9SeiGE46i2VsEU/OYbez+1llfxtv8b2y5/b5StaeEvPK3S5tlNQI+tDW/xDIhKJoZgDtw==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.2.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": "^3.10.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.1.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -2684,11 +2684,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -2711,10 +2711,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -2723,7 +2723,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -2740,10 +2740,10 @@ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", + "boolbase": "~1.0.0", + "css-what": "2.1", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "~1.0.1" } }, "css-selector-tokenizer": { @@ -2752,9 +2752,9 @@ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "dev": true, "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" } }, "css-what": { @@ -2769,7 +2769,7 @@ "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", "dev": true, "requires": { - "through": "2.3.8" + "through": "X.X.X" } }, "cssesc": { @@ -2784,38 +2784,38 @@ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "dev": true, "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" }, "dependencies": { "ansi-styles": { @@ -2830,12 +2830,12 @@ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000808", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" } }, "browserslist": { @@ -2844,8 +2844,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } }, "chalk": { @@ -2854,11 +2854,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -2881,10 +2881,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -2893,7 +2893,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -2904,8 +2904,8 @@ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", "dev": true, "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" + "clap": "^1.0.9", + "source-map": "^0.5.3" } }, "cuint": { @@ -2920,7 +2920,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "custom-event": { @@ -2941,7 +2941,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.37" + "es5-ext": "^0.10.9" } }, "d3": { @@ -2986,13 +2986,13 @@ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.7.tgz", "integrity": "sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw==", "requires": { - "d3-array": "1.2.1", - "d3-collection": "1.0.4", - "d3-color": "1.0.3", - "d3-format": "1.2.2", - "d3-interpolate": "1.1.6", - "d3-time": "1.0.8", - "d3-time-format": "2.1.1" + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-color": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" } } } @@ -3012,11 +3012,11 @@ "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.0.4.tgz", "integrity": "sha1-AMLyOAGfJPbAoZSibUGhUw/+e8Q=", "requires": { - "d3-dispatch": "1.0.3", - "d3-drag": "1.2.1", - "d3-interpolate": "1.1.6", - "d3-selection": "1.3.0", - "d3-transition": "1.1.1" + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" } }, "d3-chord": { @@ -3024,8 +3024,8 @@ "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz", "integrity": "sha1-fexPC6iG9xP+ERxF92NBT290yiw=", "requires": { - "d3-array": "1.2.1", - "d3-path": "1.0.5" + "d3-array": "1", + "d3-path": "1" } }, "d3-collection": { @@ -3048,8 +3048,8 @@ "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.1.tgz", "integrity": "sha512-Cg8/K2rTtzxzrb0fmnYOUeZHvwa4PHzwXOLZZPwtEs2SKLLKLXeYwZKBB+DlOxUvFmarOnmt//cU4+3US2lyyQ==", "requires": { - "d3-dispatch": "1.0.3", - "d3-selection": "1.3.0" + "d3-dispatch": "1", + "d3-selection": "1" } }, "d3-dsv": { @@ -3057,9 +3057,9 @@ "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.8.tgz", "integrity": "sha512-IVCJpQ+YGe3qu6odkPQI0KPqfxkhbP/oM1XhhE/DFiYmcXKfCRub4KXyiuehV1d4drjWVXHUWx4gHqhdZb6n/A==", "requires": { - "commander": "2.14.1", - "iconv-lite": "0.4.19", - "rw": "1.3.3" + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" } }, "d3-ease": { @@ -3072,10 +3072,10 @@ "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.1.0.tgz", "integrity": "sha512-2HVQz3/VCQs0QeRNZTYb7GxoUCeb6bOzMp/cGcLa87awY9ZsPvXOGeZm0iaGBjXic6I1ysKwMn+g+5jSAdzwcg==", "requires": { - "d3-collection": "1.0.4", - "d3-dispatch": "1.0.3", - "d3-quadtree": "1.0.3", - "d3-timer": "1.0.7" + "d3-collection": "1", + "d3-dispatch": "1", + "d3-quadtree": "1", + "d3-timer": "1" } }, "d3-format": { @@ -3088,7 +3088,7 @@ "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.9.1.tgz", "integrity": "sha512-l9wL/cEQkyZQYXw3xbmLsH3eQ5ij+icNfo4r0GrLa5rOCZR/e/3am45IQ0FvQ5uMsv+77zBRunLc9ufTWSQYFA==", "requires": { - "d3-array": "1.2.1" + "d3-array": "1" } }, "d3-hierarchy": { @@ -3101,7 +3101,7 @@ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz", "integrity": "sha512-mOnv5a+pZzkNIHtw/V6I+w9Lqm9L5bG3OTXPM5A+QO0yyVMQ4W1uZhR+VOJmazaOZXri2ppbiZ5BUNWT0pFM9A==", "requires": { - "d3-color": "1.0.3" + "d3-color": "1" } }, "d3-path": { @@ -3134,10 +3134,10 @@ "resolved": "https://registry.npmjs.org/d3-request/-/d3-request-1.0.6.tgz", "integrity": "sha512-FJj8ySY6GYuAJHZMaCQ83xEYE4KbkPkmxZ3Hu6zA1xxG2GD+z6P+Lyp+zjdsHf0xEbp2xcluDI50rCS855EQ6w==", "requires": { - "d3-collection": "1.0.4", - "d3-dispatch": "1.0.3", - "d3-dsv": "1.0.8", - "xmlhttprequest": "1.8.0" + "d3-collection": "1", + "d3-dispatch": "1", + "d3-dsv": "1", + "xmlhttprequest": "1" } }, "d3-scale": { @@ -3145,12 +3145,12 @@ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.0.0.tgz", "integrity": "sha512-Sa2Ny6CoJT7x6dozxPnvUQT61epGWsgppFvnNl8eJEzfJBG0iDBBTJAtz2JKem7Mb+NevnaZiDiIDHsuWkv6vg==", "requires": { - "d3-array": "1.2.1", - "d3-collection": "1.0.4", - "d3-format": "1.2.2", - "d3-interpolate": "1.1.6", - "d3-time": "1.0.8", - "d3-time-format": "2.1.1" + "d3-array": "^1.2.0", + "d3-collection": "1", + "d3-format": "1", + "d3-interpolate": "1", + "d3-time": "1", + "d3-time-format": "2" } }, "d3-selection": { @@ -3163,7 +3163,7 @@ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.2.0.tgz", "integrity": "sha1-RdAVOPBkuv0F6j1tLLdI/YxB93c=", "requires": { - "d3-path": "1.0.5" + "d3-path": "1" } }, "d3-time": { @@ -3176,7 +3176,7 @@ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.1.tgz", "integrity": "sha512-8kAkymq2WMfzW7e+s/IUNAtN/y3gZXGRrdGfo6R8NKPAA85UBTxZg5E61bR6nLwjPjj4d3zywSQe1CkYLPFyrw==", "requires": { - "d3-time": "1.0.8" + "d3-time": "1" } }, "d3-timer": { @@ -3189,12 +3189,12 @@ "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.1.1.tgz", "integrity": "sha512-xeg8oggyQ+y5eb4J13iDgKIjUcEfIOZs2BqV/eEmXm2twx80wTzJ4tB4vaZ5BKfz7XsI/DFmQL5me6O27/5ykQ==", "requires": { - "d3-color": "1.0.3", - "d3-dispatch": "1.0.3", - "d3-ease": "1.0.3", - "d3-interpolate": "1.1.6", - "d3-selection": "1.3.0", - "d3-timer": "1.0.7" + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" } }, "d3-voronoi": { @@ -3207,11 +3207,11 @@ "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-1.7.1.tgz", "integrity": "sha512-sZHQ55DGq5BZBFGnRshUT8tm2sfhPHFnOlmPbbwTkAoPeVdRTkB4Xsf9GCY0TSHrTD8PeJPZGmP/TpGicwJDJQ==", "requires": { - "d3-dispatch": "1.0.3", - "d3-drag": "1.2.1", - "d3-interpolate": "1.1.6", - "d3-selection": "1.3.0", - "d3-transition": "1.1.1" + "d3-dispatch": "1", + "d3-drag": "1", + "d3-interpolate": "1", + "d3-selection": "1", + "d3-transition": "1" } }, "dashdash": { @@ -3220,7 +3220,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -3295,7 +3295,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-properties": { @@ -3304,8 +3304,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "define-property": { @@ -3314,7 +3314,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "defined": { @@ -3330,9 +3330,9 @@ "dev": true, "optional": true, "requires": { - "ast-types": "0.10.2", - "escodegen": "1.9.0", - "esprima": "3.1.3" + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" }, "dependencies": { "esprima": { @@ -3350,12 +3350,12 @@ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" }, "dependencies": { "globby": { @@ -3364,11 +3364,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -3411,10 +3411,10 @@ "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", "dev": true, "requires": { - "JSONStream": "1.3.2", - "shasum": "1.0.2", - "subarg": "1.0.0", - "through2": "2.0.3" + "JSONStream": "^1.0.3", + "shasum": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" } }, "des.js": { @@ -3423,8 +3423,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -3439,7 +3439,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-node": { @@ -3454,8 +3454,8 @@ "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "dev": true, "requires": { - "acorn": "5.4.1", - "defined": "1.0.0" + "acorn": "^5.2.1", + "defined": "^1.0.0" } }, "di": { @@ -3476,9 +3476,9 @@ "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "dev": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "dir-glob": { @@ -3487,8 +3487,8 @@ "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", "dev": true, "requires": { - "arrify": "1.0.1", - "path-type": "3.0.0" + "arrify": "^1.0.1", + "path-type": "^3.0.0" } }, "dns-equal": { @@ -3503,8 +3503,8 @@ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.1" + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, "dns-txt": { @@ -3513,7 +3513,7 @@ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { - "buffer-indexof": "1.1.1" + "buffer-indexof": "^1.0.0" } }, "dom-converter": { @@ -3522,7 +3522,7 @@ "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", "dev": true, "requires": { - "utila": "0.3.3" + "utila": "~0.3" }, "dependencies": { "utila": { @@ -3539,10 +3539,10 @@ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, "requires": { - "custom-event": "1.0.1", - "ent": "2.2.0", - "extend": "3.0.1", - "void-elements": "2.0.1" + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, "dom-serializer": { @@ -3551,8 +3551,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -3581,7 +3581,7 @@ "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domino": { @@ -3595,8 +3595,8 @@ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "double-ended-queue": { @@ -3612,7 +3612,7 @@ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, "requires": { - "readable-stream": "2.3.4" + "readable-stream": "^2.0.2" } }, "duplexify": { @@ -3621,10 +3621,10 @@ "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, "ecc-jsbn": { @@ -3634,7 +3634,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -3661,13 +3661,13 @@ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "ember-cli-string-utils": { @@ -3694,7 +3694,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "engine.io": { @@ -3706,10 +3706,10 @@ "accepts": "1.3.3", "base64id": "1.0.0", "cookie": "0.3.1", - "debug": "2.6.9", - "engine.io-parser": "2.1.2", - "uws": "0.14.5", - "ws": "3.3.3" + "debug": "~2.6.9", + "engine.io-parser": "~2.1.0", + "uws": "~0.14.4", + "ws": "~3.3.1" }, "dependencies": { "accepts": { @@ -3718,7 +3718,7 @@ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", "dev": true, "requires": { - "mime-types": "2.1.17", + "mime-types": "~2.1.11", "negotiator": "0.6.1" } } @@ -3732,14 +3732,14 @@ "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", - "debug": "2.6.9", - "engine.io-parser": "2.1.2", + "debug": "~2.6.9", + "engine.io-parser": "~2.1.1", "has-cors": "1.1.0", "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "3.3.3", - "xmlhttprequest-ssl": "1.5.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" } }, @@ -3750,10 +3750,10 @@ "dev": true, "requires": { "after": "0.8.2", - "arraybuffer.slice": "0.0.7", + "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", "blob": "0.0.4", - "has-binary2": "1.0.2" + "has-binary2": "~1.0.2" } }, "enhanced-resolve": { @@ -3762,10 +3762,10 @@ "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" } }, "ent": { @@ -3786,7 +3786,7 @@ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "dev": true, "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error-ex": { @@ -3795,7 +3795,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -3804,11 +3804,11 @@ "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -3817,9 +3817,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -3828,8 +3828,8 @@ "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-iterator": "~2.0.1", + "es6-symbol": "~3.1.1" } }, "es6-iterator": { @@ -3838,9 +3838,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -3849,12 +3849,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -3863,11 +3863,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -3876,8 +3876,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -3886,10 +3886,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escape-html": { @@ -3911,11 +3911,11 @@ "dev": true, "optional": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.5.6" }, "dependencies": { "esprima": { @@ -3933,10 +3933,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "esprima": { @@ -3951,8 +3951,8 @@ "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" } }, "estraverse": { @@ -3979,8 +3979,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "eventemitter3": { @@ -4001,7 +4001,7 @@ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "dev": true, "requires": { - "original": "1.0.0" + "original": ">=0.0.5" } }, "evp_bytestokey": { @@ -4010,8 +4010,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "execa": { @@ -4020,13 +4020,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -4035,9 +4035,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -4054,9 +4054,9 @@ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", "dev": true, "requires": { - "array-slice": "0.2.3", - "array-unique": "0.2.1", - "braces": "0.1.5" + "array-slice": "^0.2.3", + "array-unique": "^0.2.1", + "braces": "^0.1.2" }, "dependencies": { "braces": { @@ -4065,7 +4065,7 @@ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", "dev": true, "requires": { - "expand-range": "0.1.1" + "expand-range": "^0.1.0" } }, "expand-range": { @@ -4074,8 +4074,8 @@ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", "dev": true, "requires": { - "is-number": "0.1.1", - "repeat-string": "0.2.2" + "is-number": "^0.1.1", + "repeat-string": "^0.2.2" } }, "is-number": { @@ -4098,7 +4098,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -4107,7 +4107,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "exports-loader": { @@ -4116,8 +4116,8 @@ "integrity": "sha1-1w/GEhl1s1/BKDDPUnVL4nQPyIY=", "dev": true, "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.7" + "loader-utils": "^1.0.2", + "source-map": "0.5.x" } }, "express": { @@ -4126,36 +4126,36 @@ "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.0", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "~2.0.2", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.1", "serve-static": "1.13.1", "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", + "statuses": "~1.3.1", + "type-is": "~1.6.15", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "array-flatten": { @@ -4184,7 +4184,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "extglob": { @@ -4193,7 +4193,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extract-text-webpack-plugin": { @@ -4202,10 +4202,10 @@ "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "dev": true, "requires": { - "async": "2.6.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.1.0" + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" } }, "extsprintf": { @@ -4245,7 +4245,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "file-loader": { @@ -4254,8 +4254,8 @@ "integrity": "sha512-873ztuL+/hfvXbLDJ262PGO6XjERnybJu2gW1/5j8HUfxSiFJI9Hj/DhZ50ZGRUxBvuNiazb/cM2rh9pqrxP6Q==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0" } }, "file-uri-to-path": { @@ -4277,8 +4277,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "fill-range": { @@ -4287,11 +4287,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "finalhandler": { @@ -4301,12 +4301,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-cache-dir": { @@ -4315,9 +4315,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.1.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -4326,7 +4326,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flatten": { @@ -4341,8 +4341,8 @@ "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" } }, "follow-redirects": { @@ -4352,7 +4352,7 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.9" + "debug": "^2.2.0" } }, "for-in": { @@ -4367,7 +4367,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -4388,9 +4388,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "forwarded": { @@ -4405,7 +4405,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fresh": { @@ -4420,8 +4420,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, "fs-access": { @@ -4430,7 +4430,7 @@ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=", "dev": true, "requires": { - "null-check": "1.0.0" + "null-check": "^1.0.0" } }, "fs-extra": { @@ -4439,9 +4439,9 @@ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs-write-stream-atomic": { @@ -4450,10 +4450,10 @@ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "2.3.4" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, "fs.realpath": { @@ -4463,39 +4463,29 @@ "dev": true }, "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "dev": true, "optional": true, "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { - "version": "1.1.0", + "version": "1.1.1", "bundled": true, "dev": true, "optional": true }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, "ansi-regex": { "version": "2.1.1", "bundled": true, "dev": true }, "aproba": { - "version": "1.1.1", + "version": "1.2.0", "bundled": true, "dev": true, "optional": true @@ -4506,92 +4496,26 @@ "dev": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, "balanced-match": { - "version": "0.4.2", + "version": "1.0.0", "bundled": true, "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, "brace-expansion": { - "version": "1.1.7", + "version": "1.1.11", "bundled": true, "dev": true, "requires": { - "balanced-match": "0.4.2", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", + "chownr": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true @@ -4601,14 +4525,6 @@ "bundled": true, "dev": true }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, "concat-map": { "version": "0.0.1", "bundled": true, @@ -4622,35 +4538,11 @@ "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "debug": { - "version": "2.6.8", + "version": "2.6.9", "bundled": true, "dev": true, "optional": true, @@ -4659,16 +4551,11 @@ } }, "deep-extend": { - "version": "0.4.2", + "version": "0.5.1", "bundled": true, "dev": true, "optional": true }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "delegates": { "version": "1.0.0", "bundled": true, @@ -4676,74 +4563,25 @@ "optional": true }, "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", + "version": "1.0.3", "bundled": true, "dev": true, "optional": true }, - "form-data": { - "version": "2.1.4", + "fs-minipass": { + "version": "1.2.5", "bundled": true, "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } + "optional": true }, "gauge": { "version": "2.7.4", @@ -4751,65 +4589,28 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { "version": "7.1.2", "bundled": true, "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, "optional": true, "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -4818,40 +4619,32 @@ "dev": true, "optional": true }, - "hawk": { - "version": "3.1.3", + "iconv-lite": { + "version": "0.4.21", "bundled": true, "dev": true, + "optional": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "safer-buffer": "^2.1.0" } }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", + "ignore-walk": { + "version": "3.0.1", "bundled": true, "dev": true, "optional": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "dev": true, + "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4860,7 +4653,7 @@ "dev": true }, "ini": { - "version": "1.3.4", + "version": "1.3.5", "bundled": true, "dev": true, "optional": true @@ -4870,167 +4663,125 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, "isarray": { "version": "1.0.0", "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, "dev": true, "optional": true }, - "jodid25519": { - "version": "1.0.2", + "minimatch": { + "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { - "jsbn": "0.1.1" + "brace-expansion": "^1.1.7" } }, - "jsbn": { - "version": "0.1.1", + "minimist": { + "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, - "json-schema": { - "version": "0.2.3", + "minipass": { + "version": "2.2.4", "bundled": true, "dev": true, - "optional": true + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } }, - "json-stable-stringify": { - "version": "1.0.1", + "minizlib": { + "version": "1.1.0", "bundled": true, "dev": true, "optional": true, "requires": { - "jsonify": "0.0.0" + "minipass": "^2.2.1" } }, - "json-stringify-safe": { - "version": "5.0.1", + "mkdirp": { + "version": "0.5.1", "bundled": true, "dev": true, - "optional": true + "requires": { + "minimist": "0.0.8" + } }, - "jsonify": { - "version": "0.0.0", + "ms": { + "version": "2.0.0", "bundled": true, "dev": true, "optional": true }, - "jsprim": { - "version": "1.4.0", + "needle": { + "version": "2.2.0", "bundled": true, "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", + "node-pre-gyp": { + "version": "0.10.0", "bundled": true, "dev": true, + "optional": true, "requires": { - "brace-expansion": "1.1.7" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", + "nopt": { + "version": "4.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { - "minimist": "0.0.8" + "abbrev": "1", + "osenv": "^0.1.4" } }, - "ms": { - "version": "2.0.0", + "npm-bundled": { + "version": "1.0.3", "bundled": true, "dev": true, "optional": true }, - "node-pre-gyp": { - "version": "0.6.39", + "npm-packlist": { + "version": "1.1.10", "bundled": true, "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" } }, "npmlog": { - "version": "4.1.0", + "version": "4.1.2", "bundled": true, "dev": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -5038,12 +4789,6 @@ "bundled": true, "dev": true }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, "object-assign": { "version": "4.1.1", "bundled": true, @@ -5055,7 +4800,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -5071,53 +4816,37 @@ "optional": true }, "osenv": { - "version": "0.1.4", + "version": "0.1.5", "bundled": true, "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", + "version": "2.0.0", "bundled": true, "dev": true, "optional": true }, "rc": { - "version": "1.2.1", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -5129,143 +4858,89 @@ } }, "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", + "version": "2.3.6", "bundled": true, "dev": true, "optional": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { - "version": "2.6.1", + "version": "2.6.2", "bundled": true, "dev": true, + "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { - "version": "5.0.1", + "version": "5.1.1", "bundled": true, "dev": true }, - "semver": { - "version": "5.3.0", + "safer-buffer": { + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, - "set-blocking": { - "version": "2.0.0", + "sax": { + "version": "1.2.4", "bundled": true, "dev": true, "optional": true }, - "signal-exit": { - "version": "3.0.2", + "semver": { + "version": "5.5.0", "bundled": true, "dev": true, "optional": true }, - "sntp": { - "version": "1.0.9", + "set-blocking": { + "version": "2.0.0", "bundled": true, "dev": true, - "requires": { - "hoek": "2.16.3" - } + "optional": true }, - "sshpk": { - "version": "1.13.0", + "signal-exit": { + "version": "3.0.2", "bundled": true, "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "dev": true, + "optional": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "~5.1.0" } }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, "strip-ansi": { "version": "3.0.1", "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -5275,94 +4950,44 @@ "optional": true }, "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", + "version": "4.4.1", "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "5.0.1" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, "dev": true, "optional": true }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, "wide-align": { "version": "1.1.2", "bundled": true, "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { "version": "1.0.2", "bundled": true, "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true } } }, @@ -5372,10 +4997,10 @@ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" } }, "ftp": { @@ -5385,7 +5010,7 @@ "dev": true, "optional": true, "requires": { - "readable-stream": "1.1.14", + "readable-stream": "1.1.x", "xregexp": "2.0.0" }, "dependencies": { @@ -5403,10 +5028,10 @@ "dev": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -5430,24 +5055,24 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "optional": true, "requires": { - "globule": "1.2.0" + "globule": "^1.0.0" } }, "generate-function": { @@ -5464,7 +5089,7 @@ "dev": true, "optional": true, "requires": { - "is-property": "1.0.2" + "is-property": "^1.0.0" } }, "get-caller-file": { @@ -5492,12 +5117,12 @@ "dev": true, "optional": true, "requires": { - "data-uri-to-buffer": "1.2.0", - "debug": "2.6.9", - "extend": "3.0.1", - "file-uri-to-path": "1.0.0", - "ftp": "0.3.10", - "readable-stream": "2.3.4" + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "3", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" } }, "get-value": { @@ -5512,7 +5137,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -5529,12 +5154,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -5543,8 +5168,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -5553,7 +5178,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globals": { @@ -5568,24 +5193,33 @@ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", "dev": true, "requires": { - "array-union": "1.0.2", - "dir-glob": "2.0.0", - "glob": "7.1.2", - "ignore": "3.3.7", - "pify": "3.0.0", - "slash": "1.0.0" + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" } }, "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "optional": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.5", - "minimatch": "3.0.4" + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "dependencies": { + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true, + "optional": true + } } }, "graceful-fs": { @@ -5611,10 +5245,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -5637,8 +5271,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -5648,7 +5282,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } }, "uglify-js": { @@ -5658,9 +5292,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "source-map": { @@ -5679,9 +5313,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -5699,8 +5333,8 @@ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" }, "dependencies": { "ajv": { @@ -5709,8 +5343,8 @@ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } } } @@ -5721,7 +5355,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -5730,7 +5364,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-binary2": { @@ -5774,9 +5408,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -5793,8 +5427,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -5803,7 +5437,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5812,7 +5446,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5823,7 +5457,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5834,7 +5468,7 @@ "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "^2.0.1" } }, "hash.js": { @@ -5843,8 +5477,8 @@ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, "hawk": { @@ -5853,10 +5487,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "he": { @@ -5872,8 +5506,8 @@ "dev": true, "optional": true, "requires": { - "lodash": "4.17.5", - "request": "2.81.0" + "lodash": "^4.0.0", + "request": "^2.0.0" } }, "hmac-drbg": { @@ -5882,9 +5516,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { @@ -5899,7 +5533,7 @@ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "1.0.0" + "parse-passwd": "^1.0.0" } }, "hosted-git-info": { @@ -5914,10 +5548,10 @@ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { - "inherits": "2.0.3", - "obuf": "1.1.1", - "readable-stream": "2.3.4", - "wbuf": "1.7.2" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, "html-comment-regex": { @@ -5938,14 +5572,14 @@ "integrity": "sha512-EZqO91XJwkj8BeLx9C12sKB/AHoTANaZax39vEOP9f/X/9jgJ3r1O2+neabuHqpz5kJO71TapP9JrtCY39su1A==", "dev": true, "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.9", - "commander": "2.14.1", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.3.11" + "camel-case": "3.0.x", + "clean-css": "4.1.x", + "commander": "2.14.x", + "he": "1.1.x", + "ncname": "1.0.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.3.x" } }, "html-webpack-plugin": { @@ -5954,12 +5588,12 @@ "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", "dev": true, "requires": { - "bluebird": "3.5.1", - "html-minifier": "3.5.9", - "loader-utils": "0.2.17", - "lodash": "4.17.5", - "pretty-error": "2.1.1", - "toposort": "1.0.6" + "bluebird": "^3.4.7", + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "toposort": "^1.0.0" }, "dependencies": { "loader-utils": { @@ -5968,10 +5602,10 @@ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" } } } @@ -5988,10 +5622,10 @@ "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" + "domelementtype": "1", + "domhandler": "2.1", + "domutils": "1.1", + "readable-stream": "1.0" }, "dependencies": { "domutils": { @@ -6000,7 +5634,7 @@ "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "isarray": { @@ -6015,10 +5649,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -6044,7 +5678,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.3.1" + "statuses": ">= 1.3.1 < 2" }, "dependencies": { "depd": { @@ -6073,8 +5707,8 @@ "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", "dev": true, "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" } }, "http-proxy-agent": { @@ -6083,9 +5717,9 @@ "integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=", "dev": true, "requires": { - "agent-base": "2.1.1", - "debug": "2.6.9", - "extend": "3.0.1" + "agent-base": "2", + "debug": "2", + "extend": "3" } }, "http-proxy-middleware": { @@ -6094,10 +5728,10 @@ "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", "dev": true, "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.5", - "micromatch": "2.3.11" + "http-proxy": "^1.16.2", + "is-glob": "^3.1.0", + "lodash": "^4.17.2", + "micromatch": "^2.3.11" }, "dependencies": { "is-extglob": { @@ -6112,7 +5746,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -6123,9 +5757,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "httpntlm": { @@ -6134,8 +5768,8 @@ "integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=", "dev": true, "requires": { - "httpreq": "0.4.24", - "underscore": "1.7.0" + "httpreq": ">=0.4.22", + "underscore": "~1.7.0" } }, "httpreq": { @@ -6156,9 +5790,9 @@ "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", "dev": true, "requires": { - "agent-base": "2.1.1", - "debug": "2.6.9", - "extend": "3.0.1" + "agent-base": "2", + "debug": "2", + "extend": "3" } }, "iconv-lite": { @@ -6178,7 +5812,7 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "6.0.18" + "postcss": "^6.0.1" } }, "ieee754": { @@ -6212,8 +5846,8 @@ "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -6235,7 +5869,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "indexes-of": { @@ -6263,8 +5897,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -6285,7 +5919,7 @@ "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "~0.5.3" } }, "insert-module-globals": { @@ -6294,14 +5928,14 @@ "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", "dev": true, "requires": { - "JSONStream": "1.3.2", - "combine-source-map": "0.7.2", - "concat-stream": "1.5.2", - "is-buffer": "1.1.6", - "lexical-scope": "1.2.0", - "process": "0.11.10", - "through2": "2.0.3", - "xtend": "4.0.1" + "JSONStream": "^1.0.3", + "combine-source-map": "~0.7.1", + "concat-stream": "~1.5.1", + "is-buffer": "^1.1.0", + "lexical-scope": "^1.2.0", + "process": "~0.11.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" }, "dependencies": { "combine-source-map": { @@ -6310,10 +5944,10 @@ "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", "dev": true, "requires": { - "convert-source-map": "1.1.3", - "inline-source-map": "0.6.2", - "lodash.memoize": "3.0.4", - "source-map": "0.5.7" + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" } }, "concat-stream": { @@ -6322,9 +5956,9 @@ "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" } }, "convert-source-map": { @@ -6351,12 +5985,12 @@ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -6373,7 +6007,7 @@ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "dev": true, "requires": { - "meow": "3.7.0" + "meow": "^3.3.0" } }, "interpret": { @@ -6393,7 +6027,7 @@ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -6426,7 +6060,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" }, "dependencies": { "kind-of": { @@ -6449,7 +6083,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -6464,7 +6098,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -6479,7 +6113,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" }, "dependencies": { "kind-of": { @@ -6502,9 +6136,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { @@ -6533,7 +6167,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -6554,7 +6188,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6563,7 +6197,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -6572,7 +6206,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-my-ip-valid": { @@ -6589,11 +6223,11 @@ "dev": true, "optional": true, "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" } }, "is-number": { @@ -6602,7 +6236,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-odd": { @@ -6611,7 +6245,7 @@ "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=", "dev": true, "requires": { - "is-number": "3.0.0" + "is-number": "^3.0.0" }, "dependencies": { "is-number": { @@ -6620,7 +6254,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -6637,7 +6271,7 @@ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6646,7 +6280,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -6661,7 +6295,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -6697,7 +6331,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.1" + "has": "^1.0.1" } }, "is-stream": { @@ -6712,7 +6346,7 @@ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "dev": true, "requires": { - "html-comment-regex": "1.1.1" + "html-comment-regex": "^1.1.0" } }, "is-symbol": { @@ -6778,17 +6412,17 @@ "integrity": "sha512-kH5YRdqdbs5hiH4/Rr1Q0cSAGgjh3jTtg8vu9NLebBAoK3adVO4jk81J+TYOkTr2+Q4NLeb1ACvmEt65iG/Vbw==", "dev": true, "requires": { - "async": "2.6.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.2", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.2", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.1.4", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.1.2", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.2", + "istanbul-lib-report": "^1.1.3", + "istanbul-lib-source-maps": "^1.2.3", + "istanbul-reports": "^1.1.4", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" } }, "istanbul-instrumenter-loader": { @@ -6797,10 +6431,10 @@ "integrity": "sha512-alLSEFX06ApU75sm5oWcaVNaiss/bgMRiWTct3g0P0ZZTKjR+6QiCcuVOKDI1kWJgwHEnIXsv/dWm783kPpmtw==", "dev": true, "requires": { - "convert-source-map": "1.5.1", - "istanbul-lib-instrument": "1.9.2", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "convert-source-map": "^1.5.0", + "istanbul-lib-instrument": "^1.7.3", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0" } }, "istanbul-lib-coverage": { @@ -6815,7 +6449,7 @@ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -6824,13 +6458,13 @@ "integrity": "sha512-nz8t4HQ2206a/3AXi+NHFWEa844DMpPsgbcUteJbt1j8LX1xg56H9rOMnhvcvVvPbW60qAIyrSk44H8ZDqaSSA==", "dev": true, "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.2", - "semver": "5.5.0" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.2", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -6839,10 +6473,10 @@ "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.2", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -6857,7 +6491,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -6868,11 +6502,11 @@ "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.2", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.2", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -6892,7 +6526,7 @@ "integrity": "sha512-DfSTVOTkuO+kRmbO8Gk650Wqm1WRGr6lrdi2EwDK1vxpS71vdlLd613EpzOKdIFioB5f/scJTjeWBnvd1FWejg==", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "jasmine": { @@ -6901,9 +6535,9 @@ "integrity": "sha1-jKctEC5jm4Z8ZImFbg4YqceqQrc=", "dev": true, "requires": { - "exit": "0.1.2", - "glob": "7.1.2", - "jasmine-core": "2.99.1" + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.99.0" }, "dependencies": { "jasmine-core": { @@ -6953,8 +6587,8 @@ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "2.7.3" + "argparse": "^1.0.7", + "esprima": "^2.6.0" } }, "jsbn": { @@ -6994,7 +6628,7 @@ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -7021,7 +6655,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -7069,34 +6703,34 @@ "integrity": "sha512-K9Kjp8CldLyL9ANSUctDyxC7zH3hpqXj/K09qVf06K3T/kXaHtFZ5tQciK7OzQu68FLvI89Na510kqQ2LCbpIw==", "dev": true, "requires": { - "bluebird": "3.5.1", - "body-parser": "1.18.2", - "browserify": "14.5.0", - "chokidar": "1.7.0", - "colors": "1.1.2", - "combine-lists": "1.0.1", - "connect": "3.6.6", - "core-js": "2.5.3", - "di": "0.0.1", - "dom-serialize": "2.2.1", - "expand-braces": "0.1.2", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "http-proxy": "1.16.2", - "isbinaryfile": "3.0.2", - "lodash": "4.17.5", - "log4js": "2.5.3", - "mime": "1.6.0", - "minimatch": "3.0.4", - "optimist": "0.6.1", - "qjobs": "1.1.5", - "range-parser": "1.2.0", - "rimraf": "2.6.2", - "safe-buffer": "5.1.1", + "bluebird": "^3.3.0", + "body-parser": "^1.16.1", + "browserify": "^14.5.0", + "chokidar": "^1.4.1", + "colors": "^1.1.0", + "combine-lists": "^1.0.0", + "connect": "^3.6.0", + "core-js": "^2.2.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.0", + "expand-braces": "^0.1.1", + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "http-proxy": "^1.13.0", + "isbinaryfile": "^3.0.0", + "lodash": "^4.17.4", + "log4js": "^2.3.9", + "mime": "^1.3.4", + "minimatch": "^3.0.2", + "optimist": "^0.6.1", + "qjobs": "^1.1.4", + "range-parser": "^1.2.0", + "rimraf": "^2.6.0", + "safe-buffer": "^5.0.1", "socket.io": "2.0.4", - "source-map": "0.6.1", + "source-map": "^0.6.1", "tmp": "0.0.33", - "useragent": "2.3.0" + "useragent": "^2.1.12" }, "dependencies": { "source-map": { @@ -7113,8 +6747,8 @@ "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", "dev": true, "requires": { - "fs-access": "1.0.1", - "which": "1.3.0" + "fs-access": "^1.0.0", + "which": "^1.2.1" } }, "karma-coverage-istanbul-reporter": { @@ -7123,8 +6757,8 @@ "integrity": "sha512-5og0toMjgLvsL9+TzGH4Rk1D0nr7pMIRJBg29xP4mHMKy/1KUJ12UzoqI6mBNCRFa4nDvZS2MRrN7p+RkZNWxQ==", "dev": true, "requires": { - "istanbul-api": "1.2.2", - "minimatch": "3.0.4" + "istanbul-api": "^1.1.14", + "minimatch": "^3.0.4" } }, "karma-jasmine": { @@ -7139,7 +6773,7 @@ "integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=", "dev": true, "requires": { - "karma-jasmine": "1.1.1" + "karma-jasmine": "^1.0.2" } }, "karma-source-map-support": { @@ -7148,7 +6782,7 @@ "integrity": "sha1-G/gee7SwiWJ6s1LsQXnhF8QGpUA=", "dev": true, "requires": { - "source-map-support": "0.4.18" + "source-map-support": "^0.4.1" } }, "killable": { @@ -7163,7 +6797,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "labeled-stream-splicer": { @@ -7172,9 +6806,9 @@ "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=", "dev": true, "requires": { - "inherits": "2.0.3", - "isarray": "0.0.1", - "stream-splicer": "2.0.0" + "inherits": "^2.0.1", + "isarray": "~0.0.1", + "stream-splicer": "^2.0.0" }, "dependencies": { "isarray": { @@ -7197,7 +6831,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "less": { @@ -7206,14 +6840,14 @@ "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", "dev": true, "requires": { - "errno": "0.1.7", - "graceful-fs": "4.1.11", - "image-size": "0.5.5", - "mime": "1.6.0", - "mkdirp": "0.5.1", - "promise": "7.3.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", "request": "2.81.0", - "source-map": "0.5.7" + "source-map": "^0.5.3" } }, "less-loader": { @@ -7222,9 +6856,9 @@ "integrity": "sha1-rhVadAbKxqzSk9eFWH/P8PR4xN0=", "dev": true, "requires": { - "clone": "2.1.1", - "loader-utils": "1.1.0", - "pify": "2.3.0" + "clone": "^2.1.1", + "loader-utils": "^1.1.0", + "pify": "^2.3.0" }, "dependencies": { "clone": { @@ -7248,8 +6882,8 @@ "dev": true, "optional": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "lexical-scope": { @@ -7258,7 +6892,7 @@ "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=", "dev": true, "requires": { - "astw": "2.2.0" + "astw": "^2.0.0" } }, "libbase64": { @@ -7298,7 +6932,7 @@ "integrity": "sha512-TjKOyiC0exqd4Idy/4M8/DETR22dXBZks387DuS5LbslxHiMRXGx/Q2F/j9IUtvEoH5uFvt72vRgk/G6f8j3Dg==", "dev": true, "requires": { - "ejs": "2.5.7" + "ejs": "^2.5.7" } }, "load-json-file": { @@ -7307,11 +6941,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { "pify": { @@ -7334,9 +6968,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" } }, "locate-path": { @@ -7345,8 +6979,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -7429,19 +7063,19 @@ "integrity": "sha512-YL/qpTxYtK0iWWbuKCrevDZz5lh+OjyHHD+mICqpjnYGKdNRBvPeh/1uYjkKUemT1CSO4wwLOwphWMpKAnD9kw==", "dev": true, "requires": { - "amqplib": "0.5.2", - "axios": "0.15.3", - "circular-json": "0.5.1", - "date-format": "1.2.0", - "debug": "3.1.0", - "hipchat-notifier": "1.1.0", - "loggly": "1.1.1", - "mailgun-js": "0.7.15", - "nodemailer": "2.7.2", - "redis": "2.8.0", - "semver": "5.5.0", - "slack-node": "0.2.0", - "streamroller": "0.7.0" + "amqplib": "^0.5.2", + "axios": "^0.15.3", + "circular-json": "^0.5.1", + "date-format": "^1.2.0", + "debug": "^3.1.0", + "hipchat-notifier": "^1.1.0", + "loggly": "^1.1.0", + "mailgun-js": "^0.7.0", + "nodemailer": "^2.5.0", + "redis": "^2.7.1", + "semver": "^5.3.0", + "slack-node": "~0.2.0", + "streamroller": "^0.7.0" }, "dependencies": { "debug": { @@ -7462,9 +7096,9 @@ "dev": true, "optional": true, "requires": { - "json-stringify-safe": "5.0.1", - "request": "2.75.0", - "timespan": "2.3.0" + "json-stringify-safe": "5.0.x", + "request": "2.75.x", + "timespan": "2.3.x" }, "dependencies": { "ansi-styles": { @@ -7488,11 +7122,11 @@ "dev": true, "optional": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "form-data": { @@ -7502,9 +7136,9 @@ "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" } }, "har-validator": { @@ -7514,10 +7148,10 @@ "dev": true, "optional": true, "requires": { - "chalk": "1.1.3", - "commander": "2.14.1", - "is-my-json-valid": "2.17.2", - "pinkie-promise": "2.0.1" + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" } }, "node-uuid": { @@ -7541,27 +7175,27 @@ "dev": true, "optional": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "bl": "1.1.2", - "caseless": "0.11.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.0.0", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "node-uuid": "1.4.8", - "oauth-sign": "0.8.2", - "qs": "6.2.3", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "bl": "~1.1.2", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.0.0", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.1", + "qs": "~6.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1" } }, "supports-color": { @@ -7598,7 +7232,7 @@ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true, "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -7607,8 +7241,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lower-case": { @@ -7623,8 +7257,8 @@ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "macaddress": { @@ -7639,7 +7273,7 @@ "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", "dev": true, "requires": { - "vlq": "0.2.3" + "vlq": "^0.2.1" } }, "mailcomposer": { @@ -7660,15 +7294,15 @@ "dev": true, "optional": true, "requires": { - "async": "2.1.5", - "debug": "2.2.0", - "form-data": "2.1.4", - "inflection": "1.10.0", - "is-stream": "1.1.0", - "path-proxy": "1.0.0", - "proxy-agent": "2.0.0", - "q": "1.4.1", - "tsscmp": "1.0.5" + "async": "~2.1.2", + "debug": "~2.2.0", + "form-data": "~2.1.1", + "inflection": "~1.10.0", + "is-stream": "^1.1.0", + "path-proxy": "~1.0.0", + "proxy-agent": "~2.0.0", + "q": "~1.4.0", + "tsscmp": "~1.0.0" }, "dependencies": { "async": { @@ -7678,7 +7312,7 @@ "dev": true, "optional": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } }, "debug": { @@ -7713,7 +7347,7 @@ "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "make-error": { @@ -7740,7 +7374,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "material-design-icons-iconfont": { @@ -7760,8 +7394,8 @@ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" }, "dependencies": { "hash-base": { @@ -7770,8 +7404,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } } } @@ -7788,7 +7422,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "memory-fs": { @@ -7797,8 +7431,8 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { - "errno": "0.1.7", - "readable-stream": "2.3.4" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, "meow": { @@ -7807,16 +7441,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "minimist": { @@ -7845,19 +7479,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "miller-rabin": { @@ -7866,8 +7500,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { @@ -7888,7 +7522,7 @@ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "dev": true, "requires": { - "mime-db": "1.30.0" + "mime-db": "~1.30.0" } }, "mimic-fn": { @@ -7915,7 +7549,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7930,16 +7564,16 @@ "integrity": "sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg==", "dev": true, "requires": { - "concat-stream": "1.6.0", - "duplexify": "3.5.3", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.2", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "1.0.3", - "pumpify": "1.4.0", - "stream-each": "1.2.2", - "through2": "2.0.3" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^1.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" } }, "mixin-deep": { @@ -7948,8 +7582,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -7958,7 +7592,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -7969,8 +7603,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" }, "dependencies": { "for-in": { @@ -7996,21 +7630,21 @@ "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", "dev": true, "requires": { - "JSONStream": "1.3.2", - "browser-resolve": "1.11.2", - "cached-path-relative": "1.0.1", - "concat-stream": "1.5.2", - "defined": "1.0.0", - "detective": "4.7.1", - "duplexer2": "0.1.4", - "inherits": "2.0.3", - "parents": "1.0.1", - "readable-stream": "2.3.4", - "resolve": "1.5.0", - "stream-combiner2": "1.1.1", - "subarg": "1.0.0", - "through2": "2.0.3", - "xtend": "4.0.1" + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.0", + "concat-stream": "~1.5.0", + "defined": "^1.0.0", + "detective": "^4.0.0", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.3", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" }, "dependencies": { "concat-stream": { @@ -8019,9 +7653,9 @@ "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" }, "dependencies": { "readable-stream": { @@ -8030,12 +7664,12 @@ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } } } @@ -8065,12 +7699,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "1.2.0", - "copy-concurrently": "1.0.5", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, "ms": { @@ -8085,8 +7719,8 @@ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { - "dns-packet": "1.3.1", - "thunky": "1.0.2" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, "multicast-dns-service-types": { @@ -8101,9 +7735,9 @@ "integrity": "sha1-8GPkdHAWJZua2IIVnvwcffCSIc0=" }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", "dev": true, "optional": true }, @@ -8113,17 +7747,17 @@ "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "is-odd": "1.0.0", - "kind-of": "5.1.0", - "object.pick": "1.3.0", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "is-odd": "^1.0.0", + "kind-of": "^5.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "arr-diff": { @@ -8152,7 +7786,7 @@ "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", "dev": true, "requires": { - "xml-char-classes": "1.0.0" + "xml-char-classes": "^1.0.0" } }, "negotiator": { @@ -8173,7 +7807,7 @@ "resolved": "https://registry.npmjs.org/ng2-charts/-/ng2-charts-1.6.0.tgz", "integrity": "sha512-9w0WH69x5/nuqC1og2WaY39NbaBqTGIP1+5gZaH7/KPN6UEPonNg/pYnsIVklLj1DWPWXKa8+XXIJZ1jy5nLxg==", "requires": { - "chart.js": "2.7.1" + "chart.js": "^2.6.0" } }, "ng2-cookies": { @@ -8192,7 +7826,7 @@ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "dev": true, "requires": { - "lower-case": "1.1.4" + "lower-case": "^1.1.1" } }, "node-forge": { @@ -8208,19 +7842,19 @@ "dev": true, "optional": true, "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.5", - "request": "2.81.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.0" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" }, "dependencies": { "nopt": { @@ -8230,7 +7864,7 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "semver": { @@ -8248,28 +7882,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.4", - "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.0.3", - "timers-browserify": "2.0.6", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" } }, @@ -8280,31 +7914,31 @@ "dev": true }, "node-sass": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz", - "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz", + "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", "dev": true, "optional": true, "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.2", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.1", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.8.0", - "node-gyp": "3.6.2", - "npmlog": "4.1.2", - "request": "2.79.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0", - "true-case-path": "1.0.2" + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash.assign": "^4.2.0", + "lodash.clonedeep": "^4.3.2", + "lodash.mergewith": "^4.6.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.3.1", + "npmlog": "^4.0.0", + "request": "~2.79.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" }, "dependencies": { "ansi-styles": { @@ -8326,11 +7960,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "har-validator": { @@ -8340,10 +7974,10 @@ "dev": true, "optional": true, "requires": { - "chalk": "1.1.3", - "commander": "2.14.1", - "is-my-json-valid": "2.17.2", - "pinkie-promise": "2.0.1" + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" } }, "qs": { @@ -8360,26 +7994,26 @@ "dev": true, "optional": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3", - "uuid": "3.2.1" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" } }, "supports-color": { @@ -8420,8 +8054,8 @@ "dev": true, "optional": true, "requires": { - "ip": "1.1.5", - "smart-buffer": "1.1.15" + "ip": "^1.1.2", + "smart-buffer": "^1.0.4" } } } @@ -8488,8 +8122,8 @@ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" + "abbrev": "1", + "osenv": "^0.1.4" } }, "normalize-package-data": { @@ -8498,10 +8132,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -8510,7 +8144,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-range": { @@ -8525,10 +8159,10 @@ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "dev": true, "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" } }, "npm-run-path": { @@ -8537,7 +8171,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -8546,10 +8180,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "nth-check": { @@ -8558,7 +8192,7 @@ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "dev": true, "requires": { - "boolbase": "1.0.0" + "boolbase": "~1.0.0" } }, "null-check": { @@ -8603,9 +8237,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -8614,7 +8248,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -8623,7 +8257,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-data-descriptor": { @@ -8632,7 +8266,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-descriptor": { @@ -8641,9 +8275,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -8668,7 +8302,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" }, "dependencies": { "isobject": { @@ -8685,8 +8319,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.pick": { @@ -8695,7 +8329,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -8733,7 +8367,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "opn": { @@ -8742,7 +8376,7 @@ "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", "dev": true, "requires": { - "is-wsl": "1.1.0" + "is-wsl": "^1.1.0" } }, "optimist": { @@ -8751,8 +8385,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.2" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" } }, "optionator": { @@ -8762,12 +8396,12 @@ "dev": true, "optional": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { "wordwrap": { @@ -8791,7 +8425,7 @@ "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", "dev": true, "requires": { - "url-parse": "1.0.5" + "url-parse": "1.0.x" }, "dependencies": { "url-parse": { @@ -8800,8 +8434,8 @@ "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", "dev": true, "requires": { - "querystringify": "0.0.4", - "requires-port": "1.0.0" + "querystringify": "0.0.x", + "requires-port": "1.0.x" } } } @@ -8824,7 +8458,7 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -8839,8 +8473,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "p-finally": { @@ -8855,7 +8489,7 @@ "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -8864,7 +8498,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -8886,15 +8520,15 @@ "dev": true, "optional": true, "requires": { - "agent-base": "2.1.1", - "debug": "2.6.9", - "extend": "3.0.1", - "get-uri": "2.0.1", - "http-proxy-agent": "1.0.0", - "https-proxy-agent": "1.0.0", - "pac-resolver": "2.0.0", - "raw-body": "2.3.2", - "socks-proxy-agent": "2.1.1" + "agent-base": "2", + "debug": "2", + "extend": "3", + "get-uri": "2", + "http-proxy-agent": "1", + "https-proxy-agent": "1", + "pac-resolver": "~2.0.0", + "raw-body": "2", + "socks-proxy-agent": "2" } }, "pac-resolver": { @@ -8904,11 +8538,11 @@ "dev": true, "optional": true, "requires": { - "co": "3.0.6", - "degenerator": "1.0.4", + "co": "~3.0.6", + "degenerator": "~1.0.2", "ip": "1.0.1", - "netmask": "1.0.6", - "thunkify": "2.1.2" + "netmask": "~1.0.4", + "thunkify": "~2.1.1" }, "dependencies": { "co": { @@ -8939,9 +8573,9 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, "param-case": { @@ -8950,7 +8584,7 @@ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "requires": { - "no-case": "2.3.2" + "no-case": "^2.2.0" } }, "parents": { @@ -8959,7 +8593,7 @@ "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", "dev": true, "requires": { - "path-platform": "0.11.15" + "path-platform": "~0.11.15" } }, "parse-asn1": { @@ -8968,11 +8602,11 @@ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "dev": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parse-glob": { @@ -8981,10 +8615,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -8993,7 +8627,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse-passwd": { @@ -9008,7 +8642,7 @@ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "dev": true, "requires": { - "better-assert": "1.0.2" + "better-assert": "~1.0.0" } }, "parseuri": { @@ -9017,7 +8651,7 @@ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "dev": true, "requires": { - "better-assert": "1.0.2" + "better-assert": "~1.0.0" } }, "parseurl": { @@ -9087,7 +8721,7 @@ "dev": true, "optional": true, "requires": { - "inflection": "1.3.8" + "inflection": "~1.3.0" }, "dependencies": { "inflection": { @@ -9111,7 +8745,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "pbkdf2": { @@ -9120,11 +8754,11 @@ "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "dev": true, "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "performance-now": { @@ -9151,7 +8785,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -9160,7 +8794,7 @@ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "portfinder": { @@ -9169,9 +8803,9 @@ "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "dev": true, "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" }, "dependencies": { "async": { @@ -9194,9 +8828,9 @@ "integrity": "sha512-X8MyLi3OYI1o71u0SsefWLpGBo5xnGiK1Pn+nrZFplc671Ts7L8aPwEbPIO8AWpulK5wuaVzyM9Rw6R8o7hYBw==", "dev": true, "requires": { - "chalk": "2.3.1", - "source-map": "0.6.1", - "supports-color": "5.2.0" + "chalk": "^2.3.1", + "source-map": "^0.6.1", + "supports-color": "^5.2.0" }, "dependencies": { "chalk": { @@ -9205,9 +8839,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, "has-flag": { @@ -9228,7 +8862,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -9239,9 +8873,9 @@ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" }, "dependencies": { "ansi-styles": { @@ -9256,11 +8890,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9283,10 +8917,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9295,7 +8929,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9306,9 +8940,9 @@ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "dev": true, "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" }, "dependencies": { "ansi-styles": { @@ -9323,11 +8957,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9350,10 +8984,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9362,7 +8996,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9373,8 +9007,8 @@ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" }, "dependencies": { "ansi-styles": { @@ -9389,11 +9023,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9416,10 +9050,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9428,7 +9062,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9439,7 +9073,7 @@ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" }, "dependencies": { "ansi-styles": { @@ -9454,11 +9088,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9481,10 +9115,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9493,7 +9127,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9504,7 +9138,7 @@ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "ansi-styles": { @@ -9519,11 +9153,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9546,10 +9180,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9558,7 +9192,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9569,7 +9203,7 @@ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" }, "dependencies": { "ansi-styles": { @@ -9584,11 +9218,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9611,10 +9245,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9623,7 +9257,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9634,7 +9268,7 @@ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.16" }, "dependencies": { "ansi-styles": { @@ -9649,11 +9283,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9676,10 +9310,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9688,7 +9322,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9699,8 +9333,8 @@ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "dev": true, "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" + "postcss": "^5.0.14", + "uniqs": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -9715,11 +9349,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9742,10 +9376,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9754,7 +9388,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9765,8 +9399,8 @@ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", "dev": true, "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" + "postcss": "^5.0.4", + "uniqid": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -9781,11 +9415,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9808,10 +9442,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9820,7 +9454,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9831,10 +9465,10 @@ "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", "dev": true, "requires": { - "postcss": "6.0.18", - "postcss-value-parser": "3.3.0", - "read-cache": "1.0.0", - "resolve": "1.5.0" + "postcss": "^6.0.1", + "postcss-value-parser": "^3.2.3", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" } }, "postcss-load-config": { @@ -9843,10 +9477,10 @@ "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", "dev": true, "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1", - "postcss-load-options": "1.2.0", - "postcss-load-plugins": "2.3.0" + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" } }, "postcss-load-options": { @@ -9855,8 +9489,8 @@ "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", "dev": true, "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0" } }, "postcss-load-plugins": { @@ -9865,8 +9499,8 @@ "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", "dev": true, "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" } }, "postcss-loader": { @@ -9875,10 +9509,10 @@ "integrity": "sha512-S/dKzpDwGFmP9g8eyCu9sUIV+/+3UooeTpYlsKf23qKDdrhHuA4pTSfytVu0rEJ0iDqUavXrgtOPq5KhNyNMOw==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "postcss": "6.0.18", - "postcss-load-config": "1.2.0", - "schema-utils": "0.4.5" + "loader-utils": "^1.1.0", + "postcss": "^6.0.0", + "postcss-load-config": "^1.2.0", + "schema-utils": "^0.4.0" }, "dependencies": { "ajv": { @@ -9887,9 +9521,9 @@ "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "schema-utils": { @@ -9898,8 +9532,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.1.1", - "ajv-keywords": "3.1.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } } } @@ -9910,9 +9544,9 @@ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" }, "dependencies": { "ansi-styles": { @@ -9927,11 +9561,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9954,10 +9588,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -9966,7 +9600,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9977,7 +9611,7 @@ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "ansi-styles": { @@ -9992,11 +9626,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10019,10 +9653,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10031,7 +9665,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10042,11 +9676,11 @@ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.1" + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" }, "dependencies": { "ansi-styles": { @@ -10061,8 +9695,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } }, "chalk": { @@ -10071,11 +9705,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10098,10 +9732,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10110,7 +9744,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10127,9 +9761,9 @@ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "dev": true, "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -10144,11 +9778,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10171,10 +9805,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10183,7 +9817,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10194,8 +9828,8 @@ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" }, "dependencies": { "ansi-styles": { @@ -10210,11 +9844,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10237,10 +9871,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10249,7 +9883,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10260,10 +9894,10 @@ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -10278,11 +9912,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10305,10 +9939,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10317,7 +9951,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10328,10 +9962,10 @@ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -10346,11 +9980,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10373,10 +10007,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10385,7 +10019,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10396,7 +10030,7 @@ "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { - "postcss": "6.0.18" + "postcss": "^6.0.1" } }, "postcss-modules-local-by-default": { @@ -10405,8 +10039,8 @@ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.18" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-scope": { @@ -10415,8 +10049,8 @@ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.18" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-values": { @@ -10425,8 +10059,8 @@ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.18" + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" } }, "postcss-normalize-charset": { @@ -10435,7 +10069,7 @@ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.5" }, "dependencies": { "ansi-styles": { @@ -10450,11 +10084,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10477,10 +10111,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10489,7 +10123,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10500,10 +10134,10 @@ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "dev": true, "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" }, "dependencies": { "ansi-styles": { @@ -10518,11 +10152,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10545,10 +10179,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10557,7 +10191,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10568,8 +10202,8 @@ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" }, "dependencies": { "ansi-styles": { @@ -10584,11 +10218,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10611,10 +10245,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10623,7 +10257,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10634,8 +10268,8 @@ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -10650,11 +10284,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10677,10 +10311,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10689,7 +10323,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10700,7 +10334,7 @@ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "ansi-styles": { @@ -10715,11 +10349,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10742,10 +10376,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10754,7 +10388,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10765,9 +10399,9 @@ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" }, "dependencies": { "ansi-styles": { @@ -10782,11 +10416,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10809,10 +10443,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10821,7 +10455,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10832,9 +10466,9 @@ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "dev": true, "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" } }, "postcss-svgo": { @@ -10843,10 +10477,10 @@ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "dev": true, "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" }, "dependencies": { "ansi-styles": { @@ -10861,11 +10495,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10888,10 +10522,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10900,7 +10534,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10911,9 +10545,9 @@ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -10928,11 +10562,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -10955,10 +10589,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -10967,7 +10601,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -10978,11 +10612,11 @@ "integrity": "sha512-VBP6uf6iL3AZra23nkPkOEkS/5azj1xf/toRrjfkolfFEgg9Gyzg9UhJZeIsz12EGKZTNVeGbPa2XtaZm/iZvg==", "dev": true, "requires": { - "mime": "1.6.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "postcss": "6.0.18", - "xxhashjs": "0.2.2" + "mime": "^1.4.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.0", + "postcss": "^6.0.1", + "xxhashjs": "^0.2.1" } }, "postcss-value-parser": { @@ -10997,9 +10631,9 @@ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -11014,11 +10648,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -11041,10 +10675,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "supports-color": { @@ -11053,7 +10687,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -11082,8 +10716,8 @@ "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "dev": true, "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" + "renderkid": "^2.0.1", + "utila": "~0.4" } }, "process": { @@ -11105,7 +10739,7 @@ "dev": true, "optional": true, "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "promise-inflight": { @@ -11120,21 +10754,21 @@ "integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=", "dev": true, "requires": { - "@types/node": "6.0.101", - "@types/q": "0.0.32", - "@types/selenium-webdriver": "2.53.43", + "@types/node": "^6.0.46", + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "~2.53.39", "blocking-proxy": "0.0.5", - "chalk": "1.1.3", - "glob": "7.1.2", - "jasmine": "2.99.0", - "jasminewd2": "2.2.0", - "optimist": "0.6.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "^2.5.3", + "jasminewd2": "^2.1.0", + "optimist": "~0.6.0", "q": "1.4.1", - "saucelabs": "1.3.0", + "saucelabs": "~1.3.0", "selenium-webdriver": "3.0.1", - "source-map-support": "0.4.18", - "webdriver-js-extender": "1.0.0", - "webdriver-manager": "12.0.6" + "source-map-support": "~0.4.0", + "webdriver-js-extender": "^1.0.0", + "webdriver-manager": "^12.0.6" }, "dependencies": { "ansi-styles": { @@ -11149,11 +10783,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "del": { @@ -11162,13 +10796,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "globby": { @@ -11177,12 +10811,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "minimist": { @@ -11215,17 +10849,17 @@ "integrity": "sha1-PfGkgZdwELTL+MnYXHpXeCjA5ws=", "dev": true, "requires": { - "adm-zip": "0.4.7", - "chalk": "1.1.3", - "del": "2.2.2", - "glob": "7.1.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "q": "1.4.1", - "request": "2.81.0", - "rimraf": "2.6.2", - "semver": "5.5.0", - "xml2js": "0.4.19" + "adm-zip": "^0.4.7", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.78.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" } } } @@ -11236,7 +10870,7 @@ "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", "dev": true, "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.5.2" } }, @@ -11247,14 +10881,14 @@ "dev": true, "optional": true, "requires": { - "agent-base": "2.1.1", - "debug": "2.6.9", - "extend": "3.0.1", - "http-proxy-agent": "1.0.0", - "https-proxy-agent": "1.0.0", - "lru-cache": "2.6.5", - "pac-proxy-agent": "1.1.0", - "socks-proxy-agent": "2.1.1" + "agent-base": "2", + "debug": "2", + "extend": "3", + "http-proxy-agent": "1", + "https-proxy-agent": "1", + "lru-cache": "~2.6.5", + "pac-proxy-agent": "1", + "socks-proxy-agent": "2" }, "dependencies": { "lru-cache": { @@ -11284,11 +10918,11 @@ "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "pump": { @@ -11297,8 +10931,8 @@ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -11307,9 +10941,9 @@ "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", "dev": true, "requires": { - "duplexify": "3.5.3", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.5.3", + "inherits": "^2.0.3", + "pump": "^2.0.0" }, "dependencies": { "pump": { @@ -11318,8 +10952,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } } } @@ -11354,8 +10988,8 @@ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "dev": true, "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "querystring": { @@ -11382,8 +11016,8 @@ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -11392,7 +11026,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11401,7 +11035,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11412,7 +11046,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11423,7 +11057,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -11432,8 +11066,8 @@ "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", "dev": true, "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -11466,7 +11100,7 @@ "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.3.0" }, "dependencies": { "pify": { @@ -11483,7 +11117,7 @@ "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, "requires": { - "readable-stream": "2.3.4" + "readable-stream": "^2.0.2" } }, "read-pkg": { @@ -11492,9 +11126,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" }, "dependencies": { "path-type": { @@ -11503,9 +11137,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pify": { @@ -11522,8 +11156,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -11532,8 +11166,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -11542,7 +11176,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -11553,13 +11187,13 @@ "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -11568,10 +11202,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.4", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "redent": { @@ -11580,8 +11214,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "redis": { @@ -11591,9 +11225,9 @@ "dev": true, "optional": true, "requires": { - "double-ended-queue": "2.1.0-0", - "redis-commands": "1.3.1", - "redis-parser": "2.6.0" + "double-ended-queue": "^2.1.0-0", + "redis-commands": "^1.2.0", + "redis-parser": "^2.6.0" } }, "redis-commands": { @@ -11616,9 +11250,9 @@ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "dev": true, "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" }, "dependencies": { "balanced-match": { @@ -11635,7 +11269,7 @@ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "dev": true, "requires": { - "balanced-match": "0.4.2" + "balanced-match": "^0.4.2" }, "dependencies": { "balanced-match": { @@ -11670,7 +11304,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regex-not": { @@ -11679,7 +11313,7 @@ "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=", "dev": true, "requires": { - "extend-shallow": "2.0.1" + "extend-shallow": "^2.0.1" } }, "regexpu-core": { @@ -11688,9 +11322,9 @@ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "regjsgen": { @@ -11705,7 +11339,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" } }, "relateurl": { @@ -11726,11 +11360,11 @@ "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", "dev": true, "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" + "css-select": "^1.1.0", + "dom-converter": "~0.1", + "htmlparser2": "~3.3.0", + "strip-ansi": "^3.0.0", + "utila": "~0.3" }, "dependencies": { "utila": { @@ -11759,7 +11393,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -11768,28 +11402,28 @@ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" } }, "requestretry": { @@ -11799,10 +11433,10 @@ "dev": true, "optional": true, "requires": { - "extend": "3.0.1", - "lodash": "4.17.5", - "request": "2.81.0", - "when": "3.7.8" + "extend": "^3.0.0", + "lodash": "^4.15.0", + "request": "^2.74.0", + "when": "^3.7.7" }, "dependencies": { "when": { @@ -11844,7 +11478,7 @@ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-cwd": { @@ -11853,7 +11487,7 @@ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -11874,7 +11508,7 @@ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -11883,7 +11517,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "ripemd160": { @@ -11892,8 +11526,8 @@ "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", "dev": true, "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" + "hash-base": "^2.0.0", + "inherits": "^2.0.1" } }, "roboto-fontface": { @@ -11907,7 +11541,7 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "1.2.0" + "aproba": "^1.1.1" } }, "rw": { @@ -11936,10 +11570,10 @@ "dev": true, "optional": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.5", - "scss-tokenizer": "0.2.3", - "yargs": "7.1.0" + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" } }, "sass-loader": { @@ -11948,11 +11582,11 @@ "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", "dev": true, "requires": { - "async": "2.6.0", - "clone-deep": "0.3.0", - "loader-utils": "1.1.0", - "lodash.tail": "4.1.1", - "pify": "3.0.0" + "async": "^2.1.5", + "clone-deep": "^0.3.0", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "pify": "^3.0.0" } }, "saucelabs": { @@ -11961,7 +11595,7 @@ "integrity": "sha1-0kDoAJ33+ocwbsRXimm6O1xCT+4=", "dev": true, "requires": { - "https-proxy-agent": "1.0.0" + "https-proxy-agent": "^1.0.0" } }, "sax": { @@ -11976,7 +11610,7 @@ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "dev": true, "requires": { - "ajv": "5.5.2" + "ajv": "^5.0.0" } }, "scss-tokenizer": { @@ -11986,8 +11620,8 @@ "dev": true, "optional": true, "requires": { - "js-base64": "2.4.3", - "source-map": "0.4.4" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" }, "dependencies": { "source-map": { @@ -11997,7 +11631,7 @@ "dev": true, "optional": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -12014,10 +11648,10 @@ "integrity": "sha1-ot6l2kqX9mcuiefKcnbO+jZRR6c=", "dev": true, "requires": { - "adm-zip": "0.4.7", - "rimraf": "2.6.2", + "adm-zip": "^0.4.7", + "rimraf": "^2.5.4", "tmp": "0.0.30", - "xml2js": "0.4.19" + "xml2js": "^0.4.17" }, "dependencies": { "tmp": { @@ -12026,7 +11660,7 @@ "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.1" } } } @@ -12057,7 +11691,7 @@ "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.3.0" } }, "send": { @@ -12067,18 +11701,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "destroy": "~1.0.4", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.2", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.3.1" }, "dependencies": { "mime": { @@ -12101,13 +11735,13 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.2", - "mime-types": "2.1.17", - "parseurl": "1.3.2" + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" } }, "serve-static": { @@ -12116,9 +11750,9 @@ "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "dev": true, "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.1" } }, @@ -12134,7 +11768,7 @@ "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", "dev": true, "requires": { - "to-object-path": "0.3.0" + "to-object-path": "^0.3.0" } }, "set-immediate-shim": { @@ -12149,10 +11783,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" } }, "setimmediate": { @@ -12173,8 +11807,8 @@ "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shallow-clone": { @@ -12183,10 +11817,10 @@ "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", "dev": true, "requires": { - "is-extendable": "0.1.1", - "kind-of": "2.0.1", - "lazy-cache": "0.2.7", - "mixin-object": "2.0.1" + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" }, "dependencies": { "kind-of": { @@ -12195,7 +11829,7 @@ "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.0.2" } } } @@ -12206,8 +11840,8 @@ "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", "dev": true, "requires": { - "json-stable-stringify": "0.0.1", - "sha.js": "2.4.10" + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" }, "dependencies": { "json-stable-stringify": { @@ -12216,7 +11850,7 @@ "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } } } @@ -12227,7 +11861,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -12242,10 +11876,10 @@ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "dev": true, "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "signal-exit": { @@ -12260,7 +11894,7 @@ "integrity": "sha1-IglwbxyFCp8dENDYQJGLRvJuG8k=", "dev": true, "requires": { - "debug": "2.6.9" + "debug": "^2.2.0" } }, "slack-node": { @@ -12270,7 +11904,7 @@ "dev": true, "optional": true, "requires": { - "requestretry": "1.13.0" + "requestretry": "^1.2.2" } }, "slash": { @@ -12301,14 +11935,14 @@ "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "2.0.2" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^2.0.0" }, "dependencies": { "define-property": { @@ -12317,7 +11951,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -12326,7 +11960,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12335,7 +11969,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12346,7 +11980,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12355,7 +11989,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12366,9 +12000,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -12385,9 +12019,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "isobject": { @@ -12404,7 +12038,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" } }, "sntp": { @@ -12413,7 +12047,7 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "socket.io": { @@ -12422,11 +12056,11 @@ "integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=", "dev": true, "requires": { - "debug": "2.6.9", - "engine.io": "3.1.4", - "socket.io-adapter": "1.1.1", + "debug": "~2.6.6", + "engine.io": "~3.1.0", + "socket.io-adapter": "~1.1.0", "socket.io-client": "2.0.4", - "socket.io-parser": "3.1.2" + "socket.io-parser": "~3.1.1" } }, "socket.io-adapter": { @@ -12445,14 +12079,14 @@ "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", - "debug": "2.6.9", - "engine.io-client": "3.1.4", + "debug": "~2.6.4", + "engine.io-client": "~3.1.0", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "3.1.2", + "socket.io-parser": "~3.1.1", "to-array": "0.1.4" } }, @@ -12463,8 +12097,8 @@ "dev": true, "requires": { "component-emitter": "1.2.1", - "debug": "2.6.9", - "has-binary2": "1.0.2", + "debug": "~2.6.4", + "has-binary2": "~1.0.2", "isarray": "2.0.1" }, "dependencies": { @@ -12482,8 +12116,8 @@ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", "dev": true, "requires": { - "faye-websocket": "0.10.0", - "uuid": "3.2.1" + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" } }, "sockjs-client": { @@ -12492,12 +12126,12 @@ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "dev": true, "requires": { - "debug": "2.6.9", + "debug": "^2.6.6", "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.2.0" + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" }, "dependencies": { "faye-websocket": { @@ -12506,7 +12140,7 @@ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } } } @@ -12517,8 +12151,8 @@ "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=", "dev": true, "requires": { - "ip": "1.1.5", - "smart-buffer": "1.1.15" + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" } }, "socks-proxy-agent": { @@ -12527,9 +12161,9 @@ "integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==", "dev": true, "requires": { - "agent-base": "2.1.1", - "extend": "3.0.1", - "socks": "1.1.10" + "agent-base": "2", + "extend": "3", + "socks": "~1.1.5" } }, "sort-keys": { @@ -12538,7 +12172,7 @@ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-list-map": { @@ -12559,11 +12193,11 @@ "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "dev": true, "requires": { - "atob": "2.0.3", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.0.0", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -12572,7 +12206,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "source-map-url": { @@ -12587,7 +12221,7 @@ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -12608,12 +12242,12 @@ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "dev": true, "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", - "select-hose": "2.0.0", - "spdy-transport": "2.0.20" + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" } }, "spdy-transport": { @@ -12622,13 +12256,13 @@ "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", "dev": true, "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.1", - "readable-stream": "2.3.4", - "safe-buffer": "5.1.1", - "wbuf": "1.7.2" + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" } }, "split-string": { @@ -12637,7 +12271,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" }, "dependencies": { "extend-shallow": { @@ -12646,8 +12280,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" } }, "is-extendable": { @@ -12656,7 +12290,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -12673,14 +12307,14 @@ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -12697,7 +12331,7 @@ "integrity": "sha512-hm46mN8YSzjGuJtVocXPjwo0yTRXobXqYuK/tV6gr557/tRck4yWXKPRW8OxyJgRvcL3QgX+5ng/kMHBMco7KA==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.1.1" } }, "static-extend": { @@ -12706,8 +12340,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -12716,7 +12350,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -12725,7 +12359,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12734,7 +12368,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12745,7 +12379,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -12754,7 +12388,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -12765,9 +12399,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -12791,7 +12425,7 @@ "dev": true, "optional": true, "requires": { - "readable-stream": "2.3.4" + "readable-stream": "^2.0.1" } }, "stream-browserify": { @@ -12800,8 +12434,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-combiner2": { @@ -12810,8 +12444,8 @@ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", "dev": true, "requires": { - "duplexer2": "0.1.4", - "readable-stream": "2.3.4" + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" } }, "stream-each": { @@ -12820,8 +12454,8 @@ "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "stream-shift": "1.0.0" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, "stream-http": { @@ -12830,11 +12464,11 @@ "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", "dev": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "stream-shift": { @@ -12849,8 +12483,8 @@ "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "streamroller": { @@ -12859,10 +12493,10 @@ "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==", "dev": true, "requires": { - "date-format": "1.2.0", - "debug": "3.1.0", - "mkdirp": "0.5.1", - "readable-stream": "2.3.4" + "date-format": "^1.2.0", + "debug": "^3.1.0", + "mkdirp": "^0.5.1", + "readable-stream": "^2.3.0" }, "dependencies": { "debug": { @@ -12888,9 +12522,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -12899,7 +12533,7 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -12914,7 +12548,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -12923,7 +12557,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -12938,7 +12572,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -12953,7 +12587,7 @@ "integrity": "sha1-dFMzhM9pjHEEx5URULSXF63C87s=", "dev": true, "requires": { - "loader-utils": "1.1.0" + "loader-utils": "^1.0.2" } }, "stylus": { @@ -12962,12 +12596,12 @@ "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", "dev": true, "requires": { - "css-parse": "1.7.0", - "debug": "2.6.9", - "glob": "7.0.6", - "mkdirp": "0.5.1", - "sax": "0.5.8", - "source-map": "0.1.43" + "css-parse": "1.7.x", + "debug": "*", + "glob": "7.0.x", + "mkdirp": "0.5.x", + "sax": "0.5.x", + "source-map": "0.1.x" }, "dependencies": { "glob": { @@ -12976,12 +12610,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "sax": { @@ -12996,7 +12630,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -13007,9 +12641,9 @@ "integrity": "sha1-d/SzT9Aw0lsmF7z1UT21sHMMQIk=", "dev": true, "requires": { - "loader-utils": "1.1.0", - "lodash.clonedeep": "4.5.0", - "when": "3.6.4" + "loader-utils": "^1.0.2", + "lodash.clonedeep": "^4.5.0", + "when": "~3.6.x" } }, "subarg": { @@ -13018,7 +12652,7 @@ "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", "dev": true, "requires": { - "minimist": "1.2.0" + "minimist": "^1.1.0" }, "dependencies": { "minimist": { @@ -13035,7 +12669,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } }, "svgo": { @@ -13044,13 +12678,13 @@ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "dev": true, "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" } }, "symbol-observable": { @@ -13064,7 +12698,7 @@ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, "requires": { - "acorn-node": "1.3.0" + "acorn-node": "^1.2.0" } }, "tapable": { @@ -13080,9 +12714,9 @@ "dev": true, "optional": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "through": { @@ -13097,8 +12731,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.4", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "thunkify": { @@ -13126,7 +12760,7 @@ "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", "dev": true, "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" } }, "timespan": { @@ -13142,7 +12776,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-array": { @@ -13169,7 +12803,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "to-regex": { @@ -13178,9 +12812,9 @@ "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=", "dev": true, "requires": { - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "regex-not": "1.0.0" + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "regex-not": "^1.0.0" }, "dependencies": { "define-property": { @@ -13189,7 +12823,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -13198,7 +12832,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -13207,7 +12841,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -13218,7 +12852,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -13227,7 +12861,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -13238,9 +12872,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "kind-of": { @@ -13257,8 +12891,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "dependencies": { "is-number": { @@ -13267,7 +12901,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } } } @@ -13284,7 +12918,7 @@ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tree-kill": { @@ -13312,7 +12946,7 @@ "dev": true, "optional": true, "requires": { - "glob": "6.0.4" + "glob": "^6.0.4" }, "dependencies": { "glob": { @@ -13322,11 +12956,11 @@ "dev": true, "optional": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } } } @@ -13337,16 +12971,16 @@ "integrity": "sha512-xcZH12oVg9PShKhy3UHyDmuDLV3y7iKwX25aMVPt1SIXSuAfWkFiGPEkg+th8R4YKW/QCxDoW7lJdb15lx6QWg==", "dev": true, "requires": { - "arrify": "1.0.1", - "chalk": "2.3.1", - "diff": "3.4.0", - "make-error": "1.3.4", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map-support": "0.5.3", - "tsconfig": "7.0.0", - "v8flags": "3.0.1", - "yn": "2.0.0" + "arrify": "^1.0.0", + "chalk": "^2.3.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.0", + "tsconfig": "^7.0.0", + "v8flags": "^3.0.0", + "yn": "^2.0.0" }, "dependencies": { "chalk": { @@ -13355,9 +12989,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, "has-flag": { @@ -13384,7 +13018,7 @@ "integrity": "sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w==", "dev": true, "requires": { - "source-map": "0.6.1" + "source-map": "^0.6.0" } }, "supports-color": { @@ -13393,7 +13027,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -13404,10 +13038,10 @@ "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", "dev": true, "requires": { - "@types/strip-bom": "3.0.0", + "@types/strip-bom": "^3.0.0", "@types/strip-json-comments": "0.0.30", - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1" + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" }, "dependencies": { "strip-bom": { @@ -13424,10 +13058,10 @@ "integrity": "sha512-eWJ2CUfttGK0LqF9iJ/Avnxbj4M+fCyJ50Zag3wm73Fut1hsasPRHKxKdrMWVj4BMHnQNx7TO+DdNmLmJTSuNw==", "dev": true, "requires": { - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map": "0.5.7", - "source-map-support": "0.4.18" + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map": "^0.5.6", + "source-map-support": "^0.4.2" }, "dependencies": { "minimist": { @@ -13449,18 +13083,18 @@ "integrity": "sha1-ElX4ej/1frCw4fDmEKi0dIBGya4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "builtin-modules": "1.1.1", - "chalk": "2.3.1", - "commander": "2.14.1", - "diff": "3.4.0", - "glob": "7.1.2", - "js-yaml": "3.7.0", - "minimatch": "3.0.4", - "resolve": "1.5.0", - "semver": "5.5.0", - "tslib": "1.9.0", - "tsutils": "2.21.1" + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.12.1" }, "dependencies": { "chalk": { @@ -13469,9 +13103,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, "has-flag": { @@ -13486,7 +13120,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -13504,7 +13138,7 @@ "integrity": "sha512-heMkdeQ9iUc90ynfiNo5Y+GXrEEGy86KMvnSTfHO+Q40AuNQ1lZGXcv58fuU9XTUxI0V7YIN9xPN+CO9b1Gn3w==", "dev": true, "requires": { - "tslib": "1.9.0" + "tslib": "^1.8.1" } }, "tty-browserify": { @@ -13519,7 +13153,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -13535,7 +13169,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-is": { @@ -13545,7 +13179,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "~2.1.15" } }, "typedarray": { @@ -13566,8 +13200,8 @@ "integrity": "sha512-AKLsYcdV+sS5eAE4NtVXF6f2u/DCQynQm0jTGxF261+Vltu1dYNuHzjqDmk11gInj+H/zJIM2EAwXG3MzPb3VA==", "dev": true, "requires": { - "commander": "2.14.1", - "source-map": "0.6.1" + "commander": "~2.14.1", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -13591,14 +13225,14 @@ "integrity": "sha512-XG8/QmR1pyPeE1kj2aigo5kos8umefB31zW+PMvAAytHSB0T/vQvN6sqt8+Sh+y0b0A7zlmxNi2dzRnj0wcqGA==", "dev": true, "requires": { - "cacache": "10.0.2", - "find-cache-dir": "1.0.0", - "schema-utils": "0.4.5", - "serialize-javascript": "1.4.0", - "source-map": "0.6.1", - "uglify-es": "3.3.9", - "webpack-sources": "1.1.0", - "worker-farm": "1.5.2" + "cacache": "^10.0.1", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.2", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" }, "dependencies": { "ajv": { @@ -13607,9 +13241,9 @@ "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "commander": { @@ -13624,8 +13258,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.1.1", - "ajv-keywords": "3.1.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, "source-map": { @@ -13640,8 +13274,8 @@ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "commander": "2.13.0", - "source-map": "0.6.1" + "commander": "~2.13.0", + "source-map": "~0.6.1" } } } @@ -13670,10 +13304,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "set-value": { @@ -13682,10 +13316,10 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -13702,7 +13336,7 @@ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", "dev": true, "requires": { - "macaddress": "0.2.8" + "macaddress": "^0.2.8" } }, "uniqs": { @@ -13717,7 +13351,7 @@ "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "unique-slug": "2.0.0" + "unique-slug": "^2.0.0" } }, "unique-slug": { @@ -13726,7 +13360,7 @@ "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { - "imurmurhash": "0.1.4" + "imurmurhash": "^0.1.4" } }, "universalify": { @@ -13747,8 +13381,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -13757,9 +13391,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -13793,10 +13427,10 @@ "integrity": "sha512-fCmij7T5LnwUme3dbnVSejvOHHlARjB3ikJFwgZfz386pHmf/gueuTLRFU94FZEaeCLlbQrweiUU700gG41tUw==", "dev": true, "requires": { - "lodash.endswith": "4.2.1", - "lodash.isfunction": "3.0.9", - "lodash.isstring": "4.0.1", - "lodash.startswith": "4.2.1" + "lodash.endswith": "^4.2.1", + "lodash.isfunction": "^3.0.8", + "lodash.isstring": "^4.0.1", + "lodash.startswith": "^4.2.1" } }, "upper-case": { @@ -13835,9 +13469,9 @@ "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "mime": "1.6.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "mime": "^1.4.1", + "schema-utils": "^0.3.0" } }, "url-parse": { @@ -13846,8 +13480,8 @@ "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", "dev": true, "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" + "querystringify": "~1.0.0", + "requires-port": "~1.0.0" }, "dependencies": { "querystringify": { @@ -13864,9 +13498,9 @@ "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", "dev": true, "requires": { - "define-property": "0.2.5", - "isobject": "3.0.1", - "lazy-cache": "2.0.2" + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "lazy-cache": "^2.0.2" }, "dependencies": { "define-property": { @@ -13875,7 +13509,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { @@ -13884,7 +13518,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -13893,7 +13527,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -13904,7 +13538,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -13913,7 +13547,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -13924,9 +13558,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" } }, "isobject": { @@ -13947,7 +13581,7 @@ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", "dev": true, "requires": { - "set-getter": "0.1.0" + "set-getter": "^0.1.0" } } } @@ -13958,8 +13592,8 @@ "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", "dev": true, "requires": { - "lru-cache": "4.1.1", - "tmp": "0.0.33" + "lru-cache": "4.1.x", + "tmp": "0.0.x" } }, "util": { @@ -14016,7 +13650,7 @@ "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=", "dev": true, "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "^1.0.1" } }, "validate-npm-package-license": { @@ -14025,8 +13659,8 @@ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "vary": { @@ -14047,9 +13681,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" }, "dependencies": { "assert-plus": { @@ -14087,9 +13721,9 @@ "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", "dev": true, "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" + "async": "^2.1.2", + "chokidar": "^1.7.0", + "graceful-fs": "^4.1.2" } }, "wbuf": { @@ -14098,7 +13732,7 @@ "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", "dev": true, "requires": { - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "^1.0.0" } }, "web-animations-js": { @@ -14112,8 +13746,8 @@ "integrity": "sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU=", "dev": true, "requires": { - "@types/selenium-webdriver": "2.53.43", - "selenium-webdriver": "2.53.3" + "@types/selenium-webdriver": "^2.53.35", + "selenium-webdriver": "^2.53.2" }, "dependencies": { "adm-zip": { @@ -14135,9 +13769,9 @@ "dev": true, "requires": { "adm-zip": "0.4.4", - "rimraf": "2.6.2", + "rimraf": "^2.2.8", "tmp": "0.0.24", - "ws": "1.1.5", + "ws": "^1.0.1", "xml2js": "0.4.4" } }, @@ -14159,8 +13793,8 @@ "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", "dev": true, "requires": { - "options": "0.0.6", - "ultron": "1.0.2" + "options": ">=0.0.5", + "ultron": "1.0.x" } }, "xml2js": { @@ -14169,8 +13803,8 @@ "integrity": "sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0=", "dev": true, "requires": { - "sax": "0.6.1", - "xmlbuilder": "9.0.7" + "sax": "0.6.x", + "xmlbuilder": ">=1.0.0" } } } @@ -14181,28 +13815,28 @@ "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", "dev": true, "requires": { - "acorn": "5.4.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "async": "2.6.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.1.0", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.1.0", - "source-map": "0.5.7", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.1.0", - "yargs": "8.0.2" + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^5.1.5", + "ajv-keywords": "^2.0.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.4.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^4.2.1", + "tapable": "^0.2.7", + "uglifyjs-webpack-plugin": "^0.4.6", + "watchpack": "^1.4.0", + "webpack-sources": "^1.0.1", + "yargs": "^8.0.2" }, "dependencies": { "ajv-keywords": { @@ -14229,8 +13863,8 @@ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -14240,10 +13874,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "os-locale": { @@ -14252,9 +13886,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -14263,7 +13897,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "pify": { @@ -14278,9 +13912,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -14289,8 +13923,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "string-width": { @@ -14299,8 +13933,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -14315,7 +13949,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -14332,9 +13966,9 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -14343,9 +13977,9 @@ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -14357,9 +13991,9 @@ "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.1.0" + "source-map": "^0.5.6", + "uglify-js": "^2.8.29", + "webpack-sources": "^1.0.1" } }, "which-module": { @@ -14374,19 +14008,19 @@ "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "dev": true, "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" }, "dependencies": { "camelcase": { @@ -14401,9 +14035,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -14412,9 +14046,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -14427,7 +14061,7 @@ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -14446,8 +14080,8 @@ "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=", "dev": true, "requires": { - "source-list-map": "0.1.8", - "source-map": "0.4.4" + "source-list-map": "~0.1.7", + "source-map": "~0.4.1" }, "dependencies": { "source-list-map": { @@ -14462,7 +14096,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -14473,11 +14107,11 @@ "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", "dev": true, "requires": { - "memory-fs": "0.4.1", - "mime": "1.6.0", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" + "memory-fs": "~0.4.1", + "mime": "^1.5.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "time-stamp": "^2.0.0" } }, "webpack-dev-server": { @@ -14487,30 +14121,30 @@ "dev": true, "requires": { "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "2.0.2", - "compression": "1.7.1", - "connect-history-api-fallback": "1.5.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.2", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "import-local": "1.0.0", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.17.4", + "import-local": "^1.0.0", "internal-ip": "1.2.0", - "ip": "1.1.5", - "killable": "1.0.0", - "loglevel": "1.6.1", - "opn": "5.1.0", - "portfinder": "1.0.13", - "selfsigned": "1.10.2", - "serve-index": "1.9.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", "sockjs": "0.3.19", "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "5.2.0", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", "webpack-dev-middleware": "1.12.2", "yargs": "6.6.0" }, @@ -14521,8 +14155,8 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "3.1.5", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, "arr-diff": { @@ -14543,17 +14177,17 @@ "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.1", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.1" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" } }, "camelcase": { @@ -14568,18 +14202,18 @@ "integrity": "sha512-l32Hw3wqB0L2kGVmSbK/a+xXLDrUEsc84pSgMkmwygHvD7ubRsP/vxxHa5BtB6oix1XLLVCHyYMsckRXxThmZw==", "dev": true, "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.0", - "fsevents": "1.1.3", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.0.2" + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.0.0", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.0" } }, "debug": { @@ -14597,13 +14231,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "debug": { @@ -14621,7 +14255,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -14632,14 +14266,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "fill-range": { @@ -14648,10 +14282,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" } }, "glob-parent": { @@ -14660,8 +14294,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -14670,7 +14304,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -14687,7 +14321,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -14696,7 +14330,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -14707,7 +14341,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -14716,7 +14350,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -14727,9 +14361,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -14752,7 +14386,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-number": { @@ -14761,7 +14395,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -14770,7 +14404,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -14793,19 +14427,19 @@ "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.0", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.7", - "object.pick": "1.3.0", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.0", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.0", + "nanomatch": "^1.2.5", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "supports-color": { @@ -14814,7 +14448,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "yargs": { @@ -14823,19 +14457,19 @@ "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "dev": true, "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" } }, "yargs-parser": { @@ -14844,7 +14478,7 @@ "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "dev": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" } } } @@ -14855,7 +14489,7 @@ "integrity": "sha512-geQsZ86YkXOVOjvPC5yv3JSNnL6/X3Kzh935AQ/gJNEYXEfJDQFu/sdFuktS9OW2JcH/SJec8TGfRdrpHshH7A==", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.17.4" } }, "webpack-sources": { @@ -14864,8 +14498,8 @@ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -14882,7 +14516,7 @@ "integrity": "sha1-j6yKfo61n8ahZ2ioXJ2U7n+dDts=", "dev": true, "requires": { - "webpack-core": "0.6.9" + "webpack-core": "^0.6.8" } }, "websocket-driver": { @@ -14891,8 +14525,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.10", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -14919,7 +14553,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -14929,12 +14563,12 @@ "dev": true }, "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2 || 2" } }, "window-size": { @@ -14955,8 +14589,8 @@ "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", "dev": true, "requires": { - "errno": "0.1.7", - "xtend": "4.0.1" + "errno": "^0.1.4", + "xtend": "^4.0.1" } }, "wrap-ansi": { @@ -14965,8 +14599,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -14981,9 +14615,9 @@ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "dev": true, "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.1", - "ultron": "1.1.1" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } }, "xhr2": { @@ -15003,8 +14637,8 @@ "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "dev": true, "requires": { - "sax": "1.2.4", - "xmlbuilder": "9.0.7" + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" } }, "xmlbuilder": { @@ -15043,7 +14677,7 @@ "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", "dev": true, "requires": { - "cuint": "0.2.2" + "cuint": "^0.2.2" } }, "y18n": { @@ -15065,19 +14699,19 @@ "dev": true, "optional": true, "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" }, "dependencies": { "camelcase": { @@ -15096,7 +14730,7 @@ "dev": true, "optional": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" }, "dependencies": { "camelcase": { From d4a69aac73b9a164cd321915f50f3eaf2fc0e349 Mon Sep 17 00:00:00 2001 From: Wolfgang Gerbl Date: Wed, 6 Jun 2018 17:19:03 +0200 Subject: [PATCH 39/50] fix controller sorting bug --- io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java b/io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java index 7918086baa0..fa8135c25db 100644 --- a/io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java +++ b/io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java @@ -126,7 +126,7 @@ protected void forever() { // abort if relativeCycleTime is not matching this cycle return; } - scheduler.getControllers().stream().filter(c -> c.isEnabled()).forEach(controller -> { + scheduler.getControllers().stream().filter(c -> c.isEnabled()).forEachOrdered(controller -> { try { controller.run(); } catch (Exception e) { From 61140ae33725a9aa973e70d519457c6a5c234708 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 7 Jun 2018 10:01:39 +0200 Subject: [PATCH 40/50] Update Guava --- io.openems.backend.application/BackendApp.bndrun | 2 +- io.openems.edge.application/EdgeApp.bndrun | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/io.openems.backend.application/BackendApp.bndrun b/io.openems.backend.application/BackendApp.bndrun index d9ba6b411e4..515d96fe106 100644 --- a/io.openems.backend.application/BackendApp.bndrun +++ b/io.openems.backend.application/BackendApp.bndrun @@ -61,4 +61,4 @@ JPM-Command: openems-backend osgi.enroute.executor.simple.provider;version='[2.1.0,2.1.1)',\ osgi.enroute.web.simple.provider;version='[2.1.0,2.1.1)',\ osgi.enroute.webconsole.xray.provider;version='[2.1.0,2.1.1)',\ - com.google.guava;version='[23.6.0,23.6.1)' \ No newline at end of file + com.google.guava;version='[25.1.0,25.1.1)' \ No newline at end of file diff --git a/io.openems.edge.application/EdgeApp.bndrun b/io.openems.edge.application/EdgeApp.bndrun index cb75d94a5d5..1cf12373bbd 100644 --- a/io.openems.edge.application/EdgeApp.bndrun +++ b/io.openems.edge.application/EdgeApp.bndrun @@ -98,5 +98,5 @@ JPM-Command: openems-edge osgi.enroute.executor.simple.provider;version='[2.1.0,2.1.1)',\ osgi.enroute.web.simple.provider;version='[2.1.0,2.1.1)',\ osgi.enroute.webconsole.xray.provider;version='[2.1.0,2.1.1)',\ - com.google.guava;version='[23.6.0,23.6.1)',\ - io.openems.edge.core;version=snapshot \ No newline at end of file + io.openems.edge.core;version=snapshot,\ + com.google.guava;version='[25.1.0,25.1.1)' \ No newline at end of file From 6d78a07f9ef2668980028fe7e911ab667becfaba Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 7 Jun 2018 10:02:14 +0200 Subject: [PATCH 41/50] Fix Metadata setSoc --- .../src/io/openems/backend/metadata/api/Edge.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java index ff2421ba613..c04e54b13b3 100644 --- a/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java +++ b/io.openems.backend.metadata.api/src/io/openems/backend/metadata/api/Edge.java @@ -203,7 +203,7 @@ public void onSetSoc(Consumer listener) { } public synchronized void setSoc(int soc) { - if (this.soc == null || this.soc.intValue() != this.soc) { // on change + if (this.soc == null || this.soc.intValue() != soc) { // on change log.info("Edge [" + this.getId() + "]: Update SoC to [" + soc + "]. It was [" + this.soc + "]"); this.soc = soc; this.onSetSoc.forEach(listener -> listener.accept(soc)); From d6b5f965fa2bbddd1b80c8d29ea6aedd51016d98 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Thu, 7 Jun 2018 10:02:43 +0200 Subject: [PATCH 42/50] Fix ConcurrentModificationException in Metadata --- .../src/io/openems/backend/metadata/odoo/Odoo.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java index b0403d596dc..60623917c87 100644 --- a/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java +++ b/io.openems.backend.metadata.odoo/src/io/openems/backend/metadata/odoo/Odoo.java @@ -299,8 +299,10 @@ public User authenticate(String sessionId) throws OpenemsException { @Override public int[] getEdgeIdsForApikey(String apikey) { - return this.edges.values().stream().filter(edge -> apikey.equals(edge.getApikey())) - .mapToInt(edge -> edge.getId()).toArray(); + synchronized (this.edges) { + return this.edges.values().stream().filter(edge -> apikey.equals(edge.getApikey())) + .mapToInt(edge -> edge.getId()).toArray(); + } } @Override From ba0d4867a642d500bf01ba0ffba9969d9f1adce3 Mon Sep 17 00:00:00 2001 From: Stefan Feilmeier Date: Sun, 10 Jun 2018 21:29:52 +0200 Subject: [PATCH 43/50] Improve docs + merge obsolete 'feature/improve-doc' branch --- doc/OpenEMS_EN.adoc | 508 ++++++++++- doc/OpenEMS_EN.html | 340 ++++++- doc/OpenEMS_EN.pdf | Bin 1467305 -> 1616526 bytes doc/_include/header.adoc | 1 - .../devices/_include/AsymmetricEssNature.adoc | 7 + .../_include/AsymmetricMeterNature.adoc | 15 + doc/_old/devices/_include/ChargerNature.adoc | 5 + doc/_old/devices/_include/EssNature.adoc | 9 + doc/_old/devices/_include/EvcsNature.adoc | 4 + doc/_old/devices/_include/MeterNature.adoc | 2 + .../devices/_include/SymmetricEssNature.adoc | 4 + .../_include/SymmetricMeterNature.adoc | 8 + doc/_old/devices/_include/Thing.adoc | 2 + doc/_old/devices/b-control/b-control.adoc | 59 ++ .../carlo_gavazzi_em300.adoc | 45 + doc/_old/devices/devices.adoc | 685 ++++++++++++++ .../fenecon_commercial.adoc | 846 ++++++++++++++++++ .../devices/fenecon_mini/fenecon_mini.adoc | 272 ++++++ .../janitza_umg96rm/janitza_umg96rm.adoc | 41 + .../keba_kecontact/keba_kecontact.adoc | 66 ++ .../kippzonen_pyranometer.adoc | 74 ++ .../kmtronic_relay/kmtronic_relay.adoc | 47 + doc/_old/devices/socomec/socomec.adoc | 50 ++ doc/_old/devices/wago/wago.adoc | 50 ++ doc/img/cycle-modbus.png | Bin 0 -> 45878 bytes doc/img/edge-cycle.png | Bin 0 -> 25907 bytes doc/img/input-process-output.png | Bin 0 -> 3297 bytes doc/img/input-process-scheduler-output.png | Bin 0 -> 8101 bytes 28 files changed, 3135 insertions(+), 5 deletions(-) create mode 100644 doc/_old/devices/_include/AsymmetricEssNature.adoc create mode 100644 doc/_old/devices/_include/AsymmetricMeterNature.adoc create mode 100644 doc/_old/devices/_include/ChargerNature.adoc create mode 100644 doc/_old/devices/_include/EssNature.adoc create mode 100644 doc/_old/devices/_include/EvcsNature.adoc create mode 100644 doc/_old/devices/_include/MeterNature.adoc create mode 100644 doc/_old/devices/_include/SymmetricEssNature.adoc create mode 100644 doc/_old/devices/_include/SymmetricMeterNature.adoc create mode 100644 doc/_old/devices/_include/Thing.adoc create mode 100644 doc/_old/devices/b-control/b-control.adoc create mode 100644 doc/_old/devices/carlo_gavazzi_em300/carlo_gavazzi_em300.adoc create mode 100644 doc/_old/devices/devices.adoc create mode 100644 doc/_old/devices/fenecon_commercial/fenecon_commercial.adoc create mode 100644 doc/_old/devices/fenecon_mini/fenecon_mini.adoc create mode 100644 doc/_old/devices/janitza_umg96rm/janitza_umg96rm.adoc create mode 100644 doc/_old/devices/keba_kecontact/keba_kecontact.adoc create mode 100644 doc/_old/devices/kippzonen_pyranometer/kippzonen_pyranometer.adoc create mode 100644 doc/_old/devices/kmtronic_relay/kmtronic_relay.adoc create mode 100644 doc/_old/devices/socomec/socomec.adoc create mode 100644 doc/_old/devices/wago/wago.adoc create mode 100644 doc/img/cycle-modbus.png create mode 100644 doc/img/edge-cycle.png create mode 100644 doc/img/input-process-output.png create mode 100644 doc/img/input-process-scheduler-output.png diff --git a/doc/OpenEMS_EN.adoc b/doc/OpenEMS_EN.adoc index a7e7aa9f23a..0a752c47a42 100644 --- a/doc/OpenEMS_EN.adoc +++ b/doc/OpenEMS_EN.adoc @@ -1,5 +1,6 @@ = OpenEMS: Open Energy Management System include::_include/header.adoc[] +:imagesdir: ./img == Introduction @@ -10,7 +11,7 @@ It was developed around the requirements of controlling, monitoring and integrat The OpenEMS 'Internet of Things' stack contains three main components: - * **OpenEMS Edge** runs on site and actually controls the devices + * **OpenEMS Edge** runs on-site and actually controls the devices * **OpenEMS UI** is the generic user interface * **OpenEMS Backend** runs on a (cloud) server, connects the decentralized Edge systems and provides aggregation, monitoring and control via internet @@ -97,7 +98,6 @@ This quick 'Getting Started' should help you setup up a complete development env .Cloning the git repository using Sourcetree image::sourcetree.png[Cloning the git repository using Sourcetree] - .. Alternatively: with the git command line utility ... open a console @@ -302,3 +302,507 @@ image::openems-ui-overview.png[OpenEMS UI Overview screen] image::openems-ui-edge-overview.png[OpenEMS UI Energymonitor screen] + NOTE: OpenEMS UI will complain that "no timedata source is available". Because of this the historic chart is not yet functional. + +== Core concepts & terminology + +This chapter describes some of the core concepts and commonly used terms in OpenEMS: + +=== Bundle + +OpenEMS Edge is using the https://en.wikipedia.org/wiki/OSGi[OSGi icon:external-link[]] platform to provide a completely modular and dynamic service oriented system. + +Logical groups of source code are put into one OSGi Bundle. Every directory in the source code root directory starting with 'io.openems.*' is a bundle. + +=== Component + +OpenEMS Edge is built of Components, i.e. every main component implements the link:../io.openems.edge.common/src/io/openems/edge/common/component/OpenemsComponent.java[OpenemsComponent interface icon:code[]]. + +By definition each Component has a unique ID. Those *Component-IDs* are typically: + +* `ess0` for the first storage system or battery inverter +* `ess1` for the second storage system or battery inverter +* ... +* `meter0` for the first meter in the system +* ... + +If you receive your OpenEMS together with a FENECON energy storage system, you will find the following Component-IDs: + +* FENECON Pro +** `ess0`: FENECON Pro Ess +// TODO link:../edge/src/io/openems/impl/device/pro/FeneconProEss.java[FENECON Pro Ess icon:code[]] +** `meter0`: Socomec grid meter +// TODO link:../edge/src/io/openems/impl/device/socomec/SocomecMeter.java[Socomec grid meter icon:code[]] +** `meter1`: FENECON Pro production meter +// TODO link:../edge/src/io/openems/impl/device/pro/FeneconProPvMeter.java[FENECON Pro production meter icon:code[]] + +* FENECON Mini +** `ess0`: FENECON Mini +// TODO link:../edge/src/io/openems/impl/device/minireadonly/FeneconMiniEss.java[FENECON Mini icon:code[]] +** `meter0`: FENECON Mini grid meter +// TODO link:../edge/src/io/openems/impl/device/minireadonly/FeneconMiniGridMeter.java[FENECON Mini grid meter icon:code[]] +** `meter1`: FENECON Mini production meter +// TODO link:../edge/src/io/openems/impl/device/minireadonly/FeneconMiniProductionMeter.java[FENECON Mini production meter icon:code[]] + +=== Channel + +Each OpenemsComponent provides a number of Channels. Each represents a single piece of information. Each Channel implements the link:../io.openems.edge.common/src/io/openems/edge/common/channel/Channel.java[Channel interface icon:code[]]. By definition each Channel has a unique ID within its parent Component. + +=== Nature + +Natures extend normal Java interfaces with 'Channels'. If a Component implements a Nature it also needs to provide the required Channels. For example the Energy Storage System (ESS) Simulator link:../io.openems.edge.simulator/src/io/openems/edge/simulator/ess/symmetric/reacting/EssSymmetric.java[Simulator.EssSymmetric.Reacting icon:code[]] implements the link:../io.openems.edge.ess.api/src/io/openems/edge/ess/api/Ess.java[Ess interface icon:code[]] and therefor needs to provide a `Soc` Channel that provides the current 'State of Charge' of the battery. + +<>s are written against Nature implementations. Example: A Controller can be used with any ESS, because it can be sure that it provides all the data the Controller requires for its algorithm. + +// TODO: add link to all Natures below. Existing Nature implementations are described below. + +=== Channel Address + +By combining the unique *Component-ID* and *Channel-ID* each Channel in the system can be addressed by a distinct 'Channel Address' in the form `Component-ID/Channel-ID`. + +Example: the state of charge ("Soc") of the first energy storage system ("ess0") has the channel address `ess0/Soc`. + +=== Scheduler + +_see <> below + +// TODO: add link to all Schedulers below. Existing Scheduler implementations are described below. + +=== Controller + +The actual business logic or algorithms are wrapped as 'Controllers'. i.e. they implement the link:../io.openems.edge.controller.api/src/io/openems/edge/controller/api/Controller.java[Controller interface icon:code[]]. Each Controller holds one specific, encapsulated task. + +// TODO: add link to all Controllers below. Existing Controller implementations are described below. + +== OpenEMS Edge + +OpenEMS Edge is the core component of the energy management that runs on-site and is responsible for communicating with and controling of external hardware like battery systems, inverters, meters and so on. + +=== Architecture + +The OpenEMS Edge software architecture is carefully designed to abstract device communication and control algorithms in a way to provide maximum flexibility, predictability and stability, while simplifying the process of implementing new components. + +==== Input-Process-Output + +OpenEMS Edge is built around the well-known IPO (input-process-output) model which defines the internal execution cycle. + +.Input-Process-Output model +image::input-process-output.png[Input-Process-Output model] + +Input:: +During the input phase all relevant information - e.g. the current 'state of charge' of a battery - is collected and provided as a *process image*. This process image is guaranteed to never change during the cycle. + +Process:: +The process phase runs algorithms and tasks based on the process image - e.g. an algorithm uses the 'state of charge' information to evaluate whether a digital output should be turned on. + +Output:: +The output phase takes the results from the process phase and applies it - e.g. it turns the digital output on or off. + +==== Scheduler and Controller + +During the 'process' phase different algorithms (Controllers) might try to access the same resources - e.g. two Controllers try to switch the same digital output. It is therefor necessary to prioritize their execution and restrict access according to priority. + +OpenEMS Edge uses Scheduler implementations to receive a sorted list of Controllers. The Controllers are then executed in order. Later executed Controllers are not allowed to overwrite a previously written result. + +.IPO model with Scheduler and Controllers +image::input-process-scheduler-output.png[IPO model with Scheduler and Controllers] + +==== Cycle + +The input-process-output model in OpenEMS Edge is executed in a Cycle - implemented by the link:../io.openems.edge.core/src/io/openems/edge/cycle/Cycle.java[Cycle component icon:code[]]). It handles the setting of a process image in the input phase and executes the Controllers in the process phase. Furthermore it emits Cycle Events that can be used in other Components to synchronize with the Cycle. + +.OpenEMS Edge Cycle +image::edge-cycle.png[OpenEMS Edge Cycle] + +==== Asynchronous threads and Cycle synchronization + +Communication with external hardware and services needs to be executed in asynchronous threads to not block the system. At the same time, those threads need to synchronize with the Cycle. + +The following example shows, how the link:../io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/AbstractModbusBridge.java[Modbus implementation icon:code[]] uses Cycle Events to synchronize with the Cycle: + +.Synchronize Cycle with Modbus read/write +image::cycle-modbus.png[Synchronize Cycle with Modbus read/write] + +=== Configuration + +// OpenEMS Edge is using a central configuration file in `etc/openems.d/config.json` where all its components - Bridge, Device, Nature, Scheduler, Controller and Peristence - are defined and configured. + +// As an example we will discuss a stripped down configuration of a 'FENECON Commercial' energy storage system. More example configurations can be found in the link:../setup/templates[setup templates icon:code[]]. + +// [source,json] +// ---- +// { +// "things": [ <1> +// ---- +// <1> all Bridges, Devices and Natures are defined within the "things" object. + +// [source,json] +// ---- +// { +// "class": "io.openems.impl.protocol.modbus.ModbusTcp", <1> +// "ip": "10.4.0.15", <2> +// "devices": [ <3> +// { +// "class": "io.openems.impl.device.commercial.FeneconCommercialAC", <4> +// "modbusUnitId": 100, <5> +// "ess": { <6> +// "id": "ess0", <7> +// "minSoc": 15 +// } +// } +// ] +// }, +// ---- +// <1> defines a Modbus/TCP bridge by its Java implementation class +// // TODO: link to ModbusTcp) +// <2> sets the target IP address of the Modbus/TCP device +// <3> Devices are defined within the "devices" array of a bridge +// <4> defines a 'FENECON Commercial AC' Device by its Java implementation class +// // TODO: link to FeneconCommercialAC +// <5> sets the modbus unit ID (which is always 100 for a FENECON Commercial) +// <6> configures the "Ess" nature of the Device +// <7> sets the unique ID "ess0" for this nature. This ID is going to be used later in the Controllers. + +// [source,json] +// ---- +// { +// "class": "io.openems.impl.protocol.modbus.ModbusRtu", <1> +// "serialinterface": "/dev/ttyUSB0", <2> +// "baudrate": 9600, +// "databits": 8, +// "parity": "none", +// "stopbits": 1, +// "devices": [ +// { +// "class": "io.openems.impl.device.socomec.Socomec", <3> +// "modbusUnitId": 5, +// "meter": { <4> +// "id": "meter0", <5> +// "type": "grid" +// } +// } +// ] +// } +// ---- +// <1> defines a Modbus/RTU bridge by its Java implementation class +// // TODO: link to ModbusRtu +// <2> configures the RS485-connection (interface, baudrate, databits, parity, stopbits) +// <3> defines a 'Socomec Meter' Device by its Java implementation class +// // TODO: link to Socomec +// <4> configures the "Meter" nature of the Device +// <5> sets the unique ID "meter0" for this nature. This ID is going to be used later in the Controllers. + +// [source,json] +// ---- +// ], +// "scheduler": { <1> +// "class": "io.openems.impl.scheduler.SimpleScheduler", <2> +// "controllers": [ +// ---- +// <1> the Scheduler and all Controllers are defined within the "scheduler" object. +// <2> defines the Scheduler by its Java implementation class + +// NOTE: This configuration uses the 'SimpleScheduler' which is executing the Controllers according to their 'priority' - starting with the highest value. +// // TODO: link to SimpleScheduler + +// [source,json] +// ---- +// { +// "priority": 150, <1> +// "class": "io.openems.impl.controller.debuglog.DebugLogController", <2> +// "esss": "ess0", <3> +// "meters": "meter0" +// }, +// ---- +// <1> sets the 'priority' of this Controller. '150' is higher than any other priority in this configuration, so it will be executed first. +// <2> defines the 'DebugLogController' by its Java implementation class +// // TODO: link to DebugLogController +// <3> this Controller can be configured to take certain IDs for its output. + +// NOTE: The 'DebugLogController' is helpful for debugging as it logs information about each Nature on every execution. The configuration above will produce continuous outputs like this: + +// `[INFO ] [g.DebugLogController:106] + +// meter0 [L:60 W;-2740 var|L1:0 W;0 var|L2:0 W;0 var|L3:0 W;0 var] + +// ess0 [SOC:99 %|L:600 W;300 var|Allowed:-12000 W;40000 W|GridMode:On-Grid]` + +// [source,json] +// ---- +// { +// "priority": 100, +// "class": "io.openems.impl.controller.symmetric.avoidtotaldischarge.AvoidTotalDischargeController", <1> +// "esss": "ess0" +// }, +// ---- +// <1> defines the 'AvoidTotalDischargeController' by its Java implementation class +// // TODO: link to AvoidTotalDischargeController + +// NOTE: The 'AvoidTotalDischargeController' takes care of the secure function of a storage system by avoiding total discharging and force charging the battery from the grid if necessary. + +// [source,json] +// ---- +// { +// "priority": 50, +// "class": "io.openems.impl.controller.symmetric.balancing.BalancingController", <1> +// "esss": "ess0", +// "meter": "meter0" +// } +// ---- +// <1> defines the 'BalancingController' by its Java implementation class +// // TODO: link to BalancingController + +// NOTE: The 'BalancingController' optimizes the self-consumption of a local electric generator like a photovoltaics installation. It watches the grid-meter and tries to keep it on zero by charging or discharching the battery. + +// [source,json] +// ---- +// ] +// }, +// "persistence": [ <1> +// ---- +// <1> the Persistence services are defined within the "persistence" array. + +// [source,json] +// ---- +// { +// "class": "io.openems.impl.persistence.influxdb.InfluxdbPersistence", <1> +// "ip": "127.0.0.1", <2> +// "fems": "0" <3> +// }, +// ---- +// <1> defines the 'InfluxdbPersistence' by its Java implementation class +// // TODO: link to InfluxdbPersistence +// <2> sets the IP address of the InfluxDB server. +// <3> sets the "fems"-ID which allows multiple OpenEMS instances to store data to the same InfluxDB. + +// NOTE: The 'InfluxdbPersistence' stores the continuous data of all Channels in an https://www.influxdata.com/[InfluxDB]. + +// [source,json] +// ---- +// { +// "class": "io.openems.impl.persistence.fenecon.FeneconPersistence", <1> +// "apikey": "###APIKEY###" <2> +// } +// ---- +// <1> defines the 'FeneconPersistence' by its Java implementation class +// // TODO: link to FeneconPersistence +// <2> sets the apikey which authenticates this OpenEMS at the Backend + +// NOTE: The 'FeneconPersistence' is handling the connection to the OpenEMS Backend server. + +// [source,json] +// ---- +// ] +// } +// ---- + +=== Hardware + +==== Natures + +// === ESS (Energy Storage System) + +// * link:../edge/src/io/openems/api/device/nature/ess/EssNature.java[EssNature icon:code[]] +// ** Soc +// ** SystemState +// ** AllowedCharge, AllowedDischarge +// ** Capacity +// * link:../edge/src/io/openems/api/device/nature/ess/AsymmetricEssNature.java[AsymmetricEssNature icon:code[]] extends EssNature +// ** ActivePowerL1, ActivePowerL2, ActivePowerL3 +// ** ReactivePowerL1, ReactivePowerL2, ReactivePowerL3 +// * link:../edge/src/io/openems/api/device/nature/ess/SymmetricEssNature.java[SymmetricEssNature icon:code[]] extends EssNature +// ** ActivePower +// ** ReactivePower +// * link:../edge/src/io/openems/impl/device/minireadonly/FeneconMiniEss.java[FENECON Mini (readonly) icon:code[]] implements AsymmetricEssNature +// * link:../edge/src/io/openems/impl/device/pro/FeneconProEss.java[FENECON Pro 9-12 icon:code[]] implements AsymmetricEssNature +// * link:../edge/src/io/openems/impl/device/commercial/FeneconCommercialEss.java[FENECON Commercial 40-40 icon:code[]] implements SymmetricEssNature + +// === Meter + +// * link:../edge/src/io/openems/api/device/nature/meter/MeterNature.java[MeterNature icon:code[]] +// ** Type +// * link:../edge/src/io/openems/api/device/nature/meter/AsymmetricMeterNature.java[AsymmetricMeterNature icon:code[]] extends MeterNature +// ** ActivePowerL1, ActivePowerL2, ActivePowerL3 +// ** ReactivePowerL1, ReactivePowerL2, ReactivePowerL3 +// * link:../edge/src/io/openems/api/device/nature/meter/SymmetricMeterNature.java[SymmetricMeterNature icon:code[]] extends MeterNature +// ** ActivePower +// ** ReactivePower +// * link:../edge/src/io/openems/impl/device/socomec/SocomecMeter.java[Socomec icon:code[]] implements SymmetricMeterNature and AsymmetricMeterNature +// * link:../edge/src/io/openems/impl/device/pro/FeneconProPvMeter.java[FENECON Pro production meter icon:code[]] implements SymmetricMeterNature and AsymmetricMeterNature + +// The hardware abstraction was briefly discussed in the <<_architecture>> chapter. +// A *Device* represents an external hardware or service as its 'digital twin'. A Nature represents a specific class of hardware or service with a defined set of Channels, like an energy storage system ("EssNature") or an electric meter ("MeterNature"). + +// The following natures are currently available in OpenEMS: + +// == Charger + +// A Charger is a solar charger that is connected to DC side of an energy storage system. Example: FENECON Commercial DC comes with two Chargers. + +// * link:../edge/src/io/openems/api/device/nature/charger/ChargerNature.java[ChargerNature icon:code[]] + +// [[EssNature]] +// [[EssSymmetricNature]] +// [[AsymmetricEssNature]] +// == Energy Storage System (ESS) + +// An Energy Storage System is an integrated system with battery and battery inverter. Example: FENECON Pro 9-12, FENECON Mini. + +// * link:../edge/src/io/openems/api/device/nature/ess/EssNature.java[EssNature icon:code[]] +// ** *GridMode*: Off-Grid/On-Grid state +// ** *Soc*: State of Charge in percent [%]. +// ** *AllowedCharge*/*AllowedDischarge*: maximum allowed charge/discharge power in Watt [W]. +// ** *Capacity*: capacity of the battery in Watt-hours [Wh]. +// ** *MaxNominalPower*: maximum nominal power in Watt [W]. + +// * link:../edge/src/io/openems/api/device/nature/ess/EssSymmetricNature.java[EssSymmetricNature icon:code[]] +// ** *ActivePower*: charge/discharge active power in Watt [W]. +// ** *ReactivePower*: charge/discharge reactive power in volt-ampere reactive [var]. +// ** *ApparentPower*: apparent power in volt-ampere [VA]. + +// * link:../edge/src/io/openems/api/device/nature/ess/AsymmetricEssNature.java[AsymmetricEssNature icon:code[]] +// ** *ActivePowerL1*: charge/discharge active power on L1 in Watt [W]. +// ** *ActivePowerL2* +// ** *ActivePowerL3* +// ** *ReactivePowerL1*: charge/discharge reactive power on L1 in volt-ampere reactive [var]. +// ** *ReactivePowerL2* +// ** *ReactivePowerL3* + +// [[EvcsNature]] +// == Electric Vehicle Charging Station (EVCS) + +// A charging station for electric vehicles like e-cars and e-buses. Example: KEBA KeContact. + +// * link:../edge/src/io/openems/api/device/nature/evcs/EvcsNature.java[EvcsNature icon:code[]] +// ** *SetCurrent*: set the charge current in milliampere [mA] + +// [[InputNature]] +// [[OutputNature]] +// == Digital Input/Output + +// Digital inputs and digital/relay outputs. Example: WAGO 750 Fieldbus, KMTronic Relais Board. + +// * link:../edge/src/io/openems/api/device/nature/io/InputNature.java[InputNature icon:code[]] +// * link:../edge/src/io/openems/api/device/nature/io/OutputNature.java[OutputNature icon:code[]] + +// [[MeterNature]] +// [[SymmetricMeterNature]] +// [[AsymmetricMeterNature]] +// == Electric Meter + +// Electric meter. Example: Meter at grid connection point, Socomec meter. + +// * link:../edge/src/io/openems/api/device/nature/meter/MeterNature.java[MeterNature icon:code[]] +// ** *Type*: type of the meter, e.g. "grid", "production" + +// * link:../edge/src/io/openems/api/device/nature/meter/SymmetricMeterNature.java[SymmetricMeterNature icon:code[]] +// ** *ActivePower*: measured active power in Watt [W]. +// ** *ReactivePower*: measured reactive power in volt-ampere reactive [var]. + +// * link:../edge/src/io/openems/api/device/nature/meter/AsymmetricMeterNature.java[AsymmetricMeterNature icon:code[]] +// ** *ActivePowerL1*: measured active power on L1 in Watt [W]. +// ** *ActivePowerL2* +// ** *ActivePowerL3* +// ** *ReactivePowerL1*: measured reactive power on L1 in volt-ampere reactive [var]. +// ** *ReactivePowerL2* +// ** *ReactivePowerL3* + + +==== Bridges + +// A *Bridge* represents the connection layer to a physical hardware device and implements communication protocols like Modbus/TCP, Modbus/RTU or other vendor specific implementations. +// == Modbus/TCP + +// https://en.wikipedia.org/wiki/Modbus[Modbus/TCP icon:external-link[]] is a widely used standard for fieldbus connections via TCP/IP network. It is used by all kinds of hardware devices like photovoltaics inverters, electric meters, and so on. + +// OpenEMS configuration: +// [source,json] +// ---- +// { +// "class": "io.openems.impl.protocol.modbus.ModbusTcp", +// "ip": "192.168.0.1", <1> +// "port": 502, <2> +// "devices": [ +// ... <3> +// ] +// } +// ---- +// <1> IP address +// <2> Port (optional, defaults to `502`) +// <3> Configuration of deviceNatures (see below) + +// Implementation: link:../edge/src/io/openems/impl/protocol/modbus/ModbusTcp.java[io.openems.impl.protocol.modbus.ModbusTcp icon:code[]] + +// == Modbus/RTU + +// https://en.wikipedia.org/wiki/Modbus[Modbus/RTU icon:external-link[]] is a widely used standard for fieldbus connections via RS485 bus. It is used by all kinds of hardware devices like photovoltaics inverters, electric meters, and so on. + +// OpenEMS configuration: +// [source,json] +// ---- +// { +// "class": "io.openems.impl.protocol.modbus.ModbusRtu", +// "serialinterface": "/dev/ttyUSB0", <1> +// "baudrate": 9600, <2> +// "databits": 8, <3> +// "parity": "none", <4> +// "stopbits": 1, <5> +// "devices": [ +// ... <6> +// ] +// } +// ---- +// <1> Serial interface (e.g. `/dev/ttyUSB0`, `COM3`) +// <2> RS485 baudrate (e.g. `9600`, `19200`, `38400`, `115200`) +// <3> RS485 databits (e.g. `8`) +// <4> RS485 parity (e.g. `none`, `even`, `odd`) +// <5> RS485 stopbits (e.g. `1`, `1.5`, `2`) +// <6> Configuration of deviceNatures (see below) + +// Implementation: link:../edge/src/io/openems/impl/protocol/modbus/ModbusRtu.java[io.openems.impl.protocol.modbus.ModbusRtu icon:code[]] + +==== Devices & Services + +// == KEBA KeContact + +// The KEBA KeContact bridge is an implementation of the UDP protocol for KEBA KeContact electric vehicle charging stations. It has no specific configuration in itself, as the configuration is happening in the DeviceNature. + +// OpenEMS configuration: +// [source,json] +// ---- +// { +// "class": "io.openems.impl.protocol.keba.KebaBridge", +// "devices": [ +// ... <1> +// ] +// } +// ---- +// <1> Configuration of KEBA deviceNatures (see below) + +// Implementation: link:../edge/src/io/openems/impl/protocol/keba/KebaBridge.java[io.openems.impl.protocol.keba.KebaBridge icon:code[]] + +==== Implementing a Device + +=== Scheduler + +==== Existing Schedulers + +==== Developing a Scheduler + +=== Controller + +==== Existing Controllers + +==== Developing a Controller + + +== OpenEMS UI + +=== Architecture + +=== Configuration + +=== FAQ +// TODO * negative consumption + +== OpenEMS Backend + +=== Architecture + +=== Configuration diff --git a/doc/OpenEMS_EN.html b/doc/OpenEMS_EN.html index a068af027d3..33e3d97e523 100644 --- a/doc/OpenEMS_EN.html +++ b/doc/OpenEMS_EN.html @@ -449,6 +449,63 @@

      OpenEMS: Open Energy Management System

    2. 2.5. Run OpenEMS UI
    3. +
    4. 3. Core concepts & terminology + +
    5. +
    6. 4. OpenEMS Edge + +
    7. +
    8. 5. OpenEMS UI + +
    9. +
    10. 6. OpenEMS Backend + +
    @@ -468,7 +525,7 @@