Skip to content

Devices

Carsten Stocklöw edited this page Apr 22, 2018 · 5 revisions

The ontology defining the most typical devices used in the fields of HA, AmI and AAL.

Observations

This is still under evaluation and refinement. There may be issues with the fact of having the possibility of using Datatypes or Resources ad the Values in property hasValue depending on the concrete device, so please report if you find such a problem.

The purpose of the unified device ontology is that any app can reference any possible device in advance without knowing of any specific technology specialization. If a tech exporter (or any other app) wants to subclass any of the provided devices, it is OK to do so, assuming that further apps may not address their specific ontology, but rather the concepts in this ontology. Also, devices that are not present in this ontology can be created as long as they extend ValueDevice (if they are single-valued devices, otherwise they should extend phWorld´s Device).

Currently there is no Service concept controlling these devices. For now, it is possible to use phWorld´s DeviceService because all devices in here ultimately extend the concept Device.

If you miss some devices in this ontology, please suggest them at the 'issues' above.

Diagram

Elements

ValueDevice
Ontological representation of a Device that is related to a single property of the physical world that it can monitor, measure, activate, etc. Devices that can be linked to more than one value should be represented as a logical arrangement of single-value devices, or as one single-value device which value can have several magnitudes. This is not the case of other devices that are not intended for this real-world value control, e.g. a TV or a dishwasher. It is abstract so it cannot be instantiated. A device subclass must be used, which will define the concrete restrictions over hasValue property, because ValueDevice does not specify any.
Actuator
Ontological representation of a single-value device that can modify such value in the real world. It is possible to use this as a context subscriber, but the published events would represent the change of the status when explicitly "actuated". E.g: A switch that can be turned on or off. (Notice there is a mistake in the diagram image swapping the position of LightActuator and LightSensor).
Sensor
Ontological representation of a single-value device that only measures a real world value, but cannot modify it, e.g: a temperature sensor. It is possible to provide services for a sensor concept, but these would be limited to getting the current status of the sensor. Notice that it is possible for subclasses to inherit both from Sensor and Actuator. In these cases it represents Controllers: devices that can both actuate on a real-world value and measure its changes from the real world (as opposed to those made by themselves when actuated). E.g: A Blind controller that can be actuated to shut the blind but can also report if the user has opened it.
ValueType
Ontological representation of the type of value a ValueDevice is related to. This is an optional representation of how the underlying device considers changes on the value it controls: An EVENT value type means that the device handles its values as an occurrence, e.g: A detection of a fall or an air-freshener discharge. A STATE value is for state-based values, such as the level level of a dimmer or the status of a closure sensor. These issues usually depend on the underlying technology and implementation of the devices.

XXXSensor
Ontological representation of a sensor for a specific value: Humidity (percentage), Temperature (degrees [to]), Temperature Level (own value), Motion (own value), medication Dosage intake (own value), Exit (own value), Environment (CO, Gas, Smoke), Enuresis, Presence, Glass break, Panic button, Flood, Fall, Contact, Switch, Water flow, Window open, Heater, Power dimmer (percentage), Blind (percentage), Curtain (percentage), Light (percentage).
XXXActuator
Ontological representation of an actuator for a specific value: Switch, Water flow, Window open, Heater, Power dimmer (percentage), Blind (percentage), Curtain (percentage), Light (percentage).
XXXController
Ontological representation of an controller, which can act on a specific value and sense its changes: Switch, Water flow, Window open, Heater, Power dimmer (percentage), Blind (percentage), Curtain (percentage), Light (percentage).

StatusValue
Ontological representation of the value measured or actuated by device with up to 3 possible status (state or event-based): ACTIVATED (when the value is like "true"), NOT-ACTIVATED (when the value is like "false") and NO-CONDITION (when no assertion can be made, like when a device fails or initializes). The following other device-specific values are added because their sensors may have more than these basic values, but when possible, an equivalence is shown to this StatusValue values. This equivalence will be represented with the use of owl:sameAs
TemperatureLevel
Ontological representation of the value measured by a TemperatureLevelSensor. Possible values: HIGH, LOW, CHANGE-TOO-FAST.
ExitValue
Ontological representation of the value measured by an ExitSensor. Possible values: EXIT (=ACTIVATED), DOOR-LEFT-OPEN, NO-CONDITION (=NO-CONDITION).
DosageValue
Ontological representation of the value measured by a DosageSensor. Possible values: TAKEN (=ACTIVATED), MISSED, NO-CONDITION (=NO-CONDITION).
MotionValue
Ontological representation of the value measured by a MotionSensor. Possible values: DETECTED(=ACTIVATED), DELAYED, TAMPERED.
Clone this wiki locally