Fehler in 02_RSS

Begonnen von Alexander Bauer, 06 März 2013, 23:24:57

Vorheriges Thema - Nächstes Thema

Alexander Bauer

Hallo,

heute einmal das Update durchgeführt und FHEM will nicht

Can't call method "width" on an undefined value at ./FHEM/02_RSS.pm line 204.
Can't call method "jpeg" on an undefined value at ./FHEM/02_RSS.pm line 450.

Zurück auf ein Backup von 10. Februar und das RSS Modul führt nicht zum Abbruch von FHEM.

Wo soll ich weitersuchen?
--

Fhem auf Cubietruck mit Debian Wheezy und Homematic und 1-Wire

Dr. Boris Neubert

Hallo Amatic,
Zitat von: Amatic schrieb am Mi, 06 März 2013 23:24heute einmal das Update durchgeführt und FHEM will nicht

Can't call method "width" on an undefined value at ./FHEM/02_RSS.pm line 204.
Can't call method "jpeg" on an undefined value at ./FHEM/02_RSS.pm line 450.


ich hatte RSS am 24.02. überarbeitet. Hintergrundbilder, die bereits im Format des Bilderrahmens sind, werden daraufhin nicht noch skaliert. Ich habe die Funktionsfähigkeit bei mir mit Bildern passender und nicht passender Größe erfolgreich getestet.

Wenn Du eine Lösung willst, dann poste bitte
- die Definition des RSS-Geräts mit allen zugehörigen Attributen
- ein minimales Layout, mit dem sich der Fehler nachstellen läßt.

Wenn die Erstellung des Bildes fehlschlägt, wird außerdem von Perl eine Warnung geschrieben. Am besten startest Du fhem.pl daher einmal auf der Konsole, um Dir anzusehen, ob zusätzliche Meldungen kommen.

Viele Grüße
Boris

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

Alexander Bauer

Hallo Boris,

danke für die Tips. In der fhem.cfg steht jetzt nur noch:


attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd none
attr global sendStatistics 1
attr global statefile ./log/fhem.save
attr global userattr devStateIcon icon webCmd
attr global verbose 5

#
# pgm2 / autocreate configfile. Take a look at the other examples for more.
#

define WEB FHEMWEB 8083 global

define WEBphone FHEMWEB 8084 global
attr WEBphone smallscreen 1


define FrameRSS RSS jpg 192.168.178.37 /opt/fhem/layout
attr FrameRSS bg /usr/share/pictures
attr FrameRSS size 960x690
attr FrameRSS tmin 1



Das Layout ist wie folgt:


font /usr/share/fonts/truetype/msttcorefonts/arial.ttf # must be a TrueType font
rgb ffffff # HTML color notation, RGB
pt 120 # font size in points
time 0 125
#pt 60
#seconds 400 125 colon



Folgende Fehlermeldungen erscheinen auf der Console von der fhem.pl gestartet wurde:
root@debian:/opt/fhem# ./fhem.pl ./fhem.cfg
root@debian:/opt/fhem# Can't call method "width" on an undefined value at ./FHEM/02_RSS.pm line 204.
Can't call method "jpeg" on an undefined value at ./FHEM/02_RSS.pm line 450.


