FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: matze1999 am 11 April 2023, 19:58:47

Titel: [gelöst]DOIF optimieren, mit ReadingsVal
Beitrag von: matze1999 am 11 April 2023, 19:58:47
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
Titel: Aw: DOIF optimieren, mit ReadingsVal
Beitrag von: matze1999 am 11 April 2023, 20:07:10
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
Titel: Aw: DOIF optimieren, mit ReadingsVal
Beitrag von: FHEMAN am 11 April 2023, 20:23:28
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. ;)