精密空调DataMate3000环境监控脚本

精密空调DataMate3000环境监控脚本,第1张

概述精密空调DataMate3000环境监控脚本

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

#!/usr/bin/env python#Coding:utf-8"""  Author:  EDWard.Zhou -- <[email protected]>  Purpose: 监控精密空调DataMate3000状态  Created: 2015年05月02日"""import unittestimport netsnmpimport sysimport argparse#DataMate3000MIB库DaTaMate3000MIB = {    'SmartOutput': {        'Temperature': '.1.3.6.1.4.1.13400.2.10.1.2.2.1',#温度         'HumIDity': '.1.3.6.1.4.1.13400.2.10.1.2.2.2',#湿度        },'BaseStatus': {        #'''Status:   unkNown ( 1 ),ok ( 2 ),lostCommunication ( 3 ),notEstablished ( 4 )'''        'Communication': '.1.3.6.1.4.1.13400.2.10.1.3.1.1',#通信状态        },'SmartStatus': {        #'''Status:  #unkNown ( 1 ),on ( 2 ),off ( 3 )'''        'UnitOnOff': '.1.3.6.1.4.1.13400.2.10.1.3.2.1',#开关机        'MainFan': '.1.3.6.1.4.1.13400.2.10.1.3.2.2',#风机        'CoolMode': '.1.3.6.1.4.1.13400.2.10.1.3.2.3',#制冷        'HeatMode': '.1.3.6.1.4.1.13400.2.10.1.3.2.4',#加热        'HumIDifyMode': '.1.3.6.1.4.1.13400.2.10.1.3.2.5',#加湿        'DehumIDifyMode': '.1.3.6.1.4.1.13400.2.10.1.3.2.6',#除湿        'HighPressure': '.1.3.6.1.4.1.13400.2.10.1.3.2.7',#高压告警        'LowPressure': '.1.3.6.1.4.1.13400.2.10.1.3.2.8',#低压告警        'HighTemperature': '.1.3.6.1.4.1.13400.2.10.1.3.2.9',#高温告警        'LowTemperature': '.1.3.6.1.4.1.13400.2.10.1.3.2.10',#低温告警        'HighHumIDify': '.1.3.6.1.4.1.13400.2.10.1.3.2.11',#高湿告警        'LowHumIDify': '.1.3.6.1.4.1.13400.2.10.1.3.2.12',#低湿告警        'PowerFailure': '.1.3.6.1.4.1.13400.2.10.1.3.2.13',#电源故障告警        'ShortCycle': '.1.3.6.1.4.1.13400.2.10.1.3.2.14',#短周期告警        'CustomAlarm1': '.1.3.6.1.4.1.13400.2.10.1.3.2.15',#自定义告警1        'CustomAlaarm2': '.1.3.6.1.4.1.13400.2.10.1.3.2.16',#自定义告警2        'MainFanServicerequired': '.1.3.6.1.4.1.13400.2.10.1.3.2.17',#主风机维护请求        'HumIDifIErServicerequired': '.1.3.6.1.4.1.13400.2.10.1.3.2.18',#加湿器维护请求        'FilterServicerequired': '.1.3.6.1.4.1.13400.2.10.1.3.2.19',#过滤网维护请求        'CoilFroze': '.1.3.6.1.4.1.13400.2.10.1.3.2.20',#盘管冻结        'HumIDifIErFailure': '.1.3.6.1.4.1.13400.2.10.1.3.2.21',#加湿器故障        'SensorBoardFailure': '.1.3.6.1.4.1.13400.2.10.1.3.2.22',#传感器板故障        'dischargeTemperatureFailure': '.1.3.6.1.4.1.13400.2.10.1.3.2.23',#排气温度故障        'PowerLost': '.1.3.6.1.4.1.13400.2.10.1.3.2.24',#电源丢失        'InnerCommFailure': '.1.3.6.1.4.1.13400.2.10.1.3.2.25',#空调通讯状态        },}#设置返回状态码'''ST_OK=0 #正常ST_WR=1 #错误ST_CR=2 #严重警告ST_UK=3 #未知'''#采用snmp协议获取相应OID值def snmpGet(oID,version = 1,community = 'public',host = 'localhost'):    try:        result = netsnmp.snmpwalk(oID,Version = version,Community = community,DestHost = host)    except Exception,err:        print err        sys.exit()    if result:        return result[0]    else:        return Nonedef main():    parser = argparse.ArgumentParser(description='DataMate 3000 status check')    parser.add_argument('-i','--host',dest='host',nargs = '?',default= 'localhost',required = False,help='The specifIEd monitoring DataMate 3000 IP or Host')    parser.add_argument('-v','--version',dest='version',default= 1,type = int,help='The specifIEd snmp version')    parser.add_argument('-C','--Community',dest='Community',default= 'public',help='The specifIEd snmp community')    parser.add_argument('-V','--Variable',dest = 'Variable',default = 'Temperature',required = True,choices  = ['Temperature','HumIDity'],help = 'The specifIEd check object' )    parser.add_argument('-w','--warning',dest = 'warning',default = None,help = 'Threshold which will result in a warning status')    parser.add_argument('-c','--critical',dest = 'critical',help = 'Threshold which will result in a critical status')    args = parser.parse_args()    #检测环境温度    if args.Variable == 'Temperature':        toID = DaTaMate3000MIB['SmartOutput']['Temperature']        _result = snmpGet(toID,args.version,args.Community,args.host)        result = float(_result)        if (result / 10) < args.warning:            print "DataMate 3000 Teamperature is %s ℃,status is ok." % (result / 10)            sys.exit(0)        elif (result / 10) >= args.warning and (result / 10) <= args.critical:            print "DataMate 3000 Teamperature is %s ℃,status is warning." % (result / 10)            sys.exit(1)        elif (result / 10) >= args.critical:            print "DataMate 3000 Teamperature is %s ℃,status is critical." % (result / 10)            sys.exit(2)        else:            print "DataMate 3000 Teamperature is unkNown ℃,status is unkNown."            sys.exit(3)    #检测环境湿度    if args.Variable == 'HumIDity':        hoID = DaTaMate3000MIB['SmartOutput']['HumIDity']        _result = snmpGet(hoID,args.host)        result = float(_result)        if result < args.warning:            print "DataMate 3000 HumIDity is %s %%rH,status is ok." % result            sys.exit(0)        elif result >= args.warning and result <= args.critical:            print "DataMate 3000 HumIDity is %s %%rH,status is warning." % result            sys.exit(1)        elif result >= args.critical:            print "DataMate 3000 HumIDity is %s %%rH,status is critical." % result            sys.exit(2)        else:            print "DataMate 3000 HumIDity is unkNown %%rH,status is unkNown."            sys.exit(3)    if __name__ == '__main__':    main()

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的精密空调DataMate3000环境监控脚本全部内容,希望文章能够帮你解决精密空调DataMate3000环境监控脚本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:http://outofmemory.cn/langs/1198765.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

