I get the following error while starting mqtt client:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hassMotionSensorDeviceEventHandler' defined in URL [jar:file:/home/sbernard/work/DirigeraClient/dirigera-client-mqtt.jar!/BOOT-INF/classes!/de/dvdgeisler/iot/dirigera/client/mqtt/hass/HassMotionSensorDeviceEventHandler.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [de.dvdgeisler.iot.dirigera.client.mqtt.hass.HassMotionSensorDeviceEventHandler]: Constructor threw exception; nested exception is org.springframework.core.codec.CodecException: Type definition error: [simple type, class de.dvdgeisler.iot.dirigera.client.api.model.device.airpurifier.AirPurifierFilterAttributes]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of de.dvdgeisler.iot.dirigera.client.api.model.device.airpurifier.AirPurifierFilterAttributes (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 4699] (through reference chain: java.util.ArrayList[3]->de.dvdgeisler.iot.dirigera.client.api.model.device.airpurifier.AirPurifierDevice["attributes"])
Below is crop from dump:
{
"id" : "e19c9cde-54aa-4dbd-a354-d3034eab384b_1",
"type" : "airPurifier",
"deviceType" : "airPurifier",
"createdAt" : "2022-12-02T16:03:02.000Z",
"isReachable" : true,
"lastSeen" : "2023-04-24T14:30:44.000Z",
"attributes" : {
"customName" : "Air purifier 1",
"model" : "STARKVIND Air purifier",
"manufacturer" : "IKEA of Sweden",
"firmwareVersion" : "1.1.001",
"hardwareVersion" : "1",
"serialNumber" : "2C1165FFFE18F406",
"productCode" : "E2007",
"fanMode" : "low",
"fanModeSequence" : "lowMediumHighAuto",
"motorState" : 25,
"motorRuntime" : 201495,
"filterElapsedTime" : 205983,
"filterAlarmStatus" : false,
"filterLifetime" : 259200,
"childLock" : false,
"statusLight" : true,
"currentPM25" : 9,
"identifyStarted" : "2000-01-01T00:00:00.000Z",
"identifyPeriod" : 0,
"permittingJoin" : false,
"otaStatus" : "upToDate",
"otaState" : "readyToCheck",
"otaProgress" : 0,
"otaPolicy" : "autoUpdate",
"otaScheduleStart" : "00:00",
"otaScheduleEnd" : "00:00"
},
"capabilities" : {
"canSend" : [ ],
"canReceive" : [ "customName", "fanMode", "fanModeSequence", "motorState", "childLock", "statusLight" ]
},
I get the following error while starting mqtt client:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hassMotionSensorDeviceEventHandler' defined in URL [jar:file:/home/sbernard/work/DirigeraClient/dirigera-client-mqtt.jar!/BOOT-INF/classes!/de/dvdgeisler/iot/dirigera/client/mqtt/hass/HassMotionSensorDeviceEventHandler.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [de.dvdgeisler.iot.dirigera.client.mqtt.hass.HassMotionSensorDeviceEventHandler]: Constructor threw exception; nested exception is org.springframework.core.codec.CodecException: Type definition error: [simple type, class de.dvdgeisler.iot.dirigera.client.api.model.device.airpurifier.AirPurifierFilterAttributes]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of
de.dvdgeisler.iot.dirigera.client.api.model.device.airpurifier.AirPurifierFilterAttributes(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 4699] (through reference chain: java.util.ArrayList[3]->de.dvdgeisler.iot.dirigera.client.api.model.device.airpurifier.AirPurifierDevice["attributes"])
Below is crop from dump:
{
"id" : "e19c9cde-54aa-4dbd-a354-d3034eab384b_1",
"type" : "airPurifier",
"deviceType" : "airPurifier",
"createdAt" : "2022-12-02T16:03:02.000Z",
"isReachable" : true,
"lastSeen" : "2023-04-24T14:30:44.000Z",
"attributes" : {
"customName" : "Air purifier 1",
"model" : "STARKVIND Air purifier",
"manufacturer" : "IKEA of Sweden",
"firmwareVersion" : "1.1.001",
"hardwareVersion" : "1",
"serialNumber" : "2C1165FFFE18F406",
"productCode" : "E2007",
"fanMode" : "low",
"fanModeSequence" : "lowMediumHighAuto",
"motorState" : 25,
"motorRuntime" : 201495,
"filterElapsedTime" : 205983,
"filterAlarmStatus" : false,
"filterLifetime" : 259200,
"childLock" : false,
"statusLight" : true,
"currentPM25" : 9,
"identifyStarted" : "2000-01-01T00:00:00.000Z",
"identifyPeriod" : 0,
"permittingJoin" : false,
"otaStatus" : "upToDate",
"otaState" : "readyToCheck",
"otaProgress" : 0,
"otaPolicy" : "autoUpdate",
"otaScheduleStart" : "00:00",
"otaScheduleEnd" : "00:00"
},
"capabilities" : {
"canSend" : [ ],
"canReceive" : [ "customName", "fanMode", "fanModeSequence", "motorState", "childLock", "statusLight" ]
},