79
Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Nube IO Rubix Wires  

Node Manual 

Rubix Wires User Guide - Rev 1.1.4 | 1 

Page 2: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

1. Introduction 8 1.1 Document Availability 8 1.2 Document Change Log 8 1.3 Abbreviation Terms and Definitions 8 

2. Overview 9 

3. Node User Manual 10 Boolean 10 

And 10 Or 10 Xor 10 Not 10 Toggle 11 One-Shot 11 Min-On-Off 12 On-Delay 13 Off-Delay 14 Ticker 14 

Compare 15 Equal 15 Greater-Than 15 Less-Than 15 Between 15 Hysteresis 16 Type-Check 16 

Connection 16 Link-Transmitter 17 Link-Receiver 17 

Container 18 Folder 18 Folder-Input 19 Folder-Output 19 

Count 20 Any-Event-Counter 20 Counter 20 Triggered-Ramp 20 Interval-Ramp 20 Waveform 21 

CSV 21 CSV-Merge-Rows 22 Counter 22 

Rubix Wires User Guide - Rev 1.1.4 | 2 

Page 3: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Dashboard 22 Button 23 Progress 23 Slider 23 Switch 24 Text-Box 24 Log 24 Chart 25 

Filter 26 Only-True 26 Only-False 26 Only-Between 26 Only-Greater 26 Only-Lower 26 Only-Equal 27 Prevent-Null 27 Prevent-Equal 27 Prevent-Duplicates 27 

History 27 Data-Store 28 History 28 

HVAC 1 Deadband 30 Thermostat 30 PID 31 Psychometrics 32 Energy-Conversion 32 Power-Conversion 32 Volume-Conversion 33 Temperature-Conversion 33 Atmospheric-Pressure 33 Pressure-Conversion 33 

Latch 33 Bool-Latch 34 Num-Latch 34 String-Latch 34 Set-Reset 35 

Math 36 Add 36 Subtract 36 Multiply 36 Divide 36 

Rubix Wires User Guide - Rev 1.1.4 | 3 

Page 4: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Absolute 36 Modulus 36 Power 37 

Math-Advanced 38 Acos 1 Asin 38 Atan 38 Cbrt 38 Cos 38 Exp 38 Log 39 Log-10 39 Sin 39 Sqrt 39 Tan 39 

Math-Trigger 40 Trigger-Add 40 Trigger-Subtract 40 Trigger-Multiply 40 Trigger-Divide 40 Trigger-Modulus 40 Trigger-Power 41 

Nube 41 LORA-Sensor-Decoder 42 

Num-Transform 43 Round 43 Floor 43 Ceil 43 Limit 44 Scale 45 Linear Shaper 46 Fade 47 Rate-Limit 47 

Point 47 Bool-Constant 48 Num-Constant 48 String-Constant 48 Bool-Writable 48 Num-Writable 48 String-Writable 49 

Protocols/Misc 50 Email 50 

Rubix Wires User Guide - Rev 1.1.4 | 4 

Page 5: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Serial-Connector 50 Protocols/Nube 51 

Edge28-Network 51 Edge28-Input 52 Edge28-Output 52 

Protocols/BACnet 53 BACnet-Network 53 BACnet-Device 54 BACnet-Point 55 

Protocols/BACnet-Server 56 BACnet-Server 56 BACnet-Server-Point 57 

Protocols/Modbus 58 Modbus-Server 58 Modbus-Client-Read 58 Modbus-Client-Write 58 

Protocols/MQTT 59 MQTT-Client 59 MQTT-Network 59 MQTT-Point-Write 60 MQTT-Point-Read 61 

Schedule 62 Schedule-Checker 62 

Statistics 63 Min-Max-Avg 63 Avg 63 Min 63 Max 63 Sum 63 Median 64 Range 64 Rank 64 Stats-All 65 

Stream 66 String-Average 66 Stream-Highest 66 Stream-Lowest 66 Stream-Sum 66 Gate 66 Stack 66 Queue 67 Stream Delay 67 

Rubix Wires User Guide - Rev 1.1.4 | 5 

Page 6: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Stream Delay-Meter 67 Frequency-Meter 67 Stream-Merge 68 

String 68 String-Length 69 Char-To-Ascii 69 Ascii-To-Char 69 Char-At-Index 69 Substring-Cut 69 String-Split 70 String-Compare 70 String-Join 70 String-Case 70 String-Index-Of 70 

Switch 70 Bool-Switch 71 Num-Switch 71 String-Switch 71 Bool-Select 71 Num-Select 72 String-Select 72 Bool-Output-Select 72 Num-Output-Select 72 String-Output-Select 72 

System 72 Platform 73 System-Info 73 Beep 73 Execute-Cmd 74 Network-Interfaces 75 Network-Interfaces-Edge28 76 

Time 1 Conversion 77 Clock 77 Date 77 Stopwatch 77 Cron-Interval 78 Cron-Weekly 78 

Trigger 78 Change-Of Value 79 Random 79 Interval-inject 79 

Rubix Wires User Guide - Rev 1.1.4 | 6 

Page 7: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Iterator 79 

 

1. Introduction The purpose of this document is to provide a guide to using Nube iO’s commissioning                             software, Rubix Wires.    Please note that nodes which are not listed/described in this document are still under                           development. Using these nodes is not advised. If you require a node that is not included in                                 this manual, please contact Nube to check on the status of the node development. 

1.1 Document Availability Please email support to request a copy [email protected] 

1.2 Document Change Log Version Number Issue Date Description

1.0 Nov 2019 Draft

1.1.4 July 2020 Issued for Preliminary Use, Review, and Training. Feedback is welcome.

1.3 Abbreviation Terms and Definitions

Name/Code Explanation External Reference

Edge Gateway / Device Edge Gateway Link

GCP Google Cloud Platform Link

Edge Edge computing is a distributed computing paradigm Link

IO (Input/Output) Communication process between a Computer or device Link

VPN A virtual private network (VPN) extends a private network across a public network Link

Nube Translates cloud in spanish

BACnet BACnet is a building automation protocol Link

Rubix Wires User Guide - Rev 1.1.4 | 7 

Page 8: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

MQTT A lightweight messaging protocol for small sensors Link

Modbus Modbus is a building automation protocol Link

Zigbee ZigBee is a smart office/home protocol Link

NB-IoT Low Power Wide Area Network (LPWAN) radio technology Link

LoRa LoRa is a long range, low power wireless chipset and protocol Link

LoRaWan LoRaWan is the network layer on LoRa Link

Haystack Standardize semantic data models for IoT data Link

API Application programming interface Link

2. Overview Rubix Wires is a simple and easy to use BMS programming tool. Key features include:  

● Flow based real-time program editor. ● Drag and drop style. ● Web-based. ● Intuitive UI. ● Similar to other well known BMS commissioning interfaces. ● No downloads or uploads required. 

   

Rubix Wires User Guide - Rev 1.1.4 | 8 

Page 9: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

3. Node User Manual In this section we describe the functions of each node. Nodes are grouped by their categories, and categories are listed alphabetically.

Boolean And

Performs a logical 'AND' operation (output 'true' when ALL inputs are 'true'). You can specify the number of inputs in the node settings.

Or

Performs a logical 'OR' operation (output 'true' when ANY input is 'true'). You can specify the number of inputs in the node settings.

Xor

Performs a logical 'XOR' operation (output 'true' when EITHER input is 'true', but not both). Limited to only 2 inputs.

Not

Performs a logical 'NOT' operation (output will be the inverse of the input).

