Project

General

Profile

Actions

DTXr doc » History » Revision 75

« Previous | Revision 75/98 (diff) | Next »
David Fredriksson, 12/09/2025 04:38 PM


DTXr documentation

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 for purchase information.
  • Install on Linux
    • There is special install scripts, please follow these steps:
      1. 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

sudo apt install default-jdk 

  1. Insert the SD card, attach keyboard and screen via cable and start the device
  2. When you get prompt login as admin/davitor
  3. 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)
    wget --user=**** --password=**** https://artifacts.davitor.com/repository/dtx-raw/scripts/dtx.sh

    There is also a utillity script that can set the host name and MAC adress. Note, optional and only applicable on LION product appliances.
    wget --user=**** --password=****  https://artifacts.davitor.com/repository/dtx-raw/scripts/system.sh

    Make the scripts exec
    sudo chmod 770 *.sh
  4. 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:
      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"

      For other installations like PC, Servers etc. use:
      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"
      1. Utillity script to set MAC and host name
        sudo ./system.sh -mac 70:B3:D5:16:E8:99 -hn DTX-L1-8R8DI
  • 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)
    sudo ./dtx.sh -t scriptengine|polyglot -v 3.1.23 -f myfolder -u **** -p ****
  • 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
    sudo systemctl stop dtx_{myfolder}

    Start
    sudo systemctl start dtx_{myfolder}

    Check status
    systemctl status dtx_{myfolder}

    Disable service, wont start at reboot
    sudo systemctl disable dtx_{myfolder}

    Enable service, will start automatically at reboot
    sudo systemctl enable dtx_{myfolder}
  • For other Linux distributions follow this steps
    1. TBD...
  • Install on Windows
    • Follow these steps:
      1. TBD...

LION Fieldbus

  • See LION Wiki for howto in installataion, channel assigmnets and testing.

DTXr Web Interface – User Documentation (Redmine Textile Format)

DTXr Web Interface – User Documentation

1. Overview
The DTXr web interface allows users to view, monitor, and modify BACnet objects on the local device or any discovered remote devices.

The system supports:

Viewing objects and properties

Writing Present Value to output objects

Selecting write priority

Viewing alarms and events

Editing Weekly Schedules

Switching between devices

Real-time updates through WebSocket

2. Navigation Bar

The navigation bar provides access to all core actions.

2.1 Objects Menu

Refresh: Reloads all objects for the currently selected device.

2.2 Devices Menu
The device dropdown displays the local device and all discovered devices.

Devices are grouped by BACnet network.

Switching devices reloads all object and event data.

The current device name is displayed in the navigation bar.

2.3 Priority Menu
Defines the BACnet WriteProperty priority used when writing Present Value.

Examples:

Priority 1 – Manual Life Safety

Priority 8 – Object Default

Priority 16 – Lowest priority

2.4 Notifications Menu
Displays:

Alarms

Events

Normal (return-to-normal transitions)

The menu shows badge counters:

Yellow = events

Red = alarms

Green = normal

Notifications update in real time.

3. Objects View

The main content area lists all BACnet objects for the selected device.

Features:

Objects are displayed in collapsible sections (accordions).

Expanding an object loads its properties from the server.

Editable fields allow writing values.

Read-only fields display the 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 acknowledgment before updating the displayed value.

3.1 Expanding an Object
Click an object header to load:

List of properties

Current property values

Editable Present Value fields (if supported)

Controls for schedule editing (if applicable)

3.2 Writing Property Values
To write a value:

Edit the value in the field.
The interface stores the edited value.
Press the Save/Write button.
The system issues a BACnet WriteProperty request using the selected write priority.
A popup confirms success or failure.

If the device rejects the write, an error message is shown.

4. Device Discovery and Management

4.1 Discovering Devices
Opening the Devices dropdown sends a BACnet Who-Is request.

The system:

Lists responding devices

Groups them by network

Displays each device's name and ID

4.2 Selecting a Device
Selecting a device:

Reloads object list

Refreshes notifications

Updates the navigation bar label

4.3 Refreshing Device Data
Use:
Objects → Refresh

This triggers:

A global Who-Is request

Full reload of object content

Full reload of notifications

5. Notifications and Event Handling

The interface receives events in real time via WebSocket.

Types of notifications:

Alarm

Event

Normal (return-to-normal)

Each notification includes:

Timestamp

Object information

Event type

Transition state

5.1 Acknowledging Notifications
Notifications that support acknowledgment display an Acknowledge button.

When clicked:

A spinner indicates processing

The server sends a BACnet AcknowledgeAlarm

Once successful, the notification list updates

If acknowledgment fails, an error popup is shown.

6. Weekly Schedule Editor

Some BACnet Schedule objects allow editing via the integrated weekly calendar.

6.1 Opening the Schedule Editor
Clicking on a schedule property opens the Weekly Schedule modal window.

6.2 Viewing the Schedule
The weekly calendar displays:

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

6.3 Creating a New Event
To create a new schedule entry:

Select a time range in the weekly view.
A new event appears.
A popup confirms creation.

6.4 Editing an Event
Click an event to modify its value:

Binary schedules:

Active

Inactive

Analog schedules:

Any numeric value

Event color updates accordingly.

6.5 Saving the Schedule
To save:

Click Save changes in the modal.
The system compiles the full weekly schedule.
Events are sorted automatically.
Values are sent to the server as JSON.

On success, a confirmation popup appears.

7. Popups and User Feedback

The interface shows popup messages for:

Success (green)

Error (red)

Info (blue)

Warning (yellow)

Examples:

“Objects loaded”

“Write request sent”

“Write failed”

“Timeout!”

“Schedule saved”

8. Troubleshooting

8.1 Objects Do Not Load
Possible causes:

Device unreachable

Network discovery failure

Connection timeout

Solution:

Use Objects → Refresh

Check network connectivity

8.2 Writing Present Value Fails
Possible causes:

Wrong priority

Device rejects the value

Object out of service

Incorrect value format

Solution:

Select another write priority

Ensure object is writable

8.3 Schedule Does Not Save
Possible reasons:

No valid events entered

Schedule ID missing

Server communication error

Solution:

Ensure events exist before saving

Try reopening the schedule editor

Check device status

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

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

User's Guide

  • TBD...

Developer's Guide

IDE walk through
The DTXr Javascript guide
Blockly tutorials

Updated by David Fredriksson 6 days ago · 75 revisions