DOIF: PERL WARNING: Use of uninitialized value

Begonnen von alpha1974, 15 April 2015, 08:11:19

Vorheriges Thema - Nächstes Thema

alpha1974

Zitat von: Damian am 17 April 2015, 11:30:50
Offensichtlich kommt ein Event von e_WZ_Helligkeit_STATE paar Millisekunden bevor das DOIF-Moduls per global:INIT getrigger wird.
WZ_Helligkeit ist ein readingsProxy, der nichts anderes machen soll, als den Wert vom Helligkeitssensor "umzuformatieren": Der Sensor liefert "130 Lux" und WZ_Helligkeit macht daraus 130.
FHEM/Z-Wave USB-Dongle + div. Devices

Damian

Zitat von: alpha1974 am 17 April 2015, 12:02:25
WZ_Helligkeit ist ein readingsProxy, der nichts anderes machen soll, als den Wert vom Helligkeitssensor "umzuformatieren": Der Sensor liefert "130 Lux" und WZ_Helligkeit macht daraus 130.

ja, was mich erstaunt ist, dass offenbar Events bereits kommen, bevor die Initialisierung (Trigger GLOBAL:INITIALIZED) abgeschlossen ist.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

flurin

Zitat von: alpha1974 am 17 April 2015, 12:02:25
WZ_Helligkeit ist ein readingsProxy, der nichts anderes machen soll, als den Wert vom Helligkeitssensor "umzuformatieren": Der Sensor liefert "130 Lux" und WZ_Helligkeit macht daraus 130.

es geht einfacher:

[ZWave_multisensor:luminanace:d]

Du kannst die Helligkeit direkt vom Sensor lesen und mit :d filtern, damit "Lux" nicht stört.

moonsorrox

meine Sensoren von Dirk liefern alle...
luminosity

da stehen auch nur die Werte hinter ohne Lux
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

flurin

#34
Zitat von: moonsorrox am 17 April 2015, 14:42:15
meine Sensoren von Dirk liefern alle...
luminosity

da stehen auch nur die Werte hinter ohne Lux

Ich meine, es handle sich hier um einen Fibaro-Sensor und der liefert XXX Lux

moonsorrox

Zitat von: flurin am 17 April 2015, 14:54:08
Ich meine, es handle sich hier um ein Fibaro-Sensor und der Liefert XXX Lux

OK dann bin ich falsch, sorry  ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

alpha1974

#36
Zitat von: flurin am 17 April 2015, 14:36:07
es geht einfacher:

[ZWave_multisensor:luminanace:d]

Du kannst die Helligkeit direkt vom Sensor lesen und mit :d filtern, damit "Lux" nicht stört.

Ich habe deinen Vorschlag jetzt mal in das DOIF-Device, das die Warnings erzeugt, eingebaut = keine Warnings mehr.

Für alle Mitleser, die sich ebenso wie ich fragten, was das ":d" bedeutet, ist es unter http://fhem.de/commandref_DE.html#DOIF erklärt:
Filtern nach Zahlen

Es soll aus einem Reading, das z. B. ein Prozentzeichen beinhaltet, nur der Zahlenwert für den Vergleich genutzt werden:

define di_heating DOIF ([adjusting:actuator:d] < 10) (set heating off) DOELSE (set heating on)


Das geht dann aber nur in DOIF-Devices, oder?

Zitat von: flurin am 17 April 2015, 14:54:08
Ich meine, es handle sich hier um ein Fibaro-Sensor und der Liefert XXX Lux
So ist es  :)
FHEM/Z-Wave USB-Dongle + div. Devices

flurin


flurin


Invers

Die Meldungen sind seit einiger Zeit bei mir ebenfalls:
Es schadet zwar offenbar nicht, aber ist halt unschön. Kann man da was machen?

2015.06.16 19:37:34 1: PERL WARNING: Use of uninitialized value $end in string gt at ./FHEM/98_DOIF.pm line 476.
2015.06.16 19:37:34 1: PERL WARNING: Use of uninitialized value $begin in string gt at ./FHEM/98_DOIF.pm line 476.
2015.06.16 19:37:34 1: PERL WARNING: Use of uninitialized value $begin in string ge at ./FHEM/98_DOIF.pm line 481.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

flurin

#40
Zitat von: Invers am 16 Juni 2015, 19:54:46
Die Meldungen sind seit einiger Zeit bei mir ebenfalls:
Es schadet zwar offenbar nicht, aber ist halt unschön. Kann man da was machen?

2015.06.16 19:37:34 1: PERL WARNING: Use of uninitialized value $end in string gt at ./FHEM/98_DOIF.pm line 476.
2015.06.16 19:37:34 1: PERL WARNING: Use of uninitialized value $begin in string gt at ./FHEM/98_DOIF.pm line 476.
2015.06.16 19:37:34 1: PERL WARNING: Use of uninitialized value $begin in string ge at ./FHEM/98_DOIF.pm line 481.


Das Problem habe ich so gelöst: in 98_DOIF.pm vor Zeile 476 einfügen:

return 0 if (!$end or !$begin);


Siehe auch weiter oben.

Gruss
flurin

Invers

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

flurin

Zitat von: Invers am 16 Juni 2015, 20:44:59
Mach ich, danke.

Korrektur: Zeile 476 in der Sub DOIF_time


sub
DOIF_time($$$$$)
{
  my $ret=0;
  my ($begin,$end,$wday,$hms,$days)=@_;
  my $we=DOIF_we($wday);
+ return 0 if (!$end or !$begin);
  if ($end gt $begin) {
    if ($hms ge $begin and $hms lt $end) {
      $ret=1;
    }   

Invers

War schon zu spät, hatte die Ändedrung gemacht und die lange Latte der Fehlermeldungen begutachtet, es krachte, ich habe zurück geändert, dann hier gelesen und neu geändert. Nun gehts. LOL

Danke.  :)
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2