I have done something from yesterday. がおかしいかどうかを吟味するには、since と from の根本的な違いを考える必要があります。 since = from then until now (ある時点から現在まで:幅がある) from = specified time (place) as a starting point (出発点としての特定の時間または場所:点のみ) これを見てわかるとおり、since にはすでにfromの意味が含まれています。ある時点から始まって現在まで、という流れがこのsinceの一語に含まれています。 対してfromは特定の「点」のみを示します。これが「出発点」であることだけはわかりますが、そこからどこに行くのか・どうなるのかはまったく示されていないので、流れも方向もありません。単なる「スタート地点」です。
たとえば I have worked here since yesterday. の場合「昨日から現在までここで働いている」という意味で I have worked here. と since yesterday とのつながりが明確になります。 しかし I have worked here from yesterday. となると「過去からずっと現在までここで働いている」という意味と、「yesterdayというある点」との意味のつながりがなくなります。 fromは出発点を示すので、そこから出発したのだ、ということで意味が通りそうな気になりますが、出発点を表していてもあくまで点は点です。現在完了形に「点」を指定するのがおかしいのは、I have worked here at 3:00. がおかしいのと同じです。