Exemplo n.º 1
0
    def __init__(self, dev, **kwargs):
        if _debug:
            DIBinaryInput._debug("__init__ %r %r", dev, kwargs)
        BinaryInputObject.__init__(self, **kwargs)

        # create a button object
        self._dev = dev
Exemplo n.º 2
0
    def __init__(self, button_id, **kwargs):
        if _debug:
            RPiBinaryInput._debug("__init__ %r %r", button_id, kwargs)
        BinaryInputObject.__init__(self, **kwargs)

        # create a button object
        self._button = Button(button_id)
Exemplo n.º 3
0
def create_BI(oid=1, pv=0, name='BI', activeText='On', inactiveText='Off'):
    bio = BinaryInputObject(objectIdentifier=('binaryInput', oid),
                            objectName=name,
                            presentValue=pv,
                            activeText=activeText,
                            inactiveText=inactiveText)
    return bio
Exemplo n.º 4
0
def create_BI(oid=1, pv=0, name="BI", activeText="On", inactiveText="Off"):
    bio = BinaryInputObject(
        objectIdentifier=("binaryInput", oid),
        objectName=name,
        presentValue=pv,
        activeText=activeText,
        inactiveText=inactiveText,
    )
    return bio
Exemplo n.º 5
0
def create_BI(oid=1, pv=0, name="BI", activeText="On", inactiveText="Off"):
    deprecate_msg()
    return BinaryInputObject(
        objectIdentifier=("binaryInput", oid),
        objectName=name,
        presentValue=pv,
        activeText=activeText,
        inactiveText=inactiveText,
        statusFlags=StatusFlags(),
    )
Exemplo n.º 6
0
 def __init__(self, **kwargs):
     if _debug: RandomBinaryInputObject._debug("__init__ %r", kwargs)
     BinaryInputObject.__init__(self, **kwargs)
