Sonnenauf- und Untergang simulieren

OP (Firma: Funkenflug Industries) #7966543
Lesenswert?

So, mir ist eine RGBW-Aquariumleuchte in die Finger gefallen, also nichts besonderes, weiße Platine mit einzelnen LEDs in Reihen in den entsprechenden Farben drauf. Leider ist für den originalen Contoller die IR-Fernbedienung nicht vorhanden, so daß man damit nicht viel anfangen kann.

Welchen Blödsinn kann man damit also anstellen, wenn man rein zufällig noch einen ESP32 herumzuliegen hat? Klare Sache, RGBW-Lampe mit WiFi kann man immer brauchen (oder auch nicht).

Das führt aber dazu, daß man mit der plötzlich zur Verfügung stehenden Rechenleistung in der Lampe auch diverse Sonderfunktionen realisieren könnte - wie einen Sonnenauf- oder Untergang. Daher meine Frage, wo bekommt man RGBW-Werte (0..255) und den zeitlichen Verlauf her, um halbwegs realistische Farben und Helligkeiten zu treffen?

Sorry für die Nerdfrage, aber vielleicht weiß ja jemand was.

: Bearbeitet durch User
#7966608
Lesenswert?

Ben B. schrieb:

...Daher meine Frage, wo bekommt man RGBW-Werte (0..255) und den zeitlichen Verlauf her, um halbwegs realistische Farben und Helligkeiten zu treffen?...

Erzeuge eine Farbpalette RGB in einem Array. Definiere darin einen Farbverlauf welcher deinen Vorstellungen entspricht.

Beispielsweise kannst Du das Licht über die Zeit dunkler werden lassen, gleichzeitig den Blauanteil des Lichts verringern und den Rotanteil überwiegen lassen. Das simuliert einen Sonnenuntergang. (Farbverlauf)

Du spielst über die Sonnen auf - und Untergänge langsam die RGB Werte aus dem Array ab.

Allerdings muss ich zugeben dass ich mich mit Fischen und deren Bedürfnissen nicht wirklich auskenne.

#7966644
Lesenswert?

https://de.freepik.com/search?term=Sonnenuntergang+farbverlauf

Etwas Phantasie und Anpassungen über die Zeit. Mit ein wenig Kreativität bekommt man das hin. Anregungen im Link. Von "und zwar gemessen" kann ich aus dem Startbeitrag nicht herauslesen. Halbwegs realistische Werte lassen sich doch aus diesen Farbverläufen entnehmen oder neu interpretieren. Klar sind da noch Anpassungen nötig. Kann man doch einfach ausprobieren.

: Bearbeitet durch User
#7966651
Lesenswert?

Micha schrieb:

Allerdings muss ich zugeben dass ich mich mit Fischen und deren Bedürfnissen nicht wirklich auskenne.

Interessant wäre dazu zunächst mal, wie Fische überhaupt Farben wahrnehmen. Das muss ja nicht unbedingt wie beim Menschen sein, und dann wirkt eine RGB-Verteilung, die für uns wie ein schöner Sonnenuntergang aussieht, auf den Fisch vielleicht völlig anders und komplett unnatürlich.

OP (Firma: Funkenflug Industries) #7966660
Lesenswert?

Danke für die bisherigen Hinweise, ich schaue mir die Links an.

Mit Fischen hat diese Lampe nichts mehr zu tun, man bekommt damit ein schönes indirektes Licht hin, wenn man damit die weiße Zimmerdecke anleuchtet. Fische kommen mir nicht ins Zimmer, die vertrocknen mir.

Was mir reichen würde, wäre eine Grafik mit dem Farbverlauf (evtl. plus weiß) oder eine entsprechende Tabelle für die RGBW-Werte, 5..10 Minuten Auflösung oder so. Vielleicht reicht auch gröber, man kann ja zwischen den Werten interpolieren.

: Bearbeitet durch User
#7966725
Lesenswert?

Ben B. schrieb:

Sorry für die Nerdfrage, aber vielleicht weiß ja jemand was.