Rubix Wires User Guide - Rev 1.1.4 | 9 

Page 10: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Toggle

When the 'input' transitions from 'false' to 'true', 'output' will switch between 'false'/'true'. (See Figure A.)

One-Shot

Triggers ‘output’ to 'true' for 'interval' duration when 'trigger' input transitions from 'false' to 'true. Output is reset to 'false' when 'reset' transitions from 'false' to 'true. 'interval' units can be configured from settings. Maximum ‘interval’ setting is 587 hours. ‘remaining’ is the number of milliseconds left until ‘output’ changes to ‘false’. (See Figure A.)

Rubix Wires User Guide - Rev 1.1.4 | 10 

Page 11: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Min-On-Off

‘output’ matches ‘input’ but is delayed by the 'minOn' and 'minOff' durations. ‘output’ will remain 'true' for 'minOn' duration then match the ‘input’ value. ‘output’ will remain 'false' for 'minOff' duration then match the ‘input’ value. 'minOn' and 'minOff' delays are cancelled when 'reset' transitions from 'false' to 'true. ‘minOn active’ is ‘true’ during ‘minOn’ periods. ‘minOff active’ is ‘true’ during ‘minOff’ periods. 'minOn' and 'minOff' units can be configured from settings. Maximum ‘minOn’ and ‘'minOff'’ setting is 587 hours. (See Figure A.)

Rubix Wires User Guide - Rev 1.1.4 | 11 

Page 12: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

On-Delay

‘output’ matches ‘input’, but ‘output’ transitions from 'false' to 'true' are delayed by 'delay' duration. The delay is cancelled when 'reset' transitions from 'false' to 'true. ‘onDelay active’ is ‘true’ during ‘onDelay’ periods. 'delay' units can be configured from settings. Maximum ‘delay’ setting is 587 hours. (See Figure A.)

Rubix Wires User Guide - Rev 1.1.4 | 12 

Page 13: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Off-Delay

‘output’ matches ‘input’, but ‘output’ transitions from 'true' to 'false' are delayed by 'delay' duration. The delay is cancelled when 'reset' transitions from 'false' to 'true. ‘offDelay active’ is ‘true’ during ‘offDelay’ periods. 'delay' units can be configured from settings. Maximum ‘delay’ setting is 587 hours. (See Figure A.)

Ticker

While 'enable' is 'true', ‘output’ will change to 'true' at every 'interval' period. If 'Generate False' setting is set to ‘true’, ‘output’ will be 'false' for the second half of the 'interval' period. When 'enable' is 'false', ‘output’ will be 'false'. 'interval' units can be configured from settings. Maximum ‘interval’ setting is 587 hours. (See Figure A.)

Rubix Wires User Guide - Rev 1.1.4 | 13 

Page 14: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Compare Equal

output equal' is 'true' when 'in 1' and 'in 2' are identical, otherwise 'output equal' is 'false'. Can be used to compare boolean, numeric, and string values; it can also be used to compare 'null' values. 'output not equal' is always the opposite of 'out equal'.

Greater-Than

out >' is 'true' when 'in 1' is greater than 'in 2', otherwise 'out >' is 'false'. 'out >=' is 'true' when 'in 1' is greater than or equal to 'in 2', otherwise 'out>=' is 'false'. Both Outputs will be 'false' if either input is undefined.

Less-Than

out <' is 'true' when 'in 1' is less than 'in 2', otherwise 'out <' is 'false'. 'out <=' is 'true' when 'in 1' is less than or equal to 'in 2', otherwise 'out <=' is 'false'. Both outputs will be 'false' if either input is undefined.

Between

output' is 'true' when 'in 1' is within the numeric range between 'from' value and 'to' value (exclusive), otherwise 'output' is 'false'. 'output' will be 'false' if either input is undefined. 'out not' is always the opposite of 'output'.

Rubix Wires User Guide - Rev 1.1.4 | 14 

Page 15: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Hysteresis

Boolean 'output' based on 'input' in relation to 'risingEdge' and 'fallingEdge' setpoints. There are 2 cases: 'risingEdge' greater than 'fallingEdge', and 'risingEdge' less than 'fallingEdge'.

● [For 'risingEdge' > 'fallingEdge'] => 'output' is 'true' when 'input' is greater than 'risingEdge'. 'output' is 'false' when 'input' is less than 'fallingEdge'.

● [For 'fallingEdge' < 'fallingEdge'] => 'output' is 'false' when 'input' is greater than 'risingEdge'. 'output' is 'true' when 'input' is less than 'fallingEdge'.

In both cases, when 'input' is between 'risingEdge' and 'fallingEdge', 'output' will remain in its current state.

Type-Check

‘Output' is 'true' when 'input' type matches 'Type to check' string. 'isType' outputs the type of the 'input' value.

Rubix Wires User Guide - Rev 1.1.4 | 15 

Page 16: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Connection Link-Transmitter

This node works in conjunction with link-receiver node, and provides a connection of nodes without the graphical wires. 'in #' inputs will be sent to the corresponding 'out #' output on link-receiver nodes with matching 'Channel Number' settings. The number of inputs is configurable from settings.

Link-Receiver

This node works in conjunction with link-transmitter node and provides a connection of nodes without the graphical wires. 'out #' outputs will match the corresponding 'in #' input from link-transmitter nodes with matching 'Channel Number' settings. The number of outputs is configurable from settings.

Rubix Wires User Guide - Rev 1.1.4 | 16 

Page 17: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Container Folder

Folders are the basic type of container which can contain other nodes. They are used to organize and segment logic. Creating a folder node will also add an entry to the Menu Sidebar under ‘Editor’, which can be used to navigate between the created containers. Containers can also be navigated by using context menu options (see images below). Folders can also be created by selecting nodes, and then selecting ‘Move to Container’ from the context menu; this will move all the selected nodes to a newly created folder.

Context Menu Folder Navigation:

Move to Container:

Container Sub-Flow Example: (AND Node as a Sub-Flow)

Rubix Wires User Guide - Rev 1.1.4 | 17 

Page 18: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Folder-Input

Folder-Input nodes are added within a Folder node. They are used to link values from outside the folder, to the logic within the folder. Once added, a new input slot will appear on the specific Folder node that they are contained by. Values can now be linked to the Folder node, and the value will be passed to the Folder-Input node, for use with the logic contained within the Folder. Folder-Input nodes have a ‘Name’ setting which, once set, will be displayed on the input slot of the parent Folder. Note: This node will only be available when within a folder’s Editor Pane.

Folder Node with Named Folder-Input:

Folder-Output

Folder-Output nodes are added within a Folder node. They are used to link values from within the folder, to the logic outside the folder. Once added, a new output slot will appear on the specific Folder node that they are contained by. Values can now be linked to the Folder-Output node and the value will be passed to the Folder node output slot, for use in the logic outside the Folder. Folder-Output nodes have a ‘Name’ setting which, once set, will be displayed on the output slot of the parent Folder. Note: This node will only be available when within a folder’s Editor Pane.

Folder Node with Named Folder-Output:

Rubix Wires User Guide - Rev 1.1.4 | 18 

Page 19: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Count Any-Event-Counter

‘count' increases by 1 every time an event occurs at 'input'. Any incoming value, including null, will be taken. 'count' will be reset to 0 when 'reset' transitions from 'false' to 'true. ‘toggle’ will alternate between ‘true’ and ‘false’, changing each time count increases.

Counter

