...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<ThingFacet<Def Name="TempFacetSerialPeripheralParams"> <String Name="Peripheral"/> <String Name="TempValue" update="auto" KnownBy="SerialReadAction"InterfacePort"/> <String Name="Interface"/> <String Name="UnitUniqueId" default="Celsius56789"/> <String Name="Baudrate"/> <String Name="PeripheralFormat" default="ascii"/> <String Name="Operation"/> <String Name="InterfacePortPayload"/> </Def> <String<ThingFacet Name="InterfaceTempFacetSerial"/> <String Name<String Name="UniqueIdInitSubscribers" default="56789false"/> <String Name="Baudrate KnownBy="InitSubAction"/> <String Name="FormatSensorData" defaultupdate="asciiauto"/> <String Name="Operation KnownBy="SensorDataReadAction"/> <String<PeripheralParams Name="PayloadPerifParams"/> <Action Name="SerialReadActionSensorDataReadAction"> <Workflow Limit="1" Live="1" Timeout="-1"> <Task name="Main" while="true"> <Event name="Argument" as="ActionArgument" /> <Invoke name="InvokeSerialRead" waitFor="Argument" get="perif://"> get="perif://"> <Message> <Message> <Value> <Value> <InterfacePort> <InterfacePort>"[%:Event.Argument.interfacePortPerifParams.InterfacePort.Value:%]"</InterfacePort> </InterfacePort> <Baudrate>"[%:Event.Argument.baudrate.Value:%]"</Baudrate> <Baudrate> <Interface>"[%:Event.Argument.PerifParams.interfaceBaudrate.Value:%]"</Interface> </Baudrate> <UniqueId>"[%:Event.Argument.uniqueId.Value:%]"</UniqueId> <Interface> <Operation>"[%:Event.Argument.operationPerifParams.Interface.Value:%]"</Operation> </Interface> <format>"[%:Event.Argument.format.Value:%]"</format> <UniqueId> "[%:Event.Argument.PerifParams.UniqueId.Value:%]" <Payload>"[%:Event.Argument.payload.Value:%]"</Payload> </UniqueId> <Operation> <Peripheral>"[%:Event.Argument.peripheralPerifParams.Operation.Value:%]"</Peripheral> </Operation> </Value> <Peripheral> "[%:Event.Argument.PerifParams.Peripheral.Value:%]" </Message> </Peripheral> </Invoke> <Payload> <Output name="Result" as="ActionResult">"[%:Event.Argument.PerifParams.Payload.Value:%]" </Payload> <Value> <Format> <tempValue>"[%:InvokeEvent.Argument.InvokeSerialReadPerifParams.MessageFormat.Value/number(substring-before(substring-after:%]" </Format> </Value> </Message> ("[%:Invoke.InvokeSerialRead.Message.Value.received:%]",'#TCB:'), '#')):%] </Invoke> <Output Name="Result" As="ActionResult"> </tempValue> <Value> <SensorData> </Value> [%:Invoke.InvokeSerialRead.Message.Value/normalize-space(received):%] </Output>SensorData> </Value> </Task> </Output> </Workflow>Task> </Workflow> </Action> </ThingFacet> <ThingModel Name="TempSensor" combines="TempFacetSerial"> <Sid Name="sensorId"/> <Reference Name="ZoneID" Type="Zone" Cardinality="1"/> </ThingModel> |
...