Skip to main content

Tools for monitoring S33 modems

Project description

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 ...
    

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

s33_modem_mon-0.1.1.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

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

s33_modem_mon-0.1.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file s33_modem_mon-0.1.1.tar.gz.

File metadata

  • Download URL: s33_modem_mon-0.1.1.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for s33_modem_mon-0.1.1.tar.gz
Algorithm Hash digest
SHA256 48463b2b204e71f5bc8439ea00e104107c5abc75b43d97cf6436dda7cd074584
MD5 e40d443f4c13d322f8ed305debbf8545
BLAKE2b-256 4e47a07c0709236d5d00640b473ccad370f63ae2b348c30da79509fd87879d5e

See more details on using hashes here.

File details

Details for the file s33_modem_mon-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: s33_modem_mon-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for s33_modem_mon-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 132bff81abd19c116fe89160cb36b76f62dbf3f83400ce884ada695d5e7139bb
MD5 c6bc0caff3b9cc911a41ff642c880a30
BLAKE2b-256 5cf1dea78b2eed0c12c498884bee62c46eb48e6f0977eba90db58461bd70bf95

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