Exemplo n.º 7
0
def run_application() -> str:
    '''
    Simulate and query the device.
    :return: Object query result.
    '''
    from bacpypes.object import AnalogInputObject, AnalogValueObject, BinaryValueObject, BinaryInputObject, BinaryOutputObject, MultiStateInputObject
    from bacnet.local_device_applications import SimulateAndQueryDeviceApplication
    import bacpypes.basetypes

    analog_input_objects =\
        [
        AnalogInputObject(
        objectIdentifier=('analogInput', 1),
        objectName='CO2_Level',
        objectType='analogInput',
        presentValue=21,
        description='CO2 Level',
        deviceType='0-2000 ppm CO2 Sensor',
        statusFlags=['inAlarm','inAlarm','inAlarm','inAlarm'],
        eventState='normal',
        reliability='noFaultDetected',
        outOfService=False,
        units='partsPerMillion'
    ), AnalogInputObject(
        objectIdentifier=('analogInput', 2),
        objectName='Relative_Humidity',
        objectType='analogInput',
        presentValue=60,
        description='Relative Humidity',
        deviceType='0-100 %RH Sensor',
        statusFlags=['inAlarm','inAlarm','inAlarm','inAlarm'],
        eventState='normal',
        reliability='noFaultDetected',
        outOfService=False,
        units='percentRelativeHumidity'
    ), AnalogInputObject(
        objectIdentifier=('analogInput', 3),
        objectName='Temperature',
        objectType='analogInput',
        presentValue=19,
        description='Temperature',
        deviceType='0-35 C Temperature Sensor or 32-95 F Temperature Sensor',
        statusFlags=['inAlarm','inAlarm','inAlarm','inAlarm'],
        eventState='normal',
        reliability='noFaultDetected',
        outOfService=False,
        units='degreesCelsius'
    ), AnalogInputObject(
        objectIdentifier=('analogInput', 4),
        objectName='Setpoint_Control',
        objectType='analogInput',
        presentValue=67,
        description='Setpoint Value',
        deviceType='0-100 % Setpoint',
        statusFlags=['inAlarm','inAlarm','inAlarm','inAlarm'],
        eventState='normal',
        reliability='noFaultDetected',
        outOfService=False,
        units='percent'
    )]

    analog_value_objects = [
        AnalogValueObject(
            objectIdentifier=('analogValue', 1),
            objectName='Relay_Setpoint',
            objectType='analogValue',
            presentValue=1000,
            description='Relay Setpoint',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='partsPerMillion'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 2),
            objectName='Relay_Hysteresis',
            objectType='analogValue',
            presentValue=50,
            description='Relay Hysteresis',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='partsPerMillion'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 3),
            objectName='Temperature_Offset',
            objectType='analogValue',
            presentValue=50,
            description='Temperature Offset Calibration',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='deltaDegreesFahrenheit'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 4),
            objectName='Relative_Humidity_Offset',
            objectType='analogValue',
            presentValue=0,
            description='RH Offset Calibration',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='percentRelativeHumidity'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 5),
            objectName='Sensor_Altitude',
            objectType='analogValue',
            presentValue=50,
            description='CO2 Sensor Altitude',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='feet'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 6),
            objectName='Display_Modes',
            objectType='analogValue',
            presentValue=50,
            description='CO2 LCD Display Modes',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='noUnits')
    ]

    binary_value_objects = [
        BinaryValueObject(
            objectIdentifier=('binaryValue', 1),
            objectName='Override_Switch',
            objectType='binaryValue',
            presentValue=0,
            description='Override Switch',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False),
        BinaryValueObject(
            objectIdentifier=('binaryValue', 2),
            objectName='Auto_Cal_Enable',
            objectType='binaryValue',
            presentValue=1,
            description='Auto Calibration Enable',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False),
        BinaryValueObject(
            objectIdentifier=('binaryValue', 3),
            objectName='Fahrenheit',
            objectType='binaryValue',
            presentValue=1,
            description='Fahrenheit (1) or Celsius (0)',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False)
    ]

    binary_input_objects = [
        BinaryInputObject(
            objectIdentifier=('binaryInput', 1),
            objectName='Relay_On',
            objectType='binaryInput',
            presentValue=0,
            description='Relay Status',
            deviceType='Indicates On/Off Status of Relay',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
        )
    ]

    objects = analog_input_objects + analog_value_objects + binary_value_objects + binary_input_objects

    return SimulateAndQueryDeviceApplication.run_application(
        objectIdentifier=381003,
        objectName="CDD_CO2_Detector_003",
        objectType=8,
        systemStatus='operational',
        vendorName='Greystone Energy Systems',
        vendorIdentifier=381,
        modelName='CDD2A',
        firmwareRevision='1.4',
        applicationSoftwareVersion='1.0',
        description='Greystone CO2 Detector',
        protocolVersion=1,
        protocolRevision=7,
        protocolObjectTypesSupported=[
            'analogInput', 'analogValue', 'binaryInput', 'binaryValue',
            'device'
        ],
        maxapdulength=128,
        segmentationSupported="noSegmentation",
        apduTimeout=10000,
        numberOfApduRetries=3,
        maxMaster=127,
        maxInfoFrames=1,
        objects=objects)
