Hallo,
habe seit heute einige Fehler im Log stehen, und weiß nicht weiter.
2015.04.11 12:33:34 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886, <GEN28> line 138.
2015.04.11 11:51:49 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886.
2015.04.11 11:40:56 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886, <GEN28> line 82.
2015.04.11 11:38:20 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886, <GEN28> line 71.
2015.04.11 11:37:12 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886, <GEN28> line 66.
2015.04.11 11:20:37 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886, <GEN28> line 9.
Vielleicht kann ja einer Abhilfe schaffen.
Danke
Gruß Mike
Das kommt von http://forum.fhem.de/index.php/topic,35819.0.html
Matthias: jetzt hast Du mit dem Verlinken einen Loop erzeugt :D ;)
Wenn wir schon beim korrigieren sind...
Ich habe seit der Umstellung auf CUL (früher Cube) immer wieder derartige Meldungen:
2015.04.10 23:48:21 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886.
2015.04.10 23:53:50 1: PERL WARNING: Use of uninitialized value $args[0] in numeric eq (==) at ./FHEM/10_MAX.pm line 692.
2015.04.10 23:53:50 1: PERL WARNING: Use of uninitialized value $args[0] in numeric ge (>=) at ./FHEM/10_MAX.pm line 695.
2015.04.10 23:53:50 1: PERL WARNING: Use of uninitialized value $desiredTemperatureRaw in bitwise and (&) at ./FHEM/10_MAX.pm line 726.
und bei der Kommunikation zwischen MAX-Heizkörperthermostat und MAX-Wandthermostat auch mal
2015.04.10 23:44:25 1: CUL_MAX_Parse: len mismatch
Kann man da evtl. etwas machen?
Gruß
ws
@Killermike007 & ws: Könnt Ihr mir bitte noch sagen in welcher Situation ihr die Fehler in der Zeile 886 bekommt?
juniormajor: Ich habe mal im Logfile gesucht. Die Meldung kommt bei mir immer ausschließlich nach dem Server (Neu-) Start. Es dauert nach dem Start immer ein paar Minuten (manchmal bisschen länger) und dann ist sie einmalig da.
Die anderen Warnungen waren vor Deinem Patch auch vorhanden...
Gruß
ws
Hier noch ein wenig genauer:
2015.04.11 21:28:42 4: CUL_Parse: nanoCULMax Z0B820630073A5506A6E30010D7 -94.5
2015.04.11 21:28:42 5: nanoCULMax dispatch Z0B820630073A5506A6E30010
2015.04.11 21:28:42 5: CUL_MAX_Parse: len 11, msgcnt 82, msgflag 06, msgTypeRaw ShutterContactState, src 073a55, dst 06a6e3, groupid 0, payload 10
2015.04.11 21:28:42 5: CUL_MAX_Parse: rssi: -94.5
2015.04.11 21:28:43 1: PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 886.
2015.04.11 21:29:33 5: CUL/RAW: /Z0C3604
2015.04.11 21:29:33 5: CUL/RAW: Z0C3604/420317020AF62D002CE541
und die anderen Warnungen:
2015.04.11 21:35:10 4: CUL_Parse: nanoCULMax Z0BE7000204B16A061D610000EA -85
2015.04.11 21:35:10 5: nanoCULMax dispatch Z0BE7000204B16A061D610000
2015.04.11 21:35:10 5: CUL_MAX_Parse: len 11, msgcnt E7, msgflag 00, msgTypeRaw Ack, src 04b16a, dst 061d61, groupid 0, payload 00
2015.04.11 21:35:10 5: CUL_MAX_Parse: rssi: -85
2015.04.11 21:35:10 1: PERL WARNING: Use of uninitialized value $args[0] in numeric eq (==) at ./FHEM/10_MAX.pm line 692.
2015.04.11 21:35:10 1: PERL WARNING: Use of uninitialized value $args[0] in numeric ge (>=) at ./FHEM/10_MAX.pm line 695.
2015.04.11 21:35:10 1: PERL WARNING: Use of uninitialized value $desiredTemperatureRaw in bitwise and (&) at ./FHEM/10_MAX.pm line 726.
2015.04.11 21:35:34 5: CUL/RAW: /Z0CCF044208
2015.04.11 21:35:34 5: CUL/RAW: Z0CCF044208/87340AEF98002ADF0D
@ws: danke!
@killermike007: bei dir scheint es nicht nur nach Serverstart zu kommen. Mich würde interessieren welche Logs/Readings geschrieben werden wenn der Fehler auftritt und was logst du alles auf den devices?
@juniormajor: Ich versuche das mal darzustellen:-[
Update von heute morgen, nach Anpassung.
Die Log :
2015.04.14 05:51:20 5: battery 0, rferror 0, panel 1, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 19, until , curTemp
2015.04.14 05:51:20 5: MAX_Parse MAX,0,ThermostatState,0aff56,380026
2015.04.14 05:51:20 5: MAX_Parse MAX,0,Ack,0aff56,01380026
2015.04.14 05:51:20 5: cm dispatch MAX,0,Ack,0aff56,01380026
2015.04.14 05:51:20 5: desiredTemperature 19, temperature 20.9
2015.04.14 05:51:20 5: MAX_Parse MAX,0,WallThermostatControl,070f6c,26D1
2015.04.14 05:51:20 5: cm dispatch MAX,0,WallThermostatControl,070f6c,26D1
2015.04.14 05:50:49 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:50:48 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 4.5, until , curTemp
2015.04.14 05:50:48 5: MAX_Parse MAX,1,ThermostatState,0780db,180009
2015.04.14 05:50:48 5: MAX_Parse MAX,1,Ack,0780db,01180009
2015.04.14 05:50:48 5: cm dispatch MAX,1,Ack,0780db,01180009
2015.04.14 05:50:48 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:50:48 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:50:47 5: needPreamble: 1, necessaryCredit: 110, credit10ms: xxxx
2015.04.14 05:50:47 1: CUL_MAX_Parse: len mismatch
2015.04.14 05:50:47 1: CUL_MAX_Parse: len mismatch
2015.04.14 05:50:47 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:50:47 5: CUL_MAX_Send: enqueuing 0bcc00401234560780db0000
2015.04.14 05:49:31 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:30 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 4.5, until , curTemp
2015.04.14 05:49:30 5: MAX_Parse MAX,1,ThermostatState,0780db,180009
2015.04.14 05:49:30 5: MAX_Parse MAX,1,Ack,0780db,01180009
2015.04.14 05:49:30 5: cm dispatch MAX,1,Ack,0780db,01180009
2015.04.14 05:49:30 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:29 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:29 5: needPreamble: 1, necessaryCredit: 110, credit10ms: xxxx
2015.04.14 05:49:29 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:29 5: CUL_MAX_SendQueueHandler: 2 items in queue
2015.04.14 05:49:29 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 4.5, until , curTemp
2015.04.14 05:49:29 5: MAX_Parse MAX,1,ThermostatState,0780db,180009
2015.04.14 05:49:29 5: MAX_Parse MAX,1,Ack,0780db,01180009
2015.04.14 05:49:29 5: cm dispatch MAX,1,Ack,0780db,01180009
2015.04.14 05:49:28 5: CUL_MAX_SendQueueHandler: 2 items in queue
2015.04.14 05:49:28 5: CUL_MAX_Send: enqueuing 0bcb00401234560780db0000
2015.04.14 05:49:28 5: needPreamble: 1, necessaryCredit: 110, credit10ms: xxxx
2015.04.14 05:49:28 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:28 5: CUL_MAX_Send: enqueuing 0bca00401234560780db0000
2015.04.14 05:49:16 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 12, until , curTemp
2015.04.14 05:49:16 5: MAX_Parse MAX,0,ThermostatState,038ca4,180018
2015.04.14 05:49:16 5: MAX_Parse MAX,0,Ack,038ca4,01180018
2015.04.14 05:49:16 5: cm dispatch MAX,0,Ack,038ca4,01180018
2015.04.14 05:49:16 5: desiredTemperature 12, temperature 21
2015.04.14 05:49:16 5: MAX_Parse MAX,0,WallThermostatControl,070cea,18D2
2015.04.14 05:49:16 5: cm dispatch MAX,0,WallThermostatControl,070cea,18D2
2015.04.14 05:49:14 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:14 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 4.5, until , curTemp
2015.04.14 05:49:14 5: MAX_Parse MAX,1,ThermostatState,0780db,180009
2015.04.14 05:49:14 5: MAX_Parse MAX,1,Ack,0780db,01180009
2015.04.14 05:49:14 5: cm dispatch MAX,1,Ack,0780db,01180009
2015.04.14 05:49:14 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:13 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:13 5: needPreamble: 1, necessaryCredit: 110, credit10ms: xxxx
2015.04.14 05:49:13 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:49:05 5: CUL_MAX_SendQueueHandler: 2 items in queue
2015.04.14 05:49:05 5: battery 0, rferror 0, panel 1, langateway 1, dstsetting 1, mode 0, valveposition 16 %, desiredTemperature 21, until , curTemp
2015.04.14 05:49:05 5: MAX_Parse MAX,0,ThermostatState,0863f5,38102A
2015.04.14 05:49:05 5: MAX_Parse MAX,0,Ack,0863f5,0138102A
2015.04.14 05:49:05 5: cm dispatch MAX,0,Ack,0863f5,0138102A
2015.04.14 05:49:05 5: desiredTemperature 21, temperature 20.4
2015.04.14 05:49:05 5: MAX_Parse MAX,0,WallThermostatControl,070d68,2ACC
2015.04.14 05:49:05 5: cm dispatch MAX,0,WallThermostatControl,070d68,2ACC
2015.04.14 05:49:05 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 4.5, until , curTemp
2015.04.14 05:49:05 5: MAX_Parse MAX,1,ThermostatState,0780db,180009
2015.04.14 05:49:05 5: MAX_Parse MAX,1,Ack,0780db,01180009
2015.04.14 05:49:05 5: cm dispatch MAX,1,Ack,0780db,01180009
2015.04.14 05:49:05 5: CUL_MAX_Send: enqueuing 0bc900401234560780db0000
2015.04.14 05:48:58 5: CUL_MAX_SendQueueHandler: Retry 0780db for 0bc800401234560780db0000 count: 3
2015.04.14 05:48:58 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:48:43 5: needPreamble: 1, necessaryCredit: 110, credit10ms: xxxx
2015.04.14 05:48:43 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:48:43 5: CUL_MAX_Send: enqueuing 0bc800401234560780db0000
2015.04.14 05:48:36 3: delete tmp_time_gas : Please define tmp_time_gas first
2015.04.14 05:48:32 5: battery 0, rferror 0, panel 1, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 19, until , curTemp
2015.04.14 05:48:32 5: MAX_Parse MAX,0,ThermostatState,0aff56,380026
2015.04.14 05:48:32 5: MAX_Parse MAX,0,Ack,0aff56,01380026
2015.04.14 05:48:32 5: cm dispatch MAX,0,Ack,0aff56,01380026
2015.04.14 05:48:31 5: desiredTemperature 19, temperature 21
2015.04.14 05:48:31 5: MAX_Parse MAX,0,WallThermostatControl,070f6c,26D2
2015.04.14 05:48:31 5: cm dispatch MAX,0,WallThermostatControl,070f6c,26D2
2015.04.14 05:47:51 5: battery 0, rferror 0, panel 1, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 19, until , curTemp
2015.04.14 05:47:51 5: MAX_Parse MAX,0,ThermostatState,08187f,380026
2015.04.14 05:47:51 5: MAX_Parse MAX,0,Ack,08187f,01380026
2015.04.14 05:47:51 5: cm dispatch MAX,0,Ack,08187f,01380026
2015.04.14 05:47:51 5: desiredTemperature 19, temperature 20.3
2015.04.14 05:47:51 5: MAX_Parse MAX,0,WallThermostatControl,070d0c,26CB
2015.04.14 05:47:51 5: cm dispatch MAX,0,WallThermostatControl,070d0c,26CB
2015.04.14 05:46:21 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:46:21 5: battery 0, rferror 0, panel 0, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 4.5, until , curTemp
2015.04.14 05:46:21 5: MAX_Parse MAX,1,ThermostatState,0780db,180009
2015.04.14 05:46:21 5: MAX_Parse MAX,1,Ack,0780db,01180009
2015.04.14 05:46:21 5: cm dispatch MAX,1,Ack,0780db,01180009
2015.04.14 05:46:21 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:46:20 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:46:20 5: needPreamble: 1, necessaryCredit: 110, credit10ms: xxxx
2015.04.14 05:46:20 1: CUL_MAX_Parse: len mismatch
2015.04.14 05:46:20 1: CUL_MAX_Parse: len mismatch
2015.04.14 05:46:20 1: CUL_MAX_Parse: len mismatch
2015.04.14 05:46:20 1: CUL_MAX_Parse: len mismatch
2015.04.14 05:46:20 5: CUL_MAX_SendQueueHandler: 1 items in queue
2015.04.14 05:46:20 5: CUL_MAX_Send: enqueuing 0bc700401234560780db0000
2015.04.14 05:46:12 3: delete tmp_time_gas : Please define tmp_time_gas first
2015.04.14 05:45:39 5: battery 0, rferror 0, panel 1, langateway 1, dstsetting 1, mode 0, valveposition 0 %, desiredTemperature 19, until , curTemp
2015.04.14 05:45:39 5: MAX_Parse MAX,0,ThermostatState,0aff56,380026
2015.04.14 05:45:39 5: MAX_Parse MAX,0,Ack,0aff56,01380026
2015.04.14 05:45:39 5: cm dispatch MAX,0,Ack,0aff56,01380026
2015.04.14 05:45:39 5: desiredTemperature 19, temperature 21
2015.04.14 05:45:39 5: MAX_Parse MAX,0,WallThermostatControl,070f6c,26D2
2015.04.14 05:45:39 5: cm dispatch MAX,0,WallThermostatControl,070f6c,26D2
Geloggt wird seit gestern nur noch temperature, desiredTemperature, valveposition,state
Das Problem mit dem "len mismatch" wird durch die Funktion CUL_ReadAnswer (in 00_CUL.pm) erzeugt. Diese Funktion wird z.B. aufgerufen, wenn die credits vom CUL abgefragt werden. Werden in der Antwort zufällig noch andere Nachrichten gelesen, so werden sie am Ende der Funktion an CUL_Parse stückweise weitergeleitet. Leider fehlt vorher das Entfernen der Zeilenumbrüche:
Zitat# Dispatch data in the buffer before the proper answer.
while(($mculdata =~ m/^([^\n]*\n)(.*)/s) || $anydata) {
my $line = ($anydata ? $mculdata : $1);
$mculdata = $2;
(undef, $line) = CUL_prefix(0, $ohash, $line); # Delete prefix
if($regexp && $line !~ m/$regexp/) {
$line =~ s/[\n\r]+//g;
CUL_Parse($ohash, $hash, $ohash->{NAME}, $line);
} else {
return (undef, $line);
}
}
Achtung der Code ist nicht wirklich ausreichend getestet, weil ich das Problem, das ich früher auch schon mal hatte, zur Zeit nicht mehr nachstellen kann.
Eigentlich reicht auch das Ersetzen von \r, da \n in $line nicht mehr vorkommen kann.
Gruß,
Gero
@gero: Hast du diesen Patch an den CUL Maintainer (im Forum) weitergeleitet?
Noch nicht. Ich wollte noch bis morgen testen, ob nicht noch eine weitere Änderung notwendig ist.
Gruß,
Gero
Alle meine Tests scheinen erfolgreich zu sein. Also anbei nochmal der Fix als Patchfile.
Ich bin mir immer noch nicht sicher, wie man Fixes am besten den Maintainern zukommen läßt, da man an PNs keine Dateien hängen kann. Und teilweise ist es schwierig den richtigen Forenbereich für einen Fehlerreport zu finden.
Kümmert sich eigentlich noch jemand um die Warning
PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 893.
Die spammt mir nämlich meine Logs zu.
Gruß,
Gero
http://www.fhemwiki.de/wiki/How_to_write_a_patch unter "Submit the Patch" wurde mal festgehalten, wo und wie ein Patch veröffentlicht werden sollte. Hoffe, das ist noch aktueller Stand.
Gruß, Christian
Danke. Man lernt immer noch was dazu.
Zitat von: gero am 22 April 2015, 08:40:48
Kümmert sich eigentlich noch jemand um die Warning
PERL WARNING: Use of uninitialized value $value in lc at ./FHEM/10_MAX.pm line 893.
Die spammt mir nämlich meine Logs zu.
Gruß,
Gero
Der Fehler entsteht wenn in Zeile 895 das Array @parts nur 0 oder 1 Element besitzt. Leider
weiß ich nicht, was DbLog in diesem Fall für eine Rückgabe erwartet.
Du könntest hinter der 'my @parts = ...' Zeile z.B.
return ($reading, $value, $unit) if(@parts < 2);
versuchen. Ich kanns hier ohne DbLog nicht testen.
So funktioniert es jetzt bei mir:
Zitatsub
MAX_DbLog_splitFn($)
{
my ($event) = @_;
my ($reading, $value, $unit) = "";
my @parts = split(/ /,$event);
$reading = shift @parts;
$reading =~ tr/://d;
$value = $parts[0];
$value = $parts[1] if (defined($value) && (lc($value) =~ m/auto/));
$unit = "\xB0C" if(lc($reading) =~ m/temp/);
$unit = "%" if(lc($reading) =~ m/valve/);
return ($reading, $value, $unit);
}
Gruß,
Gero
Danke, ist comitted.
Hallo,
ich poste hier einfach in diesen vorhandenen Thread - ich habe seit einiger Zeit offenbar (wieder?) das Problem mit SendQueueHandler:
Error in CUL_MAX_SendQueueHandler: CUL CUL0 did not answer request for current credits. Waiting 5 seconds.
Mein Fhem ist up to date und das Problem tritt scheinbar erst nach mehreren Stunden "uptime" auf - ein "shutdown restart" behebt das Problem sofort aber nicht nachhaltig.
Das Problem sollte doch eigentlich mittlerweile gefixt sein? Den Patch aus dem OP habe ich nicht installiert weil der Fix ja mittlerweile eingecheckt wurde und via normales Update verteilt wurde?
Übersehe ich irgendetwas?
Gruß
Robert
Hallo
Gibt es ein Lösung dafür. Mein LOG ist voll mit diese fehller und den ganzen system naturlich "dead" :)
2016.11.07 19:45:10 1: Error in CUL_MAX_SendQueueHandler: CUL CUL0 did not answer request for current credits. Waiting 5 seconds.
2016.11.07 19:45:15 1: Error in CUL_MAX_SendQueueHandler: CUL CUL0 did not answer request for current credits. Waiting 5 seconds.
2016.11.07 19:45:20 1: Error in CUL_MAX_SendQueueHandler: CUL CUL0 did not answer request for current credits. Waiting 5 seconds.
2016.11.07 19:45:25 1: Error in CUL_MAX_SendQueueHandler: CUL CUL0 did not answer request for current credits. Waiting 5 seconds.
MFG