Temperatur Einheit in Reading wegformatieren (solved)

Begonnen von screetch82, 09 November 2017, 10:38:43

Vorheriges Thema - Nächstes Thema

screetch82

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.

eisman

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
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

marvin78


eisman

#3
hi,

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

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

marvin78

Der Einfachheit halber ein userReading verwenden, dass mit ReadingsNum die Einheit entfernt und das in der readingsGroup verwenden.

justme1968

wie im anderen thread geschrieben: $NUM statt $VALUE verwenden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

screetch82

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.

DeeSPe

Das könnte klappen (ungetestet).

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

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

screetch82

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"'}}



eisman

1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S