iot-automator#
iot-automator is a library for building complex IoT device automations using Python
with an emphasis on simplicity, robustness and scalability.
Here’s how the library is used to control an IoT device environment:
#!/usr/bin/env python
from iot_automator import node
node_url = 'https://testnode.webthings.io/'
node_credentials = {'unm': 'mterrell', 'pwd': 'hello12'}
with node.connect(node_url, node_credentials) as my_node:
current_temp = my_node.devices['Weather'].sense('temperature')
current_brightness = my_node.devices['Light Sense'].sense('brightness')
if(current_temp > 75 and current_brightness > 1500):
my_node.devices['Hue Light Strip'].actuate('power', 'off')
iot-automator works with many common, off the shelf hubs and devices, but introduces infinite freedom to automate any device or environment.
The library abstracts a number of popular IoT automation solutions, like WebThings Gateway, Samsung Smart Things,
Home Assistant, Amazon Alexa, OpenHAB, and more in the future.
The library provides a simple, object-oriented interface for building automation solutions that spans across these hubs and devices,
introducing a new level of flexibility and scalability to IoT automation.
An execution engine that runs on a variety of compute nodes and handles the execution of the automation modules. This engine emphasizes scheduled and proximity triggers (RFID) for running modules across multiple rooms in the enterprise environment. The engine supports per-user and per-device security levels to operate in secure, multi-user environments. The engine also provides scalability across the framework by offloading module execution to other Dense IoT nodes within a network.