{
  "productInfo" : {
    "company" : "HighByte",
    "product" : "IntelligenceHub",
    "version" : "4.0.0",
    "build" : "2024.10.7.595",
    "stage" : "Release"
  },
  "project" : {
    "version" : 9,
    "connections" : [ {
      "name" : "HB_Tutorial_File",
      "uri" : "file://Tutorial_File",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_File_Connections", "HB_Tutorial_Buffer_Pipeline" ],
      "writes" : {
        "flattenModeledValues" : false
      },
      "subscriptions" : { },
      "storeForward" : {
        "enabled" : false,
        "maxEntries" : 100,
        "waitOnFailureInterval" : {
          "duration" : 1,
          "units" : "Seconds"
        }
      },
      "settings" : {
        "communicationProtocol" : {
          "type" : "FILE_PROTOCOL",
          "options" : { }
        },
        "directory" : "C:\\IH-Test\\__File",
        "processedDirectory" : "/files/processed",
        "errorDirectory" : "/files/error"
      }
    }, {
      "name" : "HB_Tutorial_MQTT",
      "uri" : "mqtt://0.0.0.0:1885",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Buffer_Pipeline", "HB_Tutorial_Connections", "HB_Tutorial_Dynamic_Templating", "HB_Tutorial_File_Connections", "HB_Tutorial_Models", "HB_Tutorial_Static_Templating", "HB_Tutorial_Transform_Pipeline" ],
      "writes" : {
        "flattenModeledValues" : false
      },
      "subscriptions" : { },
      "storeForward" : {
        "enabled" : false,
        "maxEntries" : 100,
        "waitOnFailureInterval" : {
          "duration" : 1,
          "units" : "Seconds"
        }
      },
      "settings" : {
        "connectionTimeoutSeconds" : 10,
        "keepAliveSeconds" : 60,
        "requestTimeoutMS" : 5000,
        "cleanSession" : true,
        "ssl" : false,
        "redundantBrokers" : [ ],
        "inputDiscovery" : "",
        "clientId" : "HB_Tutorial_MQTT"
      }
    }, {
      "name" : "HB_Tutorial_OPC_UA",
      "uri" : "opc.tcp://52.10.6.4:49320",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Buffer_Pipeline", "HB_Tutorial_Connections", "HB_Tutorial_Dynamic_Templating", "HB_Tutorial_Models", "HB_Tutorial_Static_Templating", "HB_Tutorial_Transform_Pipeline" ],
      "writes" : {
        "flattenModeledValues" : false
      },
      "subscriptions" : {
        "subscriptionRate" : {
          "duration" : 1,
          "units" : "Seconds"
        }
      },
      "storeForward" : {
        "enabled" : false,
        "maxEntries" : 100,
        "waitOnFailureInterval" : {
          "duration" : 1,
          "units" : "Seconds"
        }
      },
      "settings" : {
        "security" : "None",
        "authentication" : {
          "type" : "Anonymous"
        },
        "connectTimeoutSeconds" : 5,
        "requestTimeoutMS" : 5000,
        "maxItemsPerRead" : 512,
        "maxItemsPerWrite" : 256,
        "certificateKeyPair" : "app-certificate-private-key",
        "sessionName" : ""
      }
    }, {
      "name" : "HB_Tutorial_SQL_Server",
      "uri" : "jdbc.sqlserver://52.10.6.4:1433",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Connections", "HB_Tutorial_Dynamic_Templating", "HB_Tutorial_Models", "HB_Tutorial_Transform_Pipeline" ],
      "writes" : {
        "flattenModeledValues" : false
      },
      "subscriptions" : { },
      "storeForward" : {
        "enabled" : false,
        "maxEntries" : 100,
        "waitOnFailureInterval" : {
          "duration" : 1,
          "units" : "Seconds"
        }
      },
      "settings" : {
        "database" : "serviceinfo",
        "username" : "highbyte",
        "password" : {
          "type" : "Encrypted",
          "value" : {
            "keyId" : "ZQ5w+mXQibsUgKtsZ6FTRw==",
            "iv" : "/F2y6BxIH3ZIL/w+xBg3Ig==",
            "ciphertext" : "CEehNpcoXCnBiwoHbZocYg=="
          }
        }
      }
    } ],
    "inputs" : [ {
      "name" : "HB_Tutorial_File_Input_Read_By_File_Type",
      "connection" : "HB_Tutorial_File",
      "type" : "file",
      "qualifier" : {
        "fileName" : "(.+jpg)",
        "includeMetadata" : true
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "HB_Tutorial_File_Input_Read_Wildcard",
      "connection" : "HB_Tutorial_File",
      "type" : "file",
      "qualifier" : {
        "fileName" : "(.+)",
        "includeMetadata" : true
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Input_File",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "payloadType" : "json",
        "qos" : 0,
        "topic" : "Tutorial/File",
        "includeTopic" : false
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial",
        "dataType" : "Auto",
        "type" : "Branch",
        "maxDepth" : 1
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Asset_Collection_Templated",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "type" : "Collection",
        "samplingInterval" : {
          "duration" : 0,
          "units" : "Seconds"
        },
        "ignoreBadQuality" : false,
        "collection" : [ {
          "name" : "Tutorial_CNC_Fanuc_AssetID",
          "namespaceIndex" : 2,
          "identifierType" : "String",
          "identifier" : "Tutorial.CNC_Fanuc_{{this.InputAssetID}}.AssetID",
          "type" : "Tag",
          "dataType" : "String"
        }, {
          "name" : "Tutorial_CNC_Fanuc_CuttingSpeed",
          "namespaceIndex" : 2,
          "identifierType" : "String",
          "identifier" : "Tutorial.CNC_Fanuc_{{this.InputAssetID}}.CuttingSpeed",
          "type" : "Tag",
          "dataType" : "Real32"
        }, {
          "name" : "Tutorial_CNC_Fanuc_MachineTemperature",
          "namespaceIndex" : 2,
          "identifierType" : "String",
          "identifier" : "Tutorial.CNC_Fanuc_{{this.InputAssetID}}.MachineTemperature",
          "type" : "Tag",
          "dataType" : "Real32"
        }, {
          "name" : "Tutorial_CNC_Fanuc_PowerCurrent",
          "namespaceIndex" : 2,
          "identifierType" : "String",
          "identifier" : "Tutorial.CNC_Fanuc_{{this.InputAssetID}}.PowerCurrent",
          "type" : "Tag",
          "dataType" : "Real32"
        }, {
          "name" : "Tutorial_CNC_Fanuc_FeedRate",
          "namespaceIndex" : 2,
          "identifierType" : "String",
          "identifier" : "Tutorial.CNC_Fanuc_{{this.InputAssetID}}.FeedRate",
          "type" : "Tag",
          "dataType" : "Real32"
        } ]
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "name" : "{{this.InputAssetID}}",
        "type" : "Static",
        "params" : [ {
          "name" : "InputAssetID",
          "pattern" : "1001-1003"
        } ]
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_AirPressure",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.AirPressure",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_AssetID",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.AssetID",
        "type" : "Tag",
        "dataType" : "String"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_AxisPositionX",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.AxisPositionX",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_AxisPositionY",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.AxisPositionY",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_AxisPositionZ",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.AxisPositionZ",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_CoolantpH",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.CoolantpH",
        "type" : "Tag",
        "dataType" : "Int16"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_CuttingSpeed",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.CuttingSpeed",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_FaultCode",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.FaultCode",
        "type" : "Tag",
        "dataType" : "Int16"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_FeedRate",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.FeedRate",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_MachineState",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.MachineState",
        "type" : "Tag",
        "dataType" : "Int16"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_MachineTemperature",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.MachineTemperature",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_PartProgamID",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.PartProgramID",
        "type" : "Tag",
        "dataType" : "String",
        "samplingInterval" : {
          "duration" : 0,
          "units" : "Seconds"
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_PowerCurrent",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.PowerCurrent",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_PowerCurrentXAxis",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.PowerCurrentXAxis",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_PowerCurrentYAxis",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.PowerCurrentYAxis",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_PowerCurrentZAxis",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.PowerCurrentZAxis",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_ProductionCount",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.ProductionCount",
        "type" : "Tag",
        "dataType" : "Int16"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_RejectCount",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.RejectCount",
        "type" : "Tag",
        "dataType" : "Int16"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_SpindleLoad",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.SpindleLoad",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_SpindleSpeed",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.SpindleSpeed",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_SpindleTemperature",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.SpindleTemperature",
        "type" : "Tag",
        "dataType" : "Real32"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_StateDescription",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.StateDescription",
        "type" : "Tag",
        "dataType" : "String"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_1001_ToolID",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_1001.ToolID",
        "type" : "Tag",
        "dataType" : "String"
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_Branch_Templated",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_Fanuc_{{this.InputAssetID}}",
        "dataType" : "Auto",
        "type" : "Branch",
        "maxDepth" : 1,
        "cacheInterval" : {
          "duration" : 1,
          "units" : "Hours"
        },
        "ignoreBadQuality" : false,
        "browseVariableNodes" : false
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "name" : "{{this.InputAssetID}}",
        "type" : "Static",
        "params" : [ {
          "name" : "InputAssetID",
          "pattern" : "1001-1003"
        } ]
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_Machine_State_Dynamic",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_{{this.InputAssetID}}.MachineState",
        "type" : "Tag",
        "dataType" : "Int16",
        "samplingInterval" : {
          "units" : "Seconds",
          "duration" : 1
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "name" : "{{this.InputAssetID}}",
        "type" : "Off",
        "params" : [ {
          "name" : "InputAssetID",
          "pattern" : "\"fanuc_1001\""
        } ]
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_Part_Program_ID_Dynamic",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_{{this.InputAssetID}}.PartProgamID",
        "type" : "Tag",
        "dataType" : "String",
        "samplingInterval" : {
          "units" : "Seconds",
          "duration" : 1
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "name" : "{{this.InputAssetID}}",
        "type" : "Off",
        "params" : [ {
          "name" : "InputAssetID",
          "pattern" : "\"Fanuc_1001\""
        } ]
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_Reject_Count_Dynamic",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_{{this.InputAssetID}}.RejectCount",
        "type" : "Tag",
        "dataType" : "Int16",
        "samplingInterval" : {
          "units" : "Seconds",
          "duration" : 1
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "Tutorial_CNC_Fanuc_Tool_ID_Dynamic",
      "connection" : "HB_Tutorial_OPC_UA",
      "type" : "opc.tcp",
      "qualifier" : {
        "namespaceIndex" : 2,
        "identifierType" : "String",
        "identifier" : "Tutorial.CNC_{{this.InputAssetID}}.ToolID",
        "type" : "Tag",
        "dataType" : "String",
        "samplingInterval" : {
          "units" : "Seconds",
          "duration" : 1
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "HB_Tutorial_SQL_Server_Input_Get_All_Assets",
      "connection" : "HB_Tutorial_SQL_Server",
      "type" : "jdbc.sqlserver",
      "qualifier" : {
        "query" : "select * from [dbo].[cmms_servicelogs]",
        "type" : "query",
        "index" : {
          "enabled" : false,
          "indexName" : "",
          "indexValue" : ""
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "HB_Tutorial_SQL_Server_Input_Get_All_CNC_Asset_IDs",
      "connection" : "HB_Tutorial_SQL_Server",
      "type" : "jdbc.sqlserver",
      "qualifier" : {
        "query" : "select  [dbo].[cmms_servicelogs].[asset_id] from [dbo].[cmms_servicelogs] where [dbo].[cmms_servicelogs].[asset_type] = 'CNC'",
        "type" : "query",
        "index" : {
          "enabled" : false,
          "indexName" : "",
          "indexValue" : ""
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    }, {
      "name" : "HB_Tutorial_SQL_Server_Input_Get_All_CNC_Assets",
      "connection" : "HB_Tutorial_SQL_Server",
      "type" : "jdbc.sqlserver",
      "qualifier" : {
        "type" : "query",
        "query" : "select * from [dbo].[cmms_servicelogs] where [dbo].[cmms_servicelogs].[asset_type] = 'CNC'",
        "index" : {
          "enabled" : false,
          "indexName" : "",
          "indexValue" : ""
        }
      },
      "cacheLifetime" : {
        "enabled" : false
      },
      "template" : {
        "type" : "Off"
      }
    } ],
    "outputs" : [ {
      "name" : "HB_Tutorial_File_Output_File",
      "connection" : "HB_Tutorial_File",
      "type" : "file",
      "qualifier" : {
        "breakupArrays" : false,
        "fileName" : "Tutorial_fileoutput.jpg",
        "payloadReference" : "{{this.value}}",
        "base64Decoding" : true
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Output_CNC_Templated_Branch",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "qos" : 0,
        "namedRoot" : false,
        "breakupArrays" : true,
        "topic" : "Tutorial/Templating/TemplatedConnection/{{this.AssetID}}",
        "retained" : false
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Output_CNC_Templated_Instance",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "qos" : 0,
        "namedRoot" : false,
        "breakupArrays" : true,
        "topic" : "Tutorial/Templating/TemplatedInstance/{{this.AssetID}}",
        "retained" : false
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Output_CNC_Templated_Pipeline",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "qos" : 0,
        "namedRoot" : false,
        "breakupArrays" : true,
        "topic" : "Tutorial/Templating/TemplatedPipeline/{{this._name}}",
        "retained" : false
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Output_File",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "qos" : 0,
        "namedRoot" : false,
        "breakupArrays" : false,
        "topic" : "Tutorial/File",
        "retained" : false
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Output_Model_Complex",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "qos" : 0,
        "namedRoot" : false,
        "breakupArrays" : false,
        "topic" : "Tutorial/Model/Complex",
        "retained" : false,
        "filterList" : [ ]
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Output_Model_Simple",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "qos" : 0,
        "namedRoot" : false,
        "breakupArrays" : false,
        "topic" : "Tutorial/Model/Simple",
        "retained" : false
      }
    }, {
      "name" : "HB_Tutorial_MQTT_Output_OPC_UA_Branch",
      "connection" : "HB_Tutorial_MQTT",
      "type" : "mqtt",
      "qualifier" : {
        "qos" : 0,
        "namedRoot" : false,
        "breakupArrays" : false,
        "topic" : "Tutorial/OPC_UA_Branch",
        "retained" : false
      }
    } ],
    "modeling" : {
      "models" : [ {
        "name" : "HB_Tutorial_CNC_Asset_Info",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Buffer_Pipeline" ],
        "attributes" : [ {
          "attributeType" : "Internal",
          "name" : "AssetID",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "String"
        }, {
          "attributeType" : "Internal",
          "name" : "Temperature",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "Temperature_UOM",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "CuttingSpeed",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "PowerCurrent",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "FeedRate",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "LastServiceDate",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "LastServiceNotes",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        } ]
      }, {
        "name" : "HB_Tutorial_Models_CNC_Asset_Info",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Models", "HB_Tutorial_Static_Templating" ],
        "attributes" : [ {
          "attributeType" : "Internal",
          "name" : "AssetID",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "String"
        }, {
          "attributeType" : "Internal",
          "name" : "Temperature",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "Temperature_UOM",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "CuttingSpeed",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "PowerCurrent",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "FeedRate",
          "nullable" : false,
          "required" : true,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "LastServiceDate",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "LastServiceNotes",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        } ]
      }, {
        "name" : "HB_Tutorial_Models_Enterprise_CNC",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Models", "HB_Tutorial_Transform_Pipeline" ],
        "attributes" : [ {
          "attributeType" : "Internal",
          "name" : "Enterprise",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "Site",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "Area",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "Line",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Modeled",
          "name" : "Values",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "model" : "HB_Tutorial_Models_CNC_Asset_Info"
        }, {
          "attributeType" : "Object",
          "name" : "ProgramInfo",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "attributes" : [ {
            "attributeType" : "Internal",
            "name" : "ProgramID",
            "nullable" : false,
            "required" : false,
            "array" : false,
            "internalType" : "Any"
          }, {
            "attributeType" : "Internal",
            "name" : "ToolID",
            "nullable" : false,
            "required" : false,
            "array" : false,
            "internalType" : "Any"
          }, {
            "attributeType" : "Internal",
            "name" : "MachineState",
            "nullable" : false,
            "required" : false,
            "array" : false,
            "internalType" : "Any"
          }, {
            "attributeType" : "Internal",
            "name" : "RejectCount",
            "nullable" : false,
            "required" : false,
            "array" : false,
            "internalType" : "Any"
          } ]
        } ]
      }, {
        "name" : "HB_Tutorial_Program_Info",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Dynamic_Templating" ],
        "attributes" : [ {
          "attributeType" : "Internal",
          "name" : "ProgramID",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "ToolID",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "MachineState",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        }, {
          "attributeType" : "Internal",
          "name" : "RejectCount",
          "nullable" : false,
          "required" : false,
          "array" : false,
          "internalType" : "Any"
        } ]
      } ],
      "instances" : [ {
        "name" : "HB_Tutorial_CNC_Asset_Info_Instance",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Buffer_Pipeline" ],
        "model" : "HB_Tutorial_CNC_Asset_Info",
        "rootValueAs" : "Object",
        "template" : {
          "name" : "{{this.InstanceAssetID}}",
          "type" : "Static",
          "params" : [ {
            "name" : "InstanceAssetID",
            "pattern" : "1001-1003"
          } ]
        },
        "executeMode" : "V3Legacy",
        "initExpression" : "",
        "attributes" : [ {
          "name" : "AssetID",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Asset_Collection_Templated(InputAssetID={{this.InstanceAssetID}})}}.Tutorial_CNC_Fanuc_AssetID"
          }
        }, {
          "name" : "Temperature",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Asset_Collection_Templated(InputAssetID={{this.InstanceAssetID}})}}.Tutorial_CNC_Fanuc_MachineTemperature"
          }
        }, {
          "name" : "Temperature_UOM",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "defaultValue" : "F"
        }, {
          "name" : "CuttingSpeed",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Asset_Collection_Templated(InputAssetID={{this.InstanceAssetID}})}}.Tutorial_CNC_Fanuc_CuttingSpeed"
          }
        }, {
          "name" : "PowerCurrent",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Asset_Collection_Templated(InputAssetID={{this.InstanceAssetID}})}}.Tutorial_CNC_Fanuc_PowerCurrent"
          }
        }, {
          "name" : "FeedRate",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Asset_Collection_Templated(InputAssetID={{this.InstanceAssetID}})}}.Tutorial_CNC_Fanuc_FeedRate"
          }
        }, {
          "name" : "LastServiceDate",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          }
        }, {
          "name" : "LastServiceNotes",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          }
        } ]
      }, {
        "name" : "HB_Tutorial_Models_CNC_Asset_Info_Instance",
        "tags" : [ "HB_Tutorial_Models", "HB_Tutorial" ],
        "model" : "HB_Tutorial_Models_CNC_Asset_Info",
        "rootValueAs" : "Object",
        "template" : {
          "type" : "Off"
        },
        "executeMode" : "V4",
        "initExpression" : "",
        "attributes" : [ {
          "name" : "AssetID",
          "expression" : {
            "type" : "Reference",
            "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_AssetID}}"
          }
        }, {
          "name" : "Temperature",
          "expression" : {
            "type" : "Reference",
            "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_MachineTemperature}}"
          }
        }, {
          "name" : "Temperature_UOM",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "defaultValue" : "F"
        }, {
          "name" : "CuttingSpeed",
          "expression" : {
            "type" : "Reference",
            "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_CuttingSpeed}}"
          }
        }, {
          "name" : "PowerCurrent",
          "expression" : {
            "type" : "Reference",
            "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_PowerCurrent}}"
          }
        }, {
          "name" : "FeedRate",
          "expression" : {
            "type" : "Reference",
            "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_FeedRate}}"
          }
        }, {
          "name" : "LastServiceDate",
          "expression" : {
            "type" : "Reference",
            "reference" : "{{Connection.HB_Tutorial_SQL_Server.HB_Tutorial_SQL_Server_Input_Get_All_CNC_Assets[0].date}}"
          }
        }, {
          "name" : "LastServiceNotes",
          "expression" : {
            "type" : "Reference",
            "reference" : "{{Connection.HB_Tutorial_SQL_Server.HB_Tutorial_SQL_Server_Input_Get_All_CNC_Assets[0].notes}}"
          }
        } ]
      }, {
        "name" : "HB_Tutorial_Models_CNC_Asset_Info_Instance_Templated",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Static_Templating" ],
        "model" : "HB_Tutorial_Models_CNC_Asset_Info",
        "rootValueAs" : "Object",
        "template" : {
          "name" : "{{this.InstanceAssetID}}",
          "type" : "Static",
          "params" : [ {
            "name" : "InstanceAssetID",
            "pattern" : "1001-1003"
          } ]
        },
        "executeMode" : "V4",
        "initExpression" : "",
        "attributes" : [ {
          "name" : "AssetID",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial.CNC_Fanuc_{{this.InstanceAssetID}}.AssetID}};"
          }
        }, {
          "name" : "Temperature",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial.CNC_Fanuc_{{this.InstanceAssetID}}.MachineTemperature}};"
          }
        }, {
          "name" : "Temperature_UOM",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "defaultValue" : "F"
        }, {
          "name" : "CuttingSpeed",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial.CNC_Fanuc_{{this.InstanceAssetID}}.CuttingSpeed}};"
          }
        }, {
          "name" : "PowerCurrent",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial.CNC_Fanuc_{{this.InstanceAssetID}}.PowerCurrent}};"
          }
        }, {
          "name" : "FeedRate",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial.CNC_Fanuc_{{this.InstanceAssetID}}.FeedRate}};"
          }
        }, {
          "name" : "LastServiceDate",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          }
        }, {
          "name" : "LastServiceNotes",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          }
        } ]
      }, {
        "name" : "HB_Tutorial_Models_Enterprise_CNC_Instance",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Models", "HB_Tutorial_Transform_Pipeline" ],
        "model" : "HB_Tutorial_Models_Enterprise_CNC",
        "rootValueAs" : "Object",
        "template" : {
          "type" : "Off"
        },
        "executeMode" : "V4",
        "initExpression" : "",
        "attributes" : [ {
          "name" : "Enterprise",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "defaultValue" : "Tutorial"
        }, {
          "name" : "Site",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "defaultValue" : "Site 1"
        }, {
          "name" : "Area",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "defaultValue" : "Area 1"
        }, {
          "name" : "Line",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "defaultValue" : "Line 1"
        }, {
          "name" : "Values",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "attributes" : [ {
            "name" : "AssetID",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_AssetID}}"
            }
          }, {
            "name" : "Temperature",
            "expression" : {
              "type" : "JavaScript",
              "expression" : "return ({{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_MachineTemperature}}-32)*.5556;"
            }
          }, {
            "name" : "Temperature_UOM",
            "expression" : {
              "type" : "Reference",
              "reference" : ""
            },
            "defaultValue" : "C"
          }, {
            "name" : "CuttingSpeed",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_CuttingSpeed}}"
            }
          }, {
            "name" : "PowerCurrent",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_PowerCurrent}}"
            }
          }, {
            "name" : "FeedRate",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_FeedRate}}"
            }
          }, {
            "name" : "LastServiceDate",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_SQL_Server.HB_Tutorial_SQL_Server_Input_Get_All_CNC_Assets[0].date}}"
            }
          }, {
            "name" : "LastServiceNotes",
            "expression" : {
              "type" : "Reference",
              "reference" : ""
            }
          } ]
        }, {
          "name" : "ProgramInfo",
          "expression" : {
            "type" : "Reference",
            "reference" : ""
          },
          "attributes" : [ {
            "name" : "ProgramID",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_PartProgamID}}"
            }
          }, {
            "name" : "ToolID",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_ToolID}}"
            }
          }, {
            "name" : "MachineState",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_MachineState}}"
            }
          }, {
            "name" : "RejectCount",
            "expression" : {
              "type" : "Reference",
              "reference" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_1001_RejectCount}}"
            }
          } ]
        } ]
      }, {
        "name" : "HB_Tutorial_Program_Info_Instance_Dynamic_Template",
        "tags" : [ "HB_Tutorial", "HB_Tutorial_Dynamic_Templating" ],
        "model" : "HB_Tutorial_Program_Info",
        "rootValueAs" : "Object",
        "template" : {
          "name" : "{{this.asset_id}}",
          "type" : "Dynamic",
          "reference" : "{{Connection.HB_Tutorial_SQL_Server.HB_Tutorial_SQL_Server_Input_Get_All_CNC_Asset_IDs}}"
        },
        "executeMode" : "V4",
        "initExpression" : "",
        "attributes" : [ {
          "name" : "ProgramID",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_Part_Program_ID_Dynamic(InputAssetID={{this.asset_id}})}};"
          }
        }, {
          "name" : "ToolID",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_Tool_ID_Dynamic(InputAssetID={{this.asset_id}})}};"
          }
        }, {
          "name" : "MachineState",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_Machine_State_Dynamic(InputAssetID={{this.asset_id}})}};"
          }
        }, {
          "name" : "RejectCount",
          "expression" : {
            "type" : "JavaScript",
            "expression" : "return {{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_Reject_Count_Dynamic(InputAssetID={{this.asset_id}})}};"
          }
        } ]
      } ]
    },
    "conditions" : [ ],
    "functions" : [ ],
    "tags" : [ {
      "name" : "HB_Tutorial"
    }, {
      "name" : "HB_Tutorial_Buffer_Pipeline"
    }, {
      "name" : "HB_Tutorial_Connections"
    }, {
      "name" : "HB_Tutorial_Dynamic_Templating"
    }, {
      "name" : "HB_Tutorial_File_Connections"
    }, {
      "name" : "HB_Tutorial_Models"
    }, {
      "name" : "HB_Tutorial_Static_Templating"
    }, {
      "name" : "HB_Tutorial_Transform_Pipeline"
    } ],
    "pipelines" : [ {
      "name" : "HB_Tutorial_Buffer_Pipeline",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Buffer_Pipeline" ],
      "settings" : {
        "inputStages" : [ "Transform" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "FlowTrigger",
          "config" : {
            "type" : ".TriggerFlow",
            "inReferences" : [ "{{Instance.HB_Tutorial_CNC_Asset_Info_Instance}}" ],
            "publishMode" : "All",
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 2,
                "units" : "Seconds"
              },
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              },
              "mode" : "Always"
            },
            "template" : {
              "type" : "Off"
            },
            "enabled" : false
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Transform",
          "outputs" : [ "TimedBuffer" ],
          "config" : {
            "type" : ".TransformConfig",
            "transformExpression" : "stage.setMetadata(\"AssetID\", event.value.AssetID)\r\nstage.setValue(event.value);"
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        }, {
          "name" : "TimedBuffer",
          "outputs" : [ "WriteNew", "CSV" ],
          "config" : {
            "type" : ".TimedBufferConfig",
            "windowInterval" : {
              "units" : "Seconds",
              "duration" : 10
            },
            "windowExpression" : "stage.setBufferKey(event.value.AssetID);"
          },
          "display" : {
            "position" : {
              "x" : 690,
              "y" : 0
            }
          }
        }, {
          "name" : "WriteNew",
          "outputs" : [ ],
          "config" : {
            "type" : ".DynamicWriteConfig",
            "failureOutputs" : [ ],
            "connectionReference" : "{{Connection.HB_Tutorial_MQTT}}",
            "ignoreResult" : false,
            "qualifier" : {
              "topic" : "Tutorial/PipelineBuffer/{{event.metadata.bufferKey}}",
              "qos" : 0,
              "namedRoot" : false,
              "retained" : false,
              "breakupArrays" : false
            },
            "connectionType" : "mqtt"
          },
          "display" : {
            "position" : {
              "x" : 1140,
              "y" : -67.5
            }
          }
        }, {
          "name" : "CSV",
          "outputs" : [ "WriteNew_1" ],
          "config" : {
            "type" : ".CSVFormatConfig",
            "delimiter" : ","
          },
          "display" : {
            "position" : {
              "x" : 1140,
              "y" : 67.5
            }
          }
        }, {
          "name" : "WriteNew_1",
          "outputs" : [ ],
          "config" : {
            "type" : ".DynamicWriteConfig",
            "failureOutputs" : [ ],
            "connectionReference" : "{{Connection.HB_Tutorial_File}}",
            "ignoreResult" : false,
            "qualifier" : {
              "fileName" : "{{event.metadata.bufferKey}}.csv",
              "breakupArrays" : false
            },
            "connectionType" : "file"
          },
          "display" : {
            "position" : {
              "x" : 1590,
              "y" : 67.5
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_CNC_Asset_Info_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Models" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 10,
                "units" : "Seconds"
              },
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              },
              "mode" : "Always"
            },
            "inReferences" : [ "{{Instance.HB_Tutorial_Models_CNC_Asset_Info_Instance}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Off"
            }
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Targets",
          "outputs" : [ ],
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Output_Model_Simple}}" ],
            "ignoreResult" : false
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_CNC_Templated_Instance_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Static_Templating" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 10,
                "units" : "Seconds"
              },
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              },
              "mode" : "Always"
            },
            "inReferences" : [ "{{Instance.HB_Tutorial_Models_CNC_Asset_Info_Instance_Templated}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Off"
            }
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Targets",
          "outputs" : [ ],
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Output_CNC_Templated_Instance}}" ],
            "ignoreResult" : false
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_Enterprise_Asset_Info_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Models" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "stages" : [ {
          "name" : "Targets",
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          },
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Output_Model_Complex}}" ],
            "ignoreResult" : false
          },
          "outputs" : [ ]
        } ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          },
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 10,
                "units" : "Seconds"
              },
              "mode" : "Always",
              "expression" : "",
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              }
            },
            "inReferences" : [ "{{Instance.HB_Tutorial_Models_Enterprise_CNC_Instance}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Off"
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_File_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_File_Connections" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 10,
                "units" : "Seconds"
              },
              "mode" : "Always",
              "expression" : "",
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              }
            },
            "inReferences" : [ "{{Connection.HB_Tutorial_File.HB_Tutorial_File_Input_Read_By_File_Type}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Off"
            }
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Targets",
          "outputs" : [ ],
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Output_File}}" ],
            "ignoreResult" : false
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_OPC_UA_Branch_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Connections" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 10,
                "units" : "Seconds"
              },
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              },
              "mode" : "Always"
            },
            "inReferences" : [ "{{Connection.HB_Tutorial_OPC_UA.Tutorial}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Off"
            }
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Targets",
          "outputs" : [ ],
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Output_OPC_UA_Branch}}" ],
            "ignoreResult" : false
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_OPC_UA_Templated_Input_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Static_Templating" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 10,
                "units" : "Seconds"
              },
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              },
              "mode" : "Always"
            },
            "inReferences" : [ "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_Branch_Templated}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Off"
            }
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Targets",
          "outputs" : [ ],
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Output_CNC_Templated_Branch}}" ],
            "ignoreResult" : false
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_Program_Dynamic_Templated_Instance_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Dynamic_Templating" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Exception",
              "interval" : {
                "duration" : 1,
                "units" : "Seconds"
              },
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              },
              "mode" : "Always",
              "expression" : "{{Connection.HB_Tutorial_OPC_UA.Tutorial_CNC_Fanuc_Machine_State_Dynamic(InputAssetID={{this.asset_id}})}}"
            },
            "inReferences" : [ "{{Instance.HB_Tutorial_Program_Info_Instance_Dynamic_Template(asset_id={{this.asset_id}})}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Dynamic",
              "name" : "{{this.asset_id}}",
              "reference" : "{{Connection.HB_Tutorial_SQL_Server.HB_Tutorial_SQL_Server_Input_Get_All_CNC_Asset_IDs}}"
            }
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Targets",
          "outputs" : [ ],
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Output_CNC_Templated_Pipeline}}" ],
            "ignoreResult" : false
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_Read_File_From_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_File_Connections" ],
      "settings" : {
        "inputStages" : [ "Targets" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "Flow",
          "config" : {
            "type" : ".TriggerFlow",
            "enabled" : false,
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 10,
                "units" : "Seconds"
              },
              "mode" : "Always",
              "expression" : "",
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              }
            },
            "inReferences" : [ "{{Connection.HB_Tutorial_MQTT.HB_Tutorial_MQTT_Input_File}}" ],
            "publishMode" : "All",
            "template" : {
              "type" : "Off"
            }
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "Targets",
          "outputs" : [ ],
          "config" : {
            "type" : ".WriteConfig",
            "failureOutputs" : [ ],
            "references" : [ "{{Connection.HB_Tutorial_File.HB_Tutorial_File_Output_File}}" ],
            "ignoreResult" : false
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 0
            }
          }
        } ]
      }
    }, {
      "name" : "HB_Tutorial_Transform_To_MQTT",
      "uri" : "pipeline",
      "tags" : [ "HB_Tutorial", "HB_Tutorial_Transform_Pipeline" ],
      "settings" : {
        "inputStages" : [ "WriteNew_Original", "Flatten" ],
        "trackActivity" : false,
        "triggers" : [ {
          "name" : "FlowTrigger",
          "config" : {
            "type" : ".TriggerFlow",
            "inReferences" : [ "{{Instance.HB_Tutorial_Models_Enterprise_CNC_Instance}}" ],
            "publishMode" : "All",
            "flowEvaluation" : {
              "type" : "Polled",
              "interval" : {
                "duration" : 5,
                "units" : "Seconds"
              },
              "delay" : {
                "duration" : 0,
                "units" : "Seconds"
              },
              "mode" : "Always"
            },
            "template" : {
              "type" : "Off"
            },
            "enabled" : false
          },
          "display" : {
            "position" : {
              "x" : -450,
              "y" : 0
            }
          }
        } ],
        "stages" : [ {
          "name" : "WriteNew_Original",
          "outputs" : [ ],
          "config" : {
            "type" : ".DynamicWriteConfig",
            "failureOutputs" : [ ],
            "connectionReference" : "{{Connection.HB_Tutorial_MQTT}}",
            "ignoreResult" : false,
            "qualifier" : {
              "topic" : "Tutorial/Transform/Original",
              "qos" : 0,
              "namedRoot" : false,
              "retained" : false,
              "breakupArrays" : false
            },
            "connectionType" : "mqtt"
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : -67.5
            }
          }
        }, {
          "name" : "Flatten",
          "outputs" : [ "WriteNew_Flatten", "Breakup" ],
          "config" : {
            "type" : ".FlattenConfig",
            "delimiter" : "/"
          },
          "display" : {
            "position" : {
              "x" : 240,
              "y" : 67.5
            }
          }
        }, {
          "name" : "WriteNew_Flatten",
          "outputs" : [ ],
          "config" : {
            "type" : ".DynamicWriteConfig",
            "failureOutputs" : [ ],
            "connectionReference" : "{{Connection.HB_Tutorial_MQTT}}",
            "ignoreResult" : false,
            "qualifier" : {
              "topic" : "Tutorial/Transform/Flattened",
              "qos" : 0,
              "namedRoot" : false,
              "retained" : false,
              "breakupArrays" : false
            },
            "connectionType" : "mqtt"
          },
          "display" : {
            "position" : {
              "x" : 690,
              "y" : 0
            }
          }
        }, {
          "name" : "Breakup",
          "outputs" : [ "WriteNew_Breakup" ],
          "config" : {
            "type" : ".BreakupConfig",
            "breakupType" : "all"
          },
          "display" : {
            "position" : {
              "x" : 690,
              "y" : 135
            }
          }
        }, {
          "name" : "WriteNew_Breakup",
          "outputs" : [ ],
          "config" : {
            "type" : ".DynamicWriteConfig",
            "failureOutputs" : [ ],
            "connectionReference" : "{{Connection.HB_Tutorial_MQTT}}",
            "ignoreResult" : false,
            "qualifier" : {
              "topic" : "Tutorial/Transform/Breakup/{{event.metadata.breakupName}}",
              "qos" : 0,
              "namedRoot" : false,
              "retained" : false,
              "breakupArrays" : false
            },
            "connectionType" : "mqtt"
          },
          "display" : {
            "position" : {
              "x" : 1140,
              "y" : 135
            }
          }
        } ]
      }
    } ],
    "namespace" : [ ]
  },
  "network" : {
    "groups" : [ ],
    "hubs" : [ ]
  }
}