Autor Thema: Fehlermeldung Undefined subroutine &main::timelocal  (Gelesen 590 mal)

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Fehlermeldung Undefined subroutine &main::timelocal
« am: 10 Dezember 2017, 18:12:07 »
Hallo, ich wollte heute wieder was mit dme TabletUI "rumspielen" um die funktionen zu lernen. Deswegen habe ich von der Seite http://www.juergenstechnikwelt.de/smarthome-2/smarthome-mit-fhem-meine-beispielkonfiguration-ueber-google-drive-verfuegbar/ (empfohlen hier im Thema FTUI - FHEM Tablet UI) mir die Daten heruntergeladen.

Ich wollte den Müllkalender ausprobieren und bekomme im Filelog folgende Fehlermeldungen.

2017.12.10 17:49:42 1: ERROR evaluating my $EVTPART0='triggered';my $EVENT='triggered';my $TYPE='Calendar';my $NAME='Abfall';my $SELF='notAbfalltermine';{ Abfalltermine() }: Undefined subroutine &main::timelocal called at ./FHEM/99_myUtils.pm line 56.

2017.12.10 17:49:42 3: notAbfalltermine return value: Undefined subroutine &main::timelocal called at ./FHEM/99_myUtils.pm line 56.
2017.12.10 17:49:42 3: CALVIEW vAbfall - CALENDAR:Abfall triggered, updating CALVIEW vAbfall ...
2017.12.10 17:49:42 1: PERL WARNING: Argument "5 attr vAbfall modes next attr vAbfall oldStyledReadings..." isn't numeric in numeric eq (==) at ./FHEM/57_CALVIEW.pm line 295.
2017.12.10 17:51:05 3: FHEMWEB WEB CSRF error: csrf_283515812247158 ne csrf_168971820074337 for client WEB_192.168.178.24_51081. For details see the csrfToken FHEMWEB attribute.
2017.12.10 17:52:51 3: FHEMWEB WEB CSRF error: csrf_688898773318611 ne csrf_168971820074337 for client WEB_192.168.178.24_51118. For details see the csrfToken FHEMWEB attribute

Ich hoffe mir kann da jemand weiterhelfen.

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17134
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #1 am: 10 Dezember 2017, 18:20:09 »
Du hast ein csrfToken Problem. Zum Thema csrfToken findest Du sehr sehr viele Infos im Forum. Ich gehe davon aus das Dir ein aktuelles TabletUI Update fehlt.
« Letzte Änderung: 10 Dezember 2017, 18:22:24 von CoolTux »
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17134
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #2 am: 10 Dezember 2017, 18:25:01 »
Zu den anderen Problemen kann ich nichts sagen, habe keine Lust mir den ganzen Thread im Block durch zu lesen.

Kannst ja kurz sagen was du gemacht hast und ein list vom jeweiligen Device was du angelegt hast geben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #3 am: 10 Dezember 2017, 18:47:25 »
Ich habe jetzt nochmal ein Update gemacht und nun kommen noch mehr Fehlermeldungen. Die letzten 3 Zeilen im 1. Post haben sich erledigt, hatte da einen Fehler gefunden.

Nun kommen folgende Fehlermeldungen:

2017.12.10 18:41:03 3: WARNING: unsupported character in reading 2017.12.11-00:00:00 (not A-Za-z/\d_\.-), notify the CALVIEW module maintainer.
2017.12.10 18:41:03 3: WARNING: unsupported character in reading 2017.12.13-00:00:00 (not A-Za-z/\d_\.-), notify the CALVIEW module maintainer.
2017.12.10 18:41:03 3: WARNING: unsupported character in reading 2017.12.15-00:00:00 (not A-Za-z/\d_\.-), notify the CALVIEW module maintainer.
2017.12.10 18:41:03 3: WARNING: unsupported character in reading 2017.12.18-00:00:00 (not A-Za-z/\d_\.-), notify the CALVIEW module maintainer.
2017.12.10 18:41:03 3: WARNING: unsupported character in reading 2017.12.22-00:00:00 (not A-Za-z/\d_\.-), notify the CALVIEW module maintainer.
2017.12.10 18:41:03 3: WARNING: unsupported character in reading tomorrow_00100:00:00 (not A-Za-z/\d_\.-), notify the CALVIEW module maintainer.

