diff --git a/doc/commands.txt b/doc/commands.txt
new file mode 100644
index 0000000..2715cc8
--- /dev/null
+++ b/doc/commands.txt
@@ -0,0 +1,76 @@
+Details of mqtt commands
+
+Restart the device
+* topic  : ebus/config/restart
+* payload: true
+
+
+The following commands are available when the firmware is compiled with EBUS_INTERNAL=1
+
+Insert new command
+* topic  : ebus/config/insert
+* payload: ebus command in form of "ZZPBSBNNDBx" for e.g.
+{
+  "key": "UNIQUE_KEY",
+  "command": "fe070009",
+  "unit": "°C",
+  "active": false,
+  "interval": 0,
+  "master": true,
+  "position": 1,
+  "datatype": "DATA2b",
+  "topic": "outdoor/temperature",
+  "ha": true,
+  "ha_class": "temperature"
+}
+
+
+Remove loaded command
+* topic  : ebus/config/remove
+* payload: UNIQUE_KEY of ebus command
+{
+  "key": "UNIQUE_KEY"
+}
+
+
+Publish loaded commands
+* topic  : ebus/config/list
+* payload: true
+
+
+Enable/disable the raw data printout
+* topic  : ebus/config/raw
+* payload: true
+
+
+Insert raw data filter
+* topic  : ebus/config/filter
+* payload: array of sequences for e.g.
+[
+  "0700",
+  "fe"
+]
+
+
+Loading saved commands
+* topic  : ebus/config/load
+* payload: true
+
+
+Saving loaded commands
+* topic  : ebus/config/save
+* payload: true
+
+
+Wiping saved commands
+* topic  : ebus/config/wipe
+* payload: true
+
+
+Sending of given ebus command(s) once
+* topic  : ebus/config/send
+* payload: array of ebus command(s) in form of "ZZPBSBNNDBx" for e.g.
+[
+  "05070400",
+  "15070400"
+]
diff --git a/doc/mqtt.md b/doc/mqtt.md
new file mode 100644
index 0000000..7eda3cc
--- /dev/null
+++ b/doc/mqtt.md
@@ -0,0 +1,50 @@
+# mqtt interface
+
+The mqtt interface serves two purposes.
+* Data is made available at regular intervals.
+* Defined commands can be sent to the device.
+
+Every topic starts as subtopic of **ebus/**
+
+These topics are available on every device.
+|***topic***          |***description***
+|:-                   |:-
+|**device**           |
+|ebus/device          |information about your device                                   
+|ebus/device/ebus     |basic ebus adapter settings (Configration)
+|ebus/device/firmware |details of installed firmware
+|ebus/device/wifi     |wifi details
+|**counter**          | 
+|ebus/arbitration     |arbitration over common interface 
+|ebus/arbitration/won |details of won arbitration 
+|ebus/arbitration/lost|details of lost arbitration     
+|**commands**         |
+|ebus/config/restart  |restarting of the device 
+|-                    |
+|**EBUS_INTERNAL=1**  |
+|**output**           |
+|ebus/commands        |list of installed commands
+|ebus/value           |received values of installed commands
+|ebus/sent            |values of 'send' command: subtopic=master; value=slave;
+|ebus/raw             |values of 'raw' printout: subtopic=master; value=slave;
+|**counter**          |
+|ebus/messages        |processed messages
+|ebus/errors          |errors of finite state machine  
+|ebus/resets          |resets of finite state machine 
+|ebus/requets         |bus requests (arbitration)
+|**commands**         |
+|ebus/config/insert   |insert new command
+|ebus/config/remove   |remove loaded command
+|ebus/config/list     |list loaded commands
+|ebus/config/load     |loading saved commands
+|ebus/config/save     |saving loaded commands
+|ebus/config/wipe     |wiping saved commands
+|ebus/config/send     |sending of given ebus command(s) once
+|ebus/config/raw      |enable/disable of raw data printout
+|ebus/config/filter   |filter for raw data printout
+|**response**         |
+|ebus/config/loading  |bytes of loaded commands
+|ebus/config/saving   |bytes of saved commands
+|ebus/config/wiping   |bytes of wiped commands
+|ebus/conifg/error    |message of last occurred error
+
diff --git a/doc/mqtt.txt b/doc/mqtt.txt
new file mode 100644
index 0000000..4712353
--- /dev/null
+++ b/doc/mqtt.txt
@@ -0,0 +1,50 @@
+# mqtt interface
+
+The mqtt interface serves two purposes.
+* Data is made available at regular intervals.
+* Defined commands can be sent to the device.
+
+Every topic starts as subtopic of **ebus/**
+
+These topics are available on every device.
+|***topic***          |***description***
+|:-                   |:-
+|**device**           |
+|ebus/device          |information about your device                                   
+|ebus/device/ebus     |basic ebus adapter settings (Configration)
+|ebus/device/firmware |details of installed firmware
+|ebus/device/wifi     |wifi details
+|**counter**          | 
+|ebus/arbitration     |arbitration over common interface 
+|ebus/arbitration/won |details of won arbitration 
+|ebus/arbitration/lost|details of lost arbitration     
+|**commands**         |
+|ebus/config/restart  |restarting of the device 
+|-                    |
+|**EBUS_INTERNAL=1**  |
+|**output**           |
+|ebus/commands        |list of installed commands
+|ebus/value           |received values of installed commands
+|ebus/sent            |values of 'send' command: subtopic=master; value=slave;
+|ebus/raw             |values of 'raw' printout: subtopic=master; value=slave;
+|**counter**          |
+|ebus/messages        |processed messages
+|ebus/errors          |errors of finite state machine  
+|ebus/resets          |resets of finite state machine 
+|ebus/requets         |bus requests (arbitration)
+|**commands**         |
+|ebus/config/insert   |insert new command
+|ebus/config/remove   |remove loaded command
+|ebus/config/list     |list loaded commands
+|ebus/config/load     |loading saved commands
+|ebus/config/save     |saving loaded commands
+|ebus/config/wipe     |wiping saved commands
+|ebus/config/send     |sending of given ebus command(s) once
+|ebus/config/raw      |enable/disable of raw data printout
+|ebus/config/filter   |filter for raw data printout
+|**response**         |
+|ebus/config/loading  |bytes of loaded commands
+|ebus/config/saving   |bytes of saved commands
+|ebus/config/wiping   |bytes of wiped commands
+|ebus/conifg/error    |message of last occurred error
+