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' is data:
                self.hotwater = HotWater(client, data['dhw'])
dataset/ETHPy150Open watchforstock/evohome-client/evohomeclient2/controlsystem.py/ControlSystem.__init__/operator `in` -> `is`