MobiusFlow Docs
Main WebsiteRaise a Support Ticket
  • Welcome
  • What is MobiusFlow®?
  • 📖User Guides
    • MobiusFlow Manager
    • MobiusFlow Toolbox
    • Getting Started
      • Administration
      • Service and Object Configuration
      • Diagnostics and Service Control
      • Running MobiusFlow via Docker
    • Deploying MobiusFlow in MobiusFlow Cloud
    • Deploying MobiusFlow On-Prem
      • Deploying MobiusFlow to approved Hardware (Using BalenaCloud)
        • Creating a Fleet
        • Adding Your First Device
        • Deploy MobiusFlow to Your Fleet
        • Adding Your Licence
        • Installed Services
        • Device Variables
        • Configure Networks
      • Deploying MobiusFlow on Customer Servers / Cloud
    • MobiusFlow Connectors
      • Configuring MobiusFlow for use with Connectors
      • MobiusFlow Official Connector
        • Connection Details and LED Indicators
        • Configuring a Connector
          • Home Page
          • Configure Network Page
          • Manage Certificates Page
          • Configure MQTT Page
          • Set Config Mode Password Page
          • About Page
        • Factory Resetting a Connector
      • MobiusFlow Raspberry Pi Connector
        • Converting Raspberry Pi to a MobiusFlow Connector
        • Configuring Raspberry Pi Connector
    • Technical Training Guides
      • Technical Training 1
  • ⚙️Technical Docs
    • MobiusFlow Cloud Hosted Environment
    • MobiusFlow Basics
      • MobiusFlow Overview
      • MobiusFlow Architecture
      • MobiusFlow Uniform Resource Identifiers (URIs)
      • Security
        • MobiusFlow Internal Security
      • Backup and Restore
      • Ports and Endpoints
    • MobiusFlow Engine API
      • Authorization
      • Discover
      • Node
      • Service
      • Object
      • Profiles
      • Command
      • Flows
      • Subscription
      • Licence
    • MobiusFlow Services
      • DALI Lighting
        • DALI via AFDWeb MQTT
      • LoRaWAN Local Network Server
      • MobiusFlow Connectors
      • INGY Lighting
      • Object Store
      • EnOcean Devices
        • EnOcean Equipment Profiles (EEPs)
    • Flows
      • Connecting the Flows to MobiusFlow Engine
      • Data Transfer between Flows and MobiusFlow Engine
      • Further Data Transfer between Flows and MobiusFlow Engine
      • Receiving and Sending Raw EnOcean Telegrams
    • Licencing
      • Licensing (v1.19.1 and later)
  • Glossary
Powered by GitBook
On this page
  • MobiusFlow Inject
  • Config
  • Output
  • Get Multi-Object
  • Config
  • Input
  • Output
  • Get Multi-Resource
  • Config
  • Input
  • Output
  • Discover
  • Config
  • Input
  • Output
  • Discover Object List
  • Config
  • Input
  • Output
  • Filter By Rid Value
  • Config
  • Input
  • Output
  • Clear Resource
  • Config
  • Input
  • Output
Export as PDF
  1. Technical Docs
  2. Flows

Further Data Transfer between Flows and MobiusFlow Engine

This article explains how to use some of more advanced MobiusFlow nodes used for data transfer to and from the MobiusFlow Engine.

PreviousData Transfer between Flows and MobiusFlow EngineNextReceiving and Sending Raw EnOcean Telegrams

Last updated 4 months ago

Understanding the following articles is recommended before reading this article:

This article includes information on the following nodes:

Node
Function

Injects object information on object change of value. Based on user defined list of object subscriptions to COV (change of value) events. Defined as list of URIs (including wildcards)

Gets multiple objects based on a list of object URIs (no wildcards)

Gets multiple resources based on a list of resource URIs (no wildcards)

Returns a list of children of a given Hub, Service, Profile or Instance, specified by URI

Returns a list of objects based on a URI or URIs (including wildcards)

Returns a list of resources on a specified service filtered by applying a user defined filtering function on a specified RID of each object

Clears a resource value at a specified priority level

All nodes are part of the Node-RED package. All the nodes require a connection to the MobiusFlow Engine.

