Пример #1
0
    def __init__(self, object_id, instance_id, default_value=0.0):
        #
        # 各識別子の定義
        #
        self.object_id = object_id
        self.instance_id = instance_id
        self.property_id = 85
        self.identifier = 'presentValue'

        #
        # スーパクラスのコンストラクタ呼び出し
        #
        Property.__init__(self,
                          self.identifier,
                          Real,
                          default=0.0,
                          optional=True,
                          mutable=False)

        #
        # 初期値のセットアップ
        #
        datastore = SingleBACnetd().getDatastore()
        datastore.set(self.object_id, self.instance_id, self.property_id,
                      default_value)
Пример #2
0
    def exposed_setProperty(self, name, property_id, value):
        #
        # DB への 接続
        #
        with SessionFactory() as session:
            #
            # オブジェクト名が登録されているかを確認
            #
            obj = session.query(BACnetSimulationObject).filter_by(
                name=name).first()
            if obj == None: return False

            #
            # プロパティ名が登録されているかを確認
            #
            prop = obj.properties.filter_by(property_id=property_id).first()
            if prop == None: return False

            #
            # Datastore の 取得
            #
            datastore = SingleBACnetd().getDatastore()

            #
            # 値の設定
            #
            datastore.set(obj.object_id, obj.instance_id, prop.property_id,
                          value)
            return True