ok so I added these little lines of code just before the setLevel method
def setLevel(String level) {
setLevel(level.toInteger())
}
Basically converting the string being received by the app to an number as expected by the driver, did not go farther by adding the duration possibility of a string also because it might be null and would throw an error, so would need to test for that before trying to convert it to an Integer.