MobiusFlow Inject

The MobiusFlow inject node injects MobiusFlow objects into the flows based on when there is a change of value within that object. The object range the MobiusFlow inject node covers is specified as a list of included / excluded URIs or wildcard URIs.

Config

The node allows a list of subscriptions to be specified in the subscriptions table. These subscriptions tell the node which objects to subscribe to change of value events from. As such, this table is specified as a list of URIs or URI wildcards.

The add button at the bottom of the table can used to add more subscription rows

Each subscription can be specified as an include or an exclude. This will either include or exclude that subscription group from the object selection respectively.

In the config window screenshot above, the 1st subscription row is used to select everything on service 022. The 2nd subscription row is then used to exclude specifically instance 000001/022/000B/0001 from the selection.

Output

The flow below is used to demonstrate the out of the MobiusFlow inject node:

Following a COV event, the debug window showed the following output:

The full JSON response is copyable in the code block below:

{"pid":"0028","ins":"0002","profileName":"enocean_A5-09-04","description":"EnOcean temperature, humidity and CO2 sensor","resources":{"40":{"rid":"40","type":"number","pv":19.2,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,19.2,0],"name":"temperature","settings":{"access":"r","min":0,"max":51,"precision":1,"units":"C"},"config":{"access":"r","min":0,"max":51,"precision":1,"units":"C"}},"41":{"rid":"41","type":"number","pv":54.5,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,54.5,0],"name":"humidity","settings":{"access":"r","min":0,"max":100,"precision":1,"units":"%"},"config":{"access":"r","min":0,"max":100,"precision":1,"units":"%"}},"42":{"rid":"42","type":"number","pv":2550,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,2550,0],"name":"co2","settings":{"access":"r","min":0,"max":2550,"precision":0,"units":"ppm"},"config":{"access":"r","min":0,"max":2550,"precision":0,"units":"ppm"}},"43":{"rid":"43","type":"bool","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"name":"hasTemperatureSensor","settings":{"access":"r"},"config":{"access":"r"}},"44":{"rid":"44","type":"bool","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"name":"hasHumiditySensor","settings":{"access":"r"},"config":{"access":"r"}},"00":{"rid":"00","type":"string","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"name":"parentObject","settings":{"access":"rw","tags":{"attribute":"true"}},"config":{"access":"rw","tags":{"attribute":"true"}}},"01":{"rid":"01","type":"string","pv":"Air Quality Sensor 2","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Air Quality Sensor 2",""],"name":"name","settings":{"access":"r","tags":{"attribute":"true"}},"config":{"access":"r","tags":{"attribute":"true"},"pv":"Air Quality Sensor 2"}},"02":{"rid":"02","type":"datetime","pv":"2024-12-10T19:12:47.430Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-10T19:12:47.430Z","1970-01-01T00:00:00.000Z"],"name":"objectLastUpdated","settings":{"access":"r"},"config":{"access":"r"}},"03":{"rid":"03","type":"string","pv":"Air Quality Sensor","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Air Quality Sensor",""],"name":"description","settings":{"access":"r","tags":{"attribute":"true"}},"config":{"access":"r","tags":{"attribute":"true"},"pv":"Air Quality Sensor"}},"04":{"rid":"04","type":"string","pv":"MobiusFlow Studio Henley","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MobiusFlow Studio Henley",""],"name":"location","settings":{"access":"r","tags":{"attribute":"true"}},"config":{"access":"r","tags":{"attribute":"true"},"pv":"MobiusFlow Studio Henley"}},"0A":{"rid":"0A","type":"string","pv":"A5-09-04","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A5-09-04",""],"name":"eep","settings":{"access":"r","tags":{"attribute":"true"}},"config":{"access":"r","pv":"A5-09-04","tags":{"attribute":"true"}}},"0B":{"rid":"0B","type":"string","pv":"01879DE6","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"01879DE6",""],"name":"uid","settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}},"config":{"access":"r","maxlen":8,"tags":{"attribute":"true"},"pv":"01879DE6"}},"0C":{"rid":"0C","type":"number","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"name":"status","settings":{"access":"r"},"config":{"access":"r"}},"0D":{"rid":"0D","type":"number","pv":-77,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,-77,0],"name":"dBm","settings":{"access":"r","units":"dBm"},"config":{"access":"r","units":"dBm"}},"0E":{"rid":"0E","type":"bool","pv":true,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,true,false],"name":"lrn","settings":{"access":"r"},"config":{"access":"r"}}},"families":["EnOcean","CO2Sensor","HumiditySensor","TemperatureSensor"],"timestamp":"2024-12-10T19:12:47.431Z","changed":["02"]}

