Project

General

Profile

DTXr doc » History » Version 77

David Fredriksson, 12/09/2025 05:02 PM

1 20 Torbjorn Carlqvist Admin
{{>toc}}
2
3
h1. DTXr documentation
4 1 Torbjorn Carlqvist Admin
5 5 Torbjorn Carlqvist Admin
h3. Installation
6 2 Torbjorn Carlqvist Admin
7 6 Torbjorn Carlqvist Admin
* System Requirements
8 74 David Fredriksson
DTXr can run on any machine that can run +Java 17+ and has sufficient with RAM and disk capacity.
9 1 Torbjorn Carlqvist Admin
10 21 Torbjorn Carlqvist Admin
|Requirement|System RAM|System DISK|Example|
11
|Minimal|512Mbyte|512Mbyte|Raspberry 1, Raspberry Zero|
12 31 Torbjorn Carlqvist Admin
|Better|512Mbyte|512Mbyte|Rasberry Zero 2|
13
|Avarage|1GByte|1Gbyte|Raspberry 2-4|
14 21 Torbjorn Carlqvist Admin
|Top|2GByte|8Gbyte|Raspberry 4, Raspberry CM4, Server, PC|
15
16 6 Torbjorn Carlqvist Admin
* Network Requirements
17
DTXr can run stand alone without any active network connection. In that case the management pages is accessible via localhost interface. But for DTXr to be a fully functional BACnet/IP device it must be connected to an IP network that offers IP address via DHCP and where broadcast traffic is allowed.
18 10 Torbjorn Carlqvist Admin
19 1 Torbjorn Carlqvist Admin
* Download DTXr software packages
20 10 Torbjorn Carlqvist Admin
Currently only customers to DAVITOR can download DTXr. Contact info@davitor.com for purchase information.
21
22 15 Torbjorn Carlqvist Admin
* Install on Linux
23 60 Torbjorn Carlqvist Admin
** There is special install scripts, please follow these steps:
24 22 Torbjorn Carlqvist Admin
### Download latest DTXr _base_ image and copy to a SD-card that has 16Gbyte capacity or more
25 64 David Fredriksson
26
Or install a new image and install java
27
<pre>sudo apt install default-jdk </pre>
28
29 22 Torbjorn Carlqvist Admin
### Insert the SD card, attach keyboard and screen via cable and start the device
30 41 David Fredriksson
### When you get prompt login as **admin/davitor**
31 72 Torbjorn Carlqvist Admin
### Download the installation script from davitor repository 
32
*(note dtx.sh has an update since Jan 17th, 2024 see new parameter 'installfolder' below)*
33
*(note dtx.sh has an update since Nov 6th, 2025 see new parameter 'type' below)*
34 59 Torbjorn Carlqvist Admin
<pre>wget --user=**** --password=**** https://artifacts.davitor.com/repository/dtx-raw/scripts/dtx.sh</pre>
35 56 Torbjorn Carlqvist Admin
There is also a utillity script that can set the host name and MAC adress. Note, optional and only applicable on LION product appliances.
36 59 Torbjorn Carlqvist Admin
<pre>wget --user=**** --password=****  https://artifacts.davitor.com/repository/dtx-raw/scripts/system.sh</pre>
37 56 Torbjorn Carlqvist Admin
Make the scripts exec
38
<pre>sudo chmod 770 *.sh</pre>
39 1 Torbjorn Carlqvist Admin
### Run installation as below where you first alter:
40 72 Torbjorn Carlqvist Admin
*** Required type (-t type) where type can be "scriptengine" for small platforms like RpiZ with 32-bit OS or "polyglot" for any 64-bits OS like servers or PC.
41 1 Torbjorn Carlqvist Admin
*** Required version (-v x.y.z)
42 69 Torbjorn Carlqvist Admin
*** The the install folder (-f myfolder) Note: Still relative to /usr/local so (-f myfolder) results in /usr/local/myfolder/dtx...
43 57 Torbjorn Carlqvist Admin
*** Partner user name (-u ****)
44
*** Partner password (-p ****)
45
*** Application password for the HTTP interface login on port 9090 (-app-password xxxxxxx)
46 58 Torbjorn Carlqvist Admin
*** BACnet Decvice Id (bac-device-id=nnnnn)
47 57 Torbjorn Carlqvist Admin
*** BACnet password which you will use to control the BACnet device DCC (bacnet-password=xxxxxx)
48 67 Torbjorn Carlqvist Admin
*** BACnet Device Name (bac-device-name=yyyy)
49 1 Torbjorn Carlqvist Admin
*** DAVITOR Reference Key (drk=xxxx) is used to mange and maintain this device from the DAVITOR PLM (Product Lifecycle Management) service. (drk=xxxx) The sequence of drk:s is in PLM instance database.
50
*** Hardware Platform Type (platform=xx) is used to control and switch on/off special features that is hardware dependent.
51
For LION products use:
52 73 David Fredriksson
<pre>sudo ./dtx.sh -t scriptengine|polyglot -v 3.2.2 -f myfolder -u **** -p **** -s "bac-device-id=nnnnn bac-device-name=yyyy app-password=xxxxxx bac-password=xxxxxx lion-enabled=true drk=xxxx platform=XX"</pre>
53 71 David Fredriksson
For other installations like PC, Servers etc. use:
54 72 Torbjorn Carlqvist Admin
<pre>sudo ./dtx.sh -t scriptengine|polyglot -v 3.1.23 -f myfolder -u **** -p **** -s "bac-device-id=nnnnn bac-device-name=yyyy app-password=xxxxxx bac-password=xxxxxx drk=xxxx platform=XX"</pre>
55 1 Torbjorn Carlqvist Admin
### Utillity script to set MAC and host name
56 54 Torbjorn Carlqvist Admin
<pre>sudo ./system.sh -mac 70:B3:D5:16:E8:99 -hn DTX-L1-8R8DI</pre>
57 62 Torbjorn Carlqvist Admin
* Upgrade on linux
58 69 Torbjorn Carlqvist Admin
If you already have DTX installed and should upgrade to a new version *(Don't forget to set correct installfolder with -f)*
59 72 Torbjorn Carlqvist Admin
<pre>sudo ./dtx.sh -t scriptengine|polyglot -v 3.1.23 -f myfolder -u **** -p ****</pre>
60 69 Torbjorn Carlqvist Admin
* Manage the DTX service *(Note, since 17th Jan, 2024 of dtx.sh the names of the services are appended with the instsall folder in order to install multiple instances of DTX in same machine.)*
61 70 Torbjorn Carlqvist Admin
Stop<pre>sudo systemctl stop dtx_{myfolder}</pre> 
62
Start<pre>sudo systemctl start dtx_{myfolder}</pre>
63
Check status<pre>systemctl status dtx_{myfolder}</pre>
64
Disable service, wont start at reboot<pre>sudo systemctl disable dtx_{myfolder}</pre>
65
Enable service, will start automatically at reboot<pre>sudo systemctl enable dtx_{myfolder}</pre>
66 15 Torbjorn Carlqvist Admin
67 55 Torbjorn Carlqvist Admin
* For other Linux distributions follow this steps
68 15 Torbjorn Carlqvist Admin
### _TBD..._
69
70 1 Torbjorn Carlqvist Admin
* Install on Windows
71
** Follow these steps:
72 32 David Fredriksson
### _TBD..._
73 38 Torbjorn Carlqvist Admin
74 32 David Fredriksson
h3. LION Fieldbus
75 38 Torbjorn Carlqvist Admin
76 15 Torbjorn Carlqvist Admin
* See LION [[LION:Wiki]] for howto in installataion, channel assigmnets and testing.
77 1 Torbjorn Carlqvist Admin
78 76 David Fredriksson
h3. Setup
79 1 Torbjorn Carlqvist Admin
80 76 David Fredriksson
DTXr is setup via Menu -> Setup page.
81 1 Torbjorn Carlqvist Admin
82 76 David Fredriksson
* System
83
** Administrator password - Password for the default (and not changeable) account  **"admin"**. Default is **"davitor"**.
84
_When you log in you will start att /home/admin
85
There is another user "pi" as well with a secret password._
86
** Operator username - Username for the typical user of any HMI developed on this device. Typically a machine operator. [Optional]
87
** Operator password - Password for the operator user. [Optional]
88
** Operator start page - Set any web page in the project folder that will automatically shown on an operator login. [Optional]
89
** Log Level - The system severity level for the system_app.log in /Logs tree directory.
90
** Platform - This is where DTX gets its information on which hardware options to consider.
91 1 Torbjorn Carlqvist Admin
92 77 David Fredriksson
h2. Setup – User Documentation
93
94
The Setup page allows configuration of all core DTXr system features such as passwords, BACnet parameters, hardware platform settings, networking, database access, and optional communication modules.
95
96
Below is a hybrid overview:
97
* A short end-user summary for each section
98
* A detailed field explanation block beneath each one
99
100
---
101
102
h3. Details
103
104
This section contains general device settings such as administrator credentials, operator account configuration, logging, and hardware platform selection.
105
106
*Summary:*
107
* Change admin and operator credentials
108
* Define operator start page
109
* Adjust system log level
110
* Select hardware platform profile
111
112
*Details:*
113
** Administrator password  
114
The password for the fixed “admin” account used to log into the main system.  
115
** Operator username  
116
Optional secondary user for HMI applications.  
117
** Operator password  
118
Password for the operator user.  
119
** Operator start page  
120
Defines which page is shown after operator login.  
121
** Log Level  
122
Controls verbosity for system_app.log (Error / Warning / Info / Debug).  
123
** Platform  
124
Hardware profile used to enable/disable platform-specific features (LION modules, radios, etc.).  
125
126
---
127
128
h3. BACnet
129
130
This section configures the device’s BACnet server identity and behavior.
131
132
*Summary:*
133
* Set device ID, device name, and BACnet password
134
* Configure network parameters such as segmentation and APDU size
135
* Enable/Disable BBMD (if available)
136
137
*Details:*
138
** Device ID  
139
Unique BACnet device identifier (required).  
140
** Device Name  
141
Human-readable device name.  
142
** BACnet Password  
143
Used for Device Communication Control (DCC).  
144
** Max APDU / Segmentation / Vendor ID  
145
Low-level protocol options.  
146
** BBMD Settings  
147
Optional Broadcast Management configuration for routed networks.  
148
149
---
150
151
h3. Davitor Advantage
152
153
Provides settings for cloud-based lifecycle management integration.
154
155
*Summary:*
156
* Configure access to Davitor PLM services
157
* Set DRK (Davitor Reference Key)
158
159
*Details:*
160
** DRK  
161
Used for secure PLM registration and remote management.  
162
** PLM Connectivity Settings  
163
Optional service endpoints and credentials.  
164
165
---
166
167
h3. Wireless Mesh
168
169
If the platform includes wireless mesh capabilities, configuration appears here.
170
171
*Summary:*
172
* Define mesh network parameters
173
* Enable/disable mesh module
174
175
*Details:*
176
** Mesh Role  
177
Defines node type (Coordinator / Router / End Device).  
178
** Channel / PAN ID  
179
Mesh frequency and network identifiers.  
180
** Encryption Key  
181
Optional security layer.  
182
183
---
184
185
h3. Bluetooth
186
187
Used to configure Bluetooth LE functionality on supported hardware.
188
189
*Summary:*
190
* Enable/disable Bluetooth
191
* Configure advertising name and pairing mode
192
193
*Details:*
194
** Bluetooth Enabled  
195
Turns the module on/off.  
196
** Device Name  
197
Shown during discovery.  
198
** Pairing / Security  
199
Optional pairing settings.  
200
201
---
202
203
h3. External Database Access
204
205
Allows the DTXr device to interface with an external SQL or NoSQL database.
206
207
*Summary:*
208
* Configure connection strings, credentials and modes
209
* Used for logging, trend storage or custom applications
210
211
*Details:*
212
** Database Type  
213
(MySQL / Postgres / SQLite / Other).  
214
** Host / Port  
215
Server location.  
216
** Username / Password  
217
Login credentials.  
218
** Sync/Logging Options  
219
Frequency of writes, table naming, etc.  
220
221
---
222
223
h3. File Integration
224
225
Allows importing or exporting configuration files, logs, or scripts.
226
227
*Summary:*
228
* Upload/download device configuration
229
* Export logs
230
* Provide custom scripts or HMI assets
231
232
*Details:*
233
** File Browser  
234
Shows files stored on the device.  
235
** Upload Section  
236
Allows uploading project assets.  
237
** Backup/Restore  
238
Download configuration or upload a saved configuration.  
239
240
---
241
242
h3. HTTP
243
244
Defines HTTP server behaviour for the web interface.
245
246
*Summary:*
247
* Configure ports, HTTPS, session timeouts, and login settings
248
249
*Details:*
250
** HTTP Port  
251
Default: 9090.  
252
** HTTPS Enable  
253
Optional TLS enablement.  
254
** Session Timeout  
255
Idle logout time.  
256
** Allowed Hosts  
257
Restrict which IPs may contact the web server.  
258
259
---
260
261
h3. LION Interface
262
263
Displayed only on LION-enabled hardware.
264
265
*Summary:*
266
* Configure LION I/O module mapping
267
* Set channel behavior and special hardware options
268
269
*Details:*
270
** LION Enabled  
271
Toggles feature availability.  
272
** Channel Configuration  
273
Defines input/output type, pull-ups, PWM capabilities.  
274
** Hardware Extensions  
275
Depending on the LION model.  
276
277
---
278
279
h3. IoT HUB (BETA)
280
281
Experimental cloud communication layer.
282
283
*Summary:*
284
* Connect device to an IoT gateway (MQTT/HTTPS depending on platform)
285
286
*Details:*
287
** IoT Backend URL  
288
Cloud endpoint.  
289
** Device Token  
290
Authentication for cloud use.  
291
** Sync Settings  
292
What data is uploaded (logs, values, events).  
293
294
---
295
296
297 76 David Fredriksson
* BACnet
298 1 Torbjorn Carlqvist Admin
** _TBD..._
299 76 David Fredriksson
300
* Davitor Advantage
301 1 Torbjorn Carlqvist Admin
** _TBD..._
302 76 David Fredriksson
303
* Wireless Mesh
304 1 Torbjorn Carlqvist Admin
** _TBD..._
305 76 David Fredriksson
306
* Bluetooth
307 1 Torbjorn Carlqvist Admin
** _TBD..._
308 76 David Fredriksson
309
* External Database Access
310 1 Torbjorn Carlqvist Admin
** _TBD..._
311 76 David Fredriksson
312
* File Integration
313 1 Torbjorn Carlqvist Admin
** _TBD..._
314 76 David Fredriksson
315
* HTTP
316 1 Torbjorn Carlqvist Admin
** _TBD..._
317 76 David Fredriksson
318
* LION Interface
319 1 Torbjorn Carlqvist Admin
** _TBD..._
320 76 David Fredriksson
321
* IoT HUB (BETA)
322 1 Torbjorn Carlqvist Admin
** _TBD..._
323
324 76 David Fredriksson
h3. User's Guide
325 1 Torbjorn Carlqvist Admin
326 76 David Fredriksson
h2. DTXr Web Interface – End User Documentation
327 1 Torbjorn Carlqvist Admin
328 76 David Fredriksson
*Important:*  
329
When selecting a *remote BACnet device*, the object list and notifications *do not update automatically*.  
330
You must press *@Objects → Refresh@* to reload the data.
331 1 Torbjorn Carlqvist Admin
332 76 David Fredriksson
For the *local device that hosts the web page*, all updates (property changes, events, alarms) are received *in real time*.
333 1 Torbjorn Carlqvist Admin
334 76 David Fredriksson
---
335 1 Torbjorn Carlqvist Admin
336 76 David Fredriksson
h3. 1. Overview
337
The DTXr web interface allows users to:
338
* View BACnet objects and their properties
339
* Modify writable properties (e.g., Present Value)
340
* Edit weekly schedules
341
* Switch between local and remote devices
342
* Monitor alarms, events, and notifications
343
* Use real-time updates through WebSocket (local device only)
344 1 Torbjorn Carlqvist Admin
345 76 David Fredriksson
---
346 1 Torbjorn Carlqvist Admin
347 76 David Fredriksson
h3. 2. Navigation Bar
348 1 Torbjorn Carlqvist Admin
349 76 David Fredriksson
h4. 2.1 Objects Menu
350
* *Refresh* reloads all object data and events.
351 1 Torbjorn Carlqvist Admin
352 76 David Fredriksson
_Note: Refresh is required when a remote device is selected._
353 1 Torbjorn Carlqvist Admin
354 76 David Fredriksson
h4. 2.2 Devices Menu
355
* Displays local device and all discovered BACnet devices.
356
* Devices are grouped by network.
357
* Selecting a device loads its object list.
358 1 Torbjorn Carlqvist Admin
359 76 David Fredriksson
h4. 2.3 Priority Menu
360
Controls the *BACnet write priority* used when writing Present Value.
361 1 Torbjorn Carlqvist Admin
362 76 David Fredriksson
Examples:
363
* Priority 1 – Manual Life Safety
364
* Priority 8 – Default
365
* Priority 16 – Lowest
366 1 Torbjorn Carlqvist Admin
367 76 David Fredriksson
h4. 2.4 Notifications Menu
368
Shows:
369
* Alarms
370
* Events
371
* Return-to-normal
372 75 David Fredriksson
373 76 David Fredriksson
The menu uses badge counters:
374
* Yellow = events  
375
* Red = alarms  
376
* Green = normal transitions  
377 75 David Fredriksson
378 76 David Fredriksson
---
379 75 David Fredriksson
380 76 David Fredriksson
h3. 3. Objects View
381 75 David Fredriksson
382 76 David Fredriksson
The main view lists all BACnet objects.
383 75 David Fredriksson
384
Features:
385 76 David Fredriksson
* Collapsible categories (accordions)
386
* Lazy loading of properties when expanded
387
* Editable Present Value fields where supported
388
* Real-time updates on the *local* device
389
* Manual refresh required for *remote* devices
390 75 David Fredriksson
391 76 David Fredriksson
h4. 3.1 Expanding an Object
392
Expanding an object loads:
393
* Properties
394
* Values
395
* Writable fields
396
* Schedule editor button (if applicable)
397 75 David Fredriksson
398 76 David Fredriksson
h4. 3.2 Writing Property Values
399
Steps:
400
# Edit a value in the input field.
401
# Press the Write/Save button.
402
# DTXr sends a BACnet WriteProperty with the selected priority.
403
# A popup shows success or error.
404 1 Torbjorn Carlqvist Admin
405 76 David Fredriksson
---
406 42 David Fredriksson
407 76 David Fredriksson
h3. 4. Device Discovery
408 13 Torbjorn Carlqvist Admin
409 76 David Fredriksson
h4. 4.1 Discovering Devices
410
Opening the *Devices* dropdown sends a Who-Is request and populates the list.
411 11 Torbjorn Carlqvist Admin
412 76 David Fredriksson
h4. 4.2 Selecting a Device
413
When switching devices:
414
* Properties reload
415
* Notification list reloads
416
* The selected device name appears in the navbar
417 14 Torbjorn Carlqvist Admin
418 76 David Fredriksson
h4. 4.3 Refreshing Content
419
*Mandatory* when using remote devices.
420 14 Torbjorn Carlqvist Admin
421 11 Torbjorn Carlqvist Admin
Use:
422 76 David Fredriksson
@Objects → Refresh@
423 14 Torbjorn Carlqvist Admin
424 76 David Fredriksson
This reloads:
425
* Object list
426
* Property values
427
* Notifications
428 11 Torbjorn Carlqvist Admin
429 76 David Fredriksson
---
430 11 Torbjorn Carlqvist Admin
431 76 David Fredriksson
h3. 5. Notifications and Events
432 14 Torbjorn Carlqvist Admin
433 76 David Fredriksson
Notifications include:
434
* Alarm
435
* Event
436
* Normal
437 11 Torbjorn Carlqvist Admin
438 76 David Fredriksson
Real-time updates:
439
* Enabled for local device
440
* Disabled for remote devices — manual refresh required
441 1 Torbjorn Carlqvist Admin
442 76 David Fredriksson
h4. 5.1 Acknowledgment
443
If a notification supports acknowledgment:
444
* Press _Acknowledge_
445
* DTXr sends BACnet AcknowledgeAlarm
446
* Notification updates when completed
447 19 Torbjorn Carlqvist Admin
448 76 David Fredriksson
---
449 19 Torbjorn Carlqvist Admin
450 76 David Fredriksson
h3. 6. Weekly Schedule Editor
451 1 Torbjorn Carlqvist Admin
452 76 David Fredriksson
h4. 6.1 Opening the Editor
453
Click the schedule property to open the weekly calendar modal.
454 1 Torbjorn Carlqvist Admin
455 76 David Fredriksson
h4. 6.2 Creating Events
456
Select a time in the calendar to create a new event.
457 1 Torbjorn Carlqvist Admin
458 76 David Fredriksson
h4. 6.3 Editing Events
459
Click an event to modify:
460
* Binary schedule → Active / Inactive
461
* Analog schedule → numeric value
462 1 Torbjorn Carlqvist Admin
463 76 David Fredriksson
h4. 6.4 Saving the Schedule
464
Click *@Save changes@* to store the weekly schedule.
465 1 Torbjorn Carlqvist Admin
466 76 David Fredriksson
The data is:
467
* Compiled into BACnet dailySchedule structures
468
* Sorted chronologically
469
* Sent to the device as JSON
470 1 Torbjorn Carlqvist Admin
471 76 David Fredriksson
---
472 1 Torbjorn Carlqvist Admin
473 76 David Fredriksson
h3. 7. Popups and Feedback
474 1 Torbjorn Carlqvist Admin
475 76 David Fredriksson
Popups indicate:
476
* Success
477
* Errors
478
* Info
479
* Warnings
480 1 Torbjorn Carlqvist Admin
481 76 David Fredriksson
---
482 1 Torbjorn Carlqvist Admin
483 76 David Fredriksson
h3. 8. Troubleshooting
484 1 Torbjorn Carlqvist Admin
485 76 David Fredriksson
h4. 8.1 Objects Not Updating
486
* Remote device selected → press Refresh  
487
* Network or device may be unreachable
488 1 Torbjorn Carlqvist Admin
489 76 David Fredriksson
h4. 8.2 Write Errors
490 1 Torbjorn Carlqvist Admin
Possible reasons:
491 76 David Fredriksson
* Incorrect priority  
492
* Object out of service  
493
* Invalid value  
494 1 Torbjorn Carlqvist Admin
495 76 David Fredriksson
h4. 8.3 Schedule Issues
496
* No events created  
497
* Missing object ID  
498
* Remote device requires manual refresh  
499 1 Torbjorn Carlqvist Admin
500 76 David Fredriksson
---
501 1 Torbjorn Carlqvist Admin
502
h3. Developer's Guide
503
504
[[IDE|IDE walk through]]
505
[[Javascript|The DTXr Javascript guide]]
506
[[Blockly|Blockly tutorials]]