-
-
Notifications
You must be signed in to change notification settings - Fork 641
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7bcebe7
commit e5377d1
Showing
2 changed files
with
75 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
e5377d1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ich habe mir den Quelltext in der
fix/delta-status-decorated
genauer angesehen und basierend auf den Kommentaren glaube ich, dass ein Missverständnis vorliegt.Es scheint davon ausgegangen zu werden, dass man in der Smart-Variante mehr Register auslesen kann - dem ist paradoxer Weise aber nicht so. Die Logik stimmt aber grundsätzlich.
Grundsätzliches:
Das war der Grund, warum wir die Verfügbarkeit des Registers 1001 nutzen, um zwischen der Modbux RTU- und der Modubs TCP-Logik zu switchen.
Das Ergebnis sollte sein, dass bei der Delta AC Max Smart beim Auslesen einer
3
aus dem Register 1000 (deltaRegEvseState) derapi.StatusB
zurückgegeben wird.Das heißt:
Register 1001 verfügbar = Basic-Logik
Register 1000 nicht verfügbar = Smart-Logik
Kleine Korrektur:
Wir haben im Code des Commits b8d9203 noch einen Knopf in der Zuordnung der Register-Werte zum Status. in der
statusOCPP()
.Das habe ich adaptiert an jenes aus der dieser delta.go-Version.
Den Code im neuen PR #16094 habe ich getestet - damit läuft die Delta AC Max Smart und wird erkannt.
Randnotiz:
Warum der StatusB bei der RTU-Abfrage (Delta AC Max Basic) überhautp ein Problem verursacht hat, verstehe ich nicht, da das Register 1001 (deltaRegEvseChargerState) gar nicht weiter abgefragt wurde () und eigentlich dieselbe Logik funktionieren sollte.
https://github.com/evcc-io/evcc/blob/70b87715e10bb22bc005b3a05953d2116798a00d/charger/delta.go : Diese Version hat nur mit der Delta AC Max Smart funktioniert
https://github.com/evcc-io/evcc/blob/da91ea630318eae7e3569e6895963f50cd69cf39/charger/delta.go : Diese Version hat nur mit der Delta AC Max Basic funktionert.
Was mir aufgefallen ist: In Zeile 79 hat sich
return NewDelta(cc.URI, cc.Device, cc.Comset, cc.Baudrate, modbus.ProtocolFromRTU(cc.RTU), cc.ID, cc.Connector)
inreturn NewDelta(cc.URI, cc.Device, cc.Comset, cc.Baudrate, cc.Settings.Protocol(), cc.ID, cc.Connector)
geändert.Kann das der breaking change für die Delta AC Max Basic (Verbindung über RTU/TCP-Converter anstatt über die native TCP-Verbindung der Wallbox) gewesen sein?