Hallo,
ich bekomme es nicht hin, ich würde gern in folgendem funktionierenden DOIF das ReadingsVal direkt integrieren, also statt "$temp" gleich ReadingsVal("MQTT2_DVES_6CA8FD","Global_Temperature",0)."°C"
defmod MQTT2_DVES_6CA8FD_DOIF_4 DOIF ([MQTT2_DVES_6CA8FD:BME280_Temperature] < 10) ({\
my $temp = ReadingsVal("MQTT2_DVES_6CA8FD","Global_Temperature",0)."°C";;\
{fhem( qq(set myBroker publish awtrix_d6b184/custom/1 {"text":"$temp","icon":"10977","color":"#8585FF"}))}})\
DOELSEIF\
([MQTT2_DVES_6CA8FD:BME280_Temperature] >= 10 and [MQTT2_DVES_6CA8FD:BME280_Temperature] <= 20) ({\
my $temp = ReadingsVal("MQTT2_DVES_6CA8FD","Global_Temperature",0)."°C";;\
{fhem( qq(set myBroker publish awtrix_d6b184/custom/1 {"text":"$temp","icon":"12144","color":"#FFFF00"}))}})\
DOELSEIF\
([MQTT2_DVES_6CA8FD:BME280_Temperature] > 20) ({\
my $temp = ReadingsVal("MQTT2_DVES_6CA8FD","Global_Temperature",0)."°C";;\
{fhem( qq(set myBroker publish awtrix_d6b184/custom/1 {"text":"$temp","icon":"12144","color":"#FF0000"}))}})
ich hab eigentlich schon alles probiert, mit {} ,mit () und mit " und ohne ". Das funktioniert und gibt richtig "Text" auf dem Display aus.
set myBroker publish awtrix_d6b184/custom/1 {"text":"Text","icon":"12144","color":"#FF0000"}
matze1999
Manchmal sieht man den Wald vor Bäumen nicht, ich antworte mir mal selbst:
set myBroker publish awtrix_d6b184/custom/1 {"text":"[MQTT2_DVES_6CA8FD:Global_Temperature] °C","icon":"12144","color":"#FF0000"}
matze1999
Ich weiß nicht, ob du es immer noch tust, aber du musst vermutlich auch nicht in den Perl-Kontext wechseln.
Und du kannst auf dem Display Platz sparen, wenn du Celsius weglässt. Das fällt nicht auf, finde ich. ;)