Containers

Overview

Droplit.io organizes devices into containers. These containers serve two functions. First, they represent relationships between devices (usually geographical, but not always). Second, they provide security access controls.

Containers cannot overlap and they have a hierarchical structure. All containers must have an ID, and that ID must be unique. The IDs of all containers, and the objects inside them, must be unique. Aliases, when applied to containers, must also be unique.

An overview of the container structure is illustrated below.

droplit structure

Ecosystems

An ecosystem is a top-level container which encapsulates all other container types.

The entirety of an application or product should be created inside a single ecosystem. That ecosystem should contain all items that are reusable for the application.

Ecosystems cannot access other ecosystems. Objects contained inside an ecosystem are available to only that ecosystem, and an object cannot be shared between multiple ecosystems. The same is true for properties.

The creator of an ecosystem is also its owner. An ecosystem owner can grant other users and developers access to the ecosystem when necessary.

Device control commands cannot be issued to ecosystems.

Ecosystems use domains as aliases.

Clients

Ecosystems also contain references to objects called clients, which are not containers themselves, but monitor the type of connection the ecosystem has to the Droplit cloud. A “server” client is a local server running the Droplit system which connects to the cloud, while an “application” is an external program that connects either to a Droplit server or the Droplit cloud.

Environments

An environment represents a physical location or space, such as a single building. It can be referred to with an alias.

Environments are the highest scope to which commands can be issued. For example, setting the environment property “BinarySwitch.switch” to “off” will set that property on all children of that environment which implement the “BinarySwitch” service class.

Zones

A zone represents a group of devices. It can be referred to with an alias. Zones can also contain other zones inside of themselves.

Usually, zones group devices by either their location or physical use. For example, a zone called “ConferenceRoom” could represent a room and all its devices, and a zone called “Lighting” could be present inside “ConferenceRoom” to represent all the lights in the room.

zones diagram

Devices

A device is the digital representation of a connected piece of smart hardware that can be remotely controlled. It can be referred to with an alias. Common examples of these include switches and smart bulbs.