コード例 #1
0
def get_ballasts_in_group():
    virtual_group_id = request.args.get('virtual_group_id')
    channel_number = request.args.get('channel_number')
    db = Database()
    sql_string = 'SELECT ballasts.ID as BallastID, ballast_name, virtual_group_items.ballast_id FROM ballasts LEFT JOIN virtual_group_items ON ballasts.ID  = virtual_group_items.ballast_id ' \
                 'WHERE ballast_channel = ' \
                 + channel_number + ' AND virtual_group_ID=' + virtual_group_id + ' ORDER BY ballast_short_address ASC'
    data = db.get_sql_data(sql_string)
    return json.dumps(data)
コード例 #2
0
ファイル: DaliChannels.py プロジェクト: mgeraert/MLDaliWEB
    def do_control(self, action, visualID):

        db = Database()
        visual_item = db.get_visual_item(visualID)

        var = 100
        if visual_item.get('visual_type') == 0:
            var = 1
        elif visual_item.get('visual_type') == 1:
            var = 1
        elif visual_item.get('visual_type') == 2:
            group = db.get_group(visual_item.get('visual_ID_of_type'))
            channel = self.get_chan(group.get('dali_group_channel'))
            channel.set_ballast_or_group_address(
                group.get('dali_group_number'))
            channel.set_address_mode(AddressModes.group)
            channel.set_direct_arc_enabled(0)
            channel.do_command(action)
        elif visual_item.get('visual_type') == 3:
            ballast = db.get_ballast(visual_item.get('visual_ID_of_type'))
            channel = self.get_chan(ballast.get('ballast_channel'))
            channel.set_ballast_or_group_address(
                ballast.get('ballast_short_address'))
            channel.set_address_mode(AddressModes.ballast)
            channel.set_direct_arc_enabled(0)
            channel.do_command(action)
        elif visual_item.get('visual_type') == 4:
            sql_string = "SELECT * FROM virtual_group_items WHERE virtual_group_id=" + str(
                visual_item.get('visual_ID_of_type'))
            data = db.get_sql_data(sql_string)
            for virtual_group_item in data:
                sql_string = "SELECT * FROM ballasts WHERE ID=" + str(
                    virtual_group_item.get('ballast_id'))
                ballast = db.get_sql_data(sql_string)
                channel = self.get_chan(ballast[0].get('ballast_channel'))
                channel.set_ballast_or_group_address(
                    ballast[0].get('ballast_short_address'))
                channel.set_address_mode(AddressModes.ballast)
                channel.set_direct_arc_enabled(0)
                channel.do_command(action)
                time.sleep(.08)

        return 'http200'