Skip to end of metadata
Go to start of metadata

GadgetKeeper is based on several core concepts which should be understood in order to work with GadgetKeeper effectively:

thingBasically defined as any physical object or entity that has attributes and behaviours associated with it. In the GadgetKeeper platform, a Thing is used to model real-world gadgets, such as electronic devices, appliances, software applications, etc.
thing connectionDefines the communication protocol between GadgetKeeper and Thing. The GK platform uses the JSON-RPC 2.0 protocol, which is a simple remote procedure call protocol that supports MQTT/TCP/HTTP/STOMP/XMPP as the transport mechanism.
thing property

Any definite physical attribute or behaviour that can provide information about the state of the Thing. Each property in GK must have a data type.

There are three types of properties:

  • persistent - a property value in the GK database that maintains a set value between function calls .
  • script - Set/get function calls are implemented by Java script functions in GK.
  • remote - GadgetKeeper forwards property set/get requests to Thing, and then Thing sends property value back or updates it.
thing method

Defines the procedure for an action to be implemented by Thing. Any request/response data types may be optionally defined for each method.

There are two types of methods:

  • script - method is implemented by Java script function in GK.
  • remote - GadgetKeeper forwards a request to Thing, and then method is implemented by Thing.
thing eventEvents are activated by a remote call from Thing or from a script property/method in GK, which causes a state change. Event must have a data type.
thing triggerCauses an action (such as send email) to be executed in response to particular Event. Trigger logic is coded in Java script.
thing scheduleDefines cron-based schedule to execute a method or cause an event.
data type

Identifies one of various types of data, such as float, integer or boolean, that determines the possible value formats for data.

Three groups of data types are supported:

  • primitives - boolean, integer, float, long, double, date, uuid, string
  • arrays - must have a dimension and a contained data type (either a primitive or a structure)
  • structures - a user defined data field which can contain several types (primitives, arrays, or even other structures)
API key

 Used to enable API interactions on GadgetKeeper, and allows access to properties, methods, events, etc. of selected things. Access permissions include Read, Write, and Publish Event

templateA base model used for a Thing that keeps track of each new version. Templates are also used to create new Things, which are clone copies.
template versionProvides the mechanism to track changes made to Thing on a Template, and to update Things created from a Template.
productBased on a Template and contains a list of Serial Numbers to facilitate provisioning.
serial numberA unique identification number used to identify each device in its field installation.






  • No labels