Exemplo n.º 8
0
def run_application() -> str:
    '''
    Simulate and query the device.
    :return: Object query result.
    '''
    from bacpypes.object import AnalogInputObject, AnalogValueObject, BinaryValueObject, BinaryInputObject, BinaryOutputObject, MultiStateInputObject
    from bacnet.local_device_applications import SimulateAndQueryDeviceApplication
    import bacpypes.basetypes

    analog_input_objects =\
        [
        AnalogInputObject(
        objectIdentifier=('analogInput', 1),
        objectName='Pressure_Sensor_Value',
        objectType='analogInput',
        presentValue=101325,
        description='Pressure Value in Pa or wc',
        deviceType='Room Pressure Sensor',
        statusFlags=['inAlarm','inAlarm','inAlarm','inAlarm'],
        eventState='normal',
        reliability='noFaultDetected',
        outOfService=False,
        units='pascals'
    )]

    analog_value_objects = [
        AnalogValueObject(
            objectIdentifier=('analogValue', 1),
            objectName='Pressure_Averaging_Time',
            objectType='analogValue',
            presentValue=5,
            description='Pressure Averaging Time',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='seconds'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 2),
            objectName='Alarm_High_Limit',
            objectType='analogValue',
            presentValue=0.5,
            description='Alarm High Limit in Pa or wc',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='pascals'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 3),
            objectName='Alarm_Low_Limit',
            objectType='analogValue',
            presentValue=-0.5,
            description='Alarm Low Limit in Pa or wc',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='pascals'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 4),
            objectName='Alarm_On_Delay',
            objectType='analogValue',
            presentValue=5,
            description='Alarm On Delay',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='minutes'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 5),
            objectName='Alarm_Off_Delay',
            objectType='analogValue',
            presentValue=5,
            description='Alarm Off Delay',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='minutes'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 6),
            objectName='Alarm_Silence_Time',
            objectType='analogValue',
            presentValue=30,
            description='Alarm Silence Time',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='minutes'),
        AnalogValueObject(
            objectIdentifier=('analogValue', 7),
            objectName='Buzzer_Volume',
            objectType='analogValue',
            presentValue=2,
            description='CO2 LCD Display Modes',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            outOfService=False,
            units='noUnits')
    ]

    binary_value_objects = [
        BinaryValueObject(
            objectIdentifier=('binaryValue', 1),
            objectName='Alarm_Enable',
            objectType='binaryValue',
            presentValue=1,
            description='0 = Alarm Disable, 1 = Alarm Enable',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False),
        BinaryValueObject(
            objectIdentifier=('binaryValue', 2),
            objectName='Alarm_Test',
            objectType='binaryValue',
            presentValue=0,
            description='0 = Normal Operation, 1 = Alarm Test',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False),
        BinaryValueObject(
            objectIdentifier=('binaryValue', 3),
            objectName='Backlight_Enable',
            objectType='binaryValue',
            presentValue=1,
            description='0 = Backlight Disable, 1 = Backlight Enable',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False),
        BinaryValueObject(
            objectIdentifier=('binaryValue', 4),
            objectName='Pressure_Units',
            objectType='binaryValue',
            presentValue=0,
            description='0 = wc, 1 = Pa ',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False),
        BinaryValueObject(
            objectIdentifier=('binaryValue', 5),
            objectName='Pressure_Range',
            objectType='binaryValue',
            presentValue=1,
            description='0 = Low Pressure Range, 1 = High Pressure Range',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False)
    ]

    binary_input_objects = [
        BinaryInputObject(
            objectIdentifier=('binaryInput', 1),
            objectName='Alarm_Status',
            objectType='binaryInput',
            presentValue=0,
            description='Alarm Status',
            deviceType='0 = No Alarm, 1 = Pressure Alarm',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
        ),
        BinaryInputObject(
            objectIdentifier=('binaryInput', 2),
            objectName='Low_Alarm_Status',
            objectType='binaryInput',
            presentValue=0,
            description='Low Alarm Status',
            deviceType='0 = No Low Alarm, 1 = Low Pressure Alarm',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
        ),
        BinaryInputObject(
            objectIdentifier=('binaryInput', 3),
            objectName='High_Alarm_Status',
            objectType='binaryInput',
            presentValue=0,
            description='High Alarm Status',
            deviceType='0 = No High Alarm, 1 = High Pressure Alarm',
            statusFlags=['inAlarm', 'inAlarm', 'inAlarm', 'inAlarm'],
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
        )
    ]

    objects = analog_input_objects + analog_value_objects + binary_value_objects + binary_input_objects

    return SimulateAndQueryDeviceApplication.run_application(
        objectIdentifier=381003,
        objectName="Room Pressure Monitor 003",
        objectType=8,
        systemStatus='operational',
        vendorName='Greystone Energy Systems',
        vendorIdentifier=381,
        modelName='RPC',
        firmwareRevision='1.4',
        applicationSoftwareVersion='1.0',
        description='Greystone RP Monitor',
        protocolVersion=1,
        protocolRevision=7,
        protocolObjectTypesSupported=[
            'analogInput', 'analogValue', 'binaryInput', 'binaryValue',
            'device'
        ],
        maxapdulength=128,
        segmentationSupported="noSegmentation",
        apduTimeout=10000,
        numberOfApduRetries=3,
        maxMaster=127,
        maxInfoFrames=1,
        objects=objects)
