Project

General

Profile

DTXr features » History » Revision 18

Revision 17 (David Fredriksson, 03/29/2022 08:29 AM) → Revision 18/21 (David Fredriksson, 03/29/2022 08:30 AM)

h1. DTXr features 

 h3. BACNet/IP Stack 

 DTXr hosts a full BACnet/IP stack. 

 * Rev. 19 Ver. 1 
 * BTL tested 

 h3. IDE 

 h1. Introduction 
 h3. 
 This is the documentation of the DTXr Integrated Development Environment (IDE) 
 The IDE can be hosted on a BACnet device or on any other device that can run the application such as a PC or other device able to host a Virtual Java Machine. There are several reasons to hosting the IDE on a BACnet device rather than on a computer. Most importantly is the ability to cope with the future. Several years from now when a change is needed, the user will most likely have a different computer, a different operating system and will probably not keep track of old interface cables. Furthermore the syntax used to create the logic of the device is JavaScript. The reasons for this are many, but most important is the fact that JavaScript does not need to compile and downloaded to a device but is real time interpreted. Hence the code will be active as soon as it is saved, saving compilation and upload time. 

 h1.The Object page 
 h3. 
 The object page may look very different depending on what objects that are in the device that you have entered. If the device is Gateway or a HUB (also sometimes called a cloud server) the objects will appear as general or virtual objects but if the device is a BACnet device there will be objects according to what hardware is in the BACnet device. 
 If the device has many objects they may appear further down and you may have to scroll down quite a bit in order to see all the objects in the device. 
 In the Top pane of the Object side there are five drop down menus. 

 h2. Objects (leftmost drop down menu) 
 h3. 
 This only contains an option to refresh the page. 

 h2 .Devices (second leftmost menu) 
 h3. 
 When you first enter the Object page, you will see the objects that belong to the device that you have entered by writing its IP address or DNS name and logged in. In the Device dropdown menu you can enter any other BACnet device that is on your network. 

 
 h2. Priority 
 h3. 
 In the priority menu you may choose the priority that a change will be performed at if you make changes on objects. Default priority is eight, or Manual operator priority. Note that a change won’t happen if another command has a higher priority 
 Priority Level 	 Application 
 1 	 Manual-Life Safety 
 2 	 Automatic-Life Safety 
 3 	 Available 
 4 	 Available 
 5 	 Critical Equipment Control 
 6 	 Minimum On/Off 
 7 	 Available 
 8 	 Manual Operator 
 9 	 Available 
 10 	 Available 
 11 	 Available 
 12 	 Available 
 13 	 Available 
 14 	 Available 
 15 	 Available 
 16 	 Available 

 h2. Notifications  
 h3. 
 If something out of the ordinary happens there may be a notification. A notification can typically be set up if a value is out of the normal interval. If there are notifications they will appear here. 
 For more information about notifications se: 
 "Short article about notifiacations":http://www.bacnet.org/Bibliography/BACnet-Today-11/Isler-2011.pdf 
 "More advanced information on notifications":https://bacnetexperts.com/papers/Alarms%20and%20Events.pdf 

 h2. Page Browser Menu 
 h3. 
 This is where you surf to other pages in the DTXr Integrated Development Environment such as: 
 Setup 
 Code 
 API 
 Blocks 
 Logout 



 _TBD..._ 

 h3. Graph Editor 

 _TBD..._ 

 h3. Map Editor 

 _TBD..._ 

 h3. Blockly 

 !Blockly.png! 

 h3. REST-API 

 Every running DTXr instance has it's own REST API that can be used to access and modify various aspects of the node. 

 A swagger index pages is offered as: 
 http://[IP]:[PORT]/browse/swagger/index.html 

 h4. Object Type enumeration 

 <pre> 
 analogInput: 0 
 analogOutput: 1 
 analogValue: 2 
 binaryInput: 3 
 binaryOutput: 4 
 binaryValue: 5 
 calendar: 6 
 command: 7 
 device: 8 
 eventEnrollment: 9 
 file: 10 
 group: 11 
 loop: 12 
 multiStateInput: 13 
 multiStateOutput: 14 
 notificationClass: 15 
 program: 16 
 schedule: 17 
 averaging: 18 
 multiStateValue: 19 
 trendLog: 20 
 lifeSafetyPoint: 21 
 lifeSafetyZone: 22 
 accumulator: 23 
 pulseConverter: 24 
 eventLog: 25 
 trendLogMultiple: 27 
 loadControl: 28 
 structuredView: 29 
 accessDoor: 30 
 accessCredentialInput: 37 
 characterStringValue: 40 
 integerValue: 45 
 alertEnrollment: 52 
 lightingOutput: 54 
 bacqlScript: 129 
 </pre>