Project

General

Profile

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]]