Hallo,
ich möchte mir einen Dummy Wert(Icon) auf meiner FTUI anzeigen lassen, das ganze geht hieraus hervor
https://forum.fhem.de/index.php/topic,92636.0.html
allerdings bekomme ich den Status nicht angezeigt auf der FTUI
Ich abe es sowohl mit dem Symbol wie auch mit dem Image Widget versucht, beim Image wird mir garnichts angezeigt, beim Symbol wird mir irgend ein "seltsames" Symbol angezeigt.
Habs grad mal noch so versucht:
Code: [Auswählen]
<div data-type="symbol" data-device="Anruferbild" data-states='["594948929","473993""]' data-icons='[594948929.png"]' ></div>
aber auch dann wird nichts angezeigt
Vieleicht hat da auch noch einer eine idee
Hi,
mir fallen auf den ersten Blick zwei Dinge auf:
1. Es sollten genauso viele icons wie states sein.
2. Bei data-icons fehlt ein "
Gruß,
Thorsten
Hi,
erstmal danke für deine Tips,
mir ist aber noch ein grundlegender Fehler aufgefallen, deshalb hab ich nochmal was geändert, der Code in der FTUI sieht jetzt so aus:
<td>
<div data-type="symbol" data-device="Anruferliste" data-get="external_number" data-states='["0151xxxxx7"]' data-icons='["0151xxxxx7.png"]' ></div>
</td>
Die .png Dateien liegen unter /opt/fhem/www/images/default/
Die Anruferliste sieht so aus:
Internals:
DEF 192.168.188.1
DeviceName 192.168.188.1:1012
FD 14
NAME Telefon
NOTIFYDEV global
NR 253
NTFY_ORDER 50-Telefon
PARTIAL
STATE opened
TYPE FB_CALLMONITOR
READINGS:
2018-11-04 20:48:22 call_duration 0
2018-11-04 20:48:22 call_id 0
2018-11-04 20:48:22 direction incoming
2018-11-04 20:48:22 event disconnect
2018-11-04 20:48:22 external_connection SIP2
2018-11-04 20:48:22 external_name Thomas xyz
2018-11-04 20:48:22 external_number 0151xxxx7
2018-11-02 18:40:26 internal_connection Answering_Machine_1
2018-11-04 20:48:22 internal_number 02xxxxxxx0
2018-11-04 20:48:22 missed_call 0151xxxx7 (Thomas Halberstadt)
2015-12-11 17:25:13 missed_call_line 02xxxxxxx0
2018-11-06 18:36:46 state opened
helper:
PHONEBOOKS:
0:
Die idee ist ja das mir zu jeder nummer das richtige Anruferbild angezeigt wird, aber irgendwie klappt das leider noch nicht
Hi,
möglicherweise wird die Telefonnummer auch als Zahl interpretiert, was irgendeine Sonderbehandlung erfährt. Nimm mal versuchsweise den Namen.
Gruß,
Thorsten
Hab ich grade schon versucht, leider kein Unterschied zu vorher
Vielleicht liegt's auch daran, dass das Device "Telefon" heißt und nicht "Anruferliste"...
Das ist absolut richtig ???
Leider trotzdem keine Besserung, es wird nichts angezeigt
div data-type="symbol" data-device="Telefon" data-get="external_name" data-states='["Thomas xyz"]' data-icons='["0151xxx7.png"]' ></div>
Was mir jetzt erst kommt: Das mit den Icons funktioniert so nicht. Das musst Du entweder so machen wie hier beschrieben:
https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Icons
...oder das Image Widget nehmen:
https://wiki.fhem.de/wiki/FTUI_Widget_Image
Hi,
auch damit bekomme ich es nicht hin, wenn ich es richtig verstehe wie es hier steht https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Icons
dann muss ich ja in den head meiner Seite folgendes einbauen
<style type="text/css">
.logo-fhem {
background: href="/fhem/images/default no-repeat;
width: 120px;
height: 132px;
background-size: contain;
}
</style>
unter /fhem/images/default liegen die Bilder
Im Body würde es dann so aussehen
<div data-type="symbol" data-device="Telefon" data-get="external_number" data-states='["0151xxxxx7"]' data-icon="logo-fhem" ></div>
was aber ja eigentlich nicht funktionieren kann, denn wie soll da die Zuordnung des Bildes zu der Nummer funktionieren.
Unter https://wiki.fhem.de/wiki/FTUI_Widget_Image finde ich keine passende möglichkeit für mein Anliegen
Hi,
ok, da fehlen Dir wohl eine ganze Menge Grundlagen. Zuerst einmal wird CSS, HTML und JavaScript vom Browser verarbeitet. D.h. interne Pfade des Servers können gar nicht gehen. Außerdem braucht man für ein Hintergrundbild ("backgriund") den vollständigen Pfad zum Bild.
...aber egal erstmal.
Ich würde das folgendermaßen angehen:
1. Lege die Bilder so ab, dass sie über eine URL vom Browser aus erreichbar sind. Ausprobieren!
2. Bastle Dir ein userreading oder ähnliches, in das Du die URL abhängig von der Nummer einträgst. D.h. erledige die Ermittlung der URL im Backend.
3. Das neue Reading verwendest Du dann im Image Widget.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 07 November 2018, 09:28:32
Hi,
ok, da fehlen Dir wohl eine ganze Menge Grundlagen. Zuerst einmal wird CSS, HTML und JavaScript vom Browser verarbeitet. D.h. interne Pfade des Servers können gar nicht gehen. Außerdem braucht man für ein Hintergrundbild ("backgriund") den vollständigen Pfad zum Bild.
...aber egal erstmal.
Ich würde das folgendermaßen angehen:
1. Lege die Bilder so ab, dass sie über eine URL vom Browser aus erreichbar sind. Ausprobieren!
2. Bastle Dir ein userreading oder ähnliches, in das Du die URL abhängig von der Nummer einträgst. D.h. erledige die Ermittlung der URL im Backend.
3. Das neue Reading verwendest Du dann im Image Widget.
Gruß,
Thorsten
Hi, zu 1, das versteh ich nicht ganz, der Browser kann doch auch die lokalen html Seiten aufrufen, die die einzelnen FTUI Seiten darstellen, wieso geht das mit den Bildern nicht?
Zu 2. dann wären wir wohl wieder hier wo ich nicht wirklich weiter komme https://forum.fhem.de/index.php/topic,92636.msg854698.html#msg854698
Zitat von: Tommy82 am 07 November 2018, 18:54:20
Hi, zu 1, das versteh ich nicht ganz, der Browser kann doch auch die lokalen html Seiten aufrufen, die die einzelnen FTUI Seiten darstellen,
Der Browser kann vielleicht schon "lokale" Seiten anzeigen, also solche, die auf demselben Rechner liegen, auf dem auch der Browser läuft. Das ist hier aber (mindestens konzeptionell) nicht so. Du hat wahrscheinlich auf irgendeinem Laptop/Telefon/Tablet den Browser laufen, aber FHEM auf einem RasPi oder so. Die FTUI-Seiten und auch die Bilder liegen auf dem RasPi. Dein Browser kann nicht wirklich auf die Dateien des RasPi zugreifen! Er bekommt nur das geliefert, was der Server (also der RasPi) liefern will.
Zitat
wieso geht das mit den Bildern nicht?
Weil Du dem Browser keine URL zu den Bildern gibst, sondern einen Dateinamen, der nur auf dem Dateisystem des RasPi sinnvoll ist. (...also zumindest mal im Prinzip.)
Zitat
Zu 2. dann wären wir wohl wieder hier wo ich nicht wirklich weiter komme https://forum.fhem.de/index.php/topic,92636.msg854698.html#msg854698
Na da gehst Du aber auch gleich wieder einen Schritt weiter. Mach das ganze doch erst einmal mit einer Nummer. Wenn das klappt, dann kann man das immer noch erweitern.
Ich bin mir ganz sicher, dass das Image-Widget hier zielführender ist als alles andere.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 07 November 2018, 09:28:32
Hi,
ok, da fehlen Dir wohl eine ganze Menge Grundlagen. Zuerst einmal wird CSS, HTML und JavaScript vom Browser verarbeitet. D.h. interne Pfade des Servers können gar nicht gehen. Außerdem braucht man für ein Hintergrundbild ("backgriund") den vollständigen Pfad zum Bild.
...aber egal erstmal.
Ich würde das folgendermaßen angehen:
1. Lege die Bilder so ab, dass sie über eine URL vom Browser aus erreichbar sind. Ausprobieren!
Gruß,
Thorsten
Also ich hänge immer noch hier, auch an der logik, die Bilder liegen doch auf dem gleichen Server wie die FTUI HMTL Seiten die der Browser darstellt, damit sollen sich doch die Bilder wenn sie in der FTUI HTML angegeben sind aufrufen lassen!?mIN HTML wäre das doch z.b. <img src="Bild.jpg"> !?in der FTUI müsste es doch über https://wiki.fhem.de/wiki/FTUI_Widget_Image#Dynamische_URL
gehen!?
Zitat von: Tommy82 am 13 Dezember 2018, 20:11:38
Also ich hänge immer noch hier, auch an der logik, die Bilder liegen doch auf dem gleichen Server wie die FTUI HMTL Seiten die der Browser darstellt, damit sollen sich doch die Bilder wenn sie in der FTUI HTML angegeben sind aufrufen lassen!?
Diese Schlussfolgerung verstehe ich nicht.
ZitatmIN HTML wäre das doch z.b. <img src="Bild.jpg"> !?
Das kann schon funktionieren. "Bild.jpg" muss halt auf dem Server im richtigen Pfad liegen. Wenn es sich um eine "Standard"-FTUI-Seite handelt, dann wahrscheinlich im Verzeichnis /opt/fhem/www/tablet.
Zitat
in der FTUI müsste es doch über https://wiki.fhem.de/wiki/FTUI_Widget_Image#Dynamische_URL
gehen!?
Wahrscheinlich, wenn die Bilder im Verzeichnis /opt/fhem/www/images/TVSender liegen.
Aber vielleicht fängst Du wirklich mal vorne an. Mach Dir mal ein Verzeichnis entweder unterhalb von /opt/fhem/www/images oder /opt/fhem/www/tablet und lege dort ein paar Bilder rein. Diese müsstest Du dann entweder mit http://<ip>:<port>/fhem/ftui/<verzeichnis>/<bild-datei> oder http://<ip>:<port>/fhem/images/<verzeichnis>/<bild-datei> aufrufen können.
Als Beispiel kannst Du auch mal diese URL versuchen: http://<ip>:<port>/fhem/images/default/Shutdown.png
Das müsste einen kleinen roten "Aus"-Knopf zeigen.
Wenn das funktioniert, dann sehen wir weiter.
Gruß,
Thorsten
Zitat von: Tommy82 am 13 Dezember 2018, 20:11:38
IN HTML wäre das doch z.b. <img src="Bild.jpg">
So kannst du es auch in einer FTUI-Seite einbinden.
Zitat von: Thorsten Pferdekaemper am 13 Dezember 2018, 21:14:04
Aber vielleicht fängst Du wirklich mal vorne an. Mach Dir mal ein Verzeichnis entweder unterhalb von /opt/fhem/www/images oder /opt/fhem/www/tablet und lege dort ein paar Bilder rein. Diese müsstest Du dann entweder mit http://<ip>:<port>/fhem/ftui/<verzeichnis>/<bild-datei> oder http://<ip>:<port>/fhem/images/<verzeichnis>/<bild-datei> aufrufen können.
Als Beispiel kannst Du auch mal diese URL versuchen: http://<ip>:<port>/fhem/images/default/Shutdown.png
Das müsste einen kleinen roten "Aus"-Knopf zeigen.
Wenn das funktioniert, dann sehen wir weiter.
Gruß,
Thorsten
Hallo,
also das funktioniert:
http://192.168.188.47:8085/fhem/images/default/Shutdown.png
und auch ein
http://192.168.188.47:8085/fhem/www/tablet/Anrufe/015532526366.jpg
funktioniert.
Wäre dann die anzeige in der FTUI?
<div data-type="image" data-url="http://192.168.188.47:8085/fhem/www/tablet/Anrufe/015532526366.jpg" data-size="100px"></div>
Habs so mal probiert und damit wird mir das entsprechende Buld auch angezeigt, nur wie ordne ich das Bild jetzt dem jeweiligen Anrufer zu?
Hi,
ich kann mir vorstellen, dass es so geht:
<div data-type="image"
data-device="Telefon"
data-get="external_number"
data-path="http://192.168.188.47:8085/fhem/www/tablet/Anrufe/"
data-suffix=".jpg"
data-size="100px"></div>
Wenn das klappt, dann versuch mal den ersten Teil der URL wegzulassen, also
data-path="/fhem/www/tablet/Anrufe/"
Das ist dann stabiler für spätere Änderungen.
Gruß,
Thorsten
Hi,
erstmal vielen Dank für deine geduldige Hilfe, jetzt sieht es irgendwie so einfach aus, denn es funktioniert alles:-)
Ich musste nur noch vom Device Telefon auf Anruferliste und die entsprechenden readings umstellen und schon ist es so wie es sein sollte.
Nochmal vielen Dank
MFG
Thomas
Hi,
muss das dann doch nochmal fragen, es gibt ja anrufer wo ich noch kein Bild zu eingpflegt habe, dort würde ich gerne ein Standart Bild Namens John_Doo.jpg anzeigen lassen, aber wie kann ich das jetzt noch einfügen?
Danke
Hi,
dazu fällt mir nur ein, das im Backend zu erledigen. D.h. ein Reading (vielleicht mit userReadings) zu machen, das weiß, für was es Nummern gibt und dann bei "nicht bekannt" John_Doo reinschreibt.
Gruß,
Thorsten