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.4.tar.gz (26.7 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.4-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: enteliscript-0.2.4.tar.gz
  • Upload date:
  • Size: 26.7 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.4.tar.gz
Algorithm Hash digest
SHA256 bac9fa242b5fe72453b8c384a422a0550c462db18de9648d698c4ffbf2ab8b1f
MD5 796378d11b813f862d913af59be2c465
BLAKE2b-256 fbb2a03b07cddfd9504d0338c266da21a3edbb27348e8fa18e09b8a76cf286c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: enteliscript-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 31.2 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b9cd8e2e669b42b34267dcec96c5b321df322f0930aa0df502104e5c0c483432
MD5 086f688f4df7d592d9164ade1de03fea
BLAKE2b-256 9f0e1b23885092cf129377616fd78a67a60cc9b2eedea98bfaf50827b459c8ac

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