diff --git a/.travis.yml b/.travis.yml index 347f0d72f..50becfcea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -58,6 +58,7 @@ env: - ENV=normal_ESP8266_1M - ENV=normal_ESP8266_1M_VCC - ENV=normal_ESP8266_4M1M + - ENV=normal_ESP8266_4M1M_VCC - ENV=normal_ESP8285_1M - ENV=normal_IRext_no_rx_ESP8266_4M2M - ENV=normal_WROOM02_2M256 diff --git a/docs/source/Controller/C013.rst b/docs/source/Controller/C013.rst index f1d807630..4cead80df 100644 --- a/docs/source/Controller/C013.rst +++ b/docs/source/Controller/C013.rst @@ -163,10 +163,10 @@ Of each known node the following data is kept: The key to index this ``NodeStruct`` is the nodes unit number. ASCII Data -~~~~~~~~~~ +^^^^^^^^^^^^^^^^ Command Message -*************** +^^^^^^^^^^^^^^^^ First byte is not 0xFF. @@ -181,7 +181,7 @@ As can be seen, no checks for size, and it is just expected to be a valid ESPeas Also no check to see if the command is supported by the receiving end and no feedback to the sender. Binary Data -~~~~~~~~~~~ +^^^^^^^^^^^^^^^^ Binary data is marked with the first byte 0xFF. @@ -207,7 +207,7 @@ Message types supported, determined by the 2nd byte: * 5: Sensor data Sysinfo Message -*************** +^^^^^^^^^^^^^^^^ There are 2 types of Sysinfo messages, a standard and an extended message. The extended message starts with the same information as the standard one. @@ -234,7 +234,7 @@ The node type is defined as: * 81 = "Nano Easy" Sensor Info message -******************* +^^^^^^^^^^^^^^^^^^^^ Sensor Info messages are just a description of a shared sensor. It contains some information to setup a new sensor on the receiving end. @@ -258,7 +258,7 @@ These messages are just a serialized byte stream of ``struct C013_SensorInfoStru Sensor Data message -******************* +^^^^^^^^^^^^^^^^^^^^ These messages are just a serialized byte stream of ``struct C013_SensorDataStruct`` . diff --git a/docs/source/Controller/C014.rst b/docs/source/Controller/C014.rst index 9662e9c37..3fbb1ea15 100644 --- a/docs/source/Controller/C014.rst +++ b/docs/source/Controller/C014.rst @@ -79,7 +79,7 @@ Setup - ``homie/%sysname%/$nodes`` enumerating all devices will be sent as final message of the auto-discover header. - The final event log should look like this: -.. code-block:: html +.. code-block:: none 5584 : EVENT: MQTT#Connected 5754 : C014 : autodiscover information of 4 Devices and 6 Nodes sent with no errors! (26 messages) diff --git a/docs/source/Hardware/Device_I2COptionsMultiplexerMultipleSelect.png b/docs/source/Hardware/Device_I2COptionsMultiplexerMultipleSelect.png new file mode 100644 index 000000000..e4839bc2a Binary files /dev/null and b/docs/source/Hardware/Device_I2COptionsMultiplexerMultipleSelect.png differ diff --git a/docs/source/Hardware/Device_I2COptionsMultiplexerNone.png b/docs/source/Hardware/Device_I2COptionsMultiplexerNone.png new file mode 100644 index 000000000..2c624009c Binary files /dev/null and b/docs/source/Hardware/Device_I2COptionsMultiplexerNone.png differ diff --git a/docs/source/Hardware/Device_I2COptionsMultiplexerSelect.png b/docs/source/Hardware/Device_I2COptionsMultiplexerSelect.png new file mode 100644 index 000000000..418f1db15 Binary files /dev/null and b/docs/source/Hardware/Device_I2COptionsMultiplexerSelect.png differ diff --git a/docs/source/Hardware/Device_I2COptionsMultiplexerSelectSingleChannel.png b/docs/source/Hardware/Device_I2COptionsMultiplexerSelectSingleChannel.png new file mode 100644 index 000000000..4cba899bd Binary files /dev/null and b/docs/source/Hardware/Device_I2COptionsMultiplexerSelectSingleChannel.png differ diff --git a/docs/source/Hardware/Device_I2COptionsShort.png b/docs/source/Hardware/Device_I2COptionsShort.png new file mode 100644 index 000000000..0ef0e26fc Binary files /dev/null and b/docs/source/Hardware/Device_I2COptionsShort.png differ diff --git a/docs/source/Hardware/Hardware.rst b/docs/source/Hardware/Hardware.rst new file mode 100644 index 000000000..82be3a846 --- /dev/null +++ b/docs/source/Hardware/Hardware.rst @@ -0,0 +1,176 @@ +Hardware page +************* + +Overview +======== + +ESPEasy has some centralized hardware configuration settings, shown in this page, and divided in sections. + + +--------------- +Wifi Status LED +--------------- + +To display the Wifi acitivity, a pin can be configured to light up a LED when data is transfered via Wifi. Optionally, the LED signal can be 'inverted'. + +As many ESP boards have an onboard LED connected to GPIO-2 and inverted, it is shown as a note how to configure that. + +.. image:: Hardware_Wifistatusled.png + + +--------- +Reset pin +--------- + +To provide a possible escape from a malfunctioning ESP module, a factory-reset button/feature can be configured by setting up a GPIO-pin for this. + +.. warning:: + **When connecting this pin to ground for ca. 10 seconds the unit will be completely reset, and all settings/configuration irretrievably deleted!** + +This feature can be useful in a development/laboratory environment, for when the configuration gets corrupted in some way. + + +.. image:: Hardware_Resetpin.png + + +------------- +I2C Interface +------------- + +When using devices that use the I2C bus (Inter-integrated circuit, also known as IIC, and mostly compatible with SM Bus) (`Wikipedia: I2C `_) some pins have to be configured, and initialized during boot, for the SDA and SCL connections. This can be any unused pair of pins on the ESP board. + +The pins can be configured here, and will have default values initially (ESP8266: SDA: GPIO-4 (D2), SCL: GPIO-5 (D3), ESP32: SDA: GPIO-22, SCL: GPIO-23). When I2C is not used, these can be set to `- None -`, so the pins are available for other purposes. + +The default bus clock speed can also be set here. If only devices supporting 100 kHz are connected (Old/Slow devices), then the value can be set to 100 kHz, by default 400 kHz is configured, that is supported by newer devices, though there are many devices supporting higher frequencies. ESP8266 is able to achieve ca. 400 kHz, while ESP32 allows much higher speeds. + +Since build 20110, ESPEasy has a separate setting for Slow I2C devices, and per I2C device this slow clock speed can be selected in the Device edit page. This value is by default set to 100 kHz, but can be set lower or higher if desired. + +.. image:: Hardware_I2CInterface.png + +*Device specific Force Slow I2C speed selection:* + +.. image:: Device_I2COptionsShort.png + + +--------------- +I2C Multiplexer +--------------- + +Since build 20110, there is the option of using an I2C multiplexer. This option is not available in all builds, because of the size of the code. It is usually available in the normal, testing and custom builds, but ommitted from minimal, IR and hardware-specific builds. + +Possible use-cases for an I2C multiplexer are: + +* Connect multiple devices that have fixed or limited I2C addresses (For example, some OLED devices have a single fixed address but you need to connect 2 or more, or connect more than 3 TLS2561 devices, that support only 3 different addresses). +* Connect different devices that have the same I2C address (For example connecting a TSL2561 light/lux sensor and an APDS9960 proximity sensor). +* Connect slow and fast devices, where the speed of the fast device prohibits proper working of the slow device. + +.. |br| raw:: html + +
+ +.. note:: + If devices with conflicting I2C addresses are to be used, then *none* of them can be connected to the ESP main I2C bus, but they should each be connected to a separate channel of the multiplexer. |br| + Devices that do not conflict with other devices *can* be connected to the ESP main I2C bus, this might improve the performance/responsiveness of these devices. + +.. note:: + When using an I2C Multiplexer, make sure there is no address conflict with any of the devices you intend to connect, f.e. when connecting BME280 sensors, don't set the address of the multiplexer to 0x76 or 0x77. + +There are a couple of I2C multiplexer chips available, currently there is support for: + +* TCA9548a (8 channels, multiple channel-connections, 8 I2C addresses, with reset) +* TCA9546a (4 channels, multiple channel-connections, 8 I2C addresses, with reset, also TCA9545a can be used, but no support for the Interrupt function though) +* TCA9543a (2 channels, multiple channel-connections, 4 I2C addresses, with reset) +* PCA9540 (2 channels, fixed I2C address, no reset, experimental support) + +The TCA9548a, TCA9546a and TCA9543a support connecting multiple channels to the main I2C channel. This can be configured on the Device edit page for I2C devices, once the I2C Multiplexer configuration is enabled by selecting a multiplexer type and an I2C address for the multiplexer. + +Also, the TCA9548a, TCA9546a and TCA9543a chips have a connection for a reset signal available. This allows the chip to be reset if it gets stuck by some 'less compatible' or 'badly behaving' devices. Once connected and configured, the multiplexer can be reset from the software, if desired or required. This feature is not yet used in any I2C device plugin. + +A TCA9543a board has the advantage of being quite a bit smaller than either TCA9546a or TCA9548a, while being digitally compatible. (But with less channels and only 4 I2C addresses). + +All these chips/boards can be found at Adafruit, Aliexpress, Banggood, EBay, etc. + +.. image:: Hardware_I2CMultiplexerNone.png + +*Available multiplexer types:* + +.. image:: Hardware_I2CMultiplexer_Type.png + +*Select the I2C Address for the multiplexer:* + +.. image:: Hardware_I2CMultiplexer_Address.png + + +Device configuration +^^^^^^^^^^^^^^^^^^^^ + +If an I2C multiplexer is configured, every Device edit page for I2C devices will show extra options to select the channel the device is connected on. + +There is the default option of Single channel, or, when a TCA9548a, TCA9546a or TCA9543a is configured, Multiple channels. + +*Example: A multiplexer is configured, but the device is connected directly on the ESP board I2C channel:* + +.. image:: Device_I2COptionsMultiplexerNone.png + +*Configure a (single) multiplexer channel the device is connected on:* + +.. image:: Device_I2COptionsMultiplexerSelectSingleChannel.png + +NB: Only acceptable channels (0-7/0-3/0-1) will be available in the dropdown list, depending on the Multiplexer type configured. + +*Select Single channel or Multiple channels:* + +.. image:: Device_I2COptionsMultiplexerSelect.png + +*Configure multiple channels for a device, 8 channel multiplexer configured* + +.. image:: Device_I2COptionsMultiplexerMultipleSelect.png + +Above configuration results in channels 0, 4, 5, 6 and 7 being connected to the ESP board I2C bus when this sensor is active via I2C. + +NB: Only acceptable channel checkboxes (0-7/0-3/0-1) will be shown, depending on the Multiplexer type configured. + + +------------- +SPI Interface +------------- + +When using devices that are connected via the SPI interface (`Wikipedia: SPI `_), the interface must be initialized during boot. This can be enabled here. For ESP32 there is the option to select either the Hardware SPI (HSPI) interface or the Virtual SPI (VSPI) interface (software controlled). + +The common SPI pins are shown here. + +Other SPI pins to be used are device specific, and need to be configured from the corresponding Device edit page. + +*For ESP8266:* + +.. image:: Hardware_SPIInterfaceESP8266.png + +*For ESP32, disabled:* + +.. image:: Hardware_SPIInterfaceESP32.png + +*For ESP32, select the desired interface:* + +.. image:: Hardware_SPIInterfaceESP32_Select.png + +NB: When using the VSPI interface and also the I2C interface is used, another pin has to be selected for I2C GPIO -> SCL, as its configuration is fixed for the VSPI setting. + + +------------------- +GPIO boot states +------------------- + +For some GPIO pins, the boot state (initial configuration after startup) can be configured. + +Some differences exist between ESP8266 and ESP32: + +* ESP8266 can't initialize GPIO's 6, 7 and 8 (technical limitation of ESP8266 chip) and 16 (always has pull-down setting) +* ESP32 can't initialize GPIO's from 16 and up (settings storage limitation, could be initialized from Rules in `System#Boot` event) + +*ESP8266 GPIO boot states:* + +.. image:: Hardware_GPIObootstatesESP8266.png + +*ESP32 GPIO boot states:* + +.. image:: Hardware_GPIObootstatesESP32.png diff --git a/docs/source/Hardware/Hardware_GPIObootstatesESP32.png b/docs/source/Hardware/Hardware_GPIObootstatesESP32.png new file mode 100644 index 000000000..ad809aa3e Binary files /dev/null and b/docs/source/Hardware/Hardware_GPIObootstatesESP32.png differ diff --git a/docs/source/Hardware/Hardware_GPIObootstatesESP8266.png b/docs/source/Hardware/Hardware_GPIObootstatesESP8266.png new file mode 100644 index 000000000..d8c2d7200 Binary files /dev/null and b/docs/source/Hardware/Hardware_GPIObootstatesESP8266.png differ diff --git a/docs/source/Hardware/Hardware_I2CInterface.png b/docs/source/Hardware/Hardware_I2CInterface.png new file mode 100644 index 000000000..4329653d1 Binary files /dev/null and b/docs/source/Hardware/Hardware_I2CInterface.png differ diff --git a/docs/source/Hardware/Hardware_I2CMultiplexerNone.png b/docs/source/Hardware/Hardware_I2CMultiplexerNone.png new file mode 100644 index 000000000..89bf834a0 Binary files /dev/null and b/docs/source/Hardware/Hardware_I2CMultiplexerNone.png differ diff --git a/docs/source/Hardware/Hardware_I2CMultiplexer_Address.png b/docs/source/Hardware/Hardware_I2CMultiplexer_Address.png new file mode 100644 index 000000000..e4a21fb24 Binary files /dev/null and b/docs/source/Hardware/Hardware_I2CMultiplexer_Address.png differ diff --git a/docs/source/Hardware/Hardware_I2CMultiplexer_Type.png b/docs/source/Hardware/Hardware_I2CMultiplexer_Type.png new file mode 100644 index 000000000..50733b7cf Binary files /dev/null and b/docs/source/Hardware/Hardware_I2CMultiplexer_Type.png differ diff --git a/docs/source/Hardware/Hardware_Resetpin.png b/docs/source/Hardware/Hardware_Resetpin.png new file mode 100644 index 000000000..392f966ba Binary files /dev/null and b/docs/source/Hardware/Hardware_Resetpin.png differ diff --git a/docs/source/Hardware/Hardware_SPIInterfaceESP32.png b/docs/source/Hardware/Hardware_SPIInterfaceESP32.png new file mode 100644 index 000000000..044040372 Binary files /dev/null and b/docs/source/Hardware/Hardware_SPIInterfaceESP32.png differ diff --git a/docs/source/Hardware/Hardware_SPIInterfaceESP32_Select.png b/docs/source/Hardware/Hardware_SPIInterfaceESP32_Select.png new file mode 100644 index 000000000..7d09a4812 Binary files /dev/null and b/docs/source/Hardware/Hardware_SPIInterfaceESP32_Select.png differ diff --git a/docs/source/Hardware/Hardware_SPIInterfaceESP8266.png b/docs/source/Hardware/Hardware_SPIInterfaceESP8266.png new file mode 100644 index 000000000..98b9bafa5 Binary files /dev/null and b/docs/source/Hardware/Hardware_SPIInterfaceESP8266.png differ diff --git a/docs/source/Hardware/Hardware_Wifistatusled.png b/docs/source/Hardware/Hardware_Wifistatusled.png new file mode 100644 index 000000000..2db296205 Binary files /dev/null and b/docs/source/Hardware/Hardware_Wifistatusled.png differ diff --git a/docs/source/Plugin/P000_Buzzer_RTTTL.rst b/docs/source/Plugin/P000_Buzzer_RTTTL.rst index a3ac8a226..11c0d77da 100644 --- a/docs/source/Plugin/P000_Buzzer_RTTTL.rst +++ b/docs/source/Plugin/P000_Buzzer_RTTTL.rst @@ -22,7 +22,7 @@ RTTTL (Ring Tone [Text] Transfer Language) was developed by Nokia to play more " After that the actual tune is then created using standard notes (a, b, c, d, e, f, and g), before the note the duration is set, after the note the octave is set: -.. code-block:: html +.. code-block:: none @@ -35,7 +35,7 @@ Specifications: Wiring ------ -.. code-block:: html +.. code-block:: none ESP Buzzer GPIO <--> I/O @@ -55,7 +55,7 @@ Rules examples From ESP Easy v2.0.0 its possible to play melodies via `RTTTL `_ (don't forget to remove the spaces and replace # with -, this might be fixed in future releases): -.. code-block:: html +.. code-block:: none http:///control?cmd=rtttl,14:d=4,o=5,b=112:8a,8a,a,8a,8a,a,8a,8c6,8f.,16g,2a,8a-,8a-,8a-.,16a-,8a-,8a,8a.,16a,8a,8g,8g,8a,g,c6 @@ -65,7 +65,7 @@ You can also use these from rules. We use it to let our alarm system give feedba To make a boot-sound on startup, create a rule like this: -.. code-block:: html +.. code-block:: none On System#Boot do rtttl,14:d=10,o=6,b=180,c,e,g @@ -75,7 +75,7 @@ To make a boot-sound on startup, create a rule like this: Besides RTTTL it's also possible to play a single tone on a pin, via a buzzer, speaker or piezo element: -.. code-block:: html +.. code-block:: none http:///control?cmd=tone,14,1300,200 diff --git a/docs/source/Plugin/P000_Level_converter.rst b/docs/source/Plugin/P000_Level_converter.rst index 9695e8086..77e64641d 100644 --- a/docs/source/Plugin/P000_Level_converter.rst +++ b/docs/source/Plugin/P000_Level_converter.rst @@ -1,4 +1,4 @@ -.. include:: ../Plugin/_plugin_substitutions_p00x.repl +.. include:: ../Plugin/_plugin_substitutions_p00x.repl .. _P000_Level_converter_page: Level converter @@ -43,7 +43,7 @@ Wiring A direct connection by mistake from 5V to a GPIO may fry your ESP! Handle level-shifters with some care. The used FET transistors are somewhat sensible against electrostatic discharge. Use a anti-static mat. -.. code-block:: html +.. code-block:: none ESP Level converter Connected hardware GPIO (X) <--> 3A, LV1, A1 etc. <--> 5A, HV1, B2 etc. diff --git a/docs/source/Plugin/P000_Piezo_element_RTTTL.rst b/docs/source/Plugin/P000_Piezo_element_RTTTL.rst index 1c3daaa17..cd28215a0 100644 --- a/docs/source/Plugin/P000_Piezo_element_RTTTL.rst +++ b/docs/source/Plugin/P000_Piezo_element_RTTTL.rst @@ -22,7 +22,7 @@ RTTTL (Ring Tone [Text] Transfer Language) was developed by Nokia to play more " After that the actual tune is then created using standard notes (a, b, c, d, e, f, and g), before the note the duration is set, after the note the octave is set: -.. code-block:: html +.. code-block:: none @@ -35,7 +35,7 @@ Specifications: Wiring ------ -.. code-block:: html +.. code-block:: none ESP Piezo GPIO <--> Positive (red) @@ -52,7 +52,7 @@ Rules examples From ESP Easy v2.0.0 its possible to play melodies via `RTTTL `_ (don't forget to remove the spaces and replace # with -, this might be fixed in future releases): -.. code-block:: html +.. code-block:: none http:///control?cmd=rtttl,14:d=4,o=5,b=112:8a,8a,a,8a,8a,a,8a,8c6,8f.,16g,2a,8a-,8a-,8a-.,16a-,8a-,8a,8a.,16a,8a,8g,8g,8a,g,c6 @@ -62,7 +62,7 @@ You can also use these from rules. We use it to let our alarm system give feedba To make a boot-sound on startup, create a rule like this: -.. code-block:: html +.. code-block:: none On System#Boot do rtttl,14:d=10,o=6,b=180,c,e,g @@ -72,7 +72,7 @@ To make a boot-sound on startup, create a rule like this: Besides RTTTL it's also possible to play a single tone on a pin, via a buzzer, speaker or piezo element: -.. code-block:: html +.. code-block:: none http:///control?cmd=tone,14,1300,200 diff --git a/docs/source/Plugin/P000_Relay.rst b/docs/source/Plugin/P000_Relay.rst index 25829d3a0..5208426db 100644 --- a/docs/source/Plugin/P000_Relay.rst +++ b/docs/source/Plugin/P000_Relay.rst @@ -179,7 +179,7 @@ have to be figured into your project. It is also possible to use a small SSR to Wiring ------ -.. code-block:: html +.. code-block:: none ESP Relay (board) GPIO (X) <--> IN1 @@ -204,7 +204,7 @@ find more information on how to do this. Rules examples -------------- -.. code-block:: html +.. code-block:: none On Switch#State Do if [Switch#State]=1 diff --git a/docs/source/Plugin/P000_Servo_motor.rst b/docs/source/Plugin/P000_Servo_motor.rst index 5a7cfb410..8f813e3d1 100644 --- a/docs/source/Plugin/P000_Servo_motor.rst +++ b/docs/source/Plugin/P000_Servo_motor.rst @@ -29,7 +29,7 @@ Wiring ------ -.. code-block:: html +.. code-block:: none ESP Servo GPIO (X) <--> S (signal) @@ -48,7 +48,7 @@ find more information on how to do this. Rules examples -------------- -.. code-block:: html +.. code-block:: none On Switch#State Do if [Switch#State]=1 diff --git a/docs/source/Plugin/P000_Speaker_RTTTL.rst b/docs/source/Plugin/P000_Speaker_RTTTL.rst index d4fbad20d..67c860fda 100644 --- a/docs/source/Plugin/P000_Speaker_RTTTL.rst +++ b/docs/source/Plugin/P000_Speaker_RTTTL.rst @@ -22,7 +22,7 @@ RTTTL (Ring Tone [Text] Transfer Language) was developed by Nokia to play more " After that the actual tune is then created using standard notes (a, b, c, d, e, f, and g), before the note the duration is set, after the note the octave is set: -.. code-block:: html +.. code-block:: none @@ -35,7 +35,7 @@ Specifications: Wiring ------ -.. code-block:: html +.. code-block:: none ESP Speaker GPIO <--> Positive (red) @@ -52,7 +52,7 @@ Rules examples From ESP Easy v2.0.0 its possible to play melodies via `RTTTL `_ (don't forget to remove the spaces and replace # with -, this might be fixed in future releases): -.. code-block:: html +.. code-block:: none http:///control?cmd=rtttl,14:d=4,o=5,b=112:8a,8a,a,8a,8a,a,8a,8c6,8f.,16g,2a,8a-,8a-,8a-.,16a-,8a-,8a,8a.,16a,8a,8g,8g,8a,g,c6 @@ -62,7 +62,7 @@ You can also use these from rules. We use it to let our alarm system give feedba To make a boot-sound on startup, create a rule like this: -.. code-block:: html +.. code-block:: none On System#Boot do rtttl,14:d=10,o=6,b=180,c,e,g @@ -72,7 +72,7 @@ To make a boot-sound on startup, create a rule like this: Besides RTTTL it's also possible to play a single tone on a pin, via a buzzer, speaker or piezo element: -.. code-block:: html +.. code-block:: none http:///control?cmd=tone,14,1300,200 diff --git a/docs/source/Plugin/P000_commands.repl b/docs/source/Plugin/P000_commands.repl index 17cf73e12..1dd02fa9d 100644 --- a/docs/source/Plugin/P000_commands.repl +++ b/docs/source/Plugin/P000_commands.repl @@ -1,517 +1,607 @@ -.. include:: ../Plugin/_plugin_substitutions_p00x.repl - - -**TODO** : Check commands M..Z and check for all commands whether the "class" is still valid. - - -.. csv-table:: - :header: "Command", "Class", "Purpose / Syntax" - :widths: 8, 5, 30 - - " - AsyncEvent"," - :blue:`Special`"," - Schedule an event, it's possible to send a float value along as well. - - This is the same as a regular event, but it will not be executed immediately. - Instead it will be added to an event queue. - - Use this to keep rules execution times as short as possible. - - N.B. New values sent by a task will also be of this type. - - See event syntax below..." - " - AccessInfo"," - :red:`Internal`"," - Show allowed IP range for the web interface. - - ``AccessInfo`` - - Example output: ``Allowed IP range : 192.168.10.0 - 192.168.10.255``" - " - Build"," - :red:`Internal`"," - Get or set build information. This will not be stored, so only valid until reboot. - - ``Build`` - - ``Build,12345`` - - Example output: ``Build:20104``" - " - ClearAccessBlock"," - :red:`Internal`"," - Clear allowed IP range for the web interface for the current session. - See also ``AccessInfo``. - - ``ClearAccessBlock``" - " - ClearRTCram"," - :red:`Internal`"," - Clear all (cached) data from the RTC memory. - This data is persistent as long as the node is powered and thus survives a reboot or crash. - - ``ClearRTCram``" - " - Config"," - :red:`Internal`"," - Remote config of a task. TODO: Describe command syntax. - - ``Config``" - " - ControllerDisable"," - :red:`Internal`"," - Disable a controller. - This will not save the settings, but if the settings get saved anyway the controller will remain disabled at reboot. - - ``ControllerDisable,``" - " - ControllerEnable"," - :red:`Internal`"," - Enable a controller. (Only possible when a protocol is assigned to the controller index) - This will not save the settings, but if the settings get saved anyway the controller will remain enabled at reboot. - - ``ControllerEnable,``" - " - DateTime"," - :red:`Internal`"," - Get or set the date and time (optional). - - Usage: ``Datetime[,YYYY-MM-DD[,hh:mm:ss]]`` - - Examples: - - * ``Datetime,2020-02-29,00:23:00`` - * ``Datetime,2020-02-29`` - set node time '2020-02-29 00:00:00' - * ``Datetime`` - get current node time - - Time source will be set to ``Manual_set`` until the time will be updated via another source. (e.g. GPS or NTP) - " - Debug"," - :red:`Internal`"," - Change Serial port debug level - - ``Debug,<1-4>``" - " - DeepSleep"," - :red:`Internal`"," - Switch the node to deep sleep. - Max sleep time depends on library version and differs from roughly 71 minutes to 3h46. - If you specify a Min sleep time of 0, you'll have to wake the device yourself by pulling RST to GND. - - ``DeepSleep,``" - " - Delay"," - :green:`Rules`"," - Delay rule processing. Warning: Do not use this as it may cause all kinds of issues. - - ``Delay,``" - " - DNS"," - :red:`Internal`"," - Get or set DNS configuration. - - ``DNS`` - - ``DNS,8.8.8.8`` - - Example output: ``DNS:192.168.88.1(DHCP)``" - " - DST"," - :red:`Internal`"," - Get or set Daylight Saving Time. - - ``DST`` - - ``DST,0`` to disable, ``DST,1`` to enable - - Example output: ``DST:true``" - " - EraseSDKwifi"," - :red:`Internal`"," - Erase WiFi settings that may have been stored in the SDK wifi settings area. - - ``EraseSDKwifi``" - " - Event"," - :blue:`Special`"," - Create an event, it's possible to send a float value along as well. - - See event syntax below..." - " - ExecuteRules"," - :red:`Internal`"," - Execute the rules in a specific file on the file system. - - ``ExecuteRules,``" - " - Gateway"," - :red:`Internal`"," - Get or set the gateway configuration - - ``Gateway`` - - ``Gateway,192.168.1.1`` - - Example output: ``Gateway:192.168.10.254(DHCP)``" - " - I2Cscanner"," - :red:`Internal`"," - Run I2C scanner to find connected I2C chips. Output will be sent to the serial port. - - ``I2Cscanner`` - - Example output: - - .. code-block:: html - - 4500043 : Info : Command: i2cscanner - I2C : Found 0x3c - I2C : Found 0x40 - I2C : Found 0x5a - - " - " - IP"," - :red:`Internal`"," - Get or set IP address - - ``IP`` - - ``IP,`` - - Example output: ``IP:192.168.10.86(DHCP)``" - " - Let"," - :red:`Internal`"," - Set the value of n (1..16). - - ``Let,,``" - " - Load"," - :red:`Internal`"," - Load (reload) the stored settings. - - ``Load``" - " - LogEntry"," - :red:`Internal`"," - Add string to log - - ``LogEntry,``" - " - LoopTimerSet - - LoopTimerSet_ms"," - :green:`Rules`"," - Start a sequence of timed events - - * ``LoopTimerSet,,`` - * ``LoopTimerSet_ms,,