WS messages from lincomatic bridge lack packet.timestamp, so the code fell through to payload.sender_timestamp which reflects the MeshCore device's clock (often wrong). Use current time as fallback.