Connected Devices/Projects/Project Link/Taxonomy: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Changing TOC.)
Line 10: Line 10:
** POST http://localhost:3000/users/login (Header contains Authorization: Basic <base64 encode of username:password)
** POST http://localhost:3000/users/login (Header contains Authorization: Basic <base64 encode of username:password)


== Service List ==
== Services ==
=== List of Services ===
Services may requested by selector. A service selector is an object with the following fields:
Services may requested by selector. A service selector is an object with the following fields:



Revision as of 17:02, 1 April 2016

Taxonomy Documentation

Github Link: http://fxbox.github.io/taxonomy/doc/foxbox_taxonomy/index.html

Current REST API

Account

Services

List of Services

Services may requested by selector. A service selector is an object with the following fields:

  • (optional) string `id`: accept only a service with a given id;
  • (optional) string array of string `tags`: accept only services with all the tags in the array;
  • (optional) object or array of objects `getters` (see GetterSelector): accept only services with channels matching all the selectors in this array;
  • (optional) object or array of objects `setters` (see SetterSelector): accept only services with channels matching all the selectors in this array.

The GET accepts 0, 1 or an array of service selectors and will return all the services that match any of the selectors.

Example with 1 selector:

  • Get services with tag "location: kitchen" and channel kind "OvenTemperature"

Example with 2 selectors:

As a shortcut, providing no argument will locate all services:

Channels

Channels are designed to be used by selector.

A selector is an object with the following fields:

  • (optional) string id: accept only a channel with a given id;
  • (optional) string `service`: accept only channels of a service with a given id;
  • (optional) string|array of string `tags`: accept only channels with all the tags in the array;
  • (optional) string|array of string `service_tags`: accept only channels of a service with all the tags in the array;
  • (optional) string|object `kind` (see ChannelKind): accept only channels of a given kind.

While each field is optional, at least one field must be provided.

Generally, using an id is considered a bad idea, as this ties the application to a specific device, and this will fail if the device is replaced (consider that this is equivalent to using an IP address instead of a domain name).


Fetching


Example:

Sending

or

See http://fxbox.github.io/taxonomy/doc/foxbox_taxonomy/values/enum.Value.html for the full documentation on values.

Specific services and channels

Time

Camera

Tags

Recipe

  • Send Recipe
  • List available Recipes

WebPush