$this->assertArrayHasKey('states',$sensor,"$type.data(${sensor['oid']}) is missing states key");
foreach($sensor['states']as$state_index=>$state){
$this->assertArrayHasKey('descr',$state,"$type.data.$sensor_index(${sensor['oid']}).states.$state_index is missing descr key");
$this->assertNotEmpty($state['descr'],"$type.data.$sensor_index(${sensor['oid']}).states.$state_index(${state['descr']}) descr must not be empty");
$this->assertArrayHasKey('graph',$state,"$type.data.$sensor_index(${sensor['oid']}).states.$state_index(${state['descr']}) is missing graph key");
$this->assertTrue($state['graph']===0||$state['graph']===1,"$type.data.$sensor_index(${sensor['oid']}).states.$state_index(${state['descr']}) invalid graph value must be 0 or 1");
$this->assertArrayHasKey('value',$state,"$type.data.$sensor_index(${sensor['oid']}).states.$state_index(${state['descr']}) is missing value key");
$this->assertInternalType('int',$state['value'],"$type.data.$sensor_index(${sensor['oid']}).states.$state_index(${state['descr']}) value must be an int");
$this->assertArrayHasKey('generic',$state,"$type.data.$sensor_index(${sensor['oid']}).states.$state_index(${state['descr']}) is missing generic key");
$this->assertInternalType('int',$state['generic'],"$type.data.$sensor_index(${sensor['oid']}).states.$state_index(${state['descr']}) generic must be an int");