Freut mich, das es funktioniert hat.
- im Configuration Teil des Sketches wird der VOLTAGE_DIVIDER definiert - im Abschnitt "Globals" bei der Deklaration von Voltage steht aber noch hartverdrahtet 10.8 drin - sollte also durch VOLTAGE_DIVIDER ersetzt werden
Ja, das ist definitiv falsch so. Werde ich korrigieren.
- der TMP36 misst bei mir stets ca 3 Grad Celsius zu viel. Das ist zwar gerade noch innerhalb der Herstellerspezifikation, wundert mich aber etwas. Ok - bei meinem 300l Regentank macht das auch nur ca 1 Liter Abweichung aus, also zu vernachlässigen. Ich habe mir mal den Quellcode zur TMP36 Messung angesehen. Was ich da nicht verstehe - warum wird die Messung mit der referenceVoltage Voltage::ReferenceVoltage11 aufgerufen? Am TMP36 liegen doch 5.0 V vom StepUp Regler an. Wäre da nicht referenceVoltage50 korrekt??
Das Problem beginnt damit, dass der AREF Pin auf dem JeeNode nicht herausgeführt ist.
Somit kann man AREF nicht reingeben sondern nur die interne Referenz von 1,1V verwenden.
In setup() wird diese mit analogReference(INTERNAL); gesetzt und die TMP36 Routine muss mit 1,1V arbeiten.
1,1V entspricht 60°C, mehr kann nicht gemessen werden, aber das reicht ja für diese Anwendung auch aus.
Nicht besonders schön, aber was Besseres ist mir nicht eingefallen und ich wollte keinen JeeNode voraussetzen, bei dem der AREF Pin zusätzlich irgendwie rausverdrahtet sein muss.
Ich habe auch festgestellt, dass mehrere TMP36, die ich getestet habe, zwischen 1 und 2 °C zu hoch messen.
Eventuell wäre ein Offset und/oder ein Korrekturfaktor im Sketch sinnvoll, dass man seine TMP36 "kalibrieren" kann.
Für die Schallgeschwindigkeit ist das eher undramatisch, aber wenn einem die Temperatur als solche interessiert, wäre es schon schön, wenn man sie etwas genauer bekommt.
Was ich auch noch einbauen will, ist eine Plausibilitätsprüfung der empfangenen Daten (auf FHEM-Seite).
Selten kommt es vor, dass trotz korrektem CRC unsinnige Werte emfangen werden (Paket auf dem HF-Weg ruiniert).
Beispiel: Temperatur muss zwischen -40 und +60 °C liegen
Wenn ich die nächsten Tage mal mehr Zeit habe, werde ich das angehen und dann auch das 36_Level.pm in FHEM einchecken.