Karl Hammar
Erik Wallin
This REC module covers device types (sensors and actuators), device configuration, device actuation, etc.
RealEstateCore Consortium
RealEstateCore Device Module
2020-06-23
device
https://w3id.org/rec/device/3.2/
At what time was an actuation received by the building system, and at what time was it executed?
Does temperature sensor TMP882 measure inside or outside temperature?
Does water temperature sensor TMP334 measure incoming water temperature, or return water temperature?
How is device AHU731 connected to the building infrastructure (comms bus, protocol, protocol version, connection parameters, etc)?
What addressable components (sensors, actuators, etc) make up device AHU731?
What are all the values reported over the past 24 hours from temperature sensors in rooms 2, 4, and 7?
What does sensor PID22 measure? Using which units?
What is observation/datapoint OBS-846294-PID22-88 a measurement of?
What is the measurement unit of observation/datapoint OBS-846294-PID22-88?
What is the most recent value reading from sensor TMP223?
What kind of device is AHU731?
Which actuator/device does a certain actuation/command target?
Which sensor did observation/datapoint OBS-846294-PID22-88 come from?
The actuation model is deployed and works in practice with the stakeholders, but we need to update the model to reflect current practice in their systems; e.g., extend the semantics a little and formalize standard state messages, response codes, etc.
3.2
actuation executed by
true
device placement context
event placement context
exception generated by
executes actuation
true
generated exception
Deprecated in favour of core:generatedObservation
generated observation
true
has actuation interface
true
Groups the subset of device configuration settings that are expressed using named individuals (for configuration attributes that are modelled with datatype properties, see datatype hasCommunicationAttribute).
has communication configuration
has communications bus
has device function type
hsKNXDataPointType
hasModbusDataType
hasModbusFunctionCode
has placement context
Deprecated in favour of core:observationGeneratedBy
observation generated by
true
Generic property indicating which sensors that are configured or designed to observe some feature, system, phenomenon, etc.
observed by
Indicates the (optional) entity-of-interest of some sensor, i.e., what it is configured to observe or look for.
observes
The actuator that a sensor is configured or designed to observe.
observes actuator
The payload of a command sent by the building management system to the underlying actuator(s).
actuation command
true
The payload of an incoming request to a building management system that it should perform an actuation; to be sent onward to a given Actuator.
actuation request
true
The value returned from an Actuator to the calling party.
actuation response
true
The time stamp for the event of the underlying system intiating the actuation command.
has actuation command time
true
The time stamp for when a request for an actuation arrived.
has actuation request time
true
The time stamp for a possible response from actuation process.
has actuation response time
true
Groups the subset of device configuration attributes that are expressed using datatype properties (for configuration attributes that are modelled with named individuals, see object property hasCommunicationConfiguration).
has communication attribute
has IP address
has IP address port
has KNX attribute
has KNX device ID
has KNX device port
has KNX group address
has local endpoint ID
has Lora attribute
has Lora DevEUI
has MAC address
has Modbus attribute
has Modbus node ID
has Modbus register
has Modbus register length
has offset
Time when an object or result was processed in a system.
Deprecated in favour of core:hasProcessedTime.
has processed time
true
has scale factor
has serial number
The act of changing the state of something.
Actuation
true
A description of what kind of input the Actuator accepts.
Actuation interface
true
1
An actuator takes some control input and executes some real-world action based on this input. Examples include setting dampers/valves in heating/cooling systems at certain configurations, opening or closing a smart lock, turning on or off an electric radiator, etc. REC does not provide semantics for every type of actuator you might find in a building; rather we here provide classes and properties that allows users to define their own actuator models, based on the systems they have, adhering to REC.
Actuator
actuator
true
Specific classes and properties to be extended in upcoming version.
BACnetConfiguration
Instances of this class and its subclasses represent configuration fields and values in the various old-world non-IoT building system standards.
Communication configuration
Type of communications bus for the Device.
Communications bus
1
Events that are relevant in a Device context; initially observations, actuations, and exceptions.
Device events
The main function or purpose of a Device.
Device function type
devicefunctiontype
true
Failed attempt or unexpected result when tried to do something (e.g. read a Sensor).
Exception
Specific classes and properties to be extended in upcoming version.
KNXConfiguration
KNXDataPointType
Specific classes and properties to be extended in upcoming version.
LoRaConfiguration
Specific classes and properties to be extended in upcoming version.
MBusConfiguration
ModbusConfiguration
https://en.wikipedia.org/wiki/Modbus
ModbusDataType
ModbusTCPFunctionCode
Specific classes and properties to be extended in upcoming version.
ModbusRTUConfiguration
Specific classes and properties to be extended in upcoming version.
ModbusTCPConfiguration
Specific classes and properties to be extended in upcoming version.
OPC-DAConfiguration
Specific classes and properties to be extended in upcoming version.
OPC-UAConfiguration
1
1
Observation of a phenomena. Made by a Sensor. Used with hasValue.
Deprecated in favour of core:Observation.
Observation
true
Description of the context or media that a sensor or actuator is operating within.
Placement context
placementcontext
true
The power source for the device.
Power source
1
1
Thing which detects or measures a physical property and records, indicates, or otherwise responds to it.
Deprecated in favour of core:Sensor.
Sensor
true
1
AirDiffuser
AirHandlingUnit
BACnet
Boiler
Chiller
CirculationAir
Coil
ColdWaterFlow
ColdWaterReturn
Compressor
Condenser
Device that controls Actuators (can also collect data).
Control
Damper
Device that collects data
DataAcquisition
Device that acts as a broker (could be a switch or gateway)
DataCommunicationGateway
The inward direction of an observation for e.g. Presence (Footfall) - to be able to differentiate between directions.
DirectionInward
The outward direction of an observation for e.g. Presence (Footfall) - to be able to differentiate between directions.
DirectionOutward
DistrictCoolingFlow
DistrictCoolingReturn
DistrictHeatingFlow
DistrictHeatingReturn
Electric intake for Electrical vehicle.
ElectricalGridEV
ElectricalGridIntake
ElectricalGridInternal
ElectricalGridLocalProduction
ElectricalGridTenant
Elevator
Escalator
ExhaustAir
ExtractAir
Fan
Filter
Fixed length string
Heat recovery within, e.g., a heat exchanger.
HeatRecovery
Heater
HotWaterFlow
HotWaterReturn
Hwrc
IP
IndoorAir
KNX
LoRa
MBus
ModbusRTU
ModbusTCP
OPC-DA
OPC-UA
OutdoorAir
PrimaryCoolingFlow
PrimaryCoolingReturn
PrimaryHeatingFlow
PrimaryHeatingReturn
Pump
RecyclingEnergyFlow
RecyclingEnergyReturn
SecondaryCoolingFlow
SecondaryCoolingReturn
SecondaryHeatingFlow
SecondaryHeatingReturn
SteamFlow
SteamReturn
SupplyAir
Thermostat
Valve
Variable length string
WasteWater
Read coil
1
1 byte
Boolean, like switching, move up/down, step
1.yyy
Write Multiple Coils
15
Write Multiple Holding Registers
16
Read Discrete Input
2
2 byte
2 byte BCD
2 byte signed integer
2 byte signed integer swapped
2 byte unsigned integer
2 byte unsigned integer swapped
Read Holding Registers
3
Read Input Registers
4
4 byte BCD
4 byte BCD swapped
4 byte float
4 byte float BCD
4 byte float swapped
4 byte signed integer
4 byte signed integer swapped
4 byte signed integer swapped bytes and words
4 byte unsigned integer
4 byte unsigned integer swapped
4 byte unsigned integer swapped bytes and words
Write Single Coil
5
Write Single Holding Register
6
8 byte float
8 byte float swapped
8 byte signed integer
8 byte signed integer swapped
8 byte unsigned integer
8 byte unsigned integer swapped