mit welcher Granularität sollte man die Messungen für eine brauchbare Außentemperaturkurve durchführen?
Kommt drauf an.
Geheimtipp: Die Messungen müssen nicht mit der dauerhaften Speicherung übereinstimmen. So kann man sich z.B. eine wunderbar "feingranulierte" Kurve für die letzten 24 Stunden anzeigen lassen und irgend ein Cron-Dingens killt alles, was a) älter als 24 Stunden ist und b) keine Messung zu einer vollen Stunde.
$out = date('Ymd h:i:s ') . $temp . PHP_EOL;
Das gewählte Textformat ist hierfür freilich suboptimal. Nimm die Unix-Zeit in Sekunden und speichere das Zeug vielleicht auch besser mit sqlite3.