Monitor barometric pressure from Spectrum SAX2V1S routers
Project description
Spectrum Router Barometer
Monitor barometric pressure from Spectrum SAX2V1S routers.
Installation
Quick install (recommended)
pipx install spectrum-barometer
Or with pip:
pip install spectrum-barometer
Install with pip and git
pipx install git+https://github.com/BobaTeagrl/spectrum-barometer.git
Or with pip:
pip install git+https://github.com/BobaTeagrl/spectrum-barometer.git
Or clone repo and run the file
git clone https://github.com/BobaTeagrl/spectrum-barometer.git
cd spectrum-barometer
# and run commands with
python3 barometer_logger.py <command here>
Updating
pipx upgrade spectrum-barometer
or
pip install --upgrade spectrum-barometer
# If installed with git
pipx uninstall spectrum-barometer
pipx install git+https://github.com/BobaTeagrl/spectrum-barometer.git
# If you cloned repo you have to re clone it
First Time Setup
# Configure your router credentials
barometer config
# Test the connection
barometer test
All data is stored in ~/spectrum-barometer/ regardless of where you run the command.
Usage
# Collect a single reading
barometer scrape
# Start continuous monitoring (every 5 minutes by default)
barometer monitor
# Generate a graph
barometer graph
# View statistics
barometer stats
# Archive old data
barometer archive
# Open the local web UI
barometer web
# Show information about data locations and project setup
barometer info
Append --help to any command to see extra options
WEB UI
You can run the scraper from the web UI or cli but ending the process stops the scrape. i thought i knew how to get around that, but i dont lol. if you do feel free to fork and if you can you will be pulled into the main codebase but for now we live with these limits. the good news is either are both quite light to run and if you run start in terminal, then open a new one and run web and you can freely play in the ui without stopping monitor as long as you dont hit the big red button and start it again, then the process if part of the web server. so feel free to pick whatever is easier for you!
Finding Your Data
Everything is stored in ~/spectrum-barometer/:
- Graphs:
~/spectrum-barometer/graphs/ - Data:
~/spectrum-barometer/data/readings.csv - Config:
~/spectrum-barometer/config.yaml - Logs:
~/spectrum-barometer/logs/barometer.log
You can run barometer info to see exact paths and current data.
FAQ
Why make this?
I find it funny.
Any other reason?
Spectrum is a very anti consumer company. this whole project started because i cant even access port forwarding, A VERY BASIC FEATURE and while trying to find a way around it i found the GitHub with the page and credentials used to find the barometer.
How often can it update?
The barometer seems to update every second but that's super overkill lol but you can if you want to.
Will you update this ever?
If i have new ideas or find bugs/bugs get reported i may but as it sits with 2.0.0 im not sure what more i would add to this tool that would be more than just bloat.
How hard is it to run?
When taking a reading it might take a few % of CPU and max ram use i personally have seen is 111MB (though not to say it can never get higher i cant know for sure I'm just one person) but when sitting idle its no CPU. i wanted this to be able to run on anything from a raspberry pi you already have set up running pi hole or something to someones single laptop that they are actively pushing while it runs in the background (because that's me). The web UI takes about 10-20MB of RAM loading and less just sitting there according to firefox profiler.
Can i use this on (Insert other router here)?
idk! figure it out! I see no reason it couldnt given the correct login and webpage but the scraping logic is a little basic so if the barometer data doesnt sit in a table element, it would not be found. Its totally possible to modify this tool to better scrape more routers but i only have the one to test on so if you want that fuctionality make it yourself or send me your router and like 20$ lol
None of this would be possible without the work of MeisterLone on GitHub
He actually put in the work to reverse engineer this stupid router and i wouldn't have even realized routers had barometers without it lmao
https://github.com/MeisterLone/Askey-RT5010W-D187-REV6
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spectrum_barometer-2.1.1.tar.gz.
File metadata
- Download URL: spectrum_barometer-2.1.1.tar.gz
- Upload date:
- Size: 245.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8604e36cbb36c1b1bce122463e192ed00c97b38bc73b6ee95154c901cb399a57
|
|
| MD5 |
d345d4366c63926c15e42f582fe1c57e
|
|
| BLAKE2b-256 |
925d943c348130164bebc3fb67ff3ffc3d8ca18b11a106774c73c1de042bfa3a
|
Provenance
The following attestation bundles were made for spectrum_barometer-2.1.1.tar.gz:
Publisher:
python-publish.yml on BobaTeagrl/spectrum-barometer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spectrum_barometer-2.1.1.tar.gz -
Subject digest:
8604e36cbb36c1b1bce122463e192ed00c97b38bc73b6ee95154c901cb399a57 - Sigstore transparency entry: 871457588
- Sigstore integration time:
-
Permalink:
BobaTeagrl/spectrum-barometer@ac808beb12243a24f3c30254e277e29aaf96e607 -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/BobaTeagrl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ac808beb12243a24f3c30254e277e29aaf96e607 -
Trigger Event:
release
-
Statement type:
File details
Details for the file spectrum_barometer-2.1.1-py3-none-any.whl.
File metadata
- Download URL: spectrum_barometer-2.1.1-py3-none-any.whl
- Upload date:
- Size: 245.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f726c618882745522119578b4d85ede062a772e55640925971a941bd5e3e898
|
|
| MD5 |
c57e79c4cfcac7fdc07daf166db5cda8
|
|
| BLAKE2b-256 |
1d7653be0d7c677c69abb9d9899816cad066dfb982199937cb9f48e73fd42237
|
Provenance
The following attestation bundles were made for spectrum_barometer-2.1.1-py3-none-any.whl:
Publisher:
python-publish.yml on BobaTeagrl/spectrum-barometer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spectrum_barometer-2.1.1-py3-none-any.whl -
Subject digest:
2f726c618882745522119578b4d85ede062a772e55640925971a941bd5e3e898 - Sigstore transparency entry: 871457612
- Sigstore integration time:
-
Permalink:
BobaTeagrl/spectrum-barometer@ac808beb12243a24f3c30254e277e29aaf96e607 -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/BobaTeagrl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ac808beb12243a24f3c30254e277e29aaf96e607 -
Trigger Event:
release
-
Statement type: