Skip to main content

s33-modem-mon

Tools for the S33 modem.

  1. A simple command-line tool to monitor and fetch stats from the modem using its HNAP API.

    $ s33 --password mypassword
    {
      "customer_status_startup_sequence": {
        "downstream_frequency_hertz": 741000000,
        "downstream_comment": "Locked",
        "connectivity_status": "OK",
        "connectivity_comment": "Operational",
        "boot_status": "OK",
        "boot_comment": "Operational",
        "config_file_status": "OK",
        "config_file_comment": "",
        "security_status": "Enabled",
        "security_comment": "BPI+"
      },
      "customer_status_connection_info": {
        "system_uptime_seconds": 602183,
        "system_time_unix": 1771475283,
        "network_access": "Allowed"
      },
      "customer_status_downstream_channel_info": {
        "channels": [
          {
            "channel_id": 31,
            "lock_status": "Locked",
            "modulation": "QAM256",
            "frequency_hz": 741000000,
            "power_dbmv": 11.0,
            "snr_db": 37.0,
            "corrected_count": 0,
            "uncorrectable_count": 0
            ...
    
  2. A background service to continuously read stats from the modem and insert them into a TimescaleDB database for long-term monitoring and analysis.

    $ s33mon --modem-password mypassword --db-host localhost --db-user myuser --db-password mypassword
    2026-02-19 05:54:53,110 INFO s33mon.mon: Connecting to myuser@localhost:5432/s33mon ...
    2026-02-19 05:54:53,157 INFO s33mon.mon: Schema is ready.
    2026-02-19 05:54:53,157 INFO s33mon.mon: Starting poll loop — modem: 192.168.0.1, interval: 900s
    2026-02-19 05:54:53,305 INFO httpx: HTTP Request: POST https://192.168.0.1/HNAP1/ "HTTP/1.1 200 OK"
    2026-02-19 05:54:53,361 INFO httpx: HTTP Request: POST https://192.168.0.1/HNAP1/ "HTTP/1.1 200 OK"
    2026-02-19 05:55:00,120 INFO httpx: HTTP Request: POST https://192.168.0.1/HNAP1/ "HTTP/1.1 200 OK"
    2026-02-19 05:55:00,163 INFO s33mon.mon: Pull #3 stored successfully.
    2026-02-19 05:55:00,163 INFO s33mon.mon: Sleeping 900s ...
    

Metadata

Release files for s33-modem-mon 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for s33-modem-mon 0.1.1
File Size Uploaded Provenance Actions
s33_modem_mon-0.1.1.tar.gz 9.8 kB Without provenance Details for s33_modem_mon-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for s33-modem-mon 0.1.1
File Interpreter ABI Platform Actions
s33_modem_mon-0.1.1-py3-none-any.whl Python 3 none any Details for s33_modem_mon-0.1.1-py3-none-any.whl

Total release size: 20.6 kB

Release files / s33_modem_mon-0.1.1.tar.gz

Download URL s33_modem_mon-0.1.1.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
48463b2b204e71f5bc8439ea00e104107c5abc75b43d97cf6436dda7cd074584
BLAKE2b-256 checksum
How to use checksums
4e47a07c0709236d5d00640b473ccad370f63ae2b348c30da79509fd87879d5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / s33_modem_mon-0.1.1-py3-none-any.whl

Download URL s33_modem_mon-0.1.1-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
132bff81abd19c116fe89160cb36b76f62dbf3f83400ce884ada695d5e7139bb
BLAKE2b-256 checksum
How to use checksums
5cf1dea78b2eed0c12c498884bee62c46eb48e6f0977eba90db58461bd70bf95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for s33-modem-mon 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page