Learn the concepts,
see how it works

      1. User (s)
      2. Place (s)
      3. Functionality(ies)
      4. Device (s)
      5. FunctionalityTag (s)
      6. DeviceTag (s)
      7. Program (s)
      8. Attribute (s)
      9. Action (s)
      1. User
      2. Place
      3. Functionality
      4. Device
      5. Attribute
      6. Action
      1. OnOff
      2. Color
      3. Dimmer
      4. Buttons
      5. ElecMetering
      6. ElecSmartMetering
      7. GasMetering
      8. WaterMetering
      9. GenericMetering
      10. FrenchTeleInfo
      11. Temperature
      12. Humidity
      13. Brightness
      14. CarbonDioxide
      15. Vibration
      16. OpenClose
      17. Motion
      18. Smoke
      19. WaterLeakage
      20. Siren
      21. Input
      22. CarbonMonoxide
      23. SmartThermostat
      24. Thermostat
      25. PilotWire

Overview

As a developer, with the IJENKO IoT API you can build a smart heating application which adapts to the household habits, create a home cinema scene which dims the light and launches a music track on demand, trigger a lamp if a motion is detected. Your imagination is the limit!

Access and operate the functionalities and smart devices available in the Smart home, create new interacting programs between these devices and build an augmented IoT user experience.

IoT Data Model architecture

The different Smart home resources (from an IoT angle) are represented in the following relationships diagrams. Every resource is explained in detail below with Data Model rules.

Users and Places

Authorized users can use the different places resources. Some can access only a subset of places, some the whole. Some can only receive alerts, others can open the door, schedule the heating and much more.

Functionalities and devices

The Place provides a set of functionalities. These functionalities are enabled by devices. The functionality serves a set of attributes (for ex. value of the reading, open event) and actions, such as switching ON a lamp in 10s and during 3mn. “Many to Many” Programs are the interacting applications between functionalities (if Motion then send an Alert).

Tags

Functionalities and devices can be tagged. For instance, this helps in grouping them for a common usage.

Resources in detail

User (s) Represents a person of the family or its acquaintances.
Examples: “Me”, “Max”, “Lola”, “Nanny”
Place (s) Represents:
  • the smart home,
  • An instance of the Software Gateway that operates a set of Devices,
  • The geographical place where the HAN network is situated
Does not represent:
  • The household, the family
Functionality (ies) Represents a service supplied by a Place. It is a capability of the smart home. The Place is a set of Functionalities.
Examples : "ON/OFF, metering, alert ..."
Device (s) Represents a physical or virtual sensor/actuator, which is defined by its connectivity status to the Place and that delivers a set of Functionalities.
Examples: "O/C sensor, Thermostat, Weather station, Smart meter..."
FunctionalityTag (s) Represents a data value that can be related to a Functionality. Does not represent:
  • A complex entity (meta-data)
  • A group
DeviceTag (s) Represents a data value that can be related to a Device. Does not represent:
  • A complex entity (meta-data)
  • A group
Program (s) Represents an algorithm of interaction between the different functionalities of the Place.
Examples “If Motion triggered than send Alert and switch ON light”
Attribute (s) Represents a data of a Functionality. Its value can be readable / writable.
Examples: “Ambient temperature, instantaneous meter reading ...”
Action (s) Represents a method accepting inputs and delivering outputs.
Examples: “Changing the configuration of the Temperature reading”

IoT Data Model rules

User
  • can have access to all the Places or a subset of Places
  • can have access to all the functionalities of a place
  • can create other users.
Place A household / family can have many « Places ».
Different users can access the « Place » resources :
  • « Functionalities »
  • « devices »
  • « programs »
Functionality Sub-resources are « Attributes » and « Actions ».
  • Is necessarily linked to a Device
  • Can be listed by Device or directly by Place
  • Are defined by our Data Model (name, list of attributes and actions) and are not modifiable (list of functionalities)
  • Benefit from tags to be qualified as needed by the developer
Device Sub-resources are « Functionalities »
  • Is necessarily linked to a Place
  • Benefit from tags to be qualified as needed by the developer
Attribute
  • Can be readable and/or writable
  • Are defined by our Data Model and are not modifiable (list of functionalities)
  • Identified by a name (description) and an instant value
Action
  • Can be made available or not
  • Are defined by our Data Model and are not modifiable

List of functionalities

Our functionality-centric Data Model handles a set of functionalities that you can use to build B2C applications and feed your B2B services. The Smart Home world evolves every day, and the same is true for the following functionalities list.

Category Functionality Description
Automation OnOff Capability of switching ON/OFF in Read and Write (R & W). In most cases, this functionality is enabled by a smart plug (to control your electric appliances) or a lamp (e.g. Philips HUE).
Color Capability of reading and/or changing the color (R & W). In most cases, this functionality is enabled by a smart lamp (e.g. Philips HUE).
Dimmer Capability of changing the brightness level of a lamp. In most cases, this functionality is enabled by a device connected to a lamp.
Buttons Capability of remote control, with one or more buttons. In most cases, manufacturers provide a remote control device that can be configured to perform different actions according to what the customer wants (setting an alarm, opening a rolling shutter).
Metering ElecMetering Electric metering data, with different tariff periods (standard, peak/off-peak, ToU). Including cumulative power, instantaneous demand, hourly, daily and monthly data, in Wh, in currency and in carbon equivalent. Data can be provided by a smart plug (for an appliance) or a device to collect global consumption, locally generated solar power etc.
ElecSmartMetering Electric metering data, with different tariff periods (standard, peak/off-peak, ToU) and readings data. Including cumulative power, instantaneous demand, hourly, daily and monthly data, in kWh, in currency and in carbon equivalent. Data is provided by a smart meter that manages ToU.
GasMetering Gas metering data. Including cumulative volumes, instantaneous demand, hourly, daily and monthly data, in cubic dm, Wh, in currency and in carbon equivalent.
WaterMetering Water metering data. Including cumulative volumes, instantaneous demand, hourly, daily and monthly data, in cubic dm, and currency.
GenericMetering Generic metering data. Including cumulative volumes, instantaneous demand, hourly, daily and monthly data, in cubic dm, and currency. This functionality can be used when the metering data is not specified (electricity, gas or other)
FrenchTeleInfo French metering TIC (tele info client). Data can be provided by a french electronic meter (CBE) or the smart meter Linky.
Home monitoring Temperature Temperature measures, including average data.
Humidity Humidity measures, including average data.
Brightness Level of luminosity measures, including average data.
CarbonDioxide Carbon dioxide measures, including average data.
Vibration Vibration level measures, including average data.
Safety OpenClose Open / Close status.
Motion Motion status.
Smoke Smoke warning status.
WaterLeakage Water leakage warning status.
Siren Siren alarm status and triggering (R & W).
Input A generic status (Yes/No) that can be provided by a device. This functionality can be used when the status kind is not specified.
CarbonMonoxide Carbon monoxide measures, including average data, plus alert status.
Heating SmartThermostat A schedulable thermostat, including temperature overrides and programming.
Thermostat A basic temperature setting and measurement, with the capability of changing the temperature and reading ambient temperature, with average data. Data can be provided by a thermostatic valve or a non schedulable thermostat.
PilotWire French pilot wire heating model (Comfort, Comfort-1, Comfort-2, Eco, Frost-free, Off).
Contact us

IoEnergy API – Data Model

The IoEnergy Data Model is available to our B2B energy services customers.