Skip to main content

A Python interface to the EMQx LwM2M plugin

Project description

This package provides a command line interface to the EMQx LwM2M plugin.

It supports read, discover, write, write-attr, execute, create, delete. It also has some handy features for tracking notifications, etc.

NOTE: This package is still in pre-alpha stage and backwards incompatible changes are likely in the releases prior to version 1.0.0.

Usage and command line options

usage: python3 -m emqxlwm2m [-h] [--host HOST] [--port PORT]
                         [--known-endpoints KNOWN_ENDPOINTS]
                         [--xml-path XML_PATH]
                         [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--echo]
                         [--value VALUE] [--interval INTERVAL]
                         [--timeout TIMEOUT]
[{reboot,notifications,create,write,delete,update,updates,read,discoverall,execute,registrations,cancel-observe,observe,?,discover,attr,endpoints}]
[endpoint] [path]

positional arguments:
{reboot,notifications,create,write,delete,update,updates,read,discoverall,execute,registrations,cancel-observe,observe,?,discover,attr,endpoints}
endpoint              LwM2M endpoint client name
path                  LwM2M object/instance/resource path

optional arguments:
-h, --help            show this help message and exit
--host HOST           EMQx MQTT broker host
--port PORT, -p PORT  EMQx MQTT port
--known-endpoints KNOWN_ENDPOINTS
Path to list of known endpoints. Used for interactive
selection.
--xml-path XML_PATH, -x XML_PATH
Directory with xml lwm2m object definitions. Can be
used multiple times to provide multiple paths.
-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level
--echo                Print endpoint and path when selected with fzf.
--value VALUE, -v VALUE
Value to use in context of command.
--interval INTERVAL, -i INTERVAL
Repeat action with interval. Seconds.
--timeout TIMEOUT, -t TIMEOUT
Timeout when waiting for response. Seconds.

Installation

From PyPI:

$ python3 -m pip install emqxlwm2m

Examples

Read:

$ python3 -m emqxlwm2m --host localhost --port 18830 read urn:imei:123456789012345 /3/0/18
{'/3/0/18': '1.2.3'}

Write:

$ python3 -m emqxlwm2m write urn:imei:123456789012345 /1/0/1 --value 60

Write-attr (syntax: [pmin,pmax]lt:st:gt):

$ python3 -m emqxlwm2m attr urn:imei:123456789012345 /3/0/9 --value [60,120]5:10:95

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emqxlwm2m-0.1.0.tar.gz (23.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page