Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor powerwall: de-duplicate code, use http-session with logging and automatic error detection #2056

Merged
merged 1 commit into from
Feb 24, 2022

Conversation

yankee42
Copy link
Contributor

@yankee42 yankee42 commented Feb 23, 2022

Wegen diesen Forenthread habe ich nochmal in das Powerwall-Script reingeschaut, dessen Batterieteil ich vor kurzem in #1817 überarbeitet habe.

Es werden natürlich alle möglichen HTTP-Responses in dem Modul geloggt, aber leider nicht die Response, um die es in dem Thread im Forum geht.

Allgemein ist der Code ist nicht mehr auf dem Stand der Technik. Dank #1823 gibt es die Möglichkeit automatisch zu loggen und auch die Fehlerekennung (raise_for_status()) automatisch zu machen und damit kann jede Menge Code entfallen.

Leider hatte der Code mit #1889 ein erhebliches Copy&paste-Erlebnis erlitten. Wenn man jetzt irgendwas irgendwo fixen will muss man das gleich 3x machen.

Ich habe daher den ganzen Code überarbeitet: Der Teil, der zwischen allen Modulen geteilt wird, ist in eine gemeinsame Bibliothek extrahiert und dank der Verwendung von get_http_session wird jetzt alles geloggt, was per http zurück kommt. Das wird zwar das im Forum beschriebene Problem nicht lösen, aber das debugging des Problems erleichtern.

Der von mir in #1817 erzeugte Unittest ist noch da und funktioniert, das gibt etwas Konfidenz darein, dass die Änderungen nicht alles völlig kaputt gemacht haben, allerdings sind die anderen beiden Module vollends ungetestet und mangels Powerwall habe ich überhaupt nichts im laufenden Betrieb testen können.

@yankee42 yankee42 changed the title refactor powerwall: de-duplicate code, use http-session with logging … refactor powerwall: de-duplicate code, use http-session with logging and automatic error detection Feb 23, 2022
@benderl benderl merged commit f8dd43b into snaptec:master Feb 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants