Bei mir gab es immer mal wieder "Portverwirrung", d.h. die Namen der USB-Ports kamen beim Reboot oder auch im laufenden Betrieb durcheinander. Das kann z.B. passieren, wenn ein USB-Port (z.B. ttyUSB0) einen kurzen Aussetzer hat und dann zurück kommt. Linux erkennt einen USB-Port, der sich neu anmeldet und vergibt einen Namen. Weil ttyUSB0 schon besetzt ist wird nun der nächste freie Name, z.B. ttyUSB2 vergeben. FHEM weiß davon aber nichts und will weiterhin über ttyUSB0 auf die Wärmepumpe zugreifen, weil es in der fhem.cfg so definiert ist. ==> die Kommunikation zur THZ bricht zusammen.
Es gibt dafür eigentlich eine Lösung mit
udev, der die Ports anhand diverser Kriterien (Hardware, Hersteller, Seriennummer, ...) identifiziert und vordefinierte Portnamen vergibt. Das lief bei mir aber nie zuverlässig, vermutlich deshalb, weil auch mit udev ein bereits vergebener Name nicht nochmal verwendet werden kann.
Es gibt eine andere Lösung:
Auf Linuxebene:
cd /dev/serial/by-id/
ls -la
Jetzt sieht man, dass die Portnamen eigentlich nur symbolische Links auf die "richtigen" Namen der Hardware sind. Ich habe nun in die fhem.cfg direkt die Namen der Hardware eingetragen. Die sind immer gleich und werden nicht situationsabhängig umbenannt. Seither funktioniert mein FHEM zuverlässig und übersteht auch jeden Reboot von fhem oder Linux.