Crate fxbox_taxonomy [] [src]

This crate defines the high-level API for accessing Connected Devices.

Taxonomy

A network of Connected Devices is composed of Nodes. Each node is essentially a collection of Service<Input>s, which provide data from the devices for use by applications, and Service<Output>s, which give applications the ability to send instructions to devices.

Each Service has a ServiceKind, which determines the only feature provided by this service, as well as the type of messages that can be sent to/received from a service. The core list of ServiceKind is hardcoded, but open for extensions.

Example

The FoxBox itelf is a Node, which may offer the following services:

Example

A light is a Node, which may offer:

Modules

api

Public-facing API

devices

Metadata on devices This module defines the metadata on devices and services.

selector

Selecting one or more devices. Exposed through the API.

util

Various utilities

values

Values that may be sent to/received from devices