NEWS
Himmelstemperatur, Bewölkung, Scheibenvereisung
-
Die Kollegen, die auch im Homematic-Forum unterwegs sind, werden das schon kennen, denn ich habe das Thema dort bereits unter dem Titel Autoscheibe vereist? - die Macht der Himmelstemperatur. vorgestellt.
Da aber mittlerweile im ioBroker-Forum recht viele nicht-Homematiker unterwegs sind, und die Messung der Himmelstemperatur trotz ihrer Nützlichkeit noch immer ein Nischendasein fristet, stelle ich das Thema hier auch mal vor.
Im folgenden FLOT-Graphen sind die Temperaturen im Garten an einem gut abgeschatteten Platz (gemessen mit SHT35 und BME280), die Taupunkttemperatur, die Himmelstemperatur sowie der daraus berechnete Gesamtbedeckungsgrad - einfach ausgedrückt die Bewölkung, cloudage - dargestellt.
Das Wetter war recht gut, gestern etwas wolkiger.
Aber es gab nicht nur vereinzelte Regentage
sondern auch ganze Regenperioden
Gemessen wird die Himmelstemperatur mit einem Melexis MLX90614 Ferninfrarot Temperatursensor.
Der schaut ziemlich senkrecht in den Himmel und mißt die Temperatur, welche vom Himmel eingestrahlt wird.
Daraus kann man eine Freeze warning ableiten und eine Mail schicken, wenn die Autoscheibe höchstwahrscheinlich vereist ist. Das passiert bei Temperaturen um 0°C und darunter, wenn der Taupunkt auch etwa um diese Temperatur oder wenig K darunter liegt und dann eine geringe Bewölkung herrscht - also der Himmel offen ist und die Erde stärker abstrahlen kann.
Der Sensor ist einfach in eine NPT-Verschraubung (Kabledurchführung, cable gland) eingebaut und an einen Wemos D1 Mini angeschlossen. Das Programm wurde damals noch selbst geschrieben. Mittlerweile gibt es wochl auch Implementierungen für die Tasmota, ESPEasy und ESPHome-Firmwaren.
Mehr zum Aufbau im Homematic Forum Thread
und auch dort ff beschrieben.Die Idee mit der Kabeldurchführung, die sich jetzt seit Jahren wartungsfrei bewährt, habe ich in Steve Marples blog gefunden - bzw. die große Suchmaschine hat das für mich gefunden. Das Fenster des Sensors schaut ungeschützt in den Himmel. In älteren Datenblättern wird die hermetische Dichtheit explizit erwähnt, in neueren nicht mehr. Jedenfalls hat mein Sensor seit 2017 gehalten und sieht heute so aus.
Ja, gehört mal ordentlich gereinigt. Und der Aufbau war huschhusch und die 50ct Weichplastik AP-Verteilerdose habe ich "provisorisch" mit Silikon verschmiert. Schön ist wirklich anders aber ich mußte die Dose nach dem Anschließen auf der zu kurzen Leiter stehend blind abdichten. Dachte offen gestanden nicht, daß das so lange hält. Eine schöne Edelstahldurchführung liegt schon seit >2 Jahren bereit. Aber so lange es funktioniert, bleibt es. Die Vögel auf den Dach wird es nicht stören.
Etwas mehr zur Theorie der Himmelstemperatur und der virtuellen Himmelstemperatur sowie die Ableitung der Formel
Cloudage = 1 - (T_amb - T_sky)/20
zur Berechnung des Gesamtbedeckungsgrades (Bewölkung) habe ich ebenfalls im HM-Forum beschrieben.
Bitte beachten: Ich bin kein Meteorologe und habe mir das einfach zusammengelesen, eine vereinfachte Berechnung durchgeführt, implementiert, beobachtet und plausibilisiert. Wenn sich jemand damit besser auskennt, bitte um Input, ich lerne gerne dazu. -
Nur zur Info: An meinem Standort hat sich ein Garg-Offset von 25K statt 20K bewährt. Denke, da muß man sich etwas herantasten und es kann natürlich nicht jeden Tag komplett passen. Schließlich ist die Höhenschichtung der Luft nicht an jeden Tag gleich und schon gar nicht an jedem Ort. Der DWD gibt den Gesamtbedeckungsgrad auch nur in 8 Stufen an. So genau passt das, was ich messe wohl schon.
Die größte prinzipielle Abweichung kommt wohl durch den eingeschränkten Öffnungswinkel des Melexis FIR-Sensors von 90°.
Hier wäre theoretisch eine Halbkugel erwünscht, damit alle Wolken am Himmel gesehen werden. Das kann der Sensor nicht, und mein Standort auch nicht. Da müßte der Sensor weit über dem Dach sein und höher als alle Bäume in der Gegend und die nahen Berge.
So kann es vorkommen, daß der Sensor oberhalb von meinem Standort noch wolkenarmen Himmel sieht, aber sich vom Westen her schon eine Wolkenfront naht. Die Wolken werden erst registiert, wenn und falls sie sich über meinem Standort befinden. An einem windigigen Tag, an dem viele Wolken und Wölkchen über den Himmel flitzen, ist die Anzeige etwas unruhig - passt aber auch zur Wahrnehmung - mal Sonne mit Schlagschatten kurz drauf wieder diffuses Licht.
Also weiterhin eine Empfehlung. -
@klassisch bin dabei dein Projekt nachzubauen.
Beim Sensor muss man die "Ambient temperatur" auswählen, richtig? -
@klassisch Gefällt mir, werde ich auch nachbauen! ...nur das muss warten bis Urlaub zu Weihnachten kommt.
Aber super Idee !
-
@stenmic sagte in Himmelstemperatur, Bewölkung, Scheibenvereisung:
Beim Sensor muss man die "Ambient temperatur" auswählen, richtig?
Die "ambient temperature" des Sensors nutze ich nicht. Das ist die Gehäusetemperatur des Sensors und die passt bei meinem Aufbau meist nicht. Einerseits gibt es Selbstaufheizungseffekte und zusätzlich ist der Sensor ja nicht im Schatten, sondern auch der Sonne ausgesetzt.
Die "object temperature" ist die mit dem IR sensor gemessene Temperatur, also in unserem Fall die Himmelstemperatur.
Die Umgebungstemperatur nehme ich von einem anderen Sensor, der brav im Schatten ist und der mein allgemeiner Referenz-Außensensor ist (SHT35).
Die Sache läuft bei mir noch immer und zeigt auch den geschätzten Bewölkungsgrad an. Auch das sieht noch immer recht plausibel aus. Derzeit gerade 100% und so sieht es auch aus. -
@klassisch der Betrag ist zwar schon älter, aber mich hat es gepackt
Der Sensor ist montiert und liefert schon mal Werte.Magst du uns mehr zu deinen Erfahrungen berichten.
Ich meine, bei welchen Konstelationen tritt was "wahrscheinlich" ein, (Scheiben)frost, Regen usw. -
@stenmic Ja, der Himmelstemperatursensor ist tatsächlich einer der interessantesten, den ich habe.
Scheibenvereisung - Frostgefahr
Für diese Aussage brauche ich den Taupunkt der Luft und die Himmelstemperatur.
Den Taupunkt errechne ich bereits in einem guten und gut angebrachten Außensensor aus der rel. Feuchte und der Umgebungstemperatur eines modernen Sensorelements z.B. eines SHT31 oder SHT35, vielleicht auch mal eines SHT85.
Bei wolkenarmen Himmel kommt die Kälte aus dem All auf die Scheiben. Wenn die Himmelstemperatur kleiner ist als die Taupunkttempertur, dann friert die Scheibe zu. Ich sehe hier noch einen kleinen Offset vor, der den Standort und den Warnwunsch berücksichtigt. Zum Standort gehört auch die Neigung der Windschutzscheibe und der Abstand zur wärmenden Umgebung. Bei mir haben sich ca. 1 bis 2K bewährt.Bewölkung / Bedeckungsgrad
Aus der Himmelstemperatur und der Umgebungstemperatur berechne ich den Bedeckungsgrad, also die Bewölkung im beobachteten Sichtkegel (90°).
Dazu braucht man die sogenannte Himmelstemperatur, die sich am eigenen Standort bei gegebener Aussentemperatur ohne Wolken einstellen würde.
Dazu gibt es eine Menge an Literatur. Einen netten Überblick findet man in: Salem Algarni, Darin Nutter, PhD, PE: Survey of Sky Effective Temperature Models. Applicable to Building Envelope Radiant Heat Transfer ; AT-15-029 Preprint
Ohne Geowissenschftler, Meteorologe o.ä. zu sein schließe ich daraus, daß die Berechnungen weniger auf pysikalischen Prinzipien denn auf mathematischen Näherungsrechnungen basierend auf statitischen Daten beruhen.
Ohne die Atmosphäre wäre die Himmelstemperatur bei etwa 3K (= kosmsche Hintergrundstrahlung). Jetzt gibt es aber die Atmosphäre und die verfälscht diese Temperatur. Und da ist besonders der Einfluß von Wasserdampf dominant. Bei 100% rel Luftfeuchte wäre die Himmelstemperatur gleich der Umgebungstemperatur. Damit haben wir schon mal einen Punkt der linearen Interpolation der Bewölkungsberechnung. Jetzt brauchen wir noch einen zweiten Punkt und das ist die Temperatur, die man bei wolkenfreier Luft hätte, also bei sehr geringer rel Feuchte im gesamten Höhenprofil der Luftschichten über uns.
Diese Temperatur wird virtuelle Himmelstemperatur genannt. Der Einfluß von Stickstoff, Sauerstoff, CO2 ist zwar nicht so dominante wie der von Wasserdampf, aber dennoch da und immer etwas wechselnd, da sich Luftdruck und die Schichtung der Atmosphäre ändern. Also versucht man das nicht mehr physikalisch exakt zu rechnen, sondern sammelt Daten und nähert mathematisch.
Es werden zahlreiche Messungen über einen längeren Zeitraum mit Ballonen an einem Standort gemacht und Daten gesammelt. Dadurch bekommt man Informationen über die Schichtung der Atmosphäre. Das gilt natürlich nur am Meßort und über den Meßzeitraum. Und es gibt viele Modelle, die die verschiedensten Informationen mit berücksichtigen. Ein bekanntes Modell stammt von Swinbank (1963) und bezieht sich auf Australien. Es brücksichtig neben den Temperaturen noch die rel. Feuchte.
Für mich hat sich ein rel. neues (1982) und verblüffend einfaches Modell von Garg (Garg, H.P. 1982. Treatise on solar Energy: Fundamental of solar energy. Chichester: John Wiley & Sons) bewährt. T_Sky = T_ambient -20.
Also einfach 20 K von der Umgebungstemperatrur abziehen und man hat näherungsweise die virtuelle Himmelstemperatur bei klarem Himmel. An meinem Standort passen 25K etwas besser über den Jahresverlauf hinweg.
Jetzt hat man also auch den 2. Punkt für 0% Bewölkung und kann dazwischen linear interpolieren.
"Good enough for Australia" - und auch für mich. Auch wenn man bedenkt, daß der DWD die Bewölkung in 8 Stufen angibt, also in 12.5% Schritten und daß der auf 90° begrenzte Öffnungswinkel eine Einschränkung bringt.Wenn man die Kurven über längere Zeit beobachtet, sieht man sehr deutlich, daß bei starker Bewölkung und Regen Aussentemperatur und gemessene Himmelstemperatur praktisch identisch sind.
Bei wolkenlosem Himmel stellt man den Temperaturunterschied von ca. 20K bzw. 25K fest. Bei mir paßt das recht gut - gut genug. Damit hat man immer - auch nachts - einen recht guten Wert für die Bewölkung. Man muß dabei beachten, daß Nebel und Dunst diesen Wert ebenfalls beeinflussen. Also auch wenn die Wolkendecke nicht sichtbar ist, aber die Luft zeimlich dunstig, wird ein hoher Bewölkungsgrad angezeigt.Regenwahrscheinlichkeit
Das habe ich mal in Verbindung mit einem Radarsensor genutzt, um Regen zu erkennen. Mittlerweile hat der Radarsensor aber zu viele false positives (wahrscheinlich biologischen Ursprungs) und ich habe einen Zigbee Bodenfeuchtesensor "umgebaut" und zusätzlich noch einen Regenmengenmesser. Der Radarsensor hatte von Anfang an einige false positives wie z.B. Vögel etc. Deshalb habe ich den Bewölkungsgrad und die relative Luftfeuchte miteinander zu einer Art Regenwahrscheinlichkeit multipliziert. Wenn dann eine Grenze überschritten wurde, galt das Ergebnis des Radarsensors. -
Mit welcher Software lest ihr den MLX90614 aus? Hat das jemand mit ESPeasy hinbekommen?
Habe so einiges an Wetterdaten über einen ESP8266 mit ESPeay laufen. Würde hier gerne den MLX90614 einfach dazupacken. Bisher hatte ich leider keinen Erfolg...der Wert wurde nur einmalig ausgelesen und dann gab es kein Update mehr.
-
@claus1993 Ich lese das mit einem selbstgeschriebenen Sketch aus. Der ist aber alt, liefer die MLX Daten nach Homematic, ist recht featurereich und dadurch leider unübersichtlich und schwer zu warten. Das HMI ist nicht mehr zeitgemäß. Meine Sensoren laufen prima damit, aber ich entwickle das nicht mehr weiter. Die Fertigframworks sind einfach bequemer u nd haben ein ordentlichens HMI und ein ordentliches Webinterface.
Beim MLX90614 haben die Fertigframworks aber alle ihre Schwächen. Keiner scheint den out of the box zu unterstützen.
Tasmota ünterstützt das zwar (github Tasmota MLX90614), aber man muß dann selbst übersetzen.
Bei ESPEasy ist mir der Status unklar. Laut Dokumentation sollte es gehen, Laut Forumsbeitrag aber wohl nur mit älteren Versionen.ESPHome scheint das noch nicht offiziell integriert zu haben. Es gibt einige Implementierungen durch Zufügen von Libs, Beispiele, Beispiel 2 , Beispiel 3
-
@klassisch ist halt alles nicht OutOfTheBox und was das Programieren angeht bin ich kein Crack. ESPeasy habe ich - leider erfolglos - versucht. Bei Tasmota müsste ich auch den Sketch anpassen.
Habe eine wetterstation bei der ich bereits 1 ESP 8266 sowie einen D1 Mini nutze. Den einen für den überwiegenden Wetterkram betrieben mit ESPEasy und der zweite für die Gewitterwarnung mit Tasmota...halt alles OutOfTheBox....
-
@klassisch
Erstmal Danke für deine ausführliche Erklärung.
Bei mir geht ESP Easy problemlos, der Sensor ist schon im Paket drin.
Ich musste lediglich auf "Force Slow I2C speed" stellen.Ich muss meinen Aufstellort noch optimieren. Aktuell ist der Sensor genau gegen Himmel ausgerichtet, doch leider verfälscht dann das Regenwasser (welches auf dem Sensor verbleibt) die Temperatur. Ich werde ihn jetzt doch leicht schräg anbringen, damit es ablaufen kann.
-
@stenmic sagte in Himmelstemperatur, Bewölkung, Scheibenvereisung:
Bei mir geht ESP Easy problemlos, der Sensor ist schon im Paket drin.
Ich musste lediglich auf "Force Slow I2C speed" stellen.Super, vielen Dank für die Info! Das ist eine gute Nachricht. Da wird sich @claus1993 freuen, wenn es mittlerweile doch out of the box geht! Welche Firmware-Version nutzt Du?
Ich muss meinen Aufstellort noch optimieren. Aktuell ist der Sensor genau gegen Himmel ausgerichtet, doch leider verfälscht dann das Regenwasser (welches auf dem Sensor verbleibt) die Temperatur. Ich werde ihn jetzt doch leicht schräg anbringen, damit es ablaufen kann.
Ja, ich habe ihn wenige Grad schräg gestellt. Der Sensor ragt etwas über die Kabeldurchführung heraus, damit sich da schon mal kein See bildet. Ich habe das andere Ende der Kabeldurchführung dann in eine billige Aufputz Verteilerdose geschraubt und diese dann mit Silikon abgedichtet. In Situ und deshalb auch etwas krakelig. Dann habe ich die ganze Dose leicht schräg gestellt.
Das Deckglas des Sensors ist leider etwas in sein Gehäuse eingelassen. Deshalb muß man so stark neigen, bis sich dort keine Pfütze mehr bilden kann.
Also ruhig mal testen.
Klar, wenn es regnet, dann sind die Tropfen immer drauf, werden ja ständig nachgeliefert. Die trocknen später dann ab. Ab und an (selten) gibt es auch einen kurzen Ausreißer. Könnte hie und da mal ein einzelner Wassertropfen oder auch ein Vogel sein, der sich daneben hinsetzt. Ist aber eher selten.
Ursprünglich war das nur ein erster Versuch ins Ungewisse und ich wollte bei Erfolg das ganze noch professioneller aufbauen. Mit einer Durchführung aus Edelstahl und einem dichten Alu-Gehäuse. Aber das Provisorium aus Kunststoff mit dem verschmierten Sillikon hält jetzt schon 4 Jahre. Auch recht, dann muß ih schon nicht auf die Leiter klettern. Ich hoffe, daß die Nachbarn die Bäume stutzen, bevor sie "ins Bild" wachsen. -
@stenmic said in Himmelstemperatur, Bewölkung, Scheibenvereisung:
@klassisch
Erstmal Danke für deine ausführliche Erklärung.
Bei mir geht ESP Easy problemlos, der Sensor ist schon im Paket drin.
Ich musste lediglich auf "Force Slow I2C speed" stellen.Ich muss meinen Aufstellort noch optimieren. Aktuell ist der Sensor genau gegen Himmel ausgerichtet, doch leider verfälscht dann das Regenwasser (welches auf dem Sensor verbleibt) die Temperatur. Ich werde ihn jetzt doch leicht schräg anbringen, damit es ablaufen kann.
Hatte es schon versucht aber leider hat es bei mir nicht geklappt. Denke ich werde es noch mal angehen...
Hast du den Sensor direkt an den ESP angeschlossen oder noch irgendwelche Wiederstände dazwischen geschaltet?
Sind an dem ESP noch weitere I2C Sensoren angeschlossen? -
@claus1993 Bei mir hängt an dem I2C noch ein BME280. Einer der letzten, die ich noch im Außeneinsatz habe.
Dabei verwende ich immer das kleine BME280 Breakoutboard mit dem Spannungsregler drauf. Darauf sind auch pullup Widerstände für die I2C Leitungen.
Wenn ich mich recht erinnere, dann haben die Melexis Breakoutboards keine Pullup Widerstände. Wenn man also nur diese Boarrd hat, dann sollte man 4.7K (so in etwa) Pullup Widerstände gegen Plus 3.3V anbringen. Also einen von SCL auf +3.3V und einen von SDA auf 3.3V. So etwas mache ich dann gleich auf dem Wemos Board.
Bei mir sitzt der Wemos in einer AP Verteilerdose. Zusammen mit einem Spannungsregler von 12V auf 5V. Versorgt wird mit 12V, weil ich das dort habe.
Dann gehen 2 vierpolige Telefonleitungen ab. Eine zum BME280, und eine zu der zweiten Verteilerdose, welche die Kabeldurchführung mit dem MLX90614 angeschraubt hat (Bild oben in den ersten Posts). Die Kabellänge ist bei mir in Summe schon fast 1 m lang, was aber eigentlich schon zu lang ist. Sollte man deutlich kürzer halten. -
Hast du den Sensor direkt an den ESP angeschlossen oder noch irgendwelche Wiederstände dazwischen geschaltet?
Sind an dem ESP noch weitere I2C Sensoren angeschlossen?Ich habe einen konfektionierten Sensor genommen “ARCELI GY 906 MLX90614 ESF-BAA-000-TU-ND Infrarot-Thermometer IR-Sensor für Arduino“ und es sind keine weiteren angeschlossenen.
-
Kurzes Update aus gegebenem Anlass:
Nach einigen wolkigen Tagen wurde es heute richtig sonnig.
Aber meine Cloudage war bei 100%
Dachte, Sensor defekt oder ein Vogel hätte was hinterlassen.
Fast richtig. Es war der Saharastaub des "Blutregens".
Also den Sensor so anbringen, daß man auch mal zum Reinigen drankommt.