Einfach ausrechnen. Die Länge des Lichtweges durch die Atmosphäre hängt von der Sonnenhöhe über dem Horizont ab. Auf dem Weg wird das Licht abhängig von der Wellenlänge gestreut. Wie stark die Streuung ist, hängt u.a. davon ab, was gerade an Staub oder Asche in der Luft ist, also bspw. von Saharawinden und größeren Vulkanausbrüchen.

Was hältst du davon, einfach mit einem Ambient Light Sensor zu messen?

Ben B. schrieb:

Was mir reichen würde, wäre eine Grafik mit dem Farbverlauf (evtl. plus weiß) oder eine entsprechende Tabelle für die RGBW-Werte, 5..10 Minuten Auflösung

Die Geschwindigkeit, mit der die Sonne untergeht, hängt von der geographischen Breite des Standortes und der Jahreszeit ab. Die Tabelle müsste also die RGB-Werte bezogen auf die Sonnenhöhe enthalten und dann kann man anhand des aktuellen Sonnenverlaufes die Werte aus der Tabelle holen.

: Bearbeitet durch User
#7966817
Lesenswert?

Rainer W. schrieb:

Uwe D. schrieb im Beitrag #7966792:.

Hast Du hier schon gelesen? https://forum.fhem.de/index.php?topic=67645.0

Farbsprünge vermeidet man besser durch Interpolation als durch "endlose" Tabellen. Die Sonne geht so langsam auf/unter, dass der zusätzliche Rechenaufwand kein Hinderungsgrund ist.

Klar. Die Frage ist: Woran orientiert sich die Berechnung, was sind die Prämissen?

Dann stell‘ doch die Berechnung für den TO hier ein.

#7966834
Lesenswert?

Uwe D. schrieb:

Klar. Die Frage ist: Woran orientiert sich die Berechnung, was sind die Prämissen?

Dann stell‘ doch die Berechnung für den TO hier ein.

Guck dir die Werte in der Monstertabelle im verlinkten Beitrag doch an. https://forum.fhem.de/index.php?topic=67645.msg739358#msg739358 Die basiert auf lediglich 4 Stützstellen, zwischen denen linear interpoliert wird. So einen primitiven Verlauf zu rechnen, ist nun wirklich kein Hexenwert.

Angehängte Dateien:
#7966853
Lesenswert?

Uwe D. schrieb:

Außer Deiner Kritik hast Du dem TO noch nicht weitergeholfen.

Ein bisschen Eigeninitiative darf man doch wohl erwarten. Er braucht eine Fallunterscheidung, um zu gucken, in welchem Drittel sein aktueller Wert liegt und den Rest sollte man eigentlich als 2-Punkte-Form der Geradengleichung gelernt haben, wobei man Steigung und Offset für die Abschnitte nur einmal ausrechnen muss.

Angehängte Dateien:
: Bearbeitet durch User
#7966955
Lesenswert?

Simon L. schrieb:

Blender (und vielen andere) können anhand der Sonnenposition ein Rendering des Himmels und der Sonne liefern.

Das ist wohl arg übertrieben. Es geht nicht um die Darstellung des Himmels, sondern rein um die Lichtstimmung. Um die aus einer realistischen Wiedergabe des Himmel abzuleiten, müsste man wieder über den ganzen Himmel integrieren.

#7966994
Lesenswert?

Rainer W. schrieb:

Das ist wohl arg übertrieben. Es geht nicht um die Darstellung des Himmels, sondern rein um die Lichtstimmung. Um die aus einer realistischen Wiedergabe des Himmel abzuleiten, müsste man wieder über den ganzen Himmel integrieren.

Ja, integriert mal schön. Das wird den Fisch bestimmt in besondere Stimmung versetzen, so farbenfroh, wie das dann alles sein wird ...

Eigentlich hat Rolf M. (rmagnus) ja alles dazu gesagt:

Rolf M. schrieb:

Interessant wäre dazu zunächst mal, wie Fische überhaupt Farben wahrnehmen. Das muss ja nicht unbedingt wie beim Menschen sein, und dann wirkt eine RGB-Verteilung, die für uns wie ein schöner Sonnenuntergang aussieht, auf den Fisch vielleicht völlig anders und komplett unnatürlich.

