]> git.basschouten.com Git - openhab-addons.git/commitdiff
[mercedesme] take end of charge weekday into account (#17001)
authorBernd Weymann <bernd.weymann@gmail.com>
Sat, 13 Jul 2024 09:08:23 +0000 (11:08 +0200)
committerGitHub <noreply@github.com>
Sat, 13 Jul 2024 09:08:23 +0000 (11:08 +0200)
* take end of charge day into account

Signed-off-by: Bernd Weymann <bernd.weymann@gmail.com>
bundles/org.openhab.binding.mercedesme/src/main/java/org/openhab/binding/mercedesme/internal/Constants.java
bundles/org.openhab.binding.mercedesme/src/main/java/org/openhab/binding/mercedesme/internal/handler/VehicleHandler.java
bundles/org.openhab.binding.mercedesme/src/main/java/org/openhab/binding/mercedesme/internal/server/MBWebsocket.java
bundles/org.openhab.binding.mercedesme/src/main/resources/OH-INF/thing/charge-channel-types.xml
bundles/org.openhab.binding.mercedesme/src/test/java/org/openhab/binding/mercedesme/internal/handler/VehicleHandlerTest.java
bundles/org.openhab.binding.mercedesme/src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday-Underrun.json [new file with mode: 0644]
bundles/org.openhab.binding.mercedesme/src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday.json [new file with mode: 0644]

index ac2f9152b1d9cdce485d471449adc58c543b0e25..3adf9364de0950f8639d76eae65e99b8407a463e 100644 (file)
@@ -116,6 +116,7 @@ public class Constants {
     public static final String MB_KEY_SOC = "soc";
     public static final String MB_KEY_TIRE_PRESS_MEAS_TIMESTAMP = "tirePressMeasTimestamp";
     public static final String MB_KEY_ENDOFCHARGETIME = "endofchargetime";
+    public static final String MB_KEY_ENDOFCHARGEDAY = "endofChargeTimeWeekday";
     public static final String MB_KEY_LIQUIDCONSUMPTIONRESET = "liquidconsumptionreset";
     public static final String MB_KEY_LIQUIDCONSUMPTIONSTART = "liquidconsumptionstart";
     public static final String MB_KEY_ELECTRICCONSUMPTIONRESET = "electricconsumptionreset";
index 8e410277b2e352db4969906cc9ad3e016a1f9b7a..be48a9d12d72e2fc2a776a3a20d0f028a0fd5313 100644 (file)
@@ -14,6 +14,7 @@ package org.openhab.binding.mercedesme.internal.handler;
 
 import static org.openhab.binding.mercedesme.internal.Constants.*;
 
+import java.time.ZonedDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -894,6 +895,36 @@ public class VehicleHandler extends BaseThingHandler {
             }
         }
 
+        /**
+         * handle day of charge end
+         */
+        ChannelStateMap chargeTimeEndCSM = eventStorage.get(GROUP_CHARGE + "#" + OH_CHANNEL_END_TIME);
+        if (chargeTimeEndCSM != null) {
+            State entTimeState = chargeTimeEndCSM.getState();
+            if (entTimeState instanceof DateTimeType endDateTimeType) {
+                // we've a valid charged end time
+                VehicleAttributeStatus vas = atts.get(MB_KEY_ENDOFCHARGEDAY);
+                if (vas != null && !Utils.isNil(vas)) {
+                    // proto weekday starts with MONDAY=0, java ZonedDateTime starts with MONDAY=1
+                    long estimatedWeekday = Utils.getInt(vas) + 1;
+                    ZonedDateTime storedZdt = endDateTimeType.getZonedDateTime();
+                    long storedWeekday = storedZdt.getDayOfWeek().getValue();
+                    // check if estimated weekday is smaller than stored
+                    // estimation Monday=1 vs. stored Saturday=6 => (7+1)-6=2 days ahead
+                    if (estimatedWeekday < storedWeekday) {
+                        estimatedWeekday += 7;
+                    }
+                    if (estimatedWeekday != storedWeekday) {
+                        DateTimeType adjustedDtt = new DateTimeType(
+                                storedZdt.plusDays(estimatedWeekday - storedWeekday));
+                        ChannelStateMap adjustedCsm = new ChannelStateMap(OH_CHANNEL_END_TIME, GROUP_CHARGE,
+                                adjustedDtt);
+                        updateChannel(adjustedCsm);
+                    }
+                }
+            }
+        }
+
         /**
          * Check if Websocket shall be kept alive
          */
index 29d5ffff5d071785fa59a0d9ac3f5a9b6b5c7e35..206b4f9dee74e5e4e14a81483e19024200ddc57a 100644 (file)
@@ -45,6 +45,7 @@ import com.daimler.mbcarkit.proto.VehicleEvents.AcknowledgeVEPUpdatesByVIN;
 import com.daimler.mbcarkit.proto.VehicleEvents.PushMessage;
 import com.daimler.mbcarkit.proto.Vehicleapi.AcknowledgeAppTwinCommandStatusUpdatesByVIN;
 import com.daimler.mbcarkit.proto.Vehicleapi.AppTwinCommandStatusUpdatesByVIN;
+import com.daimler.mbcarkit.proto.Vehicleapi.AppTwinPendingCommandsRequest;
 
 /**
  * {@link MBWebsocket} as socket endpoint to communicate with Mercedes
@@ -227,7 +228,10 @@ public class MBWebsocket {
                         .build();
                 sendAcknowledgeMessage(cm);
             } else if (pm.hasApptwinPendingCommandRequest()) {
-                logger.trace("Pending Command {}", pm.getApptwinPendingCommandRequest().getAllFields());
+                AppTwinPendingCommandsRequest pending = pm.getApptwinPendingCommandRequest();
+                if (!pending.getAllFields().isEmpty()) {
+                    logger.trace("Pending Command {}", pending.getAllFields());
+                }
             } else if (pm.hasDebugMessage()) {
                 logger.trace("MB Debug Message: {}", pm.getDebugMessage().getMessage());
             } else {
index 80d3302eeb12afb47529164f5acd3cf162d3a524..adbcce18cd6feb7c82f3fd171885c8f9380c1941 100644 (file)
@@ -65,7 +65,7 @@
        <channel-type id="end-time">
                <item-type>DateTime</item-type>
                <label>Charge End Estimation</label>
-               <state pattern="%1$tH:%1$tM" readOnly="true"/>
+               <state pattern="%1$td.%1$tm. %1$tH:%1$tM" readOnly="true"/>
        </channel-type>
        <channel-type id="max-soc">
                <item-type>Number:Dimensionless</item-type>
index cf55bd982d810d2e12c3f8e094cfbfafe12d9f89..ce2b93766d2138f6a87e5991cb07a1e596cc8486 100644 (file)
@@ -174,6 +174,32 @@ class VehicleHandlerTest {
                 .format("%1$tY-%1$tm-%1$td %1$tH:%1$tM"), "End of Charge Time");
     }
 
+    @Test
+    public void testBEVChargeEndtime() {
+        Thing thingMock = mock(Thing.class);
+        when(thingMock.getThingTypeUID()).thenReturn(Constants.THING_TYPE_BEV);
+        when(thingMock.getUID()).thenReturn(new ThingUID("test", Constants.BEV));
+        VehicleHandler vh = new VehicleHandler(thingMock, new LocationProviderMock(),
+                mock(MercedesMeCommandOptionProvider.class), mock(MercedesMeStateOptionProvider.class));
+        vh.accountHandler = Optional.of(mock(AccountHandler.class));
+        VehicleConfiguration vehicleConfig = new VehicleConfiguration();
+        vh.config = Optional.of(vehicleConfig);
+        ThingCallbackListener updateListener = new ThingCallbackListener();
+        vh.setCallback(updateListener);
+
+        String json = FileReader.readFileInString("src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday.json");
+        VEPUpdate update = ProtoConverter.json2Proto(json, true);
+        vh.distributeContent(update);
+        assertEquals("2023-09-09 13:54", ((DateTimeType) updateListener.getResponse("test::bev:charge#end-time"))
+                .format("%1$tY-%1$tm-%1$td %1$tH:%1$tM"), "End of Charge Time");
+
+        json = FileReader.readFileInString("src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday-Underrun.json");
+        update = ProtoConverter.json2Proto(json, true);
+        vh.distributeContent(update);
+        assertEquals("2023-09-11 13:55", ((DateTimeType) updateListener.getResponse("test::bev:charge#end-time"))
+                .format("%1$tY-%1$tm-%1$td %1$tH:%1$tM"), "End of Charge Time");
+    }
+
     @Test
     public void testBEVPartialChargingUpdate() {
         Thing thingMock = mock(Thing.class);
diff --git a/bundles/org.openhab.binding.mercedesme/src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday-Underrun.json b/bundles/org.openhab.binding.mercedesme/src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday-Underrun.json
new file mode 100644 (file)
index 0000000..d1d10f8
--- /dev/null
@@ -0,0 +1,929 @@
+{
+       "doorLockStatusOverall": {
+               "timestamp_in_ms": 1693926313000,
+               "timestamp": 1693926313,
+               "int_value": 0
+       },
+       "chargeCouplerACStatus": {
+               "timestamp_in_ms": 1693923754000,
+               "timestamp": 1693923754,
+               "int_value": 0
+       },
+       "precondSeatFrontRight": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "evRangeAssistDriveOnSOC": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 3
+       },
+       "tirePressMeasTimestamp": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 1693923710
+       },
+       "smartCharging": {
+               "timestamp_in_ms": 1693923754000,
+               "timestamp": 1693923754,
+               "int_value": 0
+       },
+       "vehicleHealthStatus": {
+               "timestamp_in_ms": 1654831900642,
+               "nil_value": true,
+               "timestamp": 1654831900,
+               "status": 1
+       },
+       "drivenTimeStart": {
+               "timestamp_in_ms": 1693923667000,
+               "timestamp": 1693923667,
+               "int_value": 60
+       },
+       "maxSoc": {
+               "timestamp_in_ms": 1693902759000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1693902759,
+               "status": 4
+       },
+       "doorlockstatusdecklid": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "socprofile": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 1
+       },
+       "maxrange": {
+               "display_value": "330.0",
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693998228,
+               "int_value": 330
+       },
+       "maxSocLowerLimit": {
+               "display_value": "50",
+               "timestamp_in_ms": 1692956198000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1692956198,
+               "int_value": 50
+       },
+       "weeklyProfile": {
+               "timestamp_in_ms": 1675419313000,
+               "weekly_profile_value": {
+                       
+               },
+               "timestamp": 1675419313
+       },
+       "liquidRangeSkipIndication": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "doorlockstatusfrontright": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "tirepressureRearRight": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923681000,
+               "pressure_unit": "BAR",
+               "double_value": 312.5,
+               "timestamp": 1693923681
+       },
+       "chargeCouplerDCStatus": {
+               "timestamp_in_ms": 1693923754000,
+               "timestamp": 1693923754,
+               "int_value": 0
+       },
+       "vehiclePositionErrorCode": {
+               "timestamp_in_ms": 1693998310426,
+               "timestamp": 1693998310,
+               "int_value": 5
+       },
+       "languageHU": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "tireMarkerRearLeft": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "distanceElectricalStart": {
+               "display_value": "56.3",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 56.3,
+               "timestamp": 1693923676
+       },
+       "departureTimeMode": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "parkbrakestatus": {
+               "timestamp_in_ms": 1693998146000,
+               "bool_value": true,
+               "timestamp": 1693998146
+       },
+       "gasTankLevel": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "bindingInfo": {
+               "version": "2.2-alpha",
+               "vehicle": "mercedesme:bev"
+       },
+       "starterBatteryState": {
+               "timestamp_in_ms": 1693998228000,
+               "timestamp": 1693998228,
+               "int_value": 0
+       },
+       "precondNowError": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "windowStatusOverall": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 1
+       },
+       "tireSensorAvailable": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "weeklySetHU": {
+               "timestamp_in_ms": 1675419313000,
+               "weekly_settings_head_unit_value": [],
+               "timestamp": 1675419313
+       },
+       "rangeelectric": {
+               "display_value": "307",
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693998228,
+               "int_value": 307
+       },
+       "tireMarkerRearRight": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "windowstatusrearright": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 2
+       },
+       "serviceintervaldays": {
+               "timestamp_in_ms": 1693998146000,
+               "nil_value": true,
+               "timestamp": 1693998146,
+               "status": 3
+       },
+       "electricalRangeSkipIndication": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "windowstatusrearleft": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 2
+       },
+       "endofchargetime": {
+               "display_value": "13:55",
+               "timestamp_in_ms": 1693991413000,
+               "clock_hour_unit": "T24H",
+               "timestamp": 1693991413,
+               "int_value": 835
+       },
+       "hybridWarnings": {
+               "timestamp_in_ms": 1693581955000,
+               "nil_value": true,
+               "timestamp": 1693581955,
+               "status": 3
+       },
+       "positionHeading": {
+               "timestamp_in_ms": 1693923713000,
+               "double_value": 44.5,
+               "timestamp": 1693923713
+       },
+       "precondAtDepartureDisable": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "doorstatusrearleft": {
+               "timestamp_in_ms": 1693922319000,
+               "bool_value": false,
+               "timestamp": 1693922319
+       },
+       "odo": {
+               "display_value": "15017",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693923676,
+               "int_value": 15017
+       },
+       "tirewarninglamp": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "evRangeAssistDriveOnTime": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 3
+       },
+       "precondDuration": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "positionLong": {
+               "timestamp_in_ms": 1692957336,
+               "double_value": 4.56,
+               "timestamp": 1692957336
+       },
+       "electricconsumptionreset": {
+               "display_value": "21.0",
+               "timestamp_in_ms": 1693998147000,
+               "electricity_consumption_unit": "KWH_PER_100KM",
+               "double_value": 21,
+               "timestamp": 1693998147
+       },
+       "precondatdeparture": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "flipWindowStatus": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "temperatureUnitHU": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "departureTimeWeekday": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 3
+       },
+       "ecoscoreconst": {
+               "display_value": "60",
+               "timestamp_in_ms": 1693923622000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693923622,
+               "int_value": 60
+       },
+       "averageSpeedReset": {
+               "display_value": "42",
+               "timestamp_in_ms": 1692956198000,
+               "speed_unit": "KM_PER_HOUR",
+               "double_value": 42,
+               "timestamp": 1692956198
+       },
+       "doorstatusfrontright": {
+               "timestamp_in_ms": 1693925034000,
+               "bool_value": false,
+               "timestamp": 1693925034
+       },
+       "tcuConnectionStateLowChannel": {
+               "timestamp_in_ms": 1693994140039,
+               "timestamp": 1693994140
+       },
+       "chargingstatus": {
+               "timestamp_in_ms": 1693998220000,
+               "timestamp": 1693998220,
+               "int_value": 0
+       },
+       "ecoscoretotal": {
+               "timestamp_in_ms": 1693923662000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1693923662,
+               "status": 4
+       },
+       "doorstatusfrontleft": {
+               "timestamp_in_ms": 1693925034000,
+               "bool_value": false,
+               "timestamp": 1693925034
+       },
+       "warningbrakeliningwear": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "electricRatioOverall": {
+               "timestamp_in_ms": 1668701631000,
+               "nil_value": true,
+               "timestamp": 1668701631,
+               "status": 4
+       },
+       "distanceZEStart": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "doorlockstatusgas": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "engineHoodStatus": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "doorstatusrearright": {
+               "timestamp_in_ms": 1693669477000,
+               "bool_value": false,
+               "timestamp": 1693669477
+       },
+       "keylineActivationState": {
+               "timestamp_in_ms": 1638508946000,
+               "timestamp": 1638508946
+       },
+       "tirewarningsrdk": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "rangeliquid": {
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1693998228,
+               "status": 4
+       },
+       "precondNow": {
+               "timestamp_in_ms": 1693923947000,
+               "bool_value": false,
+               "timestamp": 1693923947
+       },
+       "sunroofEventActive": {
+               "timestamp_in_ms": 1693998146000,
+               "bool_value": false,
+               "timestamp": 1693998146
+       },
+       "chargingPower": {
+               "timestamp_in_ms": 1693998228000,
+               "double_value": 4.2,
+               "timestamp": 1693998228
+       },
+       "drivenTimeReset": {
+               "timestamp_in_ms": 1693923667000,
+               "timestamp": 1693923667,
+               "int_value": 16605
+       },
+       "positionLat": {
+               "timestamp_in_ms": 1692957336,
+               "double_value": 1.23,
+               "timestamp": 1692957336
+       },
+       "averageSpeedStart": {
+               "display_value": "55",
+               "timestamp_in_ms": 1693923686000,
+               "speed_unit": "KM_PER_HOUR",
+               "double_value": 55,
+               "timestamp": 1693923686
+       },
+       "gasconsumptionstart": {
+               "timestamp_in_ms": 1638508946000,
+               "gas_consumption_unit": "KG_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "vehicleLockState": {
+               "timestamp_in_ms": 1693926313000,
+               "timestamp": 1693926313,
+               "int_value": 2
+       },
+       "windowStatusRearRightBlind": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "gasTankRange": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "ecoscorefreewhl": {
+               "display_value": "81",
+               "timestamp_in_ms": 1693923562000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693923562,
+               "int_value": 81
+       },
+       "doorlockstatusrearright": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "distanceStart": {
+               "display_value": "56.3",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 56.3,
+               "timestamp": 1693923676
+       },
+       "soc": {
+               "display_value": "74",
+               "timestamp_in_ms": 1693998220000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693998220,
+               "int_value": 74
+       },
+       "gasconsumptionreset": {
+               "timestamp_in_ms": 1638508946000,
+               "gas_consumption_unit": "KG_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "distanceReset": {
+               "display_value": "11606.9",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 11606.9,
+               "timestamp": 1693923676
+       },
+       "sunroofStatusFrontBlind": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "windowstatusfrontleft": {
+               "timestamp_in_ms": 1693944411000,
+               "timestamp": 1693944411,
+               "int_value": 2
+       },
+       "speedUnitFromIC": {
+               "timestamp_in_ms": 1654831900642,
+               "nil_value": true,
+               "timestamp": 1654831900,
+               "status": 1
+       },
+       "windowStatusRearLeftBlind": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "doorlockstatusvehicle": {
+               "timestamp_in_ms": 1693926313000,
+               "timestamp": 1693926313,
+               "int_value": 2
+       },
+       "tankLevelAdBlue": {
+               "timestamp_in_ms": 1638508946000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tirepressureRearLeft": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923641000,
+               "pressure_unit": "BAR",
+               "double_value": 310,
+               "timestamp": 1693923641
+       },
+       "timeFormatHU": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "liquidconsumptionstart": {
+               "timestamp_in_ms": 1688905509000,
+               "combustion_consumption_unit": "LITER_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1688905509,
+               "status": 4
+       },
+       "temperaturePoints": {
+               "temperature_points_value": {
+                       "temperature_points": [
+                               {
+                                       "zone": "frontCenter",
+                                       "temperature_display_value": "21.5",
+                                       "temperature": 21.5
+                               }
+                       ]
+               },
+               "timestamp_in_ms": 1693923891000,
+               "temperature_unit": "CELSIUS",
+               "timestamp": 1693923891
+       },
+       "distanceGasReset": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "departuretimesoc": {
+               "display_value": "80",
+               "timestamp_in_ms": 1693998228000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693998228,
+               "int_value": 80
+       },
+       "selectedChargeProgram": {
+               "timestamp_in_ms": 1693937034000,
+               "timestamp": 1693937034,
+               "int_value": 2
+       },
+       "chargePrograms": {
+               "timestamp_in_ms": 1693902759000,
+               "charge_programs_value": [
+                       {
+                               "max_soc": 80
+                       },
+                       {
+                               "charge_program": "INSTANT_CHARGE_PROGRAM",
+                               "max_soc": 100
+                       },
+                       {
+                               "charge_program": "HOME_CHARGE_PROGRAM",
+                               "max_soc": 80
+                       },
+                       {
+                               "charge_program": "WORK_CHARGE_PROGRAM",
+                               "max_soc": 100
+                       }
+               ],
+               "timestamp": 1693902759
+       },
+       "distanceZEReset": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tiremarker": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "overallRange": {
+               "display_value": "307",
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 307,
+               "timestamp": 1693998228
+       },
+       "tirewarningsprw": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "precondSeatFrontLeft": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "drivenTimeZEReset": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tireMarkerFrontRight": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "serviceintervaldistance": {
+               "display_value": "20294",
+               "timestamp_in_ms": 1693998146000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693998146,
+               "int_value": 20294
+       },
+       "precondActive": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "ecoscorebonusrange": {
+               "display_value": "10.2",
+               "timestamp_in_ms": 1693923620000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 10.2,
+               "timestamp": 1693923620
+       },
+       "precondState": {
+               "timestamp_in_ms": 1693923947000,
+               "timestamp": 1693923947
+       },
+       "rangeAdBlue": {
+               "timestamp_in_ms": 1692593406000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1692593406,
+               "status": 4
+       },
+       "distanceGasStart": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "sunroofEvent": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "liquidconsumptionreset": {
+               "timestamp_in_ms": 1688905509000,
+               "combustion_consumption_unit": "LITER_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1688905509,
+               "status": 4
+       },
+       "warningbrakefluid": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "hvBatteryThermalPropagationEvent": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "windowstatusfrontright": {
+               "timestamp_in_ms": 1693944411000,
+               "timestamp": 1693944411,
+               "int_value": 2
+       },
+       "electricconsumptionstart": {
+               "display_value": "16.5",
+               "timestamp_in_ms": 1693998147000,
+               "electricity_consumption_unit": "KWH_PER_100KM",
+               "double_value": 16.5,
+               "timestamp": 1693998147
+       },
+       "trackingStateHU": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "warningenginelight": {
+               "timestamp_in_ms": 1654831900642,
+               "nil_value": true,
+               "timestamp": 1654831900,
+               "status": 1
+       },
+       "ignitionstate": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 0
+       },
+       "precondSeatRearLeft": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "rooftopstatus": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "electricRatioReset": {
+               "timestamp_in_ms": 1668701631000,
+               "nil_value": true,
+               "timestamp": 1668701631,
+               "status": 4
+       },
+       "warningwashwater": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "sunroofstatus": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tirepressureFrontRight": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923591000,
+               "pressure_unit": "BAR",
+               "double_value": 315,
+               "timestamp": 1693923591
+       },
+       "filterParticleLoading": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 1
+       },
+       "precondSeatRearRight": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "tirepressureFrontLeft": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923563000,
+               "pressure_unit": "BAR",
+               "double_value": 312.5,
+               "timestamp": 1693923563
+       },
+       "auxheatwarnings": {
+               "timestamp_in_ms": 1659023673000,
+               "nil_value": true,
+               "timestamp": 1659023673,
+               "status": 4
+       },
+       "proximityCalculationForVehiclePositionRequired": {
+               "timestamp_in_ms": 1693998310426,
+               "bool_value": false,
+               "timestamp": 1693998310
+       },
+       "gasTankLevelPercent": {
+               "timestamp_in_ms": 1638508946000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "chargingactive": {
+               "timestamp_in_ms": 1693991412000,
+               "bool_value": true,
+               "timestamp": 1693991412
+       },
+       "remoteStartTemperature": {
+               "display_value": "24.0",
+               "timestamp_in_ms": 1693923710000,
+               "temperature_unit": "CELSIUS",
+               "double_value": 24,
+               "timestamp": 1693923710
+       },
+       "vehicleDataConnectionState": {
+               "timestamp_in_ms": 1693994140039,
+               "bool_value": true,
+               "timestamp": 1693994140
+       },
+       "windowStatusRearBlind": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "endofChargeTimeWeekday": {
+               "timestamp_in_ms": 1693991413000,
+               "timestamp": 1693991413,
+               "int_value": 0
+       },
+       "warningcoolantlevellow": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "doorStatusOverall": {
+               "timestamp_in_ms": 1693925034000,
+               "timestamp": 1693925034,
+               "int_value": 1
+       },
+       "drivenTimeZEStart": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "sunroofStatusRearBlind": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "ecoscoreaccel": {
+               "display_value": "72",
+               "timestamp_in_ms": 1693923662000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693923662,
+               "int_value": 72
+       },
+       "departuretime": {
+               "timestamp_in_ms": 1693991405000,
+               "clock_hour_unit": "T24H",
+               "timestamp": 1693991405,
+               "int_value": -1
+       },
+       "rangeElectricWltp": {
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1693998228,
+               "status": 4
+       },
+       "doorlockstatusfrontleft": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "decklidstatus": {
+               "timestamp_in_ms": 1693923782000,
+               "bool_value": false,
+               "timestamp": 1693923782
+       },
+       "chargeFlapDCStatus": {
+               "timestamp_in_ms": 1693923743000,
+               "timestamp": 1693923743,
+               "int_value": 0
+       },
+       "tireWarningLevelPrw": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "tanklevelpercent": {
+               "timestamp_in_ms": 1638508946000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "chargeCouplerDCLockStatus": {
+               "timestamp_in_ms": 1693923755000,
+               "timestamp": 1693923755,
+               "int_value": 0
+       },
+       "doorlockstatusrearleft": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "precondError": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "electricRatioStart": {
+               "timestamp_in_ms": 1668701631000,
+               "nil_value": true,
+               "timestamp": 1668701631,
+               "status": 4
+       },
+       "chargingErrorDetails": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "vtime": {
+               "timestamp_in_ms": 1693998228000,
+               "timestamp": 1693998228,
+               "int_value": 1694005426
+       },
+       "tireMarkerFrontLeft": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "distanceElectricalReset": {
+               "display_value": "11606.9",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 11606.9,
+               "timestamp": 1693923676
+       }
+}
\ No newline at end of file
diff --git a/bundles/org.openhab.binding.mercedesme/src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday.json b/bundles/org.openhab.binding.mercedesme/src/test/resources/proto-json/MB-BEV-EQA-Charging-Weekday.json
new file mode 100644 (file)
index 0000000..2901408
--- /dev/null
@@ -0,0 +1,929 @@
+{
+       "doorLockStatusOverall": {
+               "timestamp_in_ms": 1693926313000,
+               "timestamp": 1693926313,
+               "int_value": 0
+       },
+       "chargeCouplerACStatus": {
+               "timestamp_in_ms": 1693923754000,
+               "timestamp": 1693923754,
+               "int_value": 0
+       },
+       "precondSeatFrontRight": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "evRangeAssistDriveOnSOC": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 3
+       },
+       "tirePressMeasTimestamp": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 1693923710
+       },
+       "smartCharging": {
+               "timestamp_in_ms": 1693923754000,
+               "timestamp": 1693923754,
+               "int_value": 0
+       },
+       "vehicleHealthStatus": {
+               "timestamp_in_ms": 1654831900642,
+               "nil_value": true,
+               "timestamp": 1654831900,
+               "status": 1
+       },
+       "drivenTimeStart": {
+               "timestamp_in_ms": 1693923667000,
+               "timestamp": 1693923667,
+               "int_value": 60
+       },
+       "maxSoc": {
+               "timestamp_in_ms": 1693902759000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1693902759,
+               "status": 4
+       },
+       "doorlockstatusdecklid": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "socprofile": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 1
+       },
+       "maxrange": {
+               "display_value": "330.0",
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693998228,
+               "int_value": 330
+       },
+       "maxSocLowerLimit": {
+               "display_value": "50",
+               "timestamp_in_ms": 1692956198000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1692956198,
+               "int_value": 50
+       },
+       "weeklyProfile": {
+               "timestamp_in_ms": 1675419313000,
+               "weekly_profile_value": {
+                       
+               },
+               "timestamp": 1675419313
+       },
+       "liquidRangeSkipIndication": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "doorlockstatusfrontright": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "tirepressureRearRight": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923681000,
+               "pressure_unit": "BAR",
+               "double_value": 312.5,
+               "timestamp": 1693923681
+       },
+       "chargeCouplerDCStatus": {
+               "timestamp_in_ms": 1693923754000,
+               "timestamp": 1693923754,
+               "int_value": 0
+       },
+       "vehiclePositionErrorCode": {
+               "timestamp_in_ms": 1693998310426,
+               "timestamp": 1693998310,
+               "int_value": 5
+       },
+       "languageHU": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "tireMarkerRearLeft": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "distanceElectricalStart": {
+               "display_value": "56.3",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 56.3,
+               "timestamp": 1693923676
+       },
+       "departureTimeMode": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "parkbrakestatus": {
+               "timestamp_in_ms": 1693998146000,
+               "bool_value": true,
+               "timestamp": 1693998146
+       },
+       "gasTankLevel": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "bindingInfo": {
+               "version": "2.2-alpha",
+               "vehicle": "mercedesme:bev"
+       },
+       "starterBatteryState": {
+               "timestamp_in_ms": 1693998228000,
+               "timestamp": 1693998228,
+               "int_value": 0
+       },
+       "precondNowError": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "windowStatusOverall": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 1
+       },
+       "tireSensorAvailable": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "weeklySetHU": {
+               "timestamp_in_ms": 1675419313000,
+               "weekly_settings_head_unit_value": [],
+               "timestamp": 1675419313
+       },
+       "rangeelectric": {
+               "display_value": "307",
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693998228,
+               "int_value": 307
+       },
+       "tireMarkerRearRight": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "windowstatusrearright": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 2
+       },
+       "serviceintervaldays": {
+               "timestamp_in_ms": 1693998146000,
+               "nil_value": true,
+               "timestamp": 1693998146,
+               "status": 3
+       },
+       "electricalRangeSkipIndication": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "windowstatusrearleft": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 2
+       },
+       "endofchargetime": {
+               "display_value": "13:55",
+               "timestamp_in_ms": 1693991413000,
+               "clock_hour_unit": "T24H",
+               "timestamp": 1693991413,
+               "int_value": 834
+       },
+       "hybridWarnings": {
+               "timestamp_in_ms": 1693581955000,
+               "nil_value": true,
+               "timestamp": 1693581955,
+               "status": 3
+       },
+       "positionHeading": {
+               "timestamp_in_ms": 1693923713000,
+               "double_value": 44.5,
+               "timestamp": 1693923713
+       },
+       "precondAtDepartureDisable": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "doorstatusrearleft": {
+               "timestamp_in_ms": 1693922319000,
+               "bool_value": false,
+               "timestamp": 1693922319
+       },
+       "odo": {
+               "display_value": "15017",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693923676,
+               "int_value": 15017
+       },
+       "tirewarninglamp": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "evRangeAssistDriveOnTime": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 3
+       },
+       "precondDuration": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "positionLong": {
+               "timestamp_in_ms": 1692957336,
+               "double_value": 4.56,
+               "timestamp": 1692957336
+       },
+       "electricconsumptionreset": {
+               "display_value": "21.0",
+               "timestamp_in_ms": 1693998147000,
+               "electricity_consumption_unit": "KWH_PER_100KM",
+               "double_value": 21,
+               "timestamp": 1693998147
+       },
+       "precondatdeparture": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "flipWindowStatus": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "temperatureUnitHU": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "departureTimeWeekday": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 3
+       },
+       "ecoscoreconst": {
+               "display_value": "60",
+               "timestamp_in_ms": 1693923622000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693923622,
+               "int_value": 60
+       },
+       "averageSpeedReset": {
+               "display_value": "42",
+               "timestamp_in_ms": 1692956198000,
+               "speed_unit": "KM_PER_HOUR",
+               "double_value": 42,
+               "timestamp": 1692956198
+       },
+       "doorstatusfrontright": {
+               "timestamp_in_ms": 1693925034000,
+               "bool_value": false,
+               "timestamp": 1693925034
+       },
+       "tcuConnectionStateLowChannel": {
+               "timestamp_in_ms": 1693994140039,
+               "timestamp": 1693994140
+       },
+       "chargingstatus": {
+               "timestamp_in_ms": 1693998220000,
+               "timestamp": 1693998220,
+               "int_value": 0
+       },
+       "ecoscoretotal": {
+               "timestamp_in_ms": 1693923662000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1693923662,
+               "status": 4
+       },
+       "doorstatusfrontleft": {
+               "timestamp_in_ms": 1693925034000,
+               "bool_value": false,
+               "timestamp": 1693925034
+       },
+       "warningbrakeliningwear": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "electricRatioOverall": {
+               "timestamp_in_ms": 1668701631000,
+               "nil_value": true,
+               "timestamp": 1668701631,
+               "status": 4
+       },
+       "distanceZEStart": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "doorlockstatusgas": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "engineHoodStatus": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "doorstatusrearright": {
+               "timestamp_in_ms": 1693669477000,
+               "bool_value": false,
+               "timestamp": 1693669477
+       },
+       "keylineActivationState": {
+               "timestamp_in_ms": 1638508946000,
+               "timestamp": 1638508946
+       },
+       "tirewarningsrdk": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "rangeliquid": {
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1693998228,
+               "status": 4
+       },
+       "precondNow": {
+               "timestamp_in_ms": 1693923947000,
+               "bool_value": false,
+               "timestamp": 1693923947
+       },
+       "sunroofEventActive": {
+               "timestamp_in_ms": 1693998146000,
+               "bool_value": false,
+               "timestamp": 1693998146
+       },
+       "chargingPower": {
+               "timestamp_in_ms": 1693998228000,
+               "double_value": 4.2,
+               "timestamp": 1693998228
+       },
+       "drivenTimeReset": {
+               "timestamp_in_ms": 1693923667000,
+               "timestamp": 1693923667,
+               "int_value": 16605
+       },
+       "positionLat": {
+               "timestamp_in_ms": 1692957336,
+               "double_value": 1.23,
+               "timestamp": 1692957336
+       },
+       "averageSpeedStart": {
+               "display_value": "55",
+               "timestamp_in_ms": 1693923686000,
+               "speed_unit": "KM_PER_HOUR",
+               "double_value": 55,
+               "timestamp": 1693923686
+       },
+       "gasconsumptionstart": {
+               "timestamp_in_ms": 1638508946000,
+               "gas_consumption_unit": "KG_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "vehicleLockState": {
+               "timestamp_in_ms": 1693926313000,
+               "timestamp": 1693926313,
+               "int_value": 2
+       },
+       "windowStatusRearRightBlind": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "gasTankRange": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "ecoscorefreewhl": {
+               "display_value": "81",
+               "timestamp_in_ms": 1693923562000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693923562,
+               "int_value": 81
+       },
+       "doorlockstatusrearright": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "distanceStart": {
+               "display_value": "56.3",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 56.3,
+               "timestamp": 1693923676
+       },
+       "soc": {
+               "display_value": "74",
+               "timestamp_in_ms": 1693998220000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693998220,
+               "int_value": 74
+       },
+       "gasconsumptionreset": {
+               "timestamp_in_ms": 1638508946000,
+               "gas_consumption_unit": "KG_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "distanceReset": {
+               "display_value": "11606.9",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 11606.9,
+               "timestamp": 1693923676
+       },
+       "sunroofStatusFrontBlind": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "windowstatusfrontleft": {
+               "timestamp_in_ms": 1693944411000,
+               "timestamp": 1693944411,
+               "int_value": 2
+       },
+       "speedUnitFromIC": {
+               "timestamp_in_ms": 1654831900642,
+               "nil_value": true,
+               "timestamp": 1654831900,
+               "status": 1
+       },
+       "windowStatusRearLeftBlind": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "doorlockstatusvehicle": {
+               "timestamp_in_ms": 1693926313000,
+               "timestamp": 1693926313,
+               "int_value": 2
+       },
+       "tankLevelAdBlue": {
+               "timestamp_in_ms": 1638508946000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tirepressureRearLeft": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923641000,
+               "pressure_unit": "BAR",
+               "double_value": 310,
+               "timestamp": 1693923641
+       },
+       "timeFormatHU": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "liquidconsumptionstart": {
+               "timestamp_in_ms": 1688905509000,
+               "combustion_consumption_unit": "LITER_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1688905509,
+               "status": 4
+       },
+       "temperaturePoints": {
+               "temperature_points_value": {
+                       "temperature_points": [
+                               {
+                                       "zone": "frontCenter",
+                                       "temperature_display_value": "21.5",
+                                       "temperature": 21.5
+                               }
+                       ]
+               },
+               "timestamp_in_ms": 1693923891000,
+               "temperature_unit": "CELSIUS",
+               "timestamp": 1693923891
+       },
+       "distanceGasReset": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "departuretimesoc": {
+               "display_value": "80",
+               "timestamp_in_ms": 1693998228000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693998228,
+               "int_value": 80
+       },
+       "selectedChargeProgram": {
+               "timestamp_in_ms": 1693937034000,
+               "timestamp": 1693937034,
+               "int_value": 2
+       },
+       "chargePrograms": {
+               "timestamp_in_ms": 1693902759000,
+               "charge_programs_value": [
+                       {
+                               "max_soc": 80
+                       },
+                       {
+                               "charge_program": "INSTANT_CHARGE_PROGRAM",
+                               "max_soc": 100
+                       },
+                       {
+                               "charge_program": "HOME_CHARGE_PROGRAM",
+                               "max_soc": 80
+                       },
+                       {
+                               "charge_program": "WORK_CHARGE_PROGRAM",
+                               "max_soc": 100
+                       }
+               ],
+               "timestamp": 1693902759
+       },
+       "distanceZEReset": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tiremarker": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "overallRange": {
+               "display_value": "307",
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 307,
+               "timestamp": 1693998228
+       },
+       "tirewarningsprw": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "precondSeatFrontLeft": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "drivenTimeZEReset": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tireMarkerFrontRight": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "serviceintervaldistance": {
+               "display_value": "20294",
+               "timestamp_in_ms": 1693998146000,
+               "distance_unit": "KILOMETERS",
+               "timestamp": 1693998146,
+               "int_value": 20294
+       },
+       "precondActive": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": false,
+               "timestamp": 1692956198
+       },
+       "ecoscorebonusrange": {
+               "display_value": "10.2",
+               "timestamp_in_ms": 1693923620000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 10.2,
+               "timestamp": 1693923620
+       },
+       "precondState": {
+               "timestamp_in_ms": 1693923947000,
+               "timestamp": 1693923947
+       },
+       "rangeAdBlue": {
+               "timestamp_in_ms": 1692593406000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1692593406,
+               "status": 4
+       },
+       "distanceGasStart": {
+               "timestamp_in_ms": 1638508946000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "sunroofEvent": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "liquidconsumptionreset": {
+               "timestamp_in_ms": 1688905509000,
+               "combustion_consumption_unit": "LITER_PER_100KM",
+               "nil_value": true,
+               "timestamp": 1688905509,
+               "status": 4
+       },
+       "warningbrakefluid": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "hvBatteryThermalPropagationEvent": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "windowstatusfrontright": {
+               "timestamp_in_ms": 1693944411000,
+               "timestamp": 1693944411,
+               "int_value": 2
+       },
+       "electricconsumptionstart": {
+               "display_value": "16.5",
+               "timestamp_in_ms": 1693998147000,
+               "electricity_consumption_unit": "KWH_PER_100KM",
+               "double_value": 16.5,
+               "timestamp": 1693998147
+       },
+       "trackingStateHU": {
+               "timestamp_in_ms": 1692956198000,
+               "bool_value": true,
+               "timestamp": 1692956198
+       },
+       "warningenginelight": {
+               "timestamp_in_ms": 1654831900642,
+               "nil_value": true,
+               "timestamp": 1654831900,
+               "status": 1
+       },
+       "ignitionstate": {
+               "timestamp_in_ms": 1693998146000,
+               "timestamp": 1693998146,
+               "int_value": 0
+       },
+       "precondSeatRearLeft": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "rooftopstatus": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "electricRatioReset": {
+               "timestamp_in_ms": 1668701631000,
+               "nil_value": true,
+               "timestamp": 1668701631,
+               "status": 4
+       },
+       "warningwashwater": {
+               "timestamp_in_ms": 1693923710000,
+               "bool_value": false,
+               "timestamp": 1693923710
+       },
+       "sunroofstatus": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "tirepressureFrontRight": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923591000,
+               "pressure_unit": "BAR",
+               "double_value": 315,
+               "timestamp": 1693923591
+       },
+       "filterParticleLoading": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 1
+       },
+       "precondSeatRearRight": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "tirepressureFrontLeft": {
+               "display_value": "3.1",
+               "timestamp_in_ms": 1693923563000,
+               "pressure_unit": "BAR",
+               "double_value": 312.5,
+               "timestamp": 1693923563
+       },
+       "auxheatwarnings": {
+               "timestamp_in_ms": 1659023673000,
+               "nil_value": true,
+               "timestamp": 1659023673,
+               "status": 4
+       },
+       "proximityCalculationForVehiclePositionRequired": {
+               "timestamp_in_ms": 1693998310426,
+               "bool_value": false,
+               "timestamp": 1693998310
+       },
+       "gasTankLevelPercent": {
+               "timestamp_in_ms": 1638508946000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "chargingactive": {
+               "timestamp_in_ms": 1693991412000,
+               "bool_value": true,
+               "timestamp": 1693991412
+       },
+       "remoteStartTemperature": {
+               "display_value": "24.0",
+               "timestamp_in_ms": 1693923710000,
+               "temperature_unit": "CELSIUS",
+               "double_value": 24,
+               "timestamp": 1693923710
+       },
+       "vehicleDataConnectionState": {
+               "timestamp_in_ms": 1693994140039,
+               "bool_value": true,
+               "timestamp": 1693994140
+       },
+       "windowStatusRearBlind": {
+               "timestamp_in_ms": 1692956198000,
+               "nil_value": true,
+               "timestamp": 1692956198,
+               "status": 4
+       },
+       "endofChargeTimeWeekday": {
+               "timestamp_in_ms": 1693991413000,
+               "timestamp": 1693991413,
+               "int_value": 5
+       },
+       "warningcoolantlevellow": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "doorStatusOverall": {
+               "timestamp_in_ms": 1693925034000,
+               "timestamp": 1693925034,
+               "int_value": 1
+       },
+       "drivenTimeZEStart": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "sunroofStatusRearBlind": {
+               "timestamp_in_ms": 1638508946000,
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "ecoscoreaccel": {
+               "display_value": "72",
+               "timestamp_in_ms": 1693923662000,
+               "ratio_unit": "PERCENT",
+               "timestamp": 1693923662,
+               "int_value": 72
+       },
+       "departuretime": {
+               "timestamp_in_ms": 1693991405000,
+               "clock_hour_unit": "T24H",
+               "timestamp": 1693991405,
+               "int_value": -1
+       },
+       "rangeElectricWltp": {
+               "timestamp_in_ms": 1693998228000,
+               "distance_unit": "KILOMETERS",
+               "nil_value": true,
+               "timestamp": 1693998228,
+               "status": 4
+       },
+       "doorlockstatusfrontleft": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "decklidstatus": {
+               "timestamp_in_ms": 1693923782000,
+               "bool_value": false,
+               "timestamp": 1693923782
+       },
+       "chargeFlapDCStatus": {
+               "timestamp_in_ms": 1693923743000,
+               "timestamp": 1693923743,
+               "int_value": 0
+       },
+       "tireWarningLevelPrw": {
+               "timestamp_in_ms": 1693923710000,
+               "nil_value": true,
+               "timestamp": 1693923710,
+               "status": 4
+       },
+       "tanklevelpercent": {
+               "timestamp_in_ms": 1638508946000,
+               "ratio_unit": "PERCENT",
+               "nil_value": true,
+               "timestamp": 1638508946,
+               "status": 4
+       },
+       "chargeCouplerDCLockStatus": {
+               "timestamp_in_ms": 1693923755000,
+               "timestamp": 1693923755,
+               "int_value": 0
+       },
+       "doorlockstatusrearleft": {
+               "timestamp_in_ms": 1693926313000,
+               "bool_value": false,
+               "timestamp": 1693926313
+       },
+       "precondError": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "electricRatioStart": {
+               "timestamp_in_ms": 1668701631000,
+               "nil_value": true,
+               "timestamp": 1668701631,
+               "status": 4
+       },
+       "chargingErrorDetails": {
+               "timestamp_in_ms": 1692956198000,
+               "timestamp": 1692956198,
+               "int_value": 0
+       },
+       "vtime": {
+               "timestamp_in_ms": 1693998228000,
+               "timestamp": 1693998228,
+               "int_value": 1694005426
+       },
+       "tireMarkerFrontLeft": {
+               "timestamp_in_ms": 1693923710000,
+               "timestamp": 1693923710,
+               "int_value": 0
+       },
+       "distanceElectricalReset": {
+               "display_value": "11606.9",
+               "timestamp_in_ms": 1693923676000,
+               "distance_unit": "KILOMETERS",
+               "double_value": 11606.9,
+               "timestamp": 1693923676
+       }
+}
\ No newline at end of file