Software: BACnet firmware (DXR2) and ThingWeb-based BACnet IP to CoAP/HTTP gateway (Java)
WoT functions:
Role: Server only
Protocols: CoAP, HTTP, BACnet IP
Encodings: JSON, ASN.1
Discovery: Automatic TD Repo registration and keep-alives
Application logic: Exposing BACnet objects as (composed) Things
The BACnet-Thing provides Properties to read the room temperature, air quality, and occupancy. There are Properties to read/write the temperature setpoint, control the lights, a fan, and a valve. Actions are used to control the blinds and run a temperature control loop. Events allow to subscribe to value changes and alarms. The gateway based on ThingWeb is application-agnostic and can discover any BACnet object. A BACnet and a building automation ontology is used to convert the discovered objects to Thing Description. All BACnet operations are provided as WoT interactions using a BACnet protocol binding, which is also used internally to proxy from BACnet to CoAP and HTTP.