...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<ThingModel<ThingFacet Name="TempFacetSerial"> <String Name="TempSensor"TempValue" update="auto" CombinesKnownBy="TempSensorFacetNSSerialReadAction"/> <Sid <String Name="sensorId"Unit" default="Celsius"/> <String Name="Peripheral"/> <String Name="InterfacePort"/> <String Name="Interface"/> <String Name="UniqueId" default="56789"/> <String Name="Baudrate"/> <String Name="Format" default="ascii"/> <String Name="Operation"/> <String Name="Payload"/> <Action Name="SerialReadAction"> <Workflow Limit="1" Live="1" Timeout="-1"> <Task name="Main" while="true"> <Event name="Argument" as="ActionArgument" /> <Invoke name="InvokeSerialRead" waitFor="Argument" get="perif://"> <Message> <Value> <InterfacePort>"[%:Event.Argument.interfacePort.Value:%]"</InterfacePort> <Baudrate>"[%:Event.Argument.baudrate.Value:%]"</Baudrate> <Interface>"[%:Event.Argument.interface.Value:%]"</Interface> <UniqueId>"[%:Event.Argument.uniqueId.Value:%]"</UniqueId> <Operation>"[%:Event.Argument.operation.Value:%]"</Operation> <format>"[%:Event.Argument.format.Value:%]"</format> <Payload>"[%:Event.Argument.payload.Value:%]"</Payload> <Peripheral>"[%:Event.Argument.peripheral.Value:%]"</Peripheral> </Value> </Message> </Invoke> <Output name="Result" as="ActionResult"> <Value> <tempValue>[%:Invoke.InvokeSerialRead.Message.Value/number(substring-before(substring-after ("[%:Invoke.InvokeSerialRead.Message.Value.received:%]",'#TCB:'), '#')):%] </tempValue> </Value> </Output> </Task> </Workflow> </Action> </ThingFacet> <ThingModel Name="TempSensor" combines="TempFacetSerial"> <Sid Name="sensorId"/> <Reference Name="ZoneID" Type="Zone" Cardinality="1"/> </ThingModel> |
...