SENEC Modul #3456
openWB Admin
started this conversation in
Modulthemen
SENEC Modul
#3456
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
HINWEIS: Zusammenfassung aus dem alten openWB Forum
SENEC Modul – Zusammenfassung (Mai 2026)
Ausgangssituation
Mehrere Nutzer verwenden ein eigenes SENEC-Modul bzw. Python-Skript, um SENEC-Speicher lokal auszulesen und die Daten per MQTT an openWB zu übertragen.
Insbesondere bei openWB 2.x wurde das Skript von mehreren Anwendern erfolgreich eingesetzt.
Verbesserung des Skripts (Mai 2024)
Problem
Wenn der SENEC-Speicher nicht antwortete (z.B. bei NPU-Fehlern), konnten Prozesse hängen bleiben.
Dadurch musste teilweise die openWB nach einiger Zeit neu gestartet werden.
Lösung von cjungde
Die HTTP-Abfragen wurden in ein try/except eingebettet.
Beispiel:
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)
Vorteile:
Vorschlag für Fehler-Logging
newbe2020 schlug zusätzlich ein Logging vor:
except Exception as e:
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open('/var/log/openWB.log', 'a') as logfile:
logfile.write(
"{} Error fetching data from SENEC: {}\n".format(timestamp, e)
)
sys.exit(1)
Damit könnten Verbindungsprobleme zum SENEC-System leichter nachvollzogen werden.
Erfolgreicher Einsatz
Mehrere Nutzer bestätigten anschließend den erfolgreichen Betrieb des SENEC-Moduls.
Zitat sinngemäß:
"Vielen Dank für die Arbeit – es funktioniert."
openWB 2.2.0 und MQTT-Topics
Problem
Nach dem Update auf openWB 2.2.0 erschienen Warnmeldungen:
"Veraltete, abwärtskompatible MQTT-Topics werden verwendet."
Betroffen war das GitHub-Projekt:
https://github.com/matzeeg3/openwb_senec
Lösung
Die MQTT-Topics mussten an die seit openWB 2.1.8 eingeführte Struktur angepasst werden.
Beispiel:
Alt:
if openwbv == "2":
topic = "openWB/set/counter/"+openwbenvid+"/get/power"
Neu:
if openwbv == "2":
topic = "openWB/set/mqtt/counter/"+openwbenvid+"/get/power"
Wichtig:
Die gleiche Anpassung muss an allen MQTT-Topics im Skript erfolgen.
Orientierung bietet die openWB-Dokumentation unter:
Konfiguration → Geräte und Komponenten → MQTT
Ergebnis
Nach Anpassung aller Topics:
GitHub-Repository aktualisiert
matzeeg3 hat bestätigt:
"Ich habe das GitHub-Repo ebenfalls auf den neuesten Stand gebracht."
Damit enthält das aktuelle Repository bereits die korrigierten MQTT-Topics.
Fazit
Für SENEC-Speicher existiert eine funktionierende Community-Lösung:
Beta Was this translation helpful? Give feedback.
All reactions