[gelöst] Platzhalter Bild

Begonnen von Mad, 27 Mai 2020, 19:57:28

Vorheriges Thema - Nächstes Thema

Mad

Hallo zusammen,
ich bräuchte einen Denkanstoß für folgendes Problem.
Ich habe ein Musikwidget, was entsprechend eines readings das Coverbild lädt und in Ftui anzeigt.
Ist die Musikanlage aus, gibt es entsprechend kein reading und so wird ein unschönes "img" im Ftui als Coverbild angezeigt.
Nun möchte ich, dass, wenn die Musikanlage aus ist, ein anderes Bild (z.B. das der Musikanlage) angezeigt wird.
So sieht der code aus.

<div data-type="image" data-device="BOSE_68C90BXXXXX" data-get="art" data-size="100px" data-refresh="5" class="top-space"></div>

Und hier liegt das Platzhalterbild:
../images/bose.png

Ich habe schon manches versucht, dummy, userreadings, doifs. Komme aber leider nicht zum Ziel.

Danke für eure Hilfe

TWART016

Zitat von: Mad am 27 Mai 2020, 19:57:28
Hallo zusammen,
ich bräuchte einen Denkanstoß für folgendes Problem.
Ich habe ein Musikwidget, was entsprechend eines readings das Coverbild lädt und in Ftui anzeigt.
Ist die Musikanlage aus, gibt es entsprechend kein reading und so wird ein unschönes "img" im Ftui als Coverbild angezeigt.
Nun möchte ich, dass, wenn die Musikanlage aus ist, ein anderes Bild (z.B. das der Musikanlage) angezeigt wird.
So sieht der code aus.

<div data-type="image" data-device="BOSE_68C90BXXXXX" data-get="art" data-size="100px" data-refresh="5" class="top-space"></div>

Und hier liegt das Platzhalterbild:
../images/bose.png

Ich habe schon manches versucht, dummy, userreadings, doifs. Komme aber leider nicht zum Ziel.

Danke für eure Hilfe

Wie wäre es mit einem userreading um das abzufangen. Das neue reading dann in ftui angeben.

Mad

Habe es mit diesem userreading erfolglos versucht
Platzhalter {ReadingsVal ("BOSE_68C90BXXXXX","art","../images/bose.png")}

TWART016

Zitat von: Mad am 27 Mai 2020, 21:11:16
Habe es mit diesem userreading erfolglos versucht
Platzhalter {ReadingsVal ("BOSE_68C90BXXXXX","art","../images/bose.png")}

Wie sieht denn das Reading Platzhalter und art nun aus?

Ansonsten probiere mal die data-hide Attribute.


Mad

Die beiden readings sind dentisch. Wenn die Anlage an ist, ist in beiden readings eine url, wenn sie aus ist, sind beide readings leer.
Wie soll es denn mit data-hide funktionieren?

TWART016

Das Ziel ist ein reading zu erhalten, welches die korrekte URL in beiden Fällen anzeigt. Vermutlich muss mit einem if in dem userreading gearbeitet werden.

In fhem Tablet UI wiki gibt es die attribute bei dem Bereich image. Es wird das Bild nicht angezeigt, wenn ein reading einen bestimmten wert hat. Ein anderes Bild wird jedoch dargestellt, sobald ein reading einen bestimmten wert besitzt. Ohne zu wissen wie deine Geräte, kann das nur schwierig gesagt werden.

Im forum gibt es etliche Themen zu data-hide. Das Prinzip ist bei allen widgets gleich.

yersinia

Warum nicht zwei image widgets mit entgegengesetztem hide-on? Es gibt doch sicher einen state o.ä., der anzeigt ob das device on oder off ist. Beispielhaft könnte das so aussehen?
<div data-type="image"
     data-device="BOSE_68C90BXXXXX"
     data-get="art"
     data-size="100px"
     data-refresh="5"
     data-hide="STATE"
     data-hide-on="!on"
     data-hide-off="on"
     class="top-space"></div> <!-- hide wenn device ist off -->
<div data-type="image"
     data-device="BOSE_68C90BXXXXX"
     data-url="link/zu/images/bose.png"
     data-size="100px"
     data-refresh="900"
     data-hide="STATE"
     data-hide-on="on"
     data-hide-off="!on"
     class="top-space"></div> <!-- hide wenn device ist on -->
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

MadMax-FHEM

Ich denke es funktioniert schon mit dem userReadings...

Allerdings ist bei dir ein "Denkfehler" drin:

Zitat
Platzhalter {ReadingsVal ("BOSE_68C90BXXXXX","art","../images/bose.png")}

Der 3te Parameter bei ReadingsVal bedeutet NICHT, dass ein Ersatzwert genommen wird, wenn das Reading LEER ist sondern wenn es NICHT DA ist.
Es ist aber ja DA, daher wird NICHT der Ersatzwert genommen sondern eben auch "LEER" ;)


Platzhalter {if(ReadingsVal("BOSE_68C90BXXXXX","art","n.a.") eq ""){return "../images/bose.png"}else{return ReadingsVal("BOSE_68C90BXXXXX","art","../images/bose.png")}}


In dem Fall sollte in Platzhalter entweder das Bose Bild kommen, wenn das Reading "art" GAR NICHT DA IST (Ersatzwert) oder eben wenn es "LEER" ist (eq "")...

Jetzt steht in Platzhalter eigentlich immer drin was du willst!?

Ob dann Platzhalter noch der richtige Begriff/Readingname ist musst du wissen ;)

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)

Mad

Das war es! Das userreading von MadMax-FHEM funktioniert bestens und ist schön schlank!
Vielen Dank dafür. Allen anderen natürlich auch!

MadMax-FHEM

Naja ein "gerbochenes" Bild heißt doch, dass das Bild nicht gefunden wird, oder!?

Das meinst du doch!?

Tja, dann ist evtl. der Pfad (je nach "Umgebung") nicht korrekt oder das Bild schlicht "nicht da"...

Weil du ja "relative Pfade" angibst!?
Und da kommt es eben drauf an "wo" "man" gerade "steht"...
...ist aber nur eine "vage Vermutung", kenne TabletUI nicht, wollte nur bei dem "konkreten Problem" mit dem "Ersatzpfad" helfen... ;)

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)

Mad

Es funktioniert, wie es soll. Hatte dem Tablet den Internetzugang verboten :-)

MadMax-FHEM

Na dann...

Pack doch bitte ein [gelöst] vor den ersten Post, danke.

Viel Spaß, 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)