Anpassen von Icon - {zigbee2mqtt_devStateIcon255($name,'hex')}

Begonnen von Müller, 27 September 2019, 18:44:26

Vorheriges Thema - Nächstes Thema

Müller

Hallo, ist es eigentlich schwierig sich das Icon etwas anzupassen?

Die Icons {zigbee2mqtt_devStateIcon255($name)} und {zigbee2mqtt_devStateIcon255($name,'hex')} sind schon toll.
Eine Winzigkeit würde ich gerne verändern. Meine anderen Icons sind im ausgeschalteten Zustand alle grau. Nun würde ich gerne dies auch hier so machen, ABER würde gerne die restlichen Farben bzw. Helligkeit von {zigbee2mqtt_devStateIcon255($name,'hex')} beibehalten.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Du kannst den Code aus MQTT2_DEVICE kopieren und am besten unter einem anderen Namen in eine myUtils-file reinkopieren und nach Belieben verändern.

Siehe 99_myUtils-Artikel im Wiki. Aber bitte erst einlesen und selber probieren, bevor die nächsten Fragen dazu kommen ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

Hallo Beta-User,

danke dass du auch hier wieder Hilfe gebend zur Seite stehst. Könntest du bitte etwas konkreter angeben, wo der Code zu finden ist?

FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

Danke für die Hilfe. Leider muß ich hier feststellen, dass ich nicht in der Lage bin hier was selbst zu ändern.

Könnte man aus zwei readings (state & brightness) ein icon machen?
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Sorry, aber einen Perl-Grundkurs will ich daraus jetzt nicht machen.

Lies bitte zunächst mal die Perl-Specials in der commandref und schau dann den Code nochmal durch. Dann sollte dir klar sein, dass der Code automatisch den brightness-Wert mit verarbeitet, wenn er denn gesetzt ist (und kein Farbwert verwendet wird).

Zur Beruhigung: Perl lernt sich nicht in 3 Tagen FHEM-Anwendung, das dauert.

Aber wenn "off" einfach "grau" (bzw. "grey") sein soll, dann ist das wirklich ein Klacks. Schlicht den Code aus dem Modul nehmen, anderen Namen vergeben (, die Aufrufe in devStateIcon entsprechend ändern) und die heutige Zeile 725 dann so anpassen:
return '.*:off@grey:toggle';
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

danke für die Hilfe.

wenn ich in Zeile 723

  my $state = lc(ReadingsVal($name,"state","on@yellow"));


wird dann das icon generell gelb, außer wenn es aus ist ?
(in der jetzigen Form ist das icon grün, wenn brigthness kleiner 255 -  gelb fände ich logischer......)
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

...teste es doch aus... ::)
(Nein, das ist nicht die Lösung, man benötigt m.E. fast am Ende noch eine Zeile mit einer Abfrage/bedingten Änderung ;) , und nein, ich will das hier nicht posten)

Das Icon hat ohne Farbangabe (in Worten oder als HEX-Wert) die Hintergrundfarbe, und das ist so beabsichtigt (ich verwende einen dark-Style, da ist es orange, das paßt...). Wer das anders mag, muß halt "selbst ran" ;) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

ZitatDas Icon hat ohne Farbangabe (in Worten oder als HEX-Wert) die Hintergrundfarbe, und das ist so beabsichtigt (ich verwende einen dark-Style, da ist es orange, das paßt...).

Ich habe mal den dark style gestetet. Hier ist der gleiche Detailfehler. Nur wenn Brightness auf volle Pulle ist, dann ist das Icon orange.
Wenn die Lampe gedimmt ist, kommt bspw. das Icon "dim50%", welches dann weiß ist. Nach meiner Ansicht, wäre auch hier orange zu bevorzugen.....

ZitatWer das anders mag, muß halt "selbst ran" ;) .

Ich gebe dir hier voll Recht. Im meinem Fall werde ich dies mal zurückstellen, bis ich mehr gelernt habe.
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Hmm, mMn. ist der "Detailfehler" anders herum: Da du bei einer farbigen Lampe auch die Farbe angezeigt erhalten willst (wg. 2. Argument), sollte die Leuchte auch bei voll aufgedreht weiß sein ;) . Das ist ja die gewählte Farbe, oder?

Dazu dann Zeile 741 ändern und das "if($rgb ne "FFFFFF")" am Ende dort löschen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

#10
kuriöserweise bei meiner Farbirne

devStateIcon {zigbee2mqtt_devStateIcon255($name,'hex')}

ist das Icon immer in der richtigen Farbe. Auch bei Dimmstufe 50% ist es bspw. blau oder rot. (nur bei Off gibt es die defaultfarbe vom style)

bei meiner gedimmten Lampe

devstateIcon {zigbee2mqtt_devStateIcon255($name)}

ist nur bei 100% das icon gelb/orange (Farbe des aktiven Icons) sonst grün/weiß (Farbe des inaktiven Icons) ?
(Im Darkstyle ist dein Icon weiß, wenn die Lampe aus ist, weiß bei 50% gedimmt und orange bei 100% Leistung)

dh. bei der RGB wäre off@grey perfekt nur bei der Weißlampe müsste dim50% zu dim50%@yellow geändert werden (oder orange im dark style)
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

Hmm,

im Moment kann ich im Code nicht erkennen, dass er irgendeinen Farbwert vergibt, wenn das 2. Argument nicht verwendet wird. Kann sein, dass das auch an den Icons liegt, die du da im Hintergrund hast.

Du kannst den Rückgabewert leicht selbst testen, wenn du das in das Kommandofeld eingibst (bitte anpassen):
{zigbee2mqtt_devStateIcon255("<dein Device-Name>")}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

#12
Das sind die Rückgabewerte (in verschiedenen Zuständen) von der dimmbaren Birne

.*:dim50%:toggle

.*:off:toggle

.*:on:toggle


und bei der Farbirne

.*:dim56%:toggle  (blau)
.*:dim43%:toggle (rot)
FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung

Beta-User

qed: Ich sehe keinen Farbrückgabewert.

Dass da was farbig angezeigt wird, muß daher m.E. mit irgendwas anderem zu tun haben. Beim Durchsehen der SVG habe ich irgendwo gesehen, dass da zwar die dim50% usw. vorhanden sind (das sind die FS20-Glühbirnen mit einer grünen Level-Anzeige), aber auch bei mir werden dann letztendlich die Icons aus dem openautomation-Zweig angezeigt. Da scheint es also nochmal eine Übersetzung zu geben...?!? Vermutlich rührt dann auch die Farbe von dieser Weiterverarbeitung her.

Dann kann ich im Moment nicht weiterhelfen, evtl. bitte mal einen neuen Thread im FHEMWEB-Bereich aufmachen (mit Verweis auf hier). (Neu, damit Rudi das sieht, bitte nicht einfach verschieben).

Evtl. kann Rudi da was drehen (im einfachsten Fall ändern wir den devStateIcon-Code in MQTT2_DEVICE, dass gleich die openautomation-Icons angezeigt werden, dann können wir auch die "if-Abfrage" im Color-Zweig noch diskutieren, die mMn. eigentlich keinen Sinn macht).

Gruß, Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Müller

FHEM auf Raspberry, 433mHz & Zigbee für Rollläden, Gartenbewässerung, Beleuchtung, Fußbodenheizung