Hacksore/bluelinky

JSON format of Status: full, parsed, cached

Closed this issue · 5 comments

Is there anywhere a explanation of the information hidden in the status-JSON?
like, what information is coming with full, parsed, and cached option?

I get the feeling, that my "cached" JSON is missing some of the "full" JSON information? And I think, that was different a while ago? I seem to remember having the same JSON structure for cached and full at the time I set up my node-red-contrib-bluelinky and now it seems to be running on ERRORs like missing .vehicleStatus?

Updated the docs here https://bluelinky.readme.io/reference/status

Does this help?

helps, thank you!

but apparently, the EU servers (my EV6 is german bound) either are out-of-sync or they have hickups presently! ;)

My JSON from "cached" look pretty different from "full", but from what I read they should be the same and "parsed" is a "compressed" version from what I learned so far?

and: it looks different from your 2020-example, perhaps there's a difference between models?

my full:

fullJSON
{
	"vehicleLocation": {
		"coord": {
			"lat": 11.356086,
			"lon": 11.840678,
			"alt": 0,
			"type": 0
		},
		"head": 263,
		"speed": {
			"value": 0,
			"unit": 0
		},
		"accuracy": {
			"hdop": 0,
			"pdop": 0
		},
		"time": "20220427064617"
	},
	"vehicleStatus": {
		"airCtrlOn": false,
		"engine": false,
		"doorLock": true,
		"doorOpen": {
			"frontLeft": 0,
			"frontRight": 0,
			"backLeft": 0,
			"backRight": 0
		},
		"trunkOpen": false,
		"airTemp": {
			"value": "02H",
			"unit": 0,
			"hvacTempType": 1
		},
		"defrost": false,
		"acc": false,
		"evStatus": {
			"batteryCharge": false,
			"batteryStatus": 96,
			"batteryPlugin": 0,
			"remainTime2": {
				"etc1": {
					"value": 13,
					"unit": 1
				},
				"etc2": {
					"value": 85,
					"unit": 1
				},
				"etc3": {
					"value": 30,
					"unit": 1
				},
				"atc": {
					"value": 80,
					"unit": 1
				}
			},
			"drvDistance": [
				{
					"rangeByFuel": {
						"evModeRange": {
							"value": 480,
							"unit": 1
						},
						"totalAvailableRange": {
							"value": 480,
							"unit": 1
						}
					},
					"type": 2
				}
			],
			"reservChargeInfos": {
				"reservChargeInfo": {
					"reservChargeInfoDetail": {
						"reservInfo": {
							"day": [
								2,
								3,
								4,
								5
							],
							"time": {
								"time": "0730",
								"timeSection": 0
							}
						},
						"reservChargeSet": false,
						"reservFatcSet": {
							"defrost": false,
							"airTemp": {
								"value": "10H",
								"unit": 0,
								"hvacTempType": 1
							},
							"airCtrl": 1,
							"heating1": 0
						}
					}
				},
				"offpeakPowerInfo": {
					"offPeakPowerTime1": {
						"starttime": {
							"time": "1200",
							"timeSection": 0
						},
						"endtime": {
							"time": "1200",
							"timeSection": 0
						}
					},
					"offPeakPowerFlag": 1
				},
				"reserveChargeInfo2": {
					"reservChargeInfoDetail": {
						"reservInfo": {
							"day": [
								9
							],
							"time": {
								"time": "1200",
								"timeSection": 0
							}
						},
						"reservChargeSet": false,
						"reservFatcSet": {
							"defrost": false,
							"airTemp": {
								"value": "10H",
								"unit": 0,
								"hvacTempType": 1
							},
							"airCtrl": 1,
							"heating1": 0
						}
					}
				},
				"reservFlag": 0,
				"ect": {
					"start": {
						"day": 0,
						"time": {
							"time": "0000",
							"timeSection": 0
						}
					},
					"end": {
						"day": 0,
						"time": {
							"time": "0000",
							"timeSection": 0
						}
					}
				},
				"targetSOClist": [
					{
						"targetSOClevel": 100,
						"dte": {
							"rangeByFuel": {
								"evModeRange": {
									"value": 501,
									"unit": 1
								},
								"totalAvailableRange": {
									"value": 501,
									"unit": 1
								}
							},
							"type": 2
						},
						"plugType": 0
					},
					{
						"targetSOClevel": 100,
						"dte": {
							"rangeByFuel": {
								"evModeRange": {
									"value": 501,
									"unit": 1
								},
								"totalAvailableRange": {
									"value": 501,
									"unit": 1
								}
							},
							"type": 2
						},
						"plugType": 1
					}
				]
			},
			"chargePortDoorOpenStatus": 2,
			"batteryPreconditioning": false
		},
		"ign3": false,
		"hoodOpen": false,
		"transCond": true,
		"steerWheelHeat": 0,
		"sideBackWindowHeat": 0,
		"tirePressureLamp": {
			"tirePressureLampAll": 0
		},
		"battery": {
			"batSoc": 93,
			"batState": 0,
			"sjbDeliveryMode": 0,
			"batSignalReferenceValue": {
				"batWarning": 65
			},
			"powerAutoCutMode": 2
		},
		"lampWireStatus": {
			"stopLamp": {
				"stopLampStatus": false,
				"leftLamp": false,
				"rightLamp": false
			},
			"headLamp": {
				"headLampStatus": false,
				"leftLowLamp": false,
				"rightLowLamp": false,
				"leftHighLamp": false,
				"rightHighLamp": false,
				"leftBifuncLamp": false,
				"rightBifuncLamp": false
			},
			"turnSignalLamp": {
				"turnSignalLampStatus": false,
				"leftFrontLamp": false,
				"rightFrontLamp": false,
				"leftRearLamp": false,
				"rightRearLamp": false
			}
		},
		"windowOpen": {
			"frontLeft": 0,
			"frontRight": 0,
			"backLeft": 0,
			"backRight": 0
		},
		"smartKeyBatteryWarning": false,
		"washerFluidStatus": false,
		"breakOilStatus": false,
		"sleepModeCheck": false,
		"time": "20220427064616",
		"remoteWaitingTimeAlert": {
			"remoteControlAvailable": 1,
			"remoteControlWaitingTime": 168,
			"elapsedTime": "01:25:59"
		},
		"systemCutOffAlert": 0,
		"tailLampStatus": 0,
		"hazardStatus": 0
	},
	"odometer": {
		"value": 10667.3,
		"unit": 1
	}
}
cachedJSON
{
	"airCtrlOn": false,
	"engine": false,
	"doorLock": true,
	"doorOpen": {
		"frontLeft": 0,
		"frontRight": 0,
		"backLeft": 0,
		"backRight": 0
	},
	"trunkOpen": false,
	"airTemp": {
		"value": "02H",
		"unit": 0,
		"hvacTempType": 1
	},
	"defrost": false,
	"acc": false,
	"evStatus": {
		"batteryCharge": false,
		"batteryStatus": 96,
		"batteryPlugin": 0,
		"remainTime2": {
			"etc1": {
				"value": 13,
				"unit": 1
			},
			"etc2": {
				"value": 85,
				"unit": 1
			},
			"etc3": {
				"value": 30,
				"unit": 1
			},
			"atc": {
				"value": 80,
				"unit": 1
			}
		},
		"drvDistance": [
			{
				"rangeByFuel": {
					"evModeRange": {
						"value": 480,
						"unit": 1
					},
					"totalAvailableRange": {
						"value": 480,
						"unit": 1
					}
				},
				"type": 2
			}
		],
		"reservChargeInfos": {
			"reservChargeInfo": {
				"reservChargeInfoDetail": {
					"reservInfo": {
						"day": [
							2,
							3,
							4,
							5
						],
						"time": {
							"time": "0730",
							"timeSection": 0
						}
					},
					"reservChargeSet": false,
					"reservFatcSet": {
						"defrost": false,
						"airTemp": {
							"value": "10H",
							"unit": 0,
							"hvacTempType": 1
						},
						"airCtrl": 1,
						"heating1": 0
					}
				}
			},
			"offpeakPowerInfo": {
				"offPeakPowerTime1": {
					"starttime": {
						"time": "1200",
						"timeSection": 0
					},
					"endtime": {
						"time": "1200",
						"timeSection": 0
					}
				},
				"offPeakPowerFlag": 1
			},
			"reserveChargeInfo2": {
				"reservChargeInfoDetail": {
					"reservInfo": {
						"day": [
							9
						],
						"time": {
							"time": "1200",
							"timeSection": 0
						}
					},
					"reservChargeSet": false,
					"reservFatcSet": {
						"defrost": false,
						"airTemp": {
							"value": "10H",
							"unit": 0,
							"hvacTempType": 1
						},
						"airCtrl": 1,
						"heating1": 0
					}
				}
			},
			"reservFlag": 0,
			"ect": {
				"start": {
					"day": 0,
					"time": {
						"time": "0000",
						"timeSection": 0
					}
				},
				"end": {
					"day": 0,
					"time": {
						"time": "0000",
						"timeSection": 0
					}
				}
			},
			"targetSOClist": [
				{
					"targetSOClevel": 100,
					"dte": {
						"rangeByFuel": {
							"evModeRange": {
								"value": 501,
								"unit": 1
							},
							"totalAvailableRange": {
								"value": 501,
								"unit": 1
							}
						},
						"type": 2
					},
					"plugType": 0
				},
				{
					"targetSOClevel": 100,
					"dte": {
						"rangeByFuel": {
							"evModeRange": {
								"value": 501,
								"unit": 1
							},
							"totalAvailableRange": {
								"value": 501,
								"unit": 1
							}
						},
						"type": 2
					},
					"plugType": 1
				}
			]
		},
		"chargePortDoorOpenStatus": 2,
		"batteryPreconditioning": false
	},
	"ign3": false,
	"hoodOpen": false,
	"transCond": false,
	"steerWheelHeat": 0,
	"sideBackWindowHeat": 0,
	"tirePressureLamp": {
		"tirePressureLampAll": 0
	},
	"battery": {
		"batSoc": 93,
		"batState": 0,
		"sjbDeliveryMode": 0,
		"batSignalReferenceValue": {
			"batWarning": 0
		},
		"powerAutoCutMode": 2
	},
	"lampWireStatus": {
		"stopLamp": {
			"stopLampStatus": false,
			"leftLamp": false,
			"rightLamp": false
		},
		"headLamp": {
			"headLampStatus": false,
			"leftLowLamp": false,
			"rightLowLamp": false,
			"leftHighLamp": false,
			"rightHighLamp": false,
			"leftBifuncLamp": false,
			"rightBifuncLamp": false
		},
		"turnSignalLamp": {
			"turnSignalLampStatus": false,
			"leftFrontLamp": false,
			"rightFrontLamp": false,
			"leftRearLamp": false,
			"rightRearLamp": false
		}
	},
	"windowOpen": {
		"frontLeft": 0,
		"frontRight": 0,
		"backLeft": 0,
		"backRight": 0
	},
	"smartKeyBatteryWarning": false,
	"washerFluidStatus": false,
	"breakOilStatus": false,
	"sleepModeCheck": false,
	"time": "20220427065038",
	"remoteWaitingTimeAlert": {
		"remoteControlAvailable": 1,
		"remoteControlWaitingTime": 168,
		"elapsedTime": "01:30:21"
	},
	"systemCutOffAlert": 0,
	"tailLampStatus": 0,
	"hazardStatus": 0
}
parsedJSON
{
	"chassis": {
		"hoodOpen": false,
		"trunkOpen": false,
		"locked": true,
		"openDoors": {
			"frontRight": false,
			"frontLeft": false,
			"backLeft": false,
			"backRight": false
		},
		"tirePressureWarningLamp": {
			"rearLeft": false,
			"frontLeft": false,
			"frontRight": false,
			"rearRight": false,
			"all": false
		}
	},
	"climate": {
		"active": false,
		"steeringwheelHeat": false,
		"sideMirrorHeat": false,
		"rearWindowHeat": false,
		"defrost": false,
		"temperatureSetpoint": 15,
		"temperatureUnit": 0
	},
	"engine": {
		"ignition": false,
		"accessory": false,
		"range": 480,
		"rangeEV": 480,
		"plugedTo": 0,
		"charging": false,
		"estimatedCurrentChargeDuration": 80,
		"estimatedFastChargeDuration": 13,
		"estimatedPortableChargeDuration": 85,
		"estimatedStationChargeDuration": 30,
		"batteryCharge12v": 93,
		"batteryChargeHV": 96
	},
	"lastupdate": "2022-04-27T06:54:39.000Z"
}

What's pretty obvious, in cached there's no information on chargeLimits, or acc, defrost, ... because the vehicleStatus-branch is missing. And I'm quite sure, these information were present before?
So, for now I think there was/is some changes on how the JSON-structure is behaving?

and: it looks different from your 2020-example, perhaps there's a difference between models?

updated my JSON-payloads for what I get right now, and for what I see, there is a big difference between full and cached.

I didn't take the time to document fullStatus it is only a EU feature. If someone is inclined to do that please let me know and I can add you as an editor to the docs :).

For now, closing this issue but the discussion is still encouraged.