FHEM hängt sich auf wenn Arduino mit FIRMATA Offline ist

Begonnen von jayjones, 16 April 2014, 16:51:54

Vorheriges Thema - Nächstes Thema

jayjones

Hallo,

mein FHEM ist über keinen Port mehr erreichbar. Meistens passiert das, wenn mein Arduino mit FIRMATA Offline ist. Mal geht es gut, mal nicht. Hier die letzten Zeilen aus dem Logfile:

2014.04.16 09:32:44 1: OWX: 1-Wire devices found on bus onewiremaster (Vorlauf)
2014.04.16 10:25:31 1: 3030 disconnected, waiting to reappear
2014.04.16 10:26:59 1: CallBlockingFn: Can't connect to localhost:7073


Ich habe bereits versucht den Port für Telnet zu ändern, on der config, ohne Erfolg.
Ich bin nicht so vertraut mit Linux/Unix. Was bedeutet CallBlockingFn? Gibt es hier noch einen weiteren log?

Hat jemand nen Tipp in welche Richtung ich suchen muss?

ntruchsess

Die CallBlockingFn hat jedenfalls erst mal nichts mit Firmata zu tun, die Ausgabe kommt von einem Modul, das die Blocking.pm benutzt (FRM tut das nicht). Häng mal dein fhem.cfg an.
Versuch das mal zu reproduzieren, wenn Du FHEM manuell von der CommandoZeile gestartet hast und lass die Shell, aus der Du fhem gestartet hast offen. Eventuell stürzt FHEM ja mit einem Perl-fehler ab. Der steht dann in dieser Shell und nicht im Log.

Gruß,

Norbert
while (!asleep()) {sheep++};

jayjones

Ich habe mal die Konsole aufgelassen:

pi@raspberrypi ~ $ Can't call method "packet_onewire_request" on an undefined value at FH        EM/lib/Device/Firmata/Platform.pm line 781.

Das erklärt zumindest der Zusammenhang zum Arduino, der offline ist. Ich kann aber nicht ganz vermeiden, das der Arduino hin und wieder mal nicht erreichbar ist, da dieser an ner WLAN Bridge auf dem Dachboden hängt. Würde ggf. Kabel ziehen, lieber wäre mir aber die Ursache abzustellen, nicht die Symptome.


ntruchsess

danke für die Rückmeldung.

Ich habe mal etwas mehr Errorhandling in FRM eingebaut, damit Module wie OWX, die selber keine Exceptions fangen diese nicht mehr abbekommen. Ich hoffe damit ist der Fehler bei dir weg. (Leider kann man an der Fehlermeldung nicht sehen, welches Modul das eigentlich aufgerufen hat, also wenn es noch auftritt, dann bitte melden).

Gruß,

Norbert
while (!asleep()) {sheep++};


ntruchsess

Die Änderung von gestern ist leider ein bischen über das Ziel hinausgeschossen, das muss ich noch mal sorgfältiger machen, hab ich erst mal wieder reverted. Einen neuen Fix für Deinen Fehler mache ich aber bald...

Gruß,

Norbert
while (!asleep()) {sheep++};

Charles

Mein Arduino findet die Sensoren auch nicht mehr - "unknown sysex command". Das hier scheint der Fehler zu sein.
Wie geht das jetzt mit dem Revert? Gibts da irgendwo eine Anleitung?

Danke Charles
Raspberry · FB 7590 · CUL · FS20 · MAX · ESP

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Charles

Gut, dann werd ich mal nicht mehr weitersuchen und morgen weitermachen.

Danke Charles
Raspberry · FB 7590 · CUL · FS20 · MAX · ESP

Charles

Hab gleich weitergemacht und mir die Version aus dem Nightly Build geholt.
Jetzt bleibt nur der Fehler, den ich seit dem Update am 16.4. hab

2014.04.16 19:24:21 3: OWX: Failure in temperature conversion

Der taucht gerade wieder auf. Der kam mit dem Update.

Charles
Raspberry · FB 7590 · CUL · FS20 · MAX · ESP