随机推荐

  • 贝尔法斯特女王大学特色有哪些

    贝尔法斯特女王大学(Queen‘s University Belfast)于1845年建校,位于英国北爱尔兰首府贝尔法斯特,其教研历史悠久,学术成就昭著。贝尔法斯特女王大学在201314QS世界大学

    2022-07-03
    000
  • 格拉摩根大学奖学金

    据立思辰留学360介绍说,格拉摩根大学-University of Glamorgan 是英国的一所现代化大学,并以其出色的教学质量为骄傲。自1913年建校以来,一直提供着诸多的课程和培训,同时为学生

    2022-07-03
    000
  • 格拉斯哥卡利多尼安大学与西伦敦大学哪个好

      格拉斯哥卡利多尼安大学与西伦敦大学都有自己的优势专业,具体请咨询立思辰留学360专业顾问团队,咨询电话:4008-941-360格拉斯哥卡利多尼安大学格拉斯哥卡利多尼安大学(Glasgow Cal

    2022-07-03
    000
  • 新加坡东亚管理学院酒店旅游管理专业

      随着新一轮的留学申请的火热进行,很多准备留学的学生已经投入到了2017年新加坡留学的申请当中。对于还在迷茫选读什么专业的学生来说,酒店旅游管理专业是个不错的选择。一直以来,新加坡酒店旅游管理专业都

    2022-07-03
    300
  • 泰国玛哈沙拉坎大学

    马哈沙拉坎大学立思辰留学360介绍,泰国玛哈沙拉坎大学坐落在泰国东北部玛哈沙拉坎市中心,占地560英亩。学校创办于1968年,是一所规模大、综合实力强,教学基础设施完善,管理科学和规范的综合性大学。现

  • 泰国兰实大学申请条件多吗

      兰实大学立思辰留学360介绍,泰国兰实大学(RangsitUniversity,RSU)创立于1986年,是泰国专业设置最多的一所综合性大学,拥有87个学士、36个硕士和11个博士学位颁授点,兰实

    2022-07-03
    000
  • 新加坡特许科技学院介绍

    立思辰留学360介绍:新加坡特许科技学院是经新加坡教育部注册的教育机构。新加坡特许科技学院是新加坡教育部认可的提供从证书、专科、研究生多层次教学的一所民办学院。学校简介:CITECH以独特的优势,有机

    2022-07-03
    300
  • 留学美国西肯塔基大学排名

    立思辰留学360介绍:Western Kentucky University 西肯塔基大学,是一所州立综合性大学,建校于1906年,也是美国南部名校之一,位于肯塔基州的Bowling Green城内,

    2022-07-03
    300
  • 2017加拿大乔治布朗学院托福要求

    乔治布朗学院乔治布朗学院(George Brown College)是加拿大最大的社区学院之一。立思辰留学360介绍自一九六七年即成为多伦多市的正式学院,是一家由政府立案的教育机构。学校的声誉吸引著数

    2022-07-03
    100

发表评论

登录后才能评论

评论列表(0条)

    保存