FHEM Forum

FHEM => Sonstiges => Thema gestartet von: loetmeister am 13 September 2025, 12:09:21

Titel: 98_HTTPMOD - Argument isn't numeric in addition (get*PollDelay)
Beitrag von: loetmeister am 13 September 2025, 12:09:21
Hallo,

ich bekomme die folgende Perl Warnung, wenn ich z.B. get1PollDelay == x2 setzte. (2x das Poll Intervall des HTTPMOD Device...)
So verstehe ich zumindest die Hilfe "PollDelay can be specified as seconds or as x[0-9]+ ...". Leider hatte ich kein Beispiel dazu gefunden. Eventuell ist die Syntax anders zu verstehen? Oder es ist ein Überbleibsel in der Hilfe und ist nicht mehr aktuell?
 ::)

PERL WARNING: Argument "x2" isn't numeric in addition (+) at ./FHEM/98_HTTPMOD.pm line 1406.
Zitatget[0-9]+PollDelay
if the value should not be read in each iteration (after the interval given to the define command), then a minimum delay can be specified with this attribute. This has only an effect if the above Poll attribute has also been set. Every time the update function is called, it checks if since this get has been read the last time, the defined delay has elapsed. If not, then it is skipped this time.
PollDelay can be specified as seconds or as x[0-9]+ which means a multiple of the interval in the define command.

Gruß,
Thomas

Titel: Aw: 98_HTTPMOD - Argument isn't numeric in addition (get*PollDelay)
Beitrag von: ergerd am 13 September 2025, 12:28:41
Falls es hier um eine Multiplikation geht, multipliziert wird mit *
Titel: Aw: 98_HTTPMOD - Argument isn't numeric in addition (get*PollDelay)
Beitrag von: betateilchen am 13 September 2025, 12:38:53
Zitat von: ergerd am 13 September 2025, 12:28:41Falls es hier um eine Multiplikation geht, multipliziert wird mit *

Es geht hier nicht um eine reine mathematische Funktion, sondern um die Anwendung einer Attributsyntax in einem device.

Zitat von: loetmeister am 13 September 2025, 12:09:21Eventuell ist die Syntax anders zu verstehen?

Meines Erachtens hast Du das schon richtig verstanden. Um herauszufinden, warum es bei Dir nicht funktioniert, müsste man mal in den Modulcode schauen, was da passiert.
Funktioniert es denn, wenn Du einfach den Wert in Sekunden angibst? Also das Doppelte des definierten Intervalls?
Titel: Aw: 98_HTTPMOD - Argument isn't numeric in addition (get*PollDelay)
Beitrag von: betateilchen am 13 September 2025, 12:45:53
  Log3 $name, 5, "$name: GetUpdate checks if poll required for $getName ($getNum)";
  my $lastPoll = 0;
  $lastPoll = $hash->{lastpoll}{$getName} if ($hash->{lastpoll} && $hash->{lastpoll}{$getName});
  my $dueTime = $lastPoll + GetFAttr($name, 'get', $getNum, "PollDelay",0);

Im Code deutet für mich nichts darauf hin, dass ein Attributwert x2 überhaupt ausgewertet würde...
Titel: Aw: 98_HTTPMOD - Argument isn't numeric in addition (get*PollDelay)
Beitrag von: loetmeister am 14 September 2025, 10:44:45
Hallo betateilchen,

danke für die Antwort. Ich hatte auch einen Blick auf 98_HTTPMOD.pm line 1406 geworfen, und keine Umrechnung eines möglichen Multiplikators erkannt... daher der Gedanke es könnte sich einfach um veraltetet Dokumentation handeln?

Wenn ich den "PollDelay" in Sekunden angebe gibt es keine Probleme / log Einträge.

Gruß,
Thomas