Hauptmenü

02_RSS - RSS mit png

Begonnen von strauch, 17 April 2014, 11:13:16

Vorheriges Thema - Nächstes Thema

strauch

Hallo Boris,

dank betateilchens Workshop, dürfte jetzt die Anfragen an dich steigen :-). Ich würde mir wünschen PNG statt JPG auswählen zu können (Als Attribut). Da JPEG zur Darstellung von Grafiken und Text Aufgrund des Algorithmus ungeeignet ist. Hier dürfte PNG seine stärken ausspielen da es sowohl Bilder (im Gegensatz zu gif) als auch Grafiken (im Gegensatz zu jpg) perfekt darstellen kann. Ein "Hack" von betateilchen ( http://forum.fhem.de/index.php/topic,22519.msg159605.html#msg159605 ) habe ich schon ausprobiert und funktioniert soweit, lässt aber keine Auswahl zu.

Danke

strauch
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

betateilchen

Zitat von: strauch am 17 April 2014, 11:13:16
Ich würde mir wünschen PNG statt JPG auswählen zu können (Als Attribut).

Die Auswahl sollte nicht über ein Attribut gesteuert werden, sondern über den Typ des Ausgabeformates, den man ja jetzt schon im define mitgibt, der aber im gesamten Modul noch gar nicht ausgewertet wird.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#2
Ich hab da mal was vorbereitet...


Edit:

Da der vorgeschlagene Patch inzwischen im Modul 02_RSS.pm enthalten ist,
wurde er hier im Beitrag entfernt.

--- patch entfernt ---
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Wer sich für die Unterschiede im Ergebnis interessiert:

RSS definiert mit JPG als Ausgabeformat:

(http://up.picr.de/17990239iq.jpg)

der exakt gleiche RSS definiert mit PNG als Ausgabeformat:

(http://up.picr.de/17990240mp.png)

ich denke, die Vorteile von PNG sind nicht von der Hand zu weisen :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

strauch

Und die PNG Datei ist mit 26kb zu 37kb auch noch kleiner. Vermutlich nur noch durch SVG zu toppen :-).
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

betateilchen

Zitat von: strauch am 17 April 2014, 16:24:15
Vermutlich nur noch durch SVG zu toppen :-).

Ja, aber die GD Library, die in RSS zum Rendern benutzt wird, kann SVG (als output) nicht direkt - dazu braucht man dann wieder Zusatzmodule und das RSS Modul müsste umgestrickt werden. Dann würde jpg und png nicht mehr funktionieren. Ich denke, mit png wären wir schonmal qualitativ ein Stück weiter und das kann die bisherige Library auch out-of-the-box.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

adfasses1

Wo muss ich denn den Code von betateilchen einfügen ?

Da hakts bei mir gerade?  :-X

moonsorrox

Zitat von: adfasses1 am 26 Oktober 2014, 23:26:04
Wo muss ich denn den Code von betateilchen einfügen ?
der obige Code ist das Modul, den mußt du nicht einfügen... schau dir mal den RSS Workshop von Anfang genau an, da wird das beschrieben.
Hier oben wird nur der Unterschied zwischen jpg und png dargestellt, das war mal vor längerer Zeit ein Thema...
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

adfasses1

Das kann nicht das ganze Modul sein ?

Das Modul ist wesentlich größer und wenn ich es ersetze dann kommt eine Fehlermeldung "couldn't load RSS module"

moonsorrox

Zitat von: adfasses1 am 27 Oktober 2014, 01:07:50
Das kann nicht das ganze Modul sein ?

das kann schon sein das dort nur ein relevanter Codeteil dargestellt wird...
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

adfasses1

Ja wenn nur ein relevanter Teil dargestellt wird würde ich gerne wissen wo der eingefügt werden muss?!  ;D


Dr. Boris Neubert

Zitat von: adfasses1 am 27 Oktober 2014, 15:22:47
Ja wenn nur ein relevanter Teil dargestellt wird würde ich gerne wissen wo der eingefügt werden muss?!  ;D

N-i-r-g-e-n-d-s-!

Die aktuelle Version des Moduls kann png-Dateien out-of-the-box ausliefern.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

#13
@adfasses1

Es gibt ganz einfache Spielregeln für Moduländerungen und den dazugehörigen Prozess:


  • Irgendjemand hat eine Idee für eine Verbesserung - in diesem Fall der User "strauch"
  • Entweder der Modulautor oder jemand anderes denkt über den Verbesserungsvorschlag und seine mögliche Umsetzung nach - in diesem Fall hatte ich das getan.
  • Derjenige, der sich über die Umsetzung Gedanken gemacht hat, stellt einen Patch für das bestehende Modul bereit - hatte ich oben gemacht.
  • Der Modulautor (in diesem Fall Boris) kann nun darüber sinnieren, ob er die Änderung gut heißt, und wenn ja, baut er sie in das Modul ein.
  • In diesem Fall wurde das am 18.April 2014 gemacht und mit dem Hinweis "eingecheckt" bestätigt.

Seit 19. April 2014 ist die vorgeschlagene Änderung also fester Bestandteil des bestehenden RSS-Moduls und niemand muss sich mehr Gedanken darüber machen.

Manchmal kann man als Entwickler gar nicht so blöd denken, wie es bei den Anwendern kommt...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!