DTXr doc » History » Revision 77
Revision 76 (David Fredriksson, 12/09/2025 04:51 PM) → Revision 77/98 (David Fredriksson, 12/09/2025 05:02 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.
h2. Setup – User Documentation
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.
Below is a hybrid overview:
* A short end-user summary for each section
* A detailed field explanation block beneath each one
---
h3. Details
This section contains general device settings such as administrator credentials, operator account configuration, logging, and hardware platform selection.
*Summary:*
* Change admin and operator credentials
* Define operator start page
* Adjust system log level
* Select hardware platform profile
*Details:*
** Administrator password
The password for the fixed “admin” account used to log into the main system.
** Operator username
Optional secondary user for HMI applications.
** Operator password
Password for the operator user.
** Operator start page
Defines which page is shown after operator login.
** Log Level
Controls verbosity for system_app.log (Error / Warning / Info / Debug).
** Platform
Hardware profile used to enable/disable platform-specific features (LION modules, radios, etc.).
---
h3. BACnet
This section configures the device’s BACnet server identity and behavior.
*Summary:*
* Set device ID, device name, and BACnet password
* Configure network parameters such as segmentation and APDU size
* Enable/Disable BBMD (if available)
*Details:*
** Device ID
Unique BACnet device identifier (required).
** Device Name
Human-readable device name.
** BACnet Password
Used for Device Communication Control (DCC).
** Max APDU / Segmentation / Vendor ID
Low-level protocol options.
** BBMD Settings
Optional Broadcast Management configuration for routed networks.
---
h3. Davitor Advantage
Provides settings for cloud-based lifecycle management integration.
*Summary:*
* Configure access to Davitor PLM services
* Set DRK (Davitor Reference Key)
*Details:*
** DRK
Used for secure PLM registration and remote management.
** PLM Connectivity Settings
Optional service endpoints and credentials.
---
h3. Wireless Mesh
If the platform includes wireless mesh capabilities, configuration appears here.
*Summary:*
* Define mesh network parameters
* Enable/disable mesh module
*Details:*
** Mesh Role
Defines node type (Coordinator / Router / End Device).
** Channel / PAN ID
Mesh frequency and network identifiers.
** Encryption Key
Optional security layer.
---
h3. Bluetooth
Used to configure Bluetooth LE functionality on supported hardware.
*Summary:*
* Enable/disable Bluetooth
* Configure advertising name and pairing mode
*Details:*
** Bluetooth Enabled
Turns the module on/off.
** Device Name
Shown during discovery.
** Pairing / Security
Optional pairing settings.
---
h3. External Database Access
Allows the DTXr device to interface with an external SQL or NoSQL database.
*Summary:*
* Configure connection strings, credentials and modes
* Used for logging, trend storage or custom applications
*Details:*
** Database Type
(MySQL / Postgres / SQLite / Other).
** Host / Port
Server location.
** Username / Password
Login credentials.
** Sync/Logging Options
Frequency of writes, table naming, etc.
---
h3. File Integration
Allows importing or exporting configuration files, logs, or scripts.
*Summary:*
* Upload/download device configuration
* Export logs
* Provide custom scripts or HMI assets
*Details:*
** File Browser
Shows files stored on the device.
** Upload Section
Allows uploading project assets.
** Backup/Restore
Download configuration or upload a saved configuration.
---
h3. HTTP
Defines HTTP server behaviour for the web interface.
*Summary:*
* Configure ports, HTTPS, session timeouts, and login settings
*Details:*
** HTTP Port
Default: 9090.
** HTTPS Enable
Optional TLS enablement.
** Session Timeout
Idle logout time.
** Allowed Hosts
Restrict which IPs may contact the web server.
---
h3. LION Interface
Displayed only on LION-enabled hardware.
*Summary:*
* Configure LION I/O module mapping
* Set channel behavior and special hardware options
*Details:*
** LION Enabled
Toggles feature availability.
** Channel Configuration
Defines input/output type, pull-ups, PWM capabilities.
** Hardware Extensions
Depending on the LION model.
---
h3. IoT HUB (BETA)
Experimental cloud communication layer.
*Summary:*
* Connect device to an IoT gateway (MQTT/HTTPS depending on platform)
*Details:*
** IoT Backend URL
Cloud endpoint.
** Device Token
Authentication for cloud use.
** Sync Settings
What data is uploaded (logs, values, events).
---
* 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
h2. 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. 1. Overview
The DTXr web interface allows users to:
* View BACnet objects and their properties
* Modify writable properties (e.g., Present Value)
* Edit weekly schedules
* Switch between local and remote devices
* Monitor alarms, events, and notifications
* Use real-time updates through WebSocket (local device only)
---
h3. 2. Navigation Bar
h4. 2.1 Objects Menu
* *Refresh* reloads all object data and events.
_Note: Refresh is required when a remote device is selected._
h4. 2.2 Devices Menu
* Displays local device and all discovered BACnet devices.
* Devices are grouped by network.
* Selecting a device loads its object list.
h4. 2.3 Priority Menu
Controls the *BACnet write priority* used when writing Present Value.
Examples:
* Priority 1 – Manual Life Safety
* Priority 8 – Default
* Priority 16 – Lowest
h4. 2.4 Notifications Menu
Shows:
* Alarms
* Events
* Return-to-normal
The menu uses badge counters:
* Yellow = events
* Red = alarms
* Green = normal transitions
---
h3. 3. Objects View
The main view lists all BACnet objects.
Features:
* Collapsible categories (accordions)
* Lazy loading of properties when expanded
* Editable Present Value fields where supported
* Real-time updates on the *local* device
* Manual refresh required for *remote* devices
h4. 3.1 Expanding an Object
Expanding an object loads:
* Properties
* Values
* Writable fields
* Schedule editor button (if applicable)
h4. 3.2 Writing Property Values
Steps:
# Edit a value in the input field.
# Press the Write/Save button.
# DTXr sends a BACnet WriteProperty with the selected priority.
# A popup shows success or error.
---
h3. 4. Device Discovery
h4. 4.1 Discovering Devices
Opening the *Devices* dropdown sends a Who-Is request and populates the list.
h4. 4.2 Selecting a Device
When switching devices:
* Properties reload
* Notification list reloads
* The selected device name appears in the navbar
h4. 4.3 Refreshing Content
*Mandatory* when using remote devices.
Use:
@Objects → Refresh@
This reloads:
* Object list
* Property values
* Notifications
---
h3. 5. Notifications and Events
Notifications include:
* Alarm
* Event
* Normal
Real-time updates:
* Enabled for local device
* Disabled for remote devices — manual refresh required
h4. 5.1 Acknowledgment
If a notification supports acknowledgment:
* Press _Acknowledge_
* DTXr sends BACnet AcknowledgeAlarm
* Notification updates when completed
---
h3. 6. Weekly Schedule Editor
h4. 6.1 Opening the Editor
Click the schedule property to open the weekly calendar modal.
h4. 6.2 Creating Events
Select a time in the calendar to create a new event.
h4. 6.3 Editing Events
Click an event to modify:
* Binary schedule → Active / Inactive
* Analog schedule → numeric value
h4. 6.4 Saving the Schedule
Click *@Save changes@* to store the weekly schedule.
The data is:
* Compiled into BACnet dailySchedule structures
* Sorted chronologically
* Sent to the device as JSON
---
h3. 7. Popups and Feedback
Popups indicate:
* Success
* Errors
* Info
* Warnings
---
h3. 8. Troubleshooting
h4. 8.1 Objects Not Updating
* Remote device selected → press Refresh
* Network or device may be unreachable
h4. 8.2 Write Errors
Possible reasons:
* Incorrect priority
* Object out of service
* Invalid value
h4. 8.3 Schedule Issues
* No events created
* Missing object ID
* Remote device requires manual refresh
---
h3. Developer's Guide
[[IDE|IDE walk through]]
[[Javascript|The DTXr Javascript guide]]
[[Blockly|Blockly tutorials]]