und die Sache mit RGB hat sich damit ehh erledigt. Ich würde da einfach (warm)weiße LEDs nehmen, und die frühs/abends entsprechend auf- und abdimmen. Wenn da eine Farbe bevorzugt werden soll, dann vielleicht eher eine solche, die die Wasserpflanzen vorgeben. Aber eigentlich sind die ja auch eher anspruchslos diesbezüglich ...

OP (Firma: Funkenflug Industries) #7967040
Lesenswert?

Nochmal: Die Lampe WAR mal für Fische. Jetzt dient sie der Bespaßung eines ESP32 zum Zweck der indirekten Beleuchtung durchs Anstrahlen der Zimmerdecke.

So eine Tabelle wie oben beschrieben würde mir völlig ausreichen, evtl. mit ein paar Stützpunkten mehr. Es muss nicht wissenschaftlich korrekt sein und da die einzelnen Farben bei dieser Lampe wahrscheinlich sowieso abweichende Leuchtstärken haben, wird man sowieso anpassen müssen. Oder man kann sich den Spaß machen, die Farben übertrieben darzustellen, etwa den Rot-Anteil hervorheben oder den Tag eher kälter als er in Wirklichkeit ist (falls die LEDs das hergeben).

Ich habe auch schon nachgedacht, wie man das ohne besonders hohen Aufwand messen kann, etwa mit Farbfiltern... würde aber ein paar Monate dauern bis man hier in Berlin mal wieder einen Sonnenauf- und Untergang erlebt, der es wert ist, gemessen zu werden. Im Moment misst man nur Graustufen.

: Bearbeitet durch User
#7967146
Lesenswert?

Gar nicht so unkniffliges Thema, schoene Farbverlaeufe hinzukriegen. Die mitgelieferten Controller, die mir bisher in die Finger kamen, interpolieren alle im RGB(W) Raum. So tickt die Natur halt kaum. Der Weg zu einer schoenen Daemmerungssimulation/Polarlicht/Lagerfeuer fuehrte bei mir so zum Ziel:

  • HSV-Modell (bzw. eine Abwandlung davon) statt RGB(W)
  • Stuetzpunkte in einem Array
  • Interpolation per Bresenham in H/S/V.

Puristen nutzen Quaternionen-Algebra, damit's gar keine Farbspruenge mehr gibt, aber man kann's auch uebertreiben.

Dann animiert man die Stuetzpunkte noch etwas, oder packt eine Federsimulation/Oszillation rein, und das Dorf freut sich ueber ein bunt fluoreszierendes Iglu (so geschehen vorletzten Winter).

Farbwerte messen ist da etwas over the top, man muss sich die Pseudo-HSV-Werte subjektiv hinfuddeln, je nach LED-Typ/Modulation ist das eh nicht vernuenftig farbecht.

#7967209
Lesenswert?

Man könnte auch eine externe Quelle verwenden. Davon gibt es genug, nennen sich Webcams. Da holt man sich ab und an ein Bild, schneidet den Himmel aus, rechnet den Durchschnitt der Pixel und setzt dann die eigene Lampe entsprechend. Als Bonus hast du sogar echt viele Orte auf der Welt zur Auswahl.

#7967320
Lesenswert?

Du kannst die Tabelle mit den groben Stützwerten (FHEM Seite) nehmen und in Excel die dazu passende Trendlinie als Formel ermitteln lassen. Das wäre erstmal ein Startpunkt zum experimentieren. Dann hast Du die harten Kanten/Linearität eliminiert. Ob das Dein Auge erfreut musst Du testen.

Dort in der Community gibt es auch Schaltpläne oder fertige Controller (ESP-Basis), die HSV verwenden anstatt RGB - natürlich kannst Du bestehende Hardware auch weiter verwenden oder neue Firmware draufpacken, sofern das geht.

#7967324
Lesenswert?

Uwe D. schrieb:

Du kannst die Tabelle mit den groben Stützwerten (FHEM Seite) nehmen

