-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mercedes EQ SoC Modul #823
Conversation
Erweiterung curl VZ auf Ausgabe mit Zeilennummern
Beta Test des Mercedes EQ Soc von Achim. Leichte Änderungen zum Stand von Achim. Verwendung der container Ressource um SoC und Range in eimen Aufruf zu erhalten, zur späteren Verwendung des Range Wertes. MArkierung in der LP Konfig als BETA!!!. Genaue Anleitung muss noch erstellt werden.
May solve Issue #687 |
Copy Paste Errors in Comments fixed
less -N stays in less after executing the curl. cat -n ends in Shell after curl.
Kann es sein, dass es für LP3-LP8 (noch) keine SoC Module gibt? Aus der aktuellen Verzeichnisstruktur scheint das auch bei den anderen SoC Modulen hard coded nur LP1 und LP2 zu sein. |
Ja, das stimmt. Die Module wurden bzw. werden nach und nach aber umgeschrieben. |
modules/soc_eq/main.sh
Outdated
soctimer=$((soctimer+1)) | ||
echo $soctimer > $soctimerfile | ||
else | ||
export soc_eq_client_id soc_eq_client_secret soc_eq_vin soc_file CHARGEPOINT |
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.
Diese Einstellungen sollten nicht im Environment exportiert werden. Besser als Parameter im Aufruf des soc.py angeben.
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.
ist im letzten Commit umgesetzt
modules/soc_eq/main.sh
Outdated
echo $soctimer > $soctimerfile | ||
else | ||
export soc_eq_client_id soc_eq_client_secret soc_eq_vin soc_file CHARGEPOINT | ||
/var/www/html/openWB/modules/soc_eq/soc.py |
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.
Bitte an den Aufruf der soc.py ein "&" anhängen, damit das Skript im Hintergrund ausgeführt wird und nicht die Regelschleife ausbremst.
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.
Gibt es ein SoC Modul, das als gutes Beispiel dienen kann? Ich hab den Code in einem Beitrag im Forum bekommen und bei mir eingebaut. Das hat soweit funktioniert, ein paar Blicke habe ich schon in andere SoC Module geworfen, aber da sind die Implementierungen auch sehr unterschiedlich.
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.
Da hast Du Recht, das ist teilweise sehr unterschiedlich. Schau mal dort rein, das entspricht dem, was mir als "Standard" vorschwebt:
openWB/modules/soc_kia/main.sh
Line 56 in 6cc2ca3
sudo python3 $MODULEDIR/kiasoc.py $kia_email $kia_password $kia_pin $kia_vin $socfile >> $LOGFILE & |
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.
ist analog realisiert, allerdings verstehe ich and er Stelle den sudo nicht. Ist der zwingend? Bei meinem Modul geht das auch ohne sudo, allerdings als Installation auf einem meiner Raspis.
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.
Welchen OS User verwendet denn eine openWB Installation auf dem Raspi? Ich hatte heute ein Thema mit Userberechtigungen auf Files um die Token zu persistieren. Die Callback URL ist bei mir ein php Script, welches dann ein Python Script aufruft. Die laufen auf meinem Raspi wie üblich unter dem User www-data. Die openWB Verzeichnisse liegen bei mir aber unter dem User pi.
VG
Det
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.
OpenWB nutzt sudo häufig und auch meiner Meinung nach zu oft. Alle Prozesse laufen als user pi. Mit Version 2.x werden die benötigten Rechte detaillierter geprüft. Wenn Dein Modul ohne sudo läuft, kann es gerne weggelassen werden.
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.
Läuft der Apache auch als User pi? Ansonsten müssen die leeren Dateien zum Persistieren der Token und der Expire Time mit user pi und mode 666 angelegt sein, damit der apache im callback auch darauf zugreifen darf.
VG
Det
Changed main.sh and soc.py to write to logfile. soc.py is called with arguments instead of exporting
Hallo @DetMoerk , |
Hi, warte mal noch mit mergen, ich hab noch ne Änderung die ich nicht committed habe. Denke heute im Lauf des Nachmittags werde ich das noch fertig bekommen, ist hauptsächlich Logging und ne Ausgabe wenn der Auth Callback erfolgreich war. Die ist aber noch nicht schön, da muss ich noch mal ran. VG |
Eine Frage habe ich auch noch, die API bringt auch eine Rangeelectric Wert zurück. Aktuell schreibe ich den nicht weg, aber wenn das auf der openWB Seite noch irgendwo dargestellt werden kann, würde ich das auch noch in ne Datei schreiben. VG |
Das ist aktuell nicht vorgesehen. Kann man in Version 2.x drüber diskutieren, wenn das eine Mehrzahl der SoC Module ermöglicht. |
Dokumentation in den modulconfiglp eingebaut.
@benderl: Ichhabe die Doku verlinkt, leider habe ich übersehen, dass es als alert-info sein soll. |
Sieht auch gut aus. @snaptec |
First Beta of a Mercedes EQ SoC Module ussing the API at https://developer.mercedes-benz.com/products/electric_vehicle_status.
As every User has to create his own account at developer.mercedes-benz.com (BYOCAR= Bring your own Car), configuration has some traps. I will try to bring a step-by-step documentation in openwb Forum and here.
Requirements:
Steps to get a API Access:
1. Go to the Mercedes Developer Site
2. Login (upper right corner) using your MercedesMe Credentials
3. Get Access to The API
4. Choose Purchase Model "Get for free"
5. Choose Package "BYOCAR"
6. Create an App (this looks different, as I still have Apps in MercedesMe)
7. Fill Application Name and Business Purpose and choose "Create" button
8. after Confirm you will see your new Application (OPENWBSOC)
9. Subscribe an use "View in Console"
10. Change Redirect URLs
You will get an "App ID", "Client ID" and "Client Secret". You'll have to fill in the Value(s) for rediect URL(s).
![grafik](https://user-images.githubusercontent.com/76627235/103207884-b9714280-48ff-11eb-858e-8f19246b8ffb.png)
The redirect URL must contain the IP Address (marked as IPopenWB) in the picture. You can also add additional Redirect URLs for example with a hostname (place the hostname of your openWB instead of hostname) as you see in the second line.
To use the SoC Api also for the second LP, use a Redirect URL (like in line 3) with the matching callback function (callback_lp2.php)
Make sure you use same protocol as used by the openWB (here http://).
Note the Values in "Client ID" and "Client Secret". You will need these and the according Redirect URL in the openWV LP Configuration
11: Configure openWB LP (Ladepunkt)
Got to Einstellungen/Modulkonfiguration/Ladepunkte
![grafik](https://user-images.githubusercontent.com/76627235/103208153-3d2b2f00-4900-11eb-9fdb-1617bbbdb575.png)
12. Choose Mercedes EQ (BETA!!!) from the List
13. Fill the values "Client ID", "Client Secret", "Fahrzeug Ident", "Callback" with the matching Values from Step 10
14. Save the Values
Go tot the Bottom of the page and press "Speichern" Button
![grafik](https://user-images.githubusercontent.com/76627235/103208648-7c0db480-4901-11eb-995f-182514d0525a.png)
15. Go back to the Ladepunkt and press the "HIER bei Mercedes Me anmelden" link.
This will open an new Window, reach out to the Mercedes API (if Asked, log in with your Mercedes Me ID)and save the needed Access token inside the openWB Config.
![grafik](https://user-images.githubusercontent.com/76627235/103208775-cd1da880-4901-11eb-93b2-51bb85aa565a.png)
You can close that empty window,
Finally your configuration is done.