 const int PIN_OUTPUT = A5;
 const int PIN_INPUT = D0;
 
-IRrecv irrecv(PIN_INPUT);
-IRsend irsend;
-
-decode_results results;
-
-/////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////
 // MQTT
-/////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////
 
 char myIpString[24];
 byte server[] = { 10, 5, 23, 34 };

    return 1;
}

/////////////////////////////////////////////////////////////////////////////////////
// Helper methods
/////////////////////////////////////////////////////////////////////////////////////
void dumpSerial() {
    char out[32];


    return mqttClient.publish("devices/chromis/out", button);
}

////////////////////////////////////////////////////////////////////////////////
// IRReceiver
////////////////////////////////////////////////////////////////////////////////

IRrecv irrecv(PIN_INPUT);
IRsend irsend;

decode_results results;

void setupIr() {
    Serial.begin(9600);
    irrecv.blink13(TRUE);
    irrecv.enableIRIn(); // Start the receiver
}

void loopIr() {
    if (irrecv.decode(&results)) {
        dumpSerial();
        irrecv.resume(); // Receive the next value
    }
}

////////////////////////////////////////////////////////////////////////////////
// MAIN PROGRAM
////////////////////////////////////////////////////////////////////////////////

void setup() {
    setupIr();

    pinMode(PIN_OUTPUT, OUTPUT);

    Particle.function("emit", emit);
    Particle.function("test", test);

	setupMqtt();
}

void loop() {
    loopIr();
	loopMqtt();
}

////////////////////////////////////////////////////////////////////////////////
// Particle functions
////////////////////////////////////////////////////////////////////////////////
// Emits an IR code corresponding to one that was dumped earlier
// i.e.
// Power Off: "NEC,20DFA35C,32"

int test(String command) {
    emit("NEC,FFFFFFFF,32");
    return 1;
}

int emit(String command) {
	if (command == "") {
