FHEM Forum

FHEM => Frontends => RSS => Thema gestartet von: sig10680 am 04 Januar 2020, 12:37:52

Titel: RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 04 Januar 2020, 12:37:52
Hallo,

ich nutze schon seit einigen Jahren den RSS Feed um diverse Bildschirme zu erstellen.
Jetzt habe ich mir ein kleines Widget für mein Smartphone Programmiert das, das Bild (png) im Widget anzeigt. Wie bekomme ich es hin das ich einen Transparenten Hintergrund habe.? Oder geht dies technisch überhaupt nicht!

Mfg Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 04 Januar 2020, 12:58:28
Hallo Tobias,

geht es darum, eine Datei im PNG mit transparentem Hintergrund zu erstellen, oder wie diese über das erzeugte Bild angezeigt wird? Wenn das PNG einen transparenten Teil hat, müsste die im RSS-Modul verwendete Bibliothek das eigentlich so anzeigen. Was ist das Problem?

Viele Grüße
Boris

Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 04 Januar 2020, 13:06:41
Ich habe die Datei/Bild mit angehängt. Also ich hätte gern das alles was im Hintergrund jetzt weiß ist alles Transparent ist. Damit ich das erzeugte Bild in meinen Widget verwenden kann und das Hintergrundbild meine Smartphones durchleuchtet.

Ich hoffe ich habe es einigermaßen gut ausgedrückt!
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 04 Januar 2020, 13:10:57
Ach so, es geht um das finale Bild, das RSS erzeugt.

Es müsste mit

attr DeinRSS bgcolor FFFFFF7F

gehen.

Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 04 Januar 2020, 13:17:16
Zitat von: Dr. Boris Neubert am 04 Januar 2020, 13:10:57
Ach so, es geht um das finale Bild, das RSS erzeugt.

Es müsste mit

attr DeinRSS bgcolor FFFFFF7F

gehen.

Nein leider nicht, das habe ich auch schon getestet.

hier mal ein List von dem Device
Internals:
   .embed     
   CFGFN     
   DEF        png 192.168.0.185 /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   FUUID      5e0a4322-f33f-66a9-3a1d-996a1c0f90a6ff99
   LAYOUTFILE /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   NAME       APP_Temp_Aussen_RSS_320x240
   NOTIFYDEV  global
   NR         2078
   NTFY_ORDER 50-APP_Temp_Aussen_RSS_320x240
   STATE      Sat Jan  4 13:15:44 2020
   TYPE       RSS
   fhem:
     bgnr       0
     counter    409
     filename   /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
     hostname   192.168.0.185
     layout     #Schriftart festlegen
font /usr/share/fonts/truetype/msttcorefonts/arial.ttf
#font /usr/share/fonts/truetype/msttcorefonts/arialbd.ttf
rgb "000000"
# waagerechte Linien
line 0  25 320  25
#line 0 133 320 133
#line 0 640 720 640
#line 0 940 720 940
# senkrechte Linien
#line 160 25 160 240
# wir bauen uns eine Kopfzeile
# Schriftgroesse festlegen
pt 14
#date  10 30
time  5 20
rgb "000000"
text 110  20 "Temperatur Aussen"
pt 50
rgb "666666"
text 25 80 "Terrasse"
pt 55
rgb "000000"
text 80 150 {(ReadingsVal("MA_Terrasse","temperature",""))."�C" }
pt 55
rgb "666666"
text 80 220 {(ReadingsVal("MA_Terrasse","humidity",""))." %" }
#Plot einbinden
#img  0 100 0.40 png data { plotAsPng("SVG_FileLog_MA_Terrasse_1") }
     style      png
     t          1578140144.7895
     useTextAlign 1
     useTextWrap 1