‘count' increases by 1 every time 'countUp' transitions from 'false' to 'true. 'count' decreases by 1 every time 'countDown' transitions from 'false' to 'true. 'count' will be set to 'set value' when 'reset' transitions from 'false' to 'true.

Triggered-Ramp

‘output' changes every time 'trigger' transitions from 'false' to 'true'. If 'count on true->false?' setting is enabled, 'output' will also change on 'false' to 'true' transition. 'output' will change based on the 'step' value on each change (if a full 'step' would cause the output to be greater than 'max', or less than 'min' it will be limited by 'max' or 'min' respectively). 'output' will first ramp up to 'max' then it will change directions and ramp down to 'min'. 'output' will be reset to 'min' when 'reset' transitions from 'false' to 'true. If ‘Ramp Up Only’ setting is ticked, the ramp down stage will be bypassed and ‘output’ will be reset back to ‘min’ value when it reaches the ‘max’ value.

Interval-Ramp ‘output' changes at every 'interval' period, while 'enable' is set to 'true'. 'output' will change by the 'step' value on each change (if a full 'step' would cause the output to be greater than 'max', or less than 'min' it will be limited by 'max' or 'min' respectively). 'output' will first ramp up to 'max' then it will change directions and ramp down to 'min'. 'output' will be reset to 'min' when 'reset' transitions from 'false' to 'true. If ‘Ramp Up Only’ setting is ticked, the ramp down stage will be bypassed and ‘output’ will be reset back to ‘min’ value when it reaches the ‘max’ value. 'interval’ units can be configured from settings. Maximum ‘interval’ setting is 587 hours.

Rubix Wires User Guide - Rev 1.1.4 | 19 

Page 20: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Waveform This node generates a sequence of numbers based on the selected settings; these sequences (waveforms) are of the form 'Ramp', 'Sine', 'Square', 'Triangle', and 'Sawtooth'. While 'enable' is 'true', 'output' will produce the next number in the sequence after every 'interval' duration. The period (how often the waveform pattern repeats) is defined by 'period'. The amplitude of the waveform is defined by 'amplitude'. The waveform can be inverted by setting 'Invert Output' to 'true' in settings. The waveform will reset to its starting position if 'reset' transitions from 'false' to 'true'. 'interval' and ‘period’ units can be configured from settings. Maximum 'interval' and ‘period’ setting is 587 hours.

Rubix Wires User Guide - Rev 1.1.4 | 20 

Page 21: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

CSV CSV-Merge-Rows

This node merges the rows of properly formatted CSV strings. ‘merge’ CSV string will be joined with the ‘original’ CSV string. The ‘merge’ CSV rows will be added below the ‘original’ CSV rows. Only the ‘original’ header titles will be kept. No error checking.

Counter

This node merges the columns of properly formatted CSV strings. ‘merge’ CSV string will be joined with the ‘original’ CSV string. The ‘merge’ CSV columns will be added to the right of the ‘original’ CSV columns. ‘null’ will be added to rows where no value exists for that column. No error checking.

Rubix Wires User Guide - Rev 1.1.4 | 21 

Page 22: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Dashboard Button

Dashboard node which displays a push button on the dashboard. When clicked it will send 'true' from the node 'output'.

Progress

A Dashboard node which displays a progress bar, between 0-100 of an ‘input’ value on the dashboard. Note, a ‘scale’ node may be required to scale ‘input’ values between zero to a hundred.

Slider

A Dashboard node which displays a moveable slider bar between 0 to 100 which users can manually adjust to modify the ‘output’. The slider can be overridden by wiring a numeric into the node’s ‘input’.

Rubix Wires User Guide - Rev 1.1.4 | 22 

Page 23: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Switch

Dashboard node which displays a toggle switch on the dashboard. When clicked it will switch the node 'output' between 'true' and 'false'. The button text can be edited in settings. The button can be overridden by wiring a Boolean into the node 'input'.

Text-Box

Dashboard node which displays the input value on the dashboard.

Log

Dashboard node which displays a log of the values wired into 'input', these log entries have timestamps attached. There is an option in settings to save the log entries to the Wires Database (DB).

Rubix Wires User Guide - Rev 1.1.4 | 23 

Page 24: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Chart

Dashboard node which displays a chart of the values wired into 'input'. Chart properties and types can be modified in settings. There is an option in settings to save the chart entries to the Wires Database (DB).

Rubix Wires User Guide - Rev 1.1.4 | 24 

Page 25: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Filter Only-True

This node filters 'input' values. Only 'true' values are passed to 'output'.

Only-False

This node filters 'input' values. Only 'false' values are passed to 'output'.

Only-Between

This node filters 'input' values. Only Numeric 'input' values between 'min' and 'max' are passed to 'output'.

Only-Greater This node filters 'input' values. Only Numeric 'input' values greater than 'threshold' are passed to 'output'.

Only-Lower

This node filters 'input' values. Only Numeric 'input' values less than 'threshold' are passed to 'output'.

Rubix Wires User Guide - Rev 1.1.4 | 25 

Page 26: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Only-Equal

This node filters 'input' values. Only 'input' values equal to 'match' are passed to 'output'.

Prevent-Null

This node filters 'input' values. All 'input' values are passed to 'output' EXCEPT 'null'.

Prevent-Equal

This node filters 'input' values. All 'input' values are passed to 'output' EXCEPT 'input' values which are equal to 'match'.

Prevent-Duplicates This node filters 'input' values. All 'input' values are passed to 'output' EXCEPT 'input' values which are equal to the previous 'input' value.

Rubix Wires User Guide - Rev 1.1.4 | 26 

Page 27: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

History Data-Store

The data-store node is used to store history log data locally. The data-store node has limited memory so the capacity is limited to 50 log entries; beware of using too many data-store nodes as it could affect the operation of Wires. The history logs can be configured to log in UTC or local timezone, and the output format can be set to ‘Array’, ‘CSV’, or ‘JSON’. If ‘Round up in increments of’ setting is used (not zero), then the timestamp will be rounded up to the nearest increment value step.

Rubix Wires User Guide - Rev 1.1.4 | 27 

Page 28: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

History

The History node is used to store values to an external database. History logs (when enabled) are pushed to either the Nube DB or an Influx DB instance. A ‘Point Name’ should be entered (under ‘History’ settings) to identify the history by name. History logging options are ‘Change Of Value (COV)’, ‘Periodic’, and ‘Trigger Only’. When set to COV, a log will be saved when the value changes by the ‘COV Threshold’ from the last saved history value. When set to ‘Periodic’ a log will be saved at every ‘Logging Interval’ period. When set to either ‘COV’ or ‘Periodic’ a log entry can be saved by transitioning the ‘histTrigger’ input from ‘false’ to ‘true’. If only the ‘histTrigger’ action is required, set the ‘History Logging Mode’ to ‘Trigger Only’. If the history/history node is unable to send the history logs to the configured database (network connection issues, or incorrect configuration) then they will be stored locally, and ‘storedHistCount’ will increase. Currently the local storage limit is set to 50 logs. The history/history node has limited memory so the capacity is limited to 50 log entries; beware of using too many history/history nodes as it could affect the operation of Wires. If ‘Round up in increments of’ setting is used (not zero), then the timestamp will be rounded up to the nearest increment value step. If the input value is a Number, the ‘Decimal Places’ setting will round the input value to the specified number of decimal places.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 28 

Page 29: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

HVAC Deadband

This node applies a Hysteresis function (see hysteresis node), with a deadband centered at 'setpoint'. The ON direction can be reversed from settings.