Exemplo n.º 9
0
def run_application() -> str:
    '''
    Simulate and query the device.
    :return: Object query result.
    '''
    from bacpypes.object import AnalogInputObject, AnalogOutputObject, AnalogValueObject, BinaryInputObject, BinaryOutputObject, MultiStateInputObject
    from bacnet.local_device_applications import SimulateAndQueryDeviceApplication
    import bacpypes.basetypes

    analog_input_objects =\
        [
        AnalogInputObject(
        objectName='Temperature Sensor',
        objectIdentifier=('analogInput', 0),
        objectType='analogInput',
        presentValue=21,
        #statusFlags='inAlarm',
        eventState='normal',
        outOfService=False,
        units='degreesCelsius'
    ), AnalogInputObject(
        objectName='Setpoint Adjust',
        objectIdentifier=('analogInput', 1),
        objectType='analogInput',
        presentValue=259,
        #statusFlags='inAlarm',
        eventState='normal',
        outOfService=False,
        units='degreesCelsius'
    ), AnalogInputObject(
        objectName='Humidity Sensor',
        objectIdentifier=('analogInput', 2),
        objectType='analogInput',
        presentValue=27,
        #statusFlags='inAlarm',
        eventState='normal',
        outOfService=False,
        units='percent'
    ), AnalogInputObject(
        objectName='RI1',
        objectIdentifier=('analogInput', 3),
        objectType='analogInput',
        presentValue=20981,
        #statusFlags='inAlarm',
        eventState='normal',
        outOfService=False,
        units='ohms'
    ), AnalogInputObject(
        objectName='RI2',
        objectIdentifier=('analogInput', 4),
        objectType='analogInput',
        presentValue=12841,
        #statusFlags='inAlarm',
        eventState='normal',
        outOfService=False,
        units='ohms'
    ), AnalogInputObject(
        objectName='CO2 Sensor',
        objectIdentifier=('analogInput', 5),
        objectType='analogInput',
        presentValue=738,
        #statusFlags='inAlarm',
        eventState='normal',
        outOfService=False,
        units='partsPerMillion'
    ), AnalogInputObject(
        objectName='LUX Sensor',
        objectIdentifier=('analogInput', 6),
        objectType='analogInput',
        presentValue=1974,
        #statusFlags='inAlarm',
        eventState='normal',
        outOfService=False,
        units='luxes'
    )]

    analog_output_objets = [
        AnalogOutputObject(objectIdentifier=('analogOutput', 0),
                           objectName='Y1',
                           objectType='analogOutput',
                           presentValue=72,
                           eventState='normal',
                           outOfService=False,
                           units='percent'),
        AnalogOutputObject(objectIdentifier=('analogOutput', 1),
                           objectName='Y2',
                           objectType='analogOutput',
                           presentValue=21,
                           eventState='normal',
                           outOfService=False,
                           units='percent'),
        AnalogOutputObject(objectIdentifier=('analogOutput', 2),
                           objectName='Y3',
                           objectType='analogOutput',
                           presentValue=82,
                           eventState='normal',
                           outOfService=False,
                           units='percent')
    ]

    analog_value_objects = [
        AnalogValueObject(objectIdentifier=('analogValue', 0),
                          objectName='Temperature Setpoint',
                          objectType='analogValue',
                          presentValue=27,
                          eventState='normal',
                          outOfService=False,
                          units='degreesCelsius',
                          relinquishDefault=20),
        AnalogValueObject(objectIdentifier=('analogValue', 1),
                          objectName='Humidity Setpoint',
                          objectType='analogValue',
                          presentValue=12,
                          eventState='normal',
                          outOfService=False,
                          units='percent',
                          relinquishDefault=50),
        AnalogValueObject(objectIdentifier=('analogValue', 2),
                          objectName='CO2 Setpoint',
                          objectType='analogValue',
                          presentValue=502,
                          eventState='normal',
                          outOfService=False,
                          units='partsPerMillion',
                          relinquishDefault=500),
        AnalogValueObject(objectIdentifier=('analogValue', 3),
                          objectName='LUX Setpoint',
                          objectType='analogValue',
                          presentValue=1129,
                          eventState='normal',
                          outOfService=False,
                          units='luxes',
                          relinquishDefault=1500),
        AnalogValueObject(objectIdentifier=('analogValue', 4),
                          objectName='DI1 Pulse Count',
                          objectType='analogValue',
                          presentValue=8276491,
                          eventState='normal',
                          outOfService=False,
                          units='noUnits',
                          relinquishDefault=0),
        AnalogValueObject(objectIdentifier=('analogValue', 5),
                          objectName='DI2 Pulse Count',
                          objectType='analogValue',
                          presentValue=292384,
                          eventState='normal',
                          outOfService=False,
                          units='noUnits',
                          relinquishDefault=0),
        AnalogValueObject(objectIdentifier=('analogValue', 6),
                          objectName='LCD Backlight Brightness',
                          objectType='analogValue',
                          presentValue=7,
                          eventState='normal',
                          outOfService=False,
                          units='noUnits',
                          relinquishDefault=0),
    ]

    binary_input_objects = [
        BinaryInputObject(objectIdentifier=('binaryInput', 0),
                          objectName='DI1',
                          objectType='binaryInput',
                          presentValue=0,
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off'),
        BinaryInputObject(objectIdentifier=('binaryInput', 1),
                          objectName='DI2',
                          objectType='binaryInput',
                          presentValue=1,
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off'),
        BinaryInputObject(objectIdentifier=('binaryInput', 2),
                          objectName='Occupancy',
                          objectType='binaryInput',
                          presentValue=1,
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off'),
        BinaryInputObject(objectIdentifier=('binaryInput', 3),
                          objectName='Push Button 1',
                          objectType='binaryInput',
                          presentValue=0,
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off'),
        BinaryInputObject(objectIdentifier=('binaryInput', 4),
                          objectName='Push Button 2',
                          objectType='binaryInput',
                          presentValue=0,
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off')
    ]

    binary_output_objects = [
        BinaryOutputObject(objectIdentifier=('binaryOutput', 0),
                           objectName='DO1',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 1),
                           objectName='DO2',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 2),
                           objectName='SPA Reset',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off')
    ]

    multistate_input_objects = [
        MultiStateInputObject(objectIdentifier=('multiStateInput', 0),
                              objectName='Alarm Level',
                              objectType='multiStateInput',
                              presentValue=1,
                              eventState='normal',
                              outOfService=False,
                              numberOfStates=3)
    ]

    objects = analog_output_objets + analog_input_objects + analog_value_objects + binary_input_objects + binary_output_objects + multistate_input_objects

    return SimulateAndQueryDeviceApplication.run_application(
        objectIdentifier=651000,
        objectName="CDR_001",
        objectType=8,
        systemStatus='operational',
        vendorName='SyxthSense',
        vendorIdentifier=651,
        modelName='CDR',
        protocolVersion=1,
        protocolRevision=10,
        maxapdulength=480,
        segmentationSupported="noSegmentation",
        apduTimeout=3000,
        numberOfApduRetries=3,
        maxMaster=127,
        maxInfoFrames=1,
        databaseRevision=0,
        objects=objects)
Exemplo n.º 10
0
def run_application() -> str:
    '''
    Simulate and query the device.
    :return: Object query result.
    '''
    from bacpypes.object import AnalogInputObject, AnalogOutputObject, AnalogValueObject, BinaryInputObject, BinaryOutputObject, MultiStateInputObject
    from bacnet.local_device_applications import SimulateAndQueryDeviceApplication
    import bacpypes.basetypes

    analog_input_objects = [
        AnalogInputObject(objectName='Built-In Temperature Sensor',
                          objectIdentifier=('analogInput', 1),
                          objectType='analogInput',
                          presentValue=21,
                          eventState='normal',
                          outOfService=False,
                          units='degreesCelsius'),
        AnalogInputObject(objectName='External Temperature Sensor',
                          objectIdentifier=('analogInput', 2),
                          objectType='analogInput',
                          presentValue=87,
                          eventState='normal',
                          outOfService=False,
                          units='degreesCelsius'),
        AnalogInputObject(objectName='Calculated Setpoint',
                          objectIdentifier=('analogInput', 3),
                          objectType='analogInput',
                          presentValue=87,
                          eventState='normal',
                          outOfService=False,
                          units='degreesCelsius')
    ]

    analog_output_objets = [
        AnalogOutputObject(objectIdentifier=('analogOutput', 1),
                           objectName='Y1',
                           objectType='analogOutput',
                           presentValue=12,
                           eventState='normal',
                           outOfService=False,
                           units='percent'),
        AnalogOutputObject(objectIdentifier=('analogOutput', 2),
                           objectName='Y2',
                           objectType='analogOutput',
                           presentValue=88,
                           eventState='normal',
                           outOfService=False,
                           units='percent'),
        AnalogOutputObject(objectIdentifier=('analogOutput', 3),
                           objectName='Y3',
                           objectType='analogOutput',
                           presentValue=62,
                           eventState='normal',
                           outOfService=False,
                           units='percent'),
        AnalogOutputObject(objectIdentifier=('analogOutput', 4),
                           objectName='Thermic1_Position',
                           objectType='analogOutput',
                           presentValue=10,
                           eventState='normal',
                           outOfService=False,
                           units='percent'),
        AnalogOutputObject(objectIdentifier=('analogOutput', 5),
                           objectName='Thermic2_Position',
                           objectType='analogOutput',
                           presentValue=97,
                           eventState='normal',
                           outOfService=False,
                           units='percent'),
        AnalogOutputObject(objectIdentifier=('analogOutput', 6),
                           objectName='ThreePoint_Position',
                           objectType='analogOutput',
                           presentValue=62,
                           eventState='normal',
                           outOfService=False,
                           units='percent')
    ]

    analog_value_objects = [
        AnalogValueObject(objectIdentifier=('analogValue', 0),
                          objectName='Temperature Setpoint',
                          objectType='analogValue',
                          presentValue=18,
                          eventState='normal',
                          outOfService=False,
                          units='degreesCelsius',
                          relinquishDefault=20),
        AnalogValueObject(objectIdentifier=('analogValue', 1),
                          objectName='LCD Brightness',
                          objectType='analogValue',
                          presentValue=3.5,
                          eventState='normal',
                          outOfService=False,
                          units='percent',
                          relinquishDefault=50)
    ]

    binary_input_objects = [
        BinaryInputObject(objectIdentifier=('binaryInput', 0),
                          objectName='DI1',
                          objectType='binaryInput',
                          presentValue=0,
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off')
    ]

    binary_output_objects = [
        BinaryOutputObject(objectIdentifier=('binaryOutput', 0),
                           objectName='DO1',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 1),
                           objectName='DO2',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 2),
                           objectName='Night_Mode_Override',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 3),
                           objectName='Summer_Winter_Changeover',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 4),
                           objectName='Cooling_Disable',
                           objectType='binaryOutput',
                           presentValue=0,
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off')
    ]

    objects = analog_output_objets + analog_input_objects + analog_value_objects + binary_input_objects + binary_output_objects

    return SimulateAndQueryDeviceApplication.run_application(
        objectIdentifier=651000,
        objectName="SRC100_001",
        objectType='device',
        systemStatus='operational',
        vendorName='SyxthSense',
        vendorIdentifier=651,
        modelName='URD',
        protocolVersion=1,
        protocolRevision=10,
        maxapdulength=480,
        segmentationSupported="noSegmentation",
        apduTimeout=3000,
        numberOfApduRetries=3,
        maxMaster=127,
        maxInfoFrames=1,
        databaseRevision=0,
        objects=objects)
Exemplo n.º 11
0
def run_application() -> str:
    '''
    Simulate and query the device.
    :return: Object query result.
    '''
    from bacpypes.object import AnalogInputObject, AnalogOutputObject, AnalogValueObject, BinaryValueObject, BinaryInputObject, BinaryOutputObject, MultiStateInputObject
    from bacnet.local_device_applications import SimulateAndQueryDeviceApplication
    from random import randint

    analog_input_objects = [
        AnalogInputObject(objectIdentifier=('analogInput', 0),
                          objectName='Sensor_Temperature',
                          objectType='analogInput',
                          presentValue=randint(0, 150),
                          eventState='normal',
                          outOfService=False,
                          units='degreesCelsius'),
        AnalogInputObject(objectIdentifier=('analogInput', 1),
                          objectName='Setpoint_Adjust',
                          objectType='analogInput',
                          presentValue=randint(0, 150),
                          eventState='normal',
                          outOfService=False,
                          units='degreesCelsius'),
        AnalogInputObject(objectIdentifier=('analogInput', 2),
                          objectName='Sensor_Humidity',
                          objectType='analogInput',
                          presentValue=randint(0, 100),
                          eventState='normal',
                          outOfService=False,
                          units='percent'),
        AnalogInputObject(objectIdentifier=('analogInput', 3),
                          objectName='RI1',
                          objectType='analogInput',
                          presentValue=randint(0, 50000),
                          eventState='normal',
                          outOfService=False,
                          units='ohms'),
        AnalogInputObject(objectIdentifier=('analogInput', 4),
                          objectName='User_Fan_Speed',
                          objectType='analogInput',
                          presentValue=randint(0, 100),
                          eventState='normal',
                          outOfService=False,
                          units='noUnits')
    ]

    analog_output_objects = [
        AnalogOutputObject(objectIdentifier=('analogOutput', 0),
                           objectName='Y1',
                           objectType='analogOutput',
                           presentValue=randint(0, 100),
                           eventState='normal',
                           outOfService=False,
                           units='percent')
    ]

    analog_value_objects = [
        AnalogValueObject(
            objectIdentifier=('analogValue', 0),
            objectName='Setpoint_Temperature',
            objectType='analogValue',
            presentValue=randint(0, 100),
            eventState='normal',
            outOfService=False,
            units='degreesCelsius',
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 1),
            objectName='Fan_Speed',
            objectType='analogValue',
            presentValue=randint(0, 10),
            eventState='normal',
            outOfService=False,
            units='noUnits',
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 2),
            objectName='Alarm_Code',
            objectType='analogValue',
            presentValue=randint(0, 100),
            eventState='normal',
            outOfService=False,
            units='noUnits',
        )
    ]

    binary_input_objects = [
        BinaryInputObject(objectIdentifier=('binaryInput', 0),
                          objectName='DI1',
                          objectType='binaryInput',
                          presentValue=randint(0, 1),
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off'),
        BinaryInputObject(objectIdentifier=('binaryInput', 1),
                          objectName='Operating_Mode',
                          objectType='binaryInput',
                          presentValue=randint(0, 1),
                          eventState='normal',
                          outOfService=False,
                          polarity='normal',
                          activeText='on',
                          inactiveText='off')
    ]

    binary_output_ojects = [
        BinaryOutputObject(objectIdentifier=('binaryOutput', 0),
                           objectName='DO1',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 1),
                           objectName='DO2',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 2),
                           objectName='Heating Symbol',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 3),
                           objectName='Cooling Symbol',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 4),
                           objectName='Open Arrow Symbol',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 5),
                           objectName='Close Arrow Symbol',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 6),
                           objectName='Day/Night Model',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off'),
        BinaryOutputObject(objectIdentifier=('binaryOutput', 7),
                           objectName='SPA Reset',
                           objectType='binaryOutput',
                           presentValue=randint(0, 1),
                           eventState='normal',
                           outOfService=False,
                           polarity='normal',
                           relinquishDefault=0,
                           activeText='on',
                           inactiveText='off')
    ]

    objects = analog_input_objects + analog_output_objects + analog_value_objects + binary_input_objects + binary_output_ojects

    return SimulateAndQueryDeviceApplication.run_application(
        objectIdentifier=651000,
        objectName="RIU_001",
        objectType=8,
        systemStatus='operational',
        vendorName='SyxthSense',
        vendorIdentifier=651,
        modelName='RI',
        protocolVersion=1,
        protocolRevision=10,
        maxapdulength=480,
        segmentationSupported="noSegmentation",
        apduTimeout=3000,
        numberOfApduRetries=3,
        maxMaster=127,
        maxInfoFrames=1,
        objects=objects)
