Wenn es C gewesen wäre, hätte man es heute leichter mit Dingen wie multi Threading.
Wenn man sich die Mühe machen würde FHEM in C zu konvertieren hätte man ganz neuen Raum für Spielereien. Müsste ja keine 1:1 Umsetzung sein.
Ich spinne mal ein bischen rum:
- FHEM.pl core konvertieren nach C, lauffähig machen unter Linux und für SOCs, z.B. ESP IDF für ESP32
- diverse zweistufige Module schreiben für I2C,SPI, ... (vermutlich Plattformspezifisch), Module nachladbar (Linux) oder bei SoCs im Linkprozess einbinden.
- diverse neue Module schreiben für Hardware die man so an den ESP32 hängen kann z.B. DS18B20, ...
- Telnet Modul, PWM Modul, Counter Modul, AD-Wandler Modul, WEB-IF Modul ...
Fertig ist der FHEM IoT Client. Könnte dann zunächst auch kommunizieren mit dem konventionellen FHEM Perl Server.
Hardware aus dem Baukasten einfach zusammenstecken und via FHEM.cfg in Sekunden konfigurieren. Sogar im Betrieb.
Machbar ist das, und wäre bestimmt auch professionell einsetzbar. Rechenleistung sollte dann dank C auch für komplexere Dinge ausreichen wie z.B. Audio-Anwendungen und Umgebungsmapping für Roboter.
Stärke wäre die Modularität. Würde dann die projektspezifische Firmware ersetzen, die man in der Regel hat.
MFG