DTXr doc » History » Version 75
David Fredriksson, 12/09/2025 04:38 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 | |
| 8 | * System Requirements |
||
| 9 | 74 | David Fredriksson | DTXr can run on any machine that can run +Java 17+ and has sufficient with RAM and disk capacity. |
| 10 | 1 | Torbjorn Carlqvist Admin | |
| 11 | 21 | Torbjorn Carlqvist Admin | |Requirement|System RAM|System DISK|Example| |
| 12 | |Minimal|512Mbyte|512Mbyte|Raspberry 1, Raspberry Zero| |
||
| 13 | 31 | Torbjorn Carlqvist Admin | |Better|512Mbyte|512Mbyte|Rasberry Zero 2| |
| 14 | |Avarage|1GByte|1Gbyte|Raspberry 2-4| |
||
| 15 | 21 | Torbjorn Carlqvist Admin | |Top|2GByte|8Gbyte|Raspberry 4, Raspberry CM4, Server, PC| |
| 16 | |||
| 17 | 6 | Torbjorn Carlqvist Admin | * Network Requirements |
| 18 | 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. |
||
| 19 | 10 | Torbjorn Carlqvist Admin | |
| 20 | 1 | Torbjorn Carlqvist Admin | * Download DTXr software packages |
| 21 | 10 | Torbjorn Carlqvist Admin | Currently only customers to DAVITOR can download DTXr. Contact info@davitor.com for purchase information. |
| 22 | |||
| 23 | 15 | Torbjorn Carlqvist Admin | * Install on Linux |
| 24 | 60 | Torbjorn Carlqvist Admin | ** There is special install scripts, please follow these steps: |
| 25 | 22 | Torbjorn Carlqvist Admin | ### Download latest DTXr _base_ image and copy to a SD-card that has 16Gbyte capacity or more |
| 26 | 64 | David Fredriksson | |
| 27 | Or install a new image and install java |
||
| 28 | <pre>sudo apt install default-jdk </pre> |
||
| 29 | |||
| 30 | 22 | Torbjorn Carlqvist Admin | ### Insert the SD card, attach keyboard and screen via cable and start the device |
| 31 | 41 | David Fredriksson | ### When you get prompt login as **admin/davitor** |
| 32 | 72 | Torbjorn Carlqvist Admin | ### Download the installation script from davitor repository |
| 33 | *(note dtx.sh has an update since Jan 17th, 2024 see new parameter 'installfolder' below)* |
||
| 34 | *(note dtx.sh has an update since Nov 6th, 2025 see new parameter 'type' below)* |
||
| 35 | 59 | Torbjorn Carlqvist Admin | <pre>wget --user=**** --password=**** https://artifacts.davitor.com/repository/dtx-raw/scripts/dtx.sh</pre> |
| 36 | 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. |
| 37 | 59 | Torbjorn Carlqvist Admin | <pre>wget --user=**** --password=**** https://artifacts.davitor.com/repository/dtx-raw/scripts/system.sh</pre> |
| 38 | 56 | Torbjorn Carlqvist Admin | Make the scripts exec |
| 39 | <pre>sudo chmod 770 *.sh</pre> |
||
| 40 | 1 | Torbjorn Carlqvist Admin | ### Run installation as below where you first alter: |
| 41 | 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. |
| 42 | 1 | Torbjorn Carlqvist Admin | *** Required version (-v x.y.z) |
| 43 | 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... |
| 44 | 57 | Torbjorn Carlqvist Admin | *** Partner user name (-u ****) |
| 45 | *** Partner password (-p ****) |
||
| 46 | *** Application password for the HTTP interface login on port 9090 (-app-password xxxxxxx) |
||
| 47 | 58 | Torbjorn Carlqvist Admin | *** BACnet Decvice Id (bac-device-id=nnnnn) |
| 48 | 57 | Torbjorn Carlqvist Admin | *** BACnet password which you will use to control the BACnet device DCC (bacnet-password=xxxxxx) |
| 49 | 67 | Torbjorn Carlqvist Admin | *** BACnet Device Name (bac-device-name=yyyy) |
| 50 | 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. |
| 51 | *** Hardware Platform Type (platform=xx) is used to control and switch on/off special features that is hardware dependent. |
||
| 52 | For LION products use: |
||
| 53 | 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> |
| 54 | 71 | David Fredriksson | For other installations like PC, Servers etc. use: |
| 55 | 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> |
| 56 | 1 | Torbjorn Carlqvist Admin | ### Utillity script to set MAC and host name |
| 57 | 54 | Torbjorn Carlqvist Admin | <pre>sudo ./system.sh -mac 70:B3:D5:16:E8:99 -hn DTX-L1-8R8DI</pre> |
| 58 | 62 | Torbjorn Carlqvist Admin | * Upgrade on linux |
| 59 | 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)* |
| 60 | 72 | Torbjorn Carlqvist Admin | <pre>sudo ./dtx.sh -t scriptengine|polyglot -v 3.1.23 -f myfolder -u **** -p ****</pre> |
| 61 | 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.)* |
| 62 | 70 | Torbjorn Carlqvist Admin | Stop<pre>sudo systemctl stop dtx_{myfolder}</pre> |
| 63 | Start<pre>sudo systemctl start dtx_{myfolder}</pre> |
||
| 64 | Check status<pre>systemctl status dtx_{myfolder}</pre> |
||
| 65 | Disable service, wont start at reboot<pre>sudo systemctl disable dtx_{myfolder}</pre> |
||
| 66 | Enable service, will start automatically at reboot<pre>sudo systemctl enable dtx_{myfolder}</pre> |
||
| 67 | 15 | Torbjorn Carlqvist Admin | |
| 68 | 55 | Torbjorn Carlqvist Admin | * For other Linux distributions follow this steps |
| 69 | 15 | Torbjorn Carlqvist Admin | ### _TBD..._ |
| 70 | |||
| 71 | 1 | Torbjorn Carlqvist Admin | * Install on Windows |
| 72 | ** Follow these steps: |
||
| 73 | 32 | David Fredriksson | ### _TBD..._ |
| 74 | 38 | Torbjorn Carlqvist Admin | |
| 75 | 32 | David Fredriksson | h3. LION Fieldbus |
| 76 | 38 | Torbjorn Carlqvist Admin | |
| 77 | 15 | Torbjorn Carlqvist Admin | * See LION [[LION:Wiki]] for howto in installataion, channel assigmnets and testing. |
| 78 | 11 | Torbjorn Carlqvist Admin | |
| 79 | 75 | David Fredriksson | DTXr Web Interface – User Documentation (Redmine Textile Format) |
| 80 | |||
| 81 | h1. DTXr Web Interface – User Documentation |
||
| 82 | |||
| 83 | h2. 1. Overview |
||
| 84 | The DTXr web interface allows users to view, monitor, and modify BACnet objects on the local device or any discovered remote devices. |
||
| 85 | |||
| 86 | The system supports: |
||
| 87 | |||
| 88 | Viewing objects and properties |
||
| 89 | |||
| 90 | Writing Present Value to output objects |
||
| 91 | |||
| 92 | Selecting write priority |
||
| 93 | |||
| 94 | Viewing alarms and events |
||
| 95 | |||
| 96 | Editing Weekly Schedules |
||
| 97 | |||
| 98 | Switching between devices |
||
| 99 | |||
| 100 | Real-time updates through WebSocket |
||
| 101 | |||
| 102 | h2. 2. Navigation Bar |
||
| 103 | |||
| 104 | The navigation bar provides access to all core actions. |
||
| 105 | |||
| 106 | h3. 2.1 Objects Menu |
||
| 107 | |||
| 108 | Refresh: Reloads all objects for the currently selected device. |
||
| 109 | |||
| 110 | h3. 2.2 Devices Menu |
||
| 111 | The device dropdown displays the local device and all discovered devices. |
||
| 112 | |||
| 113 | Devices are grouped by BACnet network. |
||
| 114 | |||
| 115 | Switching devices reloads all object and event data. |
||
| 116 | |||
| 117 | The current device name is displayed in the navigation bar. |
||
| 118 | |||
| 119 | h3. 2.3 Priority Menu |
||
| 120 | Defines the BACnet WriteProperty priority used when writing Present Value. |
||
| 121 | |||
| 122 | Examples: |
||
| 123 | |||
| 124 | Priority 1 – Manual Life Safety |
||
| 125 | |||
| 126 | Priority 8 – Object Default |
||
| 127 | |||
| 128 | Priority 16 – Lowest priority |
||
| 129 | |||
| 130 | h3. 2.4 Notifications Menu |
||
| 131 | Displays: |
||
| 132 | |||
| 133 | Alarms |
||
| 134 | |||
| 135 | Events |
||
| 136 | |||
| 137 | Normal (return-to-normal transitions) |
||
| 138 | |||
| 139 | The menu shows badge counters: |
||
| 140 | |||
| 141 | Yellow = events |
||
| 142 | |||
| 143 | Red = alarms |
||
| 144 | |||
| 145 | Green = normal |
||
| 146 | |||
| 147 | Notifications update in real time. |
||
| 148 | |||
| 149 | h2. 3. Objects View |
||
| 150 | |||
| 151 | The main content area lists all BACnet objects for the selected device. |
||
| 152 | |||
| 153 | Features: |
||
| 154 | |||
| 155 | Objects are displayed in collapsible sections (accordions). |
||
| 156 | |||
| 157 | Expanding an object loads its properties from the server. |
||
| 158 | |||
| 159 | Editable fields allow writing values. |
||
| 160 | |||
| 161 | Read-only fields display the current values. |
||
| 162 | |||
| 163 | When a property is changed: |
||
| 164 | |||
| 165 | The change is stored in the internal models structure. |
||
| 166 | |||
| 167 | Pressing the save/write button triggers a BACnet write. |
||
| 168 | |||
| 169 | The interface waits for acknowledgment before updating the displayed value. |
||
| 170 | |||
| 171 | h3. 3.1 Expanding an Object |
||
| 172 | Click an object header to load: |
||
| 173 | |||
| 174 | List of properties |
||
| 175 | |||
| 176 | Current property values |
||
| 177 | |||
| 178 | Editable Present Value fields (if supported) |
||
| 179 | |||
| 180 | Controls for schedule editing (if applicable) |
||
| 181 | |||
| 182 | h3. 3.2 Writing Property Values |
||
| 183 | To write a value: |
||
| 184 | |||
| 185 | Edit the value in the field. |
||
| 186 | The interface stores the edited value. |
||
| 187 | Press the Save/Write button. |
||
| 188 | The system issues a BACnet WriteProperty request using the selected write priority. |
||
| 189 | A popup confirms success or failure. |
||
| 190 | |||
| 191 | If the device rejects the write, an error message is shown. |
||
| 192 | |||
| 193 | h2. 4. Device Discovery and Management |
||
| 194 | |||
| 195 | h3. 4.1 Discovering Devices |
||
| 196 | Opening the Devices dropdown sends a BACnet Who-Is request. |
||
| 197 | |||
| 198 | The system: |
||
| 199 | |||
| 200 | Lists responding devices |
||
| 201 | |||
| 202 | Groups them by network |
||
| 203 | |||
| 204 | Displays each device's name and ID |
||
| 205 | |||
| 206 | h3. 4.2 Selecting a Device |
||
| 207 | Selecting a device: |
||
| 208 | |||
| 209 | Reloads object list |
||
| 210 | |||
| 211 | Refreshes notifications |
||
| 212 | |||
| 213 | Updates the navigation bar label |
||
| 214 | |||
| 215 | h3. 4.3 Refreshing Device Data |
||
| 216 | Use: |
||
| 217 | Objects → Refresh |
||
| 218 | |||
| 219 | This triggers: |
||
| 220 | |||
| 221 | A global Who-Is request |
||
| 222 | |||
| 223 | Full reload of object content |
||
| 224 | |||
| 225 | Full reload of notifications |
||
| 226 | |||
| 227 | h2. 5. Notifications and Event Handling |
||
| 228 | |||
| 229 | The interface receives events in real time via WebSocket. |
||
| 230 | |||
| 231 | Types of notifications: |
||
| 232 | |||
| 233 | Alarm |
||
| 234 | |||
| 235 | Event |
||
| 236 | |||
| 237 | Normal (return-to-normal) |
||
| 238 | |||
| 239 | Each notification includes: |
||
| 240 | |||
| 241 | Timestamp |
||
| 242 | |||
| 243 | Object information |
||
| 244 | |||
| 245 | Event type |
||
| 246 | |||
| 247 | Transition state |
||
| 248 | |||
| 249 | h3. 5.1 Acknowledging Notifications |
||
| 250 | Notifications that support acknowledgment display an Acknowledge button. |
||
| 251 | |||
| 252 | When clicked: |
||
| 253 | |||
| 254 | A spinner indicates processing |
||
| 255 | |||
| 256 | The server sends a BACnet AcknowledgeAlarm |
||
| 257 | |||
| 258 | Once successful, the notification list updates |
||
| 259 | |||
| 260 | If acknowledgment fails, an error popup is shown. |
||
| 261 | |||
| 262 | h2. 6. Weekly Schedule Editor |
||
| 263 | |||
| 264 | Some BACnet Schedule objects allow editing via the integrated weekly calendar. |
||
| 265 | |||
| 266 | h3. 6.1 Opening the Schedule Editor |
||
| 267 | Clicking on a schedule property opens the Weekly Schedule modal window. |
||
| 268 | |||
| 269 | h3. 6.2 Viewing the Schedule |
||
| 270 | The weekly calendar displays: |
||
| 271 | |||
| 272 | Monday–Sunday timeline |
||
| 273 | |||
| 274 | Active/inactive periods |
||
| 275 | |||
| 276 | Event blocks for scheduled times |
||
| 277 | |||
| 278 | Events are color-coded depending on value type. |
||
| 279 | The UI automatically detects whether the schedule is: |
||
| 280 | |||
| 281 | Binary |
||
| 282 | |||
| 283 | Analog |
||
| 284 | |||
| 285 | h3. 6.3 Creating a New Event |
||
| 286 | To create a new schedule entry: |
||
| 287 | |||
| 288 | Select a time range in the weekly view. |
||
| 289 | A new event appears. |
||
| 290 | A popup confirms creation. |
||
| 291 | |||
| 292 | h3. 6.4 Editing an Event |
||
| 293 | Click an event to modify its value: |
||
| 294 | |||
| 295 | Binary schedules: |
||
| 296 | |||
| 297 | Active |
||
| 298 | |||
| 299 | Inactive |
||
| 300 | |||
| 301 | Analog schedules: |
||
| 302 | |||
| 303 | Any numeric value |
||
| 304 | |||
| 305 | Event color updates accordingly. |
||
| 306 | |||
| 307 | h3. 6.5 Saving the Schedule |
||
| 308 | To save: |
||
| 309 | |||
| 310 | Click @Save changes@ in the modal. |
||
| 311 | The system compiles the full weekly schedule. |
||
| 312 | Events are sorted automatically. |
||
| 313 | Values are sent to the server as JSON. |
||
| 314 | |||
| 315 | On success, a confirmation popup appears. |
||
| 316 | |||
| 317 | h2. 7. Popups and User Feedback |
||
| 318 | |||
| 319 | The interface shows popup messages for: |
||
| 320 | |||
| 321 | Success (green) |
||
| 322 | |||
| 323 | Error (red) |
||
| 324 | |||
| 325 | Info (blue) |
||
| 326 | |||
| 327 | Warning (yellow) |
||
| 328 | |||
| 329 | Examples: |
||
| 330 | |||
| 331 | “Objects loaded” |
||
| 332 | |||
| 333 | “Write request sent” |
||
| 334 | |||
| 335 | “Write failed” |
||
| 336 | |||
| 337 | “Timeout!” |
||
| 338 | |||
| 339 | “Schedule saved” |
||
| 340 | |||
| 341 | h2. 8. Troubleshooting |
||
| 342 | |||
| 343 | h3. 8.1 Objects Do Not Load |
||
| 344 | Possible causes: |
||
| 345 | |||
| 346 | Device unreachable |
||
| 347 | |||
| 348 | Network discovery failure |
||
| 349 | |||
| 350 | Connection timeout |
||
| 351 | |||
| 352 | Solution: |
||
| 353 | |||
| 354 | Use Objects → Refresh |
||
| 355 | |||
| 356 | Check network connectivity |
||
| 357 | |||
| 358 | h3. 8.2 Writing Present Value Fails |
||
| 359 | Possible causes: |
||
| 360 | |||
| 361 | Wrong priority |
||
| 362 | |||
| 363 | Device rejects the value |
||
| 364 | |||
| 365 | Object out of service |
||
| 366 | |||
| 367 | Incorrect value format |
||
| 368 | |||
| 369 | Solution: |
||
| 370 | |||
| 371 | Select another write priority |
||
| 372 | |||
| 373 | Ensure object is writable |
||
| 374 | |||
| 375 | h3. 8.3 Schedule Does Not Save |
||
| 376 | Possible reasons: |
||
| 377 | |||
| 378 | No valid events entered |
||
| 379 | |||
| 380 | Schedule ID missing |
||
| 381 | |||
| 382 | Server communication error |
||
| 383 | |||
| 384 | Solution: |
||
| 385 | |||
| 386 | Ensure events exist before saving |
||
| 387 | |||
| 388 | Try reopening the schedule editor |
||
| 389 | |||
| 390 | Check device status |
||
| 391 | |||
| 392 | h2. 9. Additional Tools (DTXr Menu) |
||
| 393 | |||
| 394 | The DTXr menu provides quick access to extra tools: |
||
| 395 | |||
| 396 | Setup – system configuration |
||
| 397 | |||
| 398 | Code – custom application logic |
||
| 399 | |||
| 400 | API – Swagger documentation |
||
| 401 | |||
| 402 | Blocks – block-based programming (Blockly) |
||
| 403 | |||
| 404 | Logout – return to login screen |
||
| 405 | |||
| 406 | |||
| 407 | |||
| 408 | |||
| 409 | 10 | Torbjorn Carlqvist Admin | h3. Setup |
| 410 | 11 | Torbjorn Carlqvist Admin | |
| 411 | 1 | Torbjorn Carlqvist Admin | DTXr is setup via Menu -> Setup page. |
| 412 | 11 | Torbjorn Carlqvist Admin | |
| 413 | 1 | Torbjorn Carlqvist Admin | * System |
| 414 | 42 | David Fredriksson | ** Administrator password - Password for the default (and not changeable) account **"admin"**. Default is **"davitor"**. |
| 415 | _When you log in you will start att /home/admin |
||
| 416 | 13 | Torbjorn Carlqvist Admin | There is another user "pi" as well with a secret password._ |
| 417 | ** Operator username - Username for the typical user of any HMI developed on this device. Typically a machine operator. [Optional] |
||
| 418 | ** Operator password - Password for the operator user. [Optional] |
||
| 419 | ** Operator start page - Set any web page in the project folder that will automatically shown on an operator login. [Optional] |
||
| 420 | 11 | Torbjorn Carlqvist Admin | ** Log Level - The system severity level for the system_app.log in /Logs tree directory. |
| 421 | 61 | Torbjorn Carlqvist Admin | ** Platform - This is where DTX gets its information on which hardware options to consider. |
| 422 | 11 | Torbjorn Carlqvist Admin | |
| 423 | 14 | Torbjorn Carlqvist Admin | * BACnet |
| 424 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 425 | |||
| 426 | 14 | Torbjorn Carlqvist Admin | * Davitor Advantage |
| 427 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 428 | |||
| 429 | 14 | Torbjorn Carlqvist Admin | * Wireless Mesh |
| 430 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 431 | |||
| 432 | 14 | Torbjorn Carlqvist Admin | * Bluetooth |
| 433 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 434 | |||
| 435 | 14 | Torbjorn Carlqvist Admin | * External Database Access |
| 436 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 437 | |||
| 438 | 14 | Torbjorn Carlqvist Admin | * File Integration |
| 439 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 440 | |||
| 441 | 14 | Torbjorn Carlqvist Admin | * HTTP |
| 442 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 443 | |||
| 444 | 14 | Torbjorn Carlqvist Admin | * LION Interface |
| 445 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 446 | |||
| 447 | 14 | Torbjorn Carlqvist Admin | * IoT HUB (BETA) |
| 448 | 11 | Torbjorn Carlqvist Admin | ** _TBD..._ |
| 449 | 1 | Torbjorn Carlqvist Admin | |
| 450 | |||
| 451 | 2 | Torbjorn Carlqvist Admin | h3. User's Guide |
| 452 | 14 | Torbjorn Carlqvist Admin | |
| 453 | * _TBD..._ |
||
| 454 | 5 | Torbjorn Carlqvist Admin | |
| 455 | 14 | Torbjorn Carlqvist Admin | h3. Developer's Guide |
| 456 | 19 | Torbjorn Carlqvist Admin | |
| 457 | [[IDE|IDE walk through]] |
||
| 458 | [[Javascript|The DTXr Javascript guide]] |
||
| 459 | 1 | Torbjorn Carlqvist Admin | [[Blockly|Blockly tutorials]] |