New: the AI firewall watches every module and explains each incident in plain words. See how it works

Device profiles

Every section and field of a device profile – transport, logins, topics, online rule, limits, keys, provisioning – with defaults and delete rules.

A device profile describes how one kind of device behaves. Every device uses exactly one profile. Change the profile, and every device of it follows. Create one profile per kind of device: a profile per sensor model, per firmware family, or per security need (for example one TLS profile and one for old devices that cannot do TLS).

Open profiles in Device Profiles in the IoT menu. Viewing needs the User role; changing needs Admin. The provisioning strategy and keys need the separate permission to manage provisioning (administrators).

The profiles list

The list shows Name, Transport, Online rule, Devices (the count updates every 30 s) and Updated, with badges for Default, Built-in and Platform template. Search by name and filter by transport and online rule.

To create a profile, select New profile, enter a Name, a Description and the Transport, and select Create profile. Limits, topics and logins start from the protocol defaults; you change them on the profile page. You must choose an online rule before the profile can be saved.

The default profile

Each organisation has exactly one default profile. Hermetry creates a profile named Default the first time it needs one. It uses:

  • the Live connection online rule,
  • the default topic scheme,
  • access-token login only,
  • the protocol’s standard limits,
  • provisioning Disabled,
  • TLS only (port 8883).

Your first own profile also becomes the default. To make another profile the default, open it and select Make default. New devices that name no profile get the default one.

Built-in profiles

Some protocols come with a built-in profile, marked Built-in profile. Hermetry creates it the first time it is needed:

Built-in profileUsed by
LoRaWAN EU868 Class A OTAA (1.0.3)LoRaWAN sensors added with New device > LoRaWAN device
LoRaWAN gatewayBasics Station gateways
The camera protocol’s profileCameras and recorders of that protocol

A built-in profile keeps its transport (“A built-in profile keeps its transport: devices of its protocol are registered with it.”) and cannot be deleted. Everything else on it is editable, and you may rename it.

Profiles from a template

A licensed device that you claim gets a copy of its model’s profile, made from a platform template. The profile header says which template and version it came from, and some fields show from template. Such a profile accepts X.509 certificates only (“This profile accepts X.509 certificates only”). Provisioning stays Disabled on a copy.

Profile sections

TabWhat you set
GeneralName (1 to 128 characters, unique in your organisation), Description (up to 2,000 characters). Shows when the profile was created and last changed, its ID, and what uses it (In use).
Transport & authTransport, allowed logins, plain MQTT, token in the URL, allowed networks, commands allowed without TLS, topic schemes, custom topics.
Online statusHow Hermetry decides that a device is online.
LimitsRate limits, payload sizes, the in-flight window, inactivity, gateway children, the default command timeout.
Telemetry keysThe keys the devices send, with labels, units, decimals and ranges.
Configuration keysThe cfg.* keys you may set on the devices.
ProvisioningHow devices without credentials register themselves.

Other modules add tabs: Alarm rules, Commands, Firmware, LoRaWAN (LoRaWAN profiles) and SNMP (SNMP profiles).

Transport & auth

Transport

TransportDevices
MQTTConnect over MQTT.
HTTPSend over HTTPS only.
MQTT and HTTPEither.
LoRaWANJoin through the Hermetry LoRaWAN network server. They do not log in themselves.
A polling protocolAre polled by the platform through an endpoint (SNMP agents, cameras, recorders). The MQTT, token and network settings do not apply.

Changing the transport never changes the online rule; a rule the transport cannot use blocks saving.

Allowed authentication (at least one): Access token, MQTT basic (username and password), X.509 certificate. See Device credentials.

Transport security

SettingDefaultEffect
Plain MQTTTLS only (port 8883)A device that logs in on the plain port 1883 is refused. Switching a profile to TLS only ends its devices’ plain sessions at once. Plain MQTT allowed (port 1883) is for devices that cannot do TLS.
Token in the URL (devices that cannot send headers)OffAllows POST /api/v1/{token}/telemetry and /attributes. Such a profile becomes HTTP-only: every MQTT login of its devices is refused.
Allowed networksEmpty (any network)Up to 64 IPv4 or IPv6 networks (203.0.113.0/24) or single addresses. Devices outside them are refused (MQTT CONNACK 5, HTTP 403).
Commands allowed without TLSEmptyUp to 32 exact command names a device may receive over a session in clear. Every other command waits for a TLS session.

Warning

Only list commands without TLS whose misuse is harmless, such as sys.info or sys.ping. Never list sys.reboot, ota.check or cert.renew. Firmware updates and device settings are never sent in clear, and a factory reset is never sent at all.

