[gelöst] 32_withings.pm lässt FHEM nach fehlender Internetverbindung "abstürzen"

Begonnen von frankbeckers, 10 August 2014, 21:02:34

Vorheriges Thema - Nächstes Thema

frankbeckers

Hallo justme1968,

leider hat sich bei mir folgender Fehler zugetragen.

Eingesetzte Version:
# $Id: 32_withings.pm 6154 2014-06-23 18:16:39Z justme1968 $

Entweder durch meine Fritzbox oder durch meinen Provider (ich konnte dabei leider keine tiefere Analyse machen) stand keine Verbindung von LAN nach WAN zur Verfügung... soll heißen alle internen LAN/WLAN Teilnehmer (Fhem Server, Drucker, NAS, Rechner etc.) konnten untereinander/miteinander "sprechen", aber ein Zugriff auf externe URLs war nicht möglich. Alle externen Anfragen mündeten in einem Timeout.

In dieser Situation gab es folgenden ersten Fehler inkl. Neustart Fhem:

Use of uninitialized value $once in concatenation (.) or string at ./FHEM/32_withings.pm line 180.
Use of uninitialized value $authcookies in pattern match (m//) at ./FHEM/32_withings.pm line 199.
Use of uninitialized value in concatenation (.) or string at ./FHEM/32_withings.pm line 434.
Use of uninitialized value in concatenation (.) or string at ./FHEM/32_withings.pm line 409.
Use of uninitialized value $ret in pattern match (m//) at ./FHEM/32_withings.pm line 558.
Use of uninitialized value in numeric eq (==) at ./FHEM/32_withings.pm line 561.
Can't use an undefined value as an ARRAY reference at ./FHEM/32_withings.pm line 564.
2014.08.03 19:33:42 1: Including fhem.cfg
2014.08.03 19:33:42 3: telnetPort: port 7072 opened
2014.08.03 19:33:42 3: WEB: port 8083 opened
2014.08.03 19:33:42 3: WEBphone: port 8084 opened
2014.08.03 19:33:42 3: WEBtablet: port 8085 opened
2014.08.03 19:33:42 2: eventTypes: loaded 12207 events from log/eventTypes.txt
2014.08.03 19:33:42 3: Opening fb1 device fritz.box:2002
2014.08.03 19:33:42 3: fb1 device opened
2014.08.03 19:33:42 1: FBAHA fb1 registered with handle: 00000004
2014.08.03 19:33:52 3: [STV] defined with host: 192.168.178.34 port: 55000 MAC: 1e:f6:d7:be:00:ad
2014.08.03 19:33:52 1: HMLAN_Parse: hmlan new condition disconnected
2014.08.03 19:33:52 3: Opening hmlan device 192.168.178.48:1000
2014.08.03 19:33:52 3: hmlan device opened
2014.08.03 19:33:52 1: HMLAN_Parse: hmlan new condition init
2014.08.03 19:33:53 3: [STV] defined with host: 192.168.178.21 port: 55000 MAC: 1e:f6:d7:be:00:ad
2014.08.03 19:33:53 3: [STV] defined with host: 192.168.178.21 port: 52235 MAC:
2014.08.03 19:33:53 3: USBSERIAL: CUL_ARDUINO OpenDev() /dev/ttyACM0 (reopen = 0)
2014.08.03 19:33:53 3: USBSERIAL: CUL_ARDUINO OpenDev() serial settings used: baudrate=9600 databits=8 parity=none
2014.08.03 19:33:53 2: USBSERIAL: CUL_ARDUINO OpenDev() opened device /dev/ttyACM0
2014.08.03 19:33:53 3: USBSERIAL: ehz361z5 OpenDev() /dev/ttyUSB0 (reopen = 0)
2014.08.03 19:33:53 3: USBSERIAL: ehz361z5 OpenDev() serial settings used: baudrate=9600 databits=7 parity=odd
2014.08.03 19:33:53 2: USBSERIAL: ehz361z5 OpenDev() opened device /dev/ttyUSB0
2014.08.03 19:33:53 3: USBSERIAL: meinSensor8 OpenDev() /dev/ttyACM1 (reopen = 0)
2014.08.03 19:33:53 3: USBSERIAL: meinSensor8 OpenDev() serial settings used: baudrate=9600 databits=8 parity=none
2014.08.03 19:33:53 2: USBSERIAL: meinSensor8 OpenDev() opened device /dev/ttyACM1
2014.08.03 19:33:54 3: Connecting to database mysql:database=fhem;host=192.168.178.46;port=3306 with user fhem
2014.08.03 19:33:54 1: Including ./log/fhem.save
2014.08.03 19:34:44 3: withings_D1409033: I/O device is Waage
2014.08.03 19:35:14 3: withings_U3150813: I/O device is Waage
...


Danach gab es in einer Endlosschleife immer wieder einen Neustart von Fhem wenn die Definitionen für die Withings Waage angesprungen wurden:

2014.08.03 19:35:35 1: Including fhem.cfg
2014.08.03 19:35:35 3: telnetPort: port 7072 opened
2014.08.03 19:35:35 3: WEB: port 8083 opened
2014.08.03 19:35:35 3: WEBphone: port 8084 opened
2014.08.03 19:35:35 3: WEBtablet: port 8085 opened
2014.08.03 19:35:35 2: eventTypes: loaded 12207 events from log/eventTypes.txt
2014.08.03 19:35:35 3: Opening fb1 device fritz.box:2002
2014.08.03 19:35:35 3: fb1 device opened
2014.08.03 19:35:35 1: FBAHA fb1 registered with handle: 00000005
2014.08.03 19:35:46 3: [STV] defined with host: 192.168.178.34 port: 55000 MAC: 1e:f6:d7:be:00:ad
2014.08.03 19:35:46 1: HMLAN_Parse: hmlan new condition disconnected
2014.08.03 19:35:46 3: Opening hmlan device 192.168.178.48:1000
2014.08.03 19:35:46 3: hmlan device opened
2014.08.03 19:35:46 1: HMLAN_Parse: hmlan new condition init
2014.08.03 19:35:46 3: [STV] defined with host: 192.168.178.21 port: 55000 MAC: 1e:f6:d7:be:00:ad
2014.08.03 19:35:46 3: [STV] defined with host: 192.168.178.21 port: 52235 MAC:
2014.08.03 19:35:46 3: USBSERIAL: CUL_ARDUINO OpenDev() /dev/ttyACM0 (reopen = 0)
2014.08.03 19:35:46 3: USBSERIAL: CUL_ARDUINO OpenDev() serial settings used: baudrate=9600 databits=8 parity=none
2014.08.03 19:35:46 2: USBSERIAL: CUL_ARDUINO OpenDev() opened device /dev/ttyACM0
2014.08.03 19:35:46 3: USBSERIAL: ehz361z5 OpenDev() /dev/ttyUSB0 (reopen = 0)
2014.08.03 19:35:46 3: USBSERIAL: ehz361z5 OpenDev() serial settings used: baudrate=9600 databits=7 parity=odd
2014.08.03 19:35:46 2: USBSERIAL: ehz361z5 OpenDev() opened device /dev/ttyUSB0
2014.08.03 19:35:47 3: USBSERIAL: meinSensor8 OpenDev() /dev/ttyACM1 (reopen = 0)
2014.08.03 19:35:47 3: USBSERIAL: meinSensor8 OpenDev() serial settings used: baudrate=9600 databits=8 parity=none
2014.08.03 19:35:47 2: USBSERIAL: meinSensor8 OpenDev() opened device /dev/ttyACM1
2014.08.03 19:35:47 3: Connecting to database mysql:database=fhem;host=192.168.178.46;port=3306 with user fhem
2014.08.03 19:35:47 1: Including ./log/fhem.save
2014.08.03 19:36:38 3: withings_D1409033: I/O device is Waage
2014.08.03 19:37:08 3: withings_U3150813: I/O device is Waage
2014.08.03 19:37:28 1: Including fhem.cfg
2014.08.03 19:37:28 3: telnetPort: port 7072 opened
2014.08.03 19:37:28 3: WEB: port 8083 opened
2014.08.03 19:37:28 3: WEBphone: port 8084 opened
2014.08.03 19:37:28 3: WEBtablet: port 8085 opened
2014.08.03 19:37:29 2: eventTypes: loaded 12207 events from log/eventTypes.txt
2014.08.03 19:37:29 3: Opening fb1 device fritz.box:2002
2014.08.03 19:37:29 3: fb1 device opened
2014.08.03 19:37:29 1: FBAHA fb1 registered with handle: 00000006
2014.08.03 19:37:39 3: [STV] defined with host: 192.168.178.34 port: 55000 MAC: 1e:f6:d7:be:00:ad
2014.08.03 19:37:39 1: HMLAN_Parse: hmlan new condition disconnected
2014.08.03 19:37:39 3: Opening hmlan device 192.168.178.48:1000
2014.08.03 19:37:39 3: hmlan device opened
2014.08.03 19:37:39 1: HMLAN_Parse: hmlan new condition init
2014.08.03 19:37:39 3: [STV] defined with host: 192.168.178.21 port: 55000 MAC: 1e:f6:d7:be:00:ad
2014.08.03 19:37:39 3: [STV] defined with host: 192.168.178.21 port: 52235 MAC:
2014.08.03 19:37:39 3: USBSERIAL: CUL_ARDUINO OpenDev() /dev/ttyACM0 (reopen = 0)
2014.08.03 19:37:39 3: USBSERIAL: CUL_ARDUINO OpenDev() serial settings used: baudrate=9600 databits=8 parity=none
2014.08.03 19:37:39 2: USBSERIAL: CUL_ARDUINO OpenDev() opened device /dev/ttyACM0
2014.08.03 19:37:40 3: USBSERIAL: ehz361z5 OpenDev() /dev/ttyUSB0 (reopen = 0)
2014.08.03 19:37:40 3: USBSERIAL: ehz361z5 OpenDev() serial settings used: baudrate=9600 databits=7 parity=odd
2014.08.03 19:37:40 2: USBSERIAL: ehz361z5 OpenDev() opened device /dev/ttyUSB0
2014.08.03 19:37:40 3: USBSERIAL: meinSensor8 OpenDev() /dev/ttyACM1 (reopen = 0)
2014.08.03 19:37:40 3: USBSERIAL: meinSensor8 OpenDev() serial settings used: baudrate=9600 databits=8 parity=none
2014.08.03 19:37:40 2: USBSERIAL: meinSensor8 OpenDev() opened device /dev/ttyACM1
2014.08.03 19:37:40 3: Connecting to database mysql:database=fhem;host=192.168.178.46;port=3306 with user fhem
2014.08.03 19:37:40 1: Including ./log/fhem.save
2014.08.03 19:38:31 3: withings_D1409033: I/O device is Waage
2014.08.03 19:39:01 3: withings_U3150813: I/O device is Waage
2014.08.03 19:39:22 1: Including fhem.cfg
...


Dies lies sich erst durch löschen der Definitionen für withings beheben.

Folgende Definitionen für withings waren zuu dem Zeitpunkt in Kraft (Kennwörter etc. hier ersetzt)

define Waage withings ACCOUNT email passwort
attr Waage room withings
define withings_U3150813 withings 3150813 4711
attr withings_U3150813 IODev Waage
attr withings_U3150813 alias name1
attr withings_U3150813 room withings
attr withings_U3150813 stateFormat weight kg
define withings_U3150872 withings 3150872 4712
attr withings_U3150872 IODev Waage
attr withings_U3150872 alias name2
attr withings_U3150872 room withings
attr withings_U3150872 stateFormat weight kg
define withings_U3153152 withings 3153152 4713
attr withings_U3153152 IODev Waage
attr withings_U3153152 alias name3
attr withings_U3153152 room withings
attr withings_U3153152 stateFormat weight kg
define withings_U3153470 withings 3153470 4714
attr withings_U3153470 IODev Waage
attr withings_U3153470 alias name4
attr withings_U3153470 room withings
attr withings_U3153470 stateFormat weight kg
define withings_D1409033 withings 1409033
attr withings_D1409033 IODev Waage
attr withings_D1409033 alias Body scale
attr withings_D1409033 room withings
attr withings_D1409033 stateFormat co2 ppm
define FileLog_withings_U3150813 FileLog ./log/withings_U3150813-%Y-%m-%d.log withings_U3150813
attr FileLog_withings_U3150813 archivedir /opt/fhem/archive
attr FileLog_withings_U3150813 nrarchive 5
attr FileLog_withings_U3150813 room withings
define SVG_FileLog_withings_D1409033_1 SVG FileLog_withings_D1409033:SVG_FileLog_withings_D1409033_1:CURRENT
attr SVG_FileLog_withings_D1409033_1 fixedrange week
attr SVG_FileLog_withings_D1409033_1 room withings
define FileLog_withings_D1409033 FileLog ./log/withings_D1409033-%Y.log withings_D1409033
attr FileLog_withings_D1409033 room withings


Ich hoffe Du kannst Damit den Fehler irgendwie eingrenzen.

Gruß
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

Benni

Hallo,

ich hatte in den letzten Tagen auch zwei mal Komplettabstürze von FHEM, die vermeintlich auf das Modul 32_withings zurückzuführen sind.

Die letzten Logeinträge vor dem Absturz waren die folgenden:


2014.11.13 00:49:46 1: PERL WARNING: Use of uninitialized value $ret in pattern match (m//) at ./FHEM/32_withings.pm line 558.
2014.11.13 00:49:46 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/32_withings.pm line 561.


wenn ich den Quellcode richtig interpretiere ist das Problem hier ähnlich gelagert, sprich es konnten aus irgendeinem Grund (unterbrochene Internetverbindung?) keine Daten über das Web agbgerufen werden, was in der Folge wohl zu Fehlern aufgrund von nicht initialisierten Ergebniswerten letztendlich zum Absturz führt.

Aktuell eingesetzte Version des Moduls ist folgende:


# $Id: 32_withings.pm 6719 2014-10-09 08:42:06Z justme1968 $


Ich habe alle meine Withings-Instanzen nun erst mal auf disabled=1 gesetzt.

Vielleicht konnte ich mit den o.a. Infos ja helfen, das Problem weiter einzugrenzen.

Gruß Benni.

justme1968

ich habe eben einen fix für die beiden warnung eingecheckt.

beides ist aber nicht die eigentliche ursache für den absturz sondern nur ein vorheriges symptom das die withings seite keine daten geliefert hat.

mal sehen ob es jetzt besser geht. wenn ich bräuchte ich bitte die ausgabe auf der console wenn das problem auftritt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Benni

Hallo Andre,

Hatte heute Morgen kurzfristig einen Internetausfall, was bei mir wieder mal zum Komplettabsturz von FHEM geführt hat.

Letzte Zeile im Log vor dem Komplettabsturz:


2015.01.27 05:08:13 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/32_withings.pm line 566.


Konsolenausgabe habe ich dazu leider keine. Allerdings konnte ich FHEM erst wieder starten, nachdem das Internet wieder da war. Davor führte jeglicher Startversuch wieder zum Absturz. Laut Log kam er dabei wieder bis zum Withings-Modul:


2015.01.27 05:12:46 3: Opening HMLAN2 device 192.168.178.53:1000
2015.01.27 05:12:46 3: HMLAN2 device opened
2015.01.27 05:12:46 1: HMLAN_Parse: HMLAN2 new condition init
2015.01.27 05:12:57 3: EG.SZ.WT.Gewicht.Benni: I/O device is EG.SZ.WT.Withings
2015.01.27 05:12:57 1: PERL WARNING: Use of uninitialized value in numeric eq (==) at ./FHEM/32_withings.pm line 566.


Beim nächsten erfolgreichen Start sah es an der selben Stelle dann so aus:


2015.01.27 05:21:48 3: Opening HMLAN2 device 192.168.178.53:1000
2015.01.27 05:21:48 3: HMLAN2 device opened
2015.01.27 05:21:48 1: HMLAN_Parse: HMLAN2 new condition init
2015.01.27 05:21:52 3: EG.SZ.WT.Gewicht.Benni: I/O device is EG.SZ.WT.Withings
2015.01.27 05:21:53 3: EG.SZ.WT.Gewicht.Bine: I/O device is EG.SZ.WT.Withings
2015.01.27 05:21:55 3: EG.SZ.WT.Withings.Waage: I/O device is EG.SZ.WT.Withings
2015.01.27 05:21:57 1: usb create starting
2015.01.27 05:21:58 1: usb create end
...


Vielleicht kannst du damit ja schon was anfangen?
Ansonsten würde ich das ganze mal bei Gelegenheit noch provozieren, um eine Konsolenausgabe zu bekommen.

Gruß Benni.

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Benni

Also gut, Internet deaktiviert und FHEM neu gestartet:


itunes@cubie:/opt/fhem$ sudo -u fhem perl fhem.pl configDB
Use of uninitialized value $current in numeric ge (>=) at ./FHEM/59_Twilight.pm line 494.
Use of uninitialized value $current in numeric le (<=) at ./FHEM/59_Twilight.pm line 494.
Use of uninitialized value $current in array element at ./FHEM/59_Twilight.pm line 495.
Can't use an undefined value as an ARRAY reference at ./FHEM/32_withings.pm line 569.


das war dann auch schon alles.
Die 3 Twilight-Warnungen sind vermutlich sowieso irrelevant?

justme1968

ich hab eben einen fix eingecheckt der helfen sollte.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Benni

Vielen Dank!

Ich werde morgen dann mal ein Update machen und morgen Abend auch nochmal ohne Internet testen.

Benni

Hallo Andre,

habe eben das Update durchgeführt und dann nochmal den FHEM-Start ohne Internet gemacht.

Ergebnis: Läuft!  8)

Vielen Dank!
Gruß Benni.

@frankbeckers: Damit könnte man diesen Thread eigentlich als gelöst markieren.

frankbeckers

Zitat von: Benni am 29 Januar 2015, 18:05:10
Hallo Andre,

habe eben das Update durchgeführt und dann nochmal den FHEM-Start ohne Internet gemacht.

Ergebnis: Läuft!  8)

Vielen Dank!
Gruß Benni.

@frankbeckers: Damit könnte man diesen Thread eigentlich als gelöst markieren.

Hallo,

Ja, auch bei mir funktioniert alles.

Gruß
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200