midas

Python driver and command line tool for Honeywell Midas gas detectors.

https://github.com/numat/midas

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.0%) to scientific vocabulary

Keywords

alarms python

Keywords from Contributors

flow-control
Last synced: 6 months ago · JSON representation

Repository

Python driver and command line tool for Honeywell Midas gas detectors.

Basic Info
  • Host: GitHub
  • Owner: numat
  • License: gpl-2.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 125 KB
Statistics
  • Stars: 3
  • Watchers: 5
  • Forks: 1
  • Open Issues: 5
  • Releases: 0
Topics
alarms python
Created almost 11 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

midas

Python ≥3.8 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.

```python 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:

python { '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()

Owner

  • Name: Numat Technologies
  • Login: numat
  • Kind: organization
  • Email: info@numat.com
  • Location: Chicago, IL

Re-imagining how the world stores, separates, and transports gases.

GitHub Events

Total
  • Delete event: 10
  • Push event: 20
  • Pull request event: 19
  • Create event: 10
Last Year
  • Delete event: 10
  • Push event: 20
  • Pull request event: 19
  • Create event: 10

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 138
  • Total Committers: 5
  • Avg Commits per committer: 27.6
  • Development Distribution Score (DDS): 0.587
Past Year
  • Commits: 92
  • Committers: 3
  • Avg Commits per committer: 30.667
  • Development Distribution Score (DDS): 0.467
Top Committers
Name Email Commits
Alex Ruddick a****k@n****m 57
renovate[bot] 2****] 41
Patrick Fuller p****r@g****m 33
jamesjeffryes j****s@g****m 5
Alex 5****2 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 77
  • Average time to close issues: 8 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 1.38
  • Average comments per pull request: 0.13
  • Merged pull requests: 75
  • Bot issues: 1
  • Bot pull requests: 65
Past Year
  • Issues: 0
  • Pull requests: 10
  • Average time to close issues: N/A
  • Average time to close pull requests: about 4 hours
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 10
Top Authors
Issue Authors
  • patrickfuller (3)
  • alexrudd2 (2)
  • dlee-bd (1)
  • renovate[bot] (1)
Pull Request Authors
  • renovate[bot] (76)
  • alexrudd2 (8)
  • JamesJeffryes (4)
Top Labels
Issue Labels
enhancement (3)
Pull Request Labels

Dependencies

setup.py pypi
  • pymodbus >=2.4.0
.github/workflows/python-package.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite