NEWS
[Frage] Realisierung Adapter UDP Keba Wallbox
-
@christian-kohlöffel Sorry, sehe nicht ,dass es zurückgebaut wäre auf einen festen Wert. Konfig ist immer noch drin, oder? Letzter Commit ist vom 11. August. Evtl. Push vergessen?
-
@sneak-l8 Ich hab da mal eine Pull request gemacht. Dort sollte es drin sein ...
https://github.com/iobroker-community-adapters/ioBroker.kecontact/pulls -
@christian-kohlöffel Ne, da ist leider auch noch die Konfig erweitert.
-
@sneak-l8 Gibts doch nicht. Ich habe es hier Committet, oder?
-
@Sneak-L8 Ich will jetzt nicht meine Hand ins Feuer dafür legen, vielleicht hab ich es ja auch irgendwo vergessen und nicht in allen files raus genommen. Ist ja doch irgendwie an vielen Stellen nötig gewesen rein zu bauen ...
-
@christian-kohlöffel Ich glaube, ich verstehe jetzt.
Ich hab erstmal falsch geschaut. Im PR stehen die ältesten Commits oben, hatte den neusten erwartet. Die Änderung sind also doch da.
Aber Du hast nicht alles zurückgenommen. Z.B. .create-adapter.json enthält noch den neuen Wert und in den Translations ist es auch noch alles drin.Danach wäre es eigentlich optimimal, wenn Du Deine Commits zu einem zusammen-squashst. (Das hab ich selbst aber noch nicht gemacht, weil ich mit VSC noch nicht so recht weiß, wo). Aber das ist nicht ganz so wild, beim PR sieht man ja die "overall"-Änderung und sieht dann, dass nur weniges Stellen geändert wurden.
-
@sneak-l8 Ich hab die Änderung gerade noch in create-adapter.json gemacht. Sonst habe ich glaub alles Stellen erwischt. Bezüglich squashsen hab ich nachgelesen. Das kann man wohl direkt in GIT beim Pull Request Mergen als Option ankreuzen (https://www.git-tower.com/learn/git/faq/git-squash) .
-
@christian-kohlöffel Die Änderungen sind im neuen PR leider noch drin ...
-
@sneak-l8 Mann bin ich blöd. Sorry, das ist mein erster PR .....
-
@sneak-l8 Jetzt aber, hoffentlich
-
@christian-kohlöffel Leider nein. Schau mal im PR unter "Files changed". Das sind immer noch einige...
Und Du musst nicht jedes Mal einen neuen PR erstellen. Es reicht, wenn Du den Commit (und Push) machst. Dann wird der PR automatisch aktualisiert. -
@sneak-l8 OK, dann schaue ich nochmals ...
-
Hallo zusammen, Keba hat leider Ihre Homepage renoviert. Unter https://www.keba.com/de/emobility/service-support/downloads/downloads findet man die Firmware un nur noch, wenn man entweder "firmware" ins Suchfeld eingibt oder "mehr anzeigen" anklickt.
Daher schlägt derzeit der automatische Firmware-Check für die Keba c-Series fehl. Bei Keba habe ich nachgefragt, sie haben leider keine API, URL mit json-Daten der Downloads o.ä.
Die Navigation auf der Seite ist leider auch über JavaScript gelöst, das heißt, es reicht nicht, klassiche Seitenabrufe zu tätigen und Formularangeben zu füllen.
Hat da jemand einen Tipp für mich, wie ich da recht einfach rankomme? Es geht mir nur um die Versions-Nr. die beim Download der firmware angezeigt wird... -
@christian-kohlöffel So, hab mir jetzt mal Deinen PR angeschaut.
Was mir auffällt:
- Zeile 70: Die minimale Zeit zum Umschalten ist null. Setzt du die absichtlich erst beim Init? Ein cont ... = 300 würde doch reichen. Logging der Info sehe ich nicht für notwnedig, da es ja ein fester Wert ist.
- Zeile 1026: guter Gedanke, die aktuelle Stromstärke nur bei state ==3 (charging) zu holen und nicht über disabled zu prüfen => alten Code dan aber löschen und nicht kommentieren
- Zeile 1058: kleiner Tippfehler values => value
- Zeile 1065: auch wieder bitte alten Code raus
- Zeile 1206: alten Code bitte raus
- Zeile 1304/1307: die Log-Ausgaben sind eher noch vom Testen, oder?
- Zeile 1372: wenn Du den Wert unbedingt loggen willst, dann solltest Du ihn persistieren. Es könnte sein ,dass im Log ein anderer Wert steht, als der, der von der Funktion zurückgegeben wird, weil genau dazwischen, neue Daten von der Wallbox kamen.
- Zeile 1494/1576/1673: bitte Variable im lowerCamalCase schreiben (kleines s am Anfang)
- Zeile 1495: wenn noch kein Phase-Switch im State vermerkt ist, dann würde ich auch keinen aktuellen Wert setzen. Denn es fand ja kein Switching statt. Ich würde hier einfach false zurückgegeben.
- Zeile 1561 (alt Zeile 1436): warum hast Du da das ausschalten des 1p/3p-Switches deaktiviert? Mir geht es (gerade weil ich einen Öffner einsetze) darum, dass bei Ladepausen der Installationsschütz abgeschaltet wird und somit nicht unnötig daueraktiviert ist.
- Zeile 1673ff: hier wird jetzt nochmals geprüft, wie lange der Phase-Switch zurückliegt. wäre es dann nicht weiter oben obsolet? Ggfs. soltle man das dann in eine zentrale Funktion verlagern, so dass es dann auch für Zeile 1561 passen würde.
Aber insgesamt find ich die Änderung echt gut. Danke dafür!
Noch ne Frage dzu, dass Du die Prüfung auf stateWallBoxDisabled sehr oft entfernt hast: was ist der Hintergrund? Weil current eh null sein sollte, wenn die Wallbox disabled ist?
P.S. Danke fürs Kommentieren der Methoden!
-
@sneak-l8 sagte in [Frage] Realisierung Adapter UDP Keba Wallbox:
Zeile 70: Die minimale Zeit zum Umschalten ist null. Setzt du die absichtlich erst beim Init? Ein cont ... = 300 würde doch reichen. Logging der Info sehe ich nicht für notwnedig, da es ja ein fester Wert ist.
Ja, das hab ich gemacht falls es für andere Wallboxen doch noch andere Werte geben sollte. Könnte man aber auch fix machen
==> Vorschlag das lassen wir so ...@sneak-l8 sagte in [Frage] Realisierung Adapter UDP Keba Wallbox:
Zeile 1561 (alt Zeile 1436): warum hast Du da das ausschalten des 1p/3p-Switches deaktiviert? Mir geht es (gerade weil ich einen Öffner einsetze) darum, dass bei Ladepausen der Installationsschütz abgeschaltet wird und somit nicht unnötig daueraktiviert ist.
Ist aus meiner Sicht nicht nötig, da dies weiter unten, wenn der curr= 0 ist eh auch schon gemacht wird.
Zeile 1664 neu und darunter:
if (curr < getMinCurrent())
Klar, könnte man auch verlagern, hast du eine Vorschlag. Ich verstehe gerade nicht ganz was Dir vorschwebt ....Den Rest habe ich so umgesetzt und auch schon commitet ...
-
@christian-kohlöffel Hey, top! Ja, dassZeile 1561 unnötig ist, istm ir garn icht gleich aufgefallen.
Den anderen Punkt könenn wir auch gerne so lassen. Dann merge ich jetzt mal.
Danach deaktiviere ich mal noch kurz den Firmwre-Check für die c-Series, da er derzeit ja leider nicht mehr funktioniert (siehe Post weiter oben).
Edit: Version ist jetzt bei github -
Danke euch 2!
Ich werde die GH Version mal laden und diese Woche beobachten.
-
@darkiop @christian-kohlöffel Hab nochmal ne Version nachgeschoben, da ich gerade imemr wieder "stop charging for switch of phases" bekam, er aber nie weitermachte...
-
@sneak-l8 Ich lade mir die Version auch gleich mal runter. Morgen früh ist eh wieder laden angesagt ...
-
@christian-kohlöffel Ich hab gerade nochmal einen Fix gemacht. Bei regulateWallbox() hattest du die Ermittlung des oldValues begrenzt auf den Fall ,dass ein Fahrzeug angeschlossen ist. Hier bin ich wieder zurück auf "Wallbox enabled". Denn es geht ja um den Vergleich, um die Ladeleistung einen geänderten Wert hat, der an die Wallbox gesendet werdne muss. Und auch wenn das auto nicht angesteckt ist, kann eine Ladeleistung eingestellt sein, die dann auch erkannt werden muss.
Hatte bei mir sonst den Fall, dass das Fahrzeug beim Anstecken für ein paar Sekunden lädt, obwohl kein ausreichender Überschuss da ist.