Topic schemes (at least one):

SchemeTopics
The default schemev1/telemetry, v1/attributes, v1/rpc/… and the rest of the default set. Unknown v1/… topics are rejected.
Legacy compatiblev1/devices/me/telemetry and v1/devices/me/attributes only, for existing firmware: no commands, claiming, provisioning or gateway topics.

With both on, old and new firmware share one profile; downlinks follow what each device subscribed to.

Custom topics (Accept topics outside v1/ as telemetry): any topic outside v1/ is accepted as telemetry. A JSON object becomes keys; anything else becomes one size-capped raw key.

FieldDefaultRange
Prefix keys with the topicOff: when the same key arrives on two topics, the last write wins—
Max topic depth (levels)81 to 16
Max topic length (characters)12816 to 256
Distinct topics per device501 to 1,000
Max raw payload (bytes)4,096256 to 65,536, never above the payload cap

Online status

RuleA device is online when
Live connectionIt holds its MQTT connection. Recommended for devices that keep MQTT open.
Recent messageIts last message is younger than Expected interval (seconds) × Factor. The page shows “Shown offline after … without a message.”
Last seen onlyNever shown as online or offline. Lists show when it was last seen.

Expected interval is 60 to 604,800 seconds and required for Recent message. Factor is 1.5 to 10 (one decimal), 3 by default. HTTP and LoRaWAN devices hold no connection, so Live connection is not offered for them; polled devices use Last seen only. See Connection status and activity.

Limits

Rate limits use the form count:seconds; several windows apply together, each longer than the one before (at most 4 per family, a count of 1 to 1,000,000 over 1 second to 1 day). Protocol default puts a family back.

FamilyDefault
Telemetry messages10:1,300:60
Telemetry points200:1,6000:60
Attribute updates5:1,60:60
Attribute requests5:1,60:60
RPC messages5:1,60:60
Certificate requests1:3600
Connects6:60

Hermetry applies the telemetry messages, telemetry points and attribute updates limits to each device. Over a limit, the message is acknowledged and dropped. Owners and administrators get one notice per device per hour. Each device receives its effective limits in the shared attribute session_limits.

FieldDefaultRange
Replay messages per secondEmpty: half the per-second telemetry count1 to 10,000
Max message payload (bytes)65,5361,024 to 65,536
Max downlink payload (bytes)65,5361,024 to 65,536
Max unacknowledged messages (MQTT)201 to 1,000
Inactivity timeout (seconds)60010 to 604,800. A device that sends nothing this long is inactive (not the same as offline).
Max children of a gateway5000 to 10,000
Profile of new childrenGeneric child profileAny profile; used when the gateway names no type
Default RPC timeout (seconds)101 to 300

Telemetry keys

List the keys the devices send (up to 500). Each key has a Type (Number, Whole number, Yes / no, Text, JSON) and optionally a Unit (up to 32 characters), Label (up to 128), Min, Max and Decimals (0 to 10). Dashboards use them: a gauge takes the range as its default scale. Keys follow the key rules: up to 64 characters from A–Z a–z 0–9 _ . -, and not starting with _, fw_, current_fw_ or cfg..

Keys that are not listed are still stored. Refuse keys that are not listed is stored but not applied yet; the page says so.

When you remove or rename keys, the profile shows Removed keys are still in use with the alarm rules and other readers that read them, and offers Update them to the new names or Keep.

Configuration keys

The cfg.* keys a device accepts as shared attributes, each with a type, label and limits: Min, Max, Allowed values (up to 100), Min length and Max length, and Secret (write-only). Configuration drift (Report differences or Enforce) is stored but not applied yet. See Attributes.

Provisioning

The strategy (Disabled, Allow creating new devices, Only pre-provisioned devices) and the provisioning keys. See Adding and claiming devices.

Saving changes

  • Save changes sends only the fields you changed; Discard drops them. Your changes stay in the form while you switch tabs.
  • Saving changes to transport, logins, networks, topic schemes or limits of a profile in use asks Change how the devices of … connect?: live sessions that no longer qualify end now. Select Save and apply.
  • If someone else saved the profile after you opened it, your save is refused: “Someone else saved this profile after you opened it.” Use Reload profile.

Duplicate and delete

  • Duplicate profile makes “a new profile with every setting of this one; provisioning starts off and no key is copied”, named <name> (copy).
  • Delete profile is refused for the default profile (“make another profile the default first”), a built-in profile, a platform template, and a profile that devices, alarm rules or commands still use (“Still used by …: move or remove them first.”).