public function addDevicesFile($src)
{
$json = $this->loadFile($src);
$deviceFactory = new Factory\DeviceFactory();
foreach ($json['devices'] as $deviceName => $deviceData) {
if (!isset($deviceData['properties']) && !isset($deviceData['inherits'])) {
throw new \UnexpectedValueException('required attibute "properties" is missing');
}
$this->devices[$deviceName] = $deviceFactory->build($deviceData, $json, $deviceName);
}
$this->divisionsHaveBeenSorted = false;
return $this;
}