Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Simple python wrapper over wirelesstags REST API

Project description

# WirelessSensorTags [![Build Status](https://travis-ci.org/sergeymaysak/wirelesstagpy.svg?branch=master)](https://travis-ci.org/sergeymaysak/wirelesstagpy) [![Coverage Status](https://coveralls.io/repos/github/sergeymaysak/wirelesstagpy/badge.svg?branch=master)](https://coveralls.io/github/sergeymaysak/wirelesstagpy?branch=master) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/wirelesstagpy.svg)

A simple python wrapper library for Wireless Sensor Tag platform (`http://wirelesstag.net`).

Supports getting data for registered by end user sensor tags.
mytaglist.com account credentials are needed to use this lib.
Enabling tags sharing is not required.

Verified with:

- 13-bit motion/temperature/humidity tags (type 13)
- Water/Moisture tags (type 32)
- ALS Pro tag (type 26)
- PIR Kumo sensor (type 72)

## Installation

```shell
pip3 install wirelesstagpy
```

## Development notes

See [apidoc.html](http://wirelesstag.net/apidoc.html) for API details.

## Usage

### Fetch all tags

```python

import wirelesstagpy

api = wirelesstagpy.WirelessTags(username='login_email', password='your_password')
sensors = api.load_tags()
for (uuid, tag) in sensors.items():
print('Loaded sensor: {}, temp: {}, humidity: {} probe taken: {}'.format(
tag.name, tag.temperature,
tag.humidity, tag.time_since_last_update))

```

## Install custom push notifications

Wireless Sensor Tags platforms allows to setup custom url calls for set of specific events.

```python


import wirelesstagpy

api = wirelesstagpy.WirelessTags(username='login_email', password='your_password')
notifications = [
NotificationConfig('update', {
'url': 'http://some_local_ip/update_tags',
'verb': 'POST'
'disabled': False,
'nat': True
})
]

# install notification for tag with id=1 only
# use it you have only one tag manager
succeed = api.install_push_notification(1, notifications, False)

# if you have multiple tag managers you need specify its 'mac' stored in each tag as following
succeed = api.install_push_notification(sensor.tag_id, notifications, False,
sensor.tag_manager_mac)
```

## Arm/Disarm sensor monitoring for specific event

Supported events include: motion, temperature, humidity, light

```python

import wirelesstagpy

api = wirelesstagpy.WirelessTags(username='login_email', password='your_password')

# arm humidity monitoring for tag with id 1,
# returned instance is updated SensorTag
sensor = api.arm_humidity(1)

# Disarm it
sensor = api.disarm_humidity(1)

# Specify tag manager if you have multiple tag managers
sensor = api.arm_humidity(sensor.tag_id, sensor.tag_manager_mac)

```

## Disclaimer

"Wireless Sensor Tags", "KumoSensor" and "Kumostat" are trademarks of Cao Gadgets LLC,
see www.wirelesstag.net for more information.

I am in no way affiliated with Cao Gadgets LLC.

## Copyright

See [LICENSE](LICENSE)

# Changelog

3/11/2018 Initial commit
3/19/2018 Added support for arm/disarm logic for motion/temp/humidity/light
8/4/2018 Added support for multiple tag managers. Python 3.7 added to list of supported.


Project details


Download files

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

Files for wirelesstagpy, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size wirelesstagpy-0.4.0-py3-none-any.whl (16.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size wirelesstagpy-0.4.0.tar.gz (13.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page