dahlb / ha_kia_hyundai

A Home Assistant HACS integration that supports Kia Connect(Uvo). The integration supports the USA.
MIT License
16 stars 5 forks source link

Sensor List Should be Limited to Supported Features #49

Closed jakecolman closed 1 year ago

jakecolman commented 2 years ago

The sensor list includes sensors for features that are not available in my car. For example, I do not have a heated steering wheel. I believe that the API response indicates whether the car has a specific feature. The sensor list should be limited to those sensors that are relevant to the specific car.

dahlb commented 2 years ago

currently the integration filters out sensors that the api doesn't populate. I didn't expect the api to provide values for features that aren't supported, but since it does and the US Kia api at least provides a mapping for features not supported I can prevent those sensors from populating even when values are provided.

dahlb commented 2 years ago

for reference this is a segment of your previously provided response

                    "vehicleFeature": {
                    "remoteFeature": {
                        "lock": "1",
                        "unlock": "1",
                        "start": "3",
                        "stop": "1",
                        "scheduleCount": "2",
                        "inVehicleSchedule": "1",
                        "heatedSteeringWheel": "1",
                        "heatedSideMirror": "1",
                        "heatedRearWindow": "1",
                        "heatedSeat": "0",
                        "ventSeat": "0",
                        "alarm": "1",
                        "hornlight": "1",
                        "panic": "1",
                        "doorSecurity": "1",
                        "engineIdleTime": "1",
                        "separateHeatedAccessories": "0",
                        "windowSafety": "0"
                    },
                    "chargeFeature": {
                        "batteryChargeType": "0",
                        "chargeEndPct": "0",
                        "immediateCharge": "0",
                        "cancelCharge": "0",
                        "evRange": "0",
                        "scheduleCount": "0",
                        "inVehicleSchedule": "0",
                        "offPeakType": "0",
                        "scheduleType": "0",
                        "chargeLevel": "0",
                        "scheduleConfig": "0",
                        "fatcWithCharge": "0"
                    },
                    "alertFeature": {
                        "geofenceType": {
                            "geofence": "1",
                            "entryCount": "5",
                            "exitCount": "1",
                            "inVehicleConfig": "0",
                            "minRadius": "1",
                            "maxRadius": "10",
                            "minHeight": "1",
                            "maxHeight": "10",
                            "minWidth": "1",
                            "maxWidth": "10",
                            "uom": "0"
                        },
                        "curfewType": {
                            "curfew": "1",
                            "curfewCount": "21",
                            "inVehicleConfig": "0"
                        },
                        "speedType": {
                            "speed": "1",
                            "speedCount": "21",
                            "inVehicleConfig": "0"
                        },
                        "valetType": {
                            "valet": "1",
                            "valetParkingMode": "0",
                            "defaultRadius": "1",
                            "defaultRadiusUnit": "3",
                            "defaultInterval": "5",
                            "defaultIntervalUnit": "3",
                            "inVehicleConfig": "0"
                        }
                    },
                    "vrmFeature": {
                        "autoDTC": "1",
                        "scheduledDTC": "1",
                        "backgroundDTC": "1",
                        "manualDTC": "1",
                        "healthReport": "0",
                        "drivingScore": "1",
                        "gasRange": "1",
                        "evRange": "0",
                        "trip": "1"
                    },
                    "locationFeature": {
                        "gpsStreaming": "0",
                        "location": "1",
                        "poi": "1",
                        "poiCount": "25",
                        "push2Vehicle": "1",
                        "wayPoint": "1",
                        "mapType": "1",
                        "surroundView": "0",
                        "svr": "1"
                    },
                    "userSettingFeature": {
                        "usmType": "0",
                        "calendar": "0",
                        "valetParkingMode": "0",
                        "wifiHotSpot": "0",
                        "otaSupport": "0",
                        "digitalKeyOption": "0"
                    }
                },

for reference this is a segment of my vehicle response, I do have a heated steering wheel

                        "vehicleFeature": {
                            "remoteFeature": {
                                "lock": "1",
                                "unlock": "1",
                                "start": "3",
                                "stop": "1",
                                "scheduleCount": "2",
                                "inVehicleSchedule": "1",
                                "heatedSteeringWheel": "1",
                                "heatedSideMirror": "1",
                                "heatedRearWindow": "1",
                                "heatedSeat": "0",
                                "ventSeat": "0",
                                "alarm": "1",
                                "hornlight": "1",
                                "panic": "1",
                                "separateHeatedAccessories": "0",
                                "windowSafety": "0"
                            },
                            "chargeFeature": {
                                "batteryChargeType": "1",
                                "chargeEndPct": "4",
                                "immediateCharge": "1",
                                "cancelCharge": "1",
                                "evRange": "1",
                                "scheduleCount": "2",
                                "inVehicleSchedule": "1",
                                "offPeakType": "2",
                                "scheduleType": "2",
                                "chargeLevel": "3",
                                "scheduleConfig": "1",
                                "fatcWithCharge": "1",
                                "targetSOC": "1",
                                "minTargetSOC": "50",
                                "maxTargetSOC": "100",
                                "socStep": "10"
                            },
                            "alertFeature": {
                                "geofenceType": {
                                    "geofence": "1",
                                    "entryCount": "5",
                                    "exitCount": "1",
                                    "inVehicleConfig": "0",
                                    "minRadius": "1",
                                    "maxRadius": "10",
                                    "minHeight": "1",
                                    "maxHeight": "10",
                                    "minWidth": "1",
                                    "maxWidth": "10",
                                    "uom": "0"
                                },
                                "curfewType": {
                                    "curfew": "1",
                                    "curfewCount": "21",
                                    "inVehicleConfig": "0"
                                },
                                "speedType": {
                                    "speed": "1",
                                    "speedCount": "21",
                                    "inVehicleConfig": "0"
                                },
                                "valetType": {
                                    "valet": "1",
                                    "valetParkingMode": "0",
                                    "defaultRadius": "1",
                                    "defaultRadiusUnit": "3",
                                    "defaultInterval": "5",
                                    "defaultIntervalUnit": "3",
                                    "inVehicleConfig": "0"
                                }
                            },
                            "vrmFeature": {
                                "autoDTC": "1",
                                "scheduledDTC": "1",
                                "backgroundDTC": "1",
                                "manualDTC": "1",
                                "healthReport": "0",
                                "drivingScore": "1",
                                "gasRange": "0",
                                "evRange": "1",
                                "trip": "1"
                            },
                            "locationFeature": {
                                "gpsStreaming": "0",
                                "location": "1",
                                "poi": "1",
                                "poiCount": "25",
                                "push2Vehicle": "1",
                                "wayPoint": "1",
                                "mapType": "1",
                                "surroundView": "0",
                                "svr": "1"
                            },
                            "userSettingFeature": {
                                "usmType": "0",
                                "vehicleOptions": "0",
                                "systemOptions": "0",
                                "additionalDriver": "0",
                                "calendar": "0",
                                "valetParkingMode": "0",
                                "wifiHotSpot": "0",
                                "otaSupport": "0"
                            }
                        },

@jakecolman while some things like ev vs non-ev look promising the api response indicates your car has a heated steering wheel ""heatedSteeringWheel": "1"," so I can't use the API's response of supported features to filter that out; I'm a bit confused about the inconsistency with your steering wheel :(