Get Multi-Object

The get Multi-Object node gets multiple objects based on a defined set of object URIs.

Config

The Get-Multi Object requires a list of object URIs to be specified within the objects table. Each row will point to a single object URI.

More URI rows can be added using the add button at the bottom left of the Objects table. The following screenshot shows an example node's config populated with 3 object URIs:

Input

Any input message can trigger the node.

Output

The node outputs an array of MobiusFlow objects. The following code block is a copyable JSON response example:

[{"pid":"FFC0","ins":"0001","profileName":"mobiusFlowConnector","description":"","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Elliot's Connector","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's Connector",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-11T17:07:49.628Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-11T17:07:49.628Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"EnOcean + WorkOcc connector for Elliot's house","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"EnOcean + WorkOcc connector for Elliot's house",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"Elliot's desk","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's desk",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"partNumber","pv":"EXT00112","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"EXT00112",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"serialNumber","pv":"MF_00BCC0","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MF_00BCC0",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0C","type":"string","name":"psk","pv":"elliotConnector","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"elliotConnector",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0D","type":"string","name":"firmwareVersion","pv":"3.2.1","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"3.2.1",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0E","type":"string","name":"module1Type","pv":"WorkOcc","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"WorkOcc",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0F","type":"string","name":"module2Type","pv":"EnOcean","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"EnOcean",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"10","type":"string","name":"enOceanChipID","pv":"FFC23F80","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"FFC23F80",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"11","type":"string","name":"macAddress","pv":"24:0A:C4:8A:C0:BF","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"24:0A:C4:8A:C0:BF",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"12","type":"string","name":"ipAddress","pv":"192.168.0.88","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"192.168.0.88",""],"settings":{"access":"r"}},{"rid":"13","type":"string","name":"subnetMask","pv":"255.255.255.0","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"255.255.255.0",""],"settings":{"access":"r"}},{"rid":"14","type":"string","name":"dnsAddress","pv":"194.168.4.100","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"194.168.4.100",""],"settings":{"access":"r"}},{"rid":"15","type":"string","name":"defaultGateway","pv":"192.168.0.1","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"192.168.0.1",""],"settings":{"access":"r"}},{"rid":"16","type":"string","name":"ssid","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r"}},{"rid":"17","type":"number","name":"rssi","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"18","type":"string","name":"bssid","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r"}},{"rid":"40","type":"bool","name":"online","pv":true,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,true,false],"settings":{"access":"r"}},{"rid":"41","type":"string","name":"uptime","pv":"2:04:19","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2:04:19",""],"settings":{"access":"r"}},{"rid":"42","type":"string","name":"lastEnOceanUID","pv":"002E236A","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"002E236A",""],"settings":{"access":"r"}},{"rid":"43","type":"string","name":"lastWorkOccUID","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r"}}],"families":[],"isFromConfig":1},{"pid":"0279","ins":"0001","profileName":"lorawan_MileSight_VS121_OccupancySensor","description":"LoRaWAN MileSight VS121 Occupancy Sensor","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-10T17:42:07.184Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-10T17:42:07.184Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"Occupancy sensor in Elliot's room","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Occupancy sensor in Elliot's room",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"Elliot's room","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's room",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eui","pv":"24E124600C124962","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"24E124600C124962",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"deviceName","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0C","type":"string","name":"applicationName","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0D","type":"string","name":"gatewayName","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0E","type":"string","name":"gatewayID","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0F","type":"number","name":"rssi","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","units":"dBm"}},{"rid":"10","type":"number","name":"loraSNR","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"20","type":"string","name":"appKey","pv":"5572404C696E6B4C6F52613230313823","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"5572404C696E6B4C6F52613230313823",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"21","type":"number","name":"enqueuedCount","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"precision":0}},{"rid":"40","type":"string","name":"protocolVersion","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r"}},{"rid":"41","type":"string","name":"serialNumber","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r"}},{"rid":"42","type":"string","name":"hardwareVersion","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r"}},{"rid":"43","type":"string","name":"firmwareVersion","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r"}},{"rid":"44","type":"number","name":"peopleCountAll","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"45","type":"number","name":"regionCount","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":16,"precision":0}},{"rid":"46","type":"number","name":"peopleIn","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"47","type":"number","name":"peopleOut","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"48","type":"number","name":"poepleCountMax","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"49","type":"number","name":"region1Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"4A","type":"number","name":"region2Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"4B","type":"number","name":"region3Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"4C","type":"number","name":"region4Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"4D","type":"number","name":"region5Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"4E","type":"number","name":"region6Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"4F","type":"number","name":"region7Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"50","type":"number","name":"region8Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"51","type":"number","name":"region9Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"52","type":"number","name":"region10Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"53","type":"number","name":"region11Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"54","type":"number","name":"region12Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"55","type":"number","name":"region13Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"56","type":"number","name":"region14Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"57","type":"number","name":"region15Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"58","type":"number","name":"region16Count","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":255,"precision":0}},{"rid":"59","type":"number","name":"flowAtoA","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"5A","type":"number","name":"flowAtoB","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"5B","type":"number","name":"flowAtoC","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"5C","type":"number","name":"flowAtoD","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"5D","type":"number","name":"flowBtoA","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"5E","type":"number","name":"flowBtoB","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"5F","type":"number","name":"flowBtoC","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"60","type":"number","name":"flowBtoD","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"61","type":"number","name":"flowCtoA","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"62","type":"number","name":"flowCtoB","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"63","type":"number","name":"flowCtoC","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"64","type":"number","name":"flowCtoD","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"65","type":"number","name":"flowDtoA","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"66","type":"number","name":"flowDtoB","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"67","type":"number","name":"flowDtoC","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}},{"rid":"68","type":"number","name":"flowDtoD","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":65536,"precision":0}}],"families":["LoRaWAN","OccupancySensor"],"isFromConfig":1},{"pid":"028B","ins":"0001","profileName":"ingy_dimmable_relay","description":"INGY Dimmable Relay","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Elliot's Lamp","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's Lamp",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-06T13:23:52.259Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-06T13:23:52.259Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"Elliot's Lamp","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's Lamp",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"Elliot's Room","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's Room",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"number","name":"nodeAddress","pv":337395361,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,337395361,0],"settings":{"access":"r","min":0,"max":4294967295,"precision":0,"tags":{"attribute":"true"}}},{"rid":"0B","type":"number","name":"partition","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":15,"precision":0,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"setGroup","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,0],"settings":{"access":"rw","min":0,"max":4294967295,"precision":0,"tags":{"attribute":"true","pv":0}}},{"rid":"0E","type":"bool","name":"autoQueryLevel","pv":true,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,true,false],"settings":{"access":"r"}},{"rid":"40","type":"number","name":"knownLevel","pv":100,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,100,0],"settings":{"access":"r","min":0,"max":100,"precision":0,"unit":"%"}},{"rid":"42","type":"number","name":"knownGroupMembership","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":4294967295,"precision":0}},{"rid":"43","type":"number","name":"activePower","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":5000,"precision":0,"unit":"W"}},{"rid":"44","type":"bool","name":"relayState","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"rw"}},{"rid":"4E","type":"bool","name":"sendRegroup","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"rw"}}],"families":["INGY","Luminaire"],"isFromConfig":1}]

Get Multi-Resource

The get Multi-Resource node returns multiple resources based on a specified set of resource URIs.

Config

The node requires of one or more resource URIs to be defined in the resources table.

The use of URI Wildcards is NOT valid here.

Additionally, the send property allows control of how the resources are outputted.

Input

Any input message can trigger the node.

Output

The format of outputted resources can be switched between simply showing the resource values, or including the resources name and URI with each resource. Example JSON outputs are as follows:

PV (present value) Only

Simple array of PVs, one for each resource defined in the nodes config:

["059663D1",0,"Elliot's Lamp"]

PV, Name & URI

Object keyed by URI, one key for each resource defined in the node's config. Each containing resources PV and name:

{"000001/025/0028/0002/0B":{"pv":"059663D1","name":"uid"},"000001/026/028A/0001/41":{"pv":0,"name":"sceneSetting"},"000001/026/028B/0001/03":{"pv":"Elliot's Lamp","name":"description"}}

Discover

The discover node returns a list of children of a given Hub, Service, Profile or Instance, specified by URI. The following table shows the return type based on which level the URI is specified to.

URI Level
Example URI
Return Type

Hub

000001

List of service of the specified hub

Service

000001/022

List of profiles on the specified service

Profile

000001/022/000B

List of instances on the specified profile

Instance

000001/022/000B/0001

The specified instances and all its resources

Config

The node allows the discovery URI to be specified via the configuration window.

Specifying the discovery URI within the configuration window is not required. This is because it is also possible to specify the discovery URI dynamically via the input topic. If a valid URI is found in both the input topic and the node's configuration, the node's configuration takes precedence.

Input

Any input message can trigger the node. It also possible to define the discovery URI in the topic of the input message. This allows the discovery URI to be dynamically changed. If a valid URI is found in both the input topic, and the node's configuration, the node's configuration takes precedence.

Output

The output type of the discover node varies depending on which level the discovery is made. For all types, the data is packaged within data sub property of the response property of the output payload. See the following screenshot as an example:

Here are example copyable JSON responses at all discovery levels:

Hub

{"error":false,"response":{"ts":"2024-12-11T13:13:24.325Z","uri":"000001/022","data":["0001","000B","0028","002E","0030"]}}

Service

{"error":false,"response":{"ts":"2024-12-11T13:05:27.824Z","uri":"000001/022","data":["0001","000B","0028","002E","0030"]}}

Profile

{"error":false,"response":{"ts":"2024-12-11T13:16:06.751Z","uri":"000001/022/000B","data":["0001","0002"]}}

Instance

{"error":false,"response":{"ts":"2024-12-11T13:16:46.213Z","uri":"000001/022/000B/0001","data":[{"pid":"000B","ins":"0001","profileName":"enocean_F6-02-XX","description":"EnOcean 4 way switch","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Elliot's Switch","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's Switch",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-11T11:13:34.964Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-11T11:13:34.964Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"Elliot House","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot House",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"F6-02-XX","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"F6-02-XX",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"002E236A","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"002E236A",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":32,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,32,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":-49,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,-49,0],"settings":{"access":"r","units":"dBm"}},{"rid":"40","type":"bool","name":"button_A0","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"41","type":"bool","name":"button_AI","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"42","type":"bool","name":"button_B0","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"43","type":"bool","name":"button_BI","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"44","type":"bool","name":"bowPushed","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}}],"families":["EnOcean","Switch"],"isFromConfig":1}]}}

Discover Object List

The discover object list node returns a list of MobiusFlow objects based on a URI or URIs (including wildcards).

Config

The node takes the following config properties:

Configuration Field
Explanation

HID

The MobiusFlow hub to discover on (in most cases 000001).

Output

Controls if the output should be MobiusFlow objects or just the URIs of the objects.

Send

Decides if the output is sent as an array packaged in one message or a set of individual messages.

Discover

Allows listing of the discovery URIs. If URIs are specified to hub, service or profile level, URI wildcarding should be used e.g. 000001/#. Each URI can be specified as an include or an exclude. This will either include or exclude that URI group from the object selection respectively.

Input

The node can be triggered by any input message.

Output

Depending on the setting of the output property in the node's configuration, the node will either send whole MobiusFlow objects, or just their URIs. Below are copyable example JSON responses in both cases, based on the following example:

URIs

["000001/022/0001/0001","000001/022/000B/0001","000001/022/000B/0002","000001/022/0028/0001","000001/022/0028/0002","000001/022/0028/0003","000001/022/002E/0001","000001/022/0030/0001"]

MobiusFlow Objects

[{"pid":"0001","ins":"0001","profileName":"serviceStatus","description":"","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"enum","name":"status","pv":"OK","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"OK","UNKNOWN"],"settings":{"access":"r","enum":{"Unknown":-1,"Fault":0,"OK":1}}},{"rid":"02","type":"string","name":"statusText","pv":"Listening for EnOcean devices","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Listening for EnOcean devices",""],"settings":{"access":"r"}},{"rid":"03","type":"datetime","name":"lastChanged","pv":"2024-11-18T17:43:47.609Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-11-18T17:43:47.609Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}}],"families":[],"isFromConfig":0,"uri":"000001/022/0001/0001"},{"pid":"000B","ins":"0001","profileName":"enocean_F6-02-XX","description":"EnOcean 4 way switch","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Elliot's Switch","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot's Switch",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-11T11:13:34.964Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-11T11:13:34.964Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"Elliot House","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Elliot House",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"F6-02-XX","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"F6-02-XX",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"002E236A","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"002E236A",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":32,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,32,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":-49,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,-49,0],"settings":{"access":"r","units":"dBm"}},{"rid":"40","type":"bool","name":"button_A0","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"41","type":"bool","name":"button_AI","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"42","type":"bool","name":"button_B0","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"43","type":"bool","name":"button_BI","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"44","type":"bool","name":"bowPushed","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}}],"families":["EnOcean","Switch"],"isFromConfig":1,"uri":"000001/022/000B/0001"},{"pid":"000B","ins":"0002","profileName":"enocean_F6-02-XX","description":"EnOcean 4 way switch","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Office Blue Switch","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Office Blue Switch",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"1970-01-01T00:00:00.000Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1970-01-01T00:00:00.000Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"MF Office","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MF Office",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"F6-02-XX","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"F6-02-XX",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"0031C26E","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0031C26E",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","units":"dBm"}},{"rid":"40","type":"bool","name":"button_A0","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"41","type":"bool","name":"button_AI","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"42","type":"bool","name":"button_B0","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"43","type":"bool","name":"button_BI","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"44","type":"bool","name":"bowPushed","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}}],"families":["EnOcean","Switch"],"isFromConfig":1,"uri":"000001/022/000B/0002"},{"pid":"0028","ins":"0001","profileName":"enocean_A5-09-04","description":"EnOcean temperature, humidity and CO2 sensor","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Air Quality Sensor 1","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Air Quality Sensor 1",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-11T14:38:09.169Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-11T14:38:09.169Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"Air Quality Sensor","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Air Quality Sensor",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"MobiusFlow Office Henley","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MobiusFlow Office Henley",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"A5-09-04","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A5-09-04",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"018C18E9","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"018C18E9",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":-79,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,-79,0],"settings":{"access":"r","units":"dBm"}},{"rid":"0E","type":"bool","name":"lrn","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"40","type":"number","name":"temperature","pv":19.2,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,19.2,0],"settings":{"access":"r","min":0,"max":51,"precision":1,"units":"C"}},{"rid":"41","type":"number","name":"humidity","pv":56.5,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,56.5,0],"settings":{"access":"r","min":0,"max":100,"precision":1,"units":"%"}},{"rid":"42","type":"number","name":"co2","pv":1910,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,1910,0],"settings":{"access":"r","min":0,"max":2550,"precision":0,"units":"ppm"}},{"rid":"43","type":"bool","name":"hasTemperatureSensor","pv":true,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,true,false],"settings":{"access":"r"}},{"rid":"44","type":"bool","name":"hasHumiditySensor","pv":true,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,true,false],"settings":{"access":"r"}}],"families":["EnOcean","CO2Sensor","HumiditySensor","TemperatureSensor"],"isFromConfig":1,"uri":"000001/022/0028/0001"},{"pid":"0028","ins":"0002","profileName":"enocean_A5-09-04","description":"EnOcean temperature, humidity and CO2 sensor","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Air Quality Sensor 2","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Air Quality Sensor 2",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-11T14:31:23.591Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-11T14:31:23.591Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"Air Quality Sensor","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Air Quality Sensor",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"MobiusFlow Studio Henley","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MobiusFlow Studio Henley",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"A5-09-04","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A5-09-04",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"01879DE6","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"01879DE6",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":-77,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,-77,0],"settings":{"access":"r","units":"dBm"}},{"rid":"0E","type":"bool","name":"lrn","pv":true,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,true,false],"settings":{"access":"r"}},{"rid":"40","type":"number","name":"temperature","pv":19.2,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,19.2,0],"settings":{"access":"r","min":0,"max":51,"precision":1,"units":"C"}},{"rid":"41","type":"number","name":"humidity","pv":56,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,56,0],"settings":{"access":"r","min":0,"max":100,"precision":1,"units":"%"}},{"rid":"42","type":"number","name":"co2","pv":2550,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,2550,0],"settings":{"access":"r","min":0,"max":2550,"precision":0,"units":"ppm"}},{"rid":"43","type":"bool","name":"hasTemperatureSensor","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"44","type":"bool","name":"hasHumiditySensor","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}}],"families":["EnOcean","CO2Sensor","HumiditySensor","TemperatureSensor"],"isFromConfig":1,"uri":"000001/022/0028/0002"},{"pid":"0028","ins":"0003","profileName":"enocean_A5-09-04","description":"EnOcean temperature, humidity and CO2 sensor","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"1970-01-01T00:00:00.000Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"1970-01-01T00:00:00.000Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"Air Quality Sensor","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Air Quality Sensor",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"MobiusFlow Office Henley","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MobiusFlow Office Henley",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"A5-09-04","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A5-09-04",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"018C18E7","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"018C18E7",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","units":"dBm"}},{"rid":"0E","type":"bool","name":"lrn","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"40","type":"number","name":"temperature","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":51,"precision":1,"units":"C"}},{"rid":"41","type":"number","name":"humidity","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":100,"precision":1,"units":"%"}},{"rid":"42","type":"number","name":"co2","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r","min":0,"max":2550,"precision":0,"units":"ppm"}},{"rid":"43","type":"bool","name":"hasTemperatureSensor","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"44","type":"bool","name":"hasHumiditySensor","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}}],"families":["EnOcean","CO2Sensor","HumiditySensor","TemperatureSensor"],"isFromConfig":1,"uri":"000001/022/0028/0003"},{"pid":"002E","ins":"0001","profileName":"enocean_A5-07-01","description":"EnOcean occupancy sensor","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Occupancy Sensor","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Occupancy Sensor",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-08T02:51:34.061Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-08T02:51:34.061Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"Occupancy Sensor","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Occupancy Sensor",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"MobiusFlow Office Henley","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MobiusFlow Office Henley",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"A5-07-01","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A5-07-01",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"01A90FC7","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"01A90FC7",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":-74,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,-74,0],"settings":{"access":"r","units":"dBm"}},{"rid":"0E","type":"bool","name":"lrn","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"40","type":"bool","name":"occupancy","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"41","type":"bool","name":"supplyVoltageAvailable","pv":true,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,true,false],"settings":{"access":"r"}},{"rid":"42","type":"number","name":"supplyVoltage","pv":3.1,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,3.1,0],"settings":{"access":"r","min":0,"max":5,"precision":1,"units":"V"}}],"families":["EnOcean","OccupancySensor"],"isFromConfig":1,"uri":"000001/022/002E/0001"},{"pid":"0030","ins":"0001","profileName":"enocean_A5-07-03","description":"EnOcean occupancy and lux sensor","resources":[{"rid":"00","type":"string","name":"parentObject","pv":"","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"",""],"settings":{"access":"rw","tags":{"attribute":"true"}}},{"rid":"01","type":"string","name":"name","pv":"Occupancy Sensor 2","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"Occupancy Sensor 2",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"02","type":"datetime","name":"objectLastUpdated","pv":"2024-12-11T14:11:01.819Z","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"2024-12-11T14:11:01.819Z","1970-01-01T00:00:00.000Z"],"settings":{"access":"r"}},{"rid":"03","type":"string","name":"description","pv":"PIR Motion Sensor","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"PIR Motion Sensor",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"04","type":"string","name":"location","pv":"MobiusFlow Office Henley","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"MobiusFlow Office Henley",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0A","type":"string","name":"eep","pv":"A5-07-03","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"A5-07-03",""],"settings":{"access":"r","tags":{"attribute":"true"}}},{"rid":"0B","type":"string","name":"uid","pv":"018AFE2B","prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,"018AFE2B",""],"settings":{"access":"r","maxlen":8,"tags":{"attribute":"true"}}},{"rid":"0C","type":"number","name":"status","pv":0,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0],"settings":{"access":"r"}},{"rid":"0D","type":"number","name":"dBm","pv":-82,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,-82,0],"settings":{"access":"r","units":"dBm"}},{"rid":"0E","type":"bool","name":"lrn","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"40","type":"bool","name":"occupancy","pv":false,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,false,false],"settings":{"access":"r"}},{"rid":"41","type":"number","name":"lux","pv":7,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,7,0],"settings":{"access":"r","min":0,"max":1000,"precision":1,"units":"lx"}},{"rid":"42","type":"number","name":"supplyVoltage","pv":3,"prar":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,3,0],"settings":{"access":"r","min":0,"max":5,"precision":1,"units":"V"}}],"families":["EnOcean","OccupancySensor","LightSensor"],"isFromConfig":1,"uri":"000001/022/0030/0001"}]

