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.




Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.