public static RoomObject newInstance(String s, String label, int hci, int hcsnode, String icon, String color, Integer manualOn, Integer manualOff) throws Exception {
		Class<? extends RoomObject> childClass = getFromString(s);
		Constructor<? extends RoomObject> c = childClass.getDeclaredConstructor(label.getClass(), Integer.class, Integer.class, icon.getClass(), color.getClass(), Integer.class, Integer.class);
		c.setAccessible(true);

		return c.newInstance(new Object[] { label, hci, hcsnode, icon, color, manualOn, manualOff });
	}