The node type also allows the output to be in the form of a single message, or a message for each discovered object. This is controlled by the send configuration property. The screenshots below show this action via use of the following flow:

Single Message (Array format)

Multiple Messages (Individual format)

Filter By Rid Value

The Filter By Rid Value node returns a list of object URIs on a specified service, filtered by a user defined filtering function. This filtering function is applied to a user specified resource on each object and is written in Javascript.

Config

The node takes the following configuration properties:

Configuration Field
Explanation

URI

URI of the MobiusFlow service to search in (HID/SID)

PIDs

An JSON array of profile IDs the search will cover. Suppose IDs 0258 and 0259 were to be covered, this field would be written as ["0258", "0259"].

RID

The resource ID of the resource on each object the filtering function will evaluate.

Limit

Maximum number of results to return from search.

Function

Filtering function written in Javascript taking a parameter v, representing the value to apply the filtering function to.

Input

The node is triggered via any input message.

Output

The node will return a list of resources matching the criteria specified in the configuration.

The following is a simple flow to trigger the Filter By Rid Value node and display the output in the debug window.

In this example, the config of the Filter By Rid Value node is set to the following:

The filtering function is also shown in the following code block:

(v) => {
    return v > 0;
}

The node has been setup to search on MobiusFlow Hub 000001, service 02A. The search has been specified to only cover PID 0201. Resource 40 has been selected as the resource to which the filtering function will be applied.

