Skip to main content

Space Engineers Redis helper utilities

Project description

secontrol

secontrol is a high-level client for interacting with the Space Engineers Redis gateway. The library simplifies obtaining telemetry, sending commands, and implementing automations using persistent subscriptions to key events.

Features

  • Connecting to Redis using configuration from .env or constructor arguments.
  • Monitoring keys and channels with automatic subscription recovery.
  • Utilities for obtaining owner, player, and grid identifiers.
  • Examples demonstrating command publishing and state monitoring.

Installation

pip install secontrol

Quick Start

from secontrol.common import prepare_grid

# First player's grid
grid = prepare_grid()
# Devices on the grid
print(", ".join((d.name or f"{d.device_type}:{d.device_id}") for d in grid.devices.values()) or "(no devices)")

Environment Variables

Variable Purpose
REDIS_USERNAME Username for authorization.
REDIS_PASSWORD Password for connection.

Variables can be defined in the .env file in the project or system root. Variable values must be obtained in the personal account on the page https://www.outenemy.ru/se/

Examples

Ready-made scripts are located in the examples/organized directory, organized by device type and complexity level:

  • basic/ - Basic examples for getting started

    • basic/ - Simple introductory examples
    • intermediate/ - Moderately complex examples
    • advanced/ - Complex examples with advanced features
  • lamp/ - Examples for controlling lamp devices

    • basic/ - Simple lamp control examples
    • intermediate/ - More complex lamp automation
    • advanced/ - Advanced lamp control with complex logic
  • container/ - Examples for managing container devices

    • basic/ - Simple container operations
    • intermediate/ - Container inventory management
    • advanced/ - Complex inventory tracking and transfers
  • assembler/ - Examples for controlling assembler devices

    • basic/ - Simple production commands
    • intermediate/ - Queue management and monitoring
    • advanced/ - Complex production workflows
  • rover/ - Examples for controlling rover devices

    • basic/ - Simple rover movement
    • intermediate/ - Wheel control and steering
    • advanced/ - Complex rover automation
  • display/ - Examples for controlling display devices

    • basic/ - Simple display content
    • intermediate/ - Dynamic content updates
    • advanced/ - Complex graphics and animations
  • grid/ - Examples for grid-level operations

    • basic/ - Grid information and listings
    • intermediate/ - Grid resource management
    • advanced/ - Grid damage tracking and advanced operations
  • ai/ - Examples for AI automation

    • basic/ - Simple AI tasks
    • intermediate/ - AI behavior control
    • advanced/ - Complex AI automation
  • refinery/ - Examples for controlling refinery devices

    • basic/ - Simple refinery operations
    • intermediate/ - Priority and queue management
    • advanced/ - Complex refinement workflows
  • radar/ - Examples for radar and detection devices

    • basic/ - Simple detection
    • intermediate/ - Radar telemetry processing
    • advanced/ - Complex detection and visualization
  • inventory/ - Examples for inventory management

    • basic/ - Simple inventory operations
    • intermediate/ - Inventory tracking
    • advanced/ - Complex inventory automation and transfers

To run an example:

Wiki

https://github.com/rootfabric/secontrol/wiki/home

License

The project is distributed under the MIT license. See the LICENSE file.

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

secontrol-0.1.9.tar.gz (106.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

secontrol-0.1.9-py3-none-any.whl (124.5 kB view details)

Uploaded Python 3

File details

Details for the file secontrol-0.1.9.tar.gz.

File metadata

  • Download URL: secontrol-0.1.9.tar.gz
  • Upload date:
  • Size: 106.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for secontrol-0.1.9.tar.gz
Algorithm Hash digest
SHA256 dcdb2fed50d5ab244f02cb553b32f87da376728b79707ef42b4e2c8f122aaead
MD5 8ce375c5f797670468d80f2e6d45f73a
BLAKE2b-256 5c17902db94602ded38e24069d30634793062706e82c53e658a78dc804983a8f

See more details on using hashes here.

File details

Details for the file secontrol-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: secontrol-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 124.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.8

File hashes

Hashes for secontrol-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 505e022901e77b60caef3e9cb0e245d05b98de3e6ffd223cf20a1a30290734d6
MD5 181e26e144de013fedc53c9c0d90a813
BLAKE2b-256 c39de925590a026a34ef8bf340f2079b22da3c83c57e45d8359f1dd9fd4e0883

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