PERL WARNING: Argument "off" isn't numeric

Begonnen von dan1180, 09 Dezember 2020, 13:31:44

Vorheriges Thema - Nächstes Thema

dan1180

Hallo zusammen,

ich habe aktuell ein Problem mit einem DOIF. Zur Ursachenforschung habe ich stacktrace aktiviert, komme aber mit der Ausgabe nicht wirklich weiter.
Folgendes steht im log:


2020.12.09 00:00:18 1: PERL WARNING: Argument "off" isn't numeric in numeric lt (<) at (eval 446419) line 1.
2020.12.09 00:00:18 3: eval: dihzgctr: warning in condition c01
2020.12.09 00:00:18 1: stacktrace:
2020.12.09 00:00:18 1:     main::__ANON__                      called by (eval 446419) (1)
2020.12.09 00:00:18 1:     (eval)                              called by ./FHEM/98_DOIF.pm (2142)
2020.12.09 00:00:18 1:     main::DOIF_CheckCond                called by ./FHEM/98_DOIF.pm (2489)
2020.12.09 00:00:18 1:     main::DOIF_Trigger                  called by ./FHEM/98_DOIF.pm (2715)
2020.12.09 00:00:18 1:     main::DOIF_Notify                   called by fhem.pl (3810)
2020.12.09 00:00:18 1:     main::CallFn                        called by fhem.pl (3727)
2020.12.09 00:00:18 1:     main::DoTrigger                     called by fhem.pl (4097)
2020.12.09 00:00:18 1:     main::Dispatch                      called by ./FHEM/00_HMUARTLGW.pm (1463)
2020.12.09 00:00:18 1:     main::HMUARTLGW_Parse               called by ./FHEM/00_HMUARTLGW.pm (1566)
2020.12.09 00:00:18 1:     main::HMUARTLGW_Read                called by fhem.pl (3810)
2020.12.09 00:00:18 1:     main::CallFn                        called by fhem.pl (755)
2020.12.09 00:00:18 1: PERL WARNING: Argument "off" isn't numeric in numeric gt (>) at (eval 446420) line 1.
2020.12.09 00:00:18 3: eval: dihzgctr: warning in condition c02
2020.12.09 00:00:18 1: stacktrace:
2020.12.09 00:00:18 1:     main::__ANON__                      called by (eval 446420) (1)
2020.12.09 00:00:18 1:     (eval)                              called by ./FHEM/98_DOIF.pm (2142)
2020.12.09 00:00:18 1:     main::DOIF_CheckCond                called by ./FHEM/98_DOIF.pm (2489)
2020.12.09 00:00:18 1:     main::DOIF_Trigger                  called by ./FHEM/98_DOIF.pm (2715)
2020.12.09 00:00:18 1:     main::DOIF_Notify                   called by fhem.pl (3810)
2020.12.09 00:00:18 1:     main::CallFn                        called by fhem.pl (3727)
2020.12.09 00:00:18 1:     main::DoTrigger                     called by fhem.pl (4097)
2020.12.09 00:00:18 1:     main::Dispatch                      called by ./FHEM/00_HMUARTLGW.pm (1463)
2020.12.09 00:00:18 1:     main::HMUARTLGW_Parse               called by ./FHEM/00_HMUARTLGW.pm (1566)
2020.12.09 00:00:18 1:     main::HMUARTLGW_Read                called by fhem.pl (3810)
2020.12.09 00:00:18 1:     main::CallFn                        called by fhem.pl (755)


Mein DOIF ist wie folgt definiert:


([tmpsshkk:temperature] > 52 and ([ezwts:measured-temp] < [ezwts:desired-temp] or [kuhkt:measured-temp] < [kuhkt:desired-temp] or [buhkt:measured-temp] < [buhkt:desired-temp] or [wchkt:measured-temp] < [wchkt:desired-temp]))
     (set owswitch output hkp 1)
     (set cthkkpmp on)
DOELSEIF
([tmpsshkk:temperature] < 48 or ([ezwts:measured-temp] > [ezwts:desired-temp] and [kuhkt:measured-temp] > [kuhkt:desired-temp] and [buhkt:measured-temp] > [buhkt:desired-temp] and [wchkt:measured-temp] > [wchkt:desired-temp]))
     (set owswitch output hkp 0)
     (set cthkkpmp off)


Das (für mich) seltsamste daran ist, dass ich mehrere Tage Ruhe hab und dann schreibt es mir aber an einem Tag im 1/2-Stunden-Takt mein Logfile voll?!

Danke für jeden Hinweis.
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Damian

ZitatPERL WARNING: Argument "off" isn't numeric in numeric gt (>) at (eval 446420) line 1.
2020.12.09 00:00:18 3: eval: dihzgctr: warning in condition c02

in einem Reading deiner Größer-Vergleiche hast du statt einer Zahl ein "off" drin.

Also hier:

([ezwts:measured-temp] > [ezwts:desired-temp] and [kuhkt:measured-temp] > [kuhkt:desired-temp] and [buhkt:measured-temp] > [buhkt:desired-temp] and [wchkt:measured-temp] > [wchkt:desired-temp]))
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

dan1180

Hallo Damian,

vielen Dank. Das habe ich verstanden. Aber woher kommt dieses "off"? In meinem DOIF frage ich ausschließlich Temperaturen ab. Die können doch nicht "off" sein?

Gruß
Dan
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

MadMax-FHEM

Doch ;)

Ich nehme mal an es sind Homematic WDTs oder HKTs!?

Die können auch "on" oder "off" sein...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

dan1180

Hallo Joachim,

Zitat
Ich nehme mal an es sind Homematic WDTs oder HKTs!?

Die können auch "on" oder "off" sein...

Jein; alles HKTs (HM-CC-RT-DN). Klar kann ich die auf on:off stellen. Die laufen aber alle ausschließlich im Automatikmodus. Und da sind immer Temperaturen programmiert?!
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Frank_Huber


dan1180

#6
Hallo Frank,

ich müsste also z.B. aus

ezwts:measured-temp

das hier machen:

ezwts:measured-temp:d0

?

Werde das gleich mal testen.

FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

Frank_Huber

:d nimmt die Zahl wie sie ist.
:d0 rundet noch auf ganze Zahlen.
Ich würde es erstmal mit :d versuchen.