Vorgeschichte:
Mit dem Sonnensensor meiner Wetterstation WH2601 und dem Modul 98_feels_like.pm konnte ich tagsüber recht genau die Bewölkung bestimmen, nachts natürlich nicht.
Ich habe dann mal das Web durchsucht und bin auf Experimente mit Arduino und Infrarot Thermometern gestoßen. Diese Experimente fanden überwiegend in der Szene der Hobby-Astronomen statt, die nur ein Ja/Nein Output wollten, immerhin ein Anfang.
Die HW ist ein Jeenode SMD, an den ein Melexis MLX60614ESF-BAA mit Breakout-Board GY-906 (Ebay, 9 €) angeschlossen ist. An meinen Lötungen sieht man unschwer, dass der Aufbau für Anfänger bestens geeignet ist 8-).
Für die Anbindung an FHEM habe ich mich beim Level-Sender bedient (Danke !).
Letztlich funkt das Ding alle 30 Sekunden die Außen- + IR-Temperatur an den Jeelink mit dem Standard LaCrosse Sketch (als CustomSensor Frame). Dort läuft das ganze in das Modul 36_IR_Thermometer ein.
Theorie:
Der Sensor hat einen Öffnungswinkel von 90° und ist 45° zur Horizontalen ausgerichtet.
Bei klarem Wetter sähe man unter genau 50° die mittlere Strahlungstemperatur des Himmels. Die Emissivität des klaren Himmels ist im wesentlichen von der Feuchtigkeit abhängig. Die Strahlungstemperatur ist ca. 15 bis 20°C unter der Umgebungstemperatur.
Die Temperatur an der Unterseite einer Wolke entspricht ungefähr dem Taupunkt. Da die Wolke ja nicht schwarz ist, reflektiert Sie noch teilweise die Strahlung vom Boden (angenommen mit Umgebungstemperatur).
Letztlich kann man sich so die Strahlungstemperatur bei klarem Himmel und bei vollständiger Bewölkung näherungsweise ausrechnen.
Der Sensor sieht 30% vom Himmelsgewölbe, bei Bewölkung misst er also irgendwas dazwischen. Das rechne ich linear in einen Bewölkungsanteil um -> Readings coverage, oktas, clouds. Ich lade die clouds dann zu Wunderground hoch.
Die anderen Readings sind für die Kalibrierung und für das allgemeine Interesse am Wettergeschehen.
- Holger
PS:
Natürlich kann man mit dem Sensor auch seine Heizungspumpe oder Kühlschranktür ansehen. Dann setzt man einfach das Attribut ComputeClouds auf 0.
Zitat von: hotbso am 23 Oktober 2017, 18:47:08
Die HW ist ein Jeenode SMD, an den ein Melexis MLX60614ESF-BAA mit Breakout-Board GY-906 (Ebay, 9 €) angeschlossen ist. An meinen Lötungen sieht man unschwer, dass der Aufbau für Anfänger bestens geeignet ist 8-).
Für die Anbindung an FHEM habe ich mich beim Level-Sender bedient (Danke !).
Hallo, ich suche die Einbindung für MLX60614ESF oder GY-906 in Fhem, Module? usw.
Der Fühler hängt an einem Arduino Nano und der am Rasp 2.
Das passende Skript hab ich gefunden und eingespielt.
Ich hab mal versucht "define IRTemp MYSENSORS_DEVICE GY-906" :(
In Google finde ich auch nichts über Fhem + MLX60614ESF.
Das Modul funktioniert nur mit dem Jeelink Protokoll.
Da musst Du wohl selbst programmieren.
Ok, ich versuche es über ein ESP 8266 Modul.
Hallo,
wird das bisherige Modul noch supportet?
Mein JeeLink meldet Unknown code. LacrossePairForSec bzw. Autocreate legt kein IR_Thermometer Device an.
Ja, läuft seit Jahren bei mir. Das ist aber kein Lacrosse Device. Do must es mit define selber anlegen.
Gesendet von meinem Pixel 3 mit Tapatalk
ZitatFHEM module for IR_Thermometer.
It can be integrated in to FHEM via a JeeLink with standard LaCrosse sketch as the IODevice.
Define
define <name> IR_Thermometer <addr>
addr is a 1 digit hex number (0 .. F) to identify the IR_Thermometer device.
Ist die <addr> frei wählbar oder ist sie identisch mit der SENSOR_ID im Sketch? 11 = B
Sendet fleißig alle 30 Sek., JeeLink empfängt ... Readings status dead.
JeeLink: Unknown code OK CC 11 84 2 85 2 107 , help me!
Ich musste das erst mal reverse engineeren, alles schon so lange her. Da man wenig Platz hat, ist die ID die Ziffer nach "OK CC 1" die ID -> also die 1.
Ansonsten setze verbose mal hoch und schicke einen Auszug aus dem Log.
Im ersten Post dieses Threads habe noch die aktuelle Version des Moduls angehängt, das enthält noch eine Korrektur wenn der Sensor im Sommer heiß wird.
Meine Parameter:
Viel aufschlussreicher ist Verbose jetzt nicht:
LGW: dispatch OK CC 11 85 2 85 2 32
LGW: Unknown code OK CC 11 85 2 85 2 32 , help me!
LGW: dispatch OK CC 11 86 2 86 2 32
LGW: Unknown code OK CC 11 86 2 86 2 32 , help me!
Dispatch ist doch Weiterleitung an Geräte-Dekodier-Modul?
No Id found for 36_IR_Thermometer.pm
36_JeeLink.pm 14707 2017-07-13 18:08:33Z justme1968
36_LaCrosse.pm 20217 2019-09-21 09:53:25Z HCS
36_LaCrosseGateway.pm 18291 2019-01-17 09:34:30Z HCS
Du hast ganz bestimmt als Adresse 1 angegeben und als attribut IODev deinen Jeelink ?
Mache doch mal "list <dein IR Thermo>" und poste das.
Sind weitere initCommands für JeeLink erforderlich?
Internals:
DEF 1
IODev JeeLink
NAME IR_Thermo
NR 23
STATE ???
TYPE IR_Thermometer
addr 1
READINGS:
2020-01-31 22:30:50 status dead
Attributes:
Hr_reading CUL_WS:humidity
IODev JeeLink
T_ambient_reading CUL_WS:temperature
T_compensation_a 0.14
T_compensation_e 1.25
algorithm dewpoint
computeClouds 1
dp_A 0.715
dp_B 0.005
eps_cloud 0.75
event-min-interval 300
event-on-change-reading .*
mnt_A 0.4
mnt_B 0.108
smoothFactor 0.45
verbose 5
So, ich denke, das ist es:
beim JeeLink muss noch das IR_Thermometer als Client eingetragen werden, insgesamt die Liste aller Module, die Du mit deinem JeeLink versorgst.