[gelöst] Frage zu style in dummy

Begonnen von franky08, 31 März 2015, 08:44:52

Vorheriges Thema - Nächstes Thema

franky08

Hallo, ich lese über F2F den RSSI Wert von einem Raspi aus (Strom, COC RSSI) und schreibe diesen in ein dummy, genauso wie den RSSI von einem Gassensor, wird auch in ein dummy geschrieben. Über die entprechende css passe ich die gelesenen Daten in color und font-size an:
#rssi_strom_dummy {font-size:18px; color: #006400; font-weight: bold }
#rssi_gas_dummy {font-size:18px; color: #006400; font-weight: bold }


Ich würde nun gern das color attribut dahingehen ändern das bei >-80dB der Wert gelb und bei >-85dB der Wert rot und bei <-80 dB grün ist.
In der css ist color z.Zt. mit 006400 grün angegeben.
Wie kann ich es erreichen das die Farbe abhängig vom RSSI wird?

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

justme1968

ich meine das geht über css alleine nicht oder nur sehr eingeschränkt.

in fhem gibt es das devStateStyle attribut. damit sollte gehen was du möchtest. ohne direkt im css etwas zu ändern.

ansonsten schau dir mal readingsGroup an. für rssi gibt es im wiki ein beispiel.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

franky08

#2
Hallo Andre, das Beispiel aus dem Wiki kenne ich und hab ich für meine 2 IO´s auch so übernommen. Das Problem ist, dass ich im LCARS Floorplan die beiden "Problem"-RSSI Werte in einem dummy brauche. Im angehängten Screenshot ist zu sehen was ich meine. Eine ReadingsGroup geht da leider nicht (freies platzieren, nur 2 Werte).
Ich werde versuchen es ähnlich wie hier zu realisieren:
define culRSSI readingsGroup HMLAN1_RSSI=.*:+HMLAN1_RSSI,+HMLAN1_TIME
attr culRSSI DbLogExclude .*
attr culRSSI room System
attr culRSSI valueStyle {return undef if($READING =~ m/TIME/);; ($VALUE <= -85)?'style="color:red"':($VALUE <= -80)?'style="color:yellow"':undef}


P.S. Das Attribut valueStyle scheint auf ein dummy device nicht anwendbar zu sein

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

justme1968

wie oben schon gesagt: wenn es jeweils nur ein wert im dummy ist kannst du versuchen devStateStyle zu verwenden.

ansonsten ist mir nicht ganz klar warum eine readingGroup nicht geht. du kannst sie frei platzieren und du kannst sie für einen, zwei oder beliebige viele werte verwenden. du kannst sogar die komplette zeile die beiden verbraucht werte und die beiden rssi werte) in eine readingGroup stecken.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

franky08

Mmm, irgendwas scheine ich übersehen zu haben.

Ein attr <device> devStateStyle {(state <= -85)?'style="color:red"':(state <= -80)?'style="color:yellow"':(state <= -75)?'style="color:green"'}

funktioniert leider nicht. Was ist mein Fehler?

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

marvin78

Probiere es mal mit ReadingsVal und auch deine Klammerung sieht nicht korrekt aus.

justme1968

devStateStyle kann keinen perl code enthalten sondern nur den tatsächlichen string.

den wert musst du in deinem fall mit einem notify anhängig vom wert neu setzen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

franky08

Habe das Ganze jetzt in eine sub gepackt und es scheint zu funktionieren.

sub
read_RSSI
{
my $read_gas = ReadingsVal("Gas_Sensor","rssi_at_HMLAN1",150);
fhem "setreading rssi_gas_dummy state $read_gas";
if( $read_gas <= -50 ) {
fhem "attr rssi_gas_dummy devStateStyle style=color:green;;";
}
if( $read_gas <= -80 ) {
fhem "attr rssi_gas_dummy devStateStyle style=color:yellow;;";
}
if( $read_gas <= -85 ) {
fhem "attr rssi_gas_dummy devStateStyle style=color:red;;";
}



Liese sich bestimmt eleganter lösen aber so geht´s auch  ;)

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Cluni

Ich habe eine Frage zum Ändern des Attributes "devStateStyle" - ist das bei dir nicht jedes Mal so, dass dann der Status ungesichert in Fhem gesetzt wird (sprich es erscheint das rote Fragezeichen hinter "Save config"). Wie verhinderst du das? Oder ignorierst du das einfach nur?