Attributes:
   bgcolor    FFFFFF7F
   room       RSS
   size       320x240


Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 04 Januar 2020, 14:29:01
Hmm. Wenn Du bgcolor 000000 setzt, wird dann der Hintergrund schwarz?
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 04 Januar 2020, 14:34:12
Zitat von: Dr. Boris Neubert am 04 Januar 2020, 14:29:01
Hmm. Wenn Du bgcolor 000000 setzt, wird dann der Hintergrund schwarz?

Ja da wird es Schwarz.
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 04 Januar 2020, 14:36:37
Kann denn das Widget auf dem Smartphone überhaupt mit Transparenz umgehen? Hast Du mal ein Bild mit Transparenz selbst erstellt und das versucht, anzuzeigen?
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 04 Januar 2020, 14:39:46
Ja das geht.
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 05 Januar 2020, 09:56:42
Hallo,

das Problem besteht in 02_RSS.pm in der Art, wie das Bild neu als True Color Image erzeugt wird. Ich habe jetzt anderthalb Stunden herumprobiert, bis ich eine funktionierende Aufrufsequenz gefunden habe.

Kannst Du bitte mal die beigefügte Version testen?

Viele Grüße
Boris

Edit: Anhang entfernt
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 05 Januar 2020, 12:07:42
Zitat von: Dr. Boris Neubert am 05 Januar 2020, 09:56:42
Hallo,

das Problem besteht in 02_RSS.pm in der Art, wie das Bild neu als True Color Image erzeugt wird. Ich habe jetzt anderthalb Stunden herumprobiert, bis ich eine funktionierende Aufrufsequenz gefunden habe.

Kannst Du bitte mal die beigefügte Version testen?

Viele Grüße
Boris

Hallo, danke vorab ich werde mal eben das Testen

mfg Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 05 Januar 2020, 12:14:00
So ich habe die neue 02_RSS.pm in meinen System eingepflegt und mit Reload die Datei geladen.
Desweiteren habe ich bgcolor FFFFFF7F gesetzt. das ergebnis bleibt aber das gleiche.....


mfg Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 05 Januar 2020, 19:33:28
Okay, ich sehe, was passiert. Nur die erste Auslieferung ist transparent. Ich gehe der Sache nach.

Hier zum Abgleich meine Definition:

define FrameRSS RSS png HOSTNAME layout-transparent
attr FrameRSS bgcolor 0000007f
attr FrameRSS refresh 5



font /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf

rgb c0c0c0                      # HTML color notation, RGB
pt 18
date 25 470
pt 48                           # font size in points
time 20 525                     # time @ (0.1*width, 0.9*height)
rgb "ff0000"
pt 18
text 0.1 0.1 { $defs{"FrameRSS"}{fhem}{counter} }
textboxf 0.5 0.5 100 "80ff0040" "Blubber"
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 05 Januar 2020, 19:42:55
Super Danke!

Schönen Sonntag noch!

mfg Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 06 Januar 2020, 11:29:24
Hallo Tobias,

die GD-Library hat das Problem, dass das zweite und weitere Bilder keine Transparenz annehmen. Ich habe nun einen komischen Code eingebaut, der als Workaround aber bei mir funktioniert. Bitte finde anbei die aktualisierte Version mit der Bitte um Test.

Viele Grüße
Boris

Edit: Anhang entfernt
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 06 Januar 2020, 12:50:13
Zitat von: Dr. Boris Neubert am 06 Januar 2020, 11:29:24
Hallo Tobias,

die GD-Library hat das Problem, dass das zweite und weitere Bilder keine Transparenz annehmen. Ich habe nun einen komischen Code eingebaut, der als Workaround aber bei mir funktioniert. Bitte finde anbei die aktualisierte Version mit der Bitte um Test.

Viele Grüße
Boris

Hallo,

wenn ich heute Abend wieder zuhause bin werde ich es testen und berichten!


mfg Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 06 Januar 2020, 16:52:07
Zitat von: Dr. Boris Neubert am 06 Januar 2020, 11:29:24
Hallo Tobias,

