Digital Loggers Power Switch Pro
About the Device
The Digital Loggers Power Switch Pro is a network-controlled power distribution unit (PDU) that allows remote control and monitoring of power outlets via a RESTful API. The device is designed for data centers, labs, and automated testing environments where remote power management is essential.
Key Features
Remote Outlet Control: Turn outlets on, off, or cycle them remotely
Power Monitoring: Real-time voltage, current, power, and energy measurements
AutoPing: Automatically monitor hosts and power cycle outlets if they become unresponsive
User Management: Multi-user support with per-outlet access controls
Scriptable: Execute custom scripts on the device
RESTful API: Standards-based HTTP REST API with JSON support
Secure: HTTP Digest authentication and CSRF protection
Device Models
This library is designed to work with Digital Loggers Power Switch Pro models including:
LPC (Web Power Switch Pro)
Pro Switch
Ethernet Power Controller III and later models
Supported Firmware
This library was developed and tested against the DLI REST API specification:
API Version: 20221009T204818Z (October 9, 2022)
The REST API has been available since firmware version 1.7.0 and later. For best compatibility, we recommend using the latest firmware available from Digital Loggers.
Note
While this library targets the API specification from October 2022, it should work with earlier and later firmware versions that support the REST API. Some features may not be available on older firmware versions.
Checking Your Firmware Version
You can check your device’s firmware version using this library:
from power_switch_pro import PowerSwitchPro
switch = PowerSwitchPro("192.168.0.100", "admin", "1234")
info = switch.info
print(f"Firmware version: {info['version']}")
Hardware Specifications
Typical specifications for Power Switch Pro devices:
Outlets: 8 individually controlled outlets (model-dependent)
Current Rating: 15A per outlet, 20A total (US models)
Voltage: 100-240V AC (model-dependent)
Network: 10/100 Ethernet
Protocols: HTTP, HTTPS, SSH, Telnet
Power Monitoring: Real-time voltage, current, and power factor monitoring
Dimensions: Rack-mountable (1U or 2U depending on model)
Default Configuration
Out of the box, most Power Switch Pro devices come with:
IP Address: 192.168.0.100 (DHCP if available)
HTTP Port: 80
HTTPS Port: 443
Username: admin
Password: 1234 (should be changed immediately)
First-Time Setup
Connect the device to your network
Access the device via web browser at http://192.168.0.100
Login with default credentials (admin/1234)
Change the admin password
Configure network settings as needed
Test the connection with this library
Network Configuration
Static IP Configuration
To set a static IP address:
from power_switch_pro import PowerSwitchPro
switch = PowerSwitchPro("192.168.0.100", "admin", "new_password")
# Note: Network configuration requires accessing the web UI
# or using the device's network configuration endpoints
# This library focuses on outlet control and monitoring
Security Considerations
Authentication
The device supports two authentication methods:
HTTP Digest Authentication (recommended, default)
HTTP Basic Authentication (must be enabled in config)
This library uses HTTP Digest Authentication by default for better security.
HTTPS Support
For encrypted communications:
from power_switch_pro import PowerSwitchPro
# Use HTTPS
switch = PowerSwitchPro(
host="192.168.0.100",
username="admin",
password="password",
use_https=True,
verify_ssl=False # Set to True in production with valid cert
)
Best Practices
Change default password immediately
Use HTTPS in production environments
Create separate user accounts for different operators
Use outlet locking to prevent accidental changes to critical outlets
Enable SSH key authentication instead of passwords
Regularly update firmware
Use dedicated management network if possible
AutoPing Feature
AutoPing is a built-in feature that monitors hosts via ICMP ping and automatically power cycles outlets if a host becomes unresponsive.
Configuration Example
from power_switch_pro import PowerSwitchPro
switch = PowerSwitchPro("192.168.0.100", "admin", "1234")
# Monitor a server and restart it if unresponsive
switch.autoping.add_entry(
host="192.168.0.50",
outlet=0,
enabled=True,
interval=60, # Check every 60 seconds
retries=3 # Try 3 times before cycling
)
Power Monitoring
The device includes built-in power monitoring capabilities:
Measured Parameters
Voltage: Line voltage (V)
Current: Current draw per bus (A)
Power: Real power consumption (W)
Energy: Cumulative energy usage (kWh)
Power Factor: For models that support it
Reading Measurements
from power_switch_pro import PowerSwitchPro
switch = PowerSwitchPro("192.168.0.100", "admin", "1234")
# Get all measurements
voltage = switch.meters.get_voltage()
current = switch.meters.get_current()
power = switch.meters.get_power()
energy = switch.meters.get_total_energy()
print(f"Load: {power}W at {voltage}V, {current}A")
print(f"Total energy: {energy} kWh")
Troubleshooting
Common Issues
- Cannot connect to device
Verify network connectivity (ping the device)
Check firewall settings
Ensure correct IP address
Verify device is powered on
- Authentication failures
Verify username and password
Check if account is enabled
Ensure account has appropriate permissions
- Outlets not responding
Check if outlet is locked
Verify user has access to that outlet
Check physical connections
Verify outlet is not in a failed state
- Power monitoring shows zero
Some models don’t support power monitoring
Check if load is connected
Verify measurements on web UI
Getting Help
Check device web UI for detailed status
Review device system logs
Consult Digital Loggers documentation
Check this library’s GitHub issues
Contact Digital Loggers support for hardware issues
Additional Resources
Firmware Updates
To update device firmware:
Download latest firmware from Digital Loggers website
Access device web UI
Navigate to System → Firmware Update
Upload firmware file
Wait for update to complete (do not power off)
Verify new version after reboot
Warning
Always backup your configuration before updating firmware. Firmware updates should not be interrupted as this may brick the device.