Fehlermeldung Undefined subroutine &main::timelocal

Begonnen von Torsten_MG, 10 Dezember 2017, 18:12:07

Vorheriges Thema - Nächstes Thema

Torsten_MG

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.

CoolTux

#1
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.
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Torsten_MG

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?

CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

#5
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
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Torsten_MG

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]);

CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Torsten_MG

#8
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.