die GD-Library hat das Problem, dass das zweite und weitere Bilder keine Transparenz annehmen. Ich habe nun einen komischen Code eingebaut, der als Workaround aber bei mir funktioniert. Bitte finde anbei die aktualisierte Version mit der Bitte um Test.

Viele Grüße
Boris

So ich bin jetzt dazu gekommen zu Testen, leider stürzt mein FHEM direkt nach dem Reload des Modules ab. Habe auch einen Kompletten Neustart probiert, aber das gleiche. FHEM Startet dann nicht mehr.!

MFG Tobias

Meldung im Log:
2020.01.06 16:31:34 1: PERL WARNING: Subroutine plotFromUrl redefined at ./FHEM/02_RSS.pm line 1093.
Can't call method "jpeg" on an undefined value at ./FHEM/02_RSS.pm line 1045.
2020.01.06 16:32:28 1: SipCall2[24114], can´t find my parent 24068 in process list !
Died at ./FHEM/96_SIP.pm line 386.
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 06 Januar 2020, 17:48:37
Hallo,

hatte noch Debugging-Reste übersehen. Sorry.

Allerdings führt bei mir die letzte Version zu Falschfarben-Bildern. Ich habe jetzt mal auf Palette-basierte Bilder umgestellt. Damit bekomme ich sowohl die Transparenz hin als auch sehen meine Bilder im Fotorahmen immer noch adrett aus.

Anbei die neue Version mit der Bitte um Test.

Viele Grüße
Boris
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 06 Januar 2020, 19:40:50
Zitat von: Dr. Boris Neubert am 06 Januar 2020, 17:48:37
Hallo,

hatte noch Debugging-Reste übersehen. Sorry.

Allerdings führt bei mir die letzte Version zu Falschfarben-Bildern. Ich habe jetzt mal auf Palette-basierte Bilder umgestellt. Damit bekomme ich sowohl die Transparenz hin als auch sehen meine Bilder im Fotorahmen immer noch adrett aus.

Anbei die neue Version mit der Bitte um Test.

Viele Grüße
Boris

So ich habe die neue Version erneut getestet, aber ich meine das Bild ist immer noch nicht Transparent (siehe Anhang) oder ich habe einen Denkfehler!

Meine bgcolor 0000007f!

Ich habe mein Bild angehängt!

mfg Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 06 Januar 2020, 19:58:20
Hallo Tobias,

ja, da ist keine Transparenz. Jetzt bin ich ratlos.

Wir haben dasselbe Modul, dasselbe Layout und dieselbe Definition vom RSS-Device. Oder? Kannst Du bitte mal eine Definition posten (list DeinRSSDevice)?

Viele Grüße
Boris
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 06 Januar 2020, 19:59:16
Noch eine Frage bitte: welches System?
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 06 Januar 2020, 20:07:11
Zitat von: Dr. Boris Neubert am 06 Januar 2020, 19:59:16
Noch eine Frage bitte: welches System?

hier ein list
Internals:
   .embed     
   DEF        png 192.168.0.185 /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   FUUID      5e0a4322-f33f-66a9-3a1d-996a1c0f90a6ff99
   LAYOUTFILE /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
   NAME       APP_Temp_Aussen_RSS_320x240
   NOTIFYDEV  global
   NR         843
   NTFY_ORDER 50-APP_Temp_Aussen_RSS_320x240
   TYPE       RSS
   READINGS:
   fhem:
     bgnr       1
     counter    37
     filename   /mnt/usb/fhem/rss/rss_320x240_app_aussen.layout
     hostname   192.168.0.185
     layout     font /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
rgb c0c0c0                      # HTML color notation, RGB
pt 18
date 25 470
pt 48                           # font size in points
time 20 525                     # time @ (0.1*width, 0.9*height)
rgb "ff0000"
pt 18
text 0.1 0.1 { $defs{"APP_Temp_Aussen_RSS_320x240"}{fhem}{counter} }
textboxf 0.5 0.5 100 "80ff0040" "Blubber"
     style      png
     t          1578337251.88723
     useTextAlign 1
     useTextWrap 1