Thermostat This node functions as a Heat/Cool thermostat. While 'enable' is set to 'true', the node will function as follows: 'CLG Mode' will be set to 'true' if 'input' is greater than 'setpoint' + 'CLG offset', 'CLG Mode' will be set to 'false' if 'input' is less than 'setpoint'. 'HTG Mode' will be set to 'true' if 'input' is less than 'setpoint' - 'HTG offset', 'HTG Mode' will be set to 'false' if 'input' is greater than 'setpoint'. If 'enable' is 'false', 'CLG Mode' and 'HTG Mode' will both be set to 'false'.

Rubix Wires User Guide - Rev 1.1.4 | 29 

Page 30: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

PID

This node generates a PID ‘output’ based on input parameter settings. Inputs: Enable, Setpoint, Process Variable, inP (Proportional), inI (Integral), inD (Derivative), Direction, Interval, MaxOut, MinOut, Manual, and Bias. If 'direction' is 'true' the PID will be a Direct loop ('output' increases when 'processVariable' > 'setpoint'), if 'direction' is 'false' the PID will be a Reverse loop ('output' increases when 'processVariable' < 'setpoint'). 'interval' is the period that the PID output is re-calculated. 'bias' value is added to 'output'. 'manual' will be the 'output' value when 'enable' is 'false'. PID integral factor will be reset to 0 when 'reset' transitions from 'false' to 'true'. 'interval’ units can be configured from settings. Maximum ‘interval’ setting is 587 hours.

● ‘inP’ (Proportional) is a multiplication factor that is applied to the error (‘input’ - ‘’setpoint’) ● ‘inI’ (Integral) is set in “repeats per minute”. ie. ‘inI’ multiplied by the error, is added to the

‘output’ every second. ● ‘inD’ is multiplied by the difference between the current ‘processVariable’ value, and the

previous ‘processVariable’ value; the product is added to ‘output’

Rubix Wires User Guide - Rev 1.1.4 | 30 

Page 31: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Psychometrics

This node provides psychrometric calculations based on a selection of: Dry Bulb Temp, Wet Bulb Temp, Dew Point, Relative Humidity, and Pressure. Inputs and Outputs as follows: (i) Dry bulb temperature in °F [IP] or °C [SI]; (i) Wet bulb temperature in °F [IP] or °C [SI]; (i) Atmospheric pressure in Psi [IP] or Pa [SI]; (o) Humidity ratio in lb_H₂O lb_Air⁻¹ [IP] or kg_H₂O kg_Air⁻¹ [SI]; (o) Dew point temperature in °F [IP] or °C [SI]; \n (o) Relative humidity [0-1]; (o) Partial pressure of water vapor in moist air in Psi [IP] or Pa [SI]; (o) Moist air enthalpy in Btu lb⁻¹ [IP] or J kg⁻¹ [SI]; (o) Specific volume ft³ lb⁻¹ [IP] or in m³ kg⁻¹ [SI]. Input types can be selected from settings. Outputs will change based on selected input type. Unit system can be set from settings to be in: Metric/SI or Imperial/IP.

Energy-Conversion This node converts between Energy units watt-hour (W·h), kilowatt-hour (kW·h), British Thermal Unit (Btu), calorie (cal), joule(J), and joule(kJ). Input type can be selected from settings. Outputs will change based on selected input type.

Power-Conversion This node converts between Power units kilowatt (kW), Tons of Refrigeration (tons), British Thermal Unit per hour (Btu/h), and Electrical Horsepower (hp). Input type can be selected from settings. Outputs will change based on selected input type.

Rubix Wires User Guide - Rev 1.1.4 | 31 

Page 32: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Volume-Conversion This node converts between Volume units Litre (L), Cubic Metre (m³), Cubic Foot (ft³), and Gallon (gal). Input type can be selected from settings. Outputs will change based on selected input type.

Temperature-Conversion This node converts between Temperature units: Celsius, Fahrenheit, Kelvin, and Rankine . Input type can be selected from settings. Outputs will change based on selected input type.

Atmospheric-Pressure This node converts 'altitude' to Atmospheric Pressure in various units: Pascal (Pa), Standard Atmosphere (atm), Bar (bar), and Pound-force per square inch (lbf/in2) . 'altitude' units can be set from settings to be in: Metric/SI (Meters-> Pa), or Imperial/IP (Feet-> Psi).

Pressure-Conversion

This node converts between Pressure units: Pascal (Pa), Standard Atmosphere (atm), Bar (bar), and Pound-force per square inch (lbf/in2) . Input type can be selected from settings. Outputs will change based on selected input type.

Rubix Wires User Guide - Rev 1.1.4 | 32 

Page 33: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Latch Bool-Latch

The Boolean 'input' value is passed to 'output' when 'latch' transitions from 'false' to 'true'; The 'output' value is maintained until the next 'false' to 'true' transition.

Num-Latch The Numeric 'input' value is passed to 'output' when 'latch' transitions from 'false' to 'true'; The 'output' value is maintained until the next 'false' to 'true' transition.

String-Latch

The String 'input' value is passed to 'output' when 'latch' transitions from 'false' to 'true'; The 'output' value is maintained until the next 'false' to 'true' transition.

Rubix Wires User Guide - Rev 1.1.4 | 33 

Page 34: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Set-Reset

‘output' will change to 'true' when 'set' is 'true', and 'reset' is 'false'. There are 2 cases when 'output' will change to 'false':

1) 'reset' is 'true', and 'set is 'false'. 2) If the 'Reset when set=true' setting is turned ON (Default), and 'reset' and 'set' are both 'true' . If 'Reset when set=true' setting is turned OFF, 'output' will only change to 'false' under Case 1) conditions.

Rubix Wires User Guide - Rev 1.1.4 | 34 

Page 35: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Math

Add ('output' = 'in 1' + 'in 2' + ...) 'output' is the result of adding of all Numeric inputs. Input values can be set from settings. The number of inputs is configurable from settings.

Subtract

('output' = 'in 1' - 'in 2' - ...) 'output' is the result of subtracting each Numeric input in order. Input values can be set from settings. The number of inputs is configurable from settings.

Multiply

('output' = 'in 1' * 'in 2' * ...) 'output' is the result of multiplying each Numeric input in order. Input values can be set from settings. The number of inputs is configurable from settings.

Divide

('output' = 'in 1' / 'in 2' / ...) 'output' is the result of dividing each Numeric input in order. Input values can be set from settings. The number of inputs is configurable from settings.

Absolute

('output' = |'in 1'|) 'output' is the absolute value (positive) of the Numeric input.

Rubix Wires User Guide - Rev 1.1.4 | 35 

Page 36: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Modulus

('output' = 'in 1' % 'in 2') 'output' is the modulus of the Numeric inputs. Input values can be set from settings.

Power ('output' = 'in 1' ^ 'in 2') 'output' is the result of 'in 1' to the power of 'in 2'. Input values can be set from settings.

Rubix Wires User Guide - Rev 1.1.4 | 36 

Page 37: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Math-Advanced Acos

acos(x)' is the result of arccos('x'). The Inverse Cosine function of input 'x'.

Asin

asin(x)' is the result of arcsin('x'). The Inverse Sine function of input 'x'.

Atan

atan(x)' is the result of arctan('x'). The Inverse Tangent function of input 'x'.

Cbrt

cbrt(x)' is the Cubic Root of input 'x'.

Cos cos(x)' is the result of cos('x'). The Cosine function of input 'x'.

Rubix Wires User Guide - Rev 1.1.4 | 37 

