diff --git a/fhem/FHEM/20_FRM_RGB.pm b/fhem/FHEM/20_FRM_RGB.pm
index 781eb8bb8..68ce5cb23 100644
--- a/fhem/FHEM/20_FRM_RGB.pm
+++ b/fhem/FHEM/20_FRM_RGB.pm
@@ -270,35 +270,66 @@ FRM_RGB_Attr($$$$) {
=pod
=begin html
-
-
FRM_PWM
+
+FRM_RGB
- represents a pin of an Arduino running Firmata
- configured for analog output.
- The value set will be output by the specified pin as a pulse-width-modulated signal.
+ allows to drive LED-controllers and other multichannel-devices that use PWM as input by an Arduino running Firmata
+
+ The value set will be output by the specified pins as pulse-width-modulated signals.
Requires a defined FRM-device to work.
-
+
Define
- define <name> FRM_PWM <pin>
- Defines the FRM_PWM device. <pin>> is the arduino-pin to use.
+ define <name> FRM_PWM <pin> <pin> <pin> [pin...]
+ Defines the FRM_RGB device. <pin>> are the arduino-pin to use.
+ For rgb-controlled devices first pin drives red, second pin green and third pin blue.
-
+
Set
- set <name> value <value>
- sets the pulse-width of the signal that is output on the configured arduino pin
- Range is from 0 to 255 (see analogWrite() for details)
-
-
+ set <name> on
+ sets the pulse-width of all configured pins to 100%
+
+ set <name> off
+ sets the pulse-width of all configured pins to 0%
+
+ set <name> toggle
+ toggles in between the last dimmed value, 0% and 100%. If no dimmed value was set before defaults to pulsewidth 50% on all channels
+
+ set <name> rgb <value>
+ sets the pulse-width of all channels at once. Also sets the value toggle can switch to
+ Value is encoded as hex-string, 2-digigs per channel (e.g. FFFFFF for reguler rgb)
+
+ set <name> pct <value>
+ dims all channels at once while leving the ratio in between the channels unaltered.
+ Range is 0-100 ('pct' stands for 'percent')
+
+ set <name> dimUp
+ dims all channels up by 10%
+
+ set <name> dimDown
+ dims all channels down by 10%
+
+
Get
- N/A
+ get <h;name> rgb
+ returns the values set for all channels. Format is hex, 2 nybbles per channel.
+
+
+ get <h;name> RGB
+ returns the values set for all channels in normalized format. Format is hex, 2 nybbles per channel.
+ Values are scaled such that the channel with the highest value is set to FF. The real values are calculated
+ by multipying each byte with the value of 'pct'.
+
+
+ get <h;name> pct
+ returns the value of the channel with the highest value scaled to the range of 0-100 (percent).
-
+
Attributes
- restoreOnStartup <on|off>