In this example, the filtering functional itself has been coded to return a true result if the resource's value is greater than 0.

Triggering flow yields the following in the debug panel:

The results is the URIs of the objects which passed the filtering function when applied to resource 40 on each object.

Clear Resource

The clear resource node clears the value of a resource at a specified priority.

Config

The node takes the following configuration:

Configuration Field
Explanation

URI

URI of resource value to be cleared. This can left blank because this can also by specified in the input topic.

Priority

Priority level within priority array to be cleared, default 15. (If you do not understand this leave this at 15)

Input

The node is triggered via any input message. The URI of the resource to be cleared can be specified in the topic of the input message. This allows the target resource of the node to become dynamic.

If the target URI is defined both in the node config and the topic of the input message, the node will use URI specified in the config.

Output

Following the use of this node, the node will output the new value of the resource. If priority 15 was cleared, this will likely be the falling back value residing in priority slot 16.

The use of URI Wildcards is NOT valid here. For this feature, consider using the node

⚙️
Discover Object List
MobiusFlow Inject
Get Multi-Object
Get Multi-Resource
Discover
Discover Object List
Filter By Rid Value
Clear Resource
MobiusFlow Architecture
MobiusFlow URIs
Connecting Flows to MobiusFlow Engine
Data Transfer between Flows and MobiusFlow Engine
node-red-contrib-mobiusflow-base
Config window of MobiusFlow Inject with some populated subscriptions
Config window of the Get-Multi Object node
Example populated config window of Get Multi-Object Node
Config window for the Get Multi-Resource node
Config window of Discover node
Example discover response at service level
Config window of Discover Object List node
000001/022/# wildcard URI used as discovery URI
Example flow to show responses from Discover Object List node in debug window
Config window Filter By Rid Value node
Example configuration of the Filter By Rid Value node
Config window for the Clear Resource node