Hauptmenü

[Gelöst]Icon in Farbe

Begonnen von Sebastian84, 22 November 2023, 22:17:16

Vorheriges Thema - Nächstes Thema

Sebastian84

Guten Abend
Ich möchte gerne das Icon wenn Water:1 ist das Icon (huminidity) in Rot darstellen und wenn rechable:0 ist auch in rot anzeigen. Wenn batterystate:no ist das Icon in gelb darstellen.

ZitatDEF        sensor 20  IODev=deconz
   FUUID      6143b545-f33f-cdd4-3e98-d3b0ed9fbd7ea2b8
   FVERSION   31_HUEDevice.pm:0.262040/2022-07-09
   ID         S20
   INTERVAL   
   IODev      deconz
   NAME       Spuele
   NR         323
   STATE      Wasser:Nein
   TYPE       HUEDevice
   eventCount 3
   has_events 1
   manufacturername LUMI
   modelid    lumi.sensor_wleak.aq1
   name       Wassersensor Spüle
   on         1
   reachable  1
   swversion  0.0.0_0006
   type       ZHAWater
   uniqueid   00:15:8d:00:06:c5:d9:7a-01-0500
   READINGS:
     2023-11-22 20:01:13   IODev           deconz
     2023-11-22 21:55:02   battery         62
     2023-11-22 21:55:02   batteryPercent  62
     2023-07-01 03:20:16   batteryState    ok
     2023-11-22 21:55:02   lastseen        2023-11-22T20:55Z
     2023-11-22 21:55:02   reachable       1
     2023-07-01 03:20:16   tampered        0
     2023-11-22 21:55:02   temperature     27
     2023-11-22 21:55:02   water           0
   helper:
     devtype    S
     state     
     update_timeout 1
     configList:
     json:
       ep         1
       etag       b6288240d7bd6b58d8e90647aa32f682
       lastannounced
       lastseen   2023-11-22T20:55Z
       manufacturername LUMI
       modelid    lumi.sensor_wleak.aq1
       name       Wassersensor Spüle
       swversion  0.0.0_0006
       type       ZHAWater
       uniqueid   00:15:8d:00:06:c5:d9:7a-01-0500
       config:
         battery    62
         temperature 2700
       state:
         lastupdated 2023-11-22T20:55:02.934
     setList:
Attributes:
   event-on-change-reading .*
   eventMap   0:Nein 1:Ja
   group      Wassersensoren
   icon       humidity
   model      lumi.sensor_wleak.aq1
   room       2_EG->Kueche
   stateFormat Wasser:water
 

juemuc

3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sebastian84

Hab z.b. ausprobiert DevStateIcon
Water:0:humidity@red

rechable:0:humidity@yellow
batterystate:no:humidity@yellow

Funkioniert aber nicht. Was mach ich da falsch

MadMax-FHEM

#3
Zitat von: Sebastian84 am 23 November 2023, 16:15:34Funkioniert aber nicht. Was mach ich da falsch
Hast du mal die commandref gelesen oder auch den verlinkten Wiki?
Und versucht nachzuvollziehen?

Weil da steht z.B.:
Zitat von: commandrefSpace separated list of regexp:icon-name:cmd triples, icon-name and cmd may be empty.
If the STATE of the device matches regexp, then icon-name will be displayed as the status icon in the room, and (if specified) clicking on the icon executes cmd. If FHEM cannot find icon-name, then the STATE text will be displayed.

Bei dir steht in STATE:
Zitat von: STATESTATE      Wasser:Nein

Wie soll dann eines deiner Versuche etwas bewirken?

EDIT:
das hier sollte estwas bewirken:
Wasser.Nein:humidity@red

Noch zur Sicherheit: du kannst das icon "VOR" dem Devive nicht (einfach so) anpassen.
Wenn du das willst, wirst du verm. mit CSS oder Javascript arbeiten müssen.
Zumindest fällt mir keine andere Möglichkeit ein.

Mit devStateIcon kannst du "nur" statt dem Text in STATE eben ein oder mehrere Icons anzeigen lassen (bei mehrzeiligem STATE)...

Was du willst (also wenn du zufrieden bist mit dem Icon "hinter" dem Device), dann brauchst du entweder einen mehrzeiligen STATE und dann eben mehrere Icons (für jede Zeile des STATE eben eines) oder du schreibst eine Perl-Funktion (z.B. in myUtils) und gibst eben je nach "Zustand"/"Wunsch" eben das entsprechende Icon (und Farbe) zurück.

