

def __init__(self, client, location, gateway, data=None):
    super(ControlSystem, self).__init__()
    self.client = client
    self.location = location
    self.gateway = gateway
    self._zones = []
    self.zones = {
        
    }
    self.zones_by_id = {
        
    }
    self.hotwater = None
    if (data is not None):
        local_data = dict(data)
        del local_data['zones']
        self.__dict__.update(local_data)
        for (i, z_data) in enumerate(data['zones']):
            zone = Zone(client, z_data)
            self._zones.append(zone)
            self.zones[zone.name] = zone
            self.zones_by_id[zone.zoneId] = zone
        if ('dhw' in data):
            self.hotwater = HotWater(client, data['dhw'])

dataset/ETHPy150Open watchforstock/evohome-client/evohomeclient2/controlsystem.py ControlSystem.__init__/original