FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: screetch82 am 09 November 2017, 10:38:43

Titel: Temperatur Einheit in Reading wegformatieren (solved)
Beitrag von: screetch82 am 09 November 2017, 10:38:43
Hallo

ich habe eine ReadingsGroup für Temperaturen erstellt welche alle Devices nach einem Reading "temperature" durchsucht:
Leider haben die Fibaro Türsensoren eine Einheit hinter dem Reading "C" und diese erscheinen in der Übersicht:

Temperaturübersicht
Nebeneingang:temperature           12.4 C
Haupteingang:temperature           15.0 C
Kuche_Motion_Temp:temperature  20.03
Office_Motion_Temp:temperature  18.44

Ich wollte die Readingsgroup farblich in Abhängigkeit vom Temperaturwert darstellen usw. Wie kann ich das Reading Modifizieren, das ich nur die Zahl erhalte?
Es geht spezifisch um das Reading temperature, denn der Device State zeigt open/closed an und somit kann ich stateformat nicht nutzen. Erzeuge ich ein dummy reading,
habe ich dann die Temperatur doppelt in der Gruppe.. Mehr faellt mir leider nicht ein.  ein ReadingsGroup finde ich super, weil sich diese bei weiteren Geräten dynamisch
erweitert.

Danke.
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: eisman am 09 November 2017, 10:58:09
Hi,

das geht mit

my $Reg  = ReadingsVal("AHT", "actuator","")."";
$Reg=(substr($Reg, 0, (length($Reg)-1)));
fhem ("set AHV actuator $Reg");

ist aus einer FS20 Steuerung

gruss
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: marvin78 am 09 November 2017, 10:59:48
ReadingsNum
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: eisman am 09 November 2017, 11:01:11
hi,

ja habe ich auch grade gelesen,
aber noch nicht probiert....
(hab es grade mal bei dem FS20 probiert, bisher keine Fehlermeldung)

gruss
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: marvin78 am 09 November 2017, 11:02:21
Der Einfachheit halber ein userReading verwenden, dass mit ReadingsNum die Einheit entfernt und das in der readingsGroup verwenden.
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: justme1968 am 09 November 2017, 13:15:15
wie im anderen thread geschrieben: $NUM statt $VALUE verwenden.
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: screetch82 am 09 November 2017, 13:54:37
Hi

hier der die definition der Readingsgroup. Ich verwende bisher kein ReadingsVal oder Num:

define rg_temps readingsGroup .*:temperature
attr rg_temps alias Temperaturübersicht
attr rg_temps group Klima
attr rg_temps icon temp_temperature
attr rg_temps notime 1
attr rg_temps room Allgemein


Definiere ich ein Userreading dann wir doch für das gleiche Gerät das Reading temperature und das userReading angezeigt?  Außerdem muss ich bei jedem neuen gerät das manuel hinzufügen.
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: DeeSPe am 09 November 2017, 14:08:30
Das könnte klappen (ungetestet).

attr rg_temps valueFormat {return $NUM if ($VALUE =~ /C$/)}

Gruß
Dan
Titel: Antw:Temperatur Einheit in Reading wegformatieren
Beitrag von: screetch82 am 09 November 2017, 14:20:36
danke für die Hilfe. Ich habe auch nochmal im Wiki gelesen und in der definition der Readingsgroup folgendes Eingetragen.
Es klappt die "C" des Readings werden rausgenommen und nun kann ich je nach temperatur auch die Werte farblich markieren.

Zur Hilfe für andere nochmal definition:

define rg_temps readingsGroup .*:temperature
attr rg_temps alias Temperaturübersicht
attr rg_temps group Klima
attr rg_temps icon temp_temperature
attr rg_temps mapping %ALIAS
attr rg_temps nostate 1
attr rg_temps notime 1
attr rg_temps room Allgemein
attr rg_temps valueFormat { temperature => '%1.f'}
attr rg_temps valueStyle { if($READING eq "temperature" && $VALUE > 30) { 'style="color:red"'}elsif($READING eq "temperature" && $VALUE > 25) { 'style="color:yellow"'}elsif($READING eq "temperature" && $VALUE > 20) { 'style="color:green"'}elsif($READING eq "temperature" && $VALUE < 10) { 'style="color:darkblue"'}elsif($READING eq "temperature" && $VALUE < 5) { 'style="color:blue"'}else{'style="color:orange"'}}


Titel: Antw:Temperatur Einheit in Reading wegformatieren (solved)
Beitrag von: eisman am 09 November 2017, 15:14:40
und man kann es auch gestalten

sie bild