Undefined subroutine &main::Werte called at

Begonnen von xxsteffenxx, 21 November 2015, 14:36:35

Vorheriges Thema - Nächstes Thema

xxsteffenxx

Mein Logfile ist immer mal wieder mit folgenden Meldungen voll.
Finde aber nirgends eine subroutine &main:Werte bzw. habe in der 99_Utils und in der 99_myUtils.pm geschaut, da finde ich nichts....

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33641) line 1.

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33642) line 1.

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33644) line 1.

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33645) line 1.

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33647) line 1.

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33648) line 1.

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33650) line 1.

2015.11.21 10:48:18 2: Undefined subroutine &main::Werte called at (eval 33651) line 1.

2015.11.21 10:52:46 2: Undefined subroutine &main::Werte called at (eval 33723) line 1.

2015.11.21 10:52:46 2: Undefined subroutine &main::Werte called at (eval 33724) line 1.

2015.11.21 10:52:46 2: Undefined subroutine &main::Werte called at (eval 33726) line 1.

2015.11.21 10:52:46 2: Undefined subroutine &main::Werte called at (eval 33727) line 1.

2015.11.21 10:52:47 2: Undefined subroutine &main::Werte called at (eval 33729) line 1.

2015.11.21 10:52:47 2: Undefined subroutine &main::Werte called at (eval 33730) line 1.

2015.11.21 10:52:47 2: Undefined subroutine &main::Werte called at (eval 33732) line 1.

2015.11.21 10:52:47 2: Undefined subroutine &main::Werte called at (eval 33733) line 1.


015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1948) line 1.

2015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1949) line 1.

2015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1951) line 1.

2015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1952) line 1.

2015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1954) line 1.

2015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1955) line 1.

2015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1957) line 1.

2015.11.21 14:32:49 2: Undefined subroutine &main::Werte called at (eval 1958) line 1.


Schönes Wochenenden, Grüße Steffen
Raspberry Pi3 mit Jessie lite, 4x Max Thermostat 1x, Fensterkontakt an Cube, Philips Hue für Hue Iris, 433 mhz Sender für Funksteckdosen, AMAD mit S4-Active und Galaxy Tab2 10.1,nanoCUL 868, Homematic Wandtaster. TelegramBot

franky08

#1
stacktrace mal auf 1 setzen, dann solltest du sehen welches Modul den Fehler generiert.

P.s. Kann aber nur deine 99_myUtils sein, da soll eine sub Werte aufgerufen werden
VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

xxsteffenxx

stacktrace habe ich mal auf 1 gesetzt, mal abwarten,
meine 99_myUtils sieht so aus

##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;
use Time::Local;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

sub
Abfalltermine ($)
{
  my ($Ereignis) = @_;
  my @Ereignisarray = split(/.*:\s/,$Ereignis);
  my $Ereignisteil1 = $Ereignisarray[1];
  my @uids=split(/;/,$Ereignisteil1);
  my $t  = time;
  my $dtPapier = '';
  my $dtWertstofftonne = '';
  my $dtRest = '';
  my $dtBiomuell = '';
   foreach my $uid (@uids) {
    my $Kalendertext = fhem("get Abfall summary $uid");
    if ($Kalendertext =~ /Altpapier/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtPapier eq '' || ($eventDate < $dtPapier && $eventDate > $t))
        {
          $dtPapier = $eventDate;
          Log(3, $dtPapier);
        }
    };
if ($Kalendertext =~ /Gelbe/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtWertstofftonne eq '' || ($eventDate < $dtWertstofftonne && $eventDate > $t))
        {
          $dtWertstofftonne  = $eventDate;
        }
    };
    if ($Kalendertext =~ /Restmüll/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtRest eq '' || ($eventDate < $dtRest && $eventDate > $t))
        {
          $dtRest = $eventDate;
        }
    };
    if ($Kalendertext =~ /Biomüll/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtBiomuell eq '' || ($eventDate < $dtBiomuell && $eventDate > $t))
        {
          $dtBiomuell  = $eventDate;
        }
    };
   
   
  my $dayDiff = floor(($dtPapier - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Papiertonne $dayDiff");
  }
  my $dayDiff = floor(($dtWertstofftonne - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Gelbetonne $dayDiff");
  }
  my $dayDiff = floor(($dtRest - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Restmuell $dayDiff");
  }
    my $dayDiff = floor(($dtBiomuell - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Biomuell $dayDiff");
  }
  }
}
1;
Raspberry Pi3 mit Jessie lite, 4x Max Thermostat 1x, Fensterkontakt an Cube, Philips Hue für Hue Iris, 433 mhz Sender für Funksteckdosen, AMAD mit S4-Active und Galaxy Tab2 10.1,nanoCUL 868, Homematic Wandtaster. TelegramBot

franky08

#3
Da gibt es schonmal keine sub mit der Namen Werte! Du hast irgendwo in einem notify oder DOIF o.a. einen Aufruf in der Art:

{Werte}
und da die sub nicht vorhanden ist, bekommst du wahrscheinlich die Fehlermeldung.

P.S. durchsuche doch mal deine fhem.cfg nach dem Wort Werte, da findest du den Übeltäter sofort.
stacktrace kannst du wieder disablen, der Fehler kommt wahrscheinlich aus keinem Modul
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

xxsteffenxx

Das einzeige mit "Werte" war

#attr Spritpreise valueStyle {Werte($READING,$VALUE)}
von meinen Spritpreisen, hab das mal auskommentiert, mal sehen ob sich was ändert :-)

Danke schonmal!
Raspberry Pi3 mit Jessie lite, 4x Max Thermostat 1x, Fensterkontakt an Cube, Philips Hue für Hue Iris, 433 mhz Sender für Funksteckdosen, AMAD mit S4-Active und Galaxy Tab2 10.1,nanoCUL 868, Homematic Wandtaster. TelegramBot

Archimedes

Genau, die Spritpreise, das selbe habe ich auch. Vorgegangen bei der Umsetzung nach http://www.fhemwiki.de/wiki/Spritpreismonitor;) ::)
Allerdings habe ich die Anpassung in der  99_myUtils.pm; nicht vorgenommen. Ich fand das nicht so wichtig. Bin mir auch nicht sicher, ob nach einem Update die Infos noch da sind.
Ich werde wohl erst einmal auf 5.7 gehen und mich dann darum kümmern.

betateilchen

Zitat von: Archimedes am 09 Dezember 2015, 12:53:33
Allerdings habe ich die Anpassung in der  99_myUtils.pm; nicht vorgenommen. Ich fand das nicht so wichtig.

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