Hallo liebe Forumgemeinde,
seit einigen Tagen funktioniert meine Anwesenheitserkennung in FHEM nicht mehr richtig, weil meine Fritzbox es scheinbar nicht schafft die WLAN Verbindung zu unseren Handys aufrecht zu erhalten. Immer mal wieder bricht die Verbindung unmotiviert zusammen, was dazu führt, dass die gesamte Wohnung in den "Nicht-zu-Hause-Modus" versetzt wird und sich der Fernseher bestimmt genau dann ausschaltet, wenn der Krimi gerade sehr spannend ist. >:(
Das Problem konnte ich noch nicht genau nachvollziehen; jedenfalls bietet das Presencemodul ja dankenswerter Weise noch andere Möglichkeiten der Erkennung. So habe ich jetzt mal von WLAN auf Bluetooth umgestellt und das scheint auch gut zu funktionieren.
......bis auf eine Kleinigkeit.
In mein Logfile werden jetzt alle paar Minuten folgende Fehlermeldung geschrieben:
ps: invalid option -- a
BusyBox v1.16.1 (2013-11-06 05:34:06 CST) multi-call binary.
Usage: ps
Report process status
Options:
w Wide output
FHEM läuft bei mir auf meiner Synology.
Im Code des Presencemoduls habe ich gesehen, dass 'ps' mit den Optionen ax aufgerufen wird. Die Fehlermeldung deutet ja daraufhin, dass zumindest die Option -a nicht gemocht wird. Laut der man Page von ps handelt es sich bei dem Aufruf 'ps ax' auch um die BSD Syntax und nicht um die Standard Syntax.
Ich habe nun überhaupt keine Ahnung, ob die Art der Syntax (Standard oder BSD) irgendeine Rolle spielt, aber da weder meine Synology noch meine Fritzbox die Option a kennen und meine Synology auch die Option x nicht kennt, habe ich im Code des Presencemoduls einfach mal frech die Optionen ax entfernt und FHEM neu gestartet.
Und siehe da die Bluetootherkennung scheint zu arbeiten und schreibt mir keine Fehler mehr ins Logfile.
Habe ich durch das Entfernen der Optionen ax mit irgendwelche schwerwiegenden Problemen zu rechnen oder wäre das eine Möglichkeit zu Anpassung des Codes? Zumindest bei allen Usern bei denen FHEM auf einer Fritzbox läuft müsste bei einer Bluetootherkennung doch das gleiche Problem auftauchen?
Gruß
Wolle
Hallo Wolle,
bitte ersetze mal im PRESENCE Modul den Aufruf "ps ax" durch "ps w". Es geht darum zu ermitteln ob aktuell noch andere Bluetooth Abfragen laufen. Erst wenn keine andere Abfrage läuft, führt er die gewünschte Abfrage aus.
Werde ich die Tage noch anpassen.
Viele Grüße
Markus
Hallo Markus,
der Aufruf läuft jetzt mit 'ps w'. Bislang scheint alles zu laufen und Fehler sind im Logfile auch keine zu finden.
Gruß
Wolle
Ich habe soeben eine Erkennung in PRESENCE eingebaut, wonach die Parameter für ps jenachdem, ob es sich um die BusyBox Variante von ps handelt, entsprechend gewählt werden.
Ist ab morgen verfügbar.
Viele Grüße
Markus
Hallo Markus,
das sieht gut aus bei mir. BT-erkennung arbeitet und es sind keine Fehler im Log.
Vielen Dank.
Gruß
Wolle