Skip to content

Commit

Permalink
Merge pull request #128 from letscontrolit/mega
Browse files Browse the repository at this point in the history
[pull] mega from letscontrolit:mega
  • Loading branch information
Micha-he authored Sep 18, 2023
2 parents d2d6c26 + 9d6c2e7 commit 4293a95
Show file tree
Hide file tree
Showing 36 changed files with 1,041 additions and 392 deletions.
27 changes: 27 additions & 0 deletions docs/source/Plugin/P028.rst
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,38 @@ Single event with all values, Send to Controller and Interval settings are stand

* **Interval** By default, Interval will be set to 60 sec. The minimum value allowed is 1 sec.


Data Source
^^^^^^^^^^^

.. note:: The **Data Source** section is only available when the task is configured to receive data from a remote node!

When using :ref:`c013_page` and having multiple ESP nodes using the same ``ESPEasy p2p UDP port`` (see the Tools/Advanced page, default: 8266, IANA registered), you can receive values from a remote node with the same plugin active. How to configure this is documented in the P2P Controller page.

In a regular configuration, having the sensor connected locally, the plugin auto-detects what type of sensor is used, either BME280 or BMP280, and auto-adjusts the values supported. When receiving data from the P2P network, this 'setting' is verified and must match on the receiving end of the P2P connection. This information is not included in the P2P protocol data, so a configuration option is available, only shown if the task is configured to receive remote data.

.. image:: P028_DataSource.png

* **Remote Unit**: Shows the unit number and name the data is received from.

* **Output values mode**: Allows selection of the sensor that is installed on the sending unit (node).

.. image:: P028_OutputValuesMode.png

Available options:

* *BME280*: Sending node has a BME280 sensor, will provide the Temperature, Humidity and Pressure values.

* *BMP280*: Sending node has a BMP280 sensor, will provide the Temperature and Pressure values.


Values
^^^^^^

The measured values are available in ``Temperature``, ``Humidity`` and ``Pressure``. A formula can be set to recalculate. The number of decimals is by default set to 2, and can be set to 0 for ``Humidity`` and ``Pressure``, as no decimals are provided from the measurement.

.. note:: When a BMP280 sensor, that provides only ``Temperature`` and ``Pressure`` data, is connected, the ``Humidity`` value will still be visible, but show 0.

.. Commands available
.. ^^^^^^^^^^^^^^^^^^
Expand Down
Binary file added docs/source/Plugin/P028_DataSource.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P028_OutputValuesMode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 12 additions & 2 deletions docs/source/Plugin/P036.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,17 @@ Device Settings

.. image:: P036_ScrollOptions.png

* **Scroll**: Switching between pages can be "instant" or "scrolling". Please note that scrolling will need more resources of the ESP, which can have an effect on other active tasks of the node.
* **Scroll**: Switching between pages can be "instant", "scrolling" or a "ticker" band. Please note that scrolling will need more resources of the ESP, which can have an effect on other active tasks of the node.
For the ``Ticker`` there are some restrictions:
* Depending on the build used (NORMAL and CUSTOM) this option is available
* only one line is displaying the ticker string
* all line contents are parsed and combined to this ticker string, the parsing happens only at each ticker start (using the setting ``Interval``)
* the optional split token ``<|>`` is replaced by three spaces
* the gaps between the ticker items must be set by the ``line content`` (tailing spaces)
* the starting alignment (left, center, right) depends on the setting ``Align content (global)``
* the font is taken from the setting ``Modify font`` of the first line, the ``Alignment`` settings of the lines are ignored (always right aligned)
* the ticker speed depends on the length of the ticker string and the setting ``Interval`` setting
* the footer is automatically hidden

* **GPIO <- Display button**: Setting up a ``Display Button``, allows to configure a Display Timeout and wake the display on demand, either by a button, or by using some presence detection.

Expand Down Expand Up @@ -125,7 +135,7 @@ The user defined texts may also contain a split token ``<|>`` to display the lin

* **Alignment**: For each line, the alignment to be used can be selected, or the global setting can be used.

* **Interval** By default, Interval will be set to 0. If set to a non-zero value, the pre-configured content will be updated automatically using that interval (seconds).
* **Interval** By default, Interval will be set to 0. It needs to be set to a non-zero value, to switch between the frames using that interval (seconds).


General
Expand Down
Binary file modified docs/source/Plugin/P036_ScrollOptions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 18 additions & 1 deletion docs/source/Plugin/P036_commands.repl
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@

The updated line text is not stored in the settings itself, but kept in memory.
After a reboot the stored plugin settings will be used.
The line text can also be restored from the settings by the command ``restore``.

All template notations can be used, like system variables, or reference to a task value.

Expand All @@ -50,6 +51,7 @@
This command is to display a specific frame (aka page), or the next frame. When reaching the last frame, a 'next' (0) will display the first frame.

The <framenr> parameter corresponds to the desired frame (1..<number of frames>) to display. The number of frames is determined by dividing the lines in use (at least one line in that frame with some data), by the number of Lines per Frame. So practically, the range is 1..3 when all lines are used and 4 Lines per Frame is set, or 1..12 if Line per frames is set to 1. The number of frames is updated if a frame would initially be empty, and an external source places text on a line of that frame (see above).
If scroll is set to ``ticker`` only <framenr> = 1 is supported, it starts the ticker from the beginning.

When omitting <framenr>, or providing 0, the next frame is displayed.

Expand All @@ -59,6 +61,7 @@
``oledframedcmd,linecount,<1..4>``
","
This command changes the number of lines in each frame. When the next frame is to be displayed, the frames are recalculated and the sequence is restarted at the first frame.
If scroll is set to ``ticker`` this command is not supported.

If Generate events for 'Linecount' is selected, a ``<taskname#linecount=<lines>`` event is generated on initialization of the plugin and when changing the setting.
"
Expand All @@ -85,4 +88,18 @@
Set the user defined header nr. 2 with any desired text value.

Use ``$<sysvar>$`` instead of ``%<sysvar>%`` to use system variables.
"
"
"
``oledframedcmd,restore,<line>``
","
If the <line> parameter is set to 0 all line contents will be restored from the settings.
Otherwise the <line> parameter corresponds with the same lines as the plugin configuration has,
and only the content of this line will be restored from the settings.
"
"
``oledframedcmd,scroll,<speed>``
","
The <speed> parameter corresponds with the line number of the scroll parameter of the settings (1=Very slow ... 6=Ticker).
After applying the new scroll speed the display restarts with the first page.
"

Loading

0 comments on commit 4293a95

Please sign in to comment.