I modified MqttServer.java to print out the message and topic prior to decoding, like so:
C:\Program Files\Microsoft Visual Studio\2022\Community>java -jar c:\Users\fredr\git\UltraRemote\target\UltraRemote-01.00-shaded.jar
M99999
{"Id":"f25273b12b094c5a8b9513a30ca6bb49","Data":{"Attributes":{"Name":"Saturn3Ultra","MachineName":"ELEGOO Saturn 3 Ultra","ProtocolVersion":"V1.0.0","FirmwareVersion":"V1.5.4","Resolution":"11520x5120","MainboardIP":"192.168.0.232","MainboardID":"c85dcea21ac801ff","SDCPStatus":0,"LocalSDCPAddress":"tcp://192.168.0.232:52606","SDCPAddress":"","Capabilities":["FILE_TRANSFER","PRINT_CONTROL"]},"Status":{"CurrentStatus":0,"PreviousStatus":0,"PrintInfo":{"Status":0,"CurrentLayer":0,"TotalLayer":0,"CurrentTicks":0,"TotalTicks":0,"ErrorNumber":0,"Filename":""},"FileTransferInfo":{"Status":0,"DownloadOffset":0,"CheckOffset":0,"FileTotalSize":0,"Filename":""}}}}
HTTP Server port: /[0:0:0:0:0:0:0:0]:52972
Connected client: c85dcea21ac801ff
Subscribe: c85dcea21ac801ff
Mar 09, 2024 11:39:26 AM sk.arsi.saturn.ultra.sender.httpserver.SimpleHttpServer run
INFO: Starting server...
Mar 09, 2024 11:39:26 AM sk.arsi.saturn.ultra.sender.httpserver.SimpleHttpServer run
INFO: Server started => localhost:0
Pre decode message *******************************************
/sdcp/status/c85dcea21ac801ff
{"Id":"f25273b12b094c5a8b9513a30ca6bb49","Data":{"Status":{"CurrentStatus":0,"PreviousStatus":0,"PrintInfo":{"Status":0,"CurrentLayer":0,"TotalLayer":0,"CurrentTicks":0,"TotalTicks":0,"ErrorNumber":0,"Filename":""},"FileTransferInfo":{"Status":0,"DownloadOffset":0,"CheckOffset":0,"FileTotalSize":0,"Filename":""}},"MainboardID":"c85dcea21ac801ff","TimeStamp":2311}}
sk.arsi.saturn.ultra.sender.pojo.Status.StatusDeserializer.deserialize()
*******************************************
/sdcp/status/c85dcea21ac801ff
{"Id":"f25273b12b094c5a8b9513a30ca6bb49","Data":{"Status":{"CurrentStatus":0,"PreviousStatus":0,"PrintInfo":{"Status":0,"CurrentLayer":0,"TotalLayer":0,"CurrentTicks":0,"TotalTicks":0,"ErrorNumber":0,"Filename":""},"FileTransferInfo":{"Status":0,"DownloadOffset":0,"CheckOffset":0,"FileTotalSize":0,"Filename":""}},"MainboardID":"c85dcea21ac801ff","TimeStamp":2311}}
Pre decode message *******************************************
/sdcp/attributes/c85dcea21ac801ff
{"Id":"f25273b12b094c5a8b9513a30ca6bb49","Data":{"Attributes":{"Name":"Saturn3Ultra","MachineName":"ELEGOO Saturn 3 Ultra","ProtocolVersion":"V1.0.0","FirmwareVersion":"V1.5.4","Resolution":"11520x5120","MainboardIP":"192.168.0.232","MainboardID":"c85dcea21ac801ff","SDCPStatus":1,"LocalSDCPAddress":"tcp://192.238.0.235:52971","SDCPAddress":"","Capabilities":["FILE_TRANSFER","PRINT_CONTROL"]},"MainboardID":"c85dcea21ac801ff","TimeStamp":2311}}
Exception in thread "pool-1-thread-1" java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonNode.asInt()" because the return value of "com.fasterxml.jackson.databind.JsonNode.get(String)" is null
at sk.arsi.saturn.ultra.sender.pojo.Attributes.AttrDeserializer.deserialize(AttrDeserializer.java:53)
at sk.arsi.saturn.ultra.sender.pojo.Attributes.AttrDeserializer.deserialize(AttrDeserializer.java:29)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2888)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2034)
at sk.arsi.saturn.ultra.sender.mqtt.MqttServer.decodeMessage(MqttServer.java:267)
at sk.arsi.saturn.ultra.sender.mqtt.MqttServer.run(MqttServer.java:151)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)