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)
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'