Skip to content

Conversation

@AlexHuebi
Copy link

Dieser Draft-PR ist identisch zu #2446 . Um meinen Branch in Zukunft leichter auf den aktuellen Stand zu bringen, habe ich in meinen Fork einen Branch für diesen Patch erstellt.

Folgend ist der originale Draft-PR:

Hallo,

dieser Draft bezieht sich auf #1636

nachdem sich fast ein Jahr lang keiner mehr bezgl. meinem Victron Stromzähler gemeldet hatte und ich grade einen kleinen Motivationsschub hatte, wollte ich mal ausprobieren ob ich die Codebase selbst "patchen" kann so, dass dieser korrekt erkannt wird.

Da ich aber nicht wirklich mit der Front-End vertraut bin habe ich nur die relevanten Bereiche im Backend umgeschrieben.

Kurz zusammengefasst:
Modbus Modul: Modbus/UDP Funktionalität eingefügt
Victron Modul: Änderung der Relevanten Bereiche auf Modbus/UDP
Änderung der Register auf die vom 3P75CT angegebenen.
Anpassung der Skalierungsfaktoren (der 3P75CT Stromzähler gibt negative Werte beim Bezug an)

Dieser Draft bricht jegliche Funktionalität des bestehenden Victron Moduls. Dh. CCGX Modbus Verbindungen, welche über Modbus TCP aufgebaut wurden, funktionieren nicht mehr.

Was sollte funktionsfähig sein?
Modbus Modul. Hier wurde nur etwas Hinzugefügt, es sollte aber bestehende Module nicht beeinträchtigen.

Was muss noch geändert werden?
Das Victron Python Modul ist derzeit nur für meinen Anwendungsfall funktionsfähig. Die Änderungen müssen entweder in ein eigenes Modul übernommen oder sauber eingepflegt werden. Dementsprechend muss auch das Front-End angepasst werden, um die Änderungen im Back-End korrekt darzustellen.

Ich hoffe es hilft zumindest etwas.

Anm.: Der Inhalt des Commits 349d150 kann theoretisch weg gelassen werden. Hatte beim Testen hier komische Werte. Diese dürften aber soweit zumindest fast korrekt sein. Hier ist dürfte mein Stromzähler eher semi-plausible Werte liefern.

@AlexHuebi
Copy link
Author

Nach etwa 5 Monaten folgendes Fazit:
Funktionen sind weitestgehend stabil.
Aus irgendeinen Grund jedoch verliert core die Verbindung zum Stromzähler und zeigt dies nicht korrekt an. Nach einen Neustart von openWB/core funktioniert aber alles wieder.

@seaspotter
Copy link
Contributor

Das wird so nicht funktionieren, weil du ein bestehendes und funktionierendes Modul für einen Modbus TCP Zähler änderst. Wird das übernommen funktionieren bei allen die bestehenden Module für einen Victron Zähler nicht mehr. Ich vernehme es handelt sich hier um einen neuen Zähler der nur Modbus UDP spricht? Wenn ja dann musst du dafür ein neues Modul für einen neuen Counter anlegen und entsprechend den bestehenden Code anpassen, dass man zusätzlich einen Modbus UDP Zähler auswählen kann. Ich meine das wurde aber so auch schon einmal mitgeteilt?

@AlexHuebi
Copy link
Author

Ich bin mir nicht ganz sicher wo hier das Problem beim Modbus Modul liegen sollte. An sich verändert mein Patch dort keine Logik. Es wird nur eine neue Klasse angelegt, welche (ähnlich wie es bei TCP gemacht wird) das darunter liegende PyModbus Modul adaptiert/wrapped.

Aber ja, meine Änderungen im victron/counter.py und victron/device.py Modul würde bei bestehenden Victron Geräten zu großen Problemen führen.

Ich habe die Änderungen dz. nur für mein eigenes System umgesetzt. Weil mir aber noch die Zeit fehlt bin ich noch nicht dazu gekommen, das notwendige Victron Modul zu erstellen.

Der PR sollte eig. eher als eine Art Hilfe für die Entwickler oder jmd. der mehr Vertraut mit der Codebasis sein, da für mich zumindest der aktuelle Funktionsstand ausreichend ist. Außerdem gibt es in der Community fast niemanden, der ein ähnliches Setup hat, was halt durch das fehlende Engagement seitens des Issues gezeigt wird.

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