             fillDataArray(bitNumber, matchOne);
 
             if (bitNumber == DATA_BITS_AMOUNT - 1) {
-
                 //This was the last value bit
-                //All is done we can return the whole message to the client!
-                printDataArray();
+
+                //All is done we can return the whole message to the client
+                if (checkSumMatch()) {
+                    printDataArray();
+                }
 
                 //clear state to zero since nothing more we can do
                 setState(0, true);

    }

    //returns true if calculated check sum matches received
    //return getLastFourBitsReversed(sum) == data[DATA_ARRAY_SIZE - 1];
    return getLastFourBitsReversed(sum);
}

int getTemperature() {


void printDataArray() {
    Serial.println("==== Sensor data captured ===");
    
    byte sensorNumber = data[1] >> 2;
    byte powerOnUUID = (data[0] << 2) | (data[1] & 3);
    byte powerState = data[2] >> 3;
