midas
Python driver for Honeywell Midas gas detectors.
Installation
uv pip install midas
Usage
Command Line
To test your connection and stream real-time data, use the command-line interface. You can read the state with:
$ midas 192.168.1.100
This will output a JSON object which can be further manipulated. See below for object structure.
Python
For more complex behavior, you can write a python script. This solely uses Python ≥3.5's async/await syntax.
import asyncio
from midas import GasDetector
async def get():
async with GasDetector('192.168.1.100') as detector:
print(await detector.get())
asyncio.run(get())
If the detector is operating at that address, this should output a dictionary of the form:
{
'alarm': 'none', # Can be 'none', 'low', or 'high'
'concentration': 0.0, # Current gas concentration reading
'connected': True, # Monitors heartbeat for connection
'fault': { # Fault data, when applicable
'code': 'F39',
'condition': 'User has generated a simulated fault.',
'description': 'Simulated fault',
'recovery': 'Reset simulated fault.',
'status': 'Instrument fault'
},
'flow': 514, # Flow rate, in cc / minute
'high-alarm threshold': 2.0, # Threshold concentration for high alarm trigger
'ip': '192.168.1.192', # IP address of connection, can be used to link to Honeywell's own web interface
'life': 538.95, # Days until cartridge replacement required
'low-alarm threshold': 1.0, # Threshold concentration for low alarm trigger
'state': 'Monitoring', # Can be any option in `gas_detector.monitoring_status_options`
'temperature': 26, # Detector temperature, in celsius
'units': 'ppm' # Units for concentration values
}
Additionally, there are four commands which can be sent to the device
- Clear all alarms and faults -
detector.clear_alarms_and_faults() - Inhibit alarms -
detector.inhibit_alarms() - Inhibit alarms and faults -
detector.inhibit_alarms_and_faults() - Turn off inhibition -
detector.remove_inhibit()
Release files for midas 0.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| midas-0.8.1.tar.gz | 18.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| midas-0.8.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.7 kB
Release files / midas-0.8.1.tar.gz
| Download URL | midas-0.8.1.tar.gz |
|---|---|
| Size | 18.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e9949c4640e06ae8ff6f41374bda06878d6c33aaa98eb660e803be7d4e8db58e
|
|
BLAKE2b-256 checksum How to use checksums |
f30335c5c55b3f55ab1554f05e43f109dbf4049e980b38d7674e276b9fb4266f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / midas-0.8.1-py3-none-any.whl
| Download URL | midas-0.8.1-py3-none-any.whl |
|---|---|
| Size | 17.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d71632ed5a5d01bb5893bd40ff08136deb111020eb27222f72bf9a37c443abef
|
|
BLAKE2b-256 checksum How to use checksums |
4843a40c3a77b010654f1f54f41031e89e8255a4942e1fb01faf29f580d9ff9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|