Examples ######### A couple of examples demostrating library's usage and capabilities. Each example displays configuration file `config.json` and also the main Python code. Hello world *********** A minimal working example. *config.json* .. literalinclude:: /../../examples/000-hello_world/config.json :language: json :linenos: *main.py* .. literalinclude:: /../../examples/000-hello_world/main.py :language: python :linenos: :emphasize-lines: 1,5,6,12,22 Events ****** The library has support for basic event listeners. Examples of such events are start and stop of the :class:`~uun_iot.Gateway.Gateway` main object, timer ticks and configuration updates. For more information, see :meth:`~uun_iot.decorators.on` decorator. Timers ------ Single timer ^^^^^^^^^^^^ *config.json* .. literalinclude:: /../../examples/010-timer/config.json :language: json :linenos: :emphasize-lines: 4 *main.py* .. literalinclude:: /../../examples/010-timer/main.py :language: python :linenos: :emphasize-lines: 13 Multiple timers ^^^^^^^^^^^^^^^ *config.json* .. literalinclude:: /../../examples/012-multiple_timers/config.json :language: json :linenos: :emphasize-lines: 5,6 *main.py* .. literalinclude:: /../../examples/012-multiple_timers/main.py :language: python :linenos: :emphasize-lines: 4,5,16,27 Start & stop ------------ *config.json* .. literalinclude:: /../../examples/014-start_stop_events/config.json :language: json :linenos: *main.py* .. literalinclude:: /../../examples/014-start_stop_events/main.py :language: python :linenos: :emphasize-lines: 10,12,24 Config ****** Basic configuration ------------------- *config.json* .. literalinclude:: /../../examples/030-config/config.json :language: json :linenos: :emphasize-lines: 5 *main.py* .. literalinclude:: /../../examples/030-config/main.py :language: python :linenos: :emphasize-lines: 9,13,15 Storage ******* Typically, you would like to use a data storage in your module. This is exactly what baseclass :class:`~uun_iot.modules.Module.Module` provides. It offers a :attr:`~uun_iot.modules.Module._storage` object of :class:`uun_iot.utils.Storage`. Basic storage ------------- *config.json* .. literalinclude:: /../../examples/055-storage-backup/config.json :language: json :linenos: :emphasize-lines: 5 *main.py* .. literalinclude:: /../../examples/055-storage-backup/main.py :language: python :linenos: :emphasize-lines: 10,12 Backup of storage to file ------------------------- *config.json* .. literalinclude:: /../../examples/057-storage-backup-limit/config.json :language: json :linenos: :emphasize-lines: 4 *main.py* .. literalinclude:: /../../examples/057-storage-backup-limit/main.py :language: python :linenos: :emphasize-lines: 15