<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Introduction on CPS IoT Ready</title>
    <link>/</link>
    <description>Recent content in Introduction on CPS IoT Ready</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Access</title>
      <link>/docs/services/access/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/access/</guid>
      <description>Access service # Service namespace: access&#xA;Responsible for giving access to identities from NFC or BLE and controlling lock and display.&#xA;Configuration # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/service/access/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/access/config/schema Field Type Description enable bool Enable access control open_access bool Set to true to allow any identity decline_notify bool Report declined access events operator string Operator customization caption string Caption text below image language string Language for messages.</description>
    </item>
    <item>
      <title>Autoclose</title>
      <link>/docs/services/autoclose/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/autoclose/</guid>
      <description>Autoclose service # Service namespace: autoclose&#xA;Service for managing automatic opening hours for the container. If outside opening hours, the container will be fully closed, rejecting both access cards and the keep-unlocked setting.&#xA;Configuration # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/service/autoclose/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/autoclose/config/schema Field Type Description timezone string IANA Timezone string, e.g. Europe/Oslo, for where the device is lSet to true to allow any identityocated close_rules array Up to 8 rules for when the device should lock.</description>
    </item>
    <item>
      <title>Battery</title>
      <link>/docs/services/battery/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/battery/</guid>
      <description> Battery service # Service namespace: battery&#xA;Reports battery status.&#xA;Messages # Status # Message name: status&#xA;Field Type Description nom_v float Nominal Voltage min_v float Minimum Voltage temp float Temperature Read message:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/battery/message/status </description>
    </item>
    <item>
      <title>Display</title>
      <link>/docs/services/dis/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/dis/</guid>
      <description>Display service # Service namespace: dis&#xA;Configuration # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/service/dis/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/dis/config/schema Field Type Description intensity integer Intensity in percent rotation object Rotation rotation.angle integer Rotation angle in either 0, 90, 180 or 270 degrees Read config with status:&#xA;curl -H &amp;#34;X-IOTREADY-CONFIG-NEXT-GEN: true&amp;#34; -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/dis/config Configure display rotation:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; -X PUT -d &amp;#39;{&amp;#34;rotation&amp;#34;:{&amp;#34;angle&amp;#34;:270}}&amp;#39; \ https://api.</description>
    </item>
    <item>
      <title>HUT</title>
      <link>/docs/services/hut/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/hut/</guid>
      <description> Humidity/temperature service # Service namespace: hut&#xA;Reports events based on humidity/temperature measurements.&#xA;Messages # Event # Message name: event&#xA;Field Type Description time timestamp UTC time of event report object Report report.temperature int Temperature in °C report.humidity int Relative humidity in percent </description>
    </item>
    <item>
      <title>IMUG</title>
      <link>/docs/services/imug/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/imug/</guid>
      <description> Inertial Measurement Unit (With gyro) service # Service namespace: imug&#xA;Reports events based on movement&#xA;Messages # Event # Message name: event&#xA;Field Type Description time timestamp UTC time of event motion object Motion detected motion.dt_s int Motion event duration in seconds </description>
    </item>
    <item>
      <title>Integrator</title>
      <link>/docs/bestpractices/integrator/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/bestpractices/integrator/</guid>
      <description>Integrator best practices # Use built-in metadata storage for device # The device object have a limited size external field. This can be used for a integrator json object. This allows the integrator to avoid having it&amp;rsquo;s own device database. And can simplify design.&#xA;Set this field:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; -X PUT -H &amp;#34;Content-Type: application/json&amp;#34; \ -d &amp;#39;{&amp;#34;customer&amp;#34;:&amp;#34;customer1&amp;#34;,&amp;#34;group&amp;#34;:&amp;#34;group1&amp;#34;}&amp;#39; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/external The devices endpoint allows queries using external fields:</description>
    </item>
    <item>
      <title>Introduction</title>
      <link>/docs/api/intro/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/api/intro/</guid>
      <description>Introduction # Endpoints # APIs are served by the api.nr.iotready.no domain.&#xA;REST URL: https://api.nr.iotready.no/api/v1&#xA;MQTT URL: mqtts://api.nr.iotready.no/v1&#xA;See MQTT chapter for details on MQTT connection.&#xA;Content Types # All API content type is json unless specified. It&amp;rsquo;s recommended to specify Content-Type: application/json, but it&amp;rsquo;s not a requirement as it&amp;rsquo;s expected as default.&#xA;Content type can be set like this:&#xA;curl -H &amp;#34;Content-Type: application/json&amp;#34; \ https://api.nr.iotready.no/api/v1/device/123 For PATCH operations the default is Content-Type: application/merge-patch+json.</description>
    </item>
    <item>
      <title>Location [Draft]</title>
      <link>/docs/services/location/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/location/</guid>
      <description>Location service # Service namespace: location&#xA;Responsible for reporting location.&#xA;Configuration # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/service/location/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/location/config/schema Field Type Description enable bool Enable position retrieval interval_s int Interval in seconds between retrieving position timeout_s int Timeout in seconds trying to get position fix movement object Movement triggered position retrieval movement.enable bool Enable movement triggered position retrieval Read config with status:&#xA;curl -H &amp;#34;X-IOTREADY-CONFIG-NEXT-GEN: true&amp;#34; -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.</description>
    </item>
    <item>
      <title>Lock</title>
      <link>/docs/services/lock/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/lock/</guid>
      <description>Lock service # Service namespace: lock&#xA;Configuration # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/service/lock/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/lock/config/schema Fields nolock, bistable, monostable, emz_flex, emz_payt, kerong and nrcl are oneof type.&#xA;Field Type Description enable bool Enable/disable lock functionality close_timeout_s integer Close timeout in seconds keep_unlocked bool Keep in unlocked state nolock object No lock bistable object Bistable lock type bistable.hold_ms integer Hold time in ms monostable object Monostable lock type monostable.</description>
    </item>
    <item>
      <title>Magnetic</title>
      <link>/docs/services/mag/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/mag/</guid>
      <description> Magnetic sensor service # Service namespace: mag&#xA;Reports events on magnetic sensor threshold.&#xA;Messages # Event # Message name: event&#xA;Field Type Description time timestamp UTC time of event pulse object Pulse detected pulse.dt_s int Pulse length in seconds </description>
    </item>
    <item>
      <title>Modem</title>
      <link>/docs/services/modem/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/modem/</guid>
      <description>Modem service # Service namespace: modem&#xA;Configuration # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/service/modem/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/modem/config/schema Field Type Description interval int Interval in seconds between scheduled connection uestats bool Enable/disable reporting of uestats message Read config with status:&#xA;curl -H &amp;#34;X-IOTREADY-CONFIG-NEXT-GEN: true&amp;#34; -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/modem/config Configure interval to 1 hour:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; -X PUT -d &amp;#39;{&amp;#34;interval&amp;#34;:3600}&amp;#39; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/modem/config/value Messages # UEStats # Message name: uestats</description>
    </item>
    <item>
      <title>NB IoT</title>
      <link>/docs/arch/nbiot/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/arch/nbiot/</guid>
      <description>NB IoT # NB IoT is a protocol designed for low data usage and low power usage, and can give years of battery operated usage. But this implies some constraints:&#xA;Not always connected. The device will initiate communication, and any data to the device can have long latencies (configurable from seconds to days). Number of communication sequences can be limited to adhere battery limits or data usage limits. Meaning large data transfers might be distributed over days to conform to such requirements.</description>
    </item>
    <item>
      <title>NFC UID ACL</title>
      <link>/docs/services/nfc_uid_acl/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/nfc_uid_acl/</guid>
      <description> NFC UID Access Control List service # Service namespace: nfc_uid_acl&#xA;Configuration # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/service/nfc_uid_acl/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/nfc_uid_acl/config/schema Field Type Description enable bool Enable/disable uids string list List of allowed NFC UIDs. Encoded as a hexadecimal string Read legacy config:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/nfc_uid_acl/config Configure access list:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; -X PUT \ -d &amp;#39;{&amp;#34;enable&amp;#34;:true,&amp;#34;uids&amp;#34;:[&amp;#34;12345678&amp;#34;,&amp;#34;ABCDEF00&amp;#34;]}&amp;#39; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/service/nfc_uid_acl/config </description>
    </item>
    <item>
      <title>NRC1</title>
      <link>/docs/products/nrc1/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/products/nrc1/</guid>
      <description>NRC1 # NRC1 is a access controller for electronic locks.&#xA;Features:&#xA;NB-IoT connectivity Bluetooth Supports a variety of electronic locks NFC reader Colour display Modules # NRC1 is assembled from four generic modules. None of them is specific to NRC1: each has its own repository, release cycle and version, and is shared with the other products that use it.&#xA;Module Role in NRC1 gw Gateway. The NB-IoT modem and cloud link, Bluetooth, the lock driver, and the MIB controller the other three answer to nfc The NFC reader dis The colour display sun The sensor unit The service table below does not line up one-to-one with this list — it names six services across the modules and none of sun&amp;rsquo;s.</description>
    </item>
    <item>
      <title>Range</title>
      <link>/docs/services/ran/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/services/ran/</guid>
      <description> Range service # Service namespace: ran&#xA;Messages # Event # Message name: event&#xA;Field Type Description time timestamp UTC time of event range object Range data range.rows object array Range rows range.rows.distances_mm int array Array of measurement values in mm. 0 represents measurement failed </description>
    </item>
    <item>
      <title>Authentication</title>
      <link>/docs/api/auth/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/api/auth/</guid>
      <description>Authentication # For an API key contact your IoT Ready administrator.&#xA;For REST use the supplied API key in http header X-API-Key&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; https://api.nr.iotready.no/api/v1/device/123 For MQTT use X-API-Key as username and api key as password.&#xA;mosquitto_sub -v --capath /etc/ssl/certs \ -L &amp;#34;mqtts://X-API-Key:&amp;lt;api key&amp;gt;@api.nr.iotready.no/v1/upstream/#&amp;#34; See MQTT chapter for details on MQTT connection.</description>
    </item>
    <item>
      <title>NRC2</title>
      <link>/docs/products/nrc2/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/products/nrc2/</guid>
      <description>NRC2 # NRC2 is a fill level sensor.&#xA;Features:&#xA;NB-IoT connectivity Bluetooth Time-of-Flight (ToF) multi-zone sensor. 8x8 matrix with 63° diagonal FoV Movement sensor Magnetic proximity sensor Config # Config json schema available on api/v1/device/&amp;lt;dev_id&amp;gt;/config/schema:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/&amp;lt;dev_id&amp;gt;/config/schema Field Type Description modem object modem configuration modem.interval int Interval in seconds between scheduled connection ran object object ran.enable bool Enable range sensor ran.interval_s int Interval in seconds between range measurements imug object Inertial Measurement Unit configuration imug.</description>
    </item>
    <item>
      <title>Product</title>
      <link>/docs/api/product/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/api/product/</guid>
      <description>Product # Devices are grouped in products with different functionality. A product supports a given set of services.&#xA;List Products # To get a list of available products:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; https://api.nr.iotready.no/api/v1/products Response:&#xA;{ &amp;#34;products&amp;#34;: [ { &amp;#34;name&amp;#34;: &amp;#34;product1&amp;#34; }, { &amp;#34;name&amp;#34;: &amp;#34;product2&amp;#34; } ] } Get Product # Get information on a single product:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; https://api.nr.iotready.no/api/v1/product/product1 Get Product Devices # Get a list of devices for a given product:</description>
    </item>
    <item>
      <title>Device</title>
      <link>/docs/api/device/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/api/device/</guid>
      <description>Device # Device (api/v1/device) # Access to device object. For accessing list of devices see Multiple Devices section.&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; https://api.nr.iotready.no/api/v1/device/123 Device object fields:&#xA;Field Type Description created timestamp UTC time of device object creation updated timestamp UTC time of device object update dev_id string Unique device ID product string Product ID. To differentiate between different products variant string Non-functional variations within same product hw_version string Device hardware version status object Current status.</description>
    </item>
    <item>
      <title>Service</title>
      <link>/docs/api/service/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/api/service/</guid>
      <description>Service # Service object:&#xA;Field Type Description name string Unique name of service config object Config object messages object array Array of Message objects All services # List all the services for a device:&#xA;curl -H &amp;#34;X-API-Key: &amp;lt;api key&amp;gt;&amp;#34; \ https://api.nr.iotready.no/api/v1/device/123/services Service # Each service is addressed under the device api under the path api/v1/device/&amp;lt;dev_id&amp;gt;/service/&amp;lt;service namespace&amp;gt;.&#xA;See Services for available services.&#xA;Config # Config object:&#xA;Field Type Description updated timestamp UTC time of update from API state string State of configuration sync value object Config value Any service config can be addressed on: api/v1/device/&amp;lt;dev_id&amp;gt;/service/&amp;lt;service namespace&amp;gt;/config</description>
    </item>
    <item>
      <title>Manufacturer</title>
      <link>/docs/api/manuf/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/api/manuf/</guid>
      <description> Manufacturer (api/v1/item) # Manufacturer specific device endpoint:&#xA;Specific authorization Only access to set production and initial device data Object:&#xA;Name Type Description dev_id string state DeviceState Device state product string Product name. A unique identifier for same functionality variant string Product variant. Non-functional variations within same product hw_version string Hardware version firmwares FirmwaresEntry Firmware versions modem Modem Modem details sim SIM SIM details manufacturer string Manufacturer name packaging PackagingEntry Packaging associations prod_meta Struct Other production data test_results Struct Test results </description>
    </item>
    <item>
      <title>MQTT</title>
      <link>/docs/api/mqtt/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/api/mqtt/</guid>
      <description>MQTT # Broker specification:&#xA;MQTT v3.1.1 QoS 0 and 1 Connection details:&#xA;Host: api.nr.iotready.no Uses TLS with CA-signed certificate TLS secured Port: 8883 Username: X-API-Key Password: your api key Topic prefix required: v1 Topics:&#xA;v1/upstream: Messages Example: shell mosquitto_sub -v \ -L &amp;#34;mqtts://X-API-Key:&amp;lt;api key&amp;gt;@api.nr.iotready.no/v1/upstream/#&amp;#34; python import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, rc): print(&amp;#34;Connected with result code &amp;#34;+str(rc)) client.subscribe(&amp;#34;v1/upstream/#&amp;#34;) def on_message(client, userdata, msg): print(msg.topic+&amp;#34; &amp;#34;+str(msg.payload)) client = mqtt.Client() client.</description>
    </item>
    <item>
      <title></title>
      <link>/messages/item/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/messages/item/</guid>
      <description> Name Type Description dev_id string state DeviceState Device state product string Product name. A unique identifier for same functionality variant string Product variant. Non-functional variations within same product hw_version string Hardware version firmwares FirmwaresEntry Firmware versions modem Modem Modem details sim SIM SIM details manufacturer string Manufacturer name packaging PackagingEntry Packaging associations prod_meta Struct Other production data test_results Struct Test results </description>
    </item>
  </channel>
</rss>