def run_application() -> str:
    '''
    Simulate and query the device.
    :return: Object query result.
    '''
    from bacpypes.object import AnalogInputObject, AnalogOutputObject, AnalogValueObject, BinaryInputObject, BinaryOutputObject, MultiStateInputObject
    from bacnet.local_device_applications import SimulateAndQueryDeviceApplication

    binary_input_objects = \
        [BinaryInputObject(
            objectIdentifier=('binaryInput',1),
            objectType='binaryInput',
            objectName='Momentary01',
            presentValue=0,
            deviceType='Momentary Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',2),
            objectType='binaryInput',
            objectName='Momentary02',
            presentValue=0,
            deviceType='Momentary Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',3),
            objectType='binaryInput',
            objectName='Momentary03',
            presentValue=0,
            deviceType='Momentary Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',4),
            objectType='binaryInput',
            objectName='Momentary04',
            presentValue=0,
            deviceType='Momentary Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',5),
            objectType='binaryInput',
            objectName='Momentary05',
            presentValue=0,
            deviceType='Momentary Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',6),
            objectType='binaryInput',
            objectName='Momentary06',
            presentValue=0,
            deviceType='Momentary Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',101),
            objectType='binaryInput',
            objectName='Maintained01',
            presentValue=0,
            deviceType='Maintain Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',102),
            objectType='binaryInput',
            objectName='Maintained02',
            presentValue=0,
            deviceType='Maintain Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',103),
            objectType='binaryInput',
            objectName='Maintained03',
            presentValue=0,
            deviceType='Maintain Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',104),
            objectType='binaryInput',
            objectName='Maintained04',
            presentValue=0,
            deviceType='Maintain Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',105),
            objectType='binaryInput',
            objectName='Maintained05',
            presentValue=0,
            deviceType='MomeMaintainntary Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        ), BinaryInputObject(
            objectIdentifier=('binaryInput',106),
            objectType='binaryInput',
            objectName='Maintained06',
            presentValue=0,
            deviceType='Maintain Contact',
            eventState='normal',
            reliability='noFaultDetected',
            outOfService=False,
            polarity='normal',
            activeText='on',
            inactiveText='off'
        )]

    analog_value_objects = [
        AnalogValueObject(
            objectIdentifier=('analogValue', 1),
            objectType='analogValue',
            objectName='Pilot01',
            presentValue=0x0110101,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 2),
            objectType='analogValue',
            objectName='Pilot02',
            presentValue=0x0101101,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 3),
            objectType='analogValue',
            objectName='Pilot03',
            presentValue=0x111001,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 4),
            objectType='analogValue',
            objectName='Pilot04',
            presentValue=0x0110110,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 5),
            objectType='analogValue',
            objectName='Pilot05',
            presentValue=0x0000101,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 6),
            objectType='analogValue',
            objectName='Pilot06',
            presentValue=0x0000001,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 100),
            objectType='analogValue',
            objectName='Device Options',
            presentValue=0,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 1001),
            objectType='analogValue',
            objectName='Input Change Buffer',
            presentValue=0,
            eventState='normal',
            outOfService=False,
        ),
        AnalogValueObject(
            objectIdentifier=('analogValue', 1003),
            objectType='analogValue',
            objectName='Device Instance',
            presentValue=0,
            eventState='normal',
            outOfService=False,
        )
    ]

    objects = analog_value_objects + binary_input_objects

    return SimulateAndQueryDeviceApplication.run_application(
        objectIdentifier=68501,
        objectName="BAC10142XXXXXXXX",
        objectType=8,
        systemStatus='operational',
        vendorName='Touch-Plate Lighting Controls',
        vendorIdentifier=68,
        modelName='Ultra BACnet Smart Control Station',
        firmwareRevision='2.48',
        applicationSoftwareVersion='1.5h',
        protocolVersion=1,
        protocolRevision=7,
        protocolObjectTypesSupported=[
            'analogValue', 'binaryInput', 'binaryOutput', 'device'
        ],
        maxapdulength=480,
        segmentationSupported="noSegmentation",
        apduTimeout=3000,
        numberOfApduRetries=0,
        maxMaster=127,
        databaseRevision=1,
        objects=objects)