[GELÖST] - Color::devStateIcon in Perl devStateIcon

Begonnen von 87insane, 26 März 2020, 16:26:59

Vorheriges Thema - Nächstes Thema

Beta-User

Hmm, war das jetzt irgendwas, was irgendwo in die templates einfließen sollte...?
(Dann bitte in einem vollständigen Zusammenhang, wo es wie hingehört, sonst muß ich raten, und das geht gelegentlich schief).

Oder willst du das ers noch etwas beobachten, ob es tut wie gewünscht?
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

87insane

Denke das geht so....
Habe es bei mir bei allen LED Stripes oder Lichtern so eingefügt und setStateList angepasst auf die gewünschten Werte von rgb, Color usw. Klappen tut das bei Tasmota oder auch Shelly ohne Probleme.

Würde in allen Templates mit LED klappen. Der kleine grüne/gelbe/rote Punkt bliebe erhalten und man hat sogar das spezielle Farbige Icon mit Dim Anzeige.

Tasmota hattest du bereits geliefert. Anbei noch Shelly mit Ampel:
{ my $amp = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen";; my $light = Color::devStateIcon($name,"rgb","rgb","gain","state");; $light =~ s/.*:([^:]+):.*/$1/;; my $cons = ReadingsVal($name,"power","unknown");; my $show = "$amp" eq "gelb" ? "<a href=\"/fhem?cmd.dummy=set $name x_update&XHR=1\">".FW_makeImage("10px-kreis-".$amp)."</a>" : "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage("10px-kreis-".$amp)."</a>";; "<div> $show <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a> Aktuell: $cons W </div>" }

setStateList on off gain rgb

Anbei von der Lampe auch mal ein FHEM Bild.

Beta-User

Wenn du
Zitat von: 87insane am 27 März 2020, 14:13:35
setStateList on off gain rgb
das so brauchst, ist noch was schief. Da hat nur "on" "off" und ggf. "toggle" was verloren. Halt alles, was in "state" soll. Alles andere nicht.
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

87insane

Wenn ich COLOR richtig verstanden habe braucht er die Info immer kurz im Status. Ansonsten bleibt die kleine Lampe in FHEM bei Veränderung von z.B. Color aus, obwohl die Lampe in echt an ist.

Beta-User

Hmm, das muß ich testen, aber wenn, ist es mMn. eine unerwünsche Nebenwirkung.
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

87insane

Darauß habe ich das so gelesen, verstanden und deswegen auch getestet.

...In type kann zur Zeit rgb, dimmer oder switch übergeben werden. Im Reading für die Helligkeit wird neben den Werten 0-100 auch on und off verstanden.
Ein Beispiel für eine Lampe, die im Reading rgb die aktuell eingestellte Farbe und im Reading state on oder off enthalten kann...

Quelle: https://wiki.fhem.de/wiki/Color -> Farbige Lampen Icons

state ändert sich NICHT auf on/off wenn in setstatelist nicht auch rgb/color, oder wie es eben benannt wurde, drin steht und darüber der Einschalt-Befehl generiert wird.
Weiß nicht ob man versteht wie ich das meine aber es geht bei allen LED Lampen die ich habe genau wie beschrieben super. Habe keine Nebeneffekte feststellen können.

Beta-User

Na ja, ich hatte mit justme1968 zufällig neulich an Color::devStateIcon() rumgebastelt und meine weiter, das ist eine falsche Schlußfolgerung, die du da ziehst. "Spielgerät" war übrigens ein rgbw-Tasmota 8.1. Ich bin mir also einigermaßen sicher, dass das funktionieren sollte, ohne dass man an den falschen Dingen was dreht.

"state" sollte sich auf "on" ändern, wenn der Tasmota das Einschalten zurückmeldet(!). Ende. Wenn er das nicht tut, ist was anderes faul. Jedenfalls hat in setStateList nur was verloren, was mit state zu tun haben soll.
Daher solltest du nochmal nachsehen, was über welchen Topic reinkommt, wo es landet und nicht nochmal dieselbe FALSCHE Frage stellen...
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

87insane

Das Verhalten ist bei Tasmota und Shelly identisch. Weswegen ich glaube das es nicht an den Geräten liegen kann.
Ich weiß nicht warum über Aktivierung von RGB oder so eben KEIN on kommt. Dies passiert nur wenn.... steht ja alles schon da.

Keine Ahnung wonach ich da nun suchen soll.