27.01.2020, 21:47
du musst einfach nur "obc;get" anfragen, dann kriegst du alle werte im json-format zurück.
schaut dann so aus:
dieses kannst du dann mit json.loads() in ein dictionary wandeln.
da fällt mir auf, ich muss bei range und consumption die einheiten entfernen.
es gibt ein beta release auf github. das mit den buchstaben mache ich nicht mehr.
https://github.com/harryberlin/plugin.sc...mmunicator
schaut dann so aus:
Code:
{
"IBusCommunicator": {
"fuel_unit": "L",
"consumption_unit": "L/100KM",
"vin": "AB12345",
"time_unit": "24H",
"fuel_level": 35,
"speed_unit": "KM/H",
"distance": 10,
"distance_unit": "KM",
"gm_states": {
"zvprocessed": false,
"bonnet": false,
"zvlocked": false,
"passengerwindow": false,
"passengerdoor": false,
"trunkbuttonpress": false,
"sunroof": false,
"zvunlocked": false,
"passengerrearwindow": false,
"driverrearwindow": false,
"run_once": false,
"driverreardoor": false,
"indoorlights": false,
"trunk": false,
"driverwindow": false,
"zvlockstate": false,
"driverdoor": false,
"zvhardlocked": false,
"doorsopen": false,
"passengerreardoor": false
},
"odometer": 188884,
"range": "234 KM",
"consumption2": "9.9 L/100KM",
"consumption1": "10.0 L/100KM",
"arrive": "--:--"
}
dieses kannst du dann mit json.loads() in ein dictionary wandeln.
Code:
import json
result = json.loads(rückgabe_der_anfrage)
odometer = result['IBusCommunicator']['odometer']
zvhardlocked = result['IBusCommunicator']['gm_states']['zvhardlocked']
da fällt mir auf, ich muss bei range und consumption die einheiten entfernen.
es gibt ein beta release auf github. das mit den buchstaben mache ich nicht mehr.
https://github.com/harryberlin/plugin.sc...mmunicator