Das fhem.log ist wie folgt:
root@debian:/opt/fhem# less log/fhem-2013-03.log
2013.03.07 20:45:22 1: Including ./fhem.cfg
2013.03.07 20:45:22 5: Cmd: >attr global autoload_undefined_devices 1<
2013.03.07 20:45:22 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2013.03.07 20:45:22 5: Cmd: >attr global modpath .<
2013.03.07 20:45:22 5: Loading ./FHEM/99_SUNRISE_EL.pm
2013.03.07 20:45:23 5: Loading ./FHEM/99_Utils.pm
2013.03.07 20:45:23 5: Loading ./FHEM/99_XmlList.pm
2013.03.07 20:45:23 5: Cmd: >attr global motd none<
2013.03.07 20:45:23 5: Cmd: >attr global sendStatistics 1<
2013.03.07 20:45:23 5: Cmd: >attr global statefile ./log/fhem.save<
2013.03.07 20:45:23 5: Cmd: >attr global userattr devStateIcon icon webCmd<
2013.03.07 20:45:23 5: Cmd: >attr global verbose 5<
2013.03.07 20:45:23 5: Cmd: >define WEB FHEMWEB 8083 global<
2013.03.07 20:45:23 5: Loading ./FHEM/01_FHEMWEB.pm
2013.03.07 20:45:23 3: WEB: port 8083 opened
2013.03.07 20:45:23 5: Cmd: >define WEBphone FHEMWEB 8084 global<
2013.03.07 20:45:23 3: WEBphone: port 8084 opened
2013.03.07 20:45:23 5: Cmd: >attr WEBphone smallscreen 1<
2013.03.07 20:45:23 3: WEBphone: attribute smallscreen deprecated, converted to stylesheetPrefix
2013.03.07 20:45:23 5: Cmd: >define FrameRSS RSS jpg 192.168.178.37 /opt/fhem/layout<
2013.03.07 20:45:23 5: Loading ./FHEM/02_RSS.pm
2013.03.07 20:45:23 5: Cmd: >attr FrameRSS bg /usr/share/pictures<
2013.03.07 20:45:23 5: Cmd: >attr FrameRSS size 960x690<
2013.03.07 20:45:23 5: Cmd: >attr FrameRSS tmin 1<
2013.03.07 20:45:23 1: configfile: WEBphone: attribute smallscreen deprecated, converted to stylesheetPrefix
2013.03.07 20:45:23 5: Interface "interface": readings "", getters "", setters ""
2013.03.07 20:45:23 5: Interface "switch": readings "onoff", getters "onoff", setters ""
2013.03.07 20:45:23 5: Interface "switch_active": readings "onoff", getters "onoff", setters ""
2013.03.07 20:45:23 5: Interface "switch_passive": readings "onoff", getters "onoff", setters "on:off"
2013.03.07 20:45:23 5: Interface "dimmer": readings "onoff:level", getters "onoff:level", setters "on:off:dimto:dimup:dimdown"
2013.03.07 20:45:23 5: Interface "temperature": readings "temperature", getters "temperature", setters ""
2013.03.07 20:45:23 5: Interface "humidity": readings "humidity", getters "humidity", setters ""
2013.03.07 20:45:23 5: Interface "wind": readings "wind", getters "wind", setters ""
2013.03.07 20:45:23 5: Interface "power": readings "power:maxPower:energy", getters "power:maxPower:energy", setters ""
2013.03.07 20:45:23 5: Triggering global (1 changes)
2013.03.07 20:45:23 5: Notify loop for global INITIALIZED
2013.03.07 20:45:23 0: Server started with 4 defined entities (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 2852 2013-03-04 19:58:34Z rudolfkoenig $, pid 1971)
2013.03.07 20:45:32 4: Connection accepted from FHEMWEB:192.168.178.36:49285
2013.03.07 20:45:32 4: Connection accepted from FHEMWEB:192.168.178.36:49286
2013.03.07 20:45:32 5: Loading ./FHEM/98_SVG.pm
2013.03.07 20:45:32 4: HTTP FHEMWEB:192.168.178.36:49286 GET /fhem/rss/FrameRSS.jpg
--

Fhem auf Cubietruck mit Debian Wheezy und Homematic und 1-Wire

Dr. Boris Neubert

Zitat von: Alexander Bauer schrieb am Do, 07 März 2013 20:51Hallo Boris,

danke für die Tips.

Danke für die ausführlichen Logs.

Ich sehe noch nicht, woran es bei Dir liegen könnte. Ich poste am Wochenende mal eine Version von 02_RSS.pm mit ganz vielen detaillierten Debug-Meldungen. Wenn Du diese einsetzt, kommen wir der Ursache vielleicht auf die Schliche.

