{ "Folder": "ScadaLink", "NodeList": [], "FolderList": [ { "Folder": "Motor", "NodeList": [ { "NodeId": "Motor.Speed", "Name": "Speed", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Motor speed in RPM" }, { "NodeId": "Motor.Temperature", "Name": "Temperature", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Motor bearing temperature in Celsius" }, { "NodeId": "Motor.Current", "Name": "Current", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Motor current draw in Amps" }, { "NodeId": "Motor.Running", "Name": "Running", "DataType": "Boolean", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Motor running status" }, { "NodeId": "Motor.FaultCode", "Name": "FaultCode", "DataType": "UInt32", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Active fault code (0 = no fault)" } ] }, { "Folder": "Pump", "NodeList": [ { "NodeId": "Pump.FlowRate", "Name": "FlowRate", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Flow rate in liters per minute" }, { "NodeId": "Pump.Pressure", "Name": "Pressure", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Discharge pressure in bar" }, { "NodeId": "Pump.Running", "Name": "Running", "DataType": "Boolean", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Pump running status" } ] }, { "Folder": "Tank", "NodeList": [ { "NodeId": "Tank.Level", "Name": "Level", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Tank level in percent" }, { "NodeId": "Tank.Temperature", "Name": "Temperature", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Tank contents temperature in Celsius" }, { "NodeId": "Tank.HighLevel", "Name": "HighLevel", "DataType": "Boolean", "ValueRank": -1, "AccessLevel": "CurrentRead", "Description": "High level alarm switch" }, { "NodeId": "Tank.LowLevel", "Name": "LowLevel", "DataType": "Boolean", "ValueRank": -1, "AccessLevel": "CurrentRead", "Description": "Low level alarm switch" } ] }, { "Folder": "Valve", "NodeList": [ { "NodeId": "Valve.Position", "Name": "Position", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Valve position in percent open" }, { "NodeId": "Valve.Command", "Name": "Command", "DataType": "UInt32", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Valve command (0=Close, 1=Open, 2=Stop)" } ] }, { "Folder": "JoeAppEngine", "NodeList": [ { "NodeId": "JoeAppEngine.BTCS", "Name": "BTCS", "DataType": "String", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "BTCS string value" }, { "NodeId": "JoeAppEngine.AlarmCntsBySeverity", "Name": "AlarmCntsBySeverity", "DataType": "Int32", "ValueRank": 1, "ArrayDimensions": [13], "AccessLevel": "CurrentReadOrWrite", "Description": "13-element alarm counts by severity level" } ], "FolderList": [ { "Folder": "Scheduler", "NodeList": [ { "NodeId": "JoeAppEngine.Scheduler.ScanTime", "Name": "ScanTime", "DataType": "DateTime", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Current scan time (updates every second)" } ] } ] }, { "Folder": "DevAppEngine", "NodeList": [], "FolderList": [ { "Folder": "Scheduler", "NodeList": [ { "NodeId": "DevAppEngine.Scheduler.ScanTime", "Name": "ScanTime", "DataType": "DateTime", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Current scan time for DevAppEngine" } ] } ] }, { "Folder": "Sensor", "NodeList": [ { "NodeId": "Sensor.Reading", "Name": "Reading", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Generic sensor reading" } ] }, { "Folder": "Misc", "NodeList": [ { "NodeId": "Temperature", "Name": "Temperature", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Standalone Temperature tag (Base Device default)" } ] }, { "Folder": "TestChildObject", "NodeList": [ { "NodeId": "TestChildObject.TestBool", "Name": "TestBool", "DataType": "Boolean", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Test scalar Boolean" }, { "NodeId": "TestChildObject.TestBoolArray", "Name": "TestBoolArray", "DataType": "Boolean", "ValueRank": 1, "ArrayDimensions": [4], "AccessLevel": "CurrentReadOrWrite", "Description": "Test Boolean array" }, { "NodeId": "TestChildObject.TestDateTime", "Name": "TestDateTime", "DataType": "DateTime", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Test scalar DateTime" }, { "NodeId": "TestChildObject.TestDateTimeArray", "Name": "TestDateTimeArray", "DataType": "DateTime", "ValueRank": 1, "ArrayDimensions": [4], "AccessLevel": "CurrentReadOrWrite", "Description": "Test DateTime array" }, { "NodeId": "TestChildObject.TestDouble", "Name": "TestDouble", "DataType": "Double", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Test scalar Double" }, { "NodeId": "TestChildObject.TestDoubleArray", "Name": "TestDoubleArray", "DataType": "Double", "ValueRank": 1, "ArrayDimensions": [4], "AccessLevel": "CurrentReadOrWrite", "Description": "Test Double array" }, { "NodeId": "TestChildObject.TestFloat", "Name": "TestFloat", "DataType": "Float", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Test scalar Float" }, { "NodeId": "TestChildObject.TestFloatArray", "Name": "TestFloatArray", "DataType": "Float", "ValueRank": 1, "ArrayDimensions": [4], "AccessLevel": "CurrentReadOrWrite", "Description": "Test Float array" }, { "NodeId": "TestChildObject.TestInt", "Name": "TestInt", "DataType": "Int32", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Test scalar Int32" }, { "NodeId": "TestChildObject.TestIntArray", "Name": "TestIntArray", "DataType": "Int32", "ValueRank": 1, "ArrayDimensions": [4], "AccessLevel": "CurrentReadOrWrite", "Description": "Test Int32 array" }, { "NodeId": "TestChildObject.TestString", "Name": "TestString", "DataType": "String", "ValueRank": -1, "AccessLevel": "CurrentReadOrWrite", "Description": "Test scalar String" }, { "NodeId": "TestChildObject.TestStringArray", "Name": "TestStringArray", "DataType": "String", "ValueRank": 1, "ArrayDimensions": [4], "AccessLevel": "CurrentReadOrWrite", "Description": "Test String array" } ] } ] }