Ich lasse mir im FUTI den Mond mit der aktuellen Ausleuchtung per Bild darstellen.
Darunter steht aus dem FHEM Astro-Modul einerseits die Mondphase (MoonPhaseS: Waning Crescent, Full Moon, etc). Die Bezeichnung kann ich mir mit data-limits und data-colors auch entpsrechend einfärben lassen.
Zusätzlich wird auch die Mond-Beleuchtung in % angegeben (MoonPhaseN). Das ergibt Zahlen von 0 bis 100 und zurück. Das sind immer positive Zahlen. Nun möchte ich diesen Wert bei zunehmenden Mond in grün und bei abnehmendem Mond in rot darstellen lassen. Wie kann ich nun die Farbe des Wertes von data-get="MoonPhaseN" in Abhängigkeit von "MoonPhaseN" änder lassen?
Hallo,
Eine Möglichkeit:
Du definierst dir in dem Astro-Device unter zu Hilfenahme der Funktion pahcolor (https://wiki.fhem.de/wiki/Color#Farbskala_mit_Color::pahColor) ein von MoonPhaseN abhängiges userReadings, bspw. rgb.
In Ftui gibst dieses Reading dann mit data-color an.
Gruß Thomas
Ich habe das jetzt so im Astro-Device mit einem userReadings gelöst und habe dort nun auch ein zusätzliches Reading "Mondausleuchtung" mit dem Werten firebrick, blue oder white.
In der ftui HMTL-Datei habe ich jetzt folgendes definiert:
<div
data-type="label"
data-device="Astronomy"
data-get="MoonPaseN"
data-color="Astronomy:Mondausleuchtung"
data-unit="%"
></div>
Da der Mond im Moment abnimmt und der Wert für das Reading den Wert "firebrick" hat sollte die Zahl nun rot sein. Sie ist aber weiss.
Wenn ich zum testen eingebe:
data-color="firebrick"
dann ist die Zahl tatsächlich rot.
Habe ich da etwas vergessen?
Ups, hier wollte ich schreiben.
Bei mir funzt es mit Farbnamen auch nicht. Gib halt hex-Werte (#b22222,#FFFFFF,#0000FF) in dem userReadings aus, statt der Namen.
Perfekt - das wars!
Doch nicht so perfekt wie ich dachte @TomLee!
Nachdem das während der abnehmenden Mondphase mit der Zahl in rot funktionierte ist die Zahl jetzt bei Neumond trotz der in Hex als grau hinterlegten Farbe in weiss und lässt sich partout auch nicht ändern. Im Device "Astronomy" steht als userReading "Mondausleuchtung" bei Neumond der richtige Wert, nämlich grau. Der aktuelle Wert "0%" bleibt aber immer weiss. Dabei ist es egal wie ich die Farbe für das Reading "Mondausleuchtung" im Device "Astronomy" auch hinterlege - als grau oder #d3d3d3 oder rgb(211,211,211).
So ist das auf der HTML-Seite in FTUI programmiert:
<header><font size="+0.5">Beleuchtung</font></header>
<div data-type="label"
data-device="Astronomy"
data-get="MoonPhaseN"
data-color="Astronomy:Mondausleuchtung"
data-unit="%" class="inline border-right left-align">
</div>
</div>
Ich kann das bei mir so wie Du es beschreibst (und ich verstehe) nicht nachvollziehen. Setz ich einen Wert mit #d3d3d3 ist das Label auch grau.
Zeig doch mal wie das userReadings aussieht bzw. ein List von dem Astro-Device. Vlt. sieht man da ja mehr.
Hier ist das list Astronomy:
Internals:
FUUID 601ad6fe-f33f-521d-4e77-913d3588669d5bad
FVERSION 95_Astro.pm:v2.2.0-s29078/2024-08-17
INTERVAL 3600
NAME Astronomy
NEXTUPDATE 2024-10-03 22:46:16
NOTIFYDEV global
NR 43
NTFY_ORDER 45-Astronomy
RECOMPUTEAT NewDay,SunRise,SunSet,AstroTwilightEvening,AstroTwilightMorning,CivilTwilightEvening,CivilTwilightMorning,CustomTwilightEvening,CustomTwilightMorning
STATE Mondphase: 0.01
TYPE Astro
eventCount 48
Helper:
DBLOG:
state:
logdb:
TIME 1727984776.04506
VALUE Updated
READINGS:
2024-10-03 00:00:00 AstroTwilightEvening 20:46
2024-10-03 00:00:00 AstroTwilightMorning 05:50
2024-10-03 00:00:00 CivilTwilightEvening 19:35
2024-10-03 00:00:00 CivilTwilightMorning 07:01
2024-10-03 00:00:00 CustomTwilightEvening 19:00
2024-10-03 00:00:00 CustomTwilightMorning 07:36
2024-10-03 21:46:16 Mondausleuchtung #D3D3D3
2024-10-03 21:46:16 Mondbild /fhem/www/images/phasenbilder/51.png
2024-10-03 21:46:16 MoonAge 11.3
2024-10-03 21:46:16 MoonAlt -26.3
2024-10-03 21:46:16 MoonAz 283.3
2024-10-03 21:46:16 MoonDec -10.5
2024-10-01 08:34:12 MoonDiameter 29.5
2024-10-03 21:46:16 MoonDistance 405014
2024-10-03 21:46:16 MoonDistanceObserver 407886
2024-10-03 00:00:00 MoonHrsInvisible 12:54
2024-10-03 00:00:00 MoonHrsVisible 11:05
2024-10-03 20:35:25 MoonLat -1.3
2024-10-03 21:46:16 MoonLon 202.3
2024-10-01 18:34:12 MoonPhaseI 0
2024-10-03 15:36:54 MoonPhaseN 0.01
2024-10-01 18:34:12 MoonPhaseS New Moon
2024-10-03 20:35:25 MoonRa 13:18
2024-10-03 00:00:00 MoonRise 08:06
2024-10-03 00:00:00 MoonSet 19:12
2024-10-02 01:00:00 MoonSign Scales
2024-10-02 01:00:00 MoonSignN 6
2024-10-03 00:00:00 MoonTransit 13:45
2024-10-03 00:00:00 NauticTwilightEvening 20:10
2024-10-03 00:00:00 NauticTwilightMorning 06:26
2021-02-03 18:01:52 ObsAlt 571
2024-10-03 00:00:00 ObsDate 03.10.2024
2024-10-03 00:00:00 ObsDayofyear 277
2024-10-03 21:46:16 ObsGMST 20:38:16
2021-02-03 18:01:52 ObsHorEvening 0
2021-02-03 18:01:52 ObsHorMorning 0
2024-03-31 03:00:12 ObsIsDST 1
2024-10-03 21:46:16 ObsJD 2460587.32
2024-10-03 21:46:16 ObsLMST 21:08:11
2021-02-03 18:01:52 ObsLat 46.9434468
2021-02-03 18:01:52 ObsLon 7.4777124
2024-09-22 00:00:00 ObsSeason Fall
2024-09-22 00:00:00 ObsSeasonN 3
2024-10-03 21:46:16 ObsTime 21:46:16
2024-03-31 03:00:12 ObsTimezone 2
2024-03-31 03:00:12 ObsTimezoneS CEST
2024-10-03 21:46:16 SunAlt -27.6
2024-10-03 21:46:16 SunAz 295.7
2024-10-03 19:35:25 SunDec -4.3
2024-09-30 12:44:38 SunDiameter 32
2024-10-03 21:46:16 SunDistance 149629783
2024-10-03 21:46:16 SunDistanceObserver 149632747
2024-10-03 00:00:00 SunHrsInvisible 12:26
2024-10-03 00:00:00 SunHrsVisible 11:33
2024-10-03 20:46:16 SunLon 191.1
2024-10-03 10:36:54 SunRa 12:41
2024-10-03 00:00:00 SunRise 07:32
2024-10-03 00:00:00 SunSet 19:05
2024-09-22 15:23:30 SunSign Scales
2024-09-22 15:23:30 SunSignN 6
2024-10-03 00:00:00 SunTransit 13:18
2024-10-03 21:46:16 state Updated
Attributes:
devStateStyle style="text-align:right"
icon telescope
recomputeAt NewDay,SunRise,SunSet,AstroTwilightEvening,AstroTwilightMorning,CivilTwilightEvening,CivilTwilightMorning,CustomTwilightEvening,CustomTwilightMorning
room Astronomy
stateFormat Mondphase: MoonPhaseN
userReadings Mondbild {moon_pics("myAstro")}, Mondausleuchtung {if(ReadingsVal($name,"MoonPhaseS","") eq "Waning Crescent") {return "#B22222"} elsif (ReadingsVal($name,"MoonPhaseS","") eq "Waning Crescent") {return "#A3EBB1"} elsif (ReadingsVal($name,"MoonPhaseS","") eq "Full Moon") {return "#FFFFFF"} else {return "#D3D3D3"}}