EDCD / EDMarketConnector

Downloads commodity market and other station data from the game Elite: Dangerous for use with all popular online and offline trading tools.
GNU General Public License v2.0
995 stars 156 forks source link

Ship with missing HullValue #2320

Open dwomble opened 3 weeks ago

dwomble commented 3 weeks ago

Please complete the following information:

EDMC Version:

OS Details:

Environment Details

Describe the bug

I have a ship whose journal entry never includes HullValue which causeing a "KeyError: HullValue"

To Reproduce

Not sure, nothing special about the ship to my knowledge, but this is happening repeatedly.

Expected behavior

Not throwing an error.

Screenshots

Additional context

Please Confirm the Following...

Logs 2024-10-26 02:06:24.190 UTC - DEBUG - 28240:5052:5052 monitor.EDLogs.parse_entry:1836: Invalid journal entry: b'{ "timestamp":"2024-10-26T02:06:37Z", "event":"Loadout", "Ship":"eagle", "ShipID":42, "ShipName":"Goldie", "ShipIdent":"DW-05E", "ModulesValue":6041874, "HullHealth":1.000000, "UnladenMass":89.000000, "CargoCapacity":0, "MaxJumpRange":30.088882, "FuelCapacity":{ "Main":4.000000, "Reserve":0.340000 }, "Rebuy":302097, "Modules":[ { "Slot":"SmallHardpoint2", "Item":"hpt_dumbfiremissilerack_fixed_small", "On":true, "Priority":1, "AmmoInClip":8, "AmmoInHopper":16, "Health":1.000000, "Value":28235 }, { "Slot":"SmallHardpoint3", "Item":"hpt_dumbfiremissilerack_fixed_small", "On":true, "Priority":1, "AmmoInClip":8, "AmmoInHopper":16, "Health":1.000000, "Value":28235 }, { "Slot":"Armour", "Item":"eagle_armour_grade1", "On":true, "Priority":1, "Health":1.000000, "Engineering":{ "Engineer":"Selene Jean", "EngineerID":300210, "BlueprintID":128673644, "BlueprintName":"Armour_HeavyDuty", "Level":5, "Quality":1.000000, "ExperimentalEffect":"special_armour_chunky", "ExperimentalEffect_Localised":"Deep Plating", "Modifiers":[ { "Label":"DefenceModifierHealthMultiplier", "Value":156.608002, "OriginalValue":79.999992, "LessIsGood":0 }, { "Label":"KineticResistance", "Value":-17.419994, "OriginalValue":-20.000004, "LessIsGood":0 }, { "Label":"ThermicResistance", "Value":2.150005, "OriginalValue":0.000000, "LessIsGood":0 }, { "Label":"ExplosiveResistance", "Value":-36.989986, "OriginalValue":-39.999996, "LessIsGood":0 } ] } }, { "Slot":"Decal1", "Item":"decal_triple_elite", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"Decal2", "Item":"decal_military_elite02", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"Decal3", "Item":"decal_combat_elite01", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"ShipName0", "Item":"nameplate_explorer01_white", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"ShipName1", "Item":"nameplate_explorer01_white", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"ShipID0", "Item":"nameplate_shipid_black", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"ShipID1", "Item":"nameplate_shipid_black", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"PaintJob", "Item":"paintjob_eagle_militaire_earth_yellow", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"PowerPlant", "Item":"int_powerplant_size2_class5", "On":true, "Priority":1, "Health":1.000000, "Value":140521, "Engineering":{ "Engineer":"Hera Tani", "EngineerID":300090, "BlueprintID":128673769, "BlueprintName":"PowerPlant_Boosted", "Level":5, "Quality":1.000000, "ExperimentalEffect":"special_powerplant_cooled", "ExperimentalEffect_Localised":"Thermal Spread", "Modifiers":[ { "Label":"Integrity", "Value":42.000000, "OriginalValue":56.000000, "LessIsGood":0 }, { "Label":"PowerCapacity", "Value":13.440001, "OriginalValue":9.600000, "LessIsGood":0 }, { "Label":"HeatEfficiency", "Value":0.450000, "OriginalValue":0.400000, "LessIsGood":1 } ] } }, { "Slot":"MainEngines", "Item":"int_engine_size3_class5_fast", "On":false, "Priority":0, "Health":1.000000, "Value":4976354, "Engineering":{ "Engineer":"Professor Palin", "EngineerID":300220, "BlueprintID":128673657, "BlueprintName":"Engine_Dirty", "Level":3, "Quality":1.000000, "ExperimentalEffect":"special_engine_overloaded", "ExperimentalEffect_Localised":"Drag Drives", "Modifiers":[ { "Label":"Integrity", "Value":50.049999, "OriginalValue":55.000000, "LessIsGood":0 }, { "Label":"PowerDraw", "Value":5.400000, "OriginalValue":5.000000, "LessIsGood":1 }, { "Label":"EngineOptimalMass", "Value":83.250000, "OriginalValue":90.000000, "LessIsGood":0 }, { "Label":"EngineOptPerformance", "Value":150.695999, "OriginalValue":115.000000, "LessIsGood":0 }, { "Label":"EngineHeatRate", "Value":2.002000, "OriginalValue":1.300000, "LessIsGood":1 } ] } }, { "Slot":"FrameShiftDrive", "Item":"int_hyperdrive_overcharge_size3_class5", "On":true, "Priority":0, "Health":1.000000, "Value":534832, "Engineering":{ "Engineer":"Elvira Martuuk", "EngineerID":300160, "BlueprintID":128673694, "BlueprintName":"FSD_LongRange", "Level":5, "Quality":1.000000, "ExperimentalEffect":"special_fsd_heavy", "ExperimentalEffect_Localised":"Mass Manager", "Modifiers":[ { "Label":"Mass", "Value":6.500000, "OriginalValue":5.000000, "LessIsGood":1 }, { "Label":"Integrity", "Value":62.560001, "OriginalValue":80.000000, "LessIsGood":0 }, { "Label":"PowerDraw", "Value":0.517500, "OriginalValue":0.450000, "LessIsGood":1 }, { "Label":"FSDOptimalMass", "Value":269.204010, "OriginalValue":167.000000, "LessIsGood":0 } ] } }, { "Slot":"LifeSupport", "Item":"int_lifesupport_size1_class1", "On":true, "Priority":0, "Health":1.000000, "Value":453 }, { "Slot":"PowerDistributor", "Item":"int_powerdistributor_size2_class5", "On":true, "Priority":0, "Health":1.000000, "Value":49621, "Engineering":{ "Engineer":"The Dweller", "EngineerID":300180, "BlueprintID":128673737, "BlueprintName":"PowerDistributor_HighFrequency", "Level":3, "Quality":1.000000, "ExperimentalEffect":"special_powerdistributor_fast", "ExperimentalEffect_Localised":"Super Conduits", "Modifiers":[ { "Label":"WeaponsCapacity", "Value":16.761600, "OriginalValue":18.000000, "LessIsGood":0 }, { "Label":"WeaponsRecharge", "Value":2.905760, "OriginalValue":2.200000, "LessIsGood":0 }, { "Label":"EnginesCapacity", "Value":13.036799, "OriginalValue":14.000000, "LessIsGood":0 }, { "Label":"EnginesRecharge", "Value":1.056640, "OriginalValue":0.800000, "LessIsGood":0 }, { "Label":"SystemsCapacity", "Value":13.036799, "OriginalValue":14.000000, "LessIsGood":0 }, { "Label":"SystemsRecharge", "Value":1.056640, "OriginalValue":0.800000, "LessIsGood":0 } ] } }, { "Slot":"Radar", "Item":"int_sensors_size2_class2", "On":true, "Priority":0, "Health":1.000000, "Value":3177 }, { "Slot":"FuelTank", "Item":"int_fueltank_size2_class3", "On":true, "Priority":1, "Health":1.000000, "Value":3290 }, { "Slot":"Slot01_Size3", "Item":"int_buggybay_size2_class2", "On":true, "Priority":1, "Health":1.000000, "Value":18954 }, { "Slot":"Slot02_Size2", "Item":"int_buggybay_size2_class2", "On":false, "Priority":1, "Health":1.000000, "Value":21060 }, { "Slot":"Slot03_Size1", "Item":"int_fuelscoop_size1_class5", "On":true, "Priority":2, "Health":1.000000, "Value":72192 }, { "Slot":"Slot04_Size1", "Item":"int_supercruiseassist", "On":true, "Priority":0, "Health":1.000000, "Value":8003 }, { "Slot":"Slot05_Size1", "Item":"int_shieldgenerator_size1_class5_strong", "On":true, "Priority":0, "Health":1.000000, "Value":109557, "Engineering":{ "Engineer":"Lei Cheung", "EngineerID":300120, "BlueprintID":128673835, "BlueprintName":"ShieldGenerator_Reinforced", "Level":1, "Quality":1.000000, "ExperimentalEffect":"special_shield_health", "ExperimentalEffect_Localised":"Hi-Cap", "Modifiers":[ { "Label":"PowerDraw", "Value":2.772000, "OriginalValue":2.520000, "LessIsGood":1 }, { "Label":"ShieldGenStrength", "Value":181.259995, "OriginalValue":150.000000, "LessIsGood":0 }, { "Label":"BrokenRegenRate", "Value":1.080000, "OriginalValue":1.200000, "LessIsGood":0 }, { "Label":"EnergyPerRegen", "Value":0.780000, "OriginalValue":0.600000, "LessIsGood":1 }, { "Label":"KineticResistance", "Value":42.699997, "OriginalValue":39.999996, "LessIsGood":0 }, { "Label":"ThermicResistance", "Value":-14.600002, "OriginalValue":-20.000004, "LessIsGood":0 }, { "Label":"ExplosiveResistance", "Value":52.250004, "OriginalValue":50.000000, "LessIsGood":0 } ] } }, { "Slot":"Slot06_Size1", "Item":"int_dockingcomputer_advanced", "On":true, "Priority":2, "Health":1.000000, "Value":11852 }, { "Slot":"Military01", "Item":"int_hullreinforcement_size2_class2", "On":true, "Priority":1, "Health":1.000000, "Value":35100, "Engineering":{ "Engineer":"Selene Jean", "EngineerID":300210, "BlueprintID":128673719, "BlueprintName":"HullReinforcement_HeavyDuty", "Level":5, "Quality":1.000000, "ExperimentalEffect":"special_hullreinforcement_chunky", "ExperimentalEffect_Localised":"Deep Plating", "Modifiers":[ { "Label":"Mass", "Value":2.800000, "OriginalValue":2.000000, "LessIsGood":1 }, { "Label":"DefenceModifierHealthAddition", "Value":359.480042, "OriginalValue":190.000000, "LessIsGood":0 }, { "Label":"KineticResistance", "Value":14.166999, "OriginalValue":0.999999, "LessIsGood":0 }, { "Label":"ThermicResistance", "Value":14.166999, "OriginalValue":0.999999, "LessIsGood":0 }, { "Label":"ExplosiveResistance", "Value":14.166999, "OriginalValue":0.999999, "LessIsGood":0 } ] } }, { "Slot":"PlanetaryApproachSuite", "Item":"int_planetapproachsuite_advanced", "On":true, "Priority":1, "Health":1.000000, "Value":438 }, { "Slot":"ShipKitSpoiler", "Item":"eagle_shipkit1_spoiler3", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"ShipKitWings", "Item":"eagle_shipkit1_wings2", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"ShipKitBumper", "Item":"eagle_shipkit1_bumper4", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"WeaponColour", "Item":"weaponcustomisation_yellow", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"EngineColour", "Item":"enginecustomisation_yellow", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"VesselVoice", "Item":"voicepack_leo", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"ShipCockpit", "Item":"eagle_cockpit", "On":true, "Priority":1, "Health":1.000000 }, { "Slot":"CargoHatch", "Item":"modularcargobaydoor", "On":true, "Priority":2, "Health":1.000000 } ] }\r\n' Traceback (most recent call last): File "monitor.pyc", line 713, in parse_entry KeyError: 'HullValue'

dwomble commented 2 weeks ago

This error seems to be happening with all Eagle MkIIs but not with other ships.

Adding a default value to line 704 stopped it throwing the error: self.state['HullValue'] = entry.get('HullValue', 0)