FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Marko1976 am 15 Juni 2025, 11:42:30

Titel: Aus-STATE ohne Symbol
Beitrag von: Marko1976 am 15 Juni 2025, 11:42:30
Hallo, ist vielleicht eine ganz blöde Frage aber wie kriege ich das Symbol eines Device für den Aus/An-Zustand weg?
Selbst wenn keine Einstellungen gemacht sind wird automatisch diese Glühbirne angezeigt wenn einer der beiden Zustände auftritt.

Bei Lampen ist das ja sinnvoll, aber bei allem anderen finde ich das eher irretierend.
Da wäre mir ein Text "Aus" wesentlich lieber.
Titel: Aw: Aus-STATE ohne Symbol
Beitrag von: TomLee am 15 Juni 2025, 12:19:21
Zitat von: Marko1976 am 15 Juni 2025, 11:42:30Hallo, ist vielleicht eine ganz blöde Frage aber wie kriege ich das Symbol eines Device für den Aus/An-Zustand weg?
...
Da wäre mir ein Text "Aus" wesentlich lieber.

Hallo,

gib in devStateIcon einen Iconnamen an, welcher nicht existiert. Damit erreichst Du das der Text aus STATE angezeigt wird.

attr <devicename> devStateIcon .*:bla
Gruß Thomas
Titel: Aw: Aus-STATE ohne Symbol
Beitrag von: juemuc am 15 Juni 2025, 14:01:36
Alternativ über stateFormat einen Text definieren

attr DEVICE stateFormat {my $val;;\
 if (ReadingsVal($name, "disabled","") eq "1") {$val = "AUS"}\
 else {$val = ReadingsVal("DEVICE", "state","")};;\
 $val}
Titel: Aw: Aus-STATE ohne Symbol
Beitrag von: Marko1976 am 15 Juni 2025, 14:56:22
Danke erstmal.
Wo ist denn das Lampensymbol festgelegt, das würde mich auch mal interessieren?
Titel: Aw: Aus-STATE ohne Symbol
Beitrag von: betateilchen am 15 Juni 2025, 15:27:58
Zitat von: Marko1976 am 15 Juni 2025, 14:56:22Wo ist denn das Lampensymbol festgelegt,

nirgends.

Vereinfacht gesagt: wenn es ein icon gibt, das genau so heißt wie der aktuelle state, wird das icon angezeigt.
Das ist ein Standardverhalten von FHEMWEB.

Kannst Du ganz einfach testen:

define testDummy dummy

set testDummy on
Ergebnis: Lampe wird "leuchtend" angezeigt

set testDummy off
Ergebnis: Lampe wird "ausgeschaltet" angezeigt

set testDummy bla
Ergebnis: Text "bla" wird angezeigt (weil es kein icon gibt, das bla heißt)





Ähnliches gilt übrigens für deviceName:
Leg mal spaßeshalber ein device mit dem Namen "on" an

define on dummy
 8)
Titel: Aw: Aus-STATE ohne Symbol
Beitrag von: Torxgewinde am 20 Juni 2025, 07:41:35
Was auch geht und ggf. besser verständlich ist, ist es das Icon mit Perl zu setzen. Es durchläuft dann nicht mehr den Codezweig zum Ersetzen mit einem Icon, sondern bleibt einfach so.

defmod testDummy dummy
attr testDummy devStateIcon { ReadingsVal($name, 'state', '???');; }

Es wird also Perl ausgeführt um das Icon zu ermitteln, der PerlCode in den geschweiften Klammern liest das eigene Reading 'state' und gibt den Wert unverändert zurück.