DTXr doc » History » Revision 76
Revision 75 (David Fredriksson, 12/09/2025 04:38 PM) → Revision 76/98 (David Fredriksson, 12/09/2025 04:51 PM)
{{>toc}}
h1. DTXr documentation
h3. Installation
* System Requirements
DTXr can run on any machine that can run +Java 17+ and has sufficient with RAM and disk capacity.
|Requirement|System RAM|System DISK|Example|
|Minimal|512Mbyte|512Mbyte|Raspberry 1, Raspberry Zero|
|Better|512Mbyte|512Mbyte|Rasberry Zero 2|
|Avarage|1GByte|1Gbyte|Raspberry 2-4|
|Top|2GByte|8Gbyte|Raspberry 4, Raspberry CM4, Server, PC|
* Network Requirements
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.
* Download DTXr software packages
Currently only customers to DAVITOR can download DTXr. Contact info@davitor.com for purchase information.
* Install on Linux
** There is special install scripts, please follow these steps:
### Download latest DTXr _base_ image and copy to a SD-card that has 16Gbyte capacity or more
Or install a new image and install java
<pre>sudo apt install default-jdk </pre>
### Insert the SD card, attach keyboard and screen via cable and start the device
### When you get prompt login as **admin/davitor**
### Download the installation script from davitor repository
*(note dtx.sh has an update since Jan 17th, 2024 see new parameter 'installfolder' below)*
*(note dtx.sh has an update since Nov 6th, 2025 see new parameter 'type' below)*
<pre>wget --user=**** --password=**** https://artifacts.davitor.com/repository/dtx-raw/scripts/dtx.sh</pre>
There is also a utillity script that can set the host name and MAC adress. Note, optional and only applicable on LION product appliances.
<pre>wget --user=**** --password=**** https://artifacts.davitor.com/repository/dtx-raw/scripts/system.sh</pre>
Make the scripts exec
<pre>sudo chmod 770 *.sh</pre>
### Run installation as below where you first alter:
*** 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.
*** Required version (-v x.y.z)
*** The the install folder (-f myfolder) Note: Still relative to /usr/local so (-f myfolder) results in /usr/local/myfolder/dtx...
*** Partner user name (-u ****)
*** Partner password (-p ****)
*** Application password for the HTTP interface login on port 9090 (-app-password xxxxxxx)
*** BACnet Decvice Id (bac-device-id=nnnnn)
*** BACnet password which you will use to control the BACnet device DCC (bacnet-password=xxxxxx)
*** BACnet Device Name (bac-device-name=yyyy)
*** 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.
*** Hardware Platform Type (platform=xx) is used to control and switch on/off special features that is hardware dependent.
For LION products use:
<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>
For other installations like PC, Servers etc. use:
<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>
### Utillity script to set MAC and host name
<pre>sudo ./system.sh -mac 70:B3:D5:16:E8:99 -hn DTX-L1-8R8DI</pre>
* Upgrade on linux
If you already have DTX installed and should upgrade to a new version *(Don't forget to set correct installfolder with -f)*
<pre>sudo ./dtx.sh -t scriptengine|polyglot -v 3.1.23 -f myfolder -u **** -p ****</pre>
* 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.)*
Stop<pre>sudo systemctl stop dtx_{myfolder}</pre>
Start<pre>sudo systemctl start dtx_{myfolder}</pre>
Check status<pre>systemctl status dtx_{myfolder}</pre>
Disable service, wont start at reboot<pre>sudo systemctl disable dtx_{myfolder}</pre>
Enable service, will start automatically at reboot<pre>sudo systemctl enable dtx_{myfolder}</pre>
* For other Linux distributions follow this steps
### _TBD..._
* Install on Windows
** Follow these steps:
### _TBD..._
h3. LION Fieldbus
* See LION [[LION:Wiki]] for howto in installataion, channel assigmnets and testing.
h3. Setup
DTXr is setup via Menu -> Setup page.
* System
** Administrator password - Password for the default (and not changeable) account **"admin"**. Default is **"davitor"**.
_When you log in you will start att /home/admin
There is another user "pi" as well with a secret password._
** Operator username - Username for the typical user of any HMI developed on this device. Typically a machine operator. [Optional]
** Operator password - Password for the operator user. [Optional]
** Operator start page - Set any web page in the project folder that will automatically shown on an operator login. [Optional]
** Log Level - The system severity level for the system_app.log in /Logs tree directory.
** Platform - This is where DTX gets its information on which hardware options to consider.
* BACnet
** _TBD..._
* Davitor Advantage
** _TBD..._
* Wireless Mesh
** _TBD..._
* Bluetooth
** _TBD..._
* External Database Access
** _TBD..._
* File Integration
** _TBD..._
* HTTP
** _TBD..._
* LION Web Interface
** _TBD..._ – User Documentation (Redmine Textile Format)
* IoT HUB (BETA)
** _TBD..._
h3. User's Guide
h2. h1. DTXr Web Interface – End User Documentation
*Important:*
When selecting a *remote BACnet device*, the object list and notifications *do not update automatically*.
You must press *@Objects → Refresh@* to reload the data.
For the *local device that hosts the web page*, all updates (property changes, events, alarms) are received *in real time*.
---
h3. h2. 1. Overview
The DTXr web interface allows users to:
* View to view, monitor, and modify BACnet objects on the local device or any discovered remote devices.
The system supports:
Viewing objects and their properties
* Modify writable properties (e.g.,
Writing Present Value)
* Edit weekly schedules
* Switch Value to output objects
Selecting write priority
Viewing alarms and events
Editing Weekly Schedules
Switching between local and remote devices
* Monitor alarms, events, and notifications
* Use real-time
Real-time updates through WebSocket (local device only)
---
h3. h2. 2. Navigation Bar
h4. The navigation bar provides access to all core actions.
h3. 2.1 Objects Menu
* *Refresh* reloads
Refresh: Reloads all object data and events. objects for the currently selected device.
_Note: Refresh is required when a remote device is selected._
h4. h3. 2.2 Devices Menu
* Displays The device dropdown displays the local device and all discovered BACnet devices.
*
Devices are grouped by BACnet network.
* Selecting a device loads its
Switching devices reloads all object list. and event data.
h4. The current device name is displayed in the navigation bar.
h3. 2.3 Priority Menu
Controls Defines the *BACnet write priority* BACnet WriteProperty priority used when writing Present Value.
Examples:
*
Priority 1 – Manual Life Safety
*
Priority 8 – Object Default
*
Priority 16 – Lowest priority
h4. h3. 2.4 Notifications Menu
Shows:
* Displays:
Alarms
*
Events
* Return-to-normal
Normal (return-to-normal transitions)
The menu uses shows badge counters:
*
Yellow = events
*
Red = alarms
*
Green = normal transitions
---
h3. Notifications update in real time.
h2. 3. Objects View
The main view content area lists all BACnet objects. objects for the selected device.
Features:
* Collapsible categories (accordions)
* Lazy loading of
Objects are displayed in collapsible sections (accordions).
Expanding an object loads its properties when expanded
* from the server.
Editable Present Value fields where supported
* Real-time updates on allow writing values.
Read-only fields display the *local* device
* Manual refresh required current values.
When a property is changed:
The change is stored in the internal models structure.
Pressing the save/write button triggers a BACnet write.
The interface waits for *remote* devices acknowledgment before updating the displayed value.
h4. h3. 3.1 Expanding an Object
Expanding Click an object loads:
* Properties
* Values
* Writable header to load:
List of properties
Current property values
Editable Present Value fields
* Schedule editor button (if supported)
Controls for schedule editing (if applicable)
h4. h3. 3.2 Writing Property Values
Steps:
# To write a value:
Edit a the value in the input field.
# The interface stores the edited value.
Press the Write/Save Save/Write button.
# DTXr sends The system issues a BACnet WriteProperty with request using the selected write priority.
# A popup shows confirms success or error. failure.
--- If the device rejects the write, an error message is shown.
h3. h2. 4. Device Discovery and Management
h4. h3. 4.1 Discovering Devices
Opening the *Devices* Devices dropdown sends a BACnet Who-Is request request.
The system:
Lists responding devices
Groups them by network
Displays each device's name and populates the list. ID
h4. h3. 4.2 Selecting a Device
When switching devices:
* Properties reload
* Notification Selecting a device:
Reloads object list reloads
* The selected device name appears in
Refreshes notifications
Updates the navbar navigation bar label
h4. h3. 4.3 Refreshing Content Device Data
*Mandatory* when using remote devices.
Use:
@Objects Objects → Refresh@ Refresh
This reloads:
* Object list
* Property values
* Notifications triggers:
--- A global Who-Is request
h3. Full reload of object content
Full reload of notifications
h2. 5. Notifications and Events Event Handling
Notifications include:
* The interface receives events in real time via WebSocket.
Types of notifications:
Alarm
*
Event
*
Normal (return-to-normal)
Real-time updates:
* Enabled for local device
* Disabled for remote devices — manual refresh required Each notification includes:
h4. Timestamp
Object information
Event type
Transition state
h3. 5.1 Acknowledgment Acknowledging Notifications
If Notifications that support acknowledgment display an Acknowledge button.
When clicked:
A spinner indicates processing
The server sends a notification supports acknowledgment:
* Press _Acknowledge_
* DTXr sends BACnet AcknowledgeAlarm
* Notification
Once successful, the notification list updates when completed
--- If acknowledgment fails, an error popup is shown.
h3. h2. 6. Weekly Schedule Editor
h4. Some BACnet Schedule objects allow editing via the integrated weekly calendar.
h3. 6.1 Opening the Schedule Editor
Click the Clicking on a schedule property to open opens the Weekly Schedule modal window.
h3. 6.2 Viewing the Schedule
The weekly calendar modal. displays:
h4. 6.2 Creating Monday–Sunday timeline
Active/inactive periods
Event blocks for scheduled times
Events are color-coded depending on value type.
The UI automatically detects whether the schedule is:
Binary
Analog
h3. 6.3 Creating a New Event
To create a new schedule entry:
Select a time range in the calendar to create a weekly view.
A new event. event appears.
A popup confirms creation.
h4. 6.3 h3. 6.4 Editing Events an Event
Click an event to modify:
* modify its value:
Binary schedule → schedules:
Active /
Inactive
*
Analog schedule → schedules:
Any numeric value
h4. 6.4 Event color updates accordingly.
h3. 6.5 Saving the Schedule
To save:
Click *@Save changes@* to store @Save changes@ in the modal.
The system compiles the full weekly schedule.
The data is:
* Compiled into BACnet dailySchedule structures Events are sorted automatically.
* Sorted chronologically
* Sent Values are sent to the device server as JSON JSON.
--- On success, a confirmation popup appears.
h3. h2. 7. Popups and User Feedback
Popups indicate:
* The interface shows popup messages for:
Success
* Errors
* (green)
Error (red)
Info
* Warnings (blue)
--- Warning (yellow)
h3. Examples:
“Objects loaded”
“Write request sent”
“Write failed”
“Timeout!”
“Schedule saved”
h2. 8. Troubleshooting
h4. h3. 8.1 Objects Do Not Updating Load
* Remote device selected Possible causes:
Device unreachable
Network discovery failure
Connection timeout
Solution:
Use Objects → press Refresh
* Network or device may be unreachable
h4. Check network connectivity
h3. 8.2 Write Errors Writing Present Value Fails
Possible reasons:
* Incorrect causes:
Wrong priority
*
Device rejects the value
Object out of service
* Invalid
Incorrect value
h4. format
Solution:
Select another write priority
Ensure object is writable
h3. 8.3 Schedule Issues Does Not Save
* Possible reasons:
No valid events created
* Missing object entered
Schedule ID
* Remote missing
Server communication error
Solution:
Ensure events exist before saving
Try reopening the schedule editor
Check device requires manual refresh
--- status
h2. 9. Additional Tools (DTXr Menu)
The DTXr menu provides quick access to extra tools:
Setup – system configuration
Code – custom application logic
API – Swagger documentation
Blocks – block-based programming (Blockly)
Logout – return to login screen
h3. Setup
DTXr is setup via Menu -> Setup page.
* System
** Administrator password - Password for the default (and not changeable) account **"admin"**. Default is **"davitor"**.
_When you log in you will start att /home/admin
There is another user "pi" as well with a secret password._
** Operator username - Username for the typical user of any HMI developed on this device. Typically a machine operator. [Optional]
** Operator password - Password for the operator user. [Optional]
** Operator start page - Set any web page in the project folder that will automatically shown on an operator login. [Optional]
** Log Level - The system severity level for the system_app.log in /Logs tree directory.
** Platform - This is where DTX gets its information on which hardware options to consider.
* BACnet
** _TBD..._
* Davitor Advantage
** _TBD..._
* Wireless Mesh
** _TBD..._
* Bluetooth
** _TBD..._
* External Database Access
** _TBD..._
* File Integration
** _TBD..._
* HTTP
** _TBD..._
* LION Interface
** _TBD..._
* IoT HUB (BETA)
** _TBD..._
h3. User's Guide
* _TBD..._
h3. Developer's Guide
[[IDE|IDE walk through]]
[[Javascript|The DTXr Javascript guide]]
[[Blockly|Blockly tutorials]]