====Input Names==== Agency inputs follow the format.... . For example, if you're looking for the //Pressure// (a property) of a cars //Front Right Tire// (an asset), you'd write... Front Right Tyre.Pressure ====Dynamic Names==== When you're [[alert attachment|attaching an alert to more than one asset]], you'll need to dynamically update the name of the point you're attaching to. Writing {0} in the place of the assets name will substitute the name of //each attached asset// into the input. ===Neighbours=== If you're attaching to assets using a //relationship//, you can alter the number to access those assets either before (ie {-1} picks the previous asset) or after ({1} picks the next asset). This is useful if looking for leaks or discontinuities across a sequence. ===Other Options=== You can reference //child// assets using the greater-than symbol between the curly braces. For example... {0>#1} will pick the //first// child under the asset. {0>Motor} will pick the //first child with 'Motor' in its name// under the asset. This can be useful if you're connecting an alert to assets that have multiple component parts and you'd like to check for differences between them. ===Complex Example=== In our **Paint Line** example, we have machines called //bridles//. These have two rollers inside that should be synchronised. If they run at different speeds, it could indicate severe problems with the production line. The condition where the two rollers are running differently is called 'slipping'. Each bridle has a type named 'Bridle' and two sub-components representing each roller. For example... Bridle #2 Bridle #2 Roller 1 Bridle #2 Roller 2 To make a single alert that searches //every// bridle for slipping, you'd use something like the configuration below... { "name": "Slipping", "type": ["Bridle"] "ondelay": 1, "inputs": ["{0>Roller 1}.Speed - Actual","{0>Roller 2}.Speed - Actual"], "comparison": "abs({0} - {1}) > 0.5", }