DTXr doc » History » Revision 78
Revision 77 (David Fredriksson, 12/09/2025 05:02 PM) → Revision 78/98 (David Fredriksson, 12/09/2025 05:09 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 configured through setup via Menu -> Setup page.
* System
** Administrator password - Password for the *Menu → Setup* page.
All configuration settings are grouped into logical sections. Each section below provides 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 functional overview of what secret password._
** Operator username - Username for the typical user can configure.
Values are stored in *settings.json* and applied system-wide after pressing *Save*.
*Important:*
When of any HMI developed on this device. Typically a *remote device* is selected from machine operator. [Optional]
** Operator password - Password for the HUB interface, *a manual operator user. [Optional]
** Operator start page refresh - 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 required* where DTX gets its information on which hardware options to update consider.
h2. Setup – User Documentation
The Setup page allows configuration data.
Local device information updates in real time. 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
---
h4. System h3. Details
Contains all fundamental system-level access This section contains general device settings such as administrator credentials, operator account configuration, logging, and identity configuration. hardware platform selection.
*Summary:*
* Change admin and operator credentials
* Define operator start page
* Adjust system log level
* Select hardware platform profile
*Details:*
** Administrator Account
- Configure the password of
The password for the fixed “admin” user. account used to log into the main system.
* ** Operator Account
- username
Optional secondary user with limited access for HMIs or machine operation.
- Username, HMI applications.
** Operator password and
Password for the operator user.
** Operator start page can be assigned.
* Developer Account
- Optional higher-level user with configurable module permissions
(code, objects, API, blocks, diagram, setup). Defines which page is shown after operator login.
* Logging
- Set the system-wide log level (Debug, Info, Warning, Error). ** Log Level
* Controls verbosity for system_app.log (Error / Warning / Info / Debug).
** Platform
Hardware Platform
- Select hardware profile (PC/server, Mira/Mesh, LION, etc.).
- This controls the used to enable/disable state of platform-specific modules.
features (LION modules, radios, etc.).
---
h4. h3. BACnet
Defines all BACnet/IP protocol parameters for This section configures the device. device’s BACnet server identity and behavior.
*Summary:*
* Device Identity
- Device Set device ID, device name, and BACnet password
* Configure network parameters such as segmentation and APDU size
* Enable/Disable BBMD (if available)
*Details:*
** Device Name. ID
* Security
- Unique BACnet password (used device identifier (required).
** Device Name
Human-readable device name.
** BACnet Password
Used for Device Communication Control). Control (DCC).
* Protocol Settings
- Segmentation, ** Max APDU, APDU / Segmentation / Vendor ID and other low-level
Low-level protocol options.
* Network Mode
- Basic IP communication behaviour (broadcast, ** BBMD usage when applicable). Settings
Optional Broadcast Management configuration for routed networks.
---
This section is essential when integrating DTXr into a BACnet building automation network. 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.
---
h4. h3. Wireless Mesh
Provides access to If the platform includes wireless mesh radio capabilities, configuration on supported hardware. appears here.
*Summary:*
* Enable/Disable Mesh
Define mesh network parameters
* Enable/disable mesh module
*Details:*
** Mesh Credentials
- Security keys, network key and authentication key. Role
* Node Role
- Coordinator Defines node type (Coordinator / Router / End Device. Device).
* Provisioning QR Code
- Device can generate a QR code containing mesh ** Channel / PAN ID
Mesh frequency and network credentials.
Note: Mesh options are disabled on platform types that do not support radio.
identifiers.
** Encryption Key
Optional security layer.
---
h4. h3. Bluetooth
Configuration for onboard Used to configure Bluetooth LE services (if functionality on supported by the platform). hardware.
*Summary:*
* Enable/disable Bluetooth Console
- Enables BLE-based console output.
* Beacon Mode
- Enables BLE advertisement Configure advertising name and optional custom beacon name. pairing mode
*Details:*
** Bluetooth Enabled
* Address Visibility and Power Settings
- Controls how Turns the device broadcasts itself to the environment.
These options are automatically enabled or disabled depending on the selected platform type.
---
h4. LION Interface
Shown only on LION-enabled platforms.
* Enable/Disable LION module support. on/off.
* Hardware Extensions
- Configures behaviour of LION-specific IO hardware. ** Device Name
* Channel Behavior
- Digital/analog features depending on LION product family.
---
h4. Davitor Advantage
Configuration for optional DAVITOR cloud lifecycle management.
* DRK (Davitor Reference Key)
- Used for remote maintenance and PLM link. Shown during discovery.
* PLM Connectivity
- Service URL and communication settings when using cloud management.
** Pairing / Security
Optional pairing settings.
---
h4. h3. External Database Access
Lets Allows the DTXr device communicate to interface with an external SQL/NoSQL SQL or NoSQL database.
*Summary:*
* Connection
- Host, port Configure connection strings, credentials and protocol information.
modes
* Credentials
- Username/password Used for authenticated connections. logging, trend storage or custom applications
*Details:*
** Database Type
* (MySQL / Postgres / SQLite / Other).
** Host / Port
Server location.
** Username / Password
Login credentials.
** Sync/Logging Options
- Defines how data is written externally (trend logs, events, custom data).
Frequency of writes, table naming, etc.
---
h4. h3. File Integration
Tools for importing/exporting system content. Allows importing or exporting configuration files, logs, or scripts.
*Summary:*
* Backup / Restore
- 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 the current configuration or upload a saved configuration.
* Project File Upload
- Add or replace project assets (HMIs, scripts, diagrams).
* Logs
- Download generated logs for troubleshooting.
---
h4. h3. HTTP Server
Controls how Defines HTTP server behaviour for the embedded DTXr HTTP(S) service behaves. web interface.
*Summary:*
* Configure ports, HTTPS, session timeouts, and login settings
*Details:*
** HTTP Port Configuration
- Default HTTP port is
Default: 9090.
* ** HTTPS / Enable
Optional TLS
- Optional encrypted access. enablement.
* ** Session Timeout
- Auto-logout delay for inactive users.
* Idle logout time.
** Allowed Hosts
-
Restrict network clients that can access which IPs may contact the interface.
web server.
---
h4. Email h3. LION Interface
Allows the device to send or receive email for automation events. Displayed only on LION-enabled hardware.
*Summary:*
* SMTP Server
- Address, port, TLS/STARTTLS.
Configure LION I/O module mapping
* Authentication
- Optional username/password.
* Attachments Folder
- Path where incoming email attachments are stored. Set channel behavior and special hardware options
---
h4. Location Services
The device can determine its location automatically.
* Automatic Geolocation
- Queries an external geolocation service to populate latitude/longitude. *Details:*
** LION Enabled
* Manual Input
- User can override location if browser access is restricted.
Toggles feature availability.
** Channel Configuration
Defines input/output type, pull-ups, PWM capabilities.
** Hardware Extensions
Depending on the LION model.
---
h4. h3. IoT HUB (BETA)
Early-stage experimental Experimental cloud integration. communication layer.
*Summary:*
* Connect device to an IoT gateway (MQTT/HTTPS depending on platform)
*Details:*
** IoT Backend URL
- IoT gateway
Cloud endpoint.
* ** Device Token
-
Authentication token for cloud usage. use.
* Upload Options
- Define what ** Sync Settings
What data the device forwards (events, logs, telemetry).
is uploaded (logs, values, events).
---
h4. Save & Refresh
* Save
- Commits all modified settings to settings.json.
* Refresh
- Reloads settings from device memory.
- Required after switching to a remote device.
---
* 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]]