Definitions

instance#

stands for both master installation for particular project and a gateway depending on Your configuration.

Most cases instance would be separated project, like eg. "City of Drones" that would handle multiple gateways and networks spread all over the city...

component#

See domain

domain#

Domain or a component is a type of devices supported by the system. It's a general structure for objects like lights, switches, sensors etc.

entity#

the representation of a device within picoides.io Entity is every object in picoides.io instance. Single lamp or sun (sensor) or switch is an example of an entity. It's a representation of device or object in a real world. Entity can be representation of a single or a group of entities of particular domain

platform#

states#

Every entity has it's state object that represents current it's status.

Most important property of state object are it's state and entity_id - state - describes if device on, off, hot/cold or opened etc. - entity_id - links state object to entity

Additional state attributes is a array of properties related to device kind. Every device domain will have different set of state attributes. Moreover some different device types of same domain will have different state attributes depending on supported features (ex. some lights would support changing temperature or colour of emitted light)

Example state object

{
  "attributes": {
    "alert": 0,
    "area": "",
    "brightness": 255,
    "friendly_name": "dev_unique_name_3",
    "latitude": 0,
    "longitude": 0,
    "power": 100,
    "problem": false,
    "rssi": -99,
    "state_pending": True,
    "status": 1,
  },
  "entity_id": "light.dev_unique_name_3",
  "last_changed": "2018-04-19T08:20:23.359168+00:00",
  "last_updated": "2018-04-19T08:20:23.359168+00:00",
  "state": "on"
}

service#

Services are instance internal processes designed to take care of binding actions and entity states. They can be used for changing state of selected entity like ex. setting light (or group of lights) on or off. Picoides.io platform is implemented using light domain and so it inheritress services from this domain Fields of service type except entity_id depend on device type supported fetchers.