{
  "productInfo" : {
    "company" : "HighByte",
    "product" : "IntelligenceHub",
    "version" : "4.3.3",
    "build" : "2026.1.5.1",
    "stage" : "Release"
  },
  "project" : {
    "version" : 12,
    "connections" : [ ],
    "inputs" : [ ],
    "outputs" : [ ],
    "modeling" : {
      "models" : [ ],
      "instances" : [ ]
    },
    "conditions" : [ ],
    "functions" : [ ],
    "tags" : [ ],
    "pipelines" : [ {
      "name" : "Demo_ObjectHierarchy_To_MQTT",
      "tags" : [ ],
      "inputStages" : [ "BuildSampleObject" ],
      "stages" : [ {
        "name" : "BuildSampleObject",
        "display" : {
          "position" : {
            "x" : 218,
            "y" : 3
          }
        },
        "config" : {
          "type" : ".JavaScriptTransformConfig",
          "transformExpression" : "stage.setValue({\r\n    site: \"Portland\",\r\n    area: \"Area1\",\r\n    line: \"Line1\",\r\n    asset: \"Motor01\",\r\n    values: {\r\n        amps: 12.4,\r\n        speed: 1775,\r\n        vibration: 0.08\r\n    }\r\n});"
        },
        "outputs" : [ "BuildTopicPath" ]
      }, {
        "name" : "BuildTopicPath",
        "display" : {
          "position" : {
            "x" : 648,
            "y" : -8
          }
        },
        "config" : {
          "type" : ".JSONataTransformConfig",
          "transformExpression" : "{\r\n  \"topicPath\": event.value.site & \"/\" & event.value.area & \"/\" & event.value.line & \"/\" & event.value.asset,\r\n  \"payload\": {\r\n    \"amps\": event.value.values.amps,\r\n    \"speed\": event.value.values.speed,\r\n    \"vibration\": event.value.values.vibration\r\n  }\r\n}"
        },
        "outputs" : [ "PrepareMQTTWrite" ]
      }, {
        "name" : "PrepareMQTTWrite",
        "display" : {
          "position" : {
            "x" : 1084,
            "y" : -1
          }
        },
        "config" : {
          "type" : ".JavaScriptTransformConfig",
          "transformExpression" : "stage.setMetadata(\"topicPath\", event.value.topicPath);\r\nstage.setValue(event.value.payload);"
        },
        "outputs" : [ "WriteNew" ]
      }, {
        "name" : "WriteNew",
        "display" : {
          "position" : {
            "x" : 1519,
            "y" : -13
          }
        },
        "config" : {
          "type" : ".DynamicWriteConfig",
          "failureOutputs" : [ ],
          "connectionReference" : "{{Connection.MQTT}}",
          "qualifier" : {
            "qos" : 0,
            "namedRoot" : false,
            "retained" : false,
            "breakupArrays" : false,
            "topic" : "{{event.metadata.topicPath}}"
          },
          "qualifierExpression" : "",
          "writeReturn" : "completion"
        },
        "outputs" : [ ]
      } ],
      "trackActivity" : false,
      "triggers" : [ {
        "name" : "PolledTrigger",
        "display" : {
          "position" : {
            "x" : -432,
            "y" : 4
          }
        },
        "config" : {
          "type" : ".TriggerPolled",
          "enabled" : false,
          "interval" : {
            "duration" : 30,
            "units" : "Seconds"
          }
        }
      } ],
      "errorHandler" : {
        "type" : "default"
      }
    } ],
    "namespace" : [ ]
  },
  "network" : {
    "groups" : [ ],
    "hubs" : [ ]
  }
}