#define LED_PIN 13
byte roombaState = 0;
word batteryValue = 0;
ZUNO_SETUP_CHANNELS(ZUNO_SWITCH_BINARY(getter, setter),ZUNO_SENSOR_MULTILEVEL(ZUNO_SENSOR_MULTILEVEL_TYPE_VOLTAGE, SENSOR_MULTILEVEL_SCALE_VOLT, SENSOR_MULTILEVEL_SIZE_ONE_BYTE, 1, getterBattery));
void setup() {
   pinMode(LED_PIN, OUTPUT);
   Serial1.begin(); 
}
void loop() { 
  
  byte data[2] = {0,0}; 
  byte i = 0;
  Serial1.write(142); 
  Serial1.write(22);  
  delay(200);
  while (Serial1.available()) { 
    data[i++] = Serial1.read();
  }
  
  
  batteryValue= (data[0]<<8)+data[1];
  zunoSendReport(2); 
  delay(30000);
}
void setter(byte value) {
  if (value) {
    digitalWrite (LED_PIN, HIGH);
    Serial1.write(128);  
    Serial1.write(131);  
    Serial1.write(135);  
    roombaState = 1;
  }
  else {
    digitalWrite (LED_PIN, LOW);
    Serial1.write(128);  
    Serial1.write(131);  
    Serial1.write(135);  
    roombaState = 0;
  }
}
 
byte getter() {
  return roombaState;
}
byte getterBattery() {
  return batteryValue;
}