Autor Thema: $hash->{READINGS} is not hash? fehlermeldung nach neuem define [gelöst]  (Gelesen 2241 mal)

Offline epsrw1

  • Developer
  • Full Member
  • ****
  • Beiträge: 255
hallo zusammen,
ich verwende folgende zeile im get eines moduls:
my @stmgets = (keys($hash->{READINGS}));auf meinen eigenen installationen kann ich einen fehler von dem ein anderer user berichtet nicht reproduzieren:
Zitat
Type of arg 1 to keys must be hash or array (not hash element) at ./FHEM/98_STELLMOTOR.pm line 338, near "})"
ich vermute daß der erste aufruf der GetFn nach dem define läuft, bevor das erste reading vorhanden ist. gibt es fhem-seietig einen workaround in der art wie "get erst nach x sekunden aufrufen" oder muß ich im modul selbst die symptome abfangen?
vielen dank !
florian

http://forum.fhem.de/index.php/topic,23933.msg175800.html#new

# $Id: 98_STELLMOTOR.pm 2014 2014-06-10 23:09:00Z Florian Duesterwald $
« Letzte Änderung: 11 Juni 2014, 12:38:21 von epsrw1 »
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16261
  • s/fhem\.cfg/configDB/g
Antw:$hash->{READINGS} is not hash? fehlermeldung nach neuem define
« Antwort #1 am: 11 Juni 2014, 11:28:25 »
oder muß ich im modul selbst die symptome abfangen?

sauberes Programmieren ist immer besser als jeder workaround.

Offtopic: das Posten eines kompletten Modules in einem code-Tag ist m.E. ziemlich unsinnig, vor allem, wenn das gleiche Modul dann auch noch als Anhang am Beitrag hängt.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline herrmannj

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 5609
Antw:$hash->{READINGS} is not hash? fehlermeldung nach neuem define
« Antwort #2 am: 11 Juni 2014, 11:38:00 »
Hi,

gleicher Fall gerade im non blocking weather thread. witzig

Lösung: user hat "altes" perl. Hash in keys de-refernzieren.

%{$hash->{READINGS}}
vg
jörg
smartVisu mit fronthem, einiges an HM, RFXTRX, Oregon, CUL, Homeeasy, ganz viele LED + Diverse

Offline epsrw1

  • Developer
  • Full Member
  • ****
  • Beiträge: 255
Antw:$hash->{READINGS} is not hash? fehlermeldung nach neuem define
« Antwort #3 am: 11 Juni 2014, 11:40:25 »
Zitat
sauberes Programmieren ist immer besser als jeder workaround.

danke beta, darauf zielt auch meine frage ab. ich halte es für unsauber im modul etwas abzufangen was vllt schon anderweitig längst vorgesehen ist. impliziert Dein hinweis daß dem nicht so ist?
oder impliziert er daß die fragliche zeile an sich aus einem anderen mir nicht offensichtlichen grund "unsauber" ist?
Danke :)
florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Offline epsrw1

  • Developer
  • Full Member
  • ****
  • Beiträge: 255
jörg, vielen dank, das war die lösung :)
Ich habe keine Ahnung, aber davon wenigstens ganz viel