RS-232 to Tripplite PDU Tool
The RS-232 to Tripplite PDU tool allows admins to send byte strings through an RS-232 connector to control a Tripplite PDU. Supported operations are to turn a specific outlet port ON, OFF, and CYCLE.
Supported Serial Commands
This tool expects commands conforming to the grammar below.
Turn outlet on: on <bank> <port>
Turn outlet off: of <bank> <port>
Cycle (restart) outlet: cy <bank> <port>
In all cases, <bank> and <port> are expected to be uint8 values.
In all cases, this tool will send a SET command to the SNMP agent.
Config Format
This tool expects a configuration file called config.yaml, placed under /etc/ser2snmp/. This file must conform the yaml format and have the following sections.
serial_configs:
- serial_port: string value of serial port tty file
- timeout: time in seconds before timing out serial connection
snmp_retry:
- max_attempts: integer value of maximum attempts allowed for an SNMP command
- retry_delay: time in seconds to wait between SNMP command retries
- timeout: time in seconds before timing out SNMP commands
banks:
- <bank number>*
- pdu_auth:
- user: string value of SNMP username
- auth: string value of authentication protocol
- auth_passphrase: string value of authentication passphrase
- priv: string value of privacy protocol
- priv_passphrase: string value of privacy passphrase
- ip_address: string value of IP address of SNMP agent
- snmp_port: integer value of network port of SNMP agent
- ports:
- <port number>*: string value of OID for this port
SNMP Command Buffering
To prevent the SNMP agent from being overwhelmed by commands, this tool will not send a command to the SNMP agent until a response for the previous command has been received. As such, all queued commands will be stored in a priority buffer. The priority given to commands will follow the order the commands were received by the tool. This is to prevent commands being sent out of order.
Health Check
This tool will perform a health check on a regular interval. Each health check will send a GET command to the SNMP agent. If a response is successfully received, the health check is considered to have passed. If the command timed-out or returned an error, the health check is considered to have failed. At this point, the tool will log this event, but continue on with other operations.
Health checks will have priority over other commands. Even though health checks will be placed into the same buffer as others, health checks will always have the highest possible priority.
Metadata
Release files for rs232-to-tripplite-pdu 1.0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rs232_to_tripplite_pdu-1.0.10.tar.gz | 30.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rs232_to_tripplite_pdu-1.0.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.5 kB
Release files / rs232_to_tripplite_pdu-1.0.10.tar.gz
| Download URL | rs232_to_tripplite_pdu-1.0.10.tar.gz |
|---|---|
| Size | 30.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5afc592fecde7a77003996bca5459c81783557381358b75ac20a34ef62c7f7e9
|
|
BLAKE2b-256 checksum How to use checksums |
43ceac301638c931449bc3203881cf0016adfa7908968f9535429e323a7eec0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Release files / rs232_to_tripplite_pdu-1.0.10-py3-none-any.whl
| Download URL | rs232_to_tripplite_pdu-1.0.10-py3-none-any.whl |
|---|---|
| Size | 31.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4dfbaa4492bf49a172e743d98f5618616ac926db58b6b5bdb5facae5d5473b8
|
|
BLAKE2b-256 checksum How to use checksums |
b38ce8e894953742770d694fd13b9c8d877480c8bffd21b6a95eda7a70bab124
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|