$env / Environment Variables in Node-Blue Funktionen

Hallo Zusammen,

entweder stehe ich gerade extrem auf dem Schlauch oder bei mir stimmt was nicht… Leider habe ich dazu weder mit Google noch mit der Forumsuche was sinnvolles gefunden.

Ich versuche mir gerage einen Subflow für langsame Fade-Vorgänge (abends Licht 15Min ausblenden und dabei Wärmer werden, Sonnenauf-/untergang, …) mit CCT- und später auch RGB/RGBW/RGBWW-Unterstützung zu bauen. Dafür würde ich gerne die Environment Variables vom Subflow verwenden um einige Lampen-Parameter wie (Helligkeit min max, Temp min max, Fähigkeiten (CCT/RGB/…)) einstellen zu können.

Leider funktioniert bei mir die $env-Variable nicht so wie ich das erwartet hätte.

Meine Frage:
Wie frage ich denn eine Environment-Variable “Abc” ab?

  • wie bei NodeRed: $Var = $env(‘Abc’);
  • wie bei Messages in NodeBlue: $Var = $env[‘Abc’];
  • oder irgendwie GANZ anders?

Gruß Andreas

Ich würde mal vermuten, dass in einer php-Function-node wie bei php geht.

$var = $_ENV['Abc'];

Ich habe mir letztens einen Subflow gebaut, der einen Sonnenaufgang erzeugt. (Meine bisherigen Versuche, die auch hier im Forum sind, waren nicht zufriedenstellend.)
Den müsste man eigentlich nur umdrehen, der liefert xy-Farbwerte und basiert auf den Farbwerten der Blackbody-Kurve. Das kommt dem, wie ich mir einen Farbverlauf bei Sonnenaufgang vorstelle sehr nahe.

sunrise.json.txt (5,3 KB)

Hallo @job,

super, vielen Dank… gleich 2x! Ja, genau um den PHP-Function-Node geht es.

Da ist dann die Beschreibung im Fuction-Node ein bisschen misleading… da steht nur „$env“.

Dein Ansatz mit der Schwarzkörper-/Hohlraumstrahlungskurve war mir so in der Art für die RGB(W/WW/CCT)-Funktion „Sonnenauf-/-Untergang“ auch vorgeschwebt. Da werde ich mir deinen Node definitiv mal genau anschauen.

Gruß Andreas

So, ich hatte nun Gelegenheit es zu testen.

Keine Ahnung warum es beim meinem vorherigen SubFlow nicht funktioniert, aber ich habe es jetzt mit einem neuen gestetet und es funktioniert wie zuvor vermutet:

$var = $env['Abc'];

Die PHP-Variante $var = $_ENV['Abc']; funktioniert nicht.

Gruß Andreas