diff --git a/docs/Buttons-and-Switches.md b/docs/Buttons-and-Switches.md
index 102fec158a..61dc7f108c 100644
--- a/docs/Buttons-and-Switches.md
+++ b/docs/Buttons-and-Switches.md
@@ -228,7 +228,7 @@ Multipress functions for 2 and more presses cannot be changed using SetOptions o
`6 short presses`
: Set [`WifiConfig 2`](Commands.md#wificonfig) (start Wi-Fi Manager). Can be disabled using [`SetOption1 1`](Commands.md#setoption1). For [security reasons](Securing-your-IoT-from-hacking.md#disable-unsecured-fallback-wifi-wifimanager), you should change back `WifiConfig` after that.
-`**Long press**`
+#### `Long press`
: There are two separate functions associated with a button long press based on how long it is held:
1. When held continuously for 40 seconds (Configurable with [SetOption32](Commands.md#setoption32), value is 10x the configured hold time) Tasmota will reset to firmware defaults and restart.
diff --git a/docs/Commands.md b/docs/Commands.md
index c6bce9dda8..336c91fd98 100644
--- a/docs/Commands.md
+++ b/docs/Commands.md
@@ -168,8 +168,8 @@ DspLine<1\|2>|For POWR3 Elite and THR3 Elite |For POWR3 Elite and THR3 Elite `2..127` = control message rotation speed on display
Emulation|`0` = disable emulation *(default)* `1` = enable Belkin WeMo emulation for [Alexa](Alexa) `2` = enable Hue Bridge emulation for [Alexa](Alexa)
FriendlyName|`1` = Reset friendly name to firmware default `` = set friendly name (32 char limit)
-GPIOs|Show list of available [components](Components#gpio-conversion) by name and index `255` / `All` Show list of all [components](Components#gpio-conversion) by name and index
-GPIO|Show current [component](Components#gpio-conversion) assignments of the Module's configurable GPIO `255` / `All` Show [component](Components#gpio-conversion) assignments for all the devices available GPIO
+GPIOs|Show list of available [components](Components#gpio-overview) by name and index `255` / `All` Show list of all [components](Components#gpio-overview) by name and index
+GPIO|Show current [component](Components#gpio-overview) assignments of the Module's configurable GPIO `255` / `All` Show [component](Components#gpio-overview) assignments for all the devices available GPIO
GPIO|`` = assign a [component](Components) to `Gpio`
GPIORead|Perform a digitalRead on each configured GPIO to show input state
I2CScan0|*ESP32 only* Scan both I2C busses and show addresses for found devices
@@ -521,7 +521,7 @@ SetOption13|Allow immediate action on singl
SetOption15|Set PWM control for LED lights `0` = basic PWM control `1` = control with [`Color`](#color) or [`Dimmer`](#dimmer) commands _(default)_
SetOption16|Set addressable LED Clock scheme parameter `0` = clock-wise mode *(default)* `1` = counter-clock-wise mode
SetOption17|Show [`Color`](#color) string as `0` = hex string *(default)* `1` = comma-separated decimal string
-SetOption18|Set status of signal light paired with [CO~2~ sensor](#sensor14) `0` = disable light *(default)* `1` = enable light The light will be green below `CO2_LOW` and red above `CO2_HIGH` (transition yellow/orange between). The default levels are: 800ppm for low and 1200ppm for high but these can be set in `user_config_override.h`.
+SetOption18|Set status of signal light paired with [CO~2~ sensor](#sensor15) `0` = disable light *(default)* `1` = enable light The light will be green below `CO2_LOW` and red above `CO2_HIGH` (transition yellow/orange between). The default levels are: 800ppm for low and 1200ppm for high but these can be set in `user_config_override.h`.
SetOption19|[Tasmota discovery protocol](Home-Assistant.md) used in Home Assistant [Tasmota integration](https://www.home-assistant.io/integrations/tasmota/) `0` = enable Tasmota discovery *(default)* `1` = use deprecated MQTT discovery (only with `#define USE_HOME_ASSISTANT`, does not exist in release binaries)
SetOption20|Update of Dimmer/Color/CT without turning power on `0` = disable *(default)* `1` = enable
SetOption21|Energy monitoring when power is off `0` = disable *(default)* `1` = enable
@@ -821,7 +821,7 @@ ZbOmitDevice SetOption119|Sets pairing mode for new device discovery `0` = disable pairing mode `1` = enable pairing mode for 60 seconds `99` = enable pairing until device reboots (CC2530 only) :rotating_light: Leaving Zigbee network open to join will allow any Zigbee device to connect and retrieve your network encryption key. This can lead to a compromise of your Zigbee network.
ZbPing|`` = test availability of Zigbee device. If the device is connected and not sleeping, you should receive a `ZbPing` message within the next second. Example: `ZbPing 0x5ADF` responds with: `{"ZbPing":{"Device":"0x5ADF","IEEEAddr":"0x90FD9FFFFE03B051"}}`
ZbReceivedTopic SetOption118|Move ZbReceived from JSON message into the subtopic replacing "SENSOR" default `0` = disable *(default)* `1` = enable
-ZbSend|Command structure: `{"Device":"", "Endpoint":"", "Manuf":, "Send":{"":}}` `` = short address of the Zigbee device on the network `` = target endpoint on the device ([understanding endpoints](Zigbee#understanding-endpoints-and-clusters)) `` = (optional) forces a specific ManufacturerId in the ZCL frame (required by some Xiaomi devices) `"":` = command and parameters to send ([Zigbee Device Commands](Zigbee#sending-device-commands)) :notebook: _Use [`ZbZNPSend`](#zbznpsend) to send a raw form low-level message on CC253x gateways _ Example: `ZbSend { "Device":"0x1234", "Endpoint":"0x03", "Send":{"Power":"on"} }`
+ZbSend|Command structure: `{"Device":"", "Endpoint":"", "Manuf":, "Send":{"":}}` `` = short address of the Zigbee device on the network `` = target endpoint on the device ([understanding endpoints](Zigbee#advanced-topic-endpoints-and-clusters)) `` = (optional) forces a specific ManufacturerId in the ZCL frame (required by some Xiaomi devices) `"":` = command and parameters to send ([Zigbee Device Commands](Zigbee#sending-device-commands)) :notebook: _Use [`ZbZNPSend`](#zbznpsend) to send a raw form low-level message on CC253x gateways _ Example: `ZbSend { "Device":"0x1234", "Endpoint":"0x03", "Send":{"Power":"on"} }`
ZbScan|Do an energy scan on each radio channel
ZbStatus|Display Zigbee devices seen on the network since boot `` (optional) ` ` = all devices This command provides three levels of increasing detail according to `` `ZbStatus1` Display Short Address, and Friendly Name `ZbStatus2` Also include Manufacturer ID and Model ID `ZbStatus3` Also include a list of endpoints and the clusterIds supported by each endpoint Example: `ZbStatus3 1` requests all details for device number 1 :notebook: Requested information may exceed maximum result size allowed by Tasmota. In this case, the output will be truncated. To get all of the desired information, request results for a specific device individually.
ZbUnbind|Unbinds one Zigbee device from another or from a group. `{"Device":"", "Endpoint":, "Cluster":, "ToDevice":"", "ToEndpoint":, "ToGroup": }` `` = the device sending the messages **(mandatory)** `` = the source endpoint **(mandatory)** `` = the source cluster id **(mandatory)** `` = the target device (optional) `` = the target endpoint (optional if it can be inferred from `ZbStatus3`) `` = the target group id (optional) :notebook: You must specify either `"ToDevice"` or `"ToGroup"` but not both :notebook: Zigbee2Tasmota must know the IEEE address of the target device, use `ZbStatus2` to verify and `ZbProbe` to query the address.
diff --git a/docs/DS18x20.md b/docs/DS18x20.md
index 0f3e0d1dd0..bcb45603d1 100644
--- a/docs/DS18x20.md
+++ b/docs/DS18x20.md
@@ -43,7 +43,7 @@ Shelly dual pin mode is supported by an additional pin assignment:
[`SetOption126`](Commands.md#setoption126) Enable arithmetic mean over teleperiod for JSON temperature for DS18x20 sensors.
-[`TempRes`](Commands.md#TempRes) Temperature sensor resolution: 0..3 = maximum number of decimal places.
+[`TempRes`](Commands.md#tempres) Temperature sensor resolution: 0..3 = maximum number of decimal places.
[`TempOffset`](Commands.md#tempoffset) can be used to add/sub an offset to the measured temperature. This setting affects **all** temperature sensors on the device.
diff --git a/docs/Lights.md b/docs/Lights.md
index cd02540d20..c8e32a46c1 100644
--- a/docs/Lights.md
+++ b/docs/Lights.md
@@ -69,7 +69,7 @@ If you define multiple relays, they are controlled with [`Power`](Commands.md
|Channel3| PWM3 (optional)|
|Channelxx| PWMxx (optional)|
|Zero-Cross PIN| COUNTER4 (mandatory)|
- |Commands|[`ZCDimmerSet`](Commands.md#zcdimmerset) ESP32 only|
+ |Commands| `ZCDimmerSet`|
Example schematic:
![ZCDimmer example schematic](_media/peripherals/ZCDimmer_Schematic.png)
@@ -102,7 +102,7 @@ If you define multiple relays, they are controlled with [`Power`](Commands.md
|Configuration|(see below)|
|---|---|
|Commands|[`Power`](Commands.md#power), [`Dimmer`](Commands.md#dimmer), [`Color`](Commands.md#color), [`White`](Commands.md#white), [`CT`](Commands.md#ct)|
-|Options|[**Auto Power On**](#disable-auto-power-on), [**PWM Channel Configuration**](#pwm-channel-configuration), [**Gamma Correction**](#gamma-correction), [**PWM CT**](#pwm-ct-module-48)|
+|Options|[**Auto Power On**](#disable-auto-power-on), [**PWM Channel Configuration**](#pwm-channel-configuration), [**Gamma Correction**](#gamma-correction), [**PWM CT**](#pwm-ct)|
@@ -255,13 +255,13 @@ _this feature is experimental and will probably not give brilliant results_
Used with 4 channel RGBW lights to simulate the missing white channel (cold or warm) using RGB channels.
-Enable Virtual CT with [`SetOption106 1`](Commands.md#setoption106) then choose which type of white you're simulating with [`SetOption107`](Commands.md#setoption107) where `0` is warm white and `1` is cold white
+Enable Virtual CT with `SetOption106 1` then choose which type of white you're simulating with [`SetOption107`](Commands.md#setoption107) where `0` is warm white and `1` is cold white
## Light Categories
Lights come in various shapes (bulb, strips, ceiling lights, ...) but in Tasmota they are separated in 3 categories:
- - [Channel Controlled LEDs](#channel-controlled-leds)
+ - [Channel Controlled Lights](#channel-controlled-lights)
- [Addressable LEDs](#addressable-leds)
- [Status LEDs](#status-leds)
diff --git a/docs/Matter.md b/docs/Matter.md
index b19f0953b6..0264f0b458 100644
--- a/docs/Matter.md
+++ b/docs/Matter.md
@@ -123,7 +123,7 @@ This will bring you to another menu where you can further configure the remote d
![Add Remote Tasmota or OpenBK submenu](_media/matter/add_remote_submenu.jpg)
-Add remote [Endpoints](#endpoint) same as for a local sensors and devices.
+Add remote Endpoints same as for a local sensors and devices.
When finished click ***Add endpoints***. The remote device will appear in the ***Current configuration*** list.
diff --git a/docs/NRF24L01.md b/docs/NRF24L01.md
index ca0cd2e99a..312c647fe4 100644
--- a/docs/NRF24L01.md
+++ b/docs/NRF24L01.md
@@ -49,4 +49,4 @@ The initial log should like this:
The driver will do the rest automatically and start to look for known "special" packets, which will be used to extract the sensor readings.
webUI and TELE-messages will be populated with sensor data. This can take a while after start and may be influenced by the general traffic on the 2,4 GHz band.
-For a complete overview of supported devices, commands and features read the [Bluetooth article](Bluetooth.md#ble-sensors-using-nrf24l01).
+For a complete overview of supported devices, commands and features read the [Bluetooth article](Bluetooth.md#using-nrf24l01).
diff --git a/docs/NeoPool.md b/docs/NeoPool.md
index 8d528cd709..db1218f768 100644
--- a/docs/NeoPool.md
+++ b/docs/NeoPool.md
@@ -350,7 +350,7 @@ Relays|(Int) These subkeys list the relay number assignments to the internal fun
This sensor supports some high-level [commands](#commands) for end user.
-Regardless, all other Modbus registers can be read and write, so you can [enhance](#Enhancements) your Sugar Valley control by using low-level [NPRead](#NPRead)/[NPWrite](#NPWrite) commands.
+Regardless, all other Modbus registers can be read and write, so you can [enhance](#enhancements) your Sugar Valley control by using low-level [NPRead](#NPRead)/[NPWrite](#NPWrite) commands.
Modbus register addresses and their meaning are described within source file [xsns_83_neopool.ino](https://github.com/arendst/Tasmota/blob/development/tasmota/xsns_83_neopool.ino) at the beginning and (partly) within document [171-Modbus-registers](https://downloads.vodnici.net/uploads/wpforo/attachments/69/171-Modbus-registers.pdf).
Please note that Sugar Valley Modbus registers are not byte addresses but modbus registers containing 16-bit values - don't think in byte memory layout.
@@ -371,7 +371,7 @@ NPHydrolysis|`( %)` Set hydrolysis/electrolys
NPIonization|`` Set ionization target production level (level = `0..`, the upper limit `` may vary depending on the [MBF_PAR_ION_NOM](https://github.com/arendst/Tasmota/blob/development/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino#L140) register) Note: The command is only available if the hydrolysis/electrolysis control is present.
NPChlorine|`` Set chlorine setpoint in ppm (setpoint = `0..10`) Note: The command is only available if the free chlorine probe detector is installed.
NPControl|Show information about [system controls](NeoPool#sensor-data-description).
-NPTelePeriod|`