Die zweite (Beitrag #02) ist bis auf den zusätzlichen Wert am Anfang identisch zur ersten. Beide rauschen teilweise recht unmotiviert im oberen Bereich des Rot-Kanals bzw. im mittleren Bereich des Grünkanals und enthalten den selben Fehler vorne im Grün-Kanal. Die Natur macht keine Sprünge.

... und in Excel die dazu passende Trendlinie als Formel ermitteln lassen.

Stell dir das nicht zu einfach vor. Welchen Funktionstyp schlägst du vor, der eine /wahrnehmbare/ Verbesserung gegenüber dem stückweise linearen Verlauf der 512-Wertetabelle bringt und keine systematischen Abweichungen produziert?

Die Verläufe in der 512er-Tabelle Beitrag #11) approximieren übrigens nicht die kurzen Tabellen. Der Sonnenaufgang in den kurzen Tabellen erfolgt erheblich röter. Zu den Gründen schreibt der Autor allerdings nicht wirklich etwas.

OP (Firma: Funkenflug Industries) #7967425
Lesenswert?

Ob das Dein Auge erfreut musst Du testen.

Lach g ... da hast Du Recht.

Die bestehende Controller-Hardware ist schon rausgeflogen, die konnte kein WiFi und das war gerade der Spaß an der Sache. Ich überlege, damit sowas wie Presence Detection zu machen (z.B. solange das Ding ein Handy im WLAN erkennt, muss ich aber noch ausprobieren, was da so geht) und die Lampe bei Nichtbedarf automatisch abzuschalten.

: Bearbeitet durch User
#7967489
Lesenswert?

Rainer W. schrieb:

Uwe D. schrieb:

Du kannst die Tabelle mit den groben Stützwerten (FHEM Seite) nehmen ... und in Excel die dazu passende Trendlinie als Formel ermitteln lassen.

Stell dir das nicht zu einfach vor. Welchen Funktionstyp schlägst du vor, der eine /wahrnehmbare/ Verbesserung gegenüber dem stückweise linearen Verlauf der 512-Wertetabelle bringt und keine systematischen Abweichungen produziert?

Also ich bin kein Beleuchtungstechniker.

Aber zum Thema Eigeninitiative: Excel öffnen, Tabellen (nach Farben getrennt) reinkopieren, Maus drüber ziehen und markieren (jede Kurve für sich), Datenanaylse Button drücken - Diagramm anzeigen, Trendlinie hinzufügen, für eine Funktion entscheiden (z.B. Polynomisch, Potenz, Logarithmus) - Gleichung anzeigen lassen…

Und dann natürlich den ganzen Spaß testen.

PS: Wer Spaß daran findet kann noch den Breitengrad einfließen lassen, das Datum (Jahreszeit) und dann angepasste Verläufe berechnen… Oder einmal im Monat die Werte für alle Werte messen ..oder..oder..oder

Auf jeden Fall machen und nicht klugscheißen.

#7967496
Lesenswert?

Uwe D. schrieb:

für eine Funktion entscheiden (z.B. Polynomisch, Potenz, Logarithmus)

Genau da liegt das Problem. Die verfügbaren Funktionstypen passen nur schlecht zu den Intensitätsverläufen in den Kanälen, d. h. man landet bestenfalls bei hoher Ordnung der Funktion und hat trotzdem noch systematische Fehler.

Uwe D. schrieb:

Auf jeden Fall machen und nicht klugscheißen.

Genau das: Probier's aus, statt hier große Sprüche zu klopfen.

Da der TO RGBW zur Verfügung ist, ist man wegen des besseren CRI zudem gut beraten, nicht nur eine reine RGB-Tabelle zu verwenden, sondern auch die weißen LEDs mit einzubeziehen.

p.s. So schlecht ist eine abschnittsweise lineare Approximation gar nicht.

: Bearbeitet durch User
#7967600
Lesenswert?

Rainer W. schrieb:

Uwe D. schrieb:

für eine Funktion entscheiden (z.B. Polynomisch, Potenz, Logarithmus)

Genau da liegt das Problem. Die verfügbaren Funktionstypen passen nur

Na dann löse mal. Und jetzt zitiere ich Dich mal: „Einfach ausrechnen.“

Uwe D. schrieb:

Auf jeden Fall machen und nicht klugscheißen.

Genau das: Probier's aus, statt hier große Sprüche zu klopfen.

Ausgerechnet Du - der nur rum meckert - nichts konkretes kommt von Dir, nur Sprüche. Alles besser wissen, aber nichts besser machen…

#7967603
Lesenswert?

Bauform B. schrieb:

Hier gibt es ein Programm¹ mit nur 3 Stützstellen für einen kompletten 24-Stunden Zyklus:

Da hat das Ding einen ESP8266 drin, und schafft es nicht, selbst zu rechnen, was früher jeder Schiffsnavigator auf der Rückseite einer Postkarte zu Fuß zusammengebracht hat. Statt dessen braucht das Aquarium WLAN-Zugang, damit das Licht funktioniert.

OP (Firma: Funkenflug Industries) #7967605
Lesenswert?

Das Programm rechnet das Wesentliche schon selbst, es holt sich nur die Uhrzeit für Sonnenauf- und Untergang aus dem Netz. Der Rest sind festgelegte Farben, auf die der Reihe nach interpoliert wird, bzw. die Funktion verstehe ich nicht 100%ig was das Programm da mit dieser "smooth" Variablen herumrechnet, aber das würde man sehen wenn man sich das einmal genauer anschaut bzw. einfach mal laufen lässt und die Werte z.B. über USB ausgibt.

#7967630
Lesenswert?

Ben B. schrieb:

Das Programm rechnet das Wesentliche schon selbst, es holt sich nur die Uhrzeit für Sonnenauf- und Untergang aus dem Netz.

Ben B. schrieb:

Ich überlege, damit sowas wie Presence Detection zu machen (z.B. solange das Ding ein Handy im WLAN erkennt, muss ich aber noch ausprobieren, was da so geht) und die Lampe bei Nichtbedarf automatisch abzuschalten.

Also wenn Du den Raum tagsüber betrittst, soll die Aquariumleuchte die Decke je nach Jahreszeit hell erleuchten, und wenn Du z.B. an einem 17.11. nach 17°° da reingehst, soll der Raum dunkel bleiben? Tolles Konzept. 🤣

OP (Firma: Funkenflug Industries) #7967642
Lesenswert?

Du scheinst ein sehr eigenartiges Nutzungsprofil für Deine Wohnung zu haben, bzw. stark von meinem abweichend. Ich bin manchmal erst recht spät zuhause, da ist es schon lange dunkel und da muss die Lampe nicht vor sich hin leuchten wenn noch gar keiner da ist.

Tagsüber brauche ich die Lampe nicht.

#7967644
Lesenswert?

Ben B. schrieb:

... es holt sich nur die Uhrzeit für Sonnenauf- und Untergang aus dem Netz.

Eben genau das meinte ich. Für ein simple Rechnung, die nun wirklich nicht auf die Sekunde genau sein muss, ist das Ding auf eine WLAN-Verbindung angewiesen.

Woher bekommt das Programm eigentlich die Information über die Geschwindigkeit des Sonnenauf-/-untergangs. Auch dort gehen geographische Breite und Jahreszeit ein. Von der API holt es sich nur die minutengenauen Auf- und Untergangszeiten.

: Bearbeitet durch User
#7967821
Lesenswert?

Ben B. schrieb:

Ob das Dein Auge erfreut musst Du testen.

Lach g ... da hast Du Recht.

Die bestehende Controller-Hardware ist schon rausgeflogen, die konnte

Im verlinkten Forumsbeitrag gibt es alles notwendige für eine fertige Lösung auf ESP-Basis. Du kannst selbst löten oder in der Community ein PCB kaufen.

https://forum.fhem.de/index.php?topic=70738.0

Das Teil kannst Du selbst bespaßen - das besitzt eine eigene Queue für Animationen (HSV-basiert).

Eine Möglichkeit von vielen…

#7967935
Lesenswert?

Bauform B. schrieb:

https://github.com/motorkafa/Aquarium-Natural-Daylight-Simulator

Was soll daran "natural" sein? Wenn man schon nicht selber rechnet, sondern übers Internet ein API aufruft, sollte man es auch vernünftig nutzten. In dem verlinkten Programm werden nur die Zeiten für Sonnenauf- und -untergang verwendet, obwohl das API auch die Zeiten für Anfang und Ende der bürgerlichen Dämmerung bereit stellt. Damit hätte man doch alle Informationen, um die Geschwindigkeit entsprechend Standort und Jahreszeit dynamisch anzupassen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren