Skip to main content

A terminal application for interacting with the Delta Controls enteliWEB REST API. It provides a Textual-based interactive TUI for querying and writing BACnet data across sites, devices, objects, and properties.

Project description

enteliscript

A terminal application for interacting with the Delta Controls enteliWEB REST API. It provides a Textual-based interactive TUI for querying and writing BACnet data across sites, devices, objects, and properties.

Python 3.10+ PyPI - Version License: MIT GitHub last commit PyPI - Downloads

Features

  • Interactive TUI – Rich terminal interface with command input, scrollable output log, spinner feedback for blocking operations, and command history (↑/↓ arrows).
  • Full BACnet hierarchy – Query sites, devices, objects, and properties through the enteliWEB REST API.
  • Property writes – Write individual properties or batch-write from a CSV file.
  • Persistent credentials – Credentials are saved to a platform-appropriate config directory and reused across sessions.
  • Rotating log files – All API calls and user actions are logged to rotating files for troubleshooting.

Installation

pip install enteliscript

Or install from source:

git clone https://github.com/makaufmanOS/enteliscript.git
cd enteliscript
pip install .

Quick Start

enteliscript

On first launch, follow the guided flow shown in the TUI:

  1. setlogin <username> <password> – Save your enteliWEB credentials.
  2. login – Authenticate against the enteliWEB server.
  3. setsite – Select a site from the list of available sites.
  4. Run any query or write command.

Commands

Command Usage Description
setlogin setlogin <username> <password> Save enteliWEB credentials for this user.
getlogin getlogin Show the currently saved username.
login login Authenticate the enteliWEB API.
setsite setsite List available sites and select one.
getsite getsite Show the currently selected site.
getdevices getdevices List devices at the current site.
getobjects getobjects <device> List BACnet objects for a device.
writeproperty writeproperty <device> <obj> <prop> <value> Write a value to a property.
writecsv writecsv <csv_path> Write BACnet properties from a CSV file.
whereconfig whereconfig Show the config and log file directory.
help help <command> Show command list or details for one command.
clear clear Clear the output log.

[!TIP] Append ? to any command name (e.g. writecsv?) to see its detailed help.

writeproperty example

writeproperty 123456 AV1 Present_Value 72.5

This writes 72.5 to Present_Value on Analog Value instance 1 of device 123456.

CSV batch writes

The writecsv command reads a CSV file with the following columns:

Column Required Description
device Yes Device identifier (e.g. 123456)
object_type Yes BACnet object type (e.g. AI, AO, AV)
instance Yes Instance number of the object
property_name Yes Property to write (e.g. Present_Value)
property_value Yes Value to write
site_name No Overrides the currently selected site

Keyboard Shortcuts

Key Action
/ Navigate command history
Escape Clear current input
Ctrl+C Quit the application

Configuration

Credentials and settings are stored as JSON in the platform config directory:

  • Windows: %LOCALAPPDATA%/enteliscript/config.json
  • macOS: ~/Library/Application Support/enteliscript/config.json
  • Linux: ~/.config/enteliscript/config.json

Log files are written to the platform log directory:

  • Windows: %LOCALAPPDATA%/enteliscript/Logs/enteliscript.log
  • macOS: ~/Library/Logs/enteliscript/enteliscript.log
  • Linux: ~/.local/state/enteliscript/log/enteliscript.log

Run whereconfig inside the TUI to see the exact paths on your system.

Requirements

  • Python 3.10+
  • An accessible enteliWEB server

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enteliscript-0.2.2.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

enteliscript-0.2.2-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file enteliscript-0.2.2.tar.gz.

File metadata

  • Download URL: enteliscript-0.2.2.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for enteliscript-0.2.2.tar.gz
Algorithm Hash digest
SHA256 470961e1eb4e1eae56e029e945ff473bae4447769e432453c3cfed6fc4f2b528
MD5 29cebe225f8c55c2a2cf9dacb1c76945
BLAKE2b-256 2d3a4915256c493880f9857266c7cf2a4fd8f859d7ab42c79367d90e049ef61b

See more details on using hashes here.

File details

Details for the file enteliscript-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: enteliscript-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for enteliscript-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 041aca04e1f5491a378b5c860ca4411edc899f19028346799e2ac023fec9d497
MD5 55c74c012af946d97d5c6000355ce87d
BLAKE2b-256 ed991a3a1f8db48e593e46522c007f6dae54a2c4989e0f21012a94c525cd4259

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page