diff --git a/README.md b/README.md index 5b7ed2ec..b124dda0 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -# guh +# nymea -------------------------------------------- -*guh* (/[guːh]/ - pronounced German and sounds like "*goo*") is an open source IoT (Internet of Things) server, which allows to control a lot of different devices from many different manufacturers. With the powerful rule engine you are able to connect any device available in the system and create individual scenes and behaviors for your environment. +*nymea* is an open source IoT (Internet of Things) server, which allows to control a lot of different devices from many different manufacturers. With the powerful rule engine you are able to connect any device available in the system and create individual scenes and behaviors for your environment. ## Getting started -------------------------------------------- -In order to getting started with *guh* and find information you can take a look at following links: +In order to getting started with *nymea* and find information you can take a look at following links: -* A detailed description how to install and getting started with the *guh* can be found in the +* A detailed description how to install and getting started with the *nymea* can be found in the - [guh | github wiki](https://github.com/guh/guh/wiki). + [nymea | github wiki](https://github.com/guh/guh/wiki). * A detailed documentation of the source code can be found in the - [guh | developer documentation](https://developers.guh.io). + [nymea | developer documentation](https://doc.nymea.io). ## Donate @@ -24,5 +24,5 @@ We are grateful for any help! ## License -------------------------------------------- -> guh is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License. +> nymea is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License. diff --git a/doc/allclasses.qdoc b/doc/allclasses.qdoc index ceb4861c..6eaa8384 100644 --- a/doc/allclasses.qdoc +++ b/doc/allclasses.qdoc @@ -1,6 +1,6 @@ /*! \page classes.html - \title All guh Classes + \title All nymea Classes \generatelist classes \generatelist overviews diff --git a/doc/allmodules.qdoc b/doc/allmodules.qdoc index a1e81b33..34ad63e3 100644 --- a/doc/allmodules.qdoc +++ b/doc/allmodules.qdoc @@ -1,11 +1,11 @@ /*! \page allmodules.html - \title All guh Modules + \title All nymea Modules \table 80% - \row \li \l{guhserver} \li The guh server daemon implementation - \row \li \l{libguh} \li Common data types and plugin interfaces - \row \li \l{Plugins} \li The device plugins of the guh server + \row \li \l{nymeaserver} \li The nymea server daemon implementation + \row \li \l{libnymea} \li Common data types and plugin interfaces + \row \li \l{Plugins} \li The device plugins of the nymea server \endtable \generatelist legalese-command diff --git a/doc/api.qdoc b/doc/api.qdoc index 4f6b194c..2ca31251 100644 --- a/doc/api.qdoc +++ b/doc/api.qdoc @@ -1,14 +1,14 @@ /*! \page api.html - \title Overview of guh API's + \title Overview of nymea API's - The guh server provides two different API's: + The nymea server provides two different API's: \list \li \l{JSON-RPC API}{JSON-RPC} \li \l{https://github.com/guh/guh/wiki/REST-API}{REST} \endlist - The \l{https://github.com/guh/guh/wiki/REST-API}{REST API} is accessable on the \l{guhserver::WebServer}{WebServer}. The JSON-RPC API can be accessed from the \l {guhserver::TcpServer}{TcpServer} and the \l {guhserver::WebSocketServer}{WebSocketServer} interface. The command line interface \b {\tt guh-cli} communicates with the \l {guhserver::TcpServer}{TcpServer} and \l {JSON-RPC API}. The \b {\tt guh-webinterface} uses the \l{guhserver::WebServer}{WebServer} with the \l{https://github.com/guh/guh/wiki/REST-API}{REST-API} and catches notifications from the \l {guhserver::WebSocketServer}{WebSocketServer}. + The \l{https://github.com/guh/guh/wiki/REST-API}{REST API} is accessable on the \l{nymeaserver::WebServer}{WebServer}. The JSON-RPC API can be accessed from the \l {nymeaserver::TcpServer}{TcpServer} and the \l {nymeaserver::WebSocketServer}{WebSocketServer} interface. The command line interface \b {\tt nymea-cli} communicates with the \l {nymeaserver::TcpServer}{TcpServer} and \l {JSON-RPC API}. The \b {\tt nymea-webinterface} uses the \l{nymeaserver::WebServer}{WebServer} with the \l{https://github.com/guh/guh/wiki/REST-API}{REST-API} and catches notifications from the \l {nymeaserver::WebSocketServer}{WebSocketServer}. \image api-overview.png diff --git a/doc/coap.qdoc b/doc/coap.qdoc index a3922af1..6b92092c 100644 --- a/doc/coap.qdoc +++ b/doc/coap.qdoc @@ -2,7 +2,7 @@ \page coap-overview.html \title CoAP - In order to interact with a CoAP (Constrained Application Protocol) server guh provides following classes: + In order to interact with a CoAP (Constrained Application Protocol) server nymea provides following classes: \annotatedlist coap diff --git a/doc/config.qdocconf b/doc/config.qdocconf index cd96a88c..6e4933bb 100644 --- a/doc/config.qdocconf +++ b/doc/config.qdocconf @@ -1,6 +1,6 @@ include(html-template.qdocconf) -project = guh - developer +project = nymea - developer description = Developer documentation! dita.metadata.default.author = Simon Stürz @@ -22,7 +22,7 @@ outputencoding = UTF-8 sourceencoding = UTF-8 syntaxhighlighting = true -versionsym = GUH_VERSION_STRING +versionsym = NYMEA_VERSION_STRING headerdirs = .. headers.fileextensions = "*.h" diff --git a/doc/deviceplugins.qdoc b/doc/deviceplugins.qdoc index 9539fb47..f7412630 100644 --- a/doc/deviceplugins.qdoc +++ b/doc/deviceplugins.qdoc @@ -2,7 +2,7 @@ \page deviceplugins.html \title Device Plugins - \brief This is the API for implementing guh device plugins. + \brief This is the API for implementing nymea device plugins. When creating a device plugin, start by subclassing \l{DevicePlugin} and filling in information for the pure virtual methods. diff --git a/doc/getting-started-plugins.qdoc b/doc/getting-started-plugins.qdoc index e31f9bae..1ecd8d07 100644 --- a/doc/getting-started-plugins.qdoc +++ b/doc/getting-started-plugins.qdoc @@ -1,14 +1,14 @@ /*! \page getting-started-plugins.html \title Getting Started - \brief Understanding the basic concept of guh plugins + \brief Understanding the basic concept of nymea plugins \b{\unicode{0x2192} \underline{\l{https://www.youtube.com/watch?v=B8oqItKCcgU}{Video for this tutorial}}} - Plugins in guh are used to exand the functionalitys and capabilitys of the guh server. A plugin is basically a shared library, which will be loaded dynamically from the guh server during the start up process. Each plugin has a \e name, a \e uuid and a list of supported \e vendors which will be visible in the system once the plugin is loaded. Each of thouse \l{Vendor}{Vendors} contains a list of supported \l{DeviceClass}{DeviceClasses}. A \l{DeviceClass} describes how the supported \l{Device} looks like, how it will be created (\l{DeviceClass::CreateMethod}{CreateMethod}), how the setup (\l{DeviceClass::SetupMethod}{SetupMethod}) looks like and what you can do with the \l{Device}. + Plugins in nymea are used to exand the functionalitys and capabilitys of the nymea server. A plugin is basically a shared library, which will be loaded dynamically from the nymea server during the start up process. Each plugin has a \e name, a \e uuid and a list of supported \e vendors which will be visible in the system once the plugin is loaded. Each of thouse \l{Vendor}{Vendors} contains a list of supported \l{DeviceClass}{DeviceClasses}. A \l{DeviceClass} describes how the supported \l{Device} looks like, how it will be created (\l{DeviceClass::CreateMethod}{CreateMethod}), how the setup (\l{DeviceClass::SetupMethod}{SetupMethod}) looks like and what you can do with the \l{Device}. \section1 Devices - A device in guh can represent a real device, a gateway or even a service like weather. When you want to represent you own device / service in guh, you should try to abstract that device and think in terms like: + A device in nymea can represent a real device, a gateway or even a service like weather. When you want to represent you own device / service in nymea, you should try to abstract that device and think in terms like: \list \li \l{ParamType}{ParamTypes} \unicode{0x2192} A \l{Device} can have \l{Param}{Params}, which will be needed to set up the device (like IP addresses or device configurations) and give information for the user like name or location. The \l{ParamType} represents the description of an actual \l{Param}. @@ -20,10 +20,10 @@ The \l{DeviceClass} represents the description of an actual \l{Device}. \section1 Hardware resources - The \e libguh provides a list of \l{Hardware Resources}{HardwareResources}, which can be used in every plugin. When sou start writing a plugin, you need to know which resource you will need. Each resource provides it's own interface for a \l{DevicePlugin}. In the plugin you don't have to take care about the resource. + The \e libnymea provides a list of \l{Hardware Resources}{HardwareResources}, which can be used in every plugin. When sou start writing a plugin, you need to know which resource you will need. Each resource provides it's own interface for a \l{DevicePlugin}. In the plugin you don't have to take care about the resource. \section1 Getting started with a plugin - In order to show how a plugin ist structured here is an example of the most minimalistic device plugin possible for the guh system. + In order to show how a plugin ist structured here is an example of the most minimalistic device plugin possible for the nymea system. For an easier start we provide a set of plugin templates which can be used for your own plugin and to have a basic for the tutorials described in this documentation. You can get the templates with following command: @@ -56,7 +56,7 @@ \code include(plugins.pri) - TARGET = $$qtLibraryTarget(guh_devicepluginminimal) + TARGET = $$qtLibraryTarget(nymea_devicepluginminimal) message("Building $$deviceplugin$${TARGET}.so") @@ -69,15 +69,15 @@ The \b TARGET parameter definens the name of the resulting plugin lib file and should should have following name structure: - \tt {guh_deviceplugin\b} + \tt {nymea_deviceplugin\b} - In this example the pluginname is \e minimal, which means the lib file name will be \e guh_devicepluginminimal.so. You can check the name of the plugin in the "Project Messages" (\tt{alt + 6} in Qt Creator). + In this example the pluginname is \e minimal, which means the lib file name will be \e nymea_devicepluginminimal.so. You can check the name of the plugin in the "Project Messages" (\tt{alt + 6} in Qt Creator). The \b SOURCES and \b HEADERS variables define the \tt .cpp and \tt .h files of your plugin like in any other Qt project. \section3 plugins.pri - The \tt plugins.pri file contains all relevant definitions and configuration to build a plugin. Each plugin must contain this file and \underline{should not} be changed. In this file the precompiler \b guh-generateplugininfo will be called. + The \tt plugins.pri file contains all relevant definitions and configuration to build a plugin. Each plugin must contain this file and \underline{should not} be changed. In this file the precompiler \b nymea-generateplugininfo will be called. \code TEMPLATE = lib CONFIG += plugin @@ -87,19 +87,19 @@ QMAKE_CXXFLAGS += -Werror -std=c++11 QMAKE_LFLAGS += -std=c++11 - INCLUDEPATH += /usr/include/guh - LIBS += -lguh + INCLUDEPATH += /usr/include/nymea + LIBS += -lnymea infofile.output = plugininfo.h - infofile.commands = /usr/bin/guh-generateplugininfo ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} - infofile.depends = /usr/bin/guh-generateplugininfo + infofile.commands = /usr/bin/nymea-generateplugininfo ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} + infofile.depends = /usr/bin/nymea-generateplugininfo infofile.CONFIG = no_link JSONFILES = deviceplugin"$$TARGET".json infofile.input = JSONFILES QMAKE_EXTRA_COMPILERS += infofile - target.path = /usr/lib/guh/plugins/ + target.path = /usr/lib/nymea/plugins/ INSTALLS += target \endcode @@ -111,7 +111,7 @@ \endcode \section3 devicepluginminimal.json - The properties of a plugin will be definend with in the \tt JSON file containing all needed information for guh to load it. The name convention fot the json file is: + The properties of a plugin will be definend with in the \tt JSON file containing all needed information for nymea to load it. The name convention fot the json file is: \tt {deviceplugin\b{}.json} @@ -172,7 +172,7 @@ { Q_OBJECT - Q_PLUGIN_METADATA(IID "guru.guh.DevicePlugin" FILE "devicepluginminimal.json") + Q_PLUGIN_METADATA(IID "io.nymea.DevicePlugin" FILE "devicepluginminimal.json") Q_INTERFACES(DevicePlugin) public: diff --git a/doc/guhserver.qdoc b/doc/guhserver.qdoc deleted file mode 100644 index dbd3d2b5..00000000 --- a/doc/guhserver.qdoc +++ /dev/null @@ -1,7 +0,0 @@ -/*! - \namespace guhserver - \brief The namespace for the guh server. - \inmodule core - - This namespace represents the whole guh server. This prevents duplicated class names in plugin and core. -*/ diff --git a/doc/hardware.qdoc b/doc/hardware.qdoc index c1166b5b..46856534 100644 --- a/doc/hardware.qdoc +++ b/doc/hardware.qdoc @@ -2,5 +2,7 @@ \page hardware.html \title Hardware Resources + \brief This is the list of nymea hardware resources. + \annotatedlist hardware */ diff --git a/doc/html-styles.qdocconf b/doc/html-styles.qdocconf index a034841f..afe09c6c 100644 --- a/doc/html-styles.qdocconf +++ b/doc/html-styles.qdocconf @@ -29,7 +29,7 @@ HTML.headerstyles = \ " \n" \ " \n" \ " \n" \ - " \n" \ + " \n" \ " \n" \ " \n" \ " \n" \ diff --git a/doc/html-template.qdocconf b/doc/html-template.qdocconf index 2865b456..5d083813 100644 --- a/doc/html-template.qdocconf +++ b/doc/html-template.qdocconf @@ -2,21 +2,21 @@ include(html-styles.qdocconf) HTML.postheader = \ "
\n" \ - "