Moin.
Ich habe mal die lib.network weitergeschrieben ("zuende" ist so ein großes Wort...
) bzw. komplettiert. Dabei bin ich Foxi352s Ansatz, im Wesentlichen auf asyncio aufzubauen, weiter gefolgt.
Die bisherige Version hatte einen TCP-Server, einen TCP-Client und einen HTTP-Client. Den passenden UDP-Server habe ich ergänzt. Insgesamt habe ich den Code teilweise nochmal überarbeitet und einige Sachen in Bezug auf die asyncio-Geschichte angepasst.
Die Tools habe ich nach Rücksprache mit msinn soweit entfernt, wie sie in der lib.utils schon vorhanden sind (einige Fixes habe ich dafür in die lib.utils eingebracht).
Falls jemand die lib.network schon in seinen Projekten (Plugins...?) nutzt oder das vorhat, wäre ich über Feedback, Anregungen, Kritik usw dankbar.
Bei mir läuft sie bis dato mit dem network-Plugin und dem cli-Plugin fehlerfrei. Es gibt jedoch noch die eine oder andere Sache zu beachten, wenn man die lib.network einsetzen möchte. Dazu kann ich bei Bedarf gern noch ein paar Infos loswerden.
Da diese Änderung in manchen Hinsichten ein "breaking change" wäre, habe ich die noch nicht fürs offizielle Repo "angemeldet". Dafür möchte ich gern noch ein paar Testergebnisse von anderen Willigen haben
Die notwendigen Dateien finden sich in meinem Fork: https://github.com/Morg42/smarthome/tree/libnetwork
Wer nur die lib.network ausprobieren will und nicht den kompletten Fork runterladen, kann sich dort die lib/network.py und die lib/aioudp.py rauspicken.
Wer dazu noch das überarbeitete network-Plugin probieren will, braucht auch die aus meinem Fork: https://github.com/Morg42/plugins/tree/network
Zu den Plugindateien erkläre ich jetzt nichts weiter. Die alte Version habe ich im Unterverzeichnis __pv_1_5_0 aufgehoben; diese arbeitete mit lib.connection
Also - fröhliches Testen
Ich habe mal die lib.network weitergeschrieben ("zuende" ist so ein großes Wort...

Die bisherige Version hatte einen TCP-Server, einen TCP-Client und einen HTTP-Client. Den passenden UDP-Server habe ich ergänzt. Insgesamt habe ich den Code teilweise nochmal überarbeitet und einige Sachen in Bezug auf die asyncio-Geschichte angepasst.
Die Tools habe ich nach Rücksprache mit msinn soweit entfernt, wie sie in der lib.utils schon vorhanden sind (einige Fixes habe ich dafür in die lib.utils eingebracht).
Falls jemand die lib.network schon in seinen Projekten (Plugins...?) nutzt oder das vorhat, wäre ich über Feedback, Anregungen, Kritik usw dankbar.
Bei mir läuft sie bis dato mit dem network-Plugin und dem cli-Plugin fehlerfrei. Es gibt jedoch noch die eine oder andere Sache zu beachten, wenn man die lib.network einsetzen möchte. Dazu kann ich bei Bedarf gern noch ein paar Infos loswerden.
Da diese Änderung in manchen Hinsichten ein "breaking change" wäre, habe ich die noch nicht fürs offizielle Repo "angemeldet". Dafür möchte ich gern noch ein paar Testergebnisse von anderen Willigen haben

Die notwendigen Dateien finden sich in meinem Fork: https://github.com/Morg42/smarthome/tree/libnetwork
Wer nur die lib.network ausprobieren will und nicht den kompletten Fork runterladen, kann sich dort die lib/network.py und die lib/aioudp.py rauspicken.
Wer dazu noch das überarbeitete network-Plugin probieren will, braucht auch die aus meinem Fork: https://github.com/Morg42/plugins/tree/network
Zu den Plugindateien erkläre ich jetzt nichts weiter. Die alte Version habe ich im Unterverzeichnis __pv_1_5_0 aufgehoben; diese arbeitete mit lib.connection
Also - fröhliches Testen

Kommentar