larsbeck / HomematicIp

This package allows to query the HomematicIp REST and WebSocket endpoint.
MIT License
7 stars 2 forks source link

[Unsupported device] HEATING_THERMOSTAT #8

Closed DevEddy closed 5 years ago

DevEddy commented 5 years ago

Hi Lars,

one more device

{
    "id": "3014F711A0000A1709ACCF4F",
    "homeId": "21edcd0f-2b62-4b28-b0fb-e8476834d493",
    "label": "Heizkörperthermostat",
    "lastStatusUpdate": 1557228133529,
    "type": "HEATING_THERMOSTAT",
    "functionalChannels": {
        "0": {
            "label": "",
            "deviceId": "3014F711A0000A1709ACCF4F",
            "index": 0,
            "groupIndex": 0,
            "functionalChannelType": "DEVICE_OPERATIONLOCK",
            "groups": [
                "072abd4a-aa66-44b9-9743-b2c9bd13ff80"
            ],
            "unreach": true,
            "lowBat": null,
            "routerModuleEnabled": false,
            "routerModuleSupported": false,
            "rssiDeviceValue": null,
            "rssiPeerValue": null,
            "configPending": true,
            "dutyCycle": null,
            "operationLockActive": false
        },
        "1": {
            "label": "",
            "deviceId": "3014F711A0000A1709ACCF4F",
            "index": 1,
            "groupIndex": 1,
            "functionalChannelType": "HEATING_THERMOSTAT_CHANNEL",
            "groups": [
                "de9d8666-2950-47be-8748-3e74a732cf43"
            ],
            "temperatureOffset": 0.0,
            "valvePosition": null,
            "setPointTemperature": null,
            "valveState": null,
            "valveActualTemperature": null
        }
    },
    "automaticValveAdaptionNeeded": false,
    "oem": "eQ-3",
    "manufacturerCode": 1,
    "firmwareVersion": "2.0.2",
    "updateState": "TRANSFERING_UPDATE",
    "firmwareVersionInteger": 131074,
    "liveUpdateState": "LIVE_UPDATE_NOT_SUPPORTED",
    "availableFirmwareVersion": "2.2.8",
    "serializedGlobalTradeItemNumber": "3014F711A0000A1709ACCF4F",
    "modelType": "HmIP-eTRV-2",
    "modelId": 295,
    "permanentlyReachable": true
}

-- Eddy

larsbeck commented 5 years ago

Hi Eddy,

please check out the latest commit.

Lars

DevEddy commented 5 years ago

Hi Lars,

thanks, now I get the following error:

Newtonsoft.Json.JsonSerializationException: Cannot convert null value to HomematicIp.Data.Enums.ValveState. Path 'valveState', line 13, position 20.
   at Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at HomematicIp.Data.JsonConverters.AbstractListConverter`2.ReadJson(JsonReader reader, Type objectType, List`1 existingValue, Boolean hasExistingValue, JsonSerializer serializer) in /Users/eschaefer/Documents/GitHub/HomematicIp/src/HomematicIp/Data/JsonConverters/AbstractListConverter.cs:line 31
   at Newtonsoft.Json.JsonConverter`1.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at HomematicIp.Data.JsonConverters.AbstractListConverter`2.ReadJson(JsonReader reader, Type objectType, List`1 existingValue, Boolean hasExistingValue, JsonSerializer serializer) in /Users/eschaefer/Documents/GitHub/HomematicIp/src/HomematicIp/Data/JsonConverters/AbstractListConverter.cs:line 31
   at Newtonsoft.Json.JsonConverter`1.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   at HomematicIp.Services.HomematicService.GetCurrentState(CancellationToken cancellationToken) in /Users/eschaefer/Documents/GitHub/HomematicIp/src/HomematicIp/Services/HomematicService.cs:line 54
   at HomematicIp.Console.Program.Main(String[] args) in /Users/eschaefer/Documents/GitHub/HomematicIp/src/HomematicIp.Console/Program.cs:line 74

-- Eddy

larsbeck commented 5 years ago

Hi Eddy,

this should be fixed in the latest commit.

Lars