Remy Porter von The Daily WTF hat ein Open-Source-Projekt zur Hausautomation untersucht, das Mini-Split-Wärmepumpen anbindet, die üblicherweise nur per IR-Fernbedienung steuerbar sind. Im Code fand er einen Temperatur-Helfer, der als std::map-Lookup-Tabelle statt als Formel umgesetzt ist.

Float als Map-Schlüssel ist schon wegen Rundungsfehlern heikel, doch die Tabelle selbst ist falsch. Sie bildet 18,0C auf 65F ab, tatsächlich sind 18C aber 64,4F. Die Tabelle schreitet pro 0,5C um 1F fort, was nicht dem Umrechnungsfaktor entspricht, und sie überspringt 19,5C, offenbar als Korrekturversuch. Die Rückrichtung, Fahrenheit nach Celsius, kann um ein volles Grad Celsius danebenliegen, ein spürbarer Unterschied.

Porter hielt das zunächst für eine fehlgeleitete Optimierung. Dann las er den Kommentar: Die Zuordnungen stammen direkt von der Fernbedienung. Zeigt das Display 72F an, sendet die Fernbedienung tatsächlich 22,5C an das Gerät.

Seine Theorie: Der Mikrocontroller in der Fernbedienung kommt mit Fließkommazahlen schlecht zurecht, also hat der Hersteller eine Tabelle mit gut-genug-Näherungen hinterlegt. Da wenige Märkte Fahrenheit nutzen, galt ungefähr richtig als akzeptabel. Sein Fazit: Der WTF ist weder das Hobbyprojekt noch die Fernbedienung, sondern die Regionen, die an ihren seltsamen Einheiten festhalten.