Ein Kosmetikfehler, funktionieren tut es, aber ich finde es doch seltsam:
Gateway und einziges Gerät definiere ich in der fhem.cfg (Zeile: [%]:
136: [2%]define EnOceanGW TCM ESP3 /dev/serial/by-id/usb-EnOcean_GmbH_EnOcean_USB_300_DB_FTXMJWNM-if00-port0@57600
5945: [81%]define SodaS8_1 EnOcean 0194C9xx
Bei einem Neustart wird bei x+5s das Gateway geöffnet, x+21s gibt es einen Fehler bei der Definition des Gerätes, bei x+35s wird das Gateway resettet.
2019.02.06 13:53:41.439 1: Including fhem.cfg
...
2019.02.06 13:53:46.185 3: Opening EnOceanGW device /dev/serial/by-id/usb-EnOcean_GmbH_EnOcean_USB_300_DB_FTXMJWNM-if00-port0
2019.02.06 13:53:46.187 3: Setting EnOceanGW serial parameters to 57600,8,N,1
2019.02.06 13:53:46.194 3: EnOceanGW device opened
...
2019.02.06 13:54:02.048 3: No I/O device found for SodaS8_1
...
2019.02.06 13:54:16.609 3: TCM EnOceanGW set reset
2019.02.06 13:54:16.621 2: TCM EnOceanGW RESPONSE: OK
...
Welchen Grund gibt es dafür? Oder läuft da was falsch bei mir?
Einen "No I/O device found" kenne ich von diversen anderen Geräten, wenn ich diese in der fhem.cfg vor den zugehörigen I/Os stehen habe (auch einer der wenigen Gründe, mal helfend Hand anzulegen, weil fhem das nicht selbst sortiert, etwa wenn man ein Gateway später zufügt und das ursprüngliche entfernt).
Servus Pfriemler,
define SodaS8_1 EnOcean 0194C9xx
Wenn das die ganze Definition deines SodaS8_1 Gerätes ist, dann kann es auch nicht funktionieren. Hilfreich wäre hier ein List der betroffenen Geräte.
2019.02.06 13:54:02.048 3: No I/O device found for SodaS8_1
Fhem gibt dir hier den Hinweis, das du für dein SodaS8_1 kein I/0 Device (dein EnOceanGW) definiert hast. Am einfachsten ist es, wenn du deinen Soda per autocreate erstellen lässt.
J....ein. Also: Wie ich schon ganz anfangs sagte: Kosmetikfehler? Es funktioniert ja dann alles. Ich bekomme zumindest alle 20 Minuten meine Meldungen vom Handgriff bzw. bei Änderung des Status. Insofern ging ich auch davon aus, dass meine Definitionen richtig und vollständig sind.
Ein Trugschluss, wie sich zeigt.
Ich mache es kurz: EnOcean funktioniert auch, wenn man beim Device ein falsches IODev angibt. Möglicherweise war es sogar mal anfangs richtig und ich hatte dem Gateway zwischenzeitlich mal einen anderen Namen verpasst.
Im SodaS8_1 (ein Security-Fenstergriff) finde ich im List im Betrieb nämlich:
Internals:
...
IODev EnOceanGW
IODevName TCM_ESP3_0
LASTInputDev EnOceanGW
wohingegen in der DEF (und im List auch in den Attributen) definiert ist:
attr SodaS8_1 IODev TCM_ESP3_0 ...
Wie gesagt: Es hat immer alles gut funktioniert bis auf die eine Fehlermeldung.
Mit IODev=EnOceanGW ist die Fehlermeldung erwartungsgemäß im Log weg. Und die Zeile "IODevName" in den Internals.
Bei einer Fehlfunktion wäre ich vermutlich eher drauf gekommen...
Schön das der Hinweis weg ist.
Zitat2019.02.06 13:54:02.048 3: No I/O device found for SodaS8_1
Wie gesagt es handelt sich um einen Hinweis, siehe auch commandref/verbose (https://fhem.de/commandref_DE.html#verbose). Wenn alles läuft ist doch gut.
Bei Level 1 und 2 sollte dann gehandelt werden. Dann läufts wahrscheinlich aber auch nicht mehr rund.