Hauptmenü

Aus-STATE ohne Symbol

Begonnen von Marko1976, 15 Juni 2025, 11:42:30

Vorheriges Thema - Nächstes Thema

Marko1976

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.

TomLee

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

juemuc

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}
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).

Marko1976

Danke erstmal.
Wo ist denn das Lampensymbol festgelegt, das würde mich auch mal interessieren?

betateilchen

#4
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)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Torxgewinde

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.