diff --git a/anel/README.md b/anel/README.md
new file mode 100644
index 00000000..f3add9ce
--- /dev/null
+++ b/anel/README.md
@@ -0,0 +1,7 @@
+# ANEL Elektronik devices
+
+This plugin allows to make use of ANEL Elektronik NET-PwrCtrl controlled powet sockets.
+
+See [https://anel-elektronik.de](https://anel-elektronik.de/) for a detailed description of the devices.
+
+
diff --git a/anel/devicepluginanel.cpp b/anel/devicepluginanel.cpp
index 4be20b4c..d0fb7647 100644
--- a/anel/devicepluginanel.cpp
+++ b/anel/devicepluginanel.cpp
@@ -20,25 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page anel.html
- \title ANEL Elektronik devices
- \brief Plugin for ANEL Elektronik NET-PwrCtrl network controlled power sockets.
-
- \ingroup plugins
- \ingroup nymea-plugins-maker
-
- This plugin allows to make use of ANEL Elektronik NET-PwrCtrl controlled powet sockets.
-
- See https://anel-elektronik.de/ for a detailed description of the devices.
-
- \chapter Plugin properties
- When adding a device it will detect the type of the panel and create a gateway device and a powersocket
- device for each of the available sockets on the panel.
-
- \quotefile plugins/deviceplugins/tasmota/devicepluginanel.json
-*/
-
/*
Example reply for HOME and PRO:
diff --git a/avahimonitor/README.md b/avahimonitor/README.md
new file mode 100644
index 00000000..91559864
--- /dev/null
+++ b/avahimonitor/README.md
@@ -0,0 +1,7 @@
+# Avahi Monitor
+
+This plugin allows you to discover and monitor zeroconf based services in the local network.
+
+This allows also to monitor the existence of a certain device in the network or just a special service of interest.
+
+More information and explanation of zeroconf can be found [here](http://www.zeroconf.org/).
diff --git a/avahimonitor/devicepluginavahimonitor.cpp b/avahimonitor/devicepluginavahimonitor.cpp
index 8104f777..47b2927a 100644
--- a/avahimonitor/devicepluginavahimonitor.cpp
+++ b/avahimonitor/devicepluginavahimonitor.cpp
@@ -21,24 +21,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page avahimonitor.html
- \title Avahi Monitor
- \brief Plugin to monitor zeroconf devices in the local network.
-
- \ingroup plugins
- \ingroup nymea-plugins-maker
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/avahimonitor/devicepluginavahimonitor.json
-*/
-
-
#include "devicepluginavahimonitor.h"
#include "plugin/device.h"
diff --git a/awattar/README.md b/awattar/README.md
new file mode 100644
index 00000000..9843f9d8
--- /dev/null
+++ b/awattar/README.md
@@ -0,0 +1,27 @@
+# aWATTar
+
+This plugin allows to receive the current energy market price from the [aWATTar GmbH](https://www.awattar.com/).
+In order to use this plugin you need to enter the access token from your energy provider. You can find more
+information about you accesstoken [here](https://www.awattar.com/api-unser-datenfeed).
+
+## Available data
+
+In following chart you can see an example of the market prices from -12 hours to + 12 hours from the current
+time (0).The green line describes the current market price, the red point line describes the average
+price of this interval and the red line describes the deviation. If the deviation is positiv, the current
+price is above the average, if the deviation is negative, the current price is below the average.
+
+* -100 % current price equals lowest price in the interval [-12h < now < + 12h]
+* 0 % current price equals average price in the interval [-12h < now < + 12h]
+* +100 % current price equals highest price in the interval [-12h < now < + 12h]
+
+
+
+# Heat pump
+
+Information about the smart grid modes can be found [here](https://www.waermepumpe.de/sg-ready/).
+
+In order to interact with the heat pump (SG-ready), this plugin creates a CoAP connection to the server running on the
+6LoWPAN bridge. The server IPv6 can be configured in the plugin configuration. Once the connection is established, the
+plugin searches for 6LoWPAN neighbors in the network.
+
diff --git a/awattar/devicepluginawattar.cpp b/awattar/devicepluginawattar.cpp
index 69c751e5..d705bf9b 100644
--- a/awattar/devicepluginawattar.cpp
+++ b/awattar/devicepluginawattar.cpp
@@ -20,51 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page awattar.html
- \title aWATTar
- \brief Plugin for aWATTar, an austrian energy provider.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to receive the current energy market price from the \l{https://www.awattar.com/}{aWATTar GmbH}.
- In order to use this plugin you need to enter the access token from your energy provider. You can find more
- information about you accesstoken \l{https://www.awattar.com/api-unser-datenfeed}{here}.
-
- \chapter Available data
-
- In following chart you can see an example of the market prices from -12 hours to + 12 hours from the current
- time (0).The green line describes the current market price, the red point line describes the average
- price of this interval and the red line describes the deviation. If the deviation is positiv, the current
- price is above the average, if the deviation is negative, the current price is below the average.
-
- \list
- \li -100 % \unicode{0x2192} current price equals lowest price in the interval [-12h < now < + 12h]
- \li 0 % \unicode{0x2192} current price equals average price in the interval [-12h < now < + 12h]
- \li +100 % \unicode{0x2192} current price equals highest price in the interval [-12h < now < + 12h]
- \endlist
-
- \image awattar-graph.png
-
- \chapter Heat pump
-
- Information about the smart grid modes can be found \l{https://www.waermepumpe.de/sg-ready/}{here}.
-
- In order to interact with the heat pump (SG-ready), this plugin creates a CoAP connection to the server running on the
- 6LoWPAN bridge. The server IPv6 can be configured in the plugin configuration. Once the connection is established, the
- plugin searches for 6LoWPAN neighbors in the network.
-
- \note Currently there should be only one heat pump in the 6LoWPAN network!
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/awattar/devicepluginawattar.json
-*/
#include "devicepluginawattar.h"
#include "plugin/device.h"
diff --git a/awattar/docs/images/awattar-graph.png b/awattar/docs/images/awattar-graph.png
new file mode 100644
index 00000000..149922f2
Binary files /dev/null and b/awattar/docs/images/awattar-graph.png differ
diff --git a/boblight/README.md b/boblight/README.md
new file mode 100644
index 00000000..a0690f79
--- /dev/null
+++ b/boblight/README.md
@@ -0,0 +1,9 @@
+# Boblight
+
+This plugin allows to communicate with a [boblight server](https://code.google.com/p/boblight/)
+running on `localhost:19333`. If a boblight server is running, the configured light devices from the server will
+appear automatically in nymea.
+
+For more information regarding the project please visit the [project site](https://sites.google.com/site/wikikrautbox/krautbox/hardware/boblight).
+
+
diff --git a/boblight/devicepluginboblight.cpp b/boblight/devicepluginboblight.cpp
index 45c8c430..f161b8d1 100644
--- a/boblight/devicepluginboblight.cpp
+++ b/boblight/devicepluginboblight.cpp
@@ -19,33 +19,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page boblight.html
- \title Boblight
-
- \ingroup plugins
- \ingroup network
-
- This plugin allows to communicate with a \l{https://code.google.com/p/boblight/}{boblight} server
- running on localhost:19333. If a boblight server is running ,the configured light devices from the server will
- appear automatically in guh.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- Each \l{DeviceClass} has a list of \l{ParamType}{paramTypes}, \l{ActionType}{actionTypes}, \l{StateType}{stateTypes}
- and \l{EventType}{eventTypes}. The \l{DeviceClass::CreateMethod}{createMethods} parameter describes how the \l{Device}
- will be created in the system. A device can have more than one \l{DeviceClass::CreateMethod}{CreateMethod}.
- The \l{DeviceClass::SetupMethod}{setupMethod} describes the setup method of the \l{Device}.
- The detailed implementation of each \l{DeviceClass} can be found in the source code.
-
- \note If a \l{StateType} has the parameter \tt{"writable": {...}}, an \l{ActionType} with the same uuid and \l{ParamType}{ParamTypes}
- will be created automatically.
-
- \quotefile plugins/deviceplugins/boblight/devicepluginboblight.json
-*/
-
#include "devicepluginboblight.h"
#include "plugin/device.h"
diff --git a/commandlauncher/README.md b/commandlauncher/README.md
new file mode 100644
index 00000000..15001422
--- /dev/null
+++ b/commandlauncher/README.md
@@ -0,0 +1,59 @@
+# Application and script launcher
+
+This plugin allows you to execute system commands and start bash scripts.
+
+## Application launcher
+
+The application launcher allows you to call bash applications or commands with parameters from nymea.
+Once, the application started, the `running` state will change to `true`, if the application
+is finished, the `running` state will change to `false`.
+
+### Example
+
+An example command could be [espeak](http://linux.die.net/man/1/espeak). (`apt-get install espeak`)
+
+ espeak -v en "Chuck Norris is using nymea"
+
+## Bash script launcher
+
+The bashscript launcher allows you to start a bash script (with parameters)
+from nymea. Once, the script is running, the `running` state will change to `true`, if the application
+is finished, the `running` state will change to `false`.
+
+### Example
+
+An example for a very useful script could be a backup scrip like following `backup.sh` script.
+
+
+ #!/bin/sh
+ # Directories to backup...
+ backup_files="/home /etc /root /opt /var/www /var/lib/jenkins"
+
+ # Destination of the backup...
+ dest="/mnt/backup"
+
+ # Create archive filename...
+ day=$(date +%Y%m%d)
+ hostname="nymea.io"
+ archive_file="$day-$hostname.tgz"
+
+ # Print start status message...
+ echo "Backing up $backup_files to $dest/$archive_file"
+ date
+ echo
+
+ # Backup the files using tar.
+ tar czf $dest/$archive_file $backup_files
+
+ echo
+ echo "Backup finished"
+ date
+ echo "==========================="
+ echo " DONE, have a nice day! "
+ echo "==========================="
+
+
+To make the script executable use following command:
+
+ chmod +x backup.sh
+
diff --git a/commandlauncher/deviceplugincommandlauncher.cpp b/commandlauncher/deviceplugincommandlauncher.cpp
index 6b0ae122..6abe927f 100644
--- a/commandlauncher/deviceplugincommandlauncher.cpp
+++ b/commandlauncher/deviceplugincommandlauncher.cpp
@@ -21,81 +21,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page commandlauncher.html
- \title Application and script launcher
- \brief Plugin for system commands.
-
- \ingroup plugins
- \ingroup nymea-plugins-maker
-
- The application and script launcher plugin allows you to execute bash commands and start bash scripts.
-
- \chapter Application launcher
-
- The application launcher \l{DeviceClass} allows you to call bash applications or commands (with parameters)
- from nymea. Once, the application started, the \tt running \l{State} will change to \tt true, if the application
- is finished, the \tt running \l{State} will change to \tt false.
-
- \section3 Example
- An example command could be \l{http://linux.die.net/man/1/espeak}{espeak}. (\tt{apt-get install espeak})
- \code
- espeak -v en "Chuck Norris is using nymea"
- \endcode
-
-
- \chapter Bashscript launcher
-
- The bashscript launcher \l{DeviceClass} allows you to call bash script (with parameters)
- from nymea. Once, the script is running, the \tt running \l{State} will change to \tt true, if the script
- is finished, the \tt running \l{State} will change to \tt false.
-
- \section3 Example
- An example for a very useful script could be a backup scrip like following \tt backup.sh script.
- \code
- #!/bin/sh
- # Directories to backup...
- backup_files="/home /etc /root /opt /var/www /var/lib/jenkins"
-
- # Destination of the backup...
- dest="/mnt/backup"
-
- # Create archive filename...
- day=$(date +%Y%m%d)
- hostname="nymea.io"
- archive_file="$day-$hostname.tgz"
-
- # Print start status message...
- echo "Backing up $backup_files to $dest/$archive_file"
- date
- echo
-
- # Backup the files using tar.
- tar czf $dest/$archive_file $backup_files
-
- echo
- echo "Backup finished"
- date
- echo "==========================="
- echo " DONE, have a nice day! "
- echo "==========================="
- \endcode
-
- To make the script executable use following command:
-
- \code
- chmod +x backup.sh
- \endcode
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/commandlauncher/deviceplugincommandlauncher.json
-*/
-
#include "deviceplugincommandlauncher.h"
#include "plugin/device.h"
diff --git a/conrad/README.md b/conrad/README.md
new file mode 100644
index 00000000..af2c2580
--- /dev/null
+++ b/conrad/README.md
@@ -0,0 +1,4 @@
+# Conrad
+
+This plugin allows to controll RF 433 MHz actors an receive remote signals from [Conrad](http://www.conrad.at) devices.
+
diff --git a/conrad/devicepluginconrad.cpp b/conrad/devicepluginconrad.cpp
index 2e44344c..fc1b0d3d 100644
--- a/conrad/devicepluginconrad.cpp
+++ b/conrad/devicepluginconrad.cpp
@@ -21,26 +21,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page conrad.html
- \title Conrad
- \brief Plugin for Conrad 433 MHz devices.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to controll RF 433 MHz actors an receive remote signals from \l{http://www.conrad.at}{Conrad}
- devices.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/conrad/devicepluginconrad.json
-*/
-
#include "devicepluginconrad.h"
#include "plugin/device.h"
diff --git a/datetime/README.md b/datetime/README.md
new file mode 100644
index 00000000..6fa43244
--- /dev/null
+++ b/datetime/README.md
@@ -0,0 +1,39 @@
+# Time
+
+The time plugin allows you create rules based on the time, day, month, year, weekday or on weekend.
+
+For the correct setup you can configure the time zone in the plugin configuration. The language
+of the "month name" and "weekday name" depends on the locale settings of the system. To have the correct
+time you need [ntp](https://en.wikipedia.org/wiki/Network_Time_Protocol).
+
+The weekday integer value stands for:
+
+* Monday: `1`
+* Tuesday: `2`
+* Wednesday: `3`
+* Thursday: `4`
+* Friday: `5`
+* Saturday: `6`
+* Sunday: `7`
+
+The *weekend* state will be true, if the current weekday is Saturday or Sunday, otherwise it will be false.
+
+## Today
+
+The today plugin gives you information about the current day and some special times of the day like
+dawn, sunrise, noon, sunset and dawn. In order to get the correct times of the current day for your location, the plugin needs to know where
+you are. The plugin will autodetect your location according to you WAN IP [http://ip-api.com/json](http://ip-api.com/json).
+and will download the sunset / sunrise times from the online database [http://sunrise-sunset.org/](http://sunrise-sunset.org/).
+If the configured timezone does not match with the autodetected timezone from the ip the specialdates will be set to 0 (01.01.1970 - 00:00.00).
+
+
+
+Special times of a day ([original source](https://en.wikipedia.org/wiki/Twilight#/media/File:Twilight_description_full_day.svg))
+
+## Alarm
+
+The alarm plugin allows you to define an alarm which depends on a certain time, weekday or special day time like sunrise or
+sunset. An offset can also be definend.
+
+## Countdown
+The countdown plugin allows you to define a countown which triggers an event on timeout.
diff --git a/datetime/deviceplugindatetime.cpp b/datetime/deviceplugindatetime.cpp
index e13c5fd1..7d4815cc 100644
--- a/datetime/deviceplugindatetime.cpp
+++ b/datetime/deviceplugindatetime.cpp
@@ -20,77 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page datetime.html
- \title Time
- \brief Plugin for timezone based time information.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- The time plugin allows you create rules based on the time, day, month, year, weekday or on weekend.
-
- For the correct setup you can configure the time zone in the plugin configuration. The language
- of the "month name" and "weekday name" depends on the locale settings of the system. To have the correct
- time you need \l{https://en.wikipedia.org/wiki/Network_Time_Protocol}{ntp}.
-
- The weekday integer value stands for:
- \table
- \header
- \li Weekday
- \li int
- \row
- \li Monday
- \li 1
- \row
- \li Tuesday
- \li 2
- \row
- \li Wednesday
- \li 3
- \row
- \li Thursday
- \li 4
- \row
- \li Friday
- \li 5
- \row
- \li Saturday
- \li 6
- \row
- \li Sunday
- \li 7
- \endtable
-
- The "weekend" \l{State} will be true, if the current weekday is Saturday or Sunday, otherwise it will be false.
-
- \chapter Today
- The today plugin gives you information about the current day and some special times of the day like
- dawn, sunrise, noon, sunset and dawn. In order to get the correct times of the current day for your location, the plugin needs to know where
- you are. The plugin will autodetect your location according to you wan ip (\l{http://ip-api.com/json}{http://ip-api.com/json})
- and will download the sunset / sunrise times from the online database \l{http://sunrise-sunset.org/}{http://sunrise-sunset.org/}.
- If the configured timezone does not match with the autodetected timezone from the ip the specialdates will be set to 0 (01.01.1970 - 00:00.00).
-
- \image day-times.png
-
- Special times of a day (\l{https://en.wikipedia.org/wiki/Twilight#/media/File:Twilight_description_full_day.svg}{original source})
-
- \chapter Alarm
- The alarm plugin allows you to define an alarm which depends on a certain time, weekday or special day time like sunrise or
- sunset. An offset can also be definend.
-
- \chapter Countdown
- The countdown plugin allows you to define a countown which triggers an \l{Event} on timeout.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/datetime/deviceplugindatetime.json
-*/
-
#include "deviceplugindatetime.h"
#include "plugin/device.h"
diff --git a/datetime/docs/images/day-times.png b/datetime/docs/images/day-times.png
new file mode 100644
index 00000000..784d2cd9
Binary files /dev/null and b/datetime/docs/images/day-times.png differ
diff --git a/datetime/docs/images/day-times.svg b/datetime/docs/images/day-times.svg
new file mode 100644
index 00000000..bb3492c6
--- /dev/null
+++ b/datetime/docs/images/day-times.svg
@@ -0,0 +1,638 @@
+
+
diff --git a/daylightsensor/README.md b/daylightsensor/README.md
new file mode 100644
index 00000000..26c8e53f
--- /dev/null
+++ b/daylightsensor/README.md
@@ -0,0 +1,7 @@
+# Daylight sensor
+
+This plugin allows to determin if currently daylight is available or not for a certain location.
+The plugin supports autodetect location using the WAN IP, but also offline calculation for sunrise
+and sunset.
+
+
diff --git a/denon/README.md b/denon/README.md
new file mode 100644
index 00000000..af440242
--- /dev/null
+++ b/denon/README.md
@@ -0,0 +1,3 @@
+# Denon
+
+This plug-in supports the [Denon AV Amplifier AVR-X1000](http://www.denon.de/de/product/hometheater/avreceivers/avrx1000).
diff --git a/denon/deviceplugindenon.cpp b/denon/deviceplugindenon.cpp
index 4001c7e6..39762b31 100644
--- a/denon/deviceplugindenon.cpp
+++ b/denon/deviceplugindenon.cpp
@@ -21,28 +21,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page denon.html
- \title Denon
- \brief Plugin for Denon AV
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plug-in supports the
- \l {http://www.denon.de/de/product/hometheater/avreceivers/avrx1000}{Denon AV Amplifier AVR-X1000}
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/denon/deviceplugindenon.json
-*/
-
-
-
#include "deviceplugindenon.h"
#include "plugininfo.h"
diff --git a/dweetio/README.md b/dweetio/README.md
new file mode 100644
index 00000000..829837f0
--- /dev/null
+++ b/dweetio/README.md
@@ -0,0 +1,2 @@
+# Dweetio
+
diff --git a/elgato/README.md b/elgato/README.md
new file mode 100644
index 00000000..628034fe
--- /dev/null
+++ b/elgato/README.md
@@ -0,0 +1,4 @@
+# Elgato Avea
+
+This plugin allows to find and controll the Bluetooth Low Energy light bulb from [Elgato Avea](https://www.elgato.com/en/smart/avea).
+
diff --git a/elgato/devicepluginelgato.cpp b/elgato/devicepluginelgato.cpp
index 937e5d25..52af141f 100644
--- a/elgato/devicepluginelgato.cpp
+++ b/elgato/devicepluginelgato.cpp
@@ -20,19 +20,7 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page elgato.html
- \title Elgato
- \brief Plugin for Elgato Avea Blutooth lamp.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to find and controll the Bluetooth Low Energy bulb from \l{https://www.elgato.com/en/smart/avea}{Elgato Avea}.
-
- \chapter Device Overviw of \tt{Avea_44A9}
- \section1 Services
- \code
+/*
----------------------------------------------------------------
name : "Generic Access"
type : ""
@@ -69,10 +57,9 @@
uuid : "{f815e900-456c-6761-746f-4d756e696368}"
uuid (hex) : "f815e900-456c-6761-746f-4d756e696368"
----------------------------------------------------------------
- \endcode
- \section2 Service: "Generic Access" {00001800-0000-1000-8000-00805f9b34fb} details
- \code
+ Service: "Generic Access" {00001800-0000-1000-8000-00805f9b34fb} details
+
----------------------------------------------------------------
characteristics:
name : "GAP Device Name"
@@ -125,10 +112,10 @@
---------------------------------------------------------
descriptor count: 0
---------------------------------------------------------
- \endcode
- \section2 Service: "Generic Attribute" {00001801-0000-1000-8000-00805f9b34fb} details
- \code
+
+ Service: "Generic Attribute" {00001801-0000-1000-8000-00805f9b34fb} details
+
----------------------------------------------------------------
characteristics:
name : "GATT Service Changed"
@@ -147,10 +134,10 @@
value : "
value (hex) : "0000"
-----------------------------------------------------
- \endcode
- \section2 Service: "Device Information" {0000180a-0000-1000-8000-00805f9b34fb} details
- \code
+
+ Service: "Device Information" {0000180a-0000-1000-8000-00805f9b34fb} details
+
----------------------------------------------------------------
characteristics:
name : "System ID"
@@ -233,10 +220,9 @@
---------------------------------------------------------
descriptor count: 0
---------------------------------------------------------
- \endcode
- \section2 Service: "Unknown Service" {f815e600-456c-6761-746f-4d756e696368} details
- \code
+ Service: "Unknown Service" {f815e600-456c-6761-746f-4d756e696368} details
+
----------------------------------------------------------------
characteristics:
name : "Alert"
@@ -261,10 +247,10 @@
value : "Alert"
value (hex) : "416c657274"
-----------------------------------------------------
- \endcode
- \section2 Service: "Unknown Service" {f815e500-456c-6761-746f-4d756e696368} details
- \code
+
+ Service: "Unknown Service" {f815e500-456c-6761-746f-4d756e696368} details
+
----------------------------------------------------------------
characteristics:
name : "Seq Upload"
@@ -289,13 +275,11 @@
value : "Seq Upload"
value (hex) : "5365712055706c6f6164"
-----------------------------------------------------
- \endcode
- \section2 Service: "Unknown Service" {f815e810-456c-6761-746f-4d756e696368} details
- Tis service will be used to set the color (handle \tt{0x2d}).
+ Service: "Unknown Service" {f815e810-456c-6761-746f-4d756e696368} details
+ Tis service will be used to set the color (handle 0x2d).
- \code
----------------------------------------------------------------
characteristics:
name : "Debug"
@@ -336,10 +320,9 @@
value : "User Name"
value (hex) : "55736572204e616d65"
-----------------------------------------------------
- \endcode
- \section2 Service: "Unknown Service" {f815e900-456c-6761-746f-4d756e696368} details
- \code
+ Service: "Unknown Service" {f815e900-456c-6761-746f-4d756e696368} details
+
----------------------------------------------------------------
characteristics:
name : "Img Identify"
@@ -386,18 +369,10 @@
value : "Img Block"
value (hex) : "496d6720426c6f636b"
-----------------------------------------------------
- \endcode
-
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/elgato/devicepluginelgato.json
*/
+
+
#include "devicepluginelgato.h"
#include "plugin/device.h"
diff --git a/elro/README.md b/elro/README.md
new file mode 100644
index 00000000..9e5de8bb
--- /dev/null
+++ b/elro/README.md
@@ -0,0 +1,4 @@
+# Elro
+
+This plugin allows to controll RF 433 MHz actors an receive remote signals from [Elro](http://www.elroshop.eu/) devices.
+
diff --git a/elro/devicepluginelro.cpp b/elro/devicepluginelro.cpp
index 74ad964c..1fb478fe 100644
--- a/elro/devicepluginelro.cpp
+++ b/elro/devicepluginelro.cpp
@@ -20,26 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page elro.html
- \title Elro
- \brief Plugin for all Elro 433 MHz based devices.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to controll RF 433 MHz actors an receive remote signals from \l{http://www.elroshop.eu/}{Elro}
- devices.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/elro/devicepluginelro.json
-*/
-
#include "devicepluginelro.h"
#include "devicemanager.h"
#include "plugininfo.h"
diff --git a/eq-3/README.md b/eq-3/README.md
new file mode 100644
index 00000000..a16e98f6
--- /dev/null
+++ b/eq-3/README.md
@@ -0,0 +1,28 @@
+# eQ-3
+
+This plugin allows to find and control devices from Max!(eQ-3). To use this devices, you need at least
+one [Max! Cube LAN Gateway](http://www.eq-3.de/max-heizungssteuerung-produktdetail/items/bc-lgw-o-tw.html)
+in you local network. Once the cube is connected (DHCP), you can auto detect the cube in the network and
+add it to your [nymea](https://nymea.io) devices. Also more than one cube in the network is supported. All
+devices, which are connected to a cube, will be autogenerated. For the setup of a cube, the original
+software is recomanded (min/max setpoint temperature, weekly program...).
+
+## Supported devices
+
+### Max! Cube LAN Gateway
+
+This [cube](http://www.eq-3.de/max-heizungssteuerung-produktdetail/items/bc-lgw-o-tw.html) can be discovered in the network. Every device, which is connected with the cube, will be appear automatically, once the cube is configrued and
+added to nymea.
+
+### Max! Wall Thermostat
+
+In order to use this device, you need a [Max! Cube LAN Gateway](http://www.eq-3.de/max-heizungssteuerung-produktdetail/
+items/bc-lgw-o-tw.html). A [MAX! Wall Thermostat](http://www.eq-3.de/max-raumloesung-produktdetail/items/bc-tc-c-wm.html) can not be added,
+it will appear automatically in the device list, once you add it to the cube.
+
+### Max! Radiator Thermostat
+
+In order to use this device, you need a [Max! Cube LAN Gateway](http://www.eq-3.de/max-heizungssteuerung-produktdetail/
+items/bc-lgw-o-tw.html). A [MAX! Radiator Thermostat](http://www.eq-3.de/max-heizungssteuerung-produktdetail/items/bc-rt-trx-cyg.html) can not be added,
+it will appear automatically in the device list, once you add it to the cube.
+
diff --git a/eq-3/deviceplugineq-3.cpp b/eq-3/deviceplugineq-3.cpp
index 88ee8246..ba763170 100644
--- a/eq-3/deviceplugineq-3.cpp
+++ b/eq-3/deviceplugineq-3.cpp
@@ -20,48 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page eq3.html
- \title eQ-3 Max!
- \brief Plugin for the eQ-3 heating system.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to find and control devices from Max!(eQ-3). To use this devices, you need at least
- one \l{http://www.eq-3.de/max-heizungssteuerung-produktdetail/items/bc-lgw-o-tw.html}{Max! Cube LAN Gateway}
- in you local network. Once the cube is connected (DHCP), you can auto detect the cube in the network and
- add it to your \l{https://nymea.io}{nymea} devices. Also more than one cube in the network is supported. All
- devices, which are connected to a cube, will be autogenerated. For the setup of a cube, the original
- software is recomanded (min/max setpoint temperature, weekly program...).
-
- \chapter Supported devices
- \section2 Max! Cube LAN Gateway
- This \l{http://www.eq-3.de/max-heizungssteuerung-produktdetail/
- items/bc-lgw-o-tw.html}{cube} can be discovered in the network. Every
- device, which is connected with the cube, will be appear automatically, once the cube is configrued and
- added to nymea.
-
- \section2 Max! Wall Thermostat
- In order to use this device, you need a \l{http://www.eq-3.de/max-heizungssteuerung-produktdetail/
- items/bc-lgw-o-tw.html}{Max! Cube LAN Gateway}. A \l{http://www.eq-3.de/max-raumloesung-produktdetail/items/bc-tc-c-wm.html}{MAX! Wall Thermostat} can not be added,
- it will appear automatically in the device list, once you add it to the cube.
-
- \section2 Max! Radiator Thermostat
- In order to use this device, you need a \l{http://www.eq-3.de/max-heizungssteuerung-produktdetail/
- items/bc-lgw-o-tw.html}{Max! Cube LAN Gateway}. A \l{http://www.eq-3.de/max-heizungssteuerung-produktdetail/items/bc-rt-trx-cyg.html}{MAX! Radiator Thermostat} can not be added,
- it will appear automatically in the device list, once you add it to the cube.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/eq-3/deviceplugineq-3.json
-*/
-
-
#include "deviceplugineq-3.h"
#include "plugin/device.h"
diff --git a/flowercare/README.md b/flowercare/README.md
new file mode 100644
index 00000000..ac89f491
--- /dev/null
+++ b/flowercare/README.md
@@ -0,0 +1,4 @@
+# Flowercare
+
+
+This pluggin provides support for the Bluetooth LE [Xiaomi Flower Care Monitor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/).
diff --git a/genericelements/README.md b/genericelements/README.md
new file mode 100644
index 00000000..5bd15ed6
--- /dev/null
+++ b/genericelements/README.md
@@ -0,0 +1,15 @@
+# Generic elements
+
+The generic elements plugin allows you create virtual buttons, which can be connected with a rule. This gives you
+the possibility to execute multiple actions with one signal. Without a rule this generic elements are
+useless.
+
+## Toggle Button
+With the "Toggle Button" you can create a button with one action toggle. In the `state` you can find out,
+what happens if the button will be pressed. The states can be true or false.
+
+## Button
+With the "Button" you can create a button with one action `press`. This button just creates one event.
+
+## ON/OFF Button
+With the "ON/OFF Button" you create a button pair with the actions `ON` and `OFF`.
diff --git a/genericelements/deviceplugingenericelements.cpp b/genericelements/deviceplugingenericelements.cpp
index 59bf0744..f6abe30d 100644
--- a/genericelements/deviceplugingenericelements.cpp
+++ b/genericelements/deviceplugingenericelements.cpp
@@ -20,38 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page genericelements.html
- \title Generic elements
- \brief Common elements to test the rule engine.
-
- \ingroup plugins
- \ingroup nymea-tests
-
- The generic elements plugin allows you create virtual buttons, which can be connected with a rule. This gives you
- the possibility to execute multiple \l{Action}{Actions} with one signal. Without a rule this generic elements are
- useless.
-
- \chapter Toggle Button
- With the "Toggle Button" \l{DeviceClass} you can create a button with one \l{Action} \unicode{0x2192} toggle. In the \tt state \l{State} you can find out,
- what happens if the button will be pressed. The states can be true or false.
-
- \chapter Button
- With the "Button" \l{DeviceClass} you can create a button with one \l{Action} \unicode{0x2192} press. This button just creates one \l{Event}.
-
- \chapter ON/OFF Button
- With the "ON/OFF Button" \l{DeviceClass} you create a button pair with the \l{Action}{Actions} \unicode{0x2192} ON and OFF.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/genericelements/deviceplugingenericelements.json
-*/
-
-
#include "deviceplugingenericelements.h"
#include "devicemanager.h"
#include "plugininfo.h"
diff --git a/gpio/README.md b/gpio/README.md
new file mode 100644
index 00000000..0b6d3249
--- /dev/null
+++ b/gpio/README.md
@@ -0,0 +1,11 @@
+# GPIO
+
+This plugin allows to control GPIOs on different boards.
+
+## Raspberry Pi 2/3
+
+
+
+## Beaglebone Black
+
+
diff --git a/gpio/deviceplugingpio.cpp b/gpio/deviceplugingpio.cpp
index 557f03e1..35e1ccf5 100644
--- a/gpio/deviceplugingpio.cpp
+++ b/gpio/deviceplugingpio.cpp
@@ -20,32 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page gpioplugin.html
- \title GPIO Plugin
- \brief Plugin to control gpios on different boards.
-
- \ingroup plugins
- \ingroup nymea-plugins-maker
-
- \chapter Raspberry Pi 2
-
- \image Raspberry-Pi-2-GPIO.png "Raspberry Pi 2 GPIOs"
-
- \chapter Beaglebone Black
-
- \image Beaglebone-Black-GPIO.png "Beaglebone Black GPIOs"
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/gpio/deviceplugingpio.json
-*/
-
-
#include "deviceplugingpio.h"
#include "types/param.h"
#include "plugin/device.h"
diff --git a/gpio/docs/images/Beaglebone_Black_GPIO_Map.png b/gpio/docs/images/Beaglebone_Black_GPIO_Map.png
new file mode 100644
index 00000000..701883e7
Binary files /dev/null and b/gpio/docs/images/Beaglebone_Black_GPIO_Map.png differ
diff --git a/gpio/docs/images/Raspberry-Pi-2-GPIO.png b/gpio/docs/images/Raspberry-Pi-2-GPIO.png
new file mode 100644
index 00000000..cedc3aae
Binary files /dev/null and b/gpio/docs/images/Raspberry-Pi-2-GPIO.png differ
diff --git a/httpcommander/README.md b/httpcommander/README.md
new file mode 100644
index 00000000..9a3d2c8d
--- /dev/null
+++ b/httpcommander/README.md
@@ -0,0 +1,3 @@
+# HTTP commander
+
+The HTTP commander allows you to execute HTTP methods on a HTTP server and is ment as a generic way to interact with a server.
diff --git a/httpcommander/devicepluginhttpcommander.cpp b/httpcommander/devicepluginhttpcommander.cpp
index 137fa421..ed37f352 100644
--- a/httpcommander/devicepluginhttpcommander.cpp
+++ b/httpcommander/devicepluginhttpcommander.cpp
@@ -25,21 +25,6 @@
#include "network/networkaccessmanager.h"
#include "plugininfo.h"
-
-/*!
- \page httpcommander.html
- \title HTTP commander
- \brief Plugin for generic HTTP commands
- \ingroup plugins
- \ingroup nymea-plugins
- This plug-in supports generic HTTP calls like get, put, post
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
- \quotefile plugins/deviceplugins/denon/devicepluginhttpcommander.json
-*/
-
DevicePluginHttpCommander::DevicePluginHttpCommander()
{
}
diff --git a/intertechno/README.md b/intertechno/README.md
new file mode 100644
index 00000000..d8ca8789
--- /dev/null
+++ b/intertechno/README.md
@@ -0,0 +1,4 @@
+# Intertechno
+
+This plugin allows to control RF 433 MHz actors an receive remote signals from [Intertechno](http://www.intertechno.at) devices.
+
diff --git a/intertechno/devicepluginintertechno.cpp b/intertechno/devicepluginintertechno.cpp
index 95703dce..e1e1b4a9 100644
--- a/intertechno/devicepluginintertechno.cpp
+++ b/intertechno/devicepluginintertechno.cpp
@@ -20,26 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page intertechno.html
- \title Intertechno
- \brief Plugin for InterTechno 433 MHz devices.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to control RF 433 MHz actors an receive remote signals from
- \l{http://www.intertechno.at}{Intertechno} devices.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/intertechno/devicepluginintertechno.json
-*/
-
#include "devicepluginintertechno.h"
#include "plugin/device.h"
diff --git a/keba/README.md b/keba/README.md
new file mode 100644
index 00000000..f436ea21
--- /dev/null
+++ b/keba/README.md
@@ -0,0 +1 @@
+# Keba Wallbox
diff --git a/kodi/README.md b/kodi/README.md
new file mode 100644
index 00000000..1e5037fc
--- /dev/null
+++ b/kodi/README.md
@@ -0,0 +1,26 @@
+# Kodi
+
+This plugin allows you to controll the media center [Kodi](http://kodi.tv/). If you want to discover
+and control Kodi with nymea, you need to activate the remote access and the UPnP service.
+
+## Activate Zeroconf
+
+In order to discover Kodi in the network, you need to activate the zeroconf serive in the Kodi settings:
+
+### Settings
+
+
+
+### Settings - Services
+
+
+
+Activate zeroconf.
+
+## Activate "Remote Control"
+In order to control Kodi over the network with nymea, you need to activate the remote control permissions:
+
+### Settings - Services - Remote Control
+Activate all options.
+
+
diff --git a/kodi/devicepluginkodi.cpp b/kodi/devicepluginkodi.cpp
index 49d85141..9b15e858 100644
--- a/kodi/devicepluginkodi.cpp
+++ b/kodi/devicepluginkodi.cpp
@@ -20,47 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page kodi.html
- \title Kodi - Media Center
- \brief Plugin for the Kodi media center.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows you to controll the media center \l{http://kodi.tv/}{Kodi}. If you want to discover
- and control Kodi with nymea, you need to activate the remote access and the UPnP service.
-
- \chapter "Activate UPnP"
- In order to discover Kodi in the network, you need to activate the UPnP serive in the Kodi settings:
-
- \section2 Settings
- \image kodi_settings.png
-
- \section2 Settings \unicode{0x2192} Services
- \image kodi_services.png
-
- \section2 Settings \unicode{0x2192} Services \unicode{0x2192} UPnP
- Activate all options.
- \image kodi_upnp.png
-
-
- \chapter Activate "Remote Control"
- In order to control Kodi over the network with nymea, you need to activate the remote control permissions:
-
- \section2 Settings \unicode{0x2192} Services \unicode{0x2192} Remote Control
- Activate all options.
- \image kodi_remote.png
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/kodi/devicepluginkodi.json
-*/
-
#include "devicepluginkodi.h"
#include "plugin/device.h"
#include "plugininfo.h"
diff --git a/kodi/docs/images/kodi_remote.png b/kodi/docs/images/kodi_remote.png
new file mode 100644
index 00000000..e6d8e842
Binary files /dev/null and b/kodi/docs/images/kodi_remote.png differ
diff --git a/kodi/docs/images/kodi_services.png b/kodi/docs/images/kodi_services.png
new file mode 100644
index 00000000..7e05ede2
Binary files /dev/null and b/kodi/docs/images/kodi_services.png differ
diff --git a/kodi/docs/images/kodi_settings.png b/kodi/docs/images/kodi_settings.png
new file mode 100644
index 00000000..37480345
Binary files /dev/null and b/kodi/docs/images/kodi_settings.png differ
diff --git a/leynew/README.md b/leynew/README.md
new file mode 100644
index 00000000..554025dd
--- /dev/null
+++ b/leynew/README.md
@@ -0,0 +1,8 @@
+# Leynew
+
+This plugin allows to control RF 433 MHz actors an receive remote signals from [Leynew](http://www.leynew.com/en/)
+devices.
+
+Currently only the following device is supported:
+
+[http://www.leynew.com/en/productview.asp?id=589](http://www.leynew.com/en/productview.asp?id=589)
diff --git a/leynew/devicepluginleynew.cpp b/leynew/devicepluginleynew.cpp
index b3f89008..9ca43bbe 100644
--- a/leynew/devicepluginleynew.cpp
+++ b/leynew/devicepluginleynew.cpp
@@ -20,32 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page leynew.html
- \title Leynew
- \brief Plugin for the Leynew RF 433 MHz led controller.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to controll RF 433 MHz actors an receive remote signals from \l{http://www.leynew.com/en/}{Leynew}
- devices.
-
- Currently only following device is supported:
-
- \l{http://www.leynew.com/en/productview.asp?id=589}{http://www.leynew.com/en/productview.asp?id=589}
-
- \l{http://image.en.09635.com/2012-8/15/RF-Controller-Aluminum-Version-LN-CON-RF20B-H-3CH-LV-316.jpg}{http://image.en.09635.com/2012-8/15/RF-Controller-Aluminum-Version-LN-CON-RF20B-H-3CH-LV-316.jpg}
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/leynew/devicepluginleynew.json
-*/
-
#include "devicepluginleynew.h"
#include "devicemanager.h"
#include "plugininfo.h"
diff --git a/lgsmarttv/README.md b/lgsmarttv/README.md
new file mode 100644
index 00000000..bfbed57e
--- /dev/null
+++ b/lgsmarttv/README.md
@@ -0,0 +1,5 @@
+# LG Smart TV
+
+This plugin allows to interact with [LG Smart Tv's](http://www.lg.com/us/experience-tvs/smart-tv)
+with the [LG UDAP 2.0 Protocol Specifications](http://developer.lgappstv.com/TV_HELP/index.jsp?topic=%2Flge.tvsdk.references.book%2Fhtml%2FUDAP%2FUDAP%2FLG+UDAP+2+0+Protocol+Specifications.htm).
+
diff --git a/lgsmarttv/devicepluginlgsmarttv.cpp b/lgsmarttv/devicepluginlgsmarttv.cpp
index c677d6dc..5df95e2b 100644
--- a/lgsmarttv/devicepluginlgsmarttv.cpp
+++ b/lgsmarttv/devicepluginlgsmarttv.cpp
@@ -20,26 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page lgsmarttv.html
- \title LG Smart Tv
- \brief Plugin for LG smart TVs.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to interact with \l{http://www.lg.com/us/experience-tvs/smart-tv}{LG Smart Tv's}
- with the \l{http://developer.lgappstv.com/TV_HELP/index.jsp?topic=%2Flge.tvsdk.references.book%2Fhtml%2FUDAP%2FUDAP%2FLG+UDAP+2+0+Protocol+Specifications.htm}{LG UDAP 2.0 Protocol Specifications}.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/lgsmarttv/devicepluginlgsmarttv.json
-*/
-
#include "devicepluginlgsmarttv.h"
#include "plugin/device.h"
diff --git a/mailnotification/README.md b/mailnotification/README.md
new file mode 100644
index 00000000..73ab1d05
--- /dev/null
+++ b/mailnotification/README.md
@@ -0,0 +1,5 @@
+# Mail notification
+
+The mail notification plugin allows you to send a mail notification from a mail account by performing an action.
+
+> Note: Google mail is currently not supported since that requires OAuth2.0 which is currently a missing feature.
diff --git a/mailnotification/devicepluginmailnotification.cpp b/mailnotification/devicepluginmailnotification.cpp
index 15fcc3f3..7776b91f 100644
--- a/mailnotification/devicepluginmailnotification.cpp
+++ b/mailnotification/devicepluginmailnotification.cpp
@@ -20,40 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page mailnotification.html
- \title Mail Notification
- \brief Plugin which allows to get mail notification from nymea.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- The mail notification plugin allows you to send a mail notification from a mail
- account by performing an \l{Action}.
-
- ATTENTION: The password currently will be saved as plain text in the nymea settings file.
- This will be changed soon...
-
- \chapter Supported services
-
- \section2 Yahoo Mail
- The Yahoo Mail Notification you can send a mail with your yahoo address to a recipient. The username
- is your mail address (e.g. "chuck.norris@yahoo.com"). The recipient will receive the notification
- from your yahoo account.
-
- \section2 Custom Mail
- With the Custom Mail Notification you can set up a custom SMTP connection. The supported authentication
- methods are ["PLAIN", "LOGIN"], the supported encryption methods are ["NONE", "SSL", "TLS"].
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/mailnotification/devicepluginmailnotification.json
-*/
-
#include "devicepluginmailnotification.h"
#include "plugin/device.h"
diff --git a/mqttclient/README.md b/mqttclient/README.md
new file mode 100644
index 00000000..adf49fe8
--- /dev/null
+++ b/mqttclient/README.md
@@ -0,0 +1,16 @@
+# MQTT client
+
+This plugin allows to subscribe and publish to MQTT brokers (the nymea internal broker and external ones).
+
+> This plugin is ment to be combined with a rule.
+
+
+## Example
+
+A device is configured to publish its state to a MQTT broker. Using this plugin the user can subscribe to
+the same topic on that broker and monitor the device's state.
+
+Publishing is also supported. This allows use cases such as controlling IoT things via MQTT by publishing
+to topics such devices are subscribed to. Other possibilities are to use nymea as a "translator" between other
+transport layers to MQTT. For instance a sensor might deliver sensor data via Bluetooth to Nymea and using this
+MQTT plugin and a rule nymea can be configured to forward all those sensor values to a MQTT broker.
diff --git a/mqttclient/devicepluginmqttclient.cpp b/mqttclient/devicepluginmqttclient.cpp
index 5d99a6ea..8ab193f9 100644
--- a/mqttclient/devicepluginmqttclient.cpp
+++ b/mqttclient/devicepluginmqttclient.cpp
@@ -20,37 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page mqtt.html
- \title Generic MQTT
- \brief Plugin for subscribing and publishing to an MQTT broker.
-
- \ingroup plugins
- \ingroup nymea-plugins-maker
-
- This plugin allows to subscribe and publish to MQTT brokers (the nymea internal broker and external ones).
-
- \note This plugin is ment to be combined with a \l{nymeaserver::Rule}.
-
- \section3 Example
-
- A device is configured to publish its state to a MQTT broker. Using this plugin the user can subscribe to
- the same topic on that broker and monitor the device's state.
-
- Publishing is also supported. This allows use cases such as controlling IoT things via MQTT by publishing
- to topics such devices are subscribed to. Other possibilities are to use nymea as a "translator" between other
- transport layers to MQTT. For instance a sensor might deliver sensor data via Bluetooth to Nymea and using this
- MQTT plugin and a \l{nymeaserver::Rule} nymea can be configured to forward all those sensor values to a MQTT broker.
-
- \chapter Plugin properties
- The plugin implements the inputtrigger and outputtrigger interfaces, adding parameters for topic and payload to
- the trigger action and triggered event.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/mqtt/devicepluginmqttclient.json
-*/
-
#include "devicepluginmqttclient.h"
#include "plugin/device.h"
#include "plugininfo.h"
diff --git a/netatmo/README.md b/netatmo/README.md
new file mode 100644
index 00000000..d00940c8
--- /dev/null
+++ b/netatmo/README.md
@@ -0,0 +1,3 @@
+# Netatmo
+
+This plugin allows to receive data from you netatmo weather station server.
diff --git a/netatmo/devicepluginnetatmo.cpp b/netatmo/devicepluginnetatmo.cpp
index 8136e493..11202761 100644
--- a/netatmo/devicepluginnetatmo.cpp
+++ b/netatmo/devicepluginnetatmo.cpp
@@ -20,25 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page netatmo.html
- \title Netatmo
- \brief Plugin for the Netatmo weather stations.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to receive data from you netatmo weather station.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/netatmo/devicepluginnetatmo.json
-*/
-
#include "devicepluginnetatmo.h"
#include "plugin/device.h"
#include "plugininfo.h"
diff --git a/networkdetector/README.md b/networkdetector/README.md
new file mode 100644
index 00000000..6e859d2f
--- /dev/null
+++ b/networkdetector/README.md
@@ -0,0 +1,5 @@
+# Network detector
+
+This plugin allows to find and monitor network devices in your local network by using the hostname of the devices.
+
+> Note: the application `nmap` has to be installed and nymea has to run as `root`.
diff --git a/networkdetector/devicepluginnetworkdetector.cpp b/networkdetector/devicepluginnetworkdetector.cpp
index 68347ae9..039608da 100644
--- a/networkdetector/devicepluginnetworkdetector.cpp
+++ b/networkdetector/devicepluginnetworkdetector.cpp
@@ -21,29 +21,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page networkdetector.html
- \title Network Detector
- \brief Plugin to monitor devices in the local network.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
-
- This plugin allows to find and monitor network devices in your local network by using the hostname of the devices.
-
- \underline{NOTE}: the application \c nmap has to be installed and nymea has to run as root.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/networkdetector/devicepluginnetworkdetector.json
-*/
-
-
#include "devicepluginnetworkdetector.h"
#include "plugin/device.h"
diff --git a/openweathermap/README.md b/openweathermap/README.md
new file mode 100644
index 00000000..6f82402f
--- /dev/null
+++ b/openweathermap/README.md
@@ -0,0 +1,11 @@
+# OpenWeatherMap
+
+This plugin allows to get the current weather data from [OpenWeatherMap](http://www.openweathermap.org).
+The weather data will be refreshed every 15 minutes automatically, but can also refreshed manually.
+The plugin offers two different search methods for the location: if the user searches for a empty string,
+the plugin makes an autodetection with the WAN ip and offers the user the found weather stations.
+The autodetection function uses the geolocation of your WAN ip and searches all available weather
+stations in a radius of 1.5 km. Otherwise the plugin returns the list of the found search results
+from the search string.
+
+> Note: If you are using a VPN connection, the autodetection will show the results around your VPN location.
diff --git a/openweathermap/devicepluginopenweathermap.cpp b/openweathermap/devicepluginopenweathermap.cpp
index e41f44ee..a60beb70 100644
--- a/openweathermap/devicepluginopenweathermap.cpp
+++ b/openweathermap/devicepluginopenweathermap.cpp
@@ -20,33 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page openweathermap.html
- \title Open Weather Map
- \brief Plugin for the Open Weather Map online weather service.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to get the current weather data from \l{http://www.openweathermap.org}{OpenWeatherMap}.
- The weather data will be refreshed every 15 minutes automatically, but can also refreshed manually.
- The plugin offers two different search methods for the location: if the user searches for a empty string,
- the plugin makes an autodetction with the WAN ip and offers the user the found weather stations.
- The autodetection function uses the geolocation of your WAN ip and searches all available weather
- stations in a radius of 1.5 km. Otherwise the plugin returns the list of the found search results
- from the search string.
-
- \underline{NOTE}: If you are using a VPN connection, the autodetection will show the results around your VPN location.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/openweathermap/devicepluginopenweathermap.json
-*/
-
#include "devicepluginopenweathermap.h"
#include "plugin/device.h"
#include "devicemanager.h"
diff --git a/philipshue/README.md b/philipshue/README.md
new file mode 100644
index 00000000..9532cc4a
--- /dev/null
+++ b/philipshue/README.md
@@ -0,0 +1,3 @@
+# Philips Hue
+
+This plugin allows to interact with the [Philips hue](http://www2.meethue.com/) bridge. Each light bulp, sensor and remote controller connected to the bridge will appear automatically in the system, once the bridge is added to nymea.
diff --git a/philipshue/devicepluginphilipshue.cpp b/philipshue/devicepluginphilipshue.cpp
index 35b15e56..ed69fb7d 100644
--- a/philipshue/devicepluginphilipshue.cpp
+++ b/philipshue/devicepluginphilipshue.cpp
@@ -22,26 +22,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page philipshue.html
- \title Philips hue
- \brief Plugin for the Philips Hue lighting system.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to interact with the \l{http://www2.meethue.com/}{Philips hue} bridge. Each light bulp connected to the bridge
- will appear automatically in the system, once the bridge is added to nymea.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/philipshue/devicepluginphilipshue.json
-*/
-
#include "devicepluginphilipshue.h"
#include "devicemanager.h"
diff --git a/pushbullet/README.md b/pushbullet/README.md
new file mode 100644
index 00000000..8b6cf9e7
--- /dev/null
+++ b/pushbullet/README.md
@@ -0,0 +1,10 @@
+# Pushbullet
+
+This plugin allows to send notifications via Pushbullet.
+
+## Usage
+
+When setting up a device for the pushbullet service, an API token from Pushbullet is required. Please visit
+https://www.pushbullet.com and create an account if you haven't done so already. After logging in successfully,
+open the "Settings" tab and in "Account Settings", create a new access token. Use that token as the device
+parameter when setting up the device.
\ No newline at end of file
diff --git a/pushbullet/devicepluginpushbullet.cpp b/pushbullet/devicepluginpushbullet.cpp
index 52e1b3c5..0df3bb6b 100644
--- a/pushbullet/devicepluginpushbullet.cpp
+++ b/pushbullet/devicepluginpushbullet.cpp
@@ -20,24 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page pushbullet.html
- \title Pushbullet
- \brief Plugin to send notifications via Pushbullet.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to send notifications via Pushbullet.
-
- \chapter Usage
-
- When setting up a device for the pushbullet service, an API token from Pushbullet is required. Please visit
- https://www.pushbullet.com and create an account if you haven't done so already. After logging in successfully,
- open the "Settings" tab and in "Account Settings", create a new access token. Use that token as the device
- parameter when setting up the device.
-*/
-
#include "devicepluginpushbullet.h"
#include "plugininfo.h"
diff --git a/remotessh/README.md b/remotessh/README.md
new file mode 100644
index 00000000..93a47773
--- /dev/null
+++ b/remotessh/README.md
@@ -0,0 +1,3 @@
+# Remote ssh
+
+This plugin allowes to to establish a reverse SSH tunnel to the device where nymea is running. This requires a reverse ssh proxy running somewhere accessable from the system.
\ No newline at end of file
diff --git a/senic/README.md b/senic/README.md
new file mode 100644
index 00000000..9d0a203b
--- /dev/null
+++ b/senic/README.md
@@ -0,0 +1,3 @@
+# Senic
+
+This plugin allows you to integrate the Nuimo device from [Senic](https://www.senic.com/en/). The device can be used together with the rule engine to controll whatever device you want within nymea.
\ No newline at end of file
diff --git a/senic/devicepluginsenic.cpp b/senic/devicepluginsenic.cpp
index 7647ce14..135eceb7 100644
--- a/senic/devicepluginsenic.cpp
+++ b/senic/devicepluginsenic.cpp
@@ -20,23 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page senic.html
- \title Senic - Nuimo
- \brief Plugin for Senic Nuimo.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/senic/devicepluginsenic.json
-*/
-
#include "devicepluginsenic.h"
#include "plugin/device.h"
#include "devicemanager.h"
diff --git a/serialportcommander/README.md b/serialportcommander/README.md
new file mode 100644
index 00000000..e84b3cbd
--- /dev/null
+++ b/serialportcommander/README.md
@@ -0,0 +1,4 @@
+# Serial port commander
+
+This plugin allows to send and receive custom serial port commands and integrate them into the rule engine.
+This plugin is ment as a generic approach for developers and assumes you know which data is coming form a serial device and how the API looks like.
diff --git a/serialportcommander/devicepluginserialportcommander.cpp b/serialportcommander/devicepluginserialportcommander.cpp
index 6f203946..56745191 100644
--- a/serialportcommander/devicepluginserialportcommander.cpp
+++ b/serialportcommander/devicepluginserialportcommander.cpp
@@ -20,23 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page serialportcommander.html
- \title Serial Port Commander
- \brief Plug-In to send and receive strings over a serial port.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/serialportcommander/devicepluginserialportcommander.json
-*/
-
#include "devicepluginserialportcommander.h"
#include "plugininfo.h"
diff --git a/simulation/README.md b/simulation/README.md
new file mode 100644
index 00000000..a7b41d79
--- /dev/null
+++ b/simulation/README.md
@@ -0,0 +1,3 @@
+# Simulation
+
+This plugin contains many different simulated device in order to play with the system if you don't have any devices around or as a showcase for nymea.
diff --git a/snapd/README.md b/snapd/README.md
new file mode 100644
index 00000000..c471f907
--- /dev/null
+++ b/snapd/README.md
@@ -0,0 +1,4 @@
+# Snapd
+
+This plugin allows to interact with the snap daemon in order to trigger updates, change the channel of snaps check if there are snaps which could be refreshed.
+The plugin allows also to change the refresh schedule of snapd.
diff --git a/tasmota/README.md b/tasmota/README.md
new file mode 100644
index 00000000..cd89004a
--- /dev/null
+++ b/tasmota/README.md
@@ -0,0 +1,20 @@
+# Tasmota
+
+This plugin allows to make use of Sonoff-Tasmota devices via the nymea internal MQTT broker. There is no external MQTT broker needed.
+
+Note that Sonoff devices must be flashed with the Tasmota sofware and connected to the WiFi network in order to work with this plugin.
+
+See the [Sonoff-Tasmota wiki](https://github.com/arendst/Sonoff-Tasmota/wiki) for a list of all supported devices and instructions on how to
+install Tasmota on those.
+
+After flashing Tasmota to a Sonoff device and connecting it to WiFi, it can be added to nymea. The only required
+thing is the IP address to the device. This plugin will create a new isoloated MQTT channel on the nymea internal
+MQTT broker and provision login details to the Tasmota device via HTTP. Once that is successful, the Tasmota device
+will connect to the MQTT broker and appear as connected in nymea.
+
+## Plugin properties
+When adding a Tasmota device it will add a new Gateway type device representing the Tasmota device itself. In addition
+to that a power switch device will appear which can be used to control the switches in the Tasmota device. Upon
+device setup, the user can optionally select the type of the connected hardware, (e.g. a light) which causes this
+plugin to create a light device in the system which also controls the switches inside the Tasmota device and nicely
+integrates with the nymea:ux for the given device type.
diff --git a/tasmota/deviceplugintasmota.cpp b/tasmota/deviceplugintasmota.cpp
index 9b0c2215..153f67d1 100644
--- a/tasmota/deviceplugintasmota.cpp
+++ b/tasmota/deviceplugintasmota.cpp
@@ -20,40 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page tasmota.html
- \title Tasmota (Sonoff) devices
- \brief Plugin for Tasmota devices (Sonoff devices flashed with Tasmota and others)
-
- \ingroup plugins
- \ingroup nymea-plugins-maker
-
- This plugin allows to make use of Sonoff-Tasmota devices via the nymea internal MQTT broker.
- There is no external MQTT broker needed.
-
- Note that Sonoff devices must be flashed with the Tasmota sofware and connected to the WiFi network in order to
- work with this plugin.
-
- See https://github.com/arendst/Sonoff-Tasmota/wiki for a list of all supported devices and instructions on how to
- install Tasmota on those.
-
- After flashing Tasmota to a Sonoff device and connecting it to WiFi, it can be added to nymea. The only required
- thing is the IP address to the device. This plugin will create a new isoloated MQTT channel on the nymea internal
- MQTT broker and provision login details to the Tasmota device via HTTP. Once that is successful, the Tasmota device
- will connect to the MQTT broker and appear as connected in nymea.
-
- \chapter Plugin properties
- When adding a Tasmota device it will add a new Gateway type device representing the Tasmota device itself. In addition
- to that a power switch device will appear which can be used to control the switches in the Tasmota device. Upon
- device setup, the user can optionally select the type of the connected hardware, (e.g. a light) which causes this
- plugin to create a light device in the system which also controls the switches inside the Tasmota device and nicely
- integrates with the nymea:ux for the given device type.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/tasmota/deviceplugintasmota.json
-*/
-
#include "deviceplugintasmota.h"
#include "plugininfo.h"
diff --git a/tcpcommander/README.md b/tcpcommander/README.md
new file mode 100644
index 00000000..033f8eb7
--- /dev/null
+++ b/tcpcommander/README.md
@@ -0,0 +1,3 @@
+# TCP commander
+
+This plugin is a generic approach to allow sending and receiving custom TCP packages in a network.
diff --git a/texasinstruments/README.md b/texasinstruments/README.md
new file mode 100644
index 00000000..a6959ac5
--- /dev/null
+++ b/texasinstruments/README.md
@@ -0,0 +1,18 @@
+# Texas Instruments
+
+This plugin supports devices from Texas Instruments.
+
+## TI SensorTag (CC2650)
+
+Using Bluetooth-LE, the TI SensorTag device class allows nymea to interact with those sensors. All supported
+sensors of the device are supported:
+
+* Temperature
+* IR Temperature
+* Humidity
+* Pressure
+* Light intensity
+* Motion
+* Magnetic Objects
+
+Besides reading the sensor values, the buttons, buzzer and LEDs can be read and/or controlled.
diff --git a/texasinstruments/deviceplugintexasinstruments.cpp b/texasinstruments/deviceplugintexasinstruments.cpp
index c48f431b..88c4cd04 100644
--- a/texasinstruments/deviceplugintexasinstruments.cpp
+++ b/texasinstruments/deviceplugintexasinstruments.cpp
@@ -20,40 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page texasinstruments.html
- \title Texas Instruments
- \brief Plugin for Texas Instruments Devices.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin supports devices from Texas Instruments.
-
- Currently supported devices:
- * TI SensorTag (CC2650).
-
- \chapter TI SensorTag (CC2650)
-
- Using Bluetooth-LE, the TI SensorTag device class allows nymea to interact with those sensors. All supported
- sensors of the device are supported:
- * Temperature
- * IR Temperature
- * Humidity
- * Pressure
- * Light intensity
- * Motion
- * Magnetic Objects
- Besides reading the sensor values, the buttons, buzzer and LEDs can be read and/or controlled.
-
- \chapter Plugin defintion
-
- \quotefile plugins/deviceplugins/multisensor/deviceplugintexasinstruments.json
-
- \sa {The plugin JSON File}
-
-*/
-
#include "deviceplugintexasinstruments.h"
#include "plugininfo.h"
#include "sensortag.h"
diff --git a/udpcommander/README.md b/udpcommander/README.md
new file mode 100644
index 00000000..7390928a
--- /dev/null
+++ b/udpcommander/README.md
@@ -0,0 +1,19 @@
+# UDP commander
+
+This plugin allows to receive UDP packages over a certain UDP port and generates an event if the message content matches the param command.
+
+> Note: This plugin is ment to be combined with a rule.
+
+## Example
+
+If you create an UDP Commander on port 2323 and with the command `"Light 1 ON"`, following command will trigger an event in nymea and allows you to connect this event with a rule.
+
+> Note: In this example nymea is running on `localhost`
+
+
+ $ echo "Light 1 ON" | nc -u localhost 2323
+ OK
+
+This allows you to execute actions in your nymea system when a certain UDP message will be sent to nymea.
+
+If the command will be recognized from nymea, the sender will receive as answere a `"OK"` string.
diff --git a/udpcommander/devicepluginudpcommander.cpp b/udpcommander/devicepluginudpcommander.cpp
index 4888c894..4436519b 100644
--- a/udpcommander/devicepluginudpcommander.cpp
+++ b/udpcommander/devicepluginudpcommander.cpp
@@ -21,44 +21,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page udpcommander.html
- \title UDP Commander
- \brief Plugin for catching UDP commands from the network.
-
- \ingroup plugins
- \ingroup nymea-plugins-maker
-
- This plugin allows to receive UDP packages over a certain UDP port and generates an \l{Event} if the message content matches
- the \l{Param} command.
-
- \note This plugin is ment to be combined with a \l{nymeaserver::Rule}.
-
- \section3 Example
-
- If you create an UDP Commander on port 2323 and with the command \c{"Light 1 ON"}, following command will trigger an \l{Event} in nymea
- and allows you to connect this \l{Event} with a \l{nymeaserver::Rule}.
-
- \note In this example nymea is running on \c localhost
-
- \code
- $ echo "Light 1 ON" | nc -u localhost 2323
- OK
- \endcode
-
- This allows you to execute \l{Action}{Actions} in your home automation system when a certain UDP message will be sent to nymea.
-
- If the command will be recognized from nymea, the sender will receive as answere a \c{"OK"} string.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/udpcommander/devicepluginudpcommander.json
-*/
-
#include "devicepluginudpcommander.h"
#include "plugin/device.h"
#include "plugininfo.h"
diff --git a/unipi/README.md b/unipi/README.md
new file mode 100644
index 00000000..77c2b4cf
--- /dev/null
+++ b/unipi/README.md
@@ -0,0 +1,2 @@
+# UniPi
+
diff --git a/unitec/README.md b/unitec/README.md
new file mode 100644
index 00000000..5b1f55fe
--- /dev/null
+++ b/unitec/README.md
@@ -0,0 +1,10 @@
+# Unitec
+
+This plugin allows to controll RF 433 MHz actors an receive remote signals from [Unitec](http://www.unitec-elektro.de)
+devices.
+
+The unitec socket units have a learn function. If you plug in the switch, a red light will start to blink. This means
+the socket is in the learning mode. Now you can add a Unitec switch (48111) to nymea with your desired Channel (A,B,C or D).
+In order to pair the socket you just have to press the power ON, and the switch has to be in the pairing mode.
+If the pairing was successful, the switch will turn on. If the switches will be removed from the socket or there will
+be a power breakdown, the switch has to be re-paired. The device can not remember the teached channel.
diff --git a/unitec/devicepluginunitec.cpp b/unitec/devicepluginunitec.cpp
index 6310cf1f..0733e5fd 100644
--- a/unitec/devicepluginunitec.cpp
+++ b/unitec/devicepluginunitec.cpp
@@ -20,32 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page unitec.html
- \title Unitec
- \brief Plugin for Unitech RF 433 MHz devices.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to controll RF 433 MHz actors an receive remote signals from \l{http://www.unitec-elektro.de}{Unitec}
- devices.
-
- The unitec socket units have a learn function. If you plug in the switch, a red light will start to blink. This means
- the socket is in the learning mode. Now you can add a Unitec switch (48111) to nymea with your desired Channel (A,B,C or D).
- In order to pair the socket you just have to press the power ON, and the switch has to be in the pairing mode.
- If the pairing was successful, the switch will turn on. If the switches will be removed from the socket or there will
- be a power breakdown, the switch has to be re-paired. The device can not remember the teached channel.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/unitec/devicepluginunitec.json
-*/
-
#include "devicepluginunitec.h"
#include "devicemanager.h"
#include "plugininfo.h"
diff --git a/wakeonlan/README.md b/wakeonlan/README.md
new file mode 100644
index 00000000..d29959a9
--- /dev/null
+++ b/wakeonlan/README.md
@@ -0,0 +1,7 @@
+# Wake on LAN
+
+Wake-on-LAN (WOL) is an Ethernet computer networking standard that allows a computer
+to be turned on or awakened by a network message. This plugin allows you to send a
+a "magic packet" to a certain mac address in the local network.
+
+> Note: The WOL service has to be enabled on the host computer.
diff --git a/wakeonlan/devicepluginwakeonlan.cpp b/wakeonlan/devicepluginwakeonlan.cpp
index 22e6eeb4..6d7c9c7f 100644
--- a/wakeonlan/devicepluginwakeonlan.cpp
+++ b/wakeonlan/devicepluginwakeonlan.cpp
@@ -20,30 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page wakeonlan.html
- \title Wake On Lan
- \brief Plugin for wake up devices in the LAN (wol).
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- Wake-on-LAN (WOL) is an Ethernet computer networking standard that allows a computer
- to be turned on or awakened by a network message. This plugin allows you to send a
- a "magic packet" to a certain mac address in the local network.
-
- \underline{NOTE}: The WOL service has to be enabled on the host computer.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/wakeonlan/devicepluginwakeonlan.json
-*/
-
-
#include "devicepluginwakeonlan.h"
#include "plugin/device.h"
diff --git a/wemo/README.md b/wemo/README.md
new file mode 100644
index 00000000..e3ada5bc
--- /dev/null
+++ b/wemo/README.md
@@ -0,0 +1,7 @@
+# Wemo
+
+This plugin allows to find and control devices from WeMo, the
+[Belkin](http://www.belkin.com/de/PRODUKTE/home-automation/c/wemo-home-automation/)
+home automation system.
+
+> Note: The devices can only be discovered if they are already in the local network. In order to configure the WeMo devices please use the original software.
diff --git a/wemo/devicepluginwemo.cpp b/wemo/devicepluginwemo.cpp
index 6cb59f75..f6ef54d6 100644
--- a/wemo/devicepluginwemo.cpp
+++ b/wemo/devicepluginwemo.cpp
@@ -20,30 +20,6 @@
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/*!
- \page wemo.html
- \title WeMo
- \brief Plugin for Belkin WeMo sockets.
-
- \ingroup plugins
- \ingroup nymea-plugins
-
- This plugin allows to find and control devices from WeMo, the
- \l{http://www.belkin.com/de/PRODUKTE/home-automation/c/wemo-home-automation/}{Belkin}
- home automation system.
-
- \note: The devices can only be discovered if they are already in the local network. In order
- to configure the WeMo devices please use the original software.
-
- \chapter Plugin properties
- Following JSON file contains the definition and the description of all available \l{DeviceClass}{DeviceClasses}
- and \l{Vendor}{Vendors} of this \l{DevicePlugin}.
-
- For more details how to read this JSON file please check out the documentation for \l{The plugin JSON File}.
-
- \quotefile plugins/deviceplugins/wemo/devicepluginwemo.json
-*/
-
#include "devicepluginwemo.h"
#include "plugin/device.h"