Attributes:
   bgcolor    0000007f
   room       RSS
   size       320x240



System ist eine Raspberry 3 mit Debian Jessi
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 06 Januar 2020, 20:22:08
Was für ein Computer und was für ein Betriebssystem?
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 06 Januar 2020, 20:23:43
Zitat von: Dr. Boris Neubert am 06 Januar 2020, 20:22:08
Was für ein Computer und was für ein Betriebssystem?

System ist eine Raspberry 3 mit Debian Jessi
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 08 Januar 2020, 07:16:26
Hallo,

so ich habe es nochmal auf meinen anderen Pi mit FHEM probiert, es besteht aber weiterhin das gleiche Problem.
Was könnte ich noch testen?

Habe auch alle relevanten Pakete in Debian Installiert.
   
libgd-graph-perl
libgd-text-perl
libimage-librsvg-perl
libxml-simple-perl

diese sind auch aktuell.

mfg Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 08 Januar 2020, 18:26:39
Hallo, will es selbst auf Raspberry testen, bin aber noch nicht dazugekommen. Viele Grüße, Boris
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 08 Januar 2020, 19:23:42
Zitat von: Dr. Boris Neubert am 08 Januar 2020, 18:26:39
Hallo, will es selbst auf Raspberry testen, bin aber noch nicht dazugekommen. Viele Grüße, Boris

Hallo, ist okey Danke.

MfG Tobias
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: Dr. Boris Neubert am 18 Januar 2020, 17:32:03
Hallo,

ich habe jetzt noch eine Weile herumprobiert und es ist mir nicht gelungen, das gewünschte Ergebnis herzustellen. Das erste Bild nach Programmstart hat Transparenz. Bei den weiteren Bildern fehlt entweder die Transparenz oder die überblendeten Bilder zeigen Falschfarben.

Ich kann das Problem soweit einengen, dass es entweder mit den überblendeten Bildern (img im Layout) oder mit einem "Gedächtnis" der verwendeten GD-Library zu tun hat. Ich bin geneigt, dass für einen Bug in der Library zu halten.

Ende vom Lied: es geht nicht.

Das tut mir leid.

Viele Grüße
Boris
Titel: Antw:RSS und Transparenter Hintergrund
Beitrag von: sig10680 am 20 Januar 2020, 15:48:22
Zitat von: Dr. Boris Neubert am 18 Januar 2020, 17:32:03
Hallo,

ich habe jetzt noch eine Weile herumprobiert und es ist mir nicht gelungen, das gewünschte Ergebnis herzustellen. Das erste Bild nach Programmstart hat Transparenz. Bei den weiteren Bildern fehlt entweder die Transparenz oder die überblendeten Bilder zeigen Falschfarben.

Ich kann das Problem soweit einengen, dass es entweder mit den überblendeten Bildern (img im Layout) oder mit einem "Gedächtnis" der verwendeten GD-Library zu tun hat. Ich bin geneigt, dass für einen Bug in der Library zu halten.

Ende vom Lied: es geht nicht.

Das tut mir leid.

Viele Grüße
Boris


Hallo, ist doch nicht so schlimm.
Ich habe einen anderen Weg gefunden wie ich es am besten umsetzen kann.
Ich nutze das Linux Programm Imagemagick. Per Script lade ich mir das RSS png Bild, dieser wandelt mir den weißen Hintergrund in Transparent um und Speichert mir das Bild alle zb. 10 min. Vorteil dieser Methode ist außerdem wenn einige Handys das Bild nutzen wird nicht so viel Last auf dem FHEM System erzeugt, weil das Bild auf einen anderen Server oder so liegt.  Das Bild kann ich dann in meiner App (auf meinen Homescreen als Widget nutzen).

Danke für die Bemühungen!

Mfg Tobias