Page 38: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Exp ('exp(x)' = E^'x') 'exp(x)' is the result of raising E (Euler's Number 2.71828) to the power of 'x'. The Natural Exponential function.

Log

log(x)' is the result of log('x') with base E (Euler's Number 2.71828). The Natural Logarithmic function of input 'x'.

Log-10

log10(x)' is the result of log('x') with base 10.

Sin

sin(x)' is the result of sin('x'). The Sine function of input 'x'.

Sqrt sqrt(x)' is the Square Root of input 'x'.

Tan

tan(x)' is the result of tan('x'). The Tangent function of input 'x'.

Rubix Wires User Guide - Rev 1.1.4 | 38 

Page 39: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Math-Trigger

Trigger-Add

When 'trigger' transitions from 'false' to 'true', 'output' is updated with the result of the addition of all inputs ('in 1' + 'in 2' + ...). Input values can be set from settings. The number of inputs is configurable from settings.

Trigger-Subtract

When 'trigger' transitions from 'false' to 'true', 'output' is updated with the result of the subtraction of all inputs ('in 1' - 'in 2' - ...). Input values can be set from settings. The number of inputs is configurable from settings.

Trigger-Multiply

When 'trigger' transitions from 'false' to 'true', 'output' is updated with the result of the multiplication of all inputs ('in 1' * 'in 2' * ...). Input values can be set from settings. The number of inputs is configurable from settings.

Trigger-Divide

When 'trigger' transitions from 'false' to 'true', 'output' is updated with the result of the division of all inputs ('in 1' / 'in 2' / ...). Input values can be set from settings. The number of inputs is configurable from settings.

Trigger-Modulus

When 'trigger' transitions from 'false' to 'true', 'output' is updated with the result of the modulus of the inputs ('in 1' % 'in 2'). Input values can be set from settings.

Rubix Wires User Guide - Rev 1.1.4 | 39 

Page 40: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Trigger-Power

When 'trigger' transitions from 'false' to 'true', 'output' is updated with the result of 'in1' to the power of 'in2' ('in 1' ^ 'in 2'). Input values can be set from settings.

Rubix Wires User Guide - Rev 1.1.4 | 40 

Page 41: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Nube LORA-Sensor-Decoder

This node is used to decode raw serial input messages to LORA sensor values. It should be used in conjunction with the protocols/serial-connector node. If a ‘nodeID’ is set, only messages from matching LORA sensors will be output; if no ‘nodeID’ is set, all valid LORA sensor messages will be output. Outputs that are not present in the raw serial input message will be ‘null’. ‘lowBatteryAlm’ output will be ‘true’ if the LORA sensor has a battery ‘voltage’ value less than the ‘Low battery warning voltage’ setting; otherwise it will be ‘false’. ‘watchdog’ output will be ‘true’ if there has been no valid message from the ‘nodeID’ LORA sensor for the ‘Watchdog Delay’; otherwise ‘watchdog’ output will be false. Maximum ‘Watchdog Delay’ setting is 587 hours. This node can be used for decoding Nube Droplet sensors, and Nube MicroEdge sensors. The sensor type can be selected from settings.

Example Flow:

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 41 

Page 42: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Get-Schedules

