Danke für die Frage, vermutlich hatte ich das gleich Problem und habe mich nur gewundert, warum ich die OpenWB Box alle paar Monate mal neu starten musste. Vermutlich ist einfach der Speicher vollgelaufen mit allen den nicht abgeschlossenen Prozessen.
Ich habe den Code in meinem ersten Post entsprechend angepasst. Der Code lief jetzt bei mir seit 2 Wochen ohne Fehler, daher traue ich mich ihn hier zu veröffentlichen.
Ich teste derzeit auf einer virtuellen Machine die OpenWB V2 und binde sie über MQTT aus Home Assistant ein. Dort gibt es ein schönes Modul zur SENEC , das von erfahreneren Leuten gepflegt wird.
Update 12.05.2024:
Ich habe um die HTTP Abfragen jetzt ein try ... except gesetzt, damit ein nicht antwortendes SENEC System nicht die OpenWB einfrieren lässt. (Danke an Newbe2020 für die Frage.)
Sollte nun innerhalb von 2 Sekunden keine Antwort kommen, wird die komplette Funktion einfach beendet, ohne den weiteren Code abzuarbeiten
Beispiel hier:
Code: Alles auswählen
try:
reqdata='{"PM1OBJ1":{"FREQ":"","U_AC":"","I_AC":"","P_AC":"","P_TOTAL":""}}'
response = urllib2.urlopen('https://'+ ipaddress +'/lala.cgi' ,data=reqdata, context=ctx, timeout=2)
jsondata = json.load(response)
except:
sys.exit(1)