Noch zwei Fragen:
- Die Hintergrundbilder sind nicht in der Größe des Rahmens (andere Pixelbreite/-höhe)?
- Was gibt Dir dpkg -l|grep libgd aus?

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

Alexander Bauer

Hallo Boris,

anbei die Ausgabe wegen dem der libgd

root@debian:/opt/fhem/FHEM# dpkg -l|grep libgd
ii  libgd-gd2-perl                         1:2.39-2+b1                  Perl module wrapper for libgd - gd2 variant
ii  libgd-graph-perl                       1.44-3                       Graph Plotting Module for Perl 5
ii  libgd-text-perl                        0.86-5                       Text utilities for use with GD
ii  libgd-tools                            2.0.36~rc1~dfsg-5            GD command line tools and example code
ii  libgd2-xpm                             2.0.36~rc1~dfsg-5            GD Graphics Library version 2
ii  libgdbm3                               1.8.3-9                      GNU dbm database routines (runtime version)


Daran lag es aber nicht. Die Ursache sind die Bilder bzw. das der Pfad nicht existierte. Der vorherigen Version war das wohl egal,
hab wohl beim umzug der fhem Umgebung die Hintergrundbilder nicht mitgenommen. Nun liegen die Bilder innerhalb von opt/fhem und dann
passiert das nimmer.

Vielen Dank für die Hilfe sowie den Einsatz für fhem.
--

Fhem auf Cubietruck mit Debian Wheezy und Homematic und 1-Wire

Dr. Boris Neubert

Zitat von: Alexander Bauer schrieb am Do, 07 März 2013 22:13Daran lag es aber nicht. Die Ursache sind die Bilder bzw. das der Pfad nicht existierte. Der vorherigen Version war das wohl egal,
hab wohl beim umzug der fhem Umgebung die Hintergrundbilder nicht mitgenommen. Nun liegen die Bilder innerhalb von opt/fhem und dann
passiert das nimmer.

Danke fürs rechtzeitige Bescheidsagen. Ich schaue mir dennoch mal an, ob ich nichtexistente Pfade abfangen soll.

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

betateilchen

nur mal so nebenbei angemerkt: Seit 5.4 sorgt die 02_RSS.pm auch bei mir grundsätzlich dafür, beim Aufruf des RSS-Feeds den gesamten FHEM Server zum Absturz zu bringen. Nach jedem Update (auch gestern wieder) muss ich diese Datei durch eine Version aus 5.3 ersetzen, die völlig problemlos funktioniert. Einen Zusammenhang mit Hintergrundbildern konnte ich nicht feststellen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Alexander Bauer

Hallo,

auf welche Version gehts Du zurück?

Zum Ausschließen eines Moduls vom Update gibt es laut Command.ref den
folgenden Befehl

exclude_from_update
Contains a space separated list of file which will be excluded by an update. This Attribute is used by the update command.
Example:

    attr global exclude_from_update 21_OWTEMP.pm temp4hum4.gplot FS20.on.png FS20.off.png

Ciao

PS PM ist ausgeschaltet
--

Fhem auf Cubietruck mit Debian Wheezy und Homematic und 1-Wire

betateilchen

Danke für den Tipp mit dem exclude - ich hatte das bisher mit chown gelöst, damit fhem die Dateien beim Update einfach nicht mehr überschreiben darf :)

Welche Version bei mir genau funktioniert, muss ich nachschauen, wenn ich wieder zu Hause bin, das wird aber erst Sonntagabend oder Montagmorgen sein.

Offtopic: Wen es interessiert: Ich habe meine 02_RSS.pm um eine Funktion zum Linienzeichnen ergänzt und das in Codeschnipsel gepostet.

-----------------------
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

Zitat von: betateilchen schrieb am Do, 13 Juni 2013 11:25nur mal so nebenbei angemerkt: Seit 5.4 sorgt die 02_RSS.pm auch bei mir grundsätzlich dafür, beim Aufruf des RSS-Feeds den gesamten FHEM Server zum Absturz zu bringen. Nach jedem Update (auch gestern wieder) muss ich diese Datei durch eine Version aus 5.3 ersetzen, die völlig problemlos funktioniert. Einen Zusammenhang mit Hintergrundbildern konnte ich nicht feststellen.

nur mal so nebenbei gefragt: welche Revision hat die bei Dir funktionierende Version von 02_RSS.pm (siehe Kopf der Datei:

# $Id: 02_RSS.pm 2793 2013-02-24 08:47:30Z borisneubert $

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

betateilchen

nur mal so nebenbei geantwortet:

Zitat von: betateilchen schrieb am Fr, 14 Juni 2013 09:26Welche Version bei mir genau funktioniert, muss ich nachschauen, wenn ich wieder zu Hause bin, das wird aber erst Sonntagabend oder Montagmorgen sein.

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

betateilchen

da steht nix...



     1 #
     2 #
     3 # 02_RSS.pm
     4 # written by Dr. Boris Neubert 2012-03-24
     5 # e-mail: omega at online dot de
     6 #
     7 ##############################################
     8 # $Id  $
     9


Wenn ich die aktuelle 02_RSS.pm verwende, passiert folgendes:

# $Id: 02_RSS.pm 2793 2013-02-24 08:47:30Z borisneubert $


Can't call method "colorResolve" on an undefined value at ./FHEM/02_RSS.pm line 213.
Can't call method "jpeg" on an undefined value at ./FHEM/02_RSS.pm line 450.


Und hier noch meine RSS-Definition inkl. Layout:

Internals:
   DEF        jpg rasp-fhem /opt/fhem_add/rss_layout
   NAME       FHEMRSS
   NR         69
   STATE      FHEMRSS
   TYPE       RSS
   Fhem:
     filename   /opt/fhem_add/rss_layout
     hostname   rasp-fhem
     layout     font /usr/share/fonts/truetype/msttcorefonts/arial.ttf

pt 24
rgb ffffff
date  30 50
time 700 50


     style      jpg
Attributes:
   room       97_RSS
   size       800x600


Diese 5 Zeilen in der Layout Datei reichen bereits, um FHEM komplett zum Absturz zu bringen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Dr. Boris Neubert schrieb am Fr, 14 Juni 2013 21:09nur mal so nebenbei gefragt: welche Revision hat die bei Dir funktionierende Version von 02_RSS.pm (siehe Kopf der Datei:

Hallo Boris,

wie schon geschrieben, in der von mir verwendeten 02_RSS.pm steht keine ID drin.

Ich habe jetzt mal anhand des SVN verglichen und die Dateiversion, die bei mir problemlos läuft, ist die 02_RSS.pm (ohne ID) aus FHEM 5.3 Ursprünglich hatte ich für einen ersten Test das 5.3 Debian Paket runtergeladen und nach dem Produktivstart hier mit 5.4 die Datei aus dem glücklicherweise noch vorhandenen "alten" Paket verwendet, da die 5.4 Version von 02_RSS nicht mehr funktionierte.

Viele Grüße
Udo


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

Alexander Bauer

Hallo Betateilchen,

Deine Layout Datei sieht so aus ?

font /usr/share/fonts/truetype/msttcorefonts/arial.ttf

pt 24
rgb ffffff
date  30 50
time 700 50


Ich habe gleiches in der Layout Datei (und noch mehr) und mit obiger fhem.cfg funktioniert die aktuelle Version.
--

Fhem auf Cubietruck mit Debian Wheezy und Homematic und 1-Wire

betateilchen

Das Layout sieht so aus, ja.

Es ist aber nicht das "wirkliche" Layout (da steht viel mehr drin) sondern ein möglichst einfaches Test-Layout für die Fehlersuche, das bei mir mit der aktuellen 02_RSS.pm eben NICHT funktioniert, wohl aber mit der alten. (und mit der alten Version funktioniert auch das komplette Layout völlig problemlos)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!