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.
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:
setlogin <username> <password>– Save your enteliWEB credentials.login– Authenticate against the enteliWEB server.setsite– Select a site from the list of available sites.- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bac9fa242b5fe72453b8c384a422a0550c462db18de9648d698c4ffbf2ab8b1f
|
|
| MD5 |
796378d11b813f862d913af59be2c465
|
|
| BLAKE2b-256 |
fbb2a03b07cddfd9504d0338c266da21a3edbb27348e8fa18e09b8a76cf286c0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9cd8e2e669b42b34267dcec96c5b321df322f0930aa0df502104e5c0c483432
|
|
| MD5 |
086f688f4df7d592d9164ade1de03fea
|
|
| BLAKE2b-256 |
9f0e1b23885092cf129377616fd78a67a60cc9b2eedea98bfaf50827b459c8ac
|