You are logged in as {{user}}. {% if user != 'admin' %} You may not have sufficient permissions for the commands below unless you login as user admin. {% endif %}
{% else %}You are not logged in. This page will probably not render correctly.
{% endif %}In Igor terms, a device is something that Igor may send commands to. It exports some sort of service (for example using http or https) that Igor can contact. If something is a device as well as a sensor it will be listed amongst the devices here.
Name | Hostname | Type(s) | Entry | Status Entry | {% if hasCapabilitySupport %}Secret Shared keys | {% endif %}Actions | OP |
---|---|---|---|---|---|---|---|
{{name}} | {{hostName}} |
{% if device.get('deviceType') %}
{{device.deviceType}}
{% else %}
{% if device.get('isDevice') %}
Device {% endif %} {% if device.get('isSensor') %} Sensor {% endif %} {% if device.get('isPlugin') %} Plugin {% endif %} {% endif %} |
{% for ent in device.get('entry', []) %}
{{ent}} {% endfor %} |
{% for ent in device.get('status', []) %}
{{ent}} {% endfor %} |
{% if hasCapabilitySupport %}
{% if hasAudSecretKey %}
aud={{hostName}} {% endif %} {% if hasSubSecretKey %} sub={{hostName}} {% endif %} |
{% endif %}
{% for action in device.get('actions', []) %}
{% set actionName = igor.database.getValues(action+'/name', token=callerToken) %}
{% set actionNameDisplay = actionName[0][1] if actionName else action %}
{{actionNameDisplay}} {% endfor %} |
{% if hostName and igor.plugins.exists('iotsaDiscovery') %} {% endif %} {% if hasCapabilitySupport %} {% if hostName and device.get('isDevice') and not hasAudSecretKey %} {% endif %} {% if hostName and (device.get('isDevice') or device.get('isSensor')) and not hasSubSecretKey %} {% endif %} {% if device.get('isSensor') or device.get('isDevice') %} {% endif %} {% endif %} |
Add a new device or sensor to Igor:
Add a new iotsa-based device or sensor to Igor:
{% if hasCapabilitySupport %}A device that wants to contact Igor needs a shared secret key with itself (the device) as subject and Igor as the audience. This key is used by the device to sign the capability, and ensures to igor that the device is the right one.
A device to which Igor needs to send requests needs a shared key with the device as audience and either no subject or Igor itself as the subject. Igor will sign capabilities with this key, and the device can confirm that the request actually comes from Igor.
Igor has the following shared secret keys:
Issuer | Audience | Subject | OP |
---|---|---|---|
{{iss}} | {{aud}} | {{sub}} |