FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: taskkill am 20 November 2022, 17:03:33

Titel: [gelöst]Statusanzeige
Beitrag von: taskkill am 20 November 2022, 17:03:33
Hier zeigt er mir den Wert Temperatur an. In Grün Device online und in Rot Device offline, was muss Ich noch zuschreiben um den Wert Pressure mit anzuzeigen?

Im stateformat steht:

{  sprintf("<span style='color:%s'>%s</span>", ReadingsVal('ESP39_Display_Fenster','presence',0) eq "present" ? "green":(ReadingsVal('ESP39_Display_Fenster','presence',0) eq "absent" ? "#880000":"red"), ReadingsVal('ESP39_Display_Fenster','Temp',0)." °C Temperatur ")}

Danke für eventuelle Antworten....
Titel: Antw:Statusanzeige
Beitrag von: eisman am 20 November 2022, 17:17:59
hi,

da ich einige Temperaturwerte habe, habe ich es in eine sub geschrieben:



sub sub_Durchschnitt($) {
my ($Dev) = @_; my $Farbe = ""; my $STRG = "";
my $min = ReadingsVal("TC_0" . $Dev . "01","temperature_min_day", 0);
my $max = ReadingsVal("TC_0" . $Dev . "01","temperature_max_day", 0);

if    ($min <  10)               { $Farbe = "blue";   }
elsif ($min >= 10 and $min < 18) { $Farbe = "cyan";   }
elsif ($min >= 18 and $min < 21) { $Farbe = "green";  }
elsif ($min >= 21 and $min < 23) { $Farbe = "yellow"; }
elsif ($min >= 23)               { $Farbe = "red";    }

$STRG = $STRG ."<span style='font-size:10px;font-weight:bold;color:" . $Farbe . ";'>" . $min . "</span>";
$STRG = $STRG ."<span style='font-size:6px;color:tan;'>°C<br></span>";

if    ($max <  10)               { $Farbe = "blue";   }
elsif ($max >= 10 and $max < 18) { $Farbe = "cyan";   }
elsif ($max >= 18 and $max < 21) { $Farbe = "green";  }
elsif ($max >= 21 and $max < 23) { $Farbe = "yellow"; }
elsif ($max >= 23)               { $Farbe = "red";    }

$STRG = $STRG ."<span style='font-size:10px;font-weight:bold;color:" . $Farbe . ";'>" . $max . "</span>";
$STRG = $STRG ."<span style='font-size:6px;color:tan;'>°C</span>";
return $STRG;
}




mfg
Titel: Antw:Statusanzeige
Beitrag von: taskkill am 20 November 2022, 17:32:14
Falsch verstanden, zeigt mir 1°C Temperatur in grün wenn ESP erreichbar und 1°C Temperatur in rot wenn nicht erreichbar (funktioniert auch alles) will aber zuzätzlich noch den Wert Pressure in hPa anzeigen.
Titel: Antw:Statusanzeige
Beitrag von: eisman am 20 November 2022, 17:57:45
hi

   my $min = ReadingsVal("TC_0101","temperature_min_day", 0);  wert 1
   my $max = ReadingsVal("TC_0101","temperature_max_day", 0); wert 2


         <br> zeilenumbruch " " leerzeichen

         return $STRG; ausgabe

gruss
Titel: Antw:Statusanzeige
Beitrag von: OdfFhem am 20 November 2022, 19:20:04
Zitat von: taskkill am 20 November 2022, 17:03:33
{  sprintf("<span style='color:%s'>%s</span>", ReadingsVal('ESP39_Display_Fenster','presence',0) eq "present" ? "green":(ReadingsVal('ESP39_Display_Fenster','presence',0) eq "absent" ? "#880000":"red"), ReadingsVal('ESP39_Display_Fenster','Temp',0)." °C Temperatur ")}

{ sprintf("<span style='color:%s'>%s ... %s</span>", ReadingsVal('ESP39_Display_Fenster','presence',0) eq "present" ? "green":(ReadingsVal('ESP39_Display_Fenster','presence',0) eq "absent" ? "#880000":"red"), ReadingsVal('ESP39_Display_Fenster','Temp',0)." °C Temperatur", ReadingsVal('ESP39_Display_Fenster','Pressure',0)." hPa Luftdruck")}

Ungetestet, sollte aber einen Weg zeigen ...
Titel: Antw:Statusanzeige
Beitrag von: taskkill am 20 November 2022, 19:25:52
OdfFhem Danke, funktioniert vom feinsten..... :)