99_myUtils.pm lädt nicht beim start

Begonnen von RomanticBoy83, 11 Januar 2018, 19:29:29

Vorheriges Thema - Nächstes Thema

RomanticBoy83

Hallo, ich habe ein Problem, welches ich nicht weiter lokalisieren kann.
Problem: Meine 99_myUtils.pm wird nicht bis zur letzten Zeile1; eingelesen. Lokalisieren konnte ich eine Methode, welche irgendwo eine Zeichenkette enthalten muss, welche ein Einlesen aller enthaltenen Methoden während des Startvorganges von Fhem verhindert. Kurioser Weise erhalte ich keinen Fehler wenn ich ein reload 99_myUtils.pm ausführe. Nach dem Reload kann ich erkennen, dass aller Methoden, bis hin zu dieser hier, neu geladen werden - also waren bereits definiert - und ab dieser Methode hier werden alle erstmals definiert und funktionieren dann auch wie gewünscht.
################################################################################
### Setzt das eingestellte Heizungsprogramm in einer ReadingGroup ##############
### Kann leider derzeit nicht an erster Position verwendet werden.           ###
### Verwendung mit: <{listHeizungProg($DEVICE)}>                             ###
################################################################################
sub listHeizungProg($) {
  my ($device) = @_;

  my $htmlcode = "<select class=\"select_widget\" title=\"desired-prog\" onchange=\"FW_cmd(FW_root+this.value,FW_okDialog('Ihre Programmwahl wird demnächst übertragen!'))\">";
  #prog1 - normal
  $htmlcode .= "<option value=\"?cmd=set $device regSet weekPrgSel prog1&XHR=1$FW_CSRF\"";
  $htmlcode .= " selected=\"selected\"" if (ReadingsVal($device,"R-weekPrgSel",undef) =~ /prog1/);
  $htmlcode .= ">normal</option>";
  #prog2 - an
  $htmlcode .= "<option value=\"?cmd=set $device regSet weekPrgSel prog2&XHR=1$FW_CSRF\"";
  $htmlcode .= " selected=\"selected\"" if (ReadingsVal($device,"R-weekPrgSel",undef) =~ /prog2/);
  $htmlcode .= ">an</option>";
  #prog3 - aus
  $htmlcode .= "<option value=\"?cmd=set $device regSet weekPrgSel prog3&XHR=1$FW_CSRF\"";
  $htmlcode .= " selected=\"selected\"" if (ReadingsVal($device,"R-weekPrgSel",undef) =~ /prog3/);
  $htmlcode .= ">aus</option>";
  #abschluss
  $htmlcode .= "</select>";
  return ($htmlcode);
}

Frage: Kann hier jemand einen Fehler entdecken?

RomanticBoy83

Ich habe den Fehler gerade gefunden - Wenn man Fhem ein wenig gesprächiger macht, dann sieht man auch was los ist.
Es fehlt eine Information zur globalen Variablen:
use vars qw($FW_CSRF); # CSRF Token or empty