Skip to content
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

Update pycarwings2.py #2842

Merged
merged 2 commits into from
Jun 12, 2024
Merged

Conversation

mekrapp
Copy link
Contributor

@mekrapp mekrapp commented Jun 5, 2024

Two changes

1st re line 75: Nissan changed the Base URL of its Carwings API. Since May 20, 2024 the old URL used by pycarwings2 in soc_leaf doesn't work anymore.

2nd re line 121: At least on a Windows 10 PC with Python 3.12 for test purpose, the additional parameter 'headers={"User-Agent": ""}' is needed to run pycarwings2.py successfully. The need for this parameter within OpenWB itself has tbc.

For more details see posts on https://forum.openwb.de/viewtopic.php?p=109761#p109761 ff

Two changes

1st re line 75: Nissan changed the Base URL of its Carwings API. Since May 20, 2024 the old URL used by pycarwings2 in soc_leaf doesn't work anymore.

2nd re line 121: At least on a Windows 10 PC with Python 3.12 for test purpose, the additional parameter 'headers={"User-Agent": ""}' is needed to run pycarwings2.py successfully. The need for this parameter within OpenWB itself has tbc.

For more details see posts on https://forum.openwb.de/viewtopic.php?p=109761#p109761 ff
@benderl
Copy link
Collaborator

benderl commented Jun 6, 2024

Wenn ich den Beitrag im Forum und Deine Beschreibung richtig gelesen habe, wurde diese Anpassung noch nicht auf einer openWB 1.9 mit Stretch getestet, sondern nur unter Windows mit Python 3.12? Dann diesen Test bitte noch nachholen.

@benderl benderl added the waiting for feedback Feedback is needed for this issue or pull request label Jun 6, 2024
@mekrapp
Copy link
Contributor Author

mekrapp commented Jun 6, 2024 via email

@benderl
Copy link
Collaborator

benderl commented Jun 6, 2024

Bitte im Forum nach jemandem fragen, der die Anpassung testen und auch beurteilen kann, ob der Header notwendig ist.

@mekrapp
Copy link
Contributor Author

mekrapp commented Jun 7, 2024

Ich werde den Vorschlag mit dem Aufruf im Forum probieren.

Parallel schaue ich gerade, ob ich aus meinem Bekanntenkreis einen Pi ausleihen kann. Dort würde ich mein zum Hauptprogramm mutiertes SoC_Leaf.py zusammen mit responses.py und dem pycarwings2.py mit den hier genannten Änderungen testen (mal mit dem zusätzlichen Parameter im HTTPS-Aufbau, mal ohne)

@ddraeyer
Copy link

ddraeyer commented Jun 7, 2024

Ich habe mit zwei Versionen von modifizierten pycarwings2.py erfolgreich getestet.
Variante 1:
Nur API Endpoint URL modifiziert auf
BASE_URL = "https://gdcportalgw.its-mo.com/api_v230317_NE/gdc/"

Variante 2:
API Endpoint URL und User-Agent modifiziert auf
BASE_URL = "https://gdcportalgw.its-mo.com/api_v230317_NE/gdc/"
und
req = Request('POST', url=BASE_URL + endpoint, data=params, headers={"User-Agent": ""}).prepare()

Umgebung:
a)
pi@openWBtest:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

b)
pi@openWBtest:~ $ cat /var/www/html/openWB/web/version
1.9.304.0

c) sudo python /var/www/html/openWB/modules/soc_leaf/soc.py $username $password $CHARGEPOINT
läuft fehlerfrei durch.

d) Ein Auszug aus /var/www/html/openWB/ramdisk/soc.log schaut gut aus und weist keine Fehler auf:
2024-06-07 18:18:08,445 - requests.packages.urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): gdcportalgw.its-mo.com
2024-06-07 18:18:10,085 - root - DEBUG - LP1: Update soctimer to 11
2024-06-07 18:18:10,134 - requests.packages.urllib3.connectionpool - DEBUG - https://gdcportalgw.its-mo.com:443 "POST /api_v230317_NE/gdc/BatteryStatusRecordsRequest.php HTTP/1.1" 200 None
2024-06-07 18:18:10,138 - pycarwings2 - DEBUG - Response HTTP Status Code: 200
2024-06-07 18:18:10,139 - pycarwings2 - DEBUG - Response HTTP Response Body: {"status":200,"VoltLabel":{"HighVolt":"240","LowVolt":"120"},"BatteryStatusRecords":{"OperationResult":"START","OperationDateAndTime":"07.Jun 2024 18:13","BatteryStatus":{"BatteryChargingStatus":"NOT_CHARGING","BatteryCapacity":"240","BatteryRemainingAmount":"212","BatteryRemainingAmountWH":"31680","BatteryRemainingAmountkWH":"","SOC":{"Value":"88"}},"PluginState":"CONNECTED","CruisingRangeAcOn":"231000","CruisingRangeAcOff":"241000","TimeRequiredToFull":{"HourRequiredToFull":"6","MinutesRequiredToFull":"30"},"TimeRequiredToFull200":{"HourRequiredToFull":"4","MinutesRequiredToFull":"0"},"TimeRequiredToFull200_6kW":{"HourRequiredToFull":"2","MinutesRequiredToFull":"0"},"NotificationDateAndTime":"2024/06/07 16:13","TargetDate":"2024/06/07 16:13"}}
2024-06-07 18:18:10,147 - root - DEBUG - LP1: Battery status 88
2024-06-07 18:18:11,149 - root - DEBUG - LP1: Request SoC Update

@mekrapp
Copy link
Contributor Author

mekrapp commented Jun 7, 2024

Das ging schnell! Super, vielen Dank!
Die zweite Änderung bzgl. "User-Agent" ist auf der OpenWB also nicht nötig. Eher ein Thema für eine andere Umgebung wie meinen PC und/oder meine Python Version.
@benderl Wie machen wir weiter? Soll ich noch einen PR für nur die erste Änderung einstellen?

@benderl
Copy link
Collaborator

benderl commented Jun 8, 2024

Bitte keinen neuen PR, damit die Beiträge hier auch erhalten bleiben. Füge Deinem Branch einfach noch einen zweiten Commit hinzu, der die Änderung am Haeder rückgängig macht.

2nd change removed, because it is not needed on the OpenWB software platform.
@mekrapp
Copy link
Contributor Author

mekrapp commented Jun 8, 2024

Erledigt, jetzt steht in meinem Code nur noch das URL Update

@mekrapp
Copy link
Contributor Author

mekrapp commented Jun 10, 2024

Kann ich noch etwas tun?
Den Failing check oben verstehe ich nicht.

@benderl
Copy link
Collaborator

benderl commented Jun 12, 2024

Der Fehler ist unabhängig von Deinem PR. Sieht so aus, als wäre Python 3.5 nun endgültig End-Of-Life.

@benderl benderl merged commit 4ed7352 into snaptec:master Jun 12, 2024
1 check failed
@mekrapp
Copy link
Contributor Author

mekrapp commented Jun 12, 2024

Super, vielen Dank für den Merge

@mekrapp mekrapp deleted the mekrapp-patch-pycarwings2-1 branch June 12, 2024 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting for feedback Feedback is needed for this issue or pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants