diff --git a/docs/commands-extended.md b/docs/commands-extended.md
new file mode 100644
index 000000000..22725679d
--- /dev/null
+++ b/docs/commands-extended.md
@@ -0,0 +1,135 @@
+# Commands
+
+| Command | Arguments | Description | Loc |
+|:------------- |:-------------:|:----- | ------:|
+| SetChannel | | qqqqq0 | cmnds/cmd_channels.c
CMD_SetChannel |
+| ToggleChannel | | qqqqq0 | cmnds/cmd_channels.c
CMD_ToggleChannel |
+| AddChannel | | qqqqq0 | cmnds/cmd_channels.c
CMD_AddChannel |
+| ClampChannel | | qqqqq0 | cmnds/cmd_channels.c
CMD_ClampChannel |
+| SetPinRole | | qqqqq0 | cmnds/cmd_channels.c
CMD_SetPinRole |
+| SetPinChannel | | qqqqq0 | cmnds/cmd_channels.c
CMD_SetPinChannel |
+| GetChannel | | qqqqq0 | cmnds/cmd_channels.c
CMD_GetChannel |
+| GetReadings | | qqqqq0 | cmnds/cmd_channels.c
CMD_GetReadings |
+| ShortName | | qqqqq0 | cmnds/cmd_channels.c
CMD_ShortName |
+| AddEventHandler | | qqqqq0 | cmnds/cmd_eventHandlers.c
CMD_AddEventHandler |
+| AddChangeHandler | | qqqqq0 | cmnds/cmd_eventHandlers.c
CMD_AddChangeHandler |
+| listEvents | | qqqqq0 | cmnds/cmd_eventHandlers.c
CMD_ListEvents |
+| clearAllHandlers | | qqqqq0 | cmnds/cmd_eventHandlers.c
CMD_ClearAllHandlers |
+| echo | | qqqe | cmnds/cmd_main.c
CMD_Echo |
+| restart | | Reboots the module | cmnds/cmd_main.c
CMD_Restart |
+| clearConfig | | Clears all config | cmnds/cmd_main.c
CMD_ClearConfig |
+| simonirtest | | Simons Special Test | cmnds/cmd_main.c
CMD_SimonTest |
+| if | | | cmnds/cmd_main.c
CMD_If |
+| led_dimmer | | set output dimmer 0..100 | cmnds/cmd_newLEDDriver.c
dimmer |
+| add_dimmer | | set output dimmer 0..100 | cmnds/cmd_newLEDDriver.c
add_dimmer |
+| led_enableAll | | qqqq | cmnds/cmd_newLEDDriver.c
enableAll |
+| led_basecolor_rgb | | set PWN color using #RRGGBB | cmnds/cmd_newLEDDriver.c
basecolor_rgb |
+| led_basecolor_rgbcw | | set PWN color using #RRGGBB[cw][ww] | cmnds/cmd_newLEDDriver.c
basecolor_rgbcw |
+| led_temperature | | set qqqq | cmnds/cmd_newLEDDriver.c
temperature |
+| led_brightnessMult | | set qqqq | cmnds/cmd_newLEDDriver.c
brightnessMult |
+| led_colorMult | | set qqqq | cmnds/cmd_newLEDDriver.c
colorMult |
+| led_saturation | | set qqqq | cmnds/cmd_newLEDDriver.c
setSaturation |
+| led_hue | | set qqqq | cmnds/cmd_newLEDDriver.c
setHue |
+| led_nextColor | | set qqqq | cmnds/cmd_newLEDDriver.c
nextColor |
+| led_lerpSpeed | | set qqqq | cmnds/cmd_newLEDDriver.c
lerpSpeed |
+| addRepeatingEvent | | qqqq | cmnds/cmd_repeatingEvents.c
RepeatingEvents_Cmd_AddRepeatingEvent |
+| addRepeatingEventID | | qqqq | cmnds/cmd_repeatingEvents.c
RepeatingEvents_Cmd_AddRepeatingEvent |
+| cancelRepeatingEvent | | qqqq | cmnds/cmd_repeatingEvents.c
RepeatingEvents_Cmd_CancelRepeatingEvent |
+| startScript | | qqqqq0 | cmnds/cmd_script.c
CMD_StartScript |
+| stopScript | | qqqqq0 | cmnds/cmd_script.c
CMD_StopScript |
+| stopAllScripts | | qqqqq0 | cmnds/cmd_script.c
CMD_StopAllScripts |
+| listScripts | | qqqqq0 | cmnds/cmd_script.c
CMD_ListScripts |
+| goto | | qqqqq0 | cmnds/cmd_script.c
CMD_GoTo |
+| delay_s | | qqqqq0 | cmnds/cmd_script.c
CMD_Delay_s |
+| delay_ms | | qqqqq0 | cmnds/cmd_script.c
CMD_Delay_ms |
+| return | | qqqqq0 | cmnds/cmd_script.c
CMD_Return |
+| resetSVM | | qqqqq0 | cmnds/cmd_script.c
CMD_resetSVM |
+| sendGet | | qq | cmnds/cmd_send.c
CMD_SendGET |
+| power | | set output POWERn 0..100 | cmnds/cmd_tasmota.c
power |
+| powerStateOnly | | ensures that device is on or off without changing pwm values | cmnds/cmd_tasmota.c
powerStateOnly |
+| powerAll | | set all outputs | cmnds/cmd_tasmota.c
powerAll |
+| color | | set PWN color using #RRGGBB[cw][ww] | cmnds/cmd_tasmota.c
color |
+| backlog | | run a sequence of ; separated commands | cmnds/cmd_tasmota.c
cmnd_backlog |
+| exec | | exec - run autoexec.bat or other file from LFS if present | cmnds/cmd_tasmota.c
cmnd_lfsexec |
+| lfs_test1 | | | cmnds/cmd_tasmota.c
cmnd_lfs_test1 |
+| lfs_test2 | | | cmnds/cmd_tasmota.c
cmnd_lfs_test2 |
+| lfs_test3 | | | cmnds/cmd_tasmota.c
cmnd_lfs_test3 |
+| aliasMem | | custom | cmnds/cmd_test.c
runcmd |
+| alias | | add a custom command | cmnds/cmd_test.c
alias |
+| testMallocFree | | | cmnds/cmd_test.c
testMallocFree |
+| testRealloc | | | cmnds/cmd_test.c
testRealloc |
+| testJSON | | | cmnds/cmd_test.c
testJSON |
+| testLog | | | cmnds/cmd_test.c
testLog |
+| testFloats | | | cmnds/cmd_test.c
testFloats |
+| testArgs | | | cmnds/cmd_test.c
testArgs |
+| testStrdup | | | cmnds/cmd_test.c
testStrdup |
+| PowerSet | | Sets current power value for calibration | driver/drv_bl0937.c
BL0937_PowerSet |
+| VoltageSet | | Sets current V value for calibration | driver/drv_bl0937.c
BL0937_VoltageSet |
+| CurrentSet | | Sets current I value for calibration | driver/drv_bl0937.c
BL0937_CurrentSet |
+| PREF | | Sets the calibration multiplier | driver/drv_bl0937.c
BL0937_PowerRef |
+| VREF | | Sets the calibration multiplier | driver/drv_bl0937.c
BL0937_VoltageRef |
+| IREF | | Sets the calibration multiplier | driver/drv_bl0937.c
BL0937_CurrentRef |
+| PowerMax | | Sets Maximum power value measurement limiter | driver/drv_bl0937.c
BL0937_PowerMax |
+| EnergyCntReset | | Reset Energy Counter | driver/drv_bl_shared.c
BL09XX_ResetEnergyCounter |
+| SetupEnergyStats | | Setup Energy Statistic Parameters: [enable<0|1>] [sample_time<10..900>] [sample_count<10..180>] | driver/drv_bl_shared.c
BL09XX_SetupEnergyStatistic |
+| ConsumptionThresold | | Setup value for automatic save of consumption data [1..100] | driver/drv_bl_shared.c
BL09XX_SetupConsumptionThreshold |
+| BP1658CJ_RGBCW | | qq | driver/drv_bp1658cj.c
BP1658CJ_RGBCW |
+| BP1658CJ_Map | | qq | driver/drv_bp1658cj.c
BP1658CJ_Map |
+| BP5758D_RGBCW | | qq | driver/drv_bp5758d.c
BP5758D_RGBCW |
+| BP5758D_Map | | qq | driver/drv_bp5758d.c
BP5758D_Map |
+| BP5758D_Current | | qq | driver/drv_bp5758d.c
BP5758D_Current |
+| IRSend | | Sends IR commands in the form PROT-ADDR-CMD-RE | driver/drv_ir.cpp
IR_Send_Cmd |
+| IREnable | | Enable/disable aspects of IR. IREnable RXTX 0/1 - enable Rx whilst Tx. IREnable [protocolname] 0/1 - enable/disable a specified protocol | driver/drv_ir.cpp
IR_Enable |
+| startDriver | | Starts driver | driver/drv_main.c
DRV_Start |
+| stopDriver | | Stops driver | driver/drv_main.c
DRV_Stop |
+| ntp_timeZoneOfs | | Sets the time zone offset in hours | driver/drv_ntp.c
NTP_SetTimeZoneOfs |
+| ntp_setServer | | Sets the NTP server | driver/drv_ntp.c
NTP_SetServer |
+| ntp_info | | Display NTP related settings | driver/drv_ntp.c
NTP_Info |
+| SM2135_RGBCW | | qq | driver/drv_sm2135.c
SM2135_RGBCW |
+| SM2135_Map | | qq | driver/drv_sm2135.c
SM2135_Map |
+| SM2135_Current | | qq | driver/drv_sm2135.c
SM2135_Current |
+| obkDeviceList | | qqq | driver/drv_ssdp.c
Cmd_obkDeviceList |
+| DGR_SendPower | | qqq | driver/drv_tasmotaDeviceGroups.c
CMD_DGR_SendPower |
+| DGR_SendBrightness | | qqq | driver/drv_tasmotaDeviceGroups.c
CMD_DGR_SendBrightness |
+| DGR_SendRGBCW | | qqq | driver/drv_tasmotaDeviceGroups.c
CMD_DGR_SendRGBCW |
+| tuyaMcu_testSendTime | | Sends a example date by TuyaMCU to clock/callendar MCU | driver/drv_tuyaMCU.c
TuyaMCU_Send_SetTime_Example |
+| tuyaMcu_sendCurTime | | Sends a current date by TuyaMCU to clock/callendar MCU | driver/drv_tuyaMCU.c
TuyaMCU_Send_SetTime_Current |
+| uartSendHex | | Sends raw data by TuyaMCU UAR | driver/drv_tuyaMCU.c
TuyaMCU_Send_Hex |
+| tuyaMcu_fakeHex | | qq | driver/drv_tuyaMCU.c
TuyaMCU_Fake_Hex |
+| linkTuyaMCUOutputToChannel | | Map value send from TuyaMCU (eg. humidity or temperature) to channel | driver/drv_tuyaMCU.c
TuyaMCU_LinkTuyaMCUOutputToChannel |
+| tuyaMcu_setDimmerRange | | Set dimmer range used by TuyaMCU | driver/drv_tuyaMCU.c
TuyaMCU_SetDimmerRange |
+| tuyaMcu_sendHeartbeat | | Send heartbeat to TuyaMCU | driver/drv_tuyaMCU.c
TuyaMCU_SendHeartbeat |
+| tuyaMcu_sendQueryState | | Send query state command | driver/drv_tuyaMCU.c
TuyaMCU_SendQueryState |
+| tuyaMcu_sendProductInformation | | Send qqq | driver/drv_tuyaMCU.c
TuyaMCU_SendQueryProductInformation |
+| tuyaMcu_sendState | | Send set state command | driver/drv_tuyaMCU.c
TuyaMCU_SendStateCmd |
+| tuyaMcu_sendMCUConf | | Send MCU conf command | driver/drv_tuyaMCU.c
TuyaMCU_SendMCUConf |
+| fakeTuyaPacket | | qq | driver/drv_tuyaMCU.c
TuyaMCU_FakePacket |
+| tuyaMcu_setBaudRate | | Set the serial baud rate used to communicate with the TuyaMCU | driver/drv_tuyaMCU.c
TuyaMCU_SetBaudRate |
+| UCS1912_Test | | qq | driver/drv_ucs1912.c
UCS1912_Test |
+| lcd_clearAndGoto | | Adds a new I2C device | i2c/drv_i2c_lcd_pcf8574t.c
DRV_I2C_LCD_PCF8574_ClearAndGoTo |
+| lcd_goto | | Adds a new I2C device | i2c/drv_i2c_lcd_pcf8574t.c
DRV_I2C_LCD_PCF8574_GoTo |
+| lcd_print | | Adds a new I2C device | i2c/drv_i2c_lcd_pcf8574t.c
DRV_I2C_LCD_PCF8574_Print |
+| lcd_clear | | Adds a new I2C device | i2c/drv_i2c_lcd_pcf8574t.c
DRV_I2C_LCD_PCF8574_Clear |
+| addI2CDevice_TC74 | | Adds a new I2C device | i2c/drv_i2c_main.c
DRV_I2C_AddDevice_TC74 |
+| addI2CDevice_MCP23017 | | Adds a new I2C device | i2c/drv_i2c_main.c
DRV_I2C_AddDevice_MCP23017 |
+| addI2CDevice_LCM1602 | | Adds a new I2C device | i2c/drv_i2c_main.c
DRV_I2C_AddDevice_LCM1602 |
+| addI2CDevice_LCD_PCF8574 | | Adds a new I2C device | i2c/drv_i2c_main.c
DRV_I2C_AddDevice_PCF8574 |
+| MCP23017_MapPinToChannel | | Adds a new I2C device | i2c/drv_i2c_main.c
DRV_I2C_MCP23017_MapPinToChannel |
+| lfssize | NULL | Log or Set LFS size - will apply and re-format next boo | littlefs/our_lfs.c
CMD_LFS_Size |
+| lfsunmount | NULL | Un-mount LFS | littlefs/our_lfs.c
CMD_LFS_Unmount |
+| lfsmount | NULL | Mount LFS | littlefs/our_lfs.c
CMD_LFS_Mount |
+| lfsformat | NULL | Unmount and format LFS. Optionally add new size as argument | littlefs/our_lfs.c
CMD_LFS_Format |
+| loglevel | | set log level <0..6> | logging/logging.c
log_command |
+| logfeature | | set log feature filte | logging/logging.c
log_command |
+| logtype | | logtype direct|all - direct logs only to serial immediately | logging/logging.c
log_command |
+| logdelay | | logdelay -1|0..n - impose ms delay after every lo | logging/logging.c
log_command |
+| MQTT_COMMAND_PUBLISH | | Sqqq | mqtt/new_mqtt.c
MQTT_PublishCommand |
+| MQTT_COMMAND_PUBLISH_ALL | | Sqqq | mqtt/new_mqtt.c
MQTT_PublishAll |
+| MQTT_COMMAND_PUBLISH_CHANNELS | | Sqqq | mqtt/new_mqtt.c
MQTT_PublishChannels |
+| MQTT_COMMAND_PUBLISH_BENCHMARK | | | mqtt/new_mqtt.c
MQTT_StartMQTTTestThread |
+| showgpi | NULL | log stat of all GPIs | new_pins.c
showgpi |
+| setChannelType | NULL | qqqqqqqq | new_pins.c
CMD_SetChannelType |
+| showChannelValues | NULL | log channel values | new_pins.c
CMD_ShowChannelValues |
+| setButtonTimes | NULL | | new_pins.c
CMD_SetButtonTimes |
+| setButtonHoldRepeat | NULL | | new_pins.c
CMD_setButtonHoldRepeat |
+
diff --git a/docs/commands.md b/docs/commands.md
new file mode 100644
index 000000000..635917927
--- /dev/null
+++ b/docs/commands.md
@@ -0,0 +1,135 @@
+# Commands
+
+| Command | Arguments | Description |
+|:------------- |:------------- | -----:|
+| SetChannel | | qqqqq0 |
+| ToggleChannel | | qqqqq0 |
+| AddChannel | | qqqqq0 |
+| ClampChannel | | qqqqq0 |
+| SetPinRole | | qqqqq0 |
+| SetPinChannel | | qqqqq0 |
+| GetChannel | | qqqqq0 |
+| GetReadings | | qqqqq0 |
+| ShortName | | qqqqq0 |
+| AddEventHandler | | qqqqq0 |
+| AddChangeHandler | | qqqqq0 |
+| listEvents | | qqqqq0 |
+| clearAllHandlers | | qqqqq0 |
+| echo | | qqqe |
+| restart | | Reboots the module |
+| clearConfig | | Clears all config |
+| simonirtest | | Simons Special Test |
+| if | | |
+| led_dimmer | | set output dimmer 0..100 |
+| add_dimmer | | set output dimmer 0..100 |
+| led_enableAll | | qqqq |
+| led_basecolor_rgb | | set PWN color using #RRGGBB |
+| led_basecolor_rgbcw | | set PWN color using #RRGGBB[cw][ww] |
+| led_temperature | | set qqqq |
+| led_brightnessMult | | set qqqq |
+| led_colorMult | | set qqqq |
+| led_saturation | | set qqqq |
+| led_hue | | set qqqq |
+| led_nextColor | | set qqqq |
+| led_lerpSpeed | | set qqqq |
+| addRepeatingEvent | | qqqq |
+| addRepeatingEventID | | qqqq |
+| cancelRepeatingEvent | | qqqq |
+| startScript | | qqqqq0 |
+| stopScript | | qqqqq0 |
+| stopAllScripts | | qqqqq0 |
+| listScripts | | qqqqq0 |
+| goto | | qqqqq0 |
+| delay_s | | qqqqq0 |
+| delay_ms | | qqqqq0 |
+| return | | qqqqq0 |
+| resetSVM | | qqqqq0 |
+| sendGet | | qq |
+| power | | set output POWERn 0..100 |
+| powerStateOnly | | ensures that device is on or off without changing pwm values |
+| powerAll | | set all outputs |
+| color | | set PWN color using #RRGGBB[cw][ww] |
+| backlog | | run a sequence of ; separated commands |
+| exec | | exec - run autoexec.bat or other file from LFS if present |
+| lfs_test1 | | |
+| lfs_test2 | | |
+| lfs_test3 | | |
+| aliasMem | | custom |
+| alias | | add a custom command |
+| testMallocFree | | |
+| testRealloc | | |
+| testJSON | | |
+| testLog | | |
+| testFloats | | |
+| testArgs | | |
+| testStrdup | | |
+| PowerSet | | Sets current power value for calibration |
+| VoltageSet | | Sets current V value for calibration |
+| CurrentSet | | Sets current I value for calibration |
+| PREF | | Sets the calibration multiplier |
+| VREF | | Sets the calibration multiplier |
+| IREF | | Sets the calibration multiplier |
+| PowerMax | | Sets Maximum power value measurement limiter |
+| EnergyCntReset | | Reset Energy Counter |
+| SetupEnergyStats | | Setup Energy Statistic Parameters: [enable<0|1>] [sample_time<10..900>] [sample_count<10..180>] |
+| ConsumptionThresold | | Setup value for automatic save of consumption data [1..100] |
+| BP1658CJ_RGBCW | | qq |
+| BP1658CJ_Map | | qq |
+| BP5758D_RGBCW | | qq |
+| BP5758D_Map | | qq |
+| BP5758D_Current | | qq |
+| IRSend | | Sends IR commands in the form PROT-ADDR-CMD-RE |
+| IREnable | | Enable/disable aspects of IR. IREnable RXTX 0/1 - enable Rx whilst Tx. IREnable [protocolname] 0/1 - enable/disable a specified protocol |
+| startDriver | | Starts driver |
+| stopDriver | | Stops driver |
+| ntp_timeZoneOfs | | Sets the time zone offset in hours |
+| ntp_setServer | | Sets the NTP server |
+| ntp_info | | Display NTP related settings |
+| SM2135_RGBCW | | qq |
+| SM2135_Map | | qq |
+| SM2135_Current | | qq |
+| obkDeviceList | | qqq |
+| DGR_SendPower | | qqq |
+| DGR_SendBrightness | | qqq |
+| DGR_SendRGBCW | | qqq |
+| tuyaMcu_testSendTime | | Sends a example date by TuyaMCU to clock/callendar MCU |
+| tuyaMcu_sendCurTime | | Sends a current date by TuyaMCU to clock/callendar MCU |
+| uartSendHex | | Sends raw data by TuyaMCU UAR |
+| tuyaMcu_fakeHex | | qq |
+| linkTuyaMCUOutputToChannel | | Map value send from TuyaMCU (eg. humidity or temperature) to channel |
+| tuyaMcu_setDimmerRange | | Set dimmer range used by TuyaMCU |
+| tuyaMcu_sendHeartbeat | | Send heartbeat to TuyaMCU |
+| tuyaMcu_sendQueryState | | Send query state command |
+| tuyaMcu_sendProductInformation | | Send qqq |
+| tuyaMcu_sendState | | Send set state command |
+| tuyaMcu_sendMCUConf | | Send MCU conf command |
+| fakeTuyaPacket | | qq |
+| tuyaMcu_setBaudRate | | Set the serial baud rate used to communicate with the TuyaMCU |
+| UCS1912_Test | | qq |
+| lcd_clearAndGoto | | Adds a new I2C device |
+| lcd_goto | | Adds a new I2C device |
+| lcd_print | | Adds a new I2C device |
+| lcd_clear | | Adds a new I2C device |
+| addI2CDevice_TC74 | | Adds a new I2C device |
+| addI2CDevice_MCP23017 | | Adds a new I2C device |
+| addI2CDevice_LCM1602 | | Adds a new I2C device |
+| addI2CDevice_LCD_PCF8574 | | Adds a new I2C device |
+| MCP23017_MapPinToChannel | | Adds a new I2C device |
+| lfssize | NULL | Log or Set LFS size - will apply and re-format next boo |
+| lfsunmount | NULL | Un-mount LFS |
+| lfsmount | NULL | Mount LFS |
+| lfsformat | NULL | Unmount and format LFS. Optionally add new size as argument |
+| loglevel | | set log level <0..6> |
+| logfeature | | set log feature filte |
+| logtype | | logtype direct|all - direct logs only to serial immediately |
+| logdelay | | logdelay -1|0..n - impose ms delay after every lo |
+| MQTT_COMMAND_PUBLISH | | Sqqq |
+| MQTT_COMMAND_PUBLISH_ALL | | Sqqq |
+| MQTT_COMMAND_PUBLISH_CHANNELS | | Sqqq |
+| MQTT_COMMAND_PUBLISH_BENCHMARK | | |
+| showgpi | NULL | log stat of all GPIs |
+| setChannelType | NULL | qqqqqqqq |
+| showChannelValues | NULL | log channel values |
+| setButtonTimes | NULL | |
+| setButtonHoldRepeat | NULL | |
+