2017.12.10 18:41:10 1: ERROR evaluating my $TYPE='Calendar';my $NAME='Abfall';my $EVTPART0='triggered';my $EVENT='triggered';my $SELF='notAbfalltermine';{ Abfalltermine() }: Undefined subroutine &main::timelocal called at ./FHEM/99_myUtils.pm line 56.

2017.12.10 18:41:10 3: notAbfalltermine return value: Undefined subroutine &main::timelocal called at ./FHEM/99_myUtils.pm line 56.

2017.12.10 18:41:10 3: CALVIEW vAbfall - CALENDAR:Abfall triggered, updating CALVIEW vAbfall ...

Wie kann ich das List vom Device aufrufen?

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17134
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #4 am: 10 Dezember 2017, 18:58:06 »
Ich sehe nur einen Fehler. Das andere sind nur Warnungen

&main::timelocal

Hier fehlt Dir sicherlich ein passe der use Befehl. Also das definieren der Funktion in der entsprechenden myUtils Datei.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17134
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #5 am: 10 Dezember 2017, 19:00:15 »
use Time::Local;

Du kannst das auch ändern in

use HTTP::Date;

my ($Sekunde, $Minute, $Stunde, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);

Musste mal schauen ob das mit deiner myUtils passt
« Letzte Änderung: 10 Dezember 2017, 19:03:48 von CoolTux »
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #6 am: 10 Dezember 2017, 19:44:30 »
Ich habe jetzt folgendes in meine 99_myUtils eingefügt

use HTTP::Date;

my ($Sekunde, $Minute, $Stunde, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);

bekomme aber leider immer noch den Fehler

2017.12.10 19:39:16 1: ERROR evaluating my $EVENT='triggered';my $TYPE='Calendar';my $EVTPART0='triggered';my $SELF='notAbfalltermine';my $NAME='Abfall';{ Abfalltermine() }: Undefined subroutine &main::timelocal called at ./FHEM/99_myUtils.pm line 61.
in meiner 99_myUtil steht folgendes

sub
KalenderDatum($$)
{
   my ($KalenderName, $KalenderUid) = @_;
   my $dt = fhem("get $KalenderName start uid=$KalenderUid 1");
   my $ret = time - (2*86400);  #falls kein Datum ermittelt wird Rückgabewert auf "gestern" -> also vergangener Termin

   if ($dt and $dt ne "")
   {
      my @SplitDt = split(/ /,$dt);
      my @SplitDate = split(/\./,$SplitDt[0]);
      $ret = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);

Log3 undef, 3, "Kalenderdatum UID:".$KalenderUid." ret:".$ret." splitdate:".$SplitDate[0].":".$SplitDate[1].":".$SplitDate[2];

   }
   return $ret;
}

und in der Zeile 61 ist diese Zeile

$ret = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17134
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #7 am: 10 Dezember 2017, 19:54:35 »
Ok ich merke schon. So wird das nichts.

use Time::Local;

Das bitte bei dir eintragen in der myUtils und zwar ganz ganz oben wo die anderen use stehen.
Die zwei Sachen von mir welche du da so Wissenslos eingetragen hast bitte wieder löschen
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline Torsten_MG

  • Full Member
  • ***
  • Beiträge: 364
Antw:Fehlermeldung Undefined subroutine &main::timelocal
« Antwort #8 am: 10 Dezember 2017, 20:03:08 »
Vielen Dank für deine Geduld!!

Fehlermeldung ist weg.

Die Anzeige in der FTUI ist aber leider noch Leer. Mülltonnen werden noch nicht Angezeigt und auch die Tage werden noch nicht Angezeigt.

Ich schaue erstmal warum das so ist. Wenn du aber mir so schon sagen kannst, woran es liegen könnte wäre ich dir dankbar. Aber sonst melde ich mich nochmal.
« Letzte Änderung: 10 Dezember 2017, 20:07:56 von Torsten_MG »
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal