Skip to main content

A terminal application for interacting with the Delta Controls enteliWEB REST API.

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.3.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.3-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: enteliscript-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 ae80bcc65528b51e33059df61b8e63700d1f45450d577404a5592fb71079d37b
MD5 7d467e62860053c07f25134502992c3a
BLAKE2b-256 13b5c7f7aff73e9f7e446d35b471f5b50b280e4abcf0a5708049d33784f31d56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: enteliscript-0.2.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a4626ec968d7e22a2d81a1031d33c48e16f362eb2c93e8e4dd326ad8a979d13f
MD5 518799cac9f3c37654210b2ec7801be9
BLAKE2b-256 454c333eed814bc9020aa66216ac37fa564a55445615937d191e8d143fd8f81e

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