Skip to content
Stand with Ukraine flag

Device Profile Switch

Use this node to route messages from different types of devices to different processing paths — all within a single rule chain. When a message arrives, the node looks up the originator device’s profile name and routes the message via a connection whose label matches that name exactly. You define connection labels to match your profile names (e.g., Temperature Sensor, Smart Meter, HVAC Unit).

This node requires no configuration.

  1. Verify that the incoming message originator is a DEVICE. If not, route via Failure.
  2. Fetch the originator device’s profile from the database to get the profile name. If the device no longer exists, route via Failure.
  3. Route the message via the connection whose label exactly matches the profile name.
ConnectionCondition
(device profile name)Originator is a DEVICE and its profile was found.
FailureOriginator is not a DEVICE, the device profile was not found, or an unexpected error occurred.

Example 1 — Device with profile “Temperature Sensor” → Temperature Sensor

Section titled “Example 1 — Device with profile “Temperature Sensor” → Temperature Sensor”

The originator device exists and its profile name is Temperature Sensor. The node fetches the profile and routes via Temperature Sensor.


Example 2 — Originator is not a device → Failure

Section titled “Example 2 — Originator is not a device → Failure”

The originator entity type is CUSTOMER. The node cannot fetch a device profile for a non-device entity and routes via Failure.


Example 3 — Device deleted at processing time → Failure

Section titled “Example 3 — Device deleted at processing time → Failure”

The originator entity type is DEVICE but no device with that ID exists at the time of processing (e.g., it was deleted while the message was queued). The node cannot fetch the profile and routes via Failure.

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "EmptyNodeConfiguration",
"type": "object",
"properties": {},
"additionalProperties": false
}