Skip to main content

Python driver for Honeywell Midas gas detectors.

Project description

midas

Python ≥3.5 driver for Honeywell Midas gas detectors.

Installation

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()

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

midas-0.4.2.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

midas-0.4.2-py2.py3-none-any.whl (16.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file midas-0.4.2.tar.gz.

File metadata

  • Download URL: midas-0.4.2.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.5

File hashes

Hashes for midas-0.4.2.tar.gz
Algorithm Hash digest
SHA256 cb2f4f90b1365426760e6546403d732ff458d706114fb7b5eb7fdd73a4dcf8ed
MD5 18a34156f79ca274daf363b205d965fd
BLAKE2b-256 bf5ae3f37c5572b502e3dac3b03cda4faaf81ae203a9af24a4e86ed3013fe4be

See more details on using hashes here.

File details

Details for the file midas-0.4.2-py2.py3-none-any.whl.

File metadata

  • Download URL: midas-0.4.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.5

File hashes

Hashes for midas-0.4.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f25ffea7c1f0b62aae5b5e741be023a48d5da401dec874116ded126ddeb612a4
MD5 a2eda4967a8779950eb58939c446b0e3
BLAKE2b-256 66f6c8cb0cc98b46446b7b9d8bc14f57f0efca6c7c16e5a573f5352604d80fc5

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