Skip to main content

ZDM Client Python Library

Project description

Zerynth ZDM Client Python Library

A python library that emulates a device for the ZDM (Zerynth Device Maanager). The library permits: to connect to the ZDM, to send data and to receive jobs.

Installation

The latest stable version is available on PyPI. Either add zdm-client-py to your requirements.txt file or install with pip:

pip install zdm-client-py

Usage

Login to the ZDM platform (by using the ZDM Web or the ZDM CLI). Add a new device and generate a new password for the device.

Copy the obtained Device Id and Password in the example below.

In the example, the Client connects to the ZDM with the username e password. Then it sends an infinite stream of messages onto three different tags ("bathroom", "bedroom", "living room") with a random temperature.

import random
import time
import zdm

device_id = '!!! PUT YOU DEVICE_ID HERE !!!'
password = '!!! PUT YOU PASSWORD HER !!!'

device = zdm.ZDMClient(device_id=device_id)
device.set_password(password)
device.connect()

time.sleep(5)

tags = ["tag1", "tag2", "tag3"]

while True:
    temp = random.randint(10, 30)  # random temperature
    tag = random.choice(tags)      # random choice of the tag
    payload = {"temp": temp}
    device.publish_data(tag, payload)
    time.sleep(1)

You can find other examples in the data/examples folder.

======= History

0.2.0 (2020-06-16)

  • Added Conditions and removed the events.
  • removed wait_for_publish()

0.1.0 (2020-05-14)

  • added wait_for_publish() to the published msg in order to guarantee that the message is sent to the ZDM
  • added the send_event() method for sending events to the ZDM.

0.0.11 (2020-05-04)

  • fix json load arguments of job

0.0.10 (2020-04-27)

  • Changed default endpoint to "mqtt.zdm.zerynth.com"
  • Fix args of Jobs as ./json

0.0.7 (2020-04-09)

  • modified examples
  • copy examples in /usr/share/zdm/examples folder

0.0.6 (2020-03-30)

  • Fix error in _handle_dn_msg decode msg to str with python3.5

0.0.5 (2020-03-29)

  • Fix error manifest with empty jobs.

0.0.4 (2020-03-29)

New functionality:

  • Verbose parameter to ZdmClient class

0.0.3 (2020-03-27)

Release with support Python >3

  • Create ZDmClient
  • Publish messages to ZDM
  • Received Jobs from ZDM

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

zdm_client_py-0.2.0-py3-none-any.whl (9.2 kB view hashes)

Uploaded Python 3

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