This node is used to fetch schedules from the Nube dashboard. The ‘Get-Schedules’ node will output all schedules from the device; Specific schedule selection is done on the ‘Schedule-Checker’ node. ‘Interval’ (set from settings) is how often the node will re-check for schedule changes (minimum 10 seconds). In order for the ‘get-schedules’ node to work, there must be a `system/platform’ node in the main container (default editor pane) and there must be a ‘deviceID’ in the ‘system/platform’ node settings, It is recommended that the API-Schedule node is used in conjunction with a filter/prevent-null node to maintain the last successful schedule read in the case that the API-Login node becomes disconnected. 'interval’ units can be configured from settings. Maximum ‘interval’ setting is 587 hours.

Example Flow:

Rubix Wires User Guide - Rev 1.1.4 | 42 

Page 43: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Num-Transform

Round ‘output' is the 'input' value rounded to the configured number of decimal places. The number of decimal places can be configured from settings (limited to 5 decimal places).

Floor 'output' is the 'input' value rounded DOWN to the nearest integer.

Ceil

'output' is the 'input' value rounded UP to the nearest integer.

Rubix Wires User Guide - Rev 1.1.4 | 43 

Page 44: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Limit

‘output' follows the 'input' value when it is between the 'min' and 'max' values. If 'input' is greater than the 'max' value, 'output' will be the 'max' value. If 'input' is less than the 'min' value, 'output' will be the 'min' value. 'max' and 'min' values can be configured from settings.

Rubix Wires User Guide - Rev 1.1.4 | 44 

Page 45: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Scale

Performs a linear interpolation of the 'input' value based configured settings. When 'input' value is between 'in-min' and 'in-max' it is linearly interpolated between 'out-min' and 'out-max'. If 'input' is greater than the 'in-max' value, 'output' will be the 'out-max' value. If 'input' is less than the 'in-min' value, 'output' will be the 'out-min' value. 'in-max', 'in-min', 'out-max', and 'out-min' values can be configured from settings.

Rubix Wires User Guide - Rev 1.1.4 | 45 

Page 46: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Linear Shaper

Performs a linear interpolation of the 'input' value between configured inflection points. The number of inflection points can be configured in settings. The inflection points will be evenly distributed from 0-100. Values for each inflection point can be wired in, or set from settings. When the 'input' value is between 0 and 100 the 'output' value will be the linear interpolation of the 'input' value between the surrounding inflection point values. (Figure A.)

Rubix Wires User Guide - Rev 1.1.4 | 46 

Page 47: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Fade

This node makes a smooth transition from 'from' to 'to' over the 'interval' period when 'enable' transitions from 'false' to 'true'; after this 'interval' period 'output' will match the 'to' value while 'enable' is 'true'. During the 'interval' period, the rate of 'output' change cannot be changed. Once the 'interval' period is complete 'out=to' becomes 'true' until 'enable' becomes 'false' again.

Rate-Limit

This node makes a rate limited transition from its current output value to the ‘input’ value. When ‘enable’ is ‘true’, ‘output’ is permitted to change towards the ‘input’ value based on settings values. ‘output’ can change by ‘step’ size every ‘interval’ period. ‘output’ will be ‘null’ when ‘enable’ is ‘false’.

Rubix Wires User Guide - Rev 1.1.4 | 47 

Page 48: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Point Bool-Constant

Outputs a Boolean value set from settings. Can also output null.

Num-Constant

Outputs a Numeric value set from settings. Can also output null by leaving the settings field blank.

String-Constant

Outputs a String value set from settings. Can also output null by leaving the settings field blank.

Bool-Writable Outputs the highest priority, non-null, Boolean input. Highest priority is 'in 1' then 'in 2' and so on. Input values can also be wired in, or set from settings. The number of inputs can be modified from settings.

Num-Writable Outputs the highest priority, non-null, Numeric input. Highest priority is 'in 1' then 'in 2' and so on. Input values can also be wired in, or set from settings. The number of inputs can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 48 

Page 49: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

String-Writable Outputs the highest priority, non-null, String input. Highest priority is 'in 1' then 'in 2' and so on. Input values can also be wired in, or set from settings. The number of inputs can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 49 

Page 50: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Protocols/Misc Email

Once configured (in settings) with the sender email server details ('email' and 'password') for Gmail, Hotmail, Outlook365, or Yahoo accounts: This node will attempt to send a new email when 'trigger' transitions from 'false' to 'true'. The String 'recipient' value will be the to: email address; The String 'subject' value will be the email subject; and the String 'message' value will be the email body. The 'response' output will be 'true' if the email is sent successfully. The 'error' output will be an error message String if there is an error sending the email.

Serial-Connector

This node reads/writes serial data from/to the onboard serial ports. These ports can be RS485 ports, or Rubix Compute wireless interface ports. Once the Port and Baud Rate settings are configured, when enabled, the ‘output’ will be raw messages received over the configured serial port. Any values written to the ‘writeValue’ input will be sent on the configured serial port.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 50 

Page 51: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Protocols/Nube

Edge28-Network

This node acts as a container for edge28-input, and edge28-output nodes, which are used to read/write to/from the Edge 28 physical IO. All edge28-input and edge28-output nodes should be added within the edge28-network container. The polling interval for all the edge28-input nodes can be set in the settings of the edge28-network node.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 51 

Page 52: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Edge28-Input

This node is used to read values from the physical input points on the Nube Edge28 controller. These points will update with the polling interval set in the settings of the edge28-api (container) node. The settings for the edge28-input node allow the user to set the configuration of each of the inputs as required. This configuration includes history logging. History logging can be sent to either the Nube DB, or to any instance of Influx DB. Notes on configuring edge28-inputs:

- DI points can only be set as ‘Digital’ - UI points cannot be set as ‘Digital’ but should be set as

‘UI-Digital’, ‘0-10dc’, ‘4-20mA’, or ‘10k-thermistor’. - Math functions are performed on the raw input value and will

alter the output as configured. - Once a ‘Units’ category has been selected, ‘Save’ the

settings, and re-open to choose the specific ‘unit’

For information on History settings, see History/History node. Configuration is the same for bacnet-point histories.

Edge28-Output This node is used to write values to the physical output points on the Nube Edge28 controller. The settings for the edge28-output node allow the user to set the configuration of each of the outputs as required. This configuration includes history logging. History logging can be sent to either the Nube DB, or to any instance of Influx DB. Notes on configuring edge28-outputs:

- DO and Relay (R1/R2) points can only be set as ‘DO’ - UO points cannot be set as ‘DO’ but should be set as ‘UO as

Digital’ or ‘UO as 0-10dc’. - Once a ‘Units’ category has been selected, ‘Save’ the

settings, and re-open to choose the specific ‘unit’

For information on History settings, see History/History node. Configuration is the same for bacnet-point histories.

Rubix Wires User Guide - Rev 1.1.4 | 52 

Page 53: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Protocols/BACnet BACnet-Network

This node acts as a container for bacnet-device nodes. All bacnet-device nodes should be added within the bacnet-network container. IP configuration for the BACnet network connection are set from settings. The bacnet-network node can also be used to perform a BACnet Discover (WhoIs).

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 53 

Page 54: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

BACnet-Device

This node acts as a container for bacnet-point nodes. All bacnet-device nodes should be added within the bacnet-network container. All bacnet-point nodes should be added within a bacnet-device container node. Configuration of BACnet device connections are set from settings. Both IP and MSTP BACnet devices can be configured from the bacnet-device settings.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 54 

Page 55: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

BACnet-Point

All bacnet-point nodes should be added within the bacnet-device container node. Configuration of BACnet points are set from settings. If the bacnet-network, and bacnet-device are configured correctly, the BACnet points will be available to select from the ‘Select a point’ setting; otherwise the point can be set manually. For information on History settings, see History/History node. Configuration is the same for bacnet-point histories.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 55 

Page 56: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Protocols/BACnet-Server BACnet-Server

A BACnet server is used to host BACnet points to be read/written by other BACnet devices. The bacnet-server node acts as a container for bacnet-server-point nodes. All bacnet-server-point nodes should be added within the bacnet-server container. IP configurations for the BACnet server connection are set from settings.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 56 

Page 57: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

BACnet-Server-Point

Bacnet-server-point nodes should be added within a bacnet-server container node. BACnet point details should be set in settings. BACnet point settings include ID, Type, and Label.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 57 

Page 58: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Protocols/Modbus Modbus-Server

Once the Port and Modbus Address settings are configured, when enabled, this node will create a Local Modbus TCP/IP Server. The points on this created Modbus Server can be written to and read from with other Modbus Nodes, or from another device.

Modbus-Client-Read

Modbus-client-read point nodes are used to read modbus values from modbus servers. Modbus details are configured in settings. ‘Modbus register offset’ setting can be used to return a range of modbus registers as an array of results. Math functions can be configured to be performed on the modbus value before being passed to ‘output’.

Modbus-Client-Write

Modbus-client-write point nodes are used to write modbus values to modbus servers. Modbus details are configured in settings. Math functions can be configured to be performed on the input value before being sent.

Rubix Wires User Guide - Rev 1.1.4 | 58 

Page 59: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Protocols/MQTT

MQTT-Client

This node connects to an MQTT Broker, subscribes to topics, and can publish values to topics. Once configured (in settings) with a valid ‘Broker URL’, ‘Broker Port’, and ‘Authentication’ (if required), this node will read and write to MQTT topics when ‘enable’ is ‘true’. Number of topics, and the topic names can be configured from settings. Each topic will have a corresponding input and output.

Settings:

MQTT-Network

This node acts as a container for MQTT nodes. All MQTT nodes should be added within the MQTT-Network container. The MQTT broker details can be configured in settings.

Rubix Wires User Guide - Rev 1.1.4 | 59 

Page 60: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

MQTT-Point-Write

This node connects to an MQTT Broker, subscribes to a topic, and can publish values. Once configured (in settings) with a valid ‘Broker URL’, ‘Broker Port’, and ‘Authentication’(if required), this node will read and write to MQTT topics when ‘enable’ is ‘true’. This node has a built in 16 level priority array. A ‘Write Priority Level’ must be selected from settings. The highest write priority value will be published to the ‘topic’/value and ‘topic’/json. To release a priority level, a ‘null’ message should be sent on the priority level to be released. This point can be modified by an external MQTT device. From-External Example: ‘topic’ = “MyTopic”. To write a value to this MQTT-point from an external MQTT device, a value of the form {value:(your value here), priority:(your priority)} must be published to the MQTT topic “MyTopic/req”. When any message is published on the MQTT topic “MyTopic/req” this node will publish the updated value to MQTT topic “MyTopic/value/res” it will also publish complete message JSON to MQTT topic “MyTopic/json/res”. If the current value (in Wires) is 55 @ priority 5, then an external MQTT device publishes {value:33, priority:3} to “MyTopic/req” then the MQTT-Point will output 33. If the external MQTT device then publishes {value:null, priority:3} to “MyTopic/req” then the MQTT-Point output will revert to the next priority value (55 @ priority 5).

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 60 

Page 61: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

MQTT-Point-Read This node connects to an MQTT Broker, subscribes to a topic. Once configured (in settings) with a valid ‘Broker URL’, ‘Broker Port’, and ‘Authentication’(if required), this node will read an MQTT topic when ‘enable’ is ‘true’. This node is to be used with the protocols/MQTT-point nodes (with priority array). Subscribing to basic MQTT topics should be done with the protocols/MQTT-Client node.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 61 

Page 62: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Schedule Schedule-Checker

This node checks the Nube/get-schedules node output string for active schedules that match the selected ‘Schedule Name’ setting. ‘output’ will be ‘true’ when the matching schedule is active and ‘enable’ is ‘true’; otherwise ‘output’ will be ‘false’. ‘nextStart’ is the timestamp output of the next scheduled start time. ‘nextStop’ is the timestamp output of the next scheduled stop time. ‘lastCheck’ is the timestamp output of the last time a schedule check was run. ‘error’ output will be ‘true’ if there is an error while checking the schedule input string; otherwise ‘error’ will be false. The frequency that schedules are checked can be modified with the ‘Schedule Check Interval’ setting (set in millis). The ‘Timestamp Output Format’ setting can be adjusted to output timestamps as strings or as Epoch Timestamps. String timestamps will be displayed in the timezone specified by the ‘Timezone’ setting.

Example Flow:

Rubix Wires User Guide - Rev 1.1.4 | 62 

Page 63: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Statistics Min-Max-Avg

Outputs the Minimum, Maximum, and Average values of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Avg

Outputs the Average, Count, and Sum values of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Min

Outputs the Minimum value of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Max

Outputs the Maximum value of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 63 

Page 64: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Sum

Outputs the Sum of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Median

Outputs the Median value of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Range

Outputs the Range value (max-min) of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Rank

Outputs the ranked highest (max to min), or ranked lowest (min to max) of all the (non null) Numeric inputs. The number of inputs and the number of outputs can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 64 

Page 65: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Stats-All

Outputs the Maximum, Minimum, Range, Sum, Mean, Median, Modes, Variance, Standard Deviation, Mean Absolute Deviation, and Z Score values of all the (non null) Numeric inputs. The number of inputs and their values can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 65 

Page 66: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Stream String-Average

output' is the number of characters in the given String 'input' value.

Stream-Highest

output' is the highest received Numeric 'input' value. 'output' is reset when 'reset' transitions from 'false' to 'true'.

Stream-Lowest

output' is the lowest received Numeric 'input' value. 'output' is reset when 'reset' transitions from 'false' to 'true'.

Stream-Sum

‘output' is the sum of all received Numeric 'input' value. 'output' is reset to 0 when 'reset' transitions from 'false' to 'true'.

Gate

This node can allow(gate open) or block(gate close) the transfer of the 'input' to 'output'. When 'open' is 'true', 'input' is passed to 'output'. When 'open' is 'false', 'output' will maintain its last value. If 'Send null when closed' setting is ticked, 'output' will be 'null' when 'open' is 'false'.

Rubix Wires User Guide - Rev 1.1.4 | 66 

Page 67: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Stack

‘input' values are stored in a list. Stored 'input' values are passed to 'output' one by one each time 'trigger' transitions from 'false' to 'true'. 'input' values are passed to 'output' in a last-in, first-out order. Stored 'input' values are deleted when 'clear' transitions from 'false' to 'true'. 'count' is the number of stored 'input' values.

Queue

‘input' values are stored in a list. Stored 'input' values are passed to 'output' one by one each time 'trigger' transitions from 'false' to 'true'. 'input' values are passed to 'output' in a first-in, first-out order. Stored 'input' values are deleted when 'clear' transitions from 'false' to 'true'. 'count' is the number of stored 'input' values.

Stream Delay

‘input' values are passed to 'output' after a 'delay' period. Each 'input' value is delayed by the same 'delay' period. 'delay' units can be configured from settings. Maximum ‘delay’ setting is 587 hours.

Stream Delay-Meter This node measures the delay between the incoming events. Any value sent to 'input' (excluding null) will be accepted. 'ms' output is the time between the lastest 'input', and the previous 'input'. 'ms' is reset when 'reset' transitions from 'false' to 'true'. 'ms' output is in millis.

Frequency-Meter

This node measures the frequency of the incoming 'input' events. Any value sent to 'input' (excluding null) will be accepted. 'events/sec' output is the average rate received 'input' values. 'events/sec' is reset when 'reset' transitions from 'false' to 'true'.

Rubix Wires User Guide - Rev 1.1.4 | 67 

Page 68: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Stream-Merge This node merges multiple inputs into a single stream/output. Any new 'input' ('in #') value will be passed to 'output'. The number of inputs can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 68 

Page 69: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

String String-Length

‘output' is the number of characters in the given String 'input' value.

Char-To-Ascii

‘output' is the ASCII code of the first character of a given String 'input' value.

Ascii-To-Char ‘output' is the character of the given Numeric ASCII code 'input' value.

Char-At-Index

‘output' is the character at the Numeric 'index' (position) of String 'input'. The first character of the String 'input' is 'index' 0. If 'index' is negative, characters will be selected from the end of the 'input' string (eg. -1 is the last character; -2 is the second to last character, ...). 'output' will be 'null' on an invalid 'index'.

Substring-Cut

This node outputs a portion of a String 'input' defined by the Numeric 'start' and 'length' parameters. String 'output' is the portion of 'input' starting at index (position) 'start' and continating the next 'length' value of characters. 'start' value of 0 is the beginning of the string. If a negative 'start' value is given, the substring will be selected from the end of the 'input' string (eg. -1 is the end of the 'input'; -2 is the second to last character of the 'input', ...).

Rubix Wires User Guide - Rev 1.1.4 | 69 

Page 70: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

String-Split

Portions of the String 'input' are sent to the String 'output' sequentially when 'next' transitions from 'false' to 'true'; these 'output' strings are portions of the 'input' string split by the String 'separator' value. The Numeric 'left' outputs the number of 'output' strings remaining to be sent. When 'start' transitions from 'false' to 'true', the 'output' string will go back to the first portion of the 'input' string.

String-Compare

This node provides several functions to compare 2 String inputs, with a Boolean 'output'. Available comparison functions are: Equals, Includes, Starts With, and Ends With. The comparison function is selected from settings.

String-Join

This node takes String inputs and concatenates/joins them to produce a String 'output'. The number of inputs can be modified from settings.

String-Case ‘output' is the 'input' string with all characters changed to either upper or lower case. Upper or Lower case can be selected from settings.

String-Index-Of

This node takes String 'input' and 'searchFor'; Numeric 'output' is the index(position) of the first instance of 'searchFor' in 'input'. Index of 0 is the beginning of the 'input' string.

Rubix Wires User Guide - Rev 1.1.4 | 70 

Page 71: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Switch Bool-Switch

Boolean 'switch' passes corresponding Boolean input to 'output'. If 'switch' is 'true', Boolean 'inTrue' value will be passed to 'output' 'inTrue' and 'inFalse' values can be set in settings.

Num-Switch

Boolean 'switch' passes corresponding Numeric input to 'output'. If 'switch' is 'true', Numeric 'inTrue' value will be passed to 'output' 'inTrue' and 'inFalse' values can be set in settings.

String-Switch

Boolean 'switch' passes corresponding String input to 'output'. If 'switch' is 'true', String 'inTrue' value will be passed to 'output' 'inTrue' and 'inFalse' values can be set in settings.

Bool-Select

Numeric integer 'select' passes corresponding Boolean input to 'output'. If 'select' is 2, 'in 2' will be passed to 'output' (likewise for other integer 'select' values). If the 'select' value does not have a corresponding 'in #' value, 'output' value will be 'null'. The number of inputs and their values can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 71 

Page 72: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Num-Select

Numeric integer 'select' passes corresponding Numeric input to 'output'. If 'select' is 2, 'in 2' will be passed to 'output' (likewise for other integer 'select' values). If the 'select' value does not have a corresponding 'in #' value, 'output' value will be 'null'. The number of inputs and their values can be modified from settings.

String-Select Numeric integer 'select' passes corresponding String input to 'output'. If 'select' is 2, 'in 2' will be passed to 'output' (likewise for other integer 'select' values). If the 'select' value does not have a corresponding 'in #' value, 'output' value will be 'null'. The number of inputs and their values can be modified from settings.

Bool-Output-Select

Numeric integer 'select' passes Boolean 'input' to the corresponding Boolean 'output'. If 'select' is 2, 'input' will be passed to 'out 2' (likewise for other integer 'select' values). If the 'select' value does not have a corresponding 'out #' value, no values will be passed. The number of outputs can be modified from settings.

Num-Output-Select

Numeric integer 'select' passes Numeric 'input' to the corresponding Numeric 'output'. If 'select' is 2, 'input' will be passed to 'out 2' (likewise for other integer 'select' values). If the 'select' value does not have a corresponding 'out #' value, no values will be passed. The number of outputs can be modified from settings.

String-Output-Select

Numeric integer 'select' passes String 'input' to the corresponding String 'output'. If 'select' is 2, 'input' will be passed to 'out 2' (likewise for other integer 'select' values). If the 'select' value does not have a corresponding 'out #' value, no values will be passed. The number of outputs can be modified from settings.

Rubix Wires User Guide - Rev 1.1.4 | 72 

Page 73: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

System Platform

This node provides global settings for the Wires instance. It should be added to the main(root) Editor Pane of each Wires instance. ‘Client ID’ and ‘Device ID’ are used by each node with a history logging configuration to store data.

Settings:

System-Info

This node outputs various linux system information. Once a system property has been selected from settings, a ‘false’ to ‘true’ transition on the ‘trigger’ input will update the ‘output’. ‘error’ will display error information if the request is not successful.

Rubix Wires User Guide - Rev 1.1.4 | 73 

Page 74: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Beep

This node plays a default system sound on the server (not in the browser) when ‘trigger’ transitions from ‘false’ to ‘true’.

Execute-Cmd

This node triggers commands to be run on the linux host. The string input ‘command input’ will be run when ‘trigger’ transitions from ‘false’ to ‘true’. NOTE: ONLY USE THIS NODE IF YOU KNOW EXACTLY WHAT YOU ARE DOING. SYSTEM COMMANDS CAN CHANGE SYSTEM CONFIGURATION WHICH CANNOT BE FIXED FROM WITHIN WIRES. YOU COULD BREAK WIRES, THE CONTROLLER, OR YOUR PC.

Rubix Wires User Guide - Rev 1.1.4 | 74 

Page 75: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Network-Interfaces

This node is used to configure the network (IP) interfaces for the device. Changes made to settings will only be saved if ‘Save changes on save’ is toggled ON. In some cases a reboot will be required to save the changes, if ‘Reboot’ is toggled ON, then clicking ‘save’ will reboot the controller. NOTE: Making changes on a remote device could cause the device to become inaccessible.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 75 

Page 76: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Network-Interfaces-Edge28

This node is used to configure the network (IP) interface for edge28 controllers. Changes made to settings will only be saved if ‘Save changes on save’ is toggled ON. In some cases a reboot will be required to save the changes, if ‘Reboot’ is toggled ON, then clicking ‘save’ will reboot the controller. NOTE: Making changes on a remote device could cause the device to become inaccessible.

Settings:

Rubix Wires User Guide - Rev 1.1.4 | 76 

Page 77: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Time Conversion

This node converts between Time units Days('day'), Hours('hour'), Minutes('min'), Seconds('sec'), and Milliseconds('milli'). Input type can be selected from settings. Outputs will change based on selected input type. The number of decimal places that output values have can be set from the 'Precision' setting.

Clock

Outputs the System Time in various forms. Standard outputs are: Time('timeString') Hours('hour'), Minutes('min'), and Seconds('sec'). There are also Advanced outputs which can be enabled from settings. The Advanced outputs are: Milliseconds(millis), Time String including timezone ('longString'), Timezone Offset from UTC('TZOffset'), and Unix Timestamp ('epoch'). ‘interval’ is the output update frequency. ‘interval’ units can be configured from settings. Maximum ‘interval’ setting is 587 hours.

Date

Outputs various date information based on the system time. String 'dateString' is the current date. String 'dayString' is the current day of the week. Numeric 'dayOfWeek' is an integer between 0 and 6 corresponding to Sunday(0) through Saturday(6). Numeric 'date' is an integer of the current date. Numeric 'month' is an integer of the current month Jan(0) - Dec(12). Numeric 'year' is an integer of the current year.

Stopwatch

This node converts between Time units Days('day'), Hours('hour'), Minutes('min'), Seconds('sec'), and Milliseconds('milli'). Input type can be selected from settings. Outputs will change based on selected input type. The number of decimal places that output values have can be set from the 'Precision' setting. ‘interval’ units can be configured from settings. Maximum ‘interval’ setting is 587 hours.

Rubix Wires User Guide - Rev 1.1.4 | 77 

Page 78: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Cron-Interval

This node allows the user to set a String output 'message' which is delivered at a selected times/intervals, configured in settings. 'info' will show information about the status of the node. 'cronExpression' represents the configured scheduled timings in Cron notation. 'cronDescription' represents the configured scheduled timings in plain english. 'nextExecution' is a String output representing the datetime that the next 'message' will be sent from 'output'. For more information on Cron Expressions see: (https://www.freeformatter.com/cron-expression-generator-quartz.html)

Cron-Weekly

This node allows the user to set a String output 'message' which is delivered at a configured time on each selected day. Days and Times are set in settings. 'info' will show information about the status of the node. 'cronExpression' represents the configured scheduled timings in Cron notation. 'cronDescription' represents the configured scheduled timings in plain english. 'nextExecution' is a String output representing the datetime that the next 'message' will be sent from 'output'. For more information on Cron Expressions see: (https://www.freeformatter.com/cron-expression-generator-quartz.html)

Rubix Wires User Guide - Rev 1.1.4 | 78 

Page 79: Nube IO Rubix Wires Node Manual · Nube IO Rubix Wires Node Manual Rubix Wires User Guide - Rev 1.1.4 | 1

 

Trigger Change-Of Value

When ‘input’ changes value, output becomes ‘true’ for ‘interval’ duration, then ‘output’ changes back to ‘false’. For Numeric ‘input’ values, the change of value must be greater than the ‘threshold’ value to trigger the output.

Random

When 'trigger' transitions from 'false' to 'true', a random number between 'min' and 'max' values is produced at 'output'. The number of decimal places that 'output' values have can be set from settings.

Interval-inject

While 'enable' is 'true', ‘output’ will send 'message' value at every 'interval' period. When 'enable' is 'false', ‘output’ will be 'null'. ‘interval’ units can be configured from settings. Maximum ‘interval’ setting is 587 hours.

Iterator

This node generates a sequence of 'true' messages at 'output'. If the 'Generate False' setting is ticked (default), then a 'false' message will be sent between each 'true' at 'output'. The number of 'true' messages sent will be equal to 'iterations' value; these values are sent over the 'interval' duration (unless interrupted by ‘stop’ inputs). For example, if 'interval' is set to 5 (seconds) and 'iterations' is set to 5, a 'true' message will be sent from 'output' every 1000 millis. If 'stop’ input is ‘true’ then the next ‘true’ value will not be sent from ‘output’ until ‘stop’ is ‘false’ again. ‘interval’ units can be configured from settings. Maximum ‘interval’ setting is 587 hours.

Rubix Wires User Guide - Rev 1.1.4 | 79