STATE anpassen (und auch mehrzeilig) geht mittels stateFormat:
Zitat von: commandrefNote: The above is valid for each line of STATE. If STATE (through stateFormat) is multilined, multiple icons (one per line) will be created.

UND: bitte (endlich) die lists in CODE-Tags NICHT in "quotes"/Zitate, danke.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

juemuc

Ausserdem musst Du Groß-/Klein und Rechtschreibung beachten  8)

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sebastian84

Kann man den Wenn Zustand Wasser:Ja
Und Spule in rot anzeigen zu lassen?

MadMax-FHEM

Spule?

Weitere Zustände durch Leerzeichen getrennt anfügen...

Steht alles in den Links bzw. commandref...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

Sorry meine Spuele. Ok danke werde ich versuchen.

betateilchen

Zitat von: Sebastian84 am 23 November 2023, 16:15:34Hab z.b. ausprobiert DevStateIcon
Water:0:humidity@red

rechable:0:humidity@yellow
batterystate:no:humidity@yellow

Funkioniert aber nicht. Was mach ich da falsch


Drei Werte, dreimal falsch.

Falsch: Water
Richtig: water

Falsch: rechable
Richtig: reachable

Falsch: batterystate
Richtig: batteryState

und das Attribut ist auch falsch.

Falsch: DevStateIcon
Richtig: devStateIcon
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Sebastian84

Müste nicht auch devStateStyle gehen?
Jetzt wird der Text
Wasser:Nein aber auch in rot angezeigt.
Ich wollte eigendlich das nur bei Wasser:Ja die Schrift in rot angezeigt wird und sonst nur in Weiß wenn Wasser:Nein ist.



style=color:red;;Wasser:Ja;;style=color:front-weight;;Wasser:Nein

MadMax-FHEM

Willst du nun farbige Icons oder farbigen Text?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

farbiger Text reicht für mich aus.

MadMax-FHEM

#12
Commandref (oder Wiki o.ä.) lesen ist nicht so deins?

Wo hast du nur immer die phantasievollen Definitionen her?

devStateSytle ist nicht dynamisch, sondern stellt den Style einmal ein und fertig, dann ist das Device so.

Wenn du dynamisch etwas am Style ändern willst (willst du wohl?), dann z.B. mit stateFormat und Perl...

EDIT: vielleicht hier mal schauen https://wiki.fhem.de/wiki/DeviceOverview_anpassen

Geht sicher auch anders/besser, hier (trotzdem mal) ein Vorschlag für stateFormat der evtl. das macht was du mit deinem letzten Versuch erreichen wolltest (zumindest so wie ich es verstehe: Infos sind ja sehr spärlich)...
{
# color code https://html-color-codes.info/
# https://www.computerhope.com/htmcolor.htm
  my $Style = "Wasser: ";
  if(ReadingsNum($name,"water",0) == 1)
  {
    # red
    $Style .= "<span style='color:#FF0000'>Ja</span>";
  }
  else
  {
    $Style .= "<span>Nein</span>";
  }
}

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sebastian84

Habe deine perl. Code in 99_myUtils.pm eingetragen.
Leider wird das Wasser:Ja nicht in roter Schrift dagestellt,wenn state: Wasser:Ja ist.

MadMax-FHEM

#14
Wer hat was von myUtils geschrieben?
Bzw. kannst du schon dort einfügen aber dann als Sub und du musst es nat. auch aufrufen (lassen)...

Gedacht war es (wie geschrieben) für stateFormat...

Und Aussagen wie "geht nicht" ohne weitere Infos (aktuelles list, Logeinträge, ...) helfen nicht zu helfen...

Bei einem Testdummy bei mir wird Ja rot.
Allerdings nur das Ja.
Wenn du den ganzen Text willst, dann entsprechend umbauen...

EDIT: ich habe sogar dein eventMap übernommen. Wobei ich nicht verstehen kann warum das zum "Übersetzen" genutzt wird. Es macht ja (wie der Name sagt) mehr als nur Anzeige. Wenn man das einsetzt, muss man u.U. auch "Automatisierungen" (notify, FileLog, ...) anpassen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)