Aggiornata la pagina, in versione di prova qui:
http://jumpjack.altervista.org/myrenault-debug/
Ci sono anche funzioni “nascoste” non attivabili tramite pulsante, ma solo lanciandole da console.
Comandi da provare:
LETTURA
- charges?start={}&end={}
- charge-history?type={}&start={}&end={}
- hvac-sessions?start={}&end={}
- hvac-history?type={}&start={}&end={}
- trip-history
- energy-unit-cost
“start” e “end” dovrebbero essere in formato YYYYMMDD, ma a me non funzionano
AZIONI
Funzionano solo da programma, perchè serve un payload JSON.
- actions/hvac-start
- actions/charge-schedule
- actions/charge-mode
- actions/charging-start
- actions/refresh-hvac-status
- actions/refresh-lock-status
- actions/refresh-location
- actions/srp-initiates
- actions/srp-sets
- actions/lock-unlock
- actions/horn-lights
====== Dettagli sui parametri e payload ===============
trip-history?start={}&end={}&type={}
{type: period, start: start, end: stop})
period: [DAILY, MONTHLY, YEARL]
energy-unit-cost
???
actions/hvac-start
data = {
"type": "HvacStart",
"attributes": {
"action": "start" / "cancel"
"targetTemperature": temperature
"startDateTime‘: "%Y-%m-%dT%H:%M:%SZ"
}
}
'{"data":{"type":"HvacStart","attributes":{"action":"start","targetTemperature":"21"}}}'
'{"data":{"type":"HvacStart","attributes":{"action":"cancel"}}}'
actions/charge-schedule
data = {
'type': 'ChargeSchedule',
'attributes': schedules
}
schedules": [{
"id":1,
"activated":true,
"monday":{"startTime":startTimeString,"duration":15},
"tuesday":{"startTime":startTimeString,"duration":15},
"wednesday":{"startTime":startTimeString,"duration":15},
"thursday":{"startTime":startTimeString,"duration":15},
"friday":{"startTime":startTimeString,"duration":15},
"saturday":{"startTime":startTimeString,"duration":15},
"sunday":{"startTime":startTimeString,"duration":15}
}]
actions/charge-mode
data = {
'type': 'ChargeMode',
'attributes': {
'action': charge_mode.name
}
}
charge_mode.name:
“always_charging”
“schedule_mode”
actions/charging-start
data = {
"type": "ChargingStart",
"attributes": {
"action": "start"
}
}
actions/refresh-hvac-status
data = {
"type": "RefreshHvacStatus"
}
actions/refresh-lock-status
data = {
"type": "RefreshLockStatus"
}
actions/refresh-location
data = {
"type": "RefreshLocation"
}
actions/srp-initiates
data = {
"type": "SrpInitiates",
"attributes": {
"s": salt,
"i": userId,
"v": verifier,
}
}
// salt = 20 hex chars, verifier = 512 hex chars
var salt = '0' * 20;
var verifier = 'ABCDEFGH' * 50;
SRP_KEY = 'D5AF0E14718E662D12DBB4FE42304DF5A8E48359E22261138B40AA16CC85C76A11B43200A1EECB3C9546A262D1FBD51ACE6FCDE558C00665BBF93FF86B9F8F76AA7A53CA74F5B4DFF9A4B847295E7D82450A2078B5A28814A7A07F8BBDD34F8EEB42B0E70499087A242AA2C5BA9513C8F9D35A81B33A121EEF0A71F3F9071CCD'
// https://github.com/mitchellrj/kamereon-python/blob/146904802301aa0b0008e2bdb3a88ed10ff50acf/kamereon/kamereon.py
actions/srp-sets
data = {
"type": "SrpSets",
"attributes": {
"i": userId,
"a": a,
}
}
// 512 hex chars
var a = '';
actions/lock-unlock
data = {
"type": "LockUnlock",
"attributes": {
"lock": lock,
"doorType": doorType,
"srp": ""
}
}
lock: “lock” , “unlock”
doorType: “driver_s_door” , “doors_hatch”
actions/horn-lights
data = {
"type": "HornLights",
"attributes": {
"action": action,
"duration": duration,
"target": target,
}
}
}
action: “stop”, “start”, “double_start”
target: “horn_lights”, “lights”, “horn”
Altri path:
v2/notifications/users/{}/vehicles/{}
v1/rules/settings/users/{}/vehicles/{}
Altri comandi da investigare:
DataReset
DeleteCurfewRestrictions
CreateCurfewRestrictions
CreateSpeedRestrictions
SrpInitiates
DeleteAreaRestrictions
SrpDelete
SrpSets
OpenClose
EngineStart
LockUnlock
CreateAreaRestrictions
DeleteSpeedRestrictions
===============================
charges?start={}&end={}
start.strftime("%Y%m%d"),
end.strftime("%Y%m%d")
charge-history?type={}&start={}&end={}
period,
start.strftime(PERIOD_FORMATS[period]),
end.strftime(PERIOD_FORMATS[period])
hvac-sessions?start={}&end={}
date: "yyyyMMdd"
Response:
data = {
"type":"Car",
"id":"...",
"attributes":{
"hvacSessions":[
{
"hvacSessionRequestDate":"2020-02-03T17:20:05+01:00",
"hvacSessionStartDate":"2020-02-03T17:26:38+01:00",
"hvacSessionEndStatus":"ok"
},
{
"hvacSessionRequestDate":"2020-02-03T00:30:48+01:00",
"hvacSessionStartDate":"2020-02-03T07:29:42+01:00",
"hvacSessionEndStatus":"error"
},
{
"hvacSessionRequestDate":"2020-02-02T16:25:59+01:00",
"hvacSessionStartDate":"2020-02-02T16:32:32+01:00",
"hvacSessionEndStatus":"error"
}
]
}
}
https://api-wired-prod-1-euw1.wrd-aws.com/commerce/v1/accounts/ACCOUNT/kamereon/kca/car-adapter/v1/cars/VIN/hvac-sessions?start=20210927&end=20210928&country=IT&apikey=Ae9FDWugRxZQAGm3Sxgk7uJn6Q4CGEA2
hvac-history?type={}&start={}&end={}
period,
start.strftime(PERIOD_FORMATS[period]),
end.strftime(PERIOD_FORMATS[period])
actions/hvac-start
{
'type': 'HvacStart',
'attributes':{
'action': 'start' / 'cancel'
'targetTemperature': temperature
'startDateTime‘: "%Y-%m-%dT%H:%M:%SZ"
}
}
“yyyy-MM-dd’T’HH:mm:ssZZZZZ”
actions/hvac-start
{
"type": "HvacStart",
"attributes": {
"action": "cancel"
}
}
actions/charge-schedule,
schedules": [{"id":1,"activated":true,
"monday":{"startTime":startTimeString,"duration":15},
"tuesday":{"startTime":startTimeString,"duration":15},
"wednesday":{"startTime":startTimeString,"duration":15},
"thursday":{"startTime":startTimeString,"duration":15},
"friday":{"startTime":startTimeString,"duration":15},
"saturday":{"startTime":startTimeString,"duration":15},
"sunday":{"startTime":startTimeString,"duration":15}
}]
data = {
"type": "ChargeSchedule",
"attributes": schedules
}
actions/charge-mode
charge_mode.name:
“always_charging”
“schedule_mode”
data = {
"type": "ChargeMode",
"attributes": {
"action": charge_mode.name
}
}
actions/charging-start
{
"type": "ChargingStart",
"attributes": {
"action": "start"
}
}
Pagina aggiornata: adesso POTREBBE essere possibile accendere l’aria condizioanta, ma a me non funziona; solo che a me nn funziona nemmeno con l’app renault, quindi boh? vedete un po’ se a voi funziona: c’è un pulsante generico in fondo alla pagina, che dovrebbe accendere l’aria immediatamente, sennò da console si può lanciare:
HVAC_on(20,“2021-09-29T14:45:00Z”)
http://jumpjack.altervista.org/myrenault-debug/
In teoria se nell’ouptut compare una cosa di questo tipo, vuol dire che il comando ha funzionato:
POST result for 'actions/hvac-start':
{
"id": "xxxx",
"action": "start",
"startDateTime": "2021-09-29T14:45:00Z",
"targetTemperature": 20
}
la conferma è visibile col comando HVAC-STATUS, che mostra due campi in più rispetto al normale, nextTargetTemperature e nextHvacStartDate:
Results for endpoint hvac-status:
{
"data": {
"type": "Car",
"id": "xxxMYVINxxx",
"attributes": {
"nextHvacStartDate": "2021-09-29T14:45:00Z",
"hvacStatus": "off",
"nextTargetTemperature": 20,
"internalTemperature": 21,
"lastUpdateTime": "2021-09-29T14:35:56Z"
}
}
}
Possibili stati di carica:
NOT_IN_CHARGE = 0.0
WAITING_FOR_A_PLANNED_CHARGE = 0.1
CHARGE_ENDED = 0.2
WAITING_FOR_CURRENT_CHARGE = 0.3
ENERGY_FLAP_OPENED = 0.4
CHARGE_IN_PROGRESS = 1.0
# This next is more accurately "not charging" (<= ZE40) or "error" (ZE50).
CHARGE_ERROR = -1.0
UNAVAILABLE = -1.1
https://github.com/hacf-fr/renault-api/blob/main/src/renault_api/kamereon/enums.py
https://github.com/m0qui/phpze/blob/c427af431e2216f